8 DANH 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 CA Certificate Authority – Cơ quan chứng thực số DDoS
Trang 1ĐẠI QUỐC GIA HÀ NỘI
TRƯỜ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 2Ngà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 33
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, không sao chép của ai Do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp thực hiện và làm theo hướng dẫn của người hướng dẫn khoa học Nội dung lý thuyết trong trong luận văn tôi có sử dụng một số tài liệu tham khảo như đã trình bày trong phần tài liệu tham khảo Các số liệu, chương trình phần mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong bất kỳ một công trình nào khác
Tô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
Hà Nội, tháng 11 năm 2016
Người cam đoan
Nguyễn Tư Thục
Trang 44
LỜ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
Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn
bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có được kết quả như ngày hôm nay
Hà Nội, tháng 11 năm 2016
Nguyễn Tư Thục
Trang 55
MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 4
MỤC LỤC 5
DANH MỤC CÁC TỪ VIẾT TẮT 8
DANH MỤC CÁC BẢNG 9
DANH MỤC CÁC HÌNH VẼ 9
LỜI MỞ ĐẦU 10
Chương 1 Giao dịch điện tử và các vấn đề bảo đảm an toàn 12
1.1 Giao dịch điện tử 12
1.2 An toàn thông tin 12
1.3 Các nguy cơ mất an toàn thông tin 13
1.4 Thực trạng mất an ninh an toàn trong giao dịch điện tử 13
1.5 Các giải pháp bảo đảm An toàn thông tin 14
1.6 Kết luận chương 1 15
Chương 2 Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin 16
2.1 Tổng quan về hệ mật mã 16
2.2 Hệ mật mã khóa đối xứng 17
2.2.1 Khái quát hệ mật mã khóa đối xứng 17
2.2.2 Ưu nhược điểm của hệ mã hóa đối xứng 18
2.3 Hệ mật mã khóa công khai 19
2.3.1 Khái quát hệ mật mã khóa công khai 19
2.3.2 Ưu nhược điểm của hệ mật mã khóa công khai 20
2.3.3 Thuật tóa RSA 20
2.4 Hàm băm 24
2.4.1 Khái niệm 24
2.4.2 Đặc tính của hàm băm 24
2.4.3 Một số tính chất cơ bản của hàm băm 25
2.4.4 Vai trò của hàm băm 25
2.5 Chữ ký số 25
Trang 66
2.5.1 Khái niệm 25
2.5.2 Cách tạo chữ ký số 26
2.5.3 Sơ đồ chữ ký số 27
2.5.4 Một số chữ ký phổ biến 28
2.5.4.1 Chữ ký RSA 28
2.5.4.2 Chữ ký Elgamal 29
2.5.4.3 Chữ ký DSS 32
2.5.5 Ưu điểm và ứng dụng của chữ ký số 33
2.5.5.1 Xác định nguồn gốc 33
2.5.5.2 Tính toàn vẹn 33
2.5.5.3 Tính không thể phủ nhận 33
2.5.5.4 Ứng dụng của chữ ký số 33
2.5.6 Phân phối khóa công khai 34
2.5.7 Chứng thư số 34
2.5.7.1 Các phiên bản chứng thư số 35
2.5.8 Hạ tầng khóa công khai 39
2.5.8.1 Chức năng PKI 40
2.5.8.2 Các thành phần của PKI 40
2.5.8.3 Hoạt động của PKI 41
2.5.8.4 Các mô hình của PKI 42
2.6 Kết luận chương 2 43
Chương 3 Giải pháp ứng dụng chữ ký số 44
3.1 Thực trạng ứng dụng chữ ký số trong nước 44
3.1.1 Giá trị pháp lý của chữ ký số 44
3.1.2 Hệ thống chứng thư số trong nước 45
3.1.3 Dịch vụ chứng thực chữ ký số trong nước 47
3.2 Khái quát về hệ thống quản lý văn bản và điều hành 48
3.3 Nhu cầu an toàn, an ninh thông tin 49
3.4 Giải pháp ứng dụng chữ ký số 49
3.4.1 Giới thiệu mô hình kết nối liên thông 49
Trang 77
3.4.2 Giải pháp chữ ký số 51
3.4.2.1 Xây dựng giải pháp ký số trên nền Web 51
3.5 Xây dựng ứng dụng 52
3.5.1 Mô hình giải pháp ký số tài liệu 52
3.5.2 Phân tích thiết kế giải pháp 55
3.5.2.1 Chức năng cần thiết của yêu cầu xác thực 55
3.5.2.2 Phân tích thiết kế các thành phần của mô hình 56
3.6 Kết quả của giải pháp 58
3.7 Kết luận chương 3 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60
TÀI LIỆU THẢM KHẢO 61
Trang 88
DANH 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
CA Certificate Authority – Cơ quan chứng thực số
DDoS Distributed denial of service – Từ chối dịch vụ
DES Data Encryption Standard- Chuẩn Mã hóa Dữ liệu
DS Digital Signature – Chữ ký số
DSS Digital Signature Standard - Chuẩn chữ ký số
FIPS PUB Federal Information Processing Standards – Chuẩn xử lý thông
tin
MD 5 Message Digest algorithm 5 - giải thuật của hàm băm
OID Object Identifier - kiểu định dạng
PKCS Public Key Cryptography Standards - Chuẩn mã hóa công khai QLVB&ĐH Quản lý vă bản và điều hành
RSA Rivest Shamir Adleman – Mã hóa công khai
SHA Secure Hash Algorithm –Thuật toán băm an toàn
SSL Secure Socket Layer - Giao thức an ninh thông tin
TMĐT Thương mại điện tử
URL Uniform Resource locator - Liên kêt dân địa chỉ web
Trang 99
DANH 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 14
Bảng 3.1 Danh sách các doanh nghiệp được cấp phép 47
DANH MỤC CÁC HÌNH VẼ Hình 2.1 Mật mã đối xứng 17
Hình 2.2 Mã hóa khóa công khai 19
Hình 2.3 Sơ đồ biểu diễn thuật toán RSA 21
Hình 2.4 Minh họa hàm băm 24
Hình 2.5 Lược đồ tạo và kiểm tra chữ ký số Error! Bookmark not defined Hình 2.6 X.509 version 3 36
Hình 2.7 Mô hình PKI 41
Hình 3.1 Hệ thống chứng thực số trong nước 45
Hình 3.3 Chứng thư số Root CA Chính phủ 46
Bảng 3.1 Danh sách các doanh nghiệp được cấp phép 47
Hình 3.4 Thị trường dịch vụ chứng thực số công cộng 48
Hình 3.5 Mô hình liên thông gửi nhận văn bản điện tử 50
Hình 3.6 Mô hình xác thực trên Web tổng quan 51
Hình 3.7 Mô hình giải pháp ký số 52
Hinh 3.8 Thiết bị Token 53
Hình 3.9 Minh họa chứng thư số RootCA 54
Hình 3.10 Minh họa chứng thư số SubCA 54
Hình 3.11 Minh họa chứng thư số người dùng 55
Hình 3.12 Lược đồ ký số trên hệ thống 56
Hình 3.13 Lược đồ xác thực văn bản ký số 57
Hình 3.14 Giao diện phát hành văn bản 58
Hình 3.15 Văn bản đã được ký số (pdf) 58
Hình 3.16 Văn bản đã được ký số (.doc) 59
Trang 10Được sự đồng ý của thầy hướng dẫn và nhận thấy tính thiết thực của vấn
đề, tôi chọn đề tài: “Nghi n cứu ứng dụng chữ s trong qu tr nh gửi
nh n tài iệu điện tử”
2 Mục đích của u n văn
Luận văn tìm hiểu các vấn đề về bảo đảm an toàn trong giao dịch điện tử, các cơ sở khoa học trong bảo đảm an toàn bảo mật dữ liệu như các hệ mã hóa dữ liệu, hàm băm, ký số
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à nước
Trang 1111
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,
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ữ s trong qu tr nh gửi nh n tài iệu điện tử tr n hệ th ng quản 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 1212
Chươ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
An toàn thông tin liên quan đến hai khía cạnh đó là an toàn về mặt vật lý
và an toàn về mặt kỹ thuật
Mục tiêu cơ bản của an toàn thông tin [8]:
+ Đảm bảo tính bảo mật (Confidentiality): Thông tin chỉ được truy cập bởi những người có thẩm quyền;
+ Đảm bảo tính toàn vẹn dữ liệu (Integrity): Thông tin chỉ được thay đổi bởi những người có thẩm quyền;
+ Đả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 1313
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
Nguy cơ xâm nhập do bị tấn công bằng cách phá mật khẩu
Nguy cơ mất an toàn thông tin do sử dụng e-mai
Nguy cơ mất an toàn thông tin trong quá trình truyền tin
Nguy cơ bị các cuộc tấn công mạng, v.v
1.4 Thực trạng mất an ninh an toàn trong giao dịch điện tử
Giao dịch điện tử là một hoạt động mang lại hiệu quả cao, song một khi gặp rủi ro thì những thiệt hại đối với các tổ chức, doanh nghiệp cũng không 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 1414
(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
1 Chỉ số an toàn thông tin Việt Nam 46.4 % 39 %
Tỷ ệ ây nhiễm phần mềm độc hại
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
8 Tổng số cuộc tấn công thay đổi giao
diện vào tên miền “.gov.vn’
212 cuộc > 200 cuộc
9 Tổng số cuộc tấn công lừa đảo 5.600 cuộc
10 Tổng số cuộc tấn công lây nhiễm
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
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 15‰ + 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 ỹ 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 u 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 16Mậ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
Một hệ mã bao gồm 5 thành phần (P, C, K, E, D) [2], trong đó:
- P là tập hữu hạn các bản rõ (dữ liệu trước khi mã hóa)
- C là tập hữu hạn các bản mã (dữ liệu sau khi mã hóa)
- K là tập hữu hạn các khóa (khóa công khai, khóa bí mật)
- E là tập các hàm lập mã
- D là tập các hàm giải mã Với khóa lập mã keKcó hàm lập mã:
Trang 1717
Hệ 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
2.2 Hệ m t mã hóa đ i xứng
2.2.1 Kh i qu t hệ m t mã hóa đ i xứng
Hệ mật mã khóa đối xứng là hệ mật mã chỉ dùng một khóa duy nhất cho
cả hai quá trình mã hóa và giải mã Hệ mật mã này có đặc điểm là có thời gian
mã hóa và giải mã tương đối nhanh Do yậy, hệ mật mã khóa đối xứng thường được sử dụng để mã hóa những dữ liệu lớn
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- 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
- Khóa bí mật cần được thay đổi thường xuyên
Trang 1919
- Kỹ thuật chữ ký số đƣợc phát triển từ cơ chế mã hóa khối đối xứng đòi hỏi sử dụng các khóa lớn cho các hàm xác nhận công khai hoặc là sủ dụng một TTP
2.3 Hệ m t mã khóa công khai
2.3.1 Kh i qu t hệ m t mã hóa công hai
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
Quá trình truyền và sử dụng mã hoá khoá công khai đƣợc thực hiện nhƣ
sau:
Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công khai của bên nhận trên
một server chịu trách nhiệm quản lý khoá
Sau đó hai bên thống nhất thuật toán dùng để mã hoá dữ liệu, bên gửi sử
dụng khoá công khai của bên nhận cùng với thuật toán đã thống nhất để mã hoá thông tin đƣợc gửi đi
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 2020
hoạt và hiệu quả hơn, người sử dụng chỉ cần bảo vệ khoá bí mật
Đặc trưng nổi bật của hệ mã hóa công khai là cả khóa công khai và dữ liệu mã hóa (ciphertext) đều có thể giử đi trên một kên truyền thông tin không
an toàn
Mục đích chính của hệ mật khóa công khai là phân phối khóa và ký số Các ứng dụng của hệ mật mã này gồm có: Mã hóa/giải mã, chữ ký, trao đổi khóa
Mộ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ã hóa công hai
- 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
- Kích thước khóa lớn hơn nhiều so với cơ chế mã hóa đối xứng
2.3.3 Thu t toán RSA
Các đặc điểm chính trong thuật toán mã hóa RSA
Thuật toán RSA được thiết kế dựa trên độ khó của bài toán phân tích ra
thừa số nguyên tố trên tập số nguyên Z n
Cho số nguyên dương n = p * q, với p, q là 2 số nguyên tố rất lớn (ít nhất
100 ký số) Khi biết n, muốn tìm p, q thì phải giải bài toán phân tích ra thừa số
Trang 2121
nguyê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
Thuật toán RSA dựa trên cơ sở hai bài toán:
+ Bài toán Logarith rời rạc
+ Bài toán phân tích thành thừa số
Sơ đồ chung của hệ mã hóa RSA [2]:
S = (P, C, K, E, D )
- P là tập hữu hạn các bản rõ (dữ liệu trước khi mã hóa)
- C là tập hữu hạn các bản mã (dữ liệu sau khi mã hóa)
- K là tập hữu hạn các khóa (KE khóa lập mã, KD khóa giải mã)
Trang 22Ở đây d là số mũ bí mật; e là số mũ công khai
- Cặp K U = {e, n} được gọi là khoá công khai
- Cặp K R = {d, n} được gọi là khoá bí mật
Mã hóa:
Khi bên gửi muốn gửi thông điệp M cho bên nhận với yêu cầu cần bảo mật thông tin Bên gửi yêu cầu Bên nhận gửi khoá công khai K U = {e, n} Bên gửi dùng khoá công khai K U này để mã hoá thông điệp M thành C theo công thức: C = M e
mod n, sau đó Bên gửi gửi C cho Bên nhận
- Cặp khóa công khai được tạo ra theo một phương pháp đặc biệt có quan
hệ với nhau và được chọn trong nhiều khóa có thể (trong đó nếu khóa này dùng
để mã hóa thi khóa kia dùng để giải mã)
- Ứng với một cặp p, q có thể chọn được nhiều bộ khóa công khai (n; e; d)
- Mọi người trong hệ thống nếu nhận được bản mật C thì cũng không thể biết được bản rõ P Với việc chỉ biết khóa mã hóa ke và căn cứ vào các thông tin
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 2323
- 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
và q từ 100 chữ số trở lên Thời gian phân tích mã RSA được nêu trong bảng 2.1
Bảng 2.1 Thời gian dự đoán phép tính thuật toán RSA
S c c chữ s trong s được phân tích Thời gian phân tích
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 2424
Tiêu chuẩn RSA được ứng dụng rộng rãi trong nhiều lĩnh vực như chữ ký
số, 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]
Hình 2.4 Minh họa hàm băm
- Giá trị đầu vào là dữ liệu có độ dài bất kỳ
- Giá trị đầu ra là dữ liệu có độ dài cố định
2.4.2 Đặc tính của hàm băm
Hàm băm h là hàm một chiều (one - way hash ) với các đặc tính sau:
- Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’ thì h(x’) #h(x) Cho dù chỉ có một sự thay đổi nhỏ hay chỉ là xóa đi một bit dữ liệu của thông điệp thì giá trị băm cũng vẫn thay đổi
Trang 2525
Đ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
- Được dùng trong quá trình tạo chữ kí số trong giao dịch điện tử
Chữ ký số là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người
sử dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản điện
tử cũng như trao đổi các thông tin mật Khóa công khai thường được phân phối thông qua chứng thực khóa công khai Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký
Trang 2626
Chữ 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
ra chữ ký số đó
Chữ s có một s tính chất sau:
- Có khả năng kiểm tra chữ ký số và thời gian ký số
- Có khả năng xác thực các nội dung tại thời điểm ký số
- Thành viên thứ 3 có thể kiểm tra chữ ký số để giải quyết các tranh chấp
Dựa vào c c tính chất cơ bản này, chữ s có c c y u cầu sau:
- Phải là một mẫu bít phụ thuộc vào thông báo được ký số
- Phải sử dụng một thông tin duy nhất của người gửi để ngăn chặn tình trạng làm giả và chối bỏ
- Được tạo ra dễ dàng
- Khó có thể làm giả chữ ký số bằng cách tạo ra một thông báo mới cho một chữ ký số hiện có, hoặc tạo ra một chữ ký số giả mạo cho một thông báo cho trước
2.5.2 C ch tạo chữ 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 2727
Chữ ký số được tạo ra bằng cách mã hóa giá trị băm (được tạo ra từ dữ
liệu ban đầu bằng cách sử dụng thuật toán băm) với khóa riêng của người gửi
Quá trình kiểm tra chữ ký số gồm các bước: sử dụng thuật toán băm để tạo ra giá trị băm tính được từ dữ liệu nhận được, giải mã chữ ký số với khóa công khai của người gửi để thu được giá trị mong muốn, so sánh giá trị mong muốn và giá trị băm tính được, nếu trùng nhau thì chữ ký số là hợp lệ, người nhận có thể tin cậy vào thông báo nhận được, xác định thông báo không bị làm
giả trong quá trình trao đổi và có nguồn gốc từ người gửi
với mọi xP y, A:Ver x y k( , )đúng y Sig x k( ) [7]
Hình 2.5 Lược đồ tạo và kiểm tra chữ ký số
Trang 2828
Người ta thường sử dụng hệ mã hóa khóa công khai để lập sơ đồ chữ ký
số Khóa bí mật dùng làm khóa ký, khóa công khai dùng làm khóa kiểm tra chữ
là tập khóa K = (a, n, b), với a, b là hai số thuộc Z*n
- Tạo cặp khóa bí mật, công khai (a, b):
Tính bí mật ( ) n ( p 1).( q 1) (2.2)
Chọn khóa công khai b<(n), nguyên tố với (n)
Khóa bí mật a là phần tử nghịch đảo của b theo:
mod (n): a b 1(mod ( )) n (2.3)
Tập cặp khóa bí mật, công khai
( , ) / , n, * 1(mod ( ))
- 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 2929
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 30h đúng x
a
b) Độ an toàn của chữ E gama [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 để ộ ho 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:
Trang 31rx p tức là rx'.i p 'modp1, với i là một giá trị nào đó,
0 i d 1 Thử lần lượt điều kiện g rmodp với các giá trị đó của i ta sẽ được
r, thử r ta tính được khóa bí mật a
- Giả mạo chữ ký không cùng với tài liệu được ký
Giả sử chủ thể A chọn sơ đồ Elgamal với khóa bí mật a Một người B không biết khóa a mà muốn giả mạo chữ ký của A trên x Như vậy, B phải tính được và
x g x
Đó là bài toán logarit rời rạc mà ta biết là khó giải
* Nếu chọn trước , B phải tính qua phương trình: h*gx mod p Bài toán này cũng không dễ hơn bài toán logarit rời rạc
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ữ cùng với tài iệu được
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: