Bài viết nghiên cứu phát triển ứng dụng mã hóa và chữ kí số trong trao đổi văn bản có ý nghĩa rất quan trọng cả về lý thuyết và thực tiễn.
ISSN 2354-0575 ỨNG DỤNG MÃ HÓA VÀ CHỮ KÝ SỐ TRONG TRAO ĐỔI VĂN BẢN Phạm Xuân Đạo1, Lê Văn Vịnh2, Nguyễn Gia Ba2 Trường Cao đẳng Kinh tế - Kỹ thuật Điện Biên Trường Đại học Sư phạm Kỹ thuật Hưng Yên Ngày nhận: 10/01/2017 Ngày sửa chữa: 20/02/2017 Ngày xét duyệt: 02/03/2017 Tóm tắt: Trong giao dịch điện tử (Chính phủ điện tử, Thương mại điện tử,…), chữ ký số sử dụng nhằm đáp ứng yêu cầu chứng thực nguồn gốc tính tồn vẹn thơng tin Hiện chữ ký số ứng dụng rộng rãi lĩnh vực Chính phủ điện tử, Thương mại điện tử,… giới bước đầu triển khai Việt Nam Do đó, việc nghiên cứu ứng dụng mã hóa chữ ký số trao đổi văn dùng quan cấp nhà nước cấp cần thiết Từ khóa: Chữ ký số, ứng dụng chữ ký số văn Đặt vấn đề Với phát triển mạnh mẽ CNTT mạng Internet làm thay đổi hoạt động đời sống xã hội Trong đó, việc ứng dụng chữ ký số, chữ ký điện tử quan nhà nước nhu cầu cần thiết giao dịch môi trường mạng, nhằm phục vụ cơng tác cải cách hành chính, bước xây dựng quyền điện tử Bên cạnh đó, việc triển khai ứng dụng chữ ký số, chứng thực số có hiệu cịn đảm bảo an tồn tin cậy cho giao dịch điện tử phục vụ hoạt động đạo, điều hành, tác nghiệp quan nhà nước Chữ ký số thông tin kèm theo tài liệu để xác định người chủ tài liệu Hiện tại, chữ ký số khóa cơng khai kiểu RSA sử dụng rộng rãi Đây mơ hình sử dụng kỹ thuật mật mã để gắn với người sử dụng cặp khóa cơng khai - bí mật qua ký văn số trao đổi thơng tin mật Người sử dụng tự sinh u cầu tổ chức có uy tín nhà nước giao trách nhiệm cung cấp cặp khóa Quá trình sử dụng chữ ký số bao gồm giai đoạn, tạo chữ ký kiểm tra chữ ký Đế tạo chữ kí cho tài liệu, người sử dụng dùng hàm băm để trích rút đặc trưng ngắn gọn tài liệu Đặc trưng gọi tóm lược Sau đó, người sử dụng dùng khóa bí mật để mã hóa tóm lược gửi kèm theo tài liệu cho người nhận Để kiểm tra chữ ký số, bên nhận dùng khóa cơng khai người gửi để giải mã tóm lược mã hóa Sau đó, người nhận lại tự băm tài liệu đính kèm để lấy tóm lược so với tóm lược vừa giải mã Nếu hai bên nhận tin tưởng văn người sở hữu khóa cơng khai sinh ký vào Khoa học & Cơng nghệ - Số 13/Tháng - 2017 Tuy vậy, việc ứng dụng chữ kí số trao đổi văn dùng quan cấp tỉnh triển khai sử dụng phần mềm để trao đổi, nhiên phần mềm sử dụng chưa đơn giản thuận tiện cho người sử dụng Với lý trên, báo nghiên cứu phát triển ứng dụng mã hóa chữ kí số trao đổi văn có ý nghĩa quan trọng lý thuyết thực tiễn Đối tượng phương pháp nghiên cứu Đối tượng nghiên cứu: - Sử dụng hệ thống chữ ký số để chuyển giao dịch hành từ dạng cổ điển sang dạng điện tử - Nghiên cứu giải pháp xây dựng phát triển chữ ký số để sử dụng hoạt động hành cấp tỉnh Phương pháp nghiên cứu: - Xác định yêu cầu mật hóa xác thực thơng tin - Nghiên cứu mật hóa, khóa cơng khai, chữ ký số - Đề xuất giải pháp sử dụng chữ ký số quan hành - Phân tích thiết kế phần mềm thử nghiệm hệ thống chữ ký số quan cấp tỉnh - Phân tích tổng hợp mơ hình hóa thử nghiệm, thực nghiệm Các kết 3.1 Tạo khóa Nhiệm vụ tạo cặp khóa bí mật cơng khai cho người dùng từ hai số nguyên tố chọn trước Mỗi người sử dụng phải có cặp khóa: Khóa bí mật dùng để ký, để giải mã thông tin nhận khóa cơng khai tương ứng để người Journal of Science and Technology 57 ISSN 2354-0575 khác dùng xác minh chữ ký mã hóa văn gửi đến, khóa cơng khai thơng báo rộng rãi, khóa bí mật người sử dụng lưu giữ bí mật Q trình tạo khóa mơ Hình Hình Sơ đồ q trình tạo khóa bước thực Các bước thực sau: Bước 1: Chọn số nguyên tố p q đủ lớn Bước 2: Tạo cặp khóa cơng khai bí mật: - Đặt N = p * q n = (p-1)*(q-1) - Chọn số tự nhiên e cho < e < n nguyên tố với n tức GCD(e, n) = - Tìm số tự nhiên d thỏa mãn điều kiện < d < n e*d mod n = Nghĩa d nghịch đảo e theo modulo n Để tìm d sử dụng thuật tốn Euclid mở rộng - Xóa p, q n lấy khóa cơng khai (e, n) khóa bí mật (riêng) (d, n) Bước 3: Lưu khóa cơng khai với tên file Keypublic.txt khóa bí mật với tên file Keyprivate.txt Cơng bố khóa cơng khai giữ bí mật khóa riêng 3.2 Ký mã hóa tài liệu Để trao đổi văn số có chữ ký văn mật người có nhu cầu người phải có cặp khóa riêng Khi người muốn gửi cho văn quan trọng, địi hỏi phải ký xác nhận danh người gửi muốn giữ bí mật phải thực mã hóa file tài liệu cần gửi Người gửi thực ký mã hóa văn ký Quy trình ký mã hóa mơ Hình Quy trình tạo file chữ ký (DigitalSignature.txt), gồm chữ ký file tài liệu mã hóa Dữ liệu gốc Khóa bí mật người gửi Hàm băm Bản tóm lược Khóa cơng khai người nhận Mã hóa Chữ ký số Mã hóa Gắn chữ ký số vào file mã hóa File liệu ký mã hóa Gửi cho người nhận Hình Sơ đồ q trình ký mã hóa file liệu Các Bước thực sau: Bước 1: - Chọn khóa công khai người nhận 58 Khoa học & Công nghệ - Số 13/Tháng - 2017 - Chọn khóa bí mật người gửi - Chọn file tài liệu để mã hóa ký Bước 2: Dùng hàm SHA-1 băm file tài liệu Journal of Science and Technology ISSN 2354-0575 chọn để thu tóm lược Sử dụng thuật tốn RSA với khóa bí mật người gửi mã hóa tóm lược để có chữ ký số Bước 3: Mã hóa file tài liệu thuật tốn RSA với khóa cơng khai người nhận Bước 4: Gộp chữ ký số vào tin mã hóa Bước 5: Gửi file gộp cho người nhận Quy trình tạo chữ kí số mơ Hình 3.3 Giải mã xác thực chữ ký Nhiệm vụ modul kiểm tra tính đắn chữ ký số, đồng thời giải mã file liệu nhận để thu tin ban đầu Sau nhận file liệu có đính kèm chữ ký người gửi, người nhận phải giải mã file liệu để thu tin ban đầu xác thực chữ ký đính kèm có người gửi biết trước Quy trình xác thực chữ ký giải mã thể Hình Hình Quy trình tạo chữ ký số Hình Sơ đồ trình giải mã xác thực chữ ký Khoa học & Công nghệ - Số 13/Tháng - 2017 Journal of Science and Technology 59 ISSN 2354-0575 Các Bước thực sau: Bước 1: - Chọn khóa cơng khai người gửi - Chọn khóa bí mật người nhận - Chọn file cần giải mã xác thực chữ ký Bước 2: Bản tin điện tử có đính kèm chữ ký người gửi, sau nhận tách riêng phần chữ ký phần văn (đã mã hố) Bước 3: Dùng khóa cơng khai (public key) người gửi để giải mã chữ ký số thơng điệp, kết thu tóm lược (nếu không giải mã thông báo “không người gửi”) Bước 4: Người nhận dùng khố bí mật để giải mã phần văn mã hoá, kết thu ban tin điện tử ban đầu lưu dạng file txt (nếu không giải mã thông báo lỗi) Bước 5: Xác nhận chữ ký cách sau: Bước 5.1: Dùng giải thuật băm SHA-1 để mã hóa văn thu Bước 4, kết thu tin tóm lược thứ Bước 5.2: So sánh tin tóm lược thu Bước Bước 5.1, ta kết luận thông điệp người gửi (nếu không giống kết luận không người gửi) Quy trình thẩm định chữ kí số mơ Hình Hình Quy trình thẩm định chữ ký số 3.4 Giao diện số chức chương trình Màn hình giao diện chương trình Keyprivate.txt khóa bí mật, Keypublic.txt khóa cơng khai Người sử dụng cơng bố khóa cơng khai lưu giữ khóa bí mật vừa tạo Tạo chữ ký cho file tài liệu (Người gửi) Người gửi chọn khóa bí mật để thực ký chọn khóa cơng khai người nhận để thực mã hóa, sau chọn Kí tên, kết thu file liệu ký mã hóa Hình Giao diện chương trình Chọn số nguyên tố p q, người sử dụng chọn Khóa cơng khai Khóa bí mật để tạo khóa cơng khai khóa bí mật, đặt tên cho cặp khóa này, chương trình lưu trữ đường dẫn người dùng lựa chọn cộng với tên file mặc định 60 Hình Giao diện hình thực mã hóa ký Khoa học & Cơng nghệ - Số 13/Tháng - 2017 Journal of Science and Technology ISSN 2354-0575 Mở văn (Người nhận) Thực việc mở văn cách: file liệu ký mã hóa có tên DigitalSignature.txt thư mục người dùng chọn Kiểm tra (Giải khóa) Tiến hành giải mã xác thực chữ ký số Người sử dụng chọn khóa cơng khai người gửi để xác minh chữ ký chọn khóa bí mật để giải mã file liệu nhận được, chọn Kiểm tra, chọn file liệu cần giải mã xác minh chữ ký, chương trình thơng báo kết sau thực Hình Giao hình thực mở văn Hình Giao diện hình thực giải mã xác minh chữ ký Kết luận Bài báo đưa sơ đồ tạo khóa, tạo chữ ký, giải mã xác thực chữ ký bước thực phát triển ứng dụng ngôn ngữ Java Khoa học & Công nghệ - Số 13/Tháng - 2017 cài đặt hệ mã RSA việc xây dựng lược đồ chữ ký số cài đặt ứng dụng chữ ký số trao đổi văn có nhiều ưu điểm ứng dụng rộng rãi Journal of Science and Technology 61 ISSN 2354-0575 Tài liệu tham khảo [1] Phan Đình Diệu (202), Lý thuyết mật mã an tồn thơng tin, NXB Đại học Quốc gia Hà Nội [2] Phạm Huy Điển, Hà Huy Khối (2004), Mã hố thơng tin – sở toán học ứng dụng, NXB Đại học Quốc gia Hà Nội [3] Bùi Dỗn Khanh, Nguyễn Đình Thúc (2004), Mã hóa thơng tin Lý thuyết ứng dụng, NXB Lao động [4] Bùi Thế Hồng (2016), Bảo mật máy tính mạng, Bộ mơn Mạng Truyền thơng, Khoa CNTT, ĐH SP KT HY [5] R Rivest, A, sharmir, L Adleman (1978), A Method for Obtaining Digital Signatres and Publickey Cryptosystems, Communication of theo ACM 21, pp 120 – 126 [6] E Biham, A Shamir (1993), Differential Cryptanalysis of the Data Encryption Standard, Springer- Verlag [7] Daniel Genkin, Yuval Ishai, Manoj Prabhakaran, Amit Sahai, and Eran Tromer (2015) Circuits Resilient to Additive Attacks with Applications to Securecomputation IACR Cryptology ePrint Archive, 2015, pp 154 THE APPLICATION OF CODING AND DIGITAL SIGNATURES IN EXCHANGE OF DOCUMENTS Abstract: In the electronic trading (e-Government, e-Commerce, ), digital signatures are used to meet the request for authentication of the origin and integrity of information Currently, digital signatures have been widely applied in the fields of e-Government, e-Commerce, in the world as well as had initially been implemented in Vietnam Therefore, the research of application of encryption and digital signatures used in the exchange of documents in the provincial authorities is much needed Keywords: Digital signature, digital signature applications 62 Khoa học & Công nghệ - Số 13/Tháng - 2017 Journal of Science and Technology ... (DigitalSignature.txt), gồm chữ ký file tài liệu mã hóa Dữ liệu gốc Khóa bí mật người gửi Hàm băm Bản tóm lược Khóa cơng khai người nhận Mã hóa Chữ ký số Mã hóa Gắn chữ ký số vào file mã hóa File liệu ký mã hóa Gửi... xác thực chữ ký bước thực phát triển ứng dụng ngôn ngữ Java Khoa học & Công nghệ - Số 13/Tháng - 2017 cài đặt hệ mã RSA việc xây dựng lược đồ chữ ký số cài đặt ứng dụng chữ ký số trao đổi văn có... lược Sử dụng thuật tốn RSA với khóa bí mật người gửi mã hóa tóm lược để có chữ ký số Bước 3: Mã hóa file tài liệu thuật tốn RSA với khóa cơng khai người nhận Bước 4: Gộp chữ ký số vào tin mã hóa