Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
1,44 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG -o0o PHẠM THỊ TÂM 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Ử LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THƠNG TIN Chun ngành: Khoa học máy tính Mã số: 60.48.01.01 Ngƣời hƣớng dẫn khoa học: PGS.TS Đoàn Văn Ban Thái Nguyên, 2017 LỜI CẢM ƠN Trƣớc tiên xin gửi lời cảm ơn chân thành đến thầy giáo PGS TS Đoàn Văn Ban, ngƣời định hƣớng nhiệt tình hƣớng dẫn, cung cấp tài liệu, giúp đỡ tơi nhiều q trình học tập hồn thiện luận văn Tơi xin gửi lời biết ơn sâu sắc đến thầy, cô tạo điều kiện thuận lợi truyền đạt kiến thức, kinh nghiệm quý báu cho suốt hai năm học cao học Trƣờng Đại học Công nghệ thông tin Truyền thông – Đại học Thái Nguyên Tôi xin cảm ơn bạn bè, đồng nghiệp gia đình, ngƣời gần gũi, động viên chia sẻ suốt thời gian làm luận văn tốt nghiệp Tôi xin chân thành cảm ơn! Thái Nguyên, tháng năm 2017 Tác giả Phạm Thị Tâm LỜI CAM ĐOAN Tôi Phạm Thị Tâm, học viên cao học lớp CK14B khóa 2015-2017 Thầy giáo hƣớng dẫn PGS.TS Đồn Văn Ban Tơi xin cam đoan luận văn “Một số thuật toán chữ ký số ứng dụng bảo mật tài liệu điện tử” công trình nghiên cứu tơi, dƣới hƣớng dẫn khoa học PGS.TS Đoàn Văn Ban, tham khảo nguồn tài liệu đƣợc rõ trích dẫn danh mục tài liệu tham khảo Các nội dung công bố kết trình bày luận văn trung thực chƣa đƣợc công bố cơng trình Thái Ngun, ngày tháng Phạm Thị Tâm năm 2017 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 tồ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 tố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 đƣợc 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 đồ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 tố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 tồ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 tồ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 tồ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 tồ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 tồ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 hồn tồ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á tồ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 tồ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 tồ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ịn 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 tồ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 tốn thuật tố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 tồ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 tồ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ố 61 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 khố 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 62 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 tố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 tố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 63 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 64 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 tố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 tố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 65 * 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, khơng thể thực hiện) Giả sử A sử dụng đƣờng cong elliptic bậc ( bậc hai modulo p giả sử A sử dụng điểm sở ), b dƣ √ ) 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 tố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 tố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 tốn phân tích số, tồn thuật tố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, tố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 tố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 66 Mật mã ECC cung cấp tính an tồ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 Ngồ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 tồ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 tốn logarit rời rạc đƣờng cong elliptic có nhiều thuật tốn giải Ngƣời ta phân tích với độ an tồn, hệ mã hoá dựa toán logarit rời rạc đƣờng cong elliptic có độ dài khố 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ã hố RSA có chiều dài khố 3248 bit hệ mật đƣờng cong elliptic cần độ dài khoá 256 bit có độ an tồn tƣơng đƣơng 67 Thuật tố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 tốn Pollard’s Rho, phiên thiết kế theo hƣớng tính tốn song song Đến năm 2006, Jung Hee Cheon đƣa cơng hiệu hẳn thuật tốn Pollard sử dụng giả thuyết Diffie-Hellman mạnh Tấn công áp dụng lƣợc đồ mật mã mà tạo tiên đố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 tồ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 68 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 tồn hệ mã hố đƣờ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 tốn giải Tuy nhiên chƣa có thuật tốn có độ phức tạp tính tốn thời gian đa thức Thuật tố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 tốn song song Theo với nhóm đƣờng cong elliptic cấp n có r máy tính tính tốn phải √ /2.r phép tốn Mặt khác ngƣời ta phân tích với hệ mã hoá dựa tố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 khố hệ mã hố dựa đƣờng cong elliptic có chiều dài khố ngắn nhiều Chẳng hạn với hệ mã hoá RSA có chiều dài khố 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 tốn tiến trình hệ mã hoá đƣờng cong elliptic nhanh nhiều 69 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 tồn tồ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, tồ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ó tồ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 70 Thuật tố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 tốn Chƣơng trình sử dụng EC đƣợc kiểm chứng độ bảo mật an tồn q 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 71 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 tố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ó tồ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 72 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 tồn vẹn khơng 73 Kết luận hƣớng phát triển Cho đến hệ mã hóa đƣờng cong elliptic đƣợc xem hệ mã hố an toàn hiệu So với hệ mã hố cơng khai khác, ECDSA đƣợc xem ƣu việt độ bảo mật nhƣ độ dài khố ECDSA nhỏ nhiều so với hệ mã hoá khác Điều dẫn tới hệ mã hố 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 tồn thơng tin giải pháp bảo mật an tồ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 sốt tính tồn vẹn thơng tin lƣợc đồ mã hóa khóa cơng khai, đảm bảo độ an tồ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 cịn hạn chế định, nhƣng q trình nghiên cứu, hồ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 74 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 tồn thơng tin, NXB Đại học Quốc gia Hà Nội [2] Nguyễn Khanh Văn (2012), An tồ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 tồn thơng tin, NXB Thông tin Truyền thông [5] Phạm Huy Điển, Hà Huy Khố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 75 [13] https://vi.wikipedia.org/wiki/Gi%E1%BA%A3i_thu%E1%BA%A Dt_k%C3%BD_s%E1%BB%91 [14] http://vi.wikipedia.org/wiki/Ch%E1%BB%AF_k%C3%BD_s%E1%B B%91 [15] http://vi.wikipedia.org/wiki/RSA_(m%C3%A3_h%C3%B3a) ... đề 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 tốn thuật tốn chữ ký số chuẩn DSA, thuật toán chữ ký số. .. 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. .. 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 tố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ữ