Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
1,49 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP HCM KHOA CƠNG NGHỆ THƠNG TIN Ngành An Tồn Thơng Tin -o0o - ĐỒ ÁN MÔN HỌC ĐỀ TÀI : TÌM HIỂU VỀ CHỮ KÝ ĐIỆN TỬ VÀ XÂY DỰNG ỨNG DỤNG TẠO VÀ XÁC THỰC CHỮ KÝ ĐIỆN TỬ Sinh viên thực hiện: Nguyễn Văn Quang 2033181060 Đào Chiến Thắng 2033181066 Giảng viên hướng dẫn: Mạnh Thiên Lý TP Hồ Chí Minh, Tháng năm 2021 Đồ án môn học LỜI CẢM ƠN Chúng em xin chân thành gửi lời cảm ơn sâu sắc tới cô Mạnh Thiên Lý - người bảo, nhắc nhở, hướng dẫn, cung cấp tài liệu quý giá, kiến thức bổ ích dẫn dắt tụi em hoàn thành đồ án Chúng em xin gửi lời cảm ơn thầy cô giáo khoa Công nghệ thông tin - trường Đại học Công nghiệp Thực phẩm TP HCM gia đình tạo điều kiện giúp đỡ vật chất tinh thần để chúng em tập trung có động lực để hồn thành tốt đồ án Sinh viên thực Nguyễn Văn Quang Đào Chiến Thắng Đồ án môn học NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Nhóm sinh viên gồm : Nguyễn Văn Quang Đào Chiến Thắng MSSV: 2033181060 MSSV: 2033181066 Nhận xét : ……………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Điểm đánh giá: ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Ngày ……….tháng ………….năm 2021 ( Ký tên, ghi rõ họ tên) Đồ án môn học MỤC LỤC LỜI CẢM ƠN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN MỤC LỤC DANH MỤC HÌNH ẢNH THUẬT NGỮ VIẾT TẮT LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN VỀ CÁC LOẠI MÃ HOÁ 11 1.1 Giới thiệu mật mã học 11 1.1.1 Mật mã học gì? .11 1.1.2 Các thành phần mật mã học .11 1.1.3 Quy trình mật mã học 12 1.2 Phân loại hệ mã hoá 12 1.2.1 Hệ mã dòng - Stream Cipher 12 1.2.2 Hệ mã khối - Block Cipher 13 1.2.3 Hệ mã hoá đối xứng 14 1.2.4 Hệ mã hoá bất đối xứng .20 1.2.5 Hệ mã hoá RSA 21 CHƯƠNG HÀM BĂM (HASH) 26 2.1 Sơ lược hàm băm 26 2.2 Khái niệm hàm băm 26 2.3 Tính chất hàm băm .26 2.4 Thuộc tính cần thiết 26 2.5 Cách hoạt động hàm băm 27 2.6 Các loại hàm băm phổ biến .28 2.6.1 MD5 (Message - Digest Algorithm 5) .28 Đồ án môn học 2.6.2 SHA (Secure Hashing Algorithm) .29 2.7 Ứng dụng hàm băm 30 CHƯƠNG LÝ THUYẾT VỀ CHỮ KÝ SỐ 32 3.1 Giới thiệu chữ ký số .32 3.2 Khái niệm chữ ký số 32 3.3 Các ưu điểm chữ ký số .32 3.4 Quy trình tạo xác thực chữ ký số 34 3.4.1 Thuật toán tạo khoá 34 3.4.2 Tạo chữ ký ký vào thông điệp .34 3.4.3 Kiểm tra xác thực chữ ký số 34 CHƯƠNG MỘT SỐ QUY ĐỊNH, THÔNG TƯ VỀ CHỮ KÝ SỐ 37 4.1 Quy định ký số, kiểm tra chữ ký số văn điện tử quan nhà nước việt nam 37 4.1.1 Quy định giá trị pháp lý chữ ký số 37 4.1.2 cung cấp Quy định điều kiện tạo chữ ký số đảm bảo an toàn đơn vị 37 4.2 Chứng thư số, chữ ký số nước việt nam 38 4.2.1 Đối tượng sử dụng chứng thư số nước .38 4.2.2 Đối tượng sử dụng chứng thư số nước .38 4.2.3 Phạm vi hoạt động thời hạn giấy phép sử dụng chứng thư số nước Việt Nam 38 4.2.4 Đối với thuê bao sử dụng chứng thư số nước Việt Nam: 38 4.2.5 Đối với tổ chức cung cấp dịch vụ chứng thực chữ ký số nước ngồi có chứng thư số công nhận Việt Nam 39 CHƯƠNG XÂY DỰNG ỨNG DỤNG TẠO VÀ XÁC THỰC CHỮ KÝ SỐ 40 5.1 Giới thiệu phần mềm 40 5.2 Thực tạo khóa bí mật khóa công khai 41 Đồ án môn học 5.3 Thực tạo chữ ký số giải thuật RSA 43 5.4 Thực giải mã để xác thực cho chữ ký tạo giải thuật RSA 45 KẾT LUẬN 48 PHỤ LỤC 49 TÀI LIỆU THAM KHẢO 51 Đồ án mơn học DANH MỤC HÌNH ẢNH Hình 1.1 Mơ hình mã hố liệu 12 Hình 1.2 Mơ hình hệ mã hố dịng Stream Cipher 13 Hình 1.3 Mơ hình hệ mã hoá khối Block Cipher 14 Hình 1.4 Bảng ví dụ xếp thuật tốn mã hố thay 15 Hình 1.5 Bảng mã dịch chuyển 17 Hình 1.6 Cách hoạt động playfair .18 Hình 1.7 Cách xếp ma trận khóa playfair 19 Hình 1.8 Kết trả dùng playfair 19 Hình 1.9 Quy trình mã hố RSA .23 Hình 2.1 Sơ đồ hoạt động hàm băm 27 Hình 2.2 Ví dụ hàm băm .28 Hình 2.3 Ví dụ hàm băm MD5 cơng cụ HashCalc .29 Hình 3.1 Quy trình tạo xác thực chữ ký số 35 Hình 5.1 Giao diện started phần mềm 40 Hình 5.2 Các độ dài khóa mà chương trình hỗ trợ 41 Hình 5.3 Code truyền giá trị độ dài khố vào đối tượng RSA 41 Hình 5.4 Code tạo khố cơng khai bí mật .42 Hình 5.5 Khóa bí mật khố cơng khai 43 Hình 5.6 Giao diện tạo chữ ký số 43 Hình 5.7 Tuỳ chọn nén file sau tạo thành công chữ ký 45 Hình 5.8 Giao diện xác thực chữ ký số 46 Hình 5.9 Chữ ký giống với văn 46 Hình 5.10 Chữ ký khơng giống với văn 47 Đồ án môn học THUẬT NGỮ VIẾT TẮT Tên viết tắt Tên tiếng anh Tên tiếng việt DES Data Encryption Standard Chuẩn mã hoá liệu RSA Rivest - Shamir - Adleman Hệ mã hố khố cơng khai RSA MAC Message Authentication Code Mã xác thực thông báo Ước chung lớn ƯCLN OTP One Time Pad Một hệ mã dịng MD Message - Digest Algorithm Thuật tốn tóm tắt hóa thơng điệp SHA Secure Hash Algorithm Thuật tốn băm an tồn Đồ án mơn học LỜI NÓI ĐẦU Từ thuở xa xưa, hoạt động giao dịch bên cần biện pháp xác thực để đảm bảo tính an tồn giao dịch, để chứng thực hay xác minh ta có nhiều cách, số chữ ký viết tay hình thức đơn giản an tồn Nhưng thời đại chữ ký viết tay ngày hiệu quả, hồn tồn bị làm giả bất tiện việc phải đồng thời có diện hai bên để ký kết hợp đồng Nhất thời gian gần dịch bệnh ngày hoành hành người phải hạn chế tiếp xúc với khiến điều trở nên khó khăn Ở thời điểm công nghệ phát triển bây giờ, việc giao dịch mạng trở nên quen thuộc với người, giao dịch yêu cầu cần có hợp đồng lại đặt vấn đề lớn tính xác thực an tồn hợp đồng bị lợi dụng “bên thứ ba” hai bên thực giao dịch cho mục đích xấu Từ vấn đề trên, chữ ký điện tử cho đời để giải chúng Bản thân chữ ký điện tử mang số nét tương đồng với chữ ký viết tay bảo mật an tồn có sử dụng cơng nghệ mã hóa, chứng thực hàm băm Đó lý mà chúng em chọn đề tài đồ án môn học: “TÌM HIỂU VỀ CHỮ KÝ ĐIỆN TỬ VÀ XÂY DỰNG ỨNG DỤNG TẠO VÀ XÁC THỰC CHỮ KÝ ĐIỆN TỬ” với mục tiêu nắm vững kiến thức chữ ký số tạo ứng dụng tảng Window tạo xác thực chữ ký số, góp phần cống hiến cho đời sống thành từ kinh nghiệm kiến thức thu sau thực đồ án Ngoài phần mở đầu kết luận, đồ án bao gồm chương Chương 1: Tổng quan loại mã hoá Trong chương biết thêm khái niệm mã hoá, số phương pháp mã hố, dẫn chứng, ví dụ cụ thể giới thiệu chi tiết thuật tốn khố cơng khai RSA Chương 2: Hàm băm Trong chương tìm hiểu thêm loại hàm băm MD5, SHA, phương pháp băm, thuật toán ứng dụng chúng sống, lựa chọn hàm băm để áp dụng quy trình tạo chữ ký số Chương 3: Lý thuyết chữ ký số Trong chương tìm hiểu khái niệm chữ ký số quy trình để tạo xác thực chữ ký số áp dụng từ kiến thức chương Chương 4: Một số luật quy định dịch vụ chữ ký số Đồ án môn học Trong chương tìm hiểu nắm rõ số thơng tư, nghị định, luật Nhà nước ban hành chữ ký số, ứng dụng thực tế giao dịch quốc gia Chương 5: Xây dựng ứng dụng tạo xác thực chữ ký số Trong chương tiến hành chắt lọc tinh hoa chữ ký số tạo chương trình có khả xác tạo chữ ký số xác thực chữ ký số tạo thuật toán mã hoá RSA hàm băm 10 Đồ án môn học CHƯƠNG MỘT SỐ QUY ĐỊNH, THÔNG TƯ VỀ CHỮ KÝ SỐ Trong chương đề cập đến quy định, Nghị Định phổ biến chữ ký số văn luật giao dịch điện tử ban hành 4.1 QUY ĐỊNH VỀ KÝ SỐ, KIỂM TRA CHỮ KÝ SỐ TRÊN VĂN BẢN ĐIỆN TỬ TRONG CƠ QUAN NHÀ NƯỚC VIỆT NAM Các quy định chữ ký số quy định rõ ràng Nghị Định Số: 130/2018/NĐ - CP quy định chi tiết thi hành luật giao dịch điện tử chữ ký số dịch vụ chứng thực chữ ký số 4.1.1 Quy định giá trị pháp lý chữ ký số Việc xác định giá trị pháp lý chữ ký số vô quan trọng, đảm bảo tính minh bạch, hợp pháp an toàn điều cần thiết giao dịch điện tử để chống giả mạo chữ ký Những vấn đề giá trị pháp lý chữ ký số quy định Điều Nghị Định 130/2018/NĐ - CP sau: Đối với trường hợp văn cần có chữ ký số u cầu văn liệu xem hợp pháp ký chữ ký số đảm bảo an theo quy định pháp luật tức Điều Nghị Định Đối với trường hợp văn cần đáp ứng yêu cầu đóng dấu quan tổ chức văn liệu phải ký chữ ký quan tổ chức đảm an toàn theo quy định pháp luật tức Điều Nghị Định Đối với trường hợp chữ ký số nước cấp giấy phép sử dụng Việt Nam có giá trị pháp lý hiệu lực tương đương chữ ký số cấp phép tổ chức cung cấp dịch vụ chứng thực chữ ký số công cộng Việt Nam 4.1.2 Quy định điều kiện tạo chữ ký số đảm bảo an toàn đơn vị cung cấp Đối với đơn vị cung cấp chữ ký số phải đáp ứng đầy đủ ba điều kiện tạo chữ ký số đảm bảo an toàn quy định rõ Điều Nghị Định 130/2018/NĐ CP sau: Đầu tiên, chữ ký số phải tạo khoản thời gian chứng thư số có hiệu lực kiểm tra khóa cơng khai ghi chứng thư số Tiếp theo, chữ ký số phải tạo việc sử dụng khóa bí mật tương ứng với khóa cơng khai ghi chứng thư số bốn tổ chức sau cấp: + Tổ chức cung cấp dịch vụ chứng thực chữ ký số quốc gia 37 Đồ án môn học + Tổ chức cung cấp dịch vụ chứng thực chữ ký số chuyên dùng cho phủ + Tổ chức cung cấp dịch vụ chứng thực chữ ký số công cộng + Tổ chức cung cấp dịch vụ chứng thực chữ ký số chuyên dùng quan, tổ chức cấp giấy chứng nhận đủ điều kiện đảm bảo an toàn cho chữ ký số chuyên dùng Cuối cùng, đảm bảo chắn khóa bí mật thuộc kiểm sốt người ký thời điểm 4.2 CHỨNG THƯ SỐ, CHỮ KÝ SỐ NƯỚC NGOÀI TẠI VIỆT NAM 4.2.1 Đối tượng sử dụng chứng thư số nước Đối với điều kiện sử dụng chứng thư số nước Việt Nam quy định Điều 43 Nghị Định 130/2018/NĐ - CP sau: Chứng thư số hiệu lực sử dụng Được Bộ Thông tin Truyền thông cấp giấy phép sử dụng Việt Nam chấp nhận giao dịch quốc tế Trường hợp sử dụng chứng thư số nước ngồi cho máy chủ phần mềm khơng cần giấy phép 4.2.2 Đối tượng sử dụng chứng thư số nước Được quy định Điều 44 luật này: Tổ chức, cá nhân nước Việt Nam Tổ chức, cá nhân Việt Nam có nhu cầu giao dịch điện tử với đối tác nước mà chứng thư số tổ chức cung cấp dịch vụ chứng thực chữ ký số nước chưa cơng nhận nước 4.2.3 Phạm vi hoạt động thời hạn giấy phép sử dụng chứng thư số nước Việt Nam Những quy định ghi rõ Điều 45 luật sau: Phạm vi hoạt động giao dịch điện tử đối tượng sử dụng chứng thư số nước quy định Điều 44 Nghị định Thời hạn giấy phép sử dụng chứng thư số nước Việt Nam 05 năm không thời gian hiệu lực chứng thư số Điều kiện cấp giấy phép sử dụng Những quy định ghi rõ Điều 46 luật sau: 4.2.4 Đối với thuê bao sử dụng chứng thư số nước Việt Nam: Thuộc đối tượng quy định Điều 44 Nghị định này; Có văn sau để xác thực thông tin chứng thư số: 38 Đồ án môn học Giấy chứng nhận đăng ký doanh nghiệp giấy chứng nhận đầu tư định thành lập định quy định chức năng, nhiệm vụ, quyền hạn tổ chức; chứng minh nhân dân cước công dân hộ chiếu cá nhân; Văn quan có thẩm quyền cho phép tổ chức, cá nhân nước hoạt động hợp pháp Việt Nam thuê bao tổ chức, cá nhân nước ngoài; Trường hợp ủy quyền sử dụng chứng thư số phải có ủy quyền cho phép hợp pháp sử dụng chứng thư số thông tin thuê bao cấp chứng thư số phải phù hợp với thông tin văn ủy quyền, cho phép 4.2.5 Đối với tổ chức cung cấp dịch vụ chứng thực chữ ký số nước ngồi có chứng thư số cơng nhận Việt Nam Thành lập hoạt động hợp pháp quốc gia mà tổ chức cung cấp dịch vụ chứng thực chữ ký số nước đăng ký hoạt động; Đáp ứng danh mục tiêu chuẩn bắt buộc áp dụng chữ ký số dịch vụ chứng thực chữ ký số Bộ Thông tin Truyền thông ban hành tiêu chuẩn quốc tế chữ ký số Bộ Thông tin Truyền thông xác định có độ an tồn thơng tin tương đương; Được doanh nghiệp kiểm toán chứng nhận hoạt động nghiệp vụ tuân thủ tiêu chuẩn quốc tế có uy tín dịch vụ chứng thực chữ ký số 39 Đồ án môn học CHƯƠNG XÂY DỰNG ỨNG DỤNG TẠO VÀ XÁC THỰC CHỮ KÝ SỐ Từ kiến thức chúng em tìm hiểu chương phía trên, kết hợp với kiến thức có sẵn dạy dỗ trường, chúng em áp dụng thành cơng chúng vào ứng dụng sử dụng thực tiễn Bằng tất tâm huyết, chúng em tạo ứng dụng tạo xác thực chữ ký số quy trình chuẩn có tên “RSA Digital Signature”, viết ngơn ngữ C# tảng Winform có giao diện đồ hoạ thân thiện với người dùng Trong chương tìm hiểu sâu ứng dụng 5.1 GIỚI THIỆU VỀ PHẦN MỀM Phần mềm tạo để thực chức Thực tạo khóa bí mật khóa cơng khai Thực tạo chữ ký số giải thuật RSA Thực giải mã để xác thực cho chữ ký tạo giải thuật RSA Bao gồm form chính: Started, Tạo chữ ký Xác thực chữ ký Khi khởi động ứng dụng, người dùng tiếp xúc với form Started, form gồm option để người dùng lựa chọn: Tạo chữ ký Xác thực chữ ký Tuỳ theo chọn lựa người dùng mà form có chức tên gọi Hình 13.1 Giao diện started phần mềm 40 Đồ án môn học 5.2 THỰC HIỆN TẠO KHĨA BÍ MẬT VÀ KHĨA CƠNG KHAI Form Tạo chữ ký số có cơng dụng tạo khố cung cấp cho hệ mã hoá RSA sử dụng khố tạo cho q trình tạo chữ ký số Phần mềm thực việc tạo lưu khóa vị trí định người dùng Nó sử dụng gói thư viện mã hố System.Security.Cryptography hỗ trợ C# để thực trình Phần mềm hỗ trợ tạo khóa với độ dài khác 512 bit, 1024 bit, 2048 bit, 4096 bit Trong khóa có độ dài lớn độ bảo mật cao, bù lại thời gian tạo chữ ký lâu độ phức tạp khố Hình 14.2 Các độ dài khóa mà chương trình hỗ trợ Độ dài khoá lưu vào biến lengthKey, tuỳ vào kích thước người dùng chọn Kế tiếp truyền kích thước khố vào đối tượng RSA Hình 15.3 Code truyền giá trị độ dài khố vào đối tượng RSA 41 Đồ án môn học Ở tạo khoá dựa độ dài khoá gán Câu lệnh để tạo khoá đối tượng RSA RSA.ToXmlString(option); Trong khố bí mật có giá trị option “true”, khố cơng khai có giá trị option “false” Trong mã hố RSA theo quy trình người gửi sử dụng khố cơng khai người nhận để mã hoá người nhận giải mã khố bí mật Thế ứng dụng RSA vào chữ ký số, người gửi chúng ta, nên mã hố chữ ký số gửi cho người nhận mà giữ tính chất chữ ký số, sử dụng khố bí mật người gửi để mã hố người nhận dùng khố cơng khai họ để giải mã Chính chức hai khoá đổi cho option tạo khoá phần chữ ký số ngược lại với RSA thông thường, cụ thể tạo khố bí mật với option “false” khố cơng khai option “true” Và cần lưu khoá tạo vào file, tạo file xml để lưu trữ khoá gọi hàm ghi file với đường dẫn đến file xml hàm tạo khố RSA Hình 16.4 Code tạo khố cơng khai bí mật Trong File.WriteAllText(): hàm ghi file winform pathKeyRSApublic: đường dẫn lưu file xml chứa khố cơng khai pathKeyRSAPrivate: đường dẫn lưu file xml chứa khố bí mật RSA.ToXmlString(true): tạo khố cơng khai trả giá trị khoá dạng XML RSA.ToXmlString(false): tạo khố bí mật trả giá trị khố dạng XML Sau tạo phần mềm xuất khóa định dạng “.xml” liệu khố xuất 42 Đồ án mơn học Hình 17.5 Khóa bí mật khố cơng khai Giá trị khoá đọc xuất hình textbox Publickey PrivateKey để dễ dàng theo dõi 5.3 THỰC HIỆN TẠO CHỮ KÝ SỐ BẰNG GIẢI THUẬT RSA Việc tạo chữ ký số thực cách mã hóa liệu đầu vào chuyển thành chuỗi bit (chuỗi nhị phân) sử dụng khóa bí mật tạo trước Dữ liệu đầu vào dạng file mà muốn ký: word, pdf, video, … Chọn vào button Import mục Input để đưa vào file đầu vào Sau người dùng đưa vào file liệu đầu vào, ô textbox Input mang giá trị đường dẫn dẫn đến file liệu đầu vào Theo quy trình tạo chữ ký số băm file input công thức hàm băm Ở chương trình sử dụng hàm băm SHA256 với độ dài ký tự 65 chữ số có hỗ trợ sẵn thư viện C# Button hash nhấn vào gọi hàm thực băm SHA256 để thực băm với đường dẫn truyền vào file input Sau để tạo chữ ký số, nhấn vào button Create digital signature Hình 18.6 Giao diện tạo chữ ký số 43 Đồ án môn học Chương trình chạy hàm tạo chữ ký số btnEncryptClick(), hàm có chức kiểm tra điều kiện file cần có đủ chưa chuẩn bị bước để mã hố Câu lệnh: RSA.FromXmlString(File.ReadAllText(this.pathKeysXMLPrivate)); Có tác dụng gán khố bí mật từ đường dẫn input tạo vào đối tượng RSA, sau gọi hàm RSA_Algorithm() để thực q trình mã hố RSA_Algorithm(inputFileName, outputFileName, RSA.ExportParameters(false),true); Trong inputFileName, outputFileName: đường dẫn đến file liệu đầu vào RSA.ExportParameters(false): câu lệnh xuất khố bí mật đối tượng RSA để thực mã hoá Trong hàm RSA_Algorithm(), sau bước chuẩn bị hoàn tất, liệu chữ ký số sau mã hoá câu lệnh encryptedData = RSA.Encrypt(bin, false) ghi vào file output người dùng lưu Sau tạo chữ ký lưu định dạng “tên file sử dụng để ký lhde” Trong “.lhde” lập trình viên quy định để phân biệt file chữ ký với file khác Vị trí lưu chữ ký người sử dụng định File dùng làm chữ ký : File chữ ký : Ngoài chương trình cịn có chức nén file khóa cơng khai file chữ ký vào chung tệp để tiện lợi cho người gửi dễ dàng gửi đi, tệp nén “secret.zip” tạo chứa chữ ký khố cơng khai bên 44 Đồ án mơn học Hình 19.7 Tuỳ chọn nén file sau tạo thành cơng chữ ký Chương trình hỏi vị trí lưu file nén Sau nén, file có định dạng sau: cho đối tác , cần gửi file nén file hợp đồng (input) 5.4 THỰC HIỆN GIẢI MÃ ĐỂ XÁC THỰC CHO CHỮ KÝ ĐƯỢC TẠO BẰNG GIẢI THUẬT RSA Việc giải mã để xác thực chữ ký thực cách giải mã file chữ ký sử dụng khóa cơng khai người gửi tạo gửi tới liệu ban đầu chuỗi bit.Với mã lệnh: encryptedData = RSA.Decrypt(bin, false); dùng để giải mã chữ ký Trong đó: “bin” số bit mã hóa tính hàm RSA_Algorithm(); “false” bạn muốn sử dụng đệm mã OAEP để “true” Sau đem so sánh chuỗi bit giải mã với chuỗi bit liệu ký Nếu chuỗi giống chương trình kết luận file ký không bị thay đổi cho phép mở file khác chương trình kết luận file ký bị thay đổi chương trình khơng mở file cho Chúng ta có cách để nhập liệu để xác thực: Add vào file nén zip nhận từ bên gửi file hợp đồng gốc (input) 45 Đồ án môn học Add file chữ ký, khố cơng khai file hợp đồng gốc vào Sau ấn vào Verification, ứng dụng tự động kiểm tra xác thực Nếu chữ ký xác thực liệu không đổi, mở trực tiếp file hợp đồng thực ký gửi ngược lại cho đối tác Còn xác thực chữ ký sai, tức nội dung văn bị thay đổi bất hợp pháp, ứng dụng cảnh báo nguy hiểm không cho mở file hợp đồng Hình 20.8 Giao diện xác thực chữ ký số Nếu chữ ký xác thực Hình 21.9 Chữ ký giống với văn 46 Đồ án môn học Nếu chữ ký xác thực sai Hình 22.10 Chữ ký khơng giống với văn 47 Đồ án môn học KẾT LUẬN Trong q trình nghiên cứu thực đồ án mơn học “TÌM HIỂU VỀ CHỮ KÝ ĐIỆN TỬ VÀ XÂY DỰNG ỨNG DỤNG TẠO VÀ XÁC THỰC CHỮ KÝ ĐIỆN TỬ”, hướng dẫn bảo tận tình Mạnh Thiên Lý, chúng em nghiên cứu nắm vững khái niệm, quy trình tạo xác thực, cách thức hoạt động chữ ký số tạo thành cơng chương trình để áp dụng kiến thức tìm hiểu vào ứng dụng đời sống Do điều kiện thời gian nguồn kiến thức thiếu nên việc tạo ứng dụng để xây dựng xác thực chữ ký số chúng em giới hạn phạm vi thừa kế thư viện hàm băm mã hoá RSA để áp dụng vào quy trình thực Chương trình chúng em xây nhằm mục đích thực hoạt động tạo xác thực đơn giản chữ ký số, nâng cấp chỉnh chu chương trình chúng em có khả hoạt động phần mềm tạo xác thực chữ ký số thương mại Mặc dù cố gắng đồ án khơng thể tránh khỏi sai sót Em mong góp ý, giúp đỡ nhiệt tình thầy để đề tài em hoàn thiện Em xin chân thành cảm ơn 48 Đồ án môn học PHỤ LỤC DANH MỤC TIÊU CHUẨN VỀ CHỮ KÝ SỐ VÀ ĐỊNH DẠNG VĂN BẢN ĐIỆN TỬ KÝ SỐ (Ban hành kèm theo Thông tư số 41/2017/TT - BTTTT ngày 19 tháng 12 năm 2017 Bộ trưởng Bộ Thông tin Truyền thông) S Ký hiệu tiêu Quy định áp Loại tiêu chuẩn Tên đầy đủ tiêu chuẩn Số TT chuẩn dụng 1 Văn điện tử 1ký số (đáp ứng yêu cầu Điều Thông tư này) Tiêu chuẩn định dạng văn điện tử Định dạng Portable Document (.pdf) - Version 1.4 trở lên (.pdf) Định dạng văn điện tử ký số Tiêu chuẩn văn bản, bảng tính, trình diễn, khác bao gồm: ảnh đồ họa thuộc danh mục tiêu chuẩn kỹ Khuyến khích áp văn bản, bảng thuật ứng dụng cơng nghệ thơng tin dụng tính, trình diễn, quan nhà nước ảnh đồ họa Tiêu chuẩn chữ ký số PKCS#1 Bắt buộc áp dụng 2Tiêu chuẩn mật mã chữ ký số TCVN 7635:2007 2Tiêu chuẩn hàm FIPS PUB 180băm an toàn 2An toàn trao đổi tin XML XML Encryption Syntax and RSA Cryptography Standard (Phiên 2.1 trở lên) Bắt buộc áp dụng Các kỹ thuật mật mã - Chữ ký số Secure Hash Standard Bắt buộc áp dụng hàm băm SHA- 256, 384, 512 XML Encryption Syntax and Processing Bắt buộc áp dụng 49 Đồ án môn học Processing XML Signature XML Signature Syntax and Syntax and Processing Processing Quản lý khóa cơng khai tin XKMS v2.0 XML XML Key Management Bắt buộc áp dụng Specification version 2.0 Chuẩn cú pháp 2thông điệp mật PKCS#7 v1.5 mã cho ký số (RFC 2315) mã hóa Cryptographic message syntax for file - based signing and encrypting 3 Giao thức cấp dấu thời gian Bắt buộc áp dụng Tiêu chuẩn dịch vụ cấp dấu thời gian RFC 3161 Internet X.509 Public Key Infrastructure - Time Bắt buộc áp dụng stample Prototol Information technologyISO/IEC Security techniques - Time 18014 - 1:2008 Stamping services - Part 1: Framework Bắt buộc áp dụng Bắt buộc áp dụng Information technology - - Áp dụng ba Security techniques - Time tiêu chuẩn: ISO/IEC 3Dịch vụ cấp dấu Stamping services - Part 2: ISO/IEC 1801418014 - 2:2009 thời gian Mechanisms producing 1:2008); independent tokens ISO/IEC 180142:2009); Information technology - ISO/IEC 18014Security techniques - Time3:2009 ISO/IEC stamping services - Part 3: 18014 - 3:2009 Mechanisms producing linked tokens 50 Đồ án môn học TÀI LIỆU THAM KHẢO Tiếng Việt [1] PGS.TS Nguyễn Bình, giáo trình Mật mã học (Chủ biên), 2003 [2] TS Vũ Đức Thịnh, slide giảng môn Mật mã học, trường Đại học Công nghiệp Thực Phẩm TP HCM [3] https://thuvienphapluat.vn/van-ban/Cong-nghe-thong-tin/Thong-tu-41-2017-TT- BTTTT-su-dung-chu-ky-so-cho-van-ban-dien-tu-trong-co-quan-nha-nuoc 370856.aspx [4] https://thuvienphapluat.vn/van-ban/Cong-nghe-thong-tin/Nghi-dinh-130-2018- ND-CP-huong-dan-Luat-Giao-dịch-dien-tu-ve-chu-ky-so-358259.aspx [5] https://aita.gov.vn/tieu-chuan-sha-2 [6] https://stackjava.com/demo/sha-la-gi-code-vi-du-sha1-sha2-voi-java.html Tiếng Anh [7] https://en.wikipedia.org/wiki/Digital_signature [8] https://sectigostore.com/blog/hash-function-in-cryptography-how-does-it- work/ 51 ... chữ ký viết tay bảo mật an toàn có sử dụng cơng nghệ mã hóa, chứng thực hàm băm Đó lý mà chúng em chọn đề tài đồ án mơn học: “TÌM HIỂU VỀ CHỮ KÝ ĐIỆN TỬ VÀ XÂY DỰNG ỨNG DỤNG TẠO VÀ XÁC THỰC CHỮ... ĐIỆN TỬ VÀ XÂY DỰNG ỨNG DỤNG TẠO VÀ XÁC THỰC CHỮ KÝ ĐIỆN TỬ”, hướng dẫn bảo tận tình Mạnh Thiên Lý, chúng em nghiên cứu nắm vững khái niệm, quy trình tạo xác thực, cách thức hoạt động chữ ký số tạo. .. chương tìm hiểu sâu ứng dụng 5.1 GIỚI THIỆU VỀ PHẦN MỀM Phần mềm tạo để thực chức Thực tạo khóa bí mật khóa cơng khai Thực tạo chữ ký số giải thuật RSA Thực giải mã để xác thực cho chữ ký tạo