Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
355,1 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ - HOÀNG VĂN THỨC HỆ TIÊU CHUẨN THAM SỐ AN TOÀN CHO HỆ MẬT RSA VÀ ỨNG DỤNG Chuyên ngành: Mã số: Bảo đảm tốn học cho máy tính hệ thống tính tốn 62 46 35 01 TĨM TẮT LUẬN ÁN TIẾN SĨ TỐN HỌC Hà Nội-2011 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ/BQP Người hướng dẫn khoa học: TS Lều Đức Tân PGS.TS Bạch Nhật Hồng Phản biện 1: PGS.TS Hoàng Văn Tảo Ban Cơ yếu Chính phủ Phản biện 2: TS Trần Văn Trường Ban Cơ yếu Chính phủ Phản biện 3: PGS.TS Đinh Thế Cường Học viện Kỹ thuật quân Luận án bảo vệ trước Hội đồng chấm luận án tiến sĩ, họp Viện Khoa học Công nghệ quân vào hồi ngày tháng năm 2011 Có thể tìm hiểu luận án thư viện: - Thư viện Viện Khoa học Công nghệ quân - Thư viện Quốc gia Việt Nam MỞ ĐẦU Hệ thống mật mã khố cơng khai RSA hầu hết ngun thuỷ mật mã khác mơ hình hệ mật, cấu trúc thuật tốn cơng khai Tuy nhiên, việc lựa chọn sử dụng tham số cho hệ thống mật mã cho an toàn hiệu vấn đề khó Việc xây dựng tiêu chuẩn an toàn cho tham số RSA vấn đề khơng nhà khoa học giới nước quan tâm nghiên cứu Bởi vậy, có nhiều tài liệu liên quan đến lĩnh vực cơng bố, ví dụ ANSI X9.31, NIST 800-57, FIPS 186-3 Tuy nhiên, với phát triển khoa học lập mã khoa học mã thám khơng ngừng phát triển với nhiều hình thức cơng hệ thống mật mã RSA Việc xem xét lại tiêu chuẩn an tồn có nghiên cứu, xây dựng thêm tiêu chuẩn an toàn cho tham số RSA cần thiết Xuất phát từ yêu cầu thực tế trên, luận án chọn đề tài "Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA ứng dụng" để nghiên cứu phù hợp Mục đích nghiên cứu Nghiên cứu tổng quan nhằm nắm vững kiến thức hệ thống mật mã khố cơng khai RSA tiêu chuẩn an tồn cho tham số RSA cơng bố số chuẩn giới; đề xuất hệ tiêu chuẩn an toàn cho tham số RSA (trên sở bổ sung tiêu chuẩn có đồng thời xây dựng tiêu chuẩn mới); áp dụng tham số RSA an toàn cho giao thức bảo mật Web Đối tượng nghiên cứu Luận án lựa chọn hệ thống mật mã RSA giao thức bảo mật Web làm đối tượng nghiên cứu Nội dung nghiên cứu Nghiên cứu tổng quan hệ thống mật mã khố cơng khai RSA Nghiên cứu xây dựng hệ tiêu chuẩn an toàn cho tham số RSA Xây dựng cài đặt thuật toán sinh tham số RSA an toàn thoả mãn hệ tiêu chuẩn xây dựng Nghiên cứu áp dụng tham số RSA an toàn cho giao thức bảo mật Web Bố cục luận án Luận án gồm 03 chương với phần mở đầu, kết luận, danh mục cơng trình, báo khoa học cơng bố tác giả phần phụ lục Một số nội dung nghiên cứu luận án Đề xuất bổ sung mặt định lượng cho số tiêu chuẩn có Đề xuất tiêu chuẩn nhằm kháng lại kiểu công mã hoá liên tiếp hệ thống mật mã RSA Xây dựng, cài đặt chương trình thuật tốn sinh tham số RSA an tồn tích hợp vào chương trình sinh chứng số theo chuẩn X509 Sửa đổi phần mềm trình duyệt Web để áp dụng tham số RSA an toàn giao thức bảo mật giao dịch Web CHƯƠNG TỔNG QUAN VỀ TIÊU CHUẨN THAM SỐ RSA VÀ CÁC GIAO THỨC BẢO MẬT WEB Để luận giải cần thiết đồng thời tạo sở cho việc thực nội dung nghiên cứu đề tài luận án, chương luận án trình bày số kết nghiên cứu có liên quan cơng bố nước 1.1 MỘT SỐ ĐỊNH NGHĨA VÀ KÝ HIỆU Các ước tầm thường (Trivial Divisor): Các ước 1, -1, N –N gọi ước tầm thường số nguyên N Số nguyên tố (Prime Number): Số nguyên N>1 nguyên tố có ước tầm thường Hợp số (Composit number): Số ngun N>1 hợp số khơng nguyên tố Chứng nhận tính nguyên tố (Primality Certificate): Chứng minh toán học số cho trước thực nguyên tố Phép chia thử (Trial Division): Phép chia thử số N có nghĩa kiểm tra tất số nguyên tố nhỏ N1/2 xem có phải ước N khơng Độ an tồn (secure_strength): Là giá trị có liên quan đến lượng công việc cần phải thực (số lượng phép toán) để phá vỡ thuật toán hệ thống mật mã Cụ thể, thuật toán mật mã với tham số cho trước coi có độ an tồn secure_strength để phá vỡ thuật tốn cần đến nỗ lực tính tốn tối thiểu cỡ 2security_strength phép tính p1 , p2 , q1 , q2 : Được gọi số nguyên tố bổ trợ 1.2 HỆ MẬT MÃ KHỐ CƠNG KHAI RSA 1.2.1 Qui trình sinh tham số khóa RSA Bước 1: Sinh ngẫu nhiên hai số nguyên tố lớn khác p q; Bước 2: Tính N pq , ( N ) lcm( p 1, q 1) ; Bước 3: Chọn e thỏa mãn e ( N ) cho gcd(e, ( N )) ; Bước 4: Tính số nguyên dương d thỏa mãn: d ( N ) ed 1(mod ( N )) ; Bước 5: Khóa cơng khai RSA (N, e) khóa bí mật (N, d); Bộ ba (N, e, d) gọi tham số RSA 1.2.2 Hệ mật khóa cơng khai RSA ngun thủy * Thông điệp m Z N B mã hóa A giải mã Qui trình mã hố: B sử dụng khố cơng khai (N, e) A tính mã c me (mod N ) Qui trình giải mã: A sử dụng khố bí mật (N, d) để giải mã m c d (mod N ) 1.2.3 Hệ chữ ký số RSA nguyên thuỷ * Thực thể A ký lên thông điệp m Z N , thực thể B kiểm tra chữ ký A thông điệp m Qui trình ký: A sử dụng khố bí mật (N, d) để sinh chữ ký s m d (mod N ) m Qui trình kiểm tra chữ ký: B sử dụng khố cơng khai (N, e) A để kiểm tra chữ ký m, thơng qua việc tính m ' s e (mod N ) , m = m' kết luận chữ ký A m hợp lệ, ngược lại kết luận không hợp lệ 1.2.4 Hệ thống mật mã dựa RSA Hiện ứng dụng bảo mật thông tin người ta thường sử dụng hệ mật RSA lược đồ chữ ký RSA có định dạng Trong hệ mật RSA có định dạng lược đồ chữ ký RSA có định dạng người ta sử dụng thêm tập hàm chuẩn bị thông báo: G {g : *N *N } Khi thay tính tốn trực tiếp thông điệp m lược đồ ngun thuỷ lược đồ có định dạng tính toán x g (m) với gG 1.2.5 Độ an toàn hệ thống mật mã RSA Độ an tồn hệ thống mật mã RSA dựa vào tính khó giải tốn phân tích modulus N thừa số nguyên tố 1.3 MỘT SỐ THUẬT TOÁN SINH SỐ NGUYÊN TỐ 1.3.1 Một số phép kiểm tra tính nguyên tố xác suất Luận án giới thiệu hai phép kiểm tra tính nguyên tố xác suất: phép kiểm tra tính nguyên tố Miller-Rabin phép kiểm tra tính nguyên tố Frobenius-Grantham 1.3.2 Các phương pháp sinh số nguyên tố 1.3.2.1 Sử dụng phép kiểm tra tính nguyên tố xác suất Luận án giới thiệu hai phương pháp sinh số nguyên tố sử dụng phép kiểm tra tính nguyên tố xác suất T: phương pháp lựa chọn ngẫu nhiên ứng cử viên phương pháp tìm kiếm tăng dần 1.3.2.2 Các thuật toán sinh số nguyên tố tất định Luận án giới thiệu hai thuật toán sinh số nguyên tất định: thuật toán Shawe-Taylor thuật toán Maurer 1.3.3 Nhận xét Trong hai phương pháp sinh số nguyên tố xác suất phương pháp lựa chọn ứng cử viên ngẫu nhiên đánh giá cao phân bố đầu ra, hiệu thực hành Các số nguyên tố đầu thuật tốn Maurer có tính đa dạng so với thuật toán Shawe-Taylor 1.4 TIÊU CHUẨN THAM SỐ CHO RSA 1.4.1 Tiêu chuẩn tham số RSA đưa ANSI X9.31 Tiêu chuẩn độ dài modulus Chuẩn X9.31 khuyến cáo sử dụng modulus có độ dài 1024+256s, với s số nguyên s0 Các tiêu chuẩn số nguyên tố p, q Chuẩn X9.31 đưa 07 tiêu chuẩn cho số nguyên tố p, q dùng để tạo RSA modulus Tiêu chuẩn tham số cho e e số nguyên dương thoả mãn e 2nlen 160 Tiêu chuẩn tham số cho d d tính công thức d=e-1 (mod lcm(p-1, q-1)) thoả mãn d 2512128 s 1.4.2 Tiêu chuẩn tham số RSA đưa FIPS 186-3 NIST 800-57 Độ dài tối thiểu RSA modulus NIST 800-57 đưa tiêu chuẩn độ dài tối thiểu RSA modulus an toàn đến năm 2010, 2030 sau năm 2030 Tiêu chuẩn cho tham số p q Chuẩn FIPS 186-3 đưa 06 tiêu chuẩn cho số nguyên tố p, q dùng để tạo RSA modulus Tiêu chuẩn cho số mũ công khai e Chuẩn FIPS 186-3 khuyến cáo nên chọn e trước sinh p, q e cần thoả mãn: 216 < e < 2256 Tiêu chuẩn cho số mũ bí mật d Chuẩn FIPS 186-3 khuyến cáo chọn d giá trị nguyên dương thoả mãn d > 2nlen/2, d = e-1 mod (lcm((p-1), (q-1))) 1.4.3 Một số nhận xét Trong 03 chuẩn giới thiệu chuẩn ANSI X9.31 đề cập đến vấn đề đảm bảo toán học cho tiêu chuẩn đề xuất, nhiên mặt thời gian công nghệ có nhiều thay đổi Do việc nghiên cứu sở lý thuyết từ đưa đề xuất xác mặt định lượng cho tiêu chuẩn cần thiết 1.5 HỆ THỐNG MẬT MÃ RSA VÀ CÁC GIAO THỨC BẢO MẬT WEB Hệ thống mật mã RSA sử dụng bảo mật giao dịch Web thông qua giao thức SSL/TLS 1.5.1 Giới thiệu giao thức bảo mật SSL/TLS SSL giao thức cung cấp dịch vụ truyền thơng có bảo mật ứng dụng client server 1.5.2 Giao thức SSL phiên 3.0 Giao thức bảo mật SSL phiên 3.0 gồm thành phần chính: giao thức bắt tay, giao thức ghi, giao thức báo lệnh giao thức xác định thay đổi mã pháp 1.5.3 Cơ chế tính khố phiên giao thức SSL Khoá dùng cho phiên liên lạc tính từ thành phần ClientHello.random, ServerHello.random, pre_master_secret thông qua việc sử dụng hàm băm mật mã Trong thành phần pre_master_secret trao đổi có bảo mật sử dụng hệ mật khố cơng khai RSA 1.5.4 Hệ thống mật mã RSA bảo mật dịch vụ Web Hệ thống mật mã khố cơng khai RSA sử dụng giao thức bảo mật SSL với mục đích xác thực thiết lập khố chung cho phiên liên lạc Tuy nhiên, để áp dụng tham số RSA có độ an tồn cao cho giao thức bảo mật ứng dụng Web ta cần sửa đổi mô đun mật mã ứng dụng 1.6 KẾT LUẬN CHƯƠNG Trong chương luận án trình bày tổng quan kết nghiên cứu công bố ngồi nước có liên quan đến nội dung cần giải luận án Nhận xét, đánh giá ưu, nhược điểm; đề xuất giải pháp nhằm khắc phục nhược điểm bổ sung hạn chế cịn tồn kết đó, cụ thể: Trên sở tìm hiểu tiêu chuẩn an toàn cho tham số hệ thống mật mã RSA có để thấy cần thiết việc xem xét, bổ sung mặt định lượng cho tiêu chuẩn có đồng thời xây dựng thêm tiêu chuẩn nhằm nâng cao độ an toàn cho hệ thống mật mã RSA (Việc xây dựng đề xuất hệ tiêu chuẩn an toàn cho tham số RSA trình bày chương 2) Giới thiệu số thuật toán sinh số nguyên tố tính chất chúng, làm sở cho việc lựa chọn thuật tốn thích hợp phục vụ cho việc xây dựng thuật toán sinh tham số RSA Tìm hiểu giao thức bảo mật SSL/TLS, vai trò hệ thống mật mã RSA giao thức bảo mật Khả áp dụng tham số RSA ứng dụng Web, từ đề xuất giải pháp xây dựng ứng dụng Web áp dụng tham số RSA an tồn (Việc xây dựng, cài đặt thực tế thuật tốn sinh tham số RSA an toàn sử dụng chúng cho giao thức bảo mật Web trình bày chương 3) 11 Cơ sở đề xuất: Đảm bảo cho hệ thống mật mã RSA an toàn trước cơng dựa vào thuật tốn phân tích số có độ phức tạp phụ thuộc vào kích thước nhân tử nguyên tố, đồng thời tăng tính hiệu lược đồ bảo mật xác thực RSA 2.1.3.4 Tiêu chuẩn độ lớn hiệu |p-q| Bảng 2.5: Tiêu chuẩn độ dài tối thiểu |p-q| nlen Độ dài tối thiểu |p-q| 1536 bít 668 bít 1792 bít 796 bít 2048 bít 924 bít Cơ sở đề xuất: Tiêu chuẩn nhằm chống lại công kiểu Fermat p – q = c với c nhỏ 2.1.3.5 Tiêu chuẩn độ lớn ước nguyên tố |p-q| Ước nguyên tố |p-q| có độ dài tối thiểu theo bít cho bảng 2.6: Bảng 2.6: Tiêu chuẩn ước nguyên tố |p-q| nlen n0 1536 bít 106 bít 1792 bít 113 bít 2048 bít 120 bít Cơ sở đề xuất: Về sở việc đề xuất ANSI X9.31 tiêu chuẩn nhằm chống lại công R Pinch 12 2.1.4 Tiêu chuẩn cho số mũ cơng khai e số mũ bí mật d 2.1.4.1 Giới thiệu số công liên quan đến độ lớn e Để giảm thiểu việc tính tốn phép mã hoá phép kiểm tra chữ ký chọn số mũ cơng khai nhỏ, ví dụ e = 3, 65537 chẳng hạn Tuy nhiên, hệ thống mật mã RSA dễ bị phá vỡ cách tác giả Dan Boneh, Glenn Durfee 2.1.4.2 Một số công liên quan đến độ lớn d Giống số mũ cơng khai, để giảm thiểu việc tính tốn phép giải mã sinh chữ ký chọn số mũ cơng khai nhỏ Tuy nhiên, hệ thống mật mã RSA dễ bị phá vỡ qua công công Wiener, cơng Boneh Durfee Trong cơng Boneh Durfee thành công bất đẳng thức thoả mãn: 12 1 6 , với e N d N 2.1.4.3 Đề xuất tiêu chuẩn cho e d Số mũ cơng khai e có độ dài tối thiểu 32 bít Số mũ bí mật d thoả mãn d N 0.82 Cơ sở đề xuất: Chống lại công đề cập mục 2.1.4.1 2.1.4.2 2.2 CÁC TIÊU CHUẨN MỚI CHỐNG LẠI TẤN CÔNG MÃ HOÁ LIÊN TIẾP 2.2.1 Chu kỳ RSA tính chất t Định nghĩa 2.3 Giá trị t>0 nhỏ cho me (mod N ) m gọi chu kỳ RSA m ký hiệu per(m) t' Tính chất 2.1 Cho t=per(m), me (mod N) m, t 13 ước t' Mệnh đề 2.2 Cho m * N a ord N m , ta có: per ( m) ord a e Tính chất 2.2 Cho M ước N Khi với m * ta N có: ord M m | ord N m Chứng minh tính chất 2.1, 2.2 mệnh đề 2.2 trình bày chi tiết luận án 2.2.2 Tiêu chuẩn chống lại công mã hố liên tiếp Phép cơng mã hố liên tiếp Đầu vào: m * ; N Đầu ra: c thoả mãn c e (mod N ) m ; Thực thi: Bước 1: zm; Bước 2: cz; Bước 3: zce (mod N); Bước 4: Nếu (z≠m) quay lại bước 2; Bước 5: Đầu c; Để chống công ta cần thiết kế tham số RSA cho tập M m * : per ( m) B với B đủ nhỏ N Để đạt điều ta dựa vào kết mệnh đề 2.3 Mệnh đề 2.3 Gọi p1 q1 tương ứng ước nguyên tố p q ; p11 q11 tương ứng ước nguyên tố p1 q1 ;và p11 , q11 >B Khi chọn e cho ord p1 e bội p11 ord q1 e bội q11 ta có: Prob m * : per ( m) B N p1q1 Việc chứng minh mệnh đề 2.3 (dựa vào tính chất 2.1, 2.2 mệnh đề 2.2) trình bày chi tiết luận án 14 Từ kết mệnh đề 2.3 ta đề xuất tiêu chuẩn nhằm đảm bảo hệ mã hố khố cơng khai RSA chống lại kiểu cơng mã hố liên tiếp Tiêu chuẩn độ dài tối thiểu p11, q11 Độ dài tối thiểu ước nguyên tố p11, q11 tương ứng p1-1, q1-1 cho bảng Bảng 2.7 Bảng 2.7: Độ dài tối thiểu p11, q11 nlen n5, n6 1536 bít 106 bít 1792 bít 113 bít 2048 bít 120 bít Tiêu chuẩn cho số mũ công khai e ord p1 e bội p11 ord q1 e bội q11 2.3 CÁC TIÊU CHUẨN AN TOÀN CHO THAM SỐ RSA ĐƯỢC ĐỀ XUẤT Dưới tổng hợp lại tiêu chuẩn an toàn cho tham số RSA đề xuất chương này: Tiêu chuẩn N1 (Tiêu chuẩn độ dài modulus): Độ dài tối thiểu RSA modulus theo bít dùng đến năm 2015, 2020 2025 cho bảng 2.3 Tiêu chuẩn PQ1 (Tiêu chuẩn thứ cho số nguyên tố p, q): Các số nguyên tố p, q số nguyên tố bổ trợ p1, p2, q1, q2 số nguyên tố chứng minh Tiêu chuẩn PQ2 (Tiêu chuẩn thứ hai cho số nguyên tố p, q): Độ dài tối thiểu theo bít số nguyên tố bổ trợ p1, p2, q1, q2 cho bảng 2.4 15 Tiêu chuẩn PQ3 (Tiêu chuẩn thứ ba cho số nguyên tố p, q): p q chọn ngẫu nhiên từ số nguyên tố thoả mãn: ( 2)(2( nlen / 2)1 ) p, q (2nlen / 1) Tiêu chuẩn PQ4 (Tiêu chuẩn thứ tư cho số nguyên tố p, q): Độ dài tối thiểu theo bít |p-q| cho bảng 2.5 Tiêu chuẩn PQ5 (Tiêu chuẩn thứ năm cho số nguyên tố p, q): |p-q| phải có ước ngun tố có độ dài theo bít tối thiểu bảng 2.6 Tiêu chuẩn PQ6 (Tiêu chuẩn thứ sáu cho số nguyên tố p, q): Độ dài tối thiểu theo bít ước nguyên tố p11, q11 cho Bảng 2.7 Tiêu chuẩn D1 (Tiêu chuẩn số mũ bí mật d) Độ dài tối thiểu theo bít số mũ bí mật d cho bảng 2.13 Bảng 2.13: Tiêu chuẩn D1 nlen Độ dài tối thiểu d 1536 bít 1260 bít 1792 bít 1470 bít 2048 bít 1680 bít Tiêu chuẩn E1 (Tiêu chuẩn thứ cho số mũ công khai e) e có độ dài tối thiểu 32 bít Tiêu chuẩn E2 (Tiêu chuẩn thứ hai cho số mũ công khai e) ord p1 e bội p11 ord q1 e bội q11 16 2.4.KẾT LUẬN CHƯƠNG Chương luận án nghiên cứu đề xuất hệ tiêu chuẩn cho tham số RSA nhằm nâng cao độ an toàn tính hiệu sử dụng hệ thống mật mã RSA Hệ tiêu chuẩn xây dựng sở: Xem xét, đánh giá sở đảm bảo an toàn cho hệ mật mã RSA trước cơng có liên quan, từ đề xuất tiêu chuẩn có giới (gồm 08 tiêu chuẩn) Đặc biệt có 04 tiêu chuẩn luận án đề xuất mặt định lượng, gồm: tiêu chuẩn N1, PQ2, D1 tiêu chuẩn E1 Xây dựng tiêu chuẩn mới, gồm 01 tiêu chuẩn cho số nguyên tố p, q (tiêu chuẩn PQ6) 01 tiêu chuẩn cho số mũ công khai e (tiêu chuẩn E2), nhằm đảm bảo cho hệ thống mật mã RSA an tồn trước kiểu cơng mã hố liên tiếp 17 CHƯƠNG SINH VÀ TÍCH HỢP THAM SỐ RSA AN TOÀN CHO DỊCH VỤ BẢO MẬT WEB 3.1 THUẬT TOÁN SINH THAM SỐ RSA AN TỒN Trong thuật tốn có sử dụng ký hiệu đây: level: nhận ba giá trị 0, tương ứng với độ dài RSA modulus 1536 bít, 1792 bít 2048 bít dlen độ dài theo bít số mũ bí mật d dist = |p-q| Để đảm bảo cho thuật toán xây dựng thành công điều kiện cần thoả mãn: n0 + n1 > plen/2 n0 + n2 > qlen/2 n0 + n1 + n2 plen - log2(plen) - n0 + n3 + n4 qlen log2(qlen) - n0 < nlen - dlen 3.1.1 Các số hàm sử dụng thuật toán SS[3] = {106; 113; 120} Dlen[3] = {1260; 1470; 1680} PQlen[3] = {768; 896; 1024} random(x) hàm sinh ngẫu nhiên số nguyên nhỏ số nguyên x 3.1.2 Thuật toán SinhP (Thuật sinh số nguyên tố thứ nhất) 3.1.2.1 Thuật toán 3.1 Đầu vào: level; Đầu ra: p, p0, p1, p11; Giá trị trả về: Sinh p thành công trả 1, ngược lại trả Thực thi: Bước 1: Lấy plen = PQlen[level]; s = SS[level]; dlen = Dlen[level]; condlen=log2(plen)+2; res = 0; 18 Bước 2: Lấy n0 = s + random(2*plen - dlen - 128); Bước 3: Lấy n1 = 2s + random(plen - condlen - n0 - 4s -1), (n0+n1) plen/2 quay lại bước 2; Bước 4: Lấy n2 = 2s + random(plen - 2s - n0 - n1 - condlen - 1) Bước 5: Sinh số nguyên tố p có độ dài n0 bít; Bước 6: Sinh số nguyên tố p1 có độ dài n1 bít p1 có ước nguyên tố p11 p1 ; Bước 7: Sinh số nguyên tố p2 có độ dài n2 bít; Bước 8: Sinh ngẫu nhiên số nguyên: plen 1 1, plen 1 ; 2 Bước 9: Chọn số y khoảng 1, p x cho yp0 p1 (mod p2 ) ; Bước 10: Tính t (2 yp0 p1 x ) /(2 p0 p1 p2 ) ; counter = 0; Bước 11: Nếu 2(tp2 y ) p0 p1 plen lấy t (2 yp0 p1 ( 2)(2 plen 1 ) ) /(2 p0 p1 p2 ) ; Bước 12: Lấy p 2(tp2 y ) p0 p1 ; counter = counter+1 Bước 13: Sinh ngẫu nhiên số nguyên a 2, p 2 ; Bước 14: Tính: a b c ua 2(tp2 y ) p1 va 2(tp2 y ) p0 za 2( tp2 y ) p1 p0 (mod p) ; (mod p) ; (mod p ) ; Bước 15: Nếu gcd(u – , p) = gcd(v – , p) = z lấy res = chuyển sang bước 17; Bước 16: Nếu counter 8qlen chuyển sang bước 15; b Lấy t = t + quay lại bước 9; Bước 11: Sinh ngẫu nhiên số nguyên a 2, q 2 Bước 12: Tính: a u a 2(tq2 y ) q1 (mod q) ; b v a 2( tq2 y ) p0 (mod q ) ; c z a 2(tq2 y ) q1 p0 (mod q) ; Bước 13: Nếu gcd(u – , q) = gcd(v – , q) = z lấy res = chuyển sang bước 15; Bước 14: Nếu counter 8qlen lấy t = t + quay Bước 9; Bước 15: Cho đầu (q, q1, q11) trả res; 3.1.3.2 Phân tích thuật tốn 3.2 Việc phân tích thuật tốn 3.2 tương tự phân tích thuật tốn 3.1, ta có khẳng định đây: Số nguyên q sinh Thuật toán 3.2 chắn số nguyên tố q - có ước q1 q +1 có ước q2 3.1.4 Tính chất tham số p, q Sử dụng thuật toán 3.1 thuật toán 3.2 để sinh số nguyên tố p, q số nguyên tố thoả mãn 06 tiêu chuẩn từ tiêu chuẩn PQ1 đến tiêu chuẩn PQ6 trình bày chương 3.1.5 Thuật toán SinhED 3.1.5.1 Thuật toán 3.3 Đầu vào: level, elen, p, q, p1, q1, p11, q11; Đầu ra: e, d; 21 Thực thi Bước 1: Tính dlen = Dlen[level]; Bước 2: Chọn ngẫu nhiên số nguyên lẻ elen bít e thỏa mãn: gcd((p-1), e) = gcd((q-1),e) =1; Bước 3: Nếu e( p1 1) / p11 mod p1 e( q1 1) / q11 mod q1 quay lại bước 2; Bước 4: Tính d = e-1 mod lmc((p-1),(q-1)); Bước 5: Nếu log ( d ) dlen chuyển sang bước 6, ngược lại chuyển bước 2; Bước 6: Cho đầu e, d; 3.1.5.2 Phân tích thuật tốn 3.3 Số mũ cơng khai e số mũ bí mật d sinh thuật toán 3.3 thoả mãn tiêu chuẩn E2 tiêu chuẩn D1 3.1.6 Thuật toán sinh tham số SinhThamSo 3.1.6.1 Thuật toán 3.4 Đầu vào: level, elen; Đầu ra: N, e, d; Thực thi: Bước 1: Nếu level {0,1, 2} trả dừng chương trình; Bước 2: Nếu elen < 32 trả dừng chương trình; Bước 3: Sử dụng Thuật toán 3.1 để sinh số nguyên tố p (thuật toán SinhP); Bước 4: Sử dụng Thuật toán 3.2 để sinh số nguyên tố q (thuật toán SinhQ); Bước 5: Tính N = pq; Bước 6: Sử dụng Thuật tốn 3.3 để sinh số mũ công khai e số mũ bí mật d (thuật tốn SinhED); Bước 7: Cho đầu (N, e, d) hàm trả giá trị 1; 22 3.1.6.2 Phân tích thuật tốn 3.4 Bước thuật toán đảm bảo tiêu chuẩn N1 thoả mãn Bước thuật toán đảm bảo tiêu chuẩn E1 thoả mãn 3.2 XÂY DỰNG CHƯƠNG TRÌNH SINH THAM SỐ RSA AN TỒN Các thuật tốn trình bày phần 3.1 xây dựng thành chương trình ngơn ngữ Visual C++ 6.0 có sử dụng thư viện chương trình tính tốn số lớn Miracl 2.1 3.2.1 Một số hàm thực thi thuật toán sinh tham số RSA an toàn Hàm sinh số nguyên tố theo thuật toán Maurer: Provable_Gen() Hàm sinh số nguyên tố p: SinhP() Hàm sinh số nguyên tố q: SinhQ() Hàm sinh số mũ bí mật số mũ công khai: SinhED() Hàm sinh tham số RSA: SinhThamSo() 3.2.2 Kết chạy thực nghiệm Luận án thực chạy chương trình xây dựng máy tính cá nhân (PC) Dell Optiplex 2100L với cấu hình: CPU Intel Pentium IV GHz, 256 Mb RAM Để sinh loại theo độ dài modulus 100 bộ, thời gian chạy thống kê bảng 3.2 Bảng 3.2: Thời gian sinh tham số RSA an tồn Độ dài modulus (bít) Thời gian sinh (giây) Bộ sinh nhanh Bộ sinh lâu Tổng thời gian Thời gian trung bình 1536 234 8234 82,34 1792 11 530 14493 144,93 2048 20 641 29447 294,47 23 3.2.3 Bằng chứng tính nguyên tố Kết chạy chương trình lưu lại số nguyên tố p, q, p0, p1, p2, q1, q2 chứng tính nguyên tố chúng 3.3 ỨNG DỤNG THAM SỐ RSA AN TỒN 3.3.1 Tích hợp chương trình sinh tham số RSA an tồn cho chương trình sinh chứng điện tử Để tham số RSA an tồn có tính phổ dụng thực tế luận án thực tích hợp thuật tốn sinh chúng cho công cụ phần mềm mã nguồn mở thực thi chức phát hành quản lý chứng số, phần mềm OpenSSL phiên 0.9.8j 3.3.2 Sử dụng tham số RSA an toàn với giao thức bảo mật Web Luận án chọn phần mềm Apache phiên 2.2.15 phần mềm Mozilla Firefox phiên 3.6 để phát triển chúng thành phần mềm áp dụng tham số RSA an toàn 3.4 KẾT LUẬN CHƯƠNG Để đưa tiêu chuẩn tham số RSA an toàn vào ứng dụng thực tế, chương luận án thực hiện: Xây dựng chứng minh tính đắn thuật toán sinh tham số RSA thoả mãn tất tiêu chuẩn an toàn đề ra, có tiêu chuẩn (tiêu chuẩn PQ5) vốn có tài liệu cơng bố giới cho khó thực Cài đặt tích hợp trình thực thuật tốn xây dựng vào chương trình sinh chứng số theo chuẩn X509 Nghiên cứu, sửa đổi mã nguồn phần mềm trình duyệt Web mã nguồn mở để áp dụng tham số RSA an toàn cho giao thức bảo mật giao dịch Web 24 KẾT LUẬN Luận án đạt số kết sau: Đã nghiên cứu sâu hệ thống mật mã khố cơng khai RSA như: qui trình sinh tham số khố; lược đồ bảo mật, xác thực; xem xét, đánh giá tiêu chuẩn an toàn cho tham số RSA công bố Đã nghiên cứu sâu cấu trúc, nguyên lý hoạt động giao thức bảo mật giao dịch Web khả áp dụng tham số RSA thoả mãn tiêu chuẩn an toàn cao cho việc bảo mật giao dịch Xây dựng hệ tiêu chuẩn an toàn cho tham số RSA gồm 10 tiêu chuẩn Xây dựng cài đặt thuật tốn sinh tham số RSA an tồn thoả mãn tiêu chuẩn đưa Áp dụng tham số RSA an toàn cho việc bảo mật dịch vụ Web Một số đóng góp luận án: Xem xét, bổ sung mặt định lượng 04 tiêu chuẩn có Đề xuất 02 tiêu chuẩn (một tiêu chuẩn cho số mũ công khai e tiêu chuẩn cho số nguyên tố p, q) nhằm kháng lại kiểu cơng mã hố liên tiếp hệ thống mật mã RSA Xây dựng, cài đặt chương trình thuật tốn sinh tham số RSA an tồn tích hợp thuật tốn vào chương trình sinh chứng số theo chuẩn X509 Sửa đổi phần mềm trình duyệt Web Mozilla Firefox để áp dụng tham số RSA an toàn giao thức bảo mật Web DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC ĐÃ CƠNG BỐ Lều Đức Tân, Hồng Văn Thức (2006), "Một thuật toán sinh cặp số nguyên tố RSA mạnh P, Q thỏa mãn điều kiện |P-Q| có ước nguyên tố lớn", Tạp chí Nghiên cứu Khoa học Kỹ thuật Công nghệ quân sự, số 14, trang 63-67 Lều Đức Tân, Hoàng Văn Thức, Trần Quang Kỳ, Nguyễn Quốc Tồn, Teresa Pagés López, Amando Delgado Delgado (2008), "Thuật tốn Miller-Rabin cải tiến", Tạp chí Nghiên cứu Khoa học Kỹ thuật Công nghệ quân sự, số 22, trang 118-126 Lều Đức Tân, Hoàng Văn Thức, Trần Quang Kỳ, Nguyễn Quốc Tồn, Teresa Pagés López, Amando Delgado Delgado (2008), "Số chứng nguyên tố theo thuật toán Miller-Rabin số Carmichael", Tạp chí Nghiên cứu Khoa học Kỹ thuật Công nghệ quân sự, số 24, trang 108-113 Hoàng Văn Thức, Bạch Nhật Hồng (2009), "Một tiêu chuẩn cho số mũ công khai hệ tiêu chuẩn tham số mới", Tạp chí Nghiên cứu Khoa học Công nghệ quân sự, số 27, trang 50-53 Hồng Văn Thức (2009), "Mơđun bảo mật cho trình duyệt Mozilla", Tạp chí An tồn thơng tin, Ban Cơ yếu Chính phủ, số (011), trang 11-13 Hồng Văn Thức (2009), "Thuật tốn sinh tham số RSA an tồn", Tạp chí Nghiên cứu Khoa học Cơng nghệ quân sự, số 5, trang 40-45 ... quan nhằm nắm vững kiến thức hệ thống mật mã khố cơng khai RSA tiêu chuẩn an toàn cho tham số RSA công bố số chuẩn giới; đề xuất hệ tiêu chuẩn an toàn cho tham số RSA (trên sở bổ sung tiêu chuẩn. .. chuẩn an toàn cao cho việc bảo mật giao dịch Xây dựng hệ tiêu chuẩn an toàn cho tham số RSA gồm 10 tiêu chuẩn Xây dựng cài đặt thuật toán sinh tham số RSA an toàn thoả mãn tiêu chuẩn đưa Áp dụng. .. chuẩn an tồn có nghiên cứu, xây dựng thêm tiêu chuẩn an toàn cho tham số RSA cần thiết Xuất phát từ yêu cầu thực tế trên, luận án chọn đề tài "Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA ứng dụng"