Nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường đại học hạ long

64 7 0
Nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường đại học hạ long

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ––––––––––––––––––––––––––––––– MAI THỊ HOA HUỆ NGHIÊN CỨU XÂY DỰNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ DỰA TRÊN PKI VÀ ỨNG DỤNG VÀO TRƯỜNG ĐẠI HỌC HẠ LONG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2017 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ––––––––––––––––––––––––––––––– MAI THỊ HOA HUỆ NGHIÊN CỨU XÂY DỰNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ DỰA TRÊN PKI VÀ ỨNG DỤNG VÀO TRƯỜNG ĐẠI HỌC HẠ LONG Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: TS Hồ Văn Hương THÁI NGUYÊN - 2017 i LỜI CAM ĐOAN Tác giả xin cam đoan số liệu kết nghiên cứu luận văn hoàn toàn trung thực chưa sử dụng công bố cơng trình khoa học Các thơng tin, tài liệu trình bày luận văn ghi rõ nguồn gốc Tác giả luận văn Mai Thị Hoa Huệ ii LỜI CẢM ƠN Trong trình học tập, nghiên cứu viết luận văn, giúp đỡ Trường Đại học Công nghệ Thông tin Truyền thông, thầy giáo, cô giáo, tổ chức, đồng nghiệp tỉnh tạo điều kiện vật chất, thời gian cung cấp tài liệu giúp đỡ hồn thành luận văn Tơi xin chân thành cảm ơn giúp đỡ quý báu thầy, cô giáo, tổ chức, đồng nghiệp người hướng dẫn khoa học TS Hồ Văn Hương hết lòng hướng dẫn giúp đỡ nhiều nghiên cứu khoa học thực hoàn thành luận văn Tác giả xin trân trọng cảm ơn! Tác giả luận văn Mai Thị Hoa Huệ iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT vi DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH viii MỞ ĐẦU 1 Nhu cầu bảo mật xác thực văn điện tử Lý chọn đề tài Mục đích nghiên cứu Phương pháp nghiên cứu Bố cục luận văn CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ MẬT MÃ 1.1 Mật mã khóa đối xứng 1.1.1 Khái niệm 1.1.2 Bảo vệ tính bí mật thơng tin với mật mã khóa đối xứng 1.2 Mật mã khóa cơng khai 1.2.1 Khái niệm 1.2.2 Bảo vệ thông tin với mật mã khóa cơng khai 1.2.3 Thuật toán RSA 1.2.4 Hệ mật ElGamal đường cong elliptic 1.2.5 Sơ đồ trao đổi khóa Elliptic 1.2.6 Thuật toán chữ ký số Elliptic (ECDSA) 10 1.2.7 So sánh Elliptic RSA 11 1.3 Kết hợp mật mã đối xứng mật mã khóa cơng khai 13 1.4 Kết luận chương 14 iv CHƯƠNG 2: CƠ SỞ HẠ TẦNG KHĨA CƠNG KHAI 15 2.1 Khái niệm PKI khái niệm PKI 15 2.1.1 Khái niệm PKI 15 2.1.2 Các khái niệm PKI 15 2.2 Các thành phần PKI 20 2.2.1 Tổ chức chứng thực 21 2.2.2 Trung tâm đăng ký 21 2.2.3 Người dùng cuối 22 2.2.4 Hệ thống lưu trữ 22 2.3 Các dịch vụ PKI 23 2.3.1 Các dịch vụ cốt lõi PKI 23 2.3.2 Các dịch vụ PKI hỗ trợ 25 2.4 Các mơ hình kiến trúc PKI 27 2.4.1 Kiến trúc kiểu CA đơn (Single CA) 28 2.4.2 Kiến trúc kiểu CA phân cấp 28 2.4.3 Kiến trúc kiểu chứng thực chéo (Cross – certificate) 29 2.4.4 Kiến trúc kiểu Bridge CA 30 2.5 Ứng dụng PKI ký số bảo mật liệu 31 2.5.1 Mã hóa 31 2.5.2 Chống giả mạo 32 2.5.3 Xác thực 32 2.5.4 Chống chối bỏ nguồn gốc 32 2.5.5 Chữ ký điện tử 32 2.5.6 Bảo mật website 33 2.5.7 Code Signing 33 2.5.8 Chứng thực điện tử 34 2.6 Kết luận chương 34 v CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ 35 3.1 Phân tích 35 3.2 Thiết kế 35 3.3 Các chức phần mềm 36 3.4 Xây dựng giao diện 37 3.5 Thiết kế lớp 39 3.6 Cài đặt kiểm thử 41 3.7 Kết luận chương 50 KẾT LUẬN 51 TÀI LIỆU THAM KHẢO 53 vi DANH MỤC CÁC TỪ VIẾT TẮT CNTT Công nghệ thông tin ATTT An tồn thơng tin CA Certificate Authority PKI Public Key Infastructure SPKC Simple Public Key Certificate AC Attribute Certificate ITU International Telecommunication Union CRLs Certificate Revocation Lists RA Registration Authorites DSAs Directory System Agents OCSP Online Certificate Status Protocol LDAP Lightweight Directory Access Protocol DNS Domain Name System FTP File Transfer Protocol MAC Message Authentication Code P2P Peer to Peer SSL Secure Socket Layer vii DANH MỤC CÁC BẢNG Bảng 1.1 So sánh sử dụng RSA ECC trình bắt tay SSL 12 Bảng 1.2 So sánh kích thước khóa RSA ECC với mức độ an tồn 12 viii DANH MỤC CÁC HÌNH Hình 1.1: Mã hóa khóa bí mật Hình 1.2: Mã hóa khóa cơng khai Hình 1.3: Xác thực thơng tin Hình 1.4: Ký mã với khóa cơng khai Hình 1.5: So sánh mức độ bảo mật ECC với RSA/DSA 12 Hình 1.6: Kết hợp khóa cơng khai khóa bí mật 14 Hình 2.1: Chứng thư số 15 Hình 2.2: Các thành phần PKI 20 Hình 2.3: Single CA 28 Hình 2.4: CA phân cấp 29 Hình 2.5: Chứng thực chéo 30 Hình 2.6: Bridge CA 31 Hình 3.1: Giao diện xác thực khóa cá nhân 38 Hình 3.2: Giao diện 38 Hình 3.3: Giao diện thơng báo 39 Hình 3.4: Lớp Crypto 39 Hình 3.5: Lớp ECDH 40 Hình 3.6: Lớp Data Transfrmer 40 Hình 3.7: Lớp ECDSA_Signature 41 Hình 3.8: XML Work 41 Hình 3.9: Xác thực người dùng 42 Hình 3.10: Thơng báo file khơng phải khóa cá nhân 42 Hình 3.11: Xác thực thất bại 42 Hình 3.12: Xác thực 43 Hình 3.13: Giao diện chương trình 43 Hình 3.14: Thơng báo cho người dùng kết 43 Hình 3.15: file sign chứa chữ ký 44 39 Hình 3.3: Giao diện thông báo 3.5 Thiết kế lớp - Lớp Crypto: Lớp có nhiệm vụ thực nhiệm vụ liên quan đến việc mã hóa: Mã hóa Base64, giải mã Base64, trả lại ECPublicKey từ file lưu trữ hay dạng mảng byte ECPublickey, trả lại ECPrivateKey, thực hàm băm SHA1 SHA 256 Hình 3.4: Lớp Crypto Base64Decode: Nhận vào xâu định dang Base64 Trả mảng byte sau giải mã base64 xâu truyền vào Base64Encode: Nhận vào mảng byte Trả xâu ký tự định dạng base64 sau mã hóa base64 mảng byte truyền vào Hai hàm base64Decode base64Encode xây dựng mục đích thuận tiện cho việc truyền liệu dạng mảng byte getPrivkey: Nhận vào file Hàm thực đọc liệu từ file, xây dựng đối tượng ECPrivateKey từ liệu Trả cho người dùng ECPrivateKey tương ứng 40 getPubkey(File): Nhận vào file Hàm thực đọc liệu từ file, xây dựng đối tượng ECPublicKey từ liệu Trả cho người dùng ECPublicKey tương ứng getPubkey(byte[]): Nhận vào mảng byte, xây dựng thực thể ECPublicKey từ mảng byte Trả cho người dùng ECPublicKey tương ứng mySHA1: Thực băm liệu truyền vào giải thuật SHA1, trả liệu thu sau băm mySHA256: Thực băm liệu truyền vào giải thuật SHA256, trả liệu thu sau băm - Lớp ECDH: Lớp có hàm thực chức năng: Mã hóa AES, giải mã AES, tạo key ECDH Hình 3.5: Lớp ECDH decrypt: Thực mã hóa liệu giải thuật AES Trả lại mảng byte liệu mã hóa kết sau mã hóa encrypt: Thực giải mã liệu giải thuật AES Trả lại mảng byte liệu gốc sau giải mã ecdhECKey: Tạo key ECDH từ publickey private key đối tượng khác - Lớp DataTransformer: Lớp có nhiệm vụ chuyển đổi liệu thành phần khác nhau: lấy liệu từ file, ghi liệu vào file … Hình 3.6: Lớp Data Transfrmer 41 appendStringToFile: Gắn xâu vào cuối file bytes2String: Tạo thực thể String từ mảng byte truyền vào getfile: tạo thực thể file có thẻ nhớ với tên file truyền vào dạng xâu ký tự readByteFromFile: đọc liệu từ file lên, trả mảng byte kết writeByteToFile: ghi mảng byte vào file định trước - Lớp ECDSA_Signature: thực chức ký xác minh chữ ký file sử dụng giải thuật ECDSA Hình 3.7: Lớp ECDSA_Signature ECDSASign: Thực nhiệm vụ ký số lên mảng byte truyền vào Trả mảng byte chữ ký số có áp dung giải thuật ký ECDSA ECDSAVerify: Thực chức xác minh chữ ký file - XMLWork: Thực chức liên quan đến việc trích xuất liệu từ file XML Hình 3.8: XML Work getTagEncrypt: Trích xuất nội dung thẻ từ file mã hóa getTagSign: Trích xuất nội dung thẻ từ file ký số 3.6 Cài đặt kiểm thử a Chức đăng nhập Sau chọn nút đăng nhập, người dùng yêu cầu chọn file private key sử dụng để xác thực người dùng 42 Hình 3.9: Xác thực người dùng Dữ liệu từ file private key người dùng đọc lên so sánh với liệu file xác thực chữ ký Nếu không khớp, có thơng báo file chọn khơng phải khóa cá nhân Hình 3.10: Thơng báo file khơng phải khóa cá nhân Dữ liệu từ log: Hình 3.11: Xác thực thất bại Như ta thấy hình liệu sinh từ private key liệu từ file xác thực khác nên trình xác thực thất bại 43 Ngược lại, trình xác thực Xem log ta có: Hình 3.12: Xác thực Và người dùng chuyển sang giao diện chương trình Hình 3.13: Giao diện chương trình b Chức ký file Người dùng chọn chức ký file Người dùng yêu cầu chọn file để ký lên Phần mềm tiến hành sinh chữ ký Và tạo file chứa chữ ký cách tự động vào thông báo cho người dùng kết Hình 3.14: Thơng báo cho người dùng kết Khi mở thư mục chứa file vừa chọn để ký có file tên giống file gốc có sign file chứa chữ ký 44 Hình 3.15: file sign chứa chữ ký Xem logcat thấy nội dung chữ ký sinh ra: Hình 3.16: Nội dung chữ ký sinh Chữ ký này, nội dung file ban đầu,tên file, public key (Đã mã hóa base64) ghi vào thẻ tương ứng file chữ ký: Hình 3.17: Các thẻ tương ứng file chữ ký Hoàn thành trình ký 45 c Chức xác minh chữ ký Quá trình bắt đầu người dùng nhấn nút: xác minh chữ ký file Người dùng cần chọn file chứa chữ ký cần xác minh (file *.sign tạo từ trình ký) Nếu người dùng chọn file không định dạng liệu thẻ bị thay đổi, thông báo xác minh chữ ký sai: Hình 3.18: Thơng báo xác minh chữ ký sai Nếu người dùng chọn file có định dạng Các thẻ trích xuất nội dung, thấy xem log Hình 3.19: Trích xuất nội dung xem log Hình 3.20: Trích xuất nội dung xem log Nội dung thẻ sử dụng cho việc xác minh chữ ký Sau trình xác minh chữ ký Nội dung thẻ data ghi file đặt tên filename để phục hồi file gốc Khi đó, thư mục chứa file chứa chữ ký có thêm file có tên thẻ filename Kết thúc q trình xác minh chữ ký 46 Hình 3.21: file phục hồi file gốc d Chức mã hóa Q trình mã hóa bắt đầu người dùng chọn nút “Mã hóa ECDH” Để thực chức mã hóa, phần mềm cần tạo key nhờ giải thuật ECDH từ public key người nhận Vì vậy, bước người dùng cần thực chọn file public key người nhận Nếu người dùng chọn không file định dạng publickey, phần mềm thông báo lỗi: Hình 3.22: Thơng báo lỗi file định dạng publickey Nếu người dùng chọn file public key, phần mềm tiến hành tạo key giải thuật ECDH, sau đưa vào hàm băm SHA 256 để tạo key phục vụ cho việc mã hóa Kết theo dõi qua log: Hình 3.23: Tạo key phục vụ Bước chọn file mã hóa Ta chọn file Phần mềm mã hóa, kết theo dõi qua log : 47 Hình 3.24: Tải liệu từ file gốc lên tiến hành mã hóa Sẽ có thơng báo cho người dùng việc q trình mã hóa hồn tất Hình 3.25: Thơng báo mã hóa thành cơng Public key, tên file, liệu mã hóa đưa vào thẻ tương ứng file định dạng xml đặt tên theo định dạng: filename.encrypt Định dạng file sau : Hình 3.26: Định dạng file Kết thúc q trình mã hóa file e Chức giải mã file Quá trình giải mã file bắt đầu việc chọn nút « Giải mã ECDH» Để giải mã file Phần mềm cần tạo lại key ECDH, nên cần có private key public key người gửi Public key người gửi trích xuất tạo 48 ECDH key, key đưa vào hàm băm SHA 256 để tạo key giải mã Q trình theo dõi qua log : Hình 3.27: Nội dung thẻ Senderpubkey Hình 3.298: Tạo lại key ECDH Chúng ta so sánh key vừa với key tạo trình mã hóa để thấy q trình trao đổi key ECDH thực Key sinh sử dụng để giải mã liệu gốc Ta theo dõi kết giải mã qua file log : Hình 3.29: Kết giải mã So sánh với liệu gốc phần mã hóa thấy giống Điều chứng tỏ q trình giải mã thành cơng Người dùng nhận thơng báo : Hình 3.30: Thơng báo giải mã thành công Dữ liệu sau giải mã lưu vào file đặt tên theo filename file encrypt, file đặt thư mục với file mã hóa Việc ghi lại log : 49 Hình 3.31: Lưu file Truy cập vào thư mục chứa file mã hóa ta thấy có thêm file giải mã : Hình 3.32: File giải mã Nếu người dùng chọn file khơng định dạng file mã hóa Phần mềm khơng thể giải mã có thơng báo cho người dùng : Hình 3.33: Thơng báo giải mã thất bại Ngun nhân khơng thể đọc nội dung thẻ file mã hóa Việc theo dõi qua log : 50 Hình 3.34: Giải mã thất bại xem qua log Như vậy, kết thúc trình giải mã 3.7 Kết luận chương Trong chương luận văn xây dựng ứng dụng cụ thể : phân tích, thiết kế, xây dựng biểu đồ usecase, biểu đồ phân cấp chức năng, sau tập trung xây dựng giao diện lớp triển khai ứng dụng Kết mô ứng dụng bảo mật vào việc xác thực tài liệu điện tử dựa hạ tầng khóa cơng khai PKI chức ký file, chức xác minh chữ ký, chức mã hóa file chức giải mã file 51 KẾT LUẬN Việc ứng dụng công nghệ thông tin lĩnh vực đem lại nhiều lợi ích cho xã hội, khơng thể thiếu kinh tế hội nhập toàn cầu hóa An tồn bảo mật thơng tin yếu tố quan trọng cho nhiều ứng dụng thực tiễn Trong trình nghiên cứu tìm hiểu giải pháp bảo mật em nhận thấy hệ mã hóa cơng khai dựa đường cong elliptic xem hệ mã hóa an tồn hiệu so với hệ mã hóa công khai khác, ECDSA xem ưu việt độ bảo mật độ dài khóa ECDSA nhỏ nhiều so với hệ mã hóa khác Điều dẫn tới khả thực thi nhanh hơn, hiệu Với mục tiêu nghiên cứu bảo mật xác thực tài liệu điện tử, luận văn đạt được: Quan nghiên cứu thử nghiệm, luận văn đạt kết sau: - Hiểu vấn đề liên quan đến mật mã - Nghiên cứu đánh giá số thuật tốn mã hóa cơng khai - Nghiên cứu hiểu rõ vấn đề liên quan bảo mật liệu chế xác thực hạ tầng khóa cơng khai PKI - Tìm hiểu lập trình với hạ tầng khóa cơng khai, sử dụng giải thuật ECDSA qua thư viện java.security - Thử nghiệm tính xác thực bảo mật tài liệu điện tử dựa PKI Các kết đạt luận văn bước đầu chứng tỏ hiệu việc ứng dụng hạ tầng khóa cơng khai PKI việc xác thực tài liệu điện tử cách an toàn bảo mật Hướng phát triển đề tài: Nghiên cứu số giải pháp bảo mật CSDL, ứng dụng sở hạ tầng khóa cơng khai PKI, mở rộng số thuật tốn mã hóa cơng khai áp dụng bảo mật, xác thực tài liệu điện tử như: thuật toán RSA, tiêu chuẩn chữ ký số DSS, trao đổi khóa Diffie - Hellman, hệ mật mã Elgamal, hệ thống mật mã Paillier,… Trong trình tìm hiểu thực đề tài, kiến thức nhiều hạn chế đồng thời lĩnh vực giới Việt Nam nên 52 khơng thể tránh thiếu sót Rất mong nhận góp ý hướng dẫn để kiến thức hoàn thiện Em xin gửi lời cảm ơn chân thành đến TS Hồ Văn Hương, người truyền đạt cho em kiến thức quý báu đồng thời giúp đỡ em hoàn thành đề tài Xin chân thành cảm ơn! Học viên thực Mai Thị Hoa Huệ 53 TÀI LIỆU THAM KHẢO [1] Hồ Văn Hương, Đào Thị Ngọc Thuỳ, Ứng dụng hệ thống kiểm sốt truy nhập mạng theo mơ hình truy nhập lần, Tạp chí An tồn thơng tin, số (025) 2013 [2] Hồ Văn Hương, Hoàng Chiến Thắng, Ký số xác thực tảng web, Tạp chí An tồn thơng tin, số (026) năm 2013, [3] Hồ Văn Hương, Nguyễn Quốc Uy, Giải pháp bảo mật sở liệu, Tạp chí An tồn thơng tin, số (027) năm 2013 [4] Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy, Giải pháp bảo mật xác thực cho văn phòng điện tử, Hội nghị Quốc gia điện tử truyền thông (REV 2013-KC01) [5] Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy, Giải pháp bảo mật xác thực thư điện tử, Tạp chí An tồn thơng tin số 04 (028), 2013 [6] Hồ Văn Hương, Nguyễn Quốc Uy, Nguyễn Anh Đồn, Tích hợp giải pháp bảo mật xác thực cho mạng riêng ảo, Tạp chí nghiên cứu Khoa học Cơng nghệ Quân số 28, 2013 [7] Giáo trình Lý Thuyết Cơ Sở Mật Mã, Học Viện Kỹ Thuật Mật Mã, 2006 [8] Phan Đình Diệu, Lý thuyết mật mã an tồn thơng tin, Đại học Quốc gia Hà Nội, 1999 [9] Dương Anh Đức, Trần Minh Triết, Mã hóa ứng dụng, Đại học Khoa học Tự nhiên, Đại học Quốc gia TP Hồ Chí Minh, 2005 [10] Alfred J Menezes, Paul C Van Oorschot, Scott A Vanstone, Handbook of Applied Cryptography, CRC Press, 1997 [11] Harvey M.Deitel& Paul J.Deitel,Java How to Programdan, 2003 [12] Jonathan B Knudsen,Java Cryptography ,May 1998 [13] Jason Weiss, Java Cryptography Extensions,2004 [14] Brian Komar,MS Press Windows Server 2003 PKI and Certificate Security, 2004 ... tin nhạy cảm cần phải xác thực tính xác sai sót dẫn đến hậu nghiêm trọng.Vì em chọn đề tài: :? ?Nghiên cứu xây dựng bảo mật xác thực tài liệu điện tử dựa PKI ứng dụng vào trường Đại học Hạ Long. .. khai PKI Đánh giá vấn đề an tồn bảo mật xác thực tài liệu điện tử Phương pháp nghiên cứu Luận văn kết hợp nghiên cứu lý thuyết, nghiên cứu xây dựng bảo mật xác thực tài liệu điện tử dựa PKI Bố... XÂY DỰNG ỨNG DỤNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ Trong chương luận văn tập trung vào xây dựng ứng dụng cụ thể để làm rõ tính xác thực tài liệu điện tử dựa hạ tầng khóa cơng khai PKI 3.1 Phân

Ngày đăng: 23/03/2021, 22:07

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan