Nghiên cứu các giải pháp mã hoá để bảo mật thông tin và những phương pháp, kỹ thuật tạo chữ kí số trên các tài liệu, văn bản điện tử.. Đánh giá thực trạng ứng dụng chữ ký số trong gửi nh
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN TƯ THỤC
NGHIÊN CỨU ỨNG DỤNG CHỮ KÝ SỐ
TRONG QUÁ TRÌNH GỬI NHẬN TÀI LIỆU ĐIỆN TỬ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2016
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN TƯ THỤC
NGHIÊN CỨU ỨNG DỤNG CHỮ KÝ SỐ TRONG QUÁ TRÌNH GỬI NHẬN TÀI LIỆU ĐIỆN TỬ
Ngành: Công nghệ Thông tin
Chuyên ngành: Hệ thống Thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Hữu Ngự
Hà Nội – 2016
Trang 3Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình. Nếu có điều gì sai trái, tôi xin chịu mọi hình thức kỷ luật theo quy định.
Trang 4LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Nguyễn Hữu Ngự và TS Hồ Văn Hương đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm luận văn.
Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trong Khoa Công nghệ Thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá trình học tập, nghiên cứu.
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 3
MỤC LỤC 4
DANH MỤC CÁC TỪ VIẾT TẮT 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC HÌNH VẼ 8
LỜI MỞ ĐẦU 1
Chương 1. Giao dịch điện tử và các vấn đề bảo đảm an toàn 3
1.1. Giao dịch điện tử 3
1.2. An toàn thông tin 3
1.3. Các nguy cơ mất an toàn thông tin 4
1.4. Thực trạng mất an ninh an toàn trong giao dịch điện tử 4
1.5. Các giải pháp bảo đảm An toàn thông tin. 5
1.6. Kết luận chương 1 6
Chương 2. Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin 7
2.1. Tổng quan về hệ mật mã 7
2.2. Hệ mật mã khóa đối xứng 8
2.2.1. Khái quát hệ mật mã khóa đối xứng 8
2.2.2. Ưu nhược điểm của hệ mã hóa đối xứng 9
2.3. Hệ mật mã khóa công khai 10
2.3.1. Khái quát hệ mật mã khóa công khai 10
2.3.2. Ưu nhược điểm của hệ mật mã khóa công khai 11
2.3.3. Thuật tóa RSA 11
2.4. Hàm băm 15
2.4.1. Khái niệm 15
2.4.2. Đặc tính của hàm băm 15
2.4.3. Một số tính chất cơ bản của hàm băm 16
2.4.4. Vai trò của hàm băm 16
2.5. Chữ ký số 16
Trang 62.5.1. Khái niệm 16
2.5.2. Cách tạo chữ ký số 17
2.5.3. Sơ đồ chữ ký số 18
2.5.4. Một số chữ ký phổ biến 19
2.5.4.1 Chữ ký RSA 19
2.5.4.2. Chữ ký Elgamal 20
2.5.4.3. Chữ ký DSS 23
2.5.5. Ưu điểm và ứng dụng của chữ ký số 24
2.5.5.1. Xác định nguồn gốc 24
2.5.5.2. Tính toàn vẹn 24
2.5.5.3. Tính không thể phủ nhận 24
2.5.5.4. Ứng dụng của chữ ký số 24
2.5.6. Phân phối khóa công khai 25
2.5.7. Chứng thư số 25
2.5.7.1. Các phiên bản chứng thư số 26
2.5.8. Hạ tầng khóa công khai 30
2.5.8.1. Chức năng PKI 31
2.5.8.2. Các thành phần của PKI 31
2.5.8.3. Hoạt động của PKI 32
2.5.8.4. Các mô hình của PKI 33
2.6. Kết luận chương 2 34
Chương 3. Giải pháp ứng dụng chữ ký số 35
3.1. Thực trạng ứng dụng chữ ký số trong nước 35
3.1.1. Giá trị pháp lý của chữ ký số 35
3.1.2. Hệ thống chứng thư số trong nước 36
3.1.3. Dịch vụ chứng thực chữ ký số trong nước 38
3.2. Khái quát về hệ thống quản lý văn bản và điều hành 39
3.3. Nhu cầu an toàn, an ninh thông tin 40
3.4. Giải pháp ứng dụng chữ ký số 40
3.4.1. Giới thiệu mô hình kết nối liên thông 40
Trang 73.4.2 Giải pháp chữ ký số 42
3.4.2.1. Xây dựng giải pháp ký số trên nền Web 42
3.5. Xây dựng ứng dụng 43
3.5.1. Mô hình giải pháp ký số tài liệu 43
3.5.2. Phân tích thiết kế giải pháp 46
3.5.2.1. Chức năng cần thiết của yêu cầu xác thực 46
3.5.2.2. Phân tích thiết kế các thành phần của mô hình 47
3.6. Kết quả của giải pháp 49
3.7. Kết luận chương 3 50
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
TÀI LIỆU THẢM KHẢO 52
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
ATTT An toàn thông tin
AES Advanced Encryption Standard – Chuẩn mã hóa nâng cao CNTT Công nghệ thông tin
Trang 9DANH MỤC CÁC BẢNG
Bảng 1.1 Tổng hợp số liệu thống kê ATTT Việt Nam 2015 5
Bảng 3.1 Danh sách các doanh nghiệp được cấp phép 38
DANH MỤC CÁC HÌNH VẼ Hình 2.1 Mật mã đối xứng 8
Hình 2.2 Mã hóa khóa công khai 10
Hình 2.3 Sơ đồ biểu diễn thuật toán RSA 12
Hình 2.4 Minh họa hàm băm 15
Hình 2.5 Lược đồ tạo và kiểm tra chữ ký số 18
Hình 2.6 X.509 version 3 27
Hình 2.7 Mô hình PKI 32
Hình 3.1 Hệ thống chứng thực số trong nước 36
Hình 3.3 Chứng thư số Root CA Chính phủ 37
Hình 3.4 Thị trường dịch vụ chứng thực số công cộng 39
Hình 3.5 Mô hình liên thông gửi nhận văn bản điện tử 41
Hình 3.6 Mô hình xác thực trên Web tổng quan 42
Hình 3.7 Mô hình giải pháp ký số 43
Hinh 3.8 Thiết bị Token 44
Hình 3.9 Minh họa chứng thư số RootCA 45
Hình 3.10 Minh họa chứng thư số SubCA 45
Hình 3.11 Minh họa chứng thư số người dùng 46
Hình 3.12 Lược đồ ký số trên hệ thống 47
Hình 3.13 Lược đồ xác thực văn bản ký số 48
Hình 3.14 Giao diện phát hành văn bản 49
Hình 3.15 Văn bản đã được ký số (pdf) 49
Hình 3.16 Văn bản đã được ký số (.docx) 50
Trang 10
LỜI MỞ ĐẦU
1 Đặt vấn đề
Ngày nay cùng với sự phát triển của Công nghệ thông tin, các phương tiện và công nghệ truyền thông tiên tiến ra đời, trong đó mạng máy tính và đặc biệt là mạng Internet đã giúp chúng ta giao dịch thông tin thuận tiện và nhanh chóng. Vì vậy cần có một giải pháp bảo đảm an toàn thông tin (ATTT) trong quá trình giao dịch điện tử đó. Bảo đảm ATTT là bảo đảm tính bí mật, bảo đảm tính toàn vẹn, bảo đảm tính xác thực và bảo đảm tính sẵn sàng của thông tin. Việc bảo đảm ATTT được dựa trên cơ sở về mã hóa thông tin, cơ sở khoa học mật mã phục vụ ATTT, trong đó những vấn đề liên quan đến thuật toán băm, thuật toán mã hóa và chữ ký số là các cơ sở chính để thực hiện đề tài.
Nghiên cứu các giải pháp mã hoá để bảo mật thông tin và những phương pháp, kỹ thuật tạo chữ kí số trên các tài liệu, văn bản điện tử.
Đánh giá thực trạng ứng dụng chữ ký số trong gửi nhận văn bản điện tử đối với các tổ chức, nghiên cứu hạ tầng khóa công khai PKI và các vấn đề liên quan đến chứng thư số.
Xây dựng giải pháp ứng dụng chữ ký số trong quá trình gửi nhận văn bản điện tử trên hệ thống quản lý văn bản và điều hành tại Văn phòng Chính phủ.
3 Đối tượng và phạm vi nghiên cứu
Hệ mã hóa RSA, chữ ký số RSA, hạ tầng khóa công khai PKI cũng như các vấn đề liên quan đến chứng thư số; hệ thống quản lý văn bản và điều hành là đối tượng nghiên cứu chính của luận văn nhằm xây dựng ứng dụng chữ ký số trong gửi nhận tài liệu điện tử.
Phạm vi nghiên cứu: Luận văn nghiên cứu ứng dụng chữ ký số trong quá trình gửi nhận văn bản điện tử với các định dạng như .docx, pdf trên hệ thống quản lý văn bản và điều hành đang được dùng tại các cơ quan hành chính nhà
Trang 112
4 Phương pháp nghiên cứu
Tiếp cận phân tích và tổng hợp các tài liệu về mã hoá, hệ mật mã của các tác giả trong và ngoài nước, các bài báo, thông tin trên mạng.
Tìm hiều chữ ký số RSA, hạ tầng khóa công khai PKI. Từ đó đưa ra giải pháp xây dựng ứng dụng.
Tìm hiểu các sản phẩm ứng dụng chứng thực số hiện đang được sử dụng, đánh giá thực trạng ứng dụng chứ ký số trong giao dịch điện tử của các cơ quan,
tổ chức đơn vị trong nước.
Tham khảo, vận dụng và kế thừa các thuật toán, mã nguồn mở, v.v…
5 Bố cục luận văn
Luận văn gồm 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo. Các nội dung cơ bản của luận văn được trình bày theo cấu trúc như sau:
Chương 1: Gao dịch điện tử và các vấn đề bảo đảm an toàn trong giao dịch điện tử
Chương này trình bày về các khái niệm an toàn bảo mật thông tin, các nguy cơ mất ATTT cũng như đánh giá thực trạng về ATTT. Từ đó đưa ra một số giải pháp để đảm bảo ATTT.
Chương 2: Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin
Nghiên cứu về cơ sở ứng dụng trong bảo đảm an toàn bảo mật thông tin như các hệ mật mã, các phương pháp mã hóa, hàm băm, chữ ký số, hạ tầng khóa công khai, v.v…
Chương 3: Giải pháp ứng dụng chữ ký số trong quá trình gửi nhận tài liệu điện tử trên hệ thống quản lý văn bản và điều hành
Tìm hiểu về thực trạng ứng dụng chữ ký số, khái quát về hệ thống quản lý văn bản và điều hành. Qua đó xây dựng giải pháp ứng dụng chữ ký số trong gửi nhận văn bản điện tử trên hệ thống quản lý văn bản và điều hành.
Trang 12Chương 1 Giao dịch điện tử và các vấn đề bảo đảm an toàn trong giao dịch
điện tử 1.1 Giao dịch điện tử
Giao dịch điện tử là giao dịch được thực hiện bằng phương tiện điện tử. Ngày nay với nền tảng của công nghệ thông tin hiện đại, giao dịch điện tử cũng phát triển nhanh chóng, thu hút được sự quan tâm sâu rộng của các quốc gia, các
tổ chức quốc tế và các khối liên kết kinh tế; góp phần quan trọng làm thay đổi cách thức kinh doanh, giao dịch truyền thống, phong cách sống, học tập, làm việc của con người; thúc đẩy mạnh mẽ sự tăng trưởng kinh tế, tăng cường hiệu quả hoạt động và khả năng cạnh tranh của các tổ chức, doanh nghiệp; tạo ra nhiều ngành nghề sản xuất, kinh doanh, dịch vụ mới như công nghiệp công nghệ thông tin, dịch vụ thương mại điện tử, dịch vụ tài chính – ngân hàng trực tuyến, dịch vụ thư điện tử, dịch vụ chữa bệnh qua mạng, giáo dục đào tạo từ xa Giao dịch điện tử cũng thúc đẩy “tin học hóa” hoạt động của các cơ quan nhà nước, giúp cho quá trình gửi nhận các văn bản được thực hiện nhanh chóng, kịp thời
và chính xác; cho phép mọi người dân có thể dễ dàng tiếp cận các dịch vụ công cũng như giám sát hoạt động của các cơ quan Nhà nước.
1.2 An toàn thông tin
An toàn thông tin là sự bảo vệ thông tin, hệ thống thông tin tránh bị truy nhập, sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép nhằm đảm bảo tính nguyên ven, tính bảo mật và tính khả dụng của thông tin.
+ Đảm bảo tính xác thực (Authentication): Xác thực đúng thực thể cần kết nối, giao dịch. Xác thực đúng thực thể có trách nhiệm về nội dung thông tin.
+ Đảm bảo tính sẵn sàng (Availability): Thông tin luôn sẵn sàng được sử
dụng bởi những người có thẩm quyền.
Trang 134
1.3 Các nguy cơ mất an toàn thông tin
Nguy cơ mất an toàn thông tin về khía cạnh vật lý: là nguy cơ do mất điện, nhiệt độ, độ ẩm không đảm bảo, hỏa hoạn, thiên tai, thiết bị phần cứng bị hư hỏng, các phần tử phá hoại như nhân viên xấu bên trong và kẻ trộm bên ngoài.
Nguy cơ bị mất, hỏng, sửa đổi nội dung thông tin: Người dùng có thể vô tình để lộ mật khẩu hoặc không thao tác đúng quy trình tạo cơ hội cho kẻ xấu lợi dụng để lấy cắp hoặc làm hỏng thông tin. Kẻ xấu có thể sử dụng công cụ hoặc
kỹ thuật của mình để thay đổi nội dung thông tin (các file) nhằm sai lệnh thông tin của chủ sở hữu hợp pháp.
Nguy cơ bị tấn công bởi các phần mềm độc hại: Các phần mềm độc hại tấn công bằng nhiều phương pháp khác nhau để xâm nhập vào hệ thống với các mục đích khác nhau như: virus, sâu máy tính (Worm), phần mềm gián điệp (Spyware),
Nguy cơ xâm nhập từ lỗ hổng bảo mật: lỗ hổng bảo mật thường là do lỗi lập trình, lỗi hoặc sự cố phần mềm, nằm trong một hoặc nhiều thành phần tạo nên hệ điều hành hoặc trong chương trình cài đặt trên máy tính.
Theo đánh giá tổng thể, tình hình bảo đảm an toàn thông tin của Việt Nam
đã có những chuyển biến tích cực rõ rệt [1]. Chỉ số an toàn thông tin Việt Nam năm 2015 (VNISA Index 2015) đã tăng từ mức 39% vào năm 2014 lên 46,4% vào năm 2015.
Tuy nhiên vẫn còn nhữn bất cập, tồn tại về an toàn thông tin như: Việt Nam tiếp tục nằm trong danh sách các quốc gia có tỉ lệ lây nhiễm phần mềm độc hại cao trên thế giới. Chỉ số này của Việt Nam năm 2015 ước tính vào khoảng 64,36%, mặc dù tỉ lệ này có giảm so với năm 2014 nhưng là không đáng kể.
Trong năm 2015, Việt Nam phát hiện 38.177 cuộc tấn công mạng, tăng gấp 2 lần so với năm 2014, trong đó có 5.600 cuộc tấn công lừa đảo
Trang 14(Phishing), 22.200 cuộc tấn công cài phần mềm độc hại (Malware) và 10.377 cuộc tấn công thay đổi giao diện (Deface), trong số đó có 212 cuộc tấn công thay đổi giao diện vào các hệ thống có tên miền “.gov.vn”
Bảng 1.1 Tổng hợp số liệu thống kê ATTT Việt Nam 2015
Chỉ số an toàn thông tin Việt Nam
6 Tổng số cuộc tấn công 38.177 cuộc > 19.000 cuộc
7 Tổng số cuộc tấn công thay đổi giao
Tấn công từ chối dịch vụ (DDoS)
11 Tỷ lệ số lượt bị tấn công DdoS của
Việt Nam so với thế giới 3.95 %
Thư rác
12 Tỷ lệ thư rác phát tán từ Việt Nam 6.1 % 4.5 %
1.5 Các giải pháp bảo đảm An toàn thông tin
Để đảm bảo ATTT trong giao dịch điện tử chúng ta cần có những giải pháp phù hợp, hiện nay có nhiều giải pháp cho vấn đề ATTT trong giao dịch điện tử như:
Giải pháp nền tảng:
Trang 156
+ Giảm thiểu nguy cơ từ cơ sở hạ tầng kỹ thuật: Xác định nguồn và nguyên nhân gây mất ATTT và ứng dụng các giải pháp kỹ thuật tương ứng. + Trong sạch và nâng cao chất lượng nguồn nhân: lựa chọn nhân lực quản trị và vận hành hệ thống, đào tạo và nâng cao ý thức người sử dụng.
+ Hành lang pháp lý: chính sách ATTT; xây dựng và áp dụng các chế tài,
ban hành các quy chế, quy định, thẩm quyền khai thác, sử dụng thông tin
Các giải pháp đảm bảo ATTT hệ thống:
+ Sử dụng các hệ thống kỹ thuật để bảo vệ hệ thống thông tin: sử dụng hệ thống phát hiện và chống xâm nhập, chống nghe lén, phá hoại và ăn cắp thông tin dữ liệu, v.v…
+ Sử dụng các hệ thống thiết bị, phần mềm chất lương cao, ổn định.
Các giải pháp kỹ thuật cụ thể:
+ Kiểm tra mức độ an ninh của các thành phần tham gia hệ thống. Cụ thể như: kiểm tra các lỗ hổng an ninh đối với toàn bộ hệ thống, kiểm tra các phần mềm cài cắm nghe lén, v.v…
+ Bảo mật, xác thực các thông tin dữ liệu trong quá trình giao dịch, trao đổi như sử dụng các kỹ thuật mã hóa, chữ ký số, v.v…
1.6 Kết luận chương 1
Chương 1 đã trình bày một số vấn đề về Giao dịch điện tử, ATTT, các nguy cơ mất ATTT cũng như đánh giá thực trạng về ATTT. Từ đó đưa ra một số giải pháp để đảm bảo ATTT.
Chương tiếp theo luận văn sẽ tìm hiểu, nghiên cứu về cơ sở ứng dụng trong đảm bảo an toàn bảo mật thông tin như các hệ mật mã, các phương pháp
mã hóa, hàm băm, chữ ký số, hạ tầng khóa công khai, v.v…
Trang 16
Chương 2 Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin 2.1 Tổng quan về hệ mật mã
Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông tin được truyền trên các kên truyền thông công cộng như các kênh bưu chính, điện thoại, mạng tuyền thông máy tính, mạng Internet, v.v [2]
Mật mã gắn liền với quá trình mã hóa; tức là gắn với các cách thức để chuyển đỗi thông tin từ dạng có thể nhận thức được thành dạng không thể nhận thức được, làm cho thông tin trở thành dạng không thể đọc được. Các thuộc tính yêu cầu của mật mã hóa là tính bí mật, tính nguyên vẹn, tính xác thực, tính không
bị từ chối và tính chống lặp lại. Mã hóa được sử dụng chủ yếu để đảm bảo tính bí mật của các thông tin, chứng thực khóa công khai, chữ ký số, v.v
Trang 17Hệ mật mã chính là hệ thống cung cấp các kỹ thuật mã hóa và giải mã dữ liệu, được phân loại thành hệ mật mã khóa đối xứng và hệ mật mã khóa công khai.
Có hai thuật toán được sử dụng chủ yếu trong việc tạo khóa bí mật trong
hệ mật mã khóa đối xứng:
- Loại thứ nhất tác động trên bản rõ theo từng nhóm bits. Từng nhóm bits này được gọi với một cái tên khác là khối (Block) và thuật toán được áp dụng gọi là mã hoá khối (Block Cipher). Theo đó, từng khối dữ liệu trong văn bản ban đầu được thay thế bằng một khối dữ liệu khác có cùng độ dài. Đối với các thuật toán ngày nay thì kích thước chung của một khối là 64 bits.
Loại thứ hai tác động lên bản rõ theo từng bit một. Các thuật toán áp dụng được gọi là mã hoá dòng (Stream Cipher). Dữ liệu của văn bản được mã hoá từng bit một. Các thuật toán mã hoá dòng này có tốc độ nhanh hơn các thuật toán mã hoá khối và nó thường được áp dụng khi lượng dữ liệu cần mã hoá chưa biết trước.
Độ an toàn của thuật toán này phụ thuộc vào khóa, nếu để lộ ra khóa này nghĩa là bất kỳ người nào cũng có thể mã hóa và giải mã dữ liệu trong hệ thống
mã hóa.
Hình 2.1 Mật mã đối xứng
Trang 18- DES: bản rõ (Plaintext) được mã hoá theo từng khối 64 bits và sử dụng một khoá là 64 bits, nhưng thực tế thì chỉ có 56 bits mã hoá và giải mã sử dụng 3 khoá [2]. Khối 64 bits của bản rõ đầu tiên sẽ được dùng để tạo khoá, 8 bits còn lại dùng để kiểm tra tính chẵn, lẻ. DES là một thuật toán được sử dụng rộng rãi nhất trên thế giới. Hiện tại DES không còn được đánh giá cao do kích thước của khoá quá nhỏ 56 bits, và dễ dàng bị phá vỡ.
- Triple DES (3DES): 3DES cải thiện độ mạnh của DES bằng việc sử dụng một mã quá trình mã hoá sử dụng khoá thứ nhất. Sau đó, dữ liệu bị mã hóa được giải mã bằng việc sử dụng một khoá thứ hai. Cuối cùng, sử dụng khoá thứ
ba và kết quả của quá trình mã hoá trên để mã hoá.
AES: được sử dụng để thay thế cho DES. Nó hỗ trợ độ dài của khoá từ
128 bits cho đến 256 bits. AES là một thuật toán có tốc độ mã hóa và giải mã nhanh, có khả năng chống được nhiều phương pháp tấn công như vét cạn, kẻ tấn công đứng giữa, v.v
2.2.2 Ưu nhược điểm của hệ mã hóa đối xứng
Ưu điểm:
- Có thể thiết kế để đạt tốc độ cao.
- Khóa dùng chung cho mã hóa khóa đối xứng tương đối ngắn.
- Được xem như thành phần cơ bản có thể triển khai để xây dựng các kỹ thuật mã hóa khác, bao gồm khởi tạo các số ngẫu nhiên, các hàm băm, các thuật toán tính toán.
- Có thể được kết hợp để tạo ra các thuật toán mã hóa mạnh hơn.
Nhược điểm:
- Trong quá trình truyền thông giữa hai người, khóa phải được giữ bí mật cho cả hai phía.
- Trong hệ thống mạng lớn, số lượng khóa cần được quản lý nhiều. Do vậy việc quản lý khóa một cách hiệu quả đòi hỏi sự dụng một bộ phận tin cậy thứ ba (TTP: Trusted Third Party).
- Khóa bí mật cần được thay đổi thường xuyên.
Trang 192.3 Hệ mật mã khóa công khai
2.3.1 Khái quát hệ mật mã khóa công khai
Khác với hệ mật mã khóa đối xứng, hệ mật mã khóa công khai sử dụng một cặp khóa có liên quan với nhau về mặt toán học để mã hóa và giải mã thông
tin
Thuật toán mã hóa công khai là thuật toán được thiết kế sao cho khóa mã hóa khác với khóa giải mã, mà khóa giải mã không thể tính được từ kháo mã hóa. Khóa mã hóa gọi hòa khóa công khai (public key), khóa giải mã được gọi là khóa riêng (private key).
Hệ mật mã khóa công khai có tính chất bất đối xứng, tính bất đối xứng
được thể hiện ở chỗ bên giữ khóa công khai chỉ có thể mã hóa dữ liệu, hoặc
kiểm tra chữ ký số chứ không thể giải mã dữ liệu và tạo chữ ký số được.
Khi nhận được thông tin đã mã hoá, bên nhận sử dụng khoá bí mật của
mình để giải mã và lấy ra thông tin ban đầu.
Vói sự ra đời của Mã hóa công khai thì khoá được quản lý một cách linh
Hình 2.2 Mã hóa khóa công khai
Trang 20Một số hệ mã hóa khóa công khai phổ biến như: RSA, Rabin, Elgaml, v.v
2.3.2 Ưu nhược điểm của hệ mật mã khóa công khai
Ưu điểm:
- Chỉ có khóa riêng thì cần được giữ bí mật, tuy nhiên việc xác nhận các khóa công khai cần được đảm bảo.
- Việc quản trị các khóa trên mạng đòi hỏi sự tồn tại duy nhất một thành phần tin cậy.
- Cặp khóa riêng và công khai có thể được sử dụng trong thời gian dài.
- Nhiều mô hình khóa công cộng được phát triển hình thành nên các kỹ thuật chữ ký số hiệu quả. Khóa được sử dụng cho hàm kiểu công khai thì nhỏ hơn rất nhiều so với dùng khóa đối xứng.
- Trong một mạng lớn, số lượng khóa cần thiết được quan tâm ít hơn so với việc dùng khóa đối xứng.
Nhược điểm:
- Tốc độ cho các phương thức mã hóa công khai chậm hơn so với các mô hình khóa đối xứng.
Trang 21nguyên tố, công việc này đòi hỏi phải thực hiện một số lượng các phép tính vô cùng lớn.
Trang 22Giải mã:
Để giải mã bản mã C, Bên nhận dùng khoá bí mật K R = {d, n} để có thể khôi phục lại dữ liệu gốc ban đầu do Bên gửi gửi đến thông qua phép toán M =
C d mod n.
Đặc trưng của hệ RSA
- Không cần phải thiết lập một kênh bảo vệ phức tạp để truyền khóa như trong hệ mã bí mật.
về thuật toán thì không thể tìm ra khóa giải mã kd trong thời gian chấp nhận được (kể cả dùng hệ thống hiện đại nhất để tinh toán).
Độ an toàn của hệ mã hóa RSA [8]:
Trang 2314
- Hệ mã hóa RSA là tất định, tức là với một bản rõ x và một khóa bí mật d, thì chỉ có một bản mã y. Tính mật của hệ RSA, chủ yếu dựa vào việc bảo vệ khóa
riêng d và giữ bí mật các số nguyên tố p va q
- Độ an toàn của hệ mật RSA phụ thuộc vào khả năng giải bài toán phân tích số nguyên dương n thành tích hai số nguyên tố lớn p và q.
Để xây dựng hệ RSA an toàn n=p.q phải đủ lớn để không có khả năng phân tích nó về mặt tính toán. Để đảm bảo an toàn, nên chọn các số nguyên tố p
toán RSA:
- Vét cạn: không gian khóa của RSA là rất lớn vì vậy tấn công theo hướng này là không thể thực hiện được.
- Phương pháp phân tích toán học: Phân tích n là một số nguyên lớn thành
2 thừa số nguyên tố p và q. Tuy nhiên, việc phân tích một số nguyên lớn ra số nguyên tố là rất khó khăn, với tốc độ của máy tính hiện nay cũng không thể đáp ứng được việc phân tích số nguyên tố lớn trong thời gian đa thức nếu các số p, q được chọn là lớn. Thời gian phân tích xem bảng 2.1.
- Xác định trực tiếp Ф(n) không thông qua p và q.
- Xác định trực tiếp d không thông qua Ф(n).
Ứng dụng RSA:
Trang 24số, thương mại điện tử, bảo mật, xác thực,v.v… Trong Thông tư BTTTT ngày 23/03/2015 của Bộ trưởng Bộ Thông tin và Truyền thông công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định khuyến nghị áp dụng tiêu chuẩn RSA, là một trong những giải thuật mã hóa và được xếp vào nhóm Tiêu chuẩn về an toàn thông tin.
6/2015/TT-2.4 Hàm băm
2.4.1 Khái niệm
Hàm băm là một giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu. Giá trị băm đóng vai trò gần như một khóa để phân biệt các khối dữ liệu [10].
Trang 2516
Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng hoàn toàn khác nhau. Nội dung của thông điệp gốc không thể bị suy
ra từ giá trị hàm băm. Nghĩa là với thông điệp x thì dễ dàng tính được z = h(x),
nhưng lại không thể tính suy ngược lại được x nếu chỉ biết giá trị hàm băm h(x) 2.4.3 Một số tính chất cơ bản của hàm băm
- Có thể áp dụng với thông báo đầu vào có độ dài bất kỳ.
- Tạo ra giá trị băm y = h(x) có độ dài cố định.
- h(x) dễ dàng tính được với bất kỳ giá trị của x.
- Tính một chiều: với mọi đầu ra y cho trước không thể tìm được x’ sao cho h(x’) bằng giá trị y cho trước.
- Tính chống xung đột yếu: với mọi dữ liệu đầu vào x1 cho trước không thể tìm được bất kỳ giá trị x2 nào (x2 ≠ x1) mà h(x2) = h(x1).
- Tính chống xung đột mạnh: không thể tính toán để tìm được 2 dữ liệu đầu vào x1 và x2 phân biệt sao cho chúng có cùng giá trị băm (h(x2) = h(x1)).
2.4.4 Vai trò của hàm băm
- Bảo vệ tính toàn vẹn và phát hiện xâm nhập thông điệp được gửi qua mạng bằng cách kiểm tra giá trị băm của thông điệp trước và sau khi gửi nhằm phát hiện những thay đổi cho dù là nhỏ nhất.
Trang 26Chữ ký số là một dạng chữ ký điện tử (Electronic Signature) là dạng thông tin đi kèm dữ liệu (văn bản, hình ảnh, video, v.v…) nhằm mục đích xác định người chủ của dữ liệu đó.
Để sử dụng chữ ký số thì người dùng phải có một cặp khoá gồm khoá công khai (public key) và khoá bí mật (private key). Khoá bí mật dùng để tạo chữ ký số, khoá công khai dùng để thẩm định chữ ký số hay xác thực người tạo
2.5.2 Cách tạo chữ ký số
Quá trình sử dụng chữ ký số bao gồm 2 qúa trình: tạo và kiểm tra chữ ký.
Trang 27Hình 2.5 Lược đồ tạo và kiểm tra chữ ký số
Trang 28- Ký số: Chữ ký trên x Plà y Sig xk( ) xa(mod ), n y A
- Kiểm tra chữ ký: Ver x yk( , ) đúng x yb(mod ) n
Ta nhận thấy sơ đồ chữ ký RSA và sơ đồ mã hóa RSA có sự tương ứng.
Việc ký số vào x là việc mã hóa tài liệu x, việc kiểm tra chữ ký là việc giải mã
chữ ký.
b) Độ an toàn của chữ ký RSA [8]
Dựa vào ưu điểm của hệ mã RSA, thiết lập được sơ đồ chữ ký dựa trên
bài toán phân tích ra thừa số nguyên tố thì độ an toàn của chữ ký số sẽ rất cao.
- Người gửi G gửi tài liệu x cùng chữ ký y đến người nhận N, có hai cách:
Ký trước, mã hóa sau:
Trang 2920
G ký trước vào x bằng chữ ký y = SigG(x), sau đó mã hóa x và y nhận được z = eG(x, y). G gửi z cho N. Nhận được z, N giải mã z để được x, y. Tiếp theo kiểm tra chữ ký VerN(x, y) = true hay không?
Mã hóa trước, ký sau:
G mã hóa trước x bằng u = eG(x), sau đó ký vào u bằng chữ ký v = SigG(u). G gửi (u, v) cho N. Nhận được (u, v), G giải mã u được x. Tiếp theo kiểm tra chữ ký VerN(u, v) = True hay không?
- Giả sử H lấy trộm được thông tin trên đường truyền từ G đến N.
Trong trường hợp ký trước, mã hóa sau, H lấy được z. Để tấn công x, H phải giải mã thông tin lấy được. Để tấn công chữ ký y, H phải giải mã Z mới nhận được y.
Trong trường hợp mã hóa trước, ký sau, H lấy được (u, v), để tấn công chữ ký v H đã có sẵn v, H chỉ việc thay v bằng v’. H thay chữ ký v trên u bằng chữ ký của H là v’ = SigH(u), gửi (u, v’) đến N. Khi nhận được v’, N kiểm tra thấy sai, gửi phản hồi lại G. G chứng minh chữ ký đó là giả mạo. G gửi chữ ký v đúng cho N, nhưng quá trình truyền tin sẽ bị chậm lại.
- Tạo cặp khóa bí mật, công khai (a, h):
Chọn khóa bí mật a Z*p (khóa bí mật a dùng để ký). Tính khóa công
khai h gamod p, với g là một phần tử nguyên thủy của Z*
p. Tập khóa: K ( a , p , g , h ) : h gamod p . Các giá trị p, g, h được công
khai và được dùng để kiểm thử chữ ký.
- Ký số:
Trang 30Với mỗi thông báo x, để tạo chữ ký trên x người ta chọn thêm một khóa ngẫu nhiên bí mật rZ*p1 (vì *
vì (xa*)*r1mod(p1) nên ( a r ) x mod( p 1 )
b) Độ an toàn của chữ ký Elgamal [2, 8]
Sơ đồ chữ ký Elgamal được xem là an toàn, nếu việc ký trên một văn bản
là không giả mạo được. Vì vậy, việc giữ bí mật khóa a dùng để tạo chữ ký sẽ bảo đảm tính an toàn của chữ ký. Có thể lộ khóa bí mật a trong những trường hợp nào và có thể không lộ a mà vẫn giả mạo chữ ký được không? Xét các trường hợp sau đây:
- Khả năng để lộ khoá bí mật a
Khóa bí mật a có thể bị phát hiện trong trường hợp để lộ số ngẫu nhiên r ở một lần ký nào đó, hoặc sử dụng cùng một số ngẫu nhiên r ở hai lần ký khác nhau.
Nếu số ngẫu nhiên r được sử dụng khi ký trên văn bản x bị lộ, thì khóa bí mật a được tính theo công thức sau:
a (x k ). 1m o d (p 1) (2.9) Nếu sử dụng số ngẫu nhiên r cho hai lần ký khác nhau, ví dụ ký cho x1, x2 thì ta có chữ ký trên x1 là (γ,δ1) và trên x2 là (γ,δ2), với γ = gr mod p, khi đó các chữ ký đó thỏa mãn: h * 1 gx1mod p, h * 2 gx2 m od p
*( )
Trang 3122
x1x2r*(12) mod (p1) (2.11) Đặt d UCLN ( 1 2, p 1)
* Nếu chọn trước , B phải tính :
1
( * )* mod ( 1) ((x a )log g mod ( 1) = log log
x g x
Như vậy, khả năng giả mạo chữ ký trên một văn bản cho trước khi không biết khóa bí mật a là rất khó, do đó không ảnh hưởng đến tính an toàn của sơ đồ chữ ký.
- Giả mạo chữ ký cùng với tài liệu được ký
B có thể ký trên tài liệu ngẫu nhiên bằng cách chọn trước đồng thời x, , .
Cách 1:
* Chọn x, , thoả mãn điều kiện kiểm thử như sau:
Trang 32và tính:
= (k – j ) -1 mod (p -1) (2.17) x’ = (k x + i ) (k – j ) -1 mod (p -1) (2.18)
* (, ) là chữ ký trên x’, vì thỏa mãn điều kiện kiểm thử: hgx’ mod p.
Chú ý: Cả hai cách giả mạo nói trên đều cho chữ ký đúng trên tài liệu
tương ứng, nhưng đó không phải là tài liệu được chọn theo ý của người giả mạo. Tài liệu đó đều được tính sau khi tính chữ ký, vì vậy giả mạo loại này trong thực
tế cũng không có ý nghĩa nhiều.
2.5.4.3 Chữ ký DSS
Chuẩn chữ ký số (DSS: Digital Signature Standard) là cải biên của sơ đồ chữ ký ElGamal. Sơ đồ chữ ký DSS được mô tả như sau [8]:
- Tạo cặp khóa bí mật, công khai (a, h)
Chọn số nguyên tố lớn p có độ dài biểu diễn ≥ 512 bit sao cho bài toán logarit rời rạc trong Zp là “khó” giải, q là ước nguyên tố của p-1, tức là p -1 = t*q hay p = t*q + 1, q có độ dài biểu diễn cỡ 160 bit.
Chọn gZp* là căn bậc q của 1 mod p (g là phần tử sinh của Zp*). Tính = gt, chọn khóa bí mật a Zp*, tính khóa công khai h a mod p.
Trang 3324
Đặt P = Zq*, A = Zq* x Zq*, K = (p, q, , a, h)/a Zp*, h a mod p. Với mỗi khóa (p, q, , a, h), k’ = a là khóa bí mật, k” = (p, q, , h) là khóa công khai.
mã để lấy lại chuỗi gốc (được sinh ra qua hàm băm ban đầu) và kiểm tra với hàm băm của văn bản nhận được. Nếu hai giá trị này khớp nhau thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa bí mật.
2.5.5.2 Tính toàn vẹn
Cả hai bên tham gia vào quá trình thông tin đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức bị phát hiện.
2.5.5.3 Tính không thể phủ nhận
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do mình gửi. Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải gửi kèm chữ ký số với văn bản. Khi có tranh chấp, bên nhận sẽ dùng chữ ký này như một chứng cứ để bên thứ ba giải quyết.
2.5.5.4 Ứng dụng của chữ ký số