Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)

73 826 0
Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)

Đ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

Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)Một số thuật toán chữ ký số và ứng dụng trong bảo mật tài liệu điện tử (LV thạc sĩ)

MỤC LỤC MỞ ĐẦU CHƯƠNG I: BẢO MẬT THÔNG TIN VÀ CHỮ KÝ SỐ 11 1.1 Bảo mật thông tin 11 1.1.1 Vấn đề an toàn thông tin 11 1.1.2 Mã hóa tài liệu .12 1.1.3 Chữ ký số .15 1.2 Phân loại lược đồ chữ ký số 19 1.2.1 Lược đồ chữ ký kèm thông điệp 19 1.2.2 Lược đồ chữ ký khôi phục thông điệp 21 1.3 Một số lược đồ chữ ký số 22 1.3.1 Lược đồ chữ ký RSA (Rivest, Shamir, Adleman) .22 1.3.2 Lược đồ chữ ký Elgamal 25 1.4 Các phương pháp công chữ ký điện tử 28 1.5 Tính pháp lý ứng dụng chữ ký số 29 1.5.1 Trong nước 29 1.5.2 Ở số nước giới 31 1.5.3 Ứng dụng thực tế 32 1.6 Kết luận chương 32 CHƯƠNG II THUẬT TOÁN CHỮ KÝ SỐ 34 2.1 Hàm băm thuật toán chữ ký số 34 2.1.1 Hàm băm (Hash) 34 2.1.2 Thuật toán băm SHA 35 2.1.3 Mối quan hệ hàm băm thuật toán ký số 38 2.2 Thuật toán chữ ký số chuẩn DSA .40 2.2.1 Tóm tắt lược đồ chữ ký DSA/DSS 41 2.2.2 Thuật toán 42 2.2.3 Đặc trưng DSS 43 2.3 Thuật toán chữ ký số đường cong Elliptic ECDSA 44 2.3.1 Lý thuyết đường cong Elliptic .45 Các phép toán đường cong Elliptic 46 2.3.2 Đƣờng cong eliptic trường hữu hạn 49 2.3.3 Miền tham số ECDSA 54 2.3.4 Cặp khóa ECDSA 61 2.3.5 Sinh xác nhận chữ ký ECDSA 63 2.4 Tính bảo mật chữ ký số ECDSA 65 2.4.1 Mật mã đƣờng cong Elliptic .65 2.4.2 Vấn đề chữ ký số đƣờng cong Elliptic 66 2.5 Kết luận chƣơng 67 CHƯƠNG III ỨNG DỤNG CHỮ KÝ SỐ TRONG BẢO MẬT TÀI LIỆU ĐIỆN TỬ .69 3.1 Ý tƣởng chương trình ứng dụng 69 3.1.1 Lĩnh vực ứng dụng chương trình 69 3.1.2 Ý tưởng xây dựng chương trình 69 3.2 Xây dựng chương trình 69 3.2.1 Chữ ký số ECDSA 69 3.2.2 Thông số thuật toán 70 3.2.3 Giao diện chƣơng trình .71 3.3 Kết luận chương 72 Kết luận hướng phát triển 73 Kết đạt luận văn 73 Hƣớng phát triển 73 TÀI LIỆU THAM KHẢO .74 DANH MỤC CÁC KÝ HIỆU VÀ CÁC TỪ VIẾT TẮT DSA Digital Signature Algorithm ECC Elliptic Curve Cryptograpthy ECDLP Elliptic Curve Discrete Logarithm Problem ECDSA Elliptic Curve Digital Signature Algorithm RSA Rivesr, Shamir, Adleman TCP/IP Transfer Control Protocol/Internet Protocol DES Data Encryption Standard IDEA Internation Data Encryption Algorithm AES Advance Encryption Standard P Plaintext C Ciphertext K Key E Encrytion D Decrytion DSS Digital Signature Standart SHA Security Hash Algorithm MD Message Digest FIPS Federal Information Processing Standard NIST the National Institute of Standards and Technology ISO International Organization for Standardization IEEE Institute of Electrical and Elactronic Engineers ANSI American National Standard Institute VNPT Tập đoàn Bƣu viễn thông Việt Nam DANH MỤC CÁC HÌNH Hình 1.1 Hệ mã hóa khóa bí mật 13 Hình 1.2 Hệ mã hóa khóa công khai 14 Hình 1.3 Phân loại lược đồ chữ ký số 19 Hình 1.4 Mô hình lược đồ chữ ký kèm thông điệp 21 Hình 1.5 Mô hình Lược đồ chữ ký khôi phục thông điệp 22 Hình 1.6 Sơ đồ biểu diễn thuật toán mã hóa 24 Hình 2.1 Xử lý thông tin SHA-1 37 Hình 2.2 Hệ sinh chữ ký điện tử có sử dụng hàm băm 38 Hình 2.3 Hàm băm kiểm tra tính toàn vẹn liệu .39 Hình 2.4 Sơ đồ chữ ký DSA/DSS 41 Hình 2.5 Đường cong Elliptic y2 = x3 - 3x + .45 Hình 2.6 Phép cộng đường cong Elliptic 47 Hình 2.7 Phép nhân đôi đường cong Elliptic 48 Hình 2.8 Đặc tả hình học phép cộng hai điểm riêng biệt đường cong elliptic: P + Q = R 50 Hình 2.9 Mô tả hình học phép nhân đôi điểm đường cong elliptic: P + P = R 51 Hình 3.1 Tạo khóa ngẫu nhiên 71 Hình 3.2 Thực ký lên tài liệu/văn 71 Hình 3.3 Kiểm tra toàn vẹn tài liệu/văn .72 MỞ ĐẦU Đặt vấn đề Hiện nay, giao dịch điện tử ngày trở nên phổ biến, việc bảo mật, bảo đảm an toàn thông tin liệu trở thành vấn đề thời sự, chủ đề rộng có liên quan đến nhiều lĩnh vực thực tế có nhiều phƣơng pháp đƣợc thực để đảm bảo an toàn thông tin liệu Ngày nay, với phát triển nhanh chóng hệ thống thông tin mạng nguy xâm nhập vào hệ thống thông tin, mạng liệu ngày gia tăng Vấn đề bảo mật đƣợc nhiều ngƣời tập trung nghiên cứu, tìm giải pháp để đảm bảo an toàn, an ninh cho hệ thống phần mềm, đặc biệt hệ thống thông tin mạng Sự phát triển mạnh mẽ Internet chất việc đáp ứng lại gia tăng không ngừng nhu cầu giao dịch trực tuyến hệ thống mạng toàn cầu Các giao dịch trực tuyến Internet phát triển từ hình thức sơ khai nhƣ trao đổi thông tin (email, message, …), quảng bá (publicshing) đến giao dịch phức tạp thể qua hệ thống phủ điện tử, thƣơng mại điện tử ngày phát triển mạnh mẽ toàn cầu Tuy nhiên, vấn đề an toàn thông tin lại đƣợc nảy sinh từ Internet có kỹ thuật cho phép ngƣời truy cập, khai thác chia sẻ thông tin với Nhƣng nguy dẫn đến thông tin bị hƣ hỏng hay bị phá hủy hoàn toàn Để vừa đảm bảo tính bảo mật thông tin lại không làm giảm phát triển việc trao đổi thông tin quảng bá toàn cầu phải có giải pháp phù hợp Hiện có nhiều giải pháp cho vấn đề an toàn thông tin mạng nhƣ mã hóa thông tin, chữ ký điện tử, chứng điện tử (chứng khóa công khai) , … Giải pháp chữ ký số giải pháp an toàn hiệu Chữ ký số đƣợc sử dụng để bảo đảm tính bảo mật, tính toàn vẹn, tính chống chối bỏ thông tin giao dịch mạng Internet Chữ ký số tương đương với chữ ký tay nên có giá trị sử dụng ứng dụng giao dịch điện tử với máy tính mạng Internet cần tính pháp lý cao Đồng thời, phƣơng tiện điện tử đƣợc pháp luật thừa nhận tính pháp lý Bên cạnh đó, chữ ký số công nghệ mã hóa xác thực mạnh, thể giúp bảo đảm an toàn, bảo mật cao cho giao dịch trực tuyến, giao dịch chứa thông tin liên quan đến tài Ứng dụng chữ ký số đem lại cho doanh nghiệp, tổ chức nhiều lợi ích nhƣ: Tiết kiệm chi phí giấy tờ, thời gian luân chuyển hoạt động quản lý công văn, giấy tờ, thƣ điện tử; Giúp đẩy nhanh giao dịch qua mạng đảm bảo độ an toàn bảo mật thông tin, … Nhận thấy thiết thực chữ ký số tài liệu, văn điện tử, giao dịch qua mạng, … đƣợc gợi ý giáo viên hƣớng dẫn, em chọn đề tài “Ứng dụng chữ ký số ứng dụng bảo mật tài liệu điện tử” làm đề tài cho luận văn thạc sỹ Luận văn tập trung vào nghiên cứu hai thuật toán thuật toán chữ ký số chuẩn DSA, thuật toán chữ ký số đƣờng cong Eliptic Đây hai thuật toán mà luận văn gần trƣớc chƣa đề cập đến nghiên cứu thuật toán tạo chữ ký số Đối tƣợng phạm vi nghiên cứu *Đối tượng nghiên cứu: + Tìm hiểu giải pháp mã hóa để bảo mật thông tin + Nghiên cứu phƣơng pháp, kỹ thuật tạo chữ ký số tài liệu, văn điện tử *Phạm vi nghiên cứu: Luận văn tập trung nghiên cứu kiến thức có liên quan, sở lý thuyết: số giải pháp mã hóa phƣơng pháp, kỹ thuật tạo chữ ký số để ứng dụng bảo mật tài liệu Hướng nghiên cứu đề tài Tập trung nghiên cứu hai vấn đề chính: - Trình bày làm rõ ý tƣởng hệ mật mã khóa thông dụng, việc ứng dụng hệ mật mã khóa kỹ thuật tạo chữ ký số việc bảo mật, an toàn thông tin - Nghiên cứu phƣơng pháp, kỹ thuật tạo chữ ký số ứng dụng chữ ký số thƣơng mại điện tử Những nội dung nghiên cứu + Nghiên cứu giải pháp mã hóa để bảo mật thông tin + Nghiên cứu phƣơng pháp, kỹ thuật tạo chữ ký số tài liệu, văn điện tử Trong tập trung nghiên thuật toán chữ ký số chuẩn DSA, thuật toán chữ ký số đƣờng cong Eliptic + Nghiên cứu ngôn ngữ lập trình để viết ứng dụng nhỏ chữ ký số Tổng quan luận văn Luận văn đƣợc trình bày theo hình thức từ xuống Bắt đầu phần đƣa khái niệm quy định cho phần trình bày tiếp sau nhằm mục đích giúp dễ dàng đọc, sâu vào để thảo luận rõ vấn đề liên quan, bao gồm việc bảo vệ an toàn thông tin liệu dùng mật mã, mật mã khóa công khai chữ ký số DSA, ECDSA Luận văn đƣợc trình bày chƣơng phần kết luận Chương 1: Bảo mật thông tin chữ ký số Vấn đề bảo mật thông tin, mã hóa tài liệu, khái niệm chữ ký số; phân loại lƣợc đồ chữ ký số; nghiên cứu số lƣợc đồ chữ ký số bản: RSA, DSA, ElGama; phƣơng pháp công chữ ký điện tử; tính pháp lý chữ ký số Chương 2: Thuật toán chữ ký số Nghiên cứu hàm băm, mối quan hệ hàm băm thuật toán chữ ký số; thuật toán chữ ký số chuẩn DSA, thuật toán chữ ký số đƣờng cong Eliptic ECDSA tính bảo mật chúng Chương 3: Ứng dụng chữ ký số bảo mật tài liệu điện tử Chƣơng đề cập đến việc xây dựng cài đặt ứng dụng chữ ký số chức chƣơng trình từ đƣa kết thực chƣơng trình demo Kết luận hướng phát triển Tóm tắt kết đạt đƣợc đồng thời nêu hạn chế luận văn hƣớng phát triển đƣợc theo hƣớng nghiên cứu luận văn tƣơng lai CHƢƠNG I: BẢO MẬT THÔNG TIN VÀ CHỮ KÝ SỐ 1.1 Bảo mật thông tin 1.1.1 Vấn đề an toàn thông tin Ngày nay, với phát triển mạnh mẽ công nghệ thông tin việc ứng dụng công nghệ mạng máy tính trở nên vô phổ cập cần thiết Công nghệ mạng máy tính mang lại lợi ích to lớn cho ngƣời Sự xuất mạng Internet cho phép ngƣời truy cập, chia sẻ khai thác thông tin cách dễ dàng hiệu Sự phát triển mạnh mẽ Internet xét mặt chất việc đáp ứng lại gia tăng không ngừng nhu cầu giao dịch trực tuyến hệ thốngmạng toàn cầu Các giao dịch trực tuyến Internet phát triển từ hình thức sơ khai nhƣ trao đổi thông tin (email, messenger, …), quảng bá (publicshing) đến giao dịch phức tạp thể qua hệ thống phủ điện tử, thƣơng mại điện tử ngày cá phát triển mạnh mẽ toàn cầu Tuy nhiên vấn đề an toàn thông tin lại đƣợc nảy sinh Internet đời Internet có kỹ thuật cho phép ngƣời truy cập, khai thác chia sẻ thông tin với Nhƣng nguy dẫn đến thông tin bị hƣ hỏng hay bị phá hủy hoàn toàn Nguyên nhân việc truyền thông tin qua mạng Internet chủ yếu sử dụng giao thức TCP/IP TCP/IP cho phép thông tin đƣợc từ máy tính tới máy tính khác phải qua loạt máy tính trung gian mạng riêng biệt trƣớc tới đƣợc đích Chính vậy, giao thức TCP/IP tạo hội cho bên thứ ba thực hành động gây an toàn thông tin giao dịch Việc bảo vệ an toàn thông tin (dữ liệu) gồm có: chuyển Bảo mật: Bảo đảm tính bí mật cho tài liệu cố định hay di - Bảo toàn: Bảo đảm tính toàn vẹn liệu, bảo đảm tài liệu không bị thay đổi nhớ hay đƣờng truyền tin - Xác thực: Xác thực nguồn gốc tài liệu, nhận dạng nguồn gốc thông tin, cung cấp bảo đảm thông tin thực - Tính sẵn sàng: thông tin sẵn sàng cho thực thể đƣợc phép sử dụng Để vừa đảm bảo tính bảo mật thông tin lại không làm giảm phát triển việc trao đổi thông tin quảng bá toàn cầu phải có giải pháp phù hợp Hiện có nhiều giải pháp cho vấn đề an toàn thông tin mạng nhƣ mã hóa thông tin, chữ ký điện tử, chứng điện tử (chứng khóa công khai), … [1], [9] 1.1.2 Mã hóa tài liệu 1.1.2.1 Hệ mã hóa Hệ mã hóa gồm thành phần (P, C, K, E, D) thoả mãn tính chất sau: P (Plaintext) tập hợp hữu hạn rõ có thể, đƣợc gọi không gian rõ C (Ciphertext) tập hợp hữu hạn mã có thể, đƣợc gọi không gian mã Mỗi phần tử C nhận đƣợc cách áp dụng phép mã hoá Ek lên phần tử P, với k ∈ K K (Key) tập hợp khóa gọi không gian khóa (Khóa lập mã hay khóa giải mã) E (Encrytion) tập hợp qui tắc mã hóa D (Decrytion) tập hợp qui tắc giải mã Một thông tin thƣờng dạng rõ Ngƣời gửi thực mã hóa rõ khóa lập mã Ke, kết thu đƣợc gọi mã Ngƣời nhận đƣợc mã, họ giải mã khóa giải mã Kd, để thu đƣợc rõ EKe( P) = C DKd( C ) = P Có số cách phân loại mã hóa Nếu phân loại mã hóa theo đặc trƣng khóa lập mã khóa giải mã, có hai loại mã hóa: Mã hóa khóa đối xứng (Mã hóa khóa bí mật) mã hóa khóa phi đối xứng (Mã hóa khóa công khai) Xác nhận a b xác định đƣờng cong elliptic (VD: 4a2 + 27 # (mod p) if q = p; b # q = 2m) Xác nhận G nằm đƣờng cong ellip a b (VD, yG2 = xG3 + axG + b trƣờng hợp q = p, yG2 + xGyG = xG3 + axG2 + b trƣờng hợp q = 2m) Xác minh n số nguyên tố Xác minh n > 2160 n > 4√q 10 Xác minh nG = O 11 Tính h’= [(√q + 1)2/n] xác minh h = h’ 12 Xác minh n không chia qk - cho k, 1≤ k ≤ 20 13 Xác minh n # q 14 Nếu nhận thấy sai sót nào, D không phù hợp, không D phù hợp 2.3.4 Cặp khóa ECDSA Một cặp khóa ECDSA liên kết với tập hợp tham số miền EC Khóa công khai nhiều lựa chọn ngẫu nhiên điểm sở, khóa riêng số nguyên lựa chọn ngẫu nhiên 2.3.4.1 Sinh cặp khóa Một cặp khoá thực thể A liên quan với tập hợp tham số miền EC, D = (q, FR, a, b, G, n, h) Liên kết đƣợc đảm bảo mật mã (chứng nhận) nội dung (tất thực thể sử dụng tham số miền) Mỗi thực thể A phải đảm bảo cho tham số miền giá trị trƣớc sinh khóa Sinh cặp khóa ECDSA Mỗi thực thể đƣợc làm nhƣ sau: Chọn ngẫu nhiên giả ngẫu nhiên số nguyên d ∈ [1, n-1] Tính Q = dG A Có khóa công khai Q; A có khóa riêng d 2.3.4.2 Xác nhận khóa công khai Xác nhận khóa công khai, đƣợc đề xuất lần Johnson, đảm bảo khóa công khai có tính chất số học cần thiết Thực nghiệm thành công cho thấy khóa riêng có liên quan tồn cách hợp lý, không chứng minh thực có khóa riêng chủ sở hữu tuyên bố thực sở hữu khóa riêng Lý để thực xác nhận khóa công khai quan trọng thực tế bao gồm: (i) Phòng ngừa chèn mã độc hại khóa công khai không hợp lệ mà cho phép số công (ii)Phát mã hóa lỗi vô ý truyền Sử dụng khóa công khai không hợp lệ hủy bỏ tất tài sản bảo đảm dự kiến * Phương thức sinh khóa công khai: Bảo đảm khóa công khai Q hợp lệ đƣợc cung cấp cho thực thể A cách sử dụng phƣơng pháp sau đây: Một thực khóa công khai A xác nhận rõ ràng cách sử dụng thuật toán 2.6 (trình bày dƣới đây) A tạo Q sử dụng hệ thống đáng tin cậy A nhận đƣợc bảo đảm từ bên đáng tin cậy T (một chứng thực chữ ký số) T biểu diễn tƣờng minh việc xác nhận khóa công khai A sử dụng thuật toán 2.6 A nhận đƣợc bảo đảm từ bên đáng tin cậy T mà Q đƣợc tạo sử dụng hệ thống Thuật toán 2.6: Xác nhận tƣờng minh khóa công khai ECDSA INPUT: Một khóa công khai Q =(xQ, yQ ) liên kết với tham số miền giá trị (q, FR, a, b ,G, m, h) OUTPUT: Chấp nhận từ chối giá trị Q Đầu tiên kiểm tra Q ≠ O Kiểm tra xQ yQ đại diện cho phần tử (các số nguyên khoảng [0, p-1] lựa chọn q = p sâu bit có độ dài m bit lựa chọn q = 2m) Kiểm tra Q có nằm đƣờng cong elliptic điểm a b Kiểm tra nQ = O Nếu kiểm tra lỗi, Q không hợp lệ, không Q có giá trị 2.3.5 Sinh xác nhận chữ ký ECDSA 2.3.5.1 Sinh chữ ký ECDSA Để ký hiệu thông điệp m, thực thể A với vùng tham số D = (q, FR, a, b, G, n, h) cặp khóa liên kết (d, Q) ta tính nhƣ sau: Chọn ngẫu nhiên giả ngẫu nhiên số nguyên k, Tính kG = (x1,y1) chuyển đổi x1 từ số nguyên thành Tính r = x1 mod n Nếu r = quay lại bƣớc Tính k-1 mod n Tính SHA-1(m) chuyển đổi chuỗi bit sang số nguyên e Tính s = k-1(e + dr) mod n Nếu s = quay lại bƣớc Chữ ký thông điệp m (r,s) ̅ ̅ 2.3.5.2 Xác nhận chữ ký ECDSA Để xác minh chữ ký A (r,s) m B có đƣợc xác thực A vùng tham số D = (q, FR, a, b, G, n, h) liên kết khóa công khai Q Đó khuyến cáo B có xác nhận giá trị D Q B đƣợc thực nhƣ sau: Xác minh r s số nguyên khoảng [1, n-1] Tính SHA-1(m) chuyển đổi chuỗi bit sang số nguyên e Tính w =s -1 mod n Tính u1 = ew mod n u2 = rw mod n Tính X = u1G + u2Q Nếu X = , từ chối chữ ký Ngƣợc lại, chuyển đổi x – ngang x1 X từ số nguyên ̅ ̅ ̅, tính v Thừa nhận chữ ký v = r * Bằng chứng xác thực làm việc chữ ký số Nếu mốt chữ ký a (r, s) thông điệp m đƣợc tạo A, s = k-1(e + dr) mod n, đƣợc xếp cho: Nhƣ vậy, u1G + u2Q = (u1 + u2d)G = kG nhƣ v = r cần thiết * Chuyển đổi loại liệu ANSI X9.62 xác định phƣơng pháp để chuyển đổi trƣờng phần tử phải số nguyên Nó sử dụng để chuyển đổi trƣờng phần tử x1 từ số nguyên bƣớc phần tạo chữ ký bƣớc phần xác nhận chữ ký trƣớc tính toán x1 mod n ANSI X9.62 xác định phƣơng thức chuyển đổi chuỗi bit sang số nguyên Nó sử dụng chuyển đổi đầu e SHA-1 sang số nguyên trƣớc sử dụng tính toán modulo bƣớc phần tạo chữ ký bƣớc phần xác nhận chữ ký * Chứng nhận khóa công khai Trƣớc xác minh chữ ký A thông điệp, B cần có đƣợc A vùng tham số D liên quan đến khóa công khai Q ANSI X9.62 không thị chế để đạt đƣợc điều Trong thực tế, xác thực khóa công khai thƣờng đƣợc phân phối thông qua giấy chứng nhận Chứng nhận khóa công khai bao gồm chuỗi thông tin xác định A, miền tham số D, khóa công khai Q quan xác nhận chữ ký (CA) thông tin B sử dụng xác thực khóa công khai CA để xác minh A đƣợc xác nhận, có đƣợc xác thực khóa công khai tĩnh A * Cơ sở cho kiểm tra r s xác minh chữ ký Bƣớc việc kiểm tra xác nhận chữ ký r s phải số nguyên khoảng [1, n-1] Sau hợp lý công ECDSA kiểm tra r ≠ (và nói chung, thực hiện) Giả sử A sử dụng đƣờng cong elliptic bậc ( ), b dƣ bậc hai modulo p giả sử A sử dụng điểm sở √ ) số nguyên tố bậc n (Đó hợp lý mà tất thực thể lựa chọn điểm sở tọa độ x để giảm thiểu bậc kích thƣớc thông số miền) Một nhƣợc điểm giả mạo chữ ký A thông điệp m lựa chọn tính toán A = SHA-1(m) Nó dễ dàng kiểm tra tất (r = 0, s = e) chữ ký hợp lệ từ m 2.4 Tính bảo mật chữ ký số ECDSA 2.4.1 Mật mã đƣờng cong Elliptic Sau lần đầu mật mã đƣờng cong elliptic (ECC – Elliptic Curve Cryptograpthy) đƣợc giới thiệu năm 1991 công trình nghiên cứu độc lập Neals Koblitz Victor Miller, đƣờng cong Elliptic đóng vai trò quan trọng lý thuyết số mật mã vài thập k gần Độ an toàn ECC dựa vào toán logarit rời rạc nhóm điểm đƣờng cong Elliptic (ECDLP) Đối với toán logarit rời rạc trƣờng hữu hạn toán phân tích số, tồn thuật toán dƣới dạng dạng hàm mũ để giải toán (tính số sàng trƣờng số) Tuy nhiên, toán ECDLP chƣa tìm đƣợc thuật toán dƣới hàm mũ để giải Nhà toán học tiếng J Silverman nhƣ nhiều nhà thám mã khác nghiên cứu thuật toán tƣơng tự, nhƣ thuật toán tính số để áp dụng cho ECDLP nhƣng không thành công Điều tạo ƣu việt hệ mật ECC so với hệ mật khóa công khai khác Mật mã ECC cung cấp tính an toàn tƣơng đƣơng với hệ mật khóa công khai truyền thống, độ dài khóa nhỏ nhiều lần ECC khả bảo mật cao với kích thƣớc khóa nhỏ dựa vào mức độ khó giải vấn đề ECDLP Đây tính chất hữu ích xu hƣớng ngày tìm phƣơng pháp tăng độ bảo mật mã hóa khóa công cộng với kích thƣớc khóa đƣợc rút gọn Kích thƣớc khóa nhỏ giúp thu gọn đƣợc kích thƣớc chứng nhận giao dịch mạng giảm kích thƣớc tham số củahệ thống mã hóa Kích thƣớc khóa nhỏ giúp hệ thống bảo mật dựa ECC giảm thời gian tạo khóa Thời gian tạo khóa thƣờng lớn hệ thống RSA Ngoài ra, việc mã hóa giải mã ECC đƣợc thực nhanh Ngƣời ta ƣớc lƣợng cỡ khóa 3248 bit hệ mật RSA cho độ an toàn nhƣ 256 bit hệ mật ECC Điều có nghĩa việc cài đặt ECC sử dụng tài nguyên hệ thống hơn, lƣợng tiêu thụ nhỏ Với ƣu độ dài khóa nhỏ, ECC đƣợc ứng dụng rộng rãi nhiều lĩnh vực 2.4.2 Vấn đề chữ ký số đƣờng cong Elliptic Độ an toàn sơ đồ chữ ký ECDSA tƣơng ứng với độ phức tạp toán logarit rời rạc đƣờng cong elliptic: cho trƣớc hai điểm Q G nằm đƣờng cong elliptic E, tìm số tự nhiên d cho Q = dG Cho đến sơ đồ chữ ký ECDSA đƣợc an toàn hiệu Đối với toán logarit rời rạc đƣờng cong elliptic có nhiều thuật toán giải Ngƣời ta phân tích với độ an toàn, hệ mã hoá dựa toán logarit rời rạc đƣờng cong elliptic có độ dài khoá ngắn nhiều so với hệ mã hoá dựa toán phân tích số nguyên thành thừa số nguyên tố (nhƣ RSA) Ví dụ với hệ mã hoá RSA có chiều dài khoá 3248 bit hệ mật đƣờng cong elliptic cần độ dài khoá 256 bit có độ an toàn tƣơng đƣơng Thuật toán giải toán logarit rời rạc đƣờng cong elliptic tốt tính đến trƣớc năm 2006 thuật toán Pollard’s Rho, phiên thiết kế theo hƣớng tính toán song song Đến năm 2006, Jung Hee Cheon đƣa công hiệu hẳn thuật toán Pollard sử dụng giả thuyết DiffieHellman mạnh Tấn công áp dụng lƣợc đồ mật mã mà tạo tiên đoán trả lũy thừa khóa bí mật với đầu vào (ví dụ nhƣ lƣợc đồ chữ ký số mù sử dụng an toàn giao dịch điện tử) Đến năm 2009, công đƣợc xem xét đƣa vào chuẩn ISO FIPS Các chuẩn khác nhƣ ANSI SECG không đƣợc cập nhật công Ngay chuẩn ISO FIPS, điều kiện đƣa tiêu chuẩn chống công có điểm khác Năm 2012, sử dụng giả thuyết Diffi-Hellman, Masaya Yasuda cộng đƣa chứng phá vỡ mật mã elliptic dựa cặp (pairing-based cryptography) với độ dài khóa 160 bit (độ dài khóa 131 bit chƣa giải đƣợc theo công bố công khai, 160 bit độ an toàn mà hầu hết chuẩn giới đƣa Do đó, để ứng dụng triển khai chữ ký số đƣờng cong Elliptic, phải thƣờng xuyên cập nhật nghiên cứu phân tích đánh giá tiêu chuẩn an toàn, công hệ mật để có đủ sở lý thuyết, sở toán học vững chắc, đƣa tiêu chuẩn an toàn riêng cho tham số 2.5 Kết luận chƣơng ECDSA đơn giản thu đƣợc từ DSA cách thay phân nhóm theo thứ tự (bậc) q sinh bới q với phân nhóm điểm đƣờng cong elliptic đƣợc sinh G Sự khác biệt đáng kể ECDSA DSA đƣợc sinh r DSA thực điều cách tham gia phần tử ngẫu nhiên việc giảm modulo q, đạt đƣợc số nguyên khoảng [1, q-1] ECDSA tạo r khoảng [1, n-1] thực điều tọa độ x lựa chọn ngẫy nhiêu điểm kG việc giảm modulo n Các hệ mã hoá đƣờng cong elliptic đƣợc phát minh năm 1985 Neal Kobliz Victor Miller Tuy nhiên sơ đồ chữ ký ECDSA Scott Vanstone đƣa năm 1992, đƣợc chấp nhận chuẩn ISO vào năm 1998, chuẩn ANSI vào năm 1999, chuẩn IEEE vào năm 2000 Độ an toàn sơ đồ ký ECDSA dựa toán logarit rời rạc đƣờng cong elliptic Cho đến độ an toàn hệ mã hoá đƣờng cong elliptic đƣợc an toàn hiệu Đối với toán logarit rời rạc đƣờng cong elliptic có nhiều thuật toán giải Tuy nhiên chƣa có thuật toán có độ phức tạp tính toán thời gian đa thức Thuật toán giải toán logarit rời rạc đƣờng cong elliptic tốt thuật toán Pollard’s Rho, phiên thiết kế theo hƣớng tính toán song song Theo với nhóm đƣờng cong elliptic cấp n có r máy tính tính toán phải √ /2.r phép toán Mặt khác ngƣời ta phân tích với hệ mã hoá dựa toán logarit rời rạc đƣờng cong elliptic có độ bảo mật với hệ mã hoá dựa toán phân tích số nguyên thành thừa số nguyên tố (nhƣ RSA) độ dài khoá hệ mã hoá dựa đƣờng cong elliptic có chiều dài khoá ngắn nhiều Chẳng hạn với hệ mã hoá RSA có chiều dài khoá 1024 bit hệ mã hoá đƣờng cong elliptic cần độ dài khoá 163 bit có độ bảo mật tƣơng đƣơng Và việc tính toán tiến trình hệ mã hoá đƣờng cong elliptic nhanh nhiều CHƢƠNG III ỨNG DỤNG CHỮ KÝ SỐ TRONG BẢO MẬT TÀI LIỆU ĐIỆN TỬ 3.1 Ý tƣởng chƣơng trình ứng dụng 3.1.1 Lĩnh vực ứng dụng chƣơng trình Chƣơng trình ứng dụng hoạt động trao đổi tài liệu, văn thông qua hình thức điện tử, đảm bảo tính an toàn toàn vẹn liệu trao đổi thông tin tài liệu điện tử Chƣơng trình đáp ứng nhu cầu đảm bảo tính kịp thời, toàn vẹn liệu hoạt động giao dịch điện tử trƣớc phát triển mạnh mẽ Internet gia tăng không ngừng giao dịch điện tử 3.1.2 Ý tƣởng xây dựng chƣơng trình Xây dựng giao diện ngƣời dùng để ngƣời dùng sử dụng chữ ký số cách thuận tiện Ngƣời gửi dùng phần mềm để chọn văn cần ký, bấm vào nút ký để ký (sử dụng khóa bí mật chƣơng trình sinh ra) Sau gửi văn ký với khóa công khai Ngƣời nhận nhận đƣợc văn dùng phần mềm để kiểm tra chữ ký có có ngƣời gửi không, văn có toàn vẹn hay không 3.2 Xây dựng chƣơng trình 3.2.1 Chữ ký số ECDSA Để thiết lập sơ đồ chữ ký ECDSA (Elliptic Curve Digital Signature Algorithm) cần xác định tham số: - Lựa chọn đƣờng cong Elliptic trƣờng số Fq với O điểm vô - Điểm sở G thuộc E(Fq)và n bậc G (nG = O) Tạo khóa - Chọn số ngẫu nhiên d ∈ [2, n – 1] làm khóa bí mật - Tính Q(xq, yq) = dG làm khóa công khai Thuật toán ký - Chọn số ngẫu nhiên k, ≤ k ≤ n – - Tính kG = (x1, y1) - Tính r = x1 mod n, r = quay lại bƣớc - Tính k – mod n - Tính s = k – (m + dr) mod n Nếu s = quay lại bƣớc - Chữ ký thông điệp m (r, s) Thuật toán kiểm tra - Kiểm tra r s có số tự nhiên ∈[2, n – 1] không - Tính w = s – mod n - Tính u1 = mw mod n u2 = rw mod n - Tính X = u1G + u2Q = (xX, yX) - Nếu X = phủ nhận chữ ký Ngƣợc lại tính v = xX mod n - Chữ ký đƣợc chấp nhận v = r * Quá trình kiểm tra chữ ký thực Nếu chữ ký (r, s) m s = [k-1 (m + dr)] mod n k ≡ s-1 (m + dr) ≡ s-1m + s-1dr ≡ wm + wdr ≡ u1 + u2d (mod n) Vì vậy, u1G + u2Q = (u1 + u2d)G = kG v = r 3.2.2 Thông số thuật toán Chƣơng trình sử dụng EC đƣợc kiểm chứng độ bảo mật an toàn trình sử dụng Đó EC : có thông số nhƣ sau: P = 6277101735386680763835789423207666416083908700390324961279 a = -3 b = 0x64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1 Gx = 0x 188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012 Gy = 0x 07192B95FFC8DA78631011ED6B24CDD573F977A11E794811 N = 6277101735386680763835789423176059013767194773182842284081 Các thuật toán sinh cặp khóa, sinh xác nhận chữ ký trình bày chƣơng II Thuật toán hàm băm SHA-1 tạo tóm tắt cho văn gửi Ngƣời nhận dùng hàm băm để kiểm tra xem văn gửi có toàn vẹn không 3.2.3 Giao diện chƣơng trình Hình 3.1 Tạo khóa ngẫu nhiên Hình 3.2 Thực ký lên tài liệu/văn Hình 3.3 Kiểm tra toàn vẹn tài liệu/văn 3.3 Kết luận chƣơng Chƣơng III đề cập đến việc xây dựng cài đặt ứng dụng chữ ký số mã hóa, bảo mật thông tin; Mã hóa giải mã tệp tin, dùng chữ ký số để ký vào văn Sau ký vào văn gửi đến cho ngƣời nhận đó, ngƣời nhận dùng chức xác thực để kiểm tra xác chữ ký có phải xuất phát từ ngƣời gửi biết trƣớc không, liệu đƣợc nhận đƣợc có đảm báo tính toàn vẹn không Kết luận hƣớng phát triển Cho đến hệ mã hóa đƣờng cong elliptic đƣợc xem hệ mã hoá an toàn hiệu So với hệ mã hoá công khai khác, ECDSA đƣợc xem ƣu việt độ bảo mật nhƣ độ dài khoá ECDSA nhỏ nhiều so với hệ mã hoá khác Điều dẫn tới hệ mã hoá ECDSA có khả thực thi nhanh hơn, hiệu hệ mã hóa công khai khác Kết đạt đƣợc luận văn - Luận văn trình bày an toàn thông tin giải pháp bảo mật an toàn thông tin Hai hệ mật mã phổ biến hệ mã hóa khóa bí mật hệ mã hóa khóa công khai - Giới thiệu thuật toán đƣờng cong Elliptic ECDSA phân tích tính bảo mật ECDSA - Xy dựng chƣơng trình ứng dụng mang tính chất minh họa việc bảo mật thông tin, ký số xác thực chữ ký số Hƣớng phát triển Đối với lĩnh vực nghiên cứu luận văn mở rộng, phát triển theo hƣớng xây dựng mô hình kiểm soát tính toàn vẹn thông tin lƣợc đồ mã hóa khóa công khai, đảm bảo độ an toàn cao tiên tiến Hƣớng phát triển đề tài xây dựng chƣơng trình để kết nối trực tiếp vào số phần mềm gửi nhận email phần mềm quản lý văn Đồng thời xây dựng hệ thống chứng thực khóa công khai cho thành viên, nhằm tránh trƣờng hợp bị ngƣời khác giả mạo khóa công khai ngƣời nhận thực trao đổi thông tin Tuy hạn chế định, nhƣng trình nghiên cứu, hoàn thành luận văn giúp trang bị thêm nhiều kiến thức bảo mật thông tin Từ xây dựng ứng dụng bảo mật hoàn chỉnh hơn, phục vụ cho việc tham mƣu ứng dụng công nghệ thông tin vào công tác quản lý đơn vị công tác TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Phan Đình Diệu (2006), Lý thuyết mật mã an toàn thông tin, NXB Đại học Quốc gia Hà Nội [2] Nguyễn Khanh Văn (2012), An toàn & Bảo mật thông tin, Đại học Bách khoa Hà Nội [3] Dƣơng Anh Đức, Trần Minh Triết (2005), Mã hóa ứng dụng, NXB Đại học Quốc gia TP Hồ Chí Minh [4] Thái Thanh Tùng (2015), Giáo trình Mật mã học & An toàn thông tin, NXB Thông tin Truyền thông [5] Phạm Huy Điển, Hà Huy Khoái (2004), Mã hóa thông tin sở toán học ứng dụng, NXB Đại học Quốc gia Hà Nội Tài liệu tiếng Anh [6] A MENEZES, P VAN OORSCHOT, AND S VANSTONE, 1996 “Handbook of Applied Cryptography”, CRC Press, See [7] J BUCHMANN, December 2001, The Digital Signature Algorithm [8] D Johnson, A Menezes And S Vanstone, 1554 (2005), The Eliptic Curve Digital Signature Algorithm, Lecture Notes in Computer Science, Springer-Verlag [9] W Stallings, 2011, Cryptography And Network Security 5th Edition, Prentice Hall Pearson Education, Inc Địa internet [10] https://vi.wikipedia.org/ [11] https://vi.wikipedia.org/wiki/M%E1%BA%ADt_m%C3%A3_h%C 3%B3a_kh%C3%B3a_c%C3%B4ng_khai [12] http://www.cit.ctu.edu.vn/~pnkhang/cours/atbmtt/chuong%204%20ham%20bam.pdf [13] https://vi.wikipedia.org/wiki/Gi%E1%BA%A3i_thu%E1%BA%A Dt_k%C3%BD_s%E1%BB%91 ... tài Ứng dụng chữ ký số ứng dụng bảo mật tài liệu điện tử làm đề tài cho luận văn thạc sỹ Luận văn tập trung vào nghiên cứu hai thuật toán thuật toán chữ ký số chuẩn DSA, thuật toán chữ ký số. .. toán chữ ký số Nghiên cứu hàm băm, mối quan hệ hàm băm thuật toán chữ ký số; thuật toán chữ ký số chuẩn DSA, thuật toán chữ ký số đƣờng cong Eliptic ECDSA tính bảo mật chúng Chương 3: Ứng dụng chữ. .. thuật tạo chữ ký số tài liệu, văn điện tử Trong tập trung nghiên thuật toán chữ ký số chuẩn DSA, thuật toán chữ ký số đƣờng cong Eliptic + Nghiên cứu ngôn ngữ lập trình để viết ứng dụng nhỏ chữ

Ngày đăng: 11/10/2017, 13:09

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • 2. Đối tƣợng và phạm vi nghiên cứu

  • 3. Hướng nghiên cứu của đề tài

  • 4. Những nội dung nghiên cứu chính

  • 5. Tổng quan luận văn

  • CHƢƠNG I: BẢO MẬT THÔNG TIN VÀ CHỮ KÝ SỐ

  • 1.1. Bảo mật thông tin

  • 1.1.1. Vấn đề an toàn thông tin

  • 1.1.2. Mã hóa tài liệu

    • 1.1.2.1. Hệ mã hóa

    • EKe( P) = C và DKd( C ) = P

      • 1.1.2.2. Hệ mã hóa khóa bí mật

      • EK( P ) = C và DK( C ) = P

        • Ưu điểm:

        • Nhược điểm:

        • 1.1.2.3. Hệ mã hóa khóa công khai

        • 1.1.2.4. Hệ mã hóa bảo vệ tài liệu

        • 1.1.3. Chữ ký số

          • 1.1.3.1. Giới thiệu

          • 1.1.3.2. Chữ ký điện tử

          • 1.1.3.3. Tổng quan về chữ ký số

          • 1.2. Phân loại các lƣợc đồ chữ ký số

          • 1.2.1. Lƣợc đồ chữ ký kèm thông điệp

            • a. Định nghĩa

            • b. Thuật toán sinh khóa

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

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

Tài liệu liên quan