Về một backdoor trong sinh khóa RSA tuân thủ điều kiện “chặt” theo chuẩn FIPS 186-4

7 52 0
Về một backdoor trong sinh khóa RSA tuân thủ điều kiện “chặt” theo chuẩn FIPS 186-4

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết trình bày đề xuất về một thuật toán sinh khóa RSA chứa backdoor tuân thủ điều kiện “chặt” về tham số khóa theo chuẩn FIPS 186-4 [1]. Thuật toán đề xuất dựa trên cơ sở thuật toán tìm số nguyên tố của John Gordon [2] để tạo số nguyên tố mạnh và tấn công phân tích nhân tử của Coppersmith [3] để giảm lượng thông tin backdoor cần nhúng.

Nghiên cứu khoa học công nghệ VỀ MỘT BACKDOOR TRONG SINH KHÓA RSA TUÂN THỦ ĐIỀU KIỆN “CHẶT” THEO CHUẨN FIPS 186-4 Lê Quang Huy* Tóm tắt: Bài báo trình bày đề xuất thuật tốn sinh khóa RSA chứa backdoor tuân thủ điều kiện “chặt” tham số khóa theo chuẩn FIPS 186-4 [1] Thuật tốn đề xuất dựa sở thuật tốn tìm số ngun tố John Gordon [2] để tạo số nguyên tố mạnh cơng phân tích nhân tử Coppersmith [3] để giảm lượng thơng tin backdoor cần nhúng Từ khóa: Mật mã, Sinh khóa, RSA, Backdoor ĐẶT VẤN ĐỀ Hiện nay, Backdoor hệ mật mã nghiên cứu công bố rộng rãi Backdoor hệ mật nghiên cứu chủ yếu tập trung vào phần sinh khóa (key generation) phần mã mật (encryption) Tuy nhiên, nghiên cứu công bố backdoor hệ mật xác định đề xuất giải pháp chung hệ mật chưa đề xuất giải pháp tuân thủ chuẩn định Với hệ mật RSA, nhiều tổ chức định chuẩn công bố chuẩn ứng dụng thực tế Do vậy, để thuật tốn backdoor cho hệ mật RSA ứng dụng thực tế cần thỏa mãn chuẩn định Hiện tại, chuẩn FIPS 186-4 chữ ký số chuẩn có bao gồm hệ mật RSA, nhiều nhà sản xuất sản phẩm mật mã tn thủ Thuật tốn sinh khóa chứa backdoor nhằm đảm bảo an ninh, an toàn cho cộng đồng Đối tượng áp dụng module mật mã dạng hộp đen Để ứng dụng vào module mật mã dạng hộp đen có, báo tập trung nghiên cứu thuật toán sinh khóa RSA chứa backdoor đề xuất thuật tốn sinh khóa RSA chứa backdoor tuân thủ điều kiện “chặt” tham số khóa Appendix B.3.1 FIPS 186-4 [1] Thực mục tiêu trên, báo tổ chức thành phần: Mục - Đặt vấn đề, nêu lên cần thiết nghiên cứu; Mục - Các định nghĩa sở phục vụ cho việc phân tích backdoor; Mục - Đề xuất backdoor mới; Mục - Kết luận tóm tắt kết nghiên cứu hướng phát triển CÁC ĐỊNH NGHĨA VÀ CƠ SỞ 2.1 Thuật tốn sinh khóa chứa backdoor Định nghĩa thuật tốn sinh khóa chứa backdoor thuộc tính có liên quan (tiêu chuẩn đánh giá) trình bày phần sử dụng kết [4] 2.1.1 Định nghĩa thuật tốn sinh khóa chứa backdoor Ký hiệu G0, G1 thuật toán sinh khóa trung thực (chuẩn) thuật tốn sinh khóa chứa backdoor Ký hiệu (kpriv , kpub) khóa riêng khóa cơng khai tạo G0 G1 Ký hiệu kpub* khóa cơng khai phần khóa cơng khai Ký hiệu  tham số an toàn hệ mật Ký hiệu B0 , B1 sản phẩm hộp đen cài đặt thuật tốn sinh khóa G0, G1 Ký hiệu R1 thuật tốn khơi phục cặp khóa tạo G1 Định nghĩa: Các cặp khóa tạo G1 cặp khóa chứa backdoor an tồn G1 tạo cặp khóa (kpub, kpriv) với thuộc tính sau thỏa mãn: Tính bảo mật: a) người thiết kế nhúng phần khóa riêng vào khóa cơng khai tương ứng, kpub* = M ◦ E ◦ I (kpriv) (1) Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 131 Công nghệ thơng tin & Cơ sở tốn học cho tin học b) Người dùng, kẻ cơng khơng thể tính tốn khóa riêng từ khóa cơng khai tương ứng, kpriv ≠ 2) / Nên #{q} = #{p} - #{u} = − ≈ 0,6 / > / / (13) Vậy lực lượng khóa thuật tốn là, #{(p, q, d, e)} = #{e}.#{(p}.#{q)} 134 Lê Quang Huy, “Về backdoor sinh khóa RSA… theo chuẩn FIPS 186-4.” Nghiên cứu khoa học công nghệ = 2254 / / = 2254 (14) ĐỀ XUẤT THUẬT TỐN SINH KHĨA RSA CHỨA BACKDOOR MỚI 3.1 Giới thiệu thuật toán đề xuất Thuật toán đề xuất sử dụng ý tưởng thuật tốn tìm số ngun tố mạnh John Gordon [2] thỏa mãn điều kiện 2.3.3, để cài thông tin backdoor vào nửa bit thấp p Thông tin backdoor mã mật hóa (hoặc băm) hàm FK Giá trị p khơi phục thơng qua thuật tốn Coppersmith [3] Các tham số thuật toán: + G1 = Thuật toán đề xuất; I(kpriv) = ((p⌋k/2)⌋); E = FK = AES, E = log2 n = nlen, k(E) = (K); M = n; log2 p = log2 q = nlen/2 + Hàm G: {0, 1}2k x {0, 1}k/2 x {0, 1}k/2 → {0, 1}k, hàm thực kết định lý Coppersmith (mục 2.3.2), ví dụ: p = G(n, 2k/2, p mod 2k/2); (nlen = 2k) + Giá trị Bp, Bq: tính thơng qua định lý phần dư Trung Hoa (CRT) + Giá trị m ngưỡng để chọn giá trị ngẫu nhiên t không lớn để dò tìm lại thuật tốn khơi phục khóa Thuật tốn đề xuất: Sinh khóa RSA Input: nlen, n1, n2, n3, n4, m // generate q Output: p, q, n, e, d 11 q1 = RandomProvablePrime(2 ,2 ) // generate e 12 q2 = RandomProvablePrime(2 ,2 ) e = RandomOddInteger(216, 2256) 13 Aq = q1.q2 u = FK(e) //encryption or hash with 14 = //using CRT key −1 t = Random(m) // t < m 15 Sq ={ Aq.j + Bq } (i = 1, 2, 3, …) C = ut mod 2nlen/4 16 = // generate p / / ∩ √2 ,2 −1 p1 = RandomProvablePrime(2 ,2 ) p2 = RandomProvablePrime (2 ,2 ) such that gcd(q - 1, e) = nlen/2 – 100 Ap = p1.p2 2nlen/4 17 if ( |p – q| ≤ ) then go to step 11 −1 = // using CRT // compute n, d / 18 n = p.q 19 d = e–1 mod (LCM(p - 1, q - 1)) Sp = { Ap.i + Bp } (i = 1, 2, 3, …) nlen/ 10 = 17 if ( d < ) then go to step 11 / / 18 return (p, q, n, e, d) ∩ √2 ,2 −1 such that gcd(p - 1, e) = Thuật toán đề xuất: khơi phục khóa RSA Input: n, e, m if C mod = then Output: p, q, d p = G(n, 2nlen/4, C) //Coppersmith (2.3.2) t = 1, C = t=t+1 u = FK(e) until (p mod 2nlen/4 = C) and (p is prime) and (t < m) repeat q =n / p; C = C.u mod 2nlen/4 10 d = e–1 mod (LCM(p - 1, q - 1)) t nlen/4 //(C = u mod ) 11 return (p, q, d) 3.2 Đánh giá thuật toán đề xuất Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 135 Công nghệ thông tin & Cơ sở tốn học cho tin học Tính bảo mật: Tính bảo mật đánh giá mức tốt người thiết kế sử dụng hệ mật đối xứng, hàm băm có khóa với độ dài tham số an tồn tương đương với độ dài tham số an toàn người dùng Tính hồn chỉnh: Tính hồn chỉnh đánh giá mức tốt Với thuật toán đề xuất người thiết kế ln tính khóa riêng từ khóa cơng khai tương ứng kẻ cơng khơng thể tính tốn khóa riêng, từ khóa cơng khai người dùng Lực lượng khóa: / Xét việc tạo p (bước đến 10) Theo (9), ta có #{ } = #{ } ≈ Ký hiệu s ∈ Sp , ta có s = Ap.i + Bp , (bước 9) #{ s } = #{ i } / √ / √ / ⇒#{ } = / ≤ / √ / / = / / √ / / ≤ ≤ / ⇔ / √ ⇔ / ( ( = / / ≤ ≤ / / √ ) / ≤ ≤ / / / √ ) = 0,6 ≈ / Vậy số lượng số nguyên tập Sp, / # Sp = #{p1} #{p2}.#{i } = Theo (6), ta có Pr[ ố ê ố] = / / = , / Vậy số lượng p, #{p}= # Sp Pr[số k bit nguyên tố] = / = / (15) Xét cách tạo q, q tạo giống q thuật toán mục 2.3.4, độc lập với p thỏa mãn điều kiện (8) Theo (13), #{ } ≈ / (16) Cách tạo d, giống thuật toán mục 2.3.4 Xét tỷ lệ lực lượng G1 G0, e, q, d sinh G1 giống G0 nên hạng tử #{e}, #{q} bỏ qua, nên tỷ lệ lực lượng G1 G0 là: = , , ≈ / / / / =2 / =2 (17) Vì số c = -1/2 tỷ lệ hai lực lượng, , nên theo bảng 1, lực lượng G1 đánh giá mức tốt Tính chất phân phối: Thông tin backdoor tạo ngẫu nhiên nhúng vào bit thấp p nên phần nhúng thông tin backdoor có phân phối gần với phân phối Việc sinh p, q ngẫu nhiên nên phân phối n gần với phân bố vậy, khoảng cách thống kê thành phần n G1 G0 xấp xỉ 0, DG1 ≈ Vậy tính chất phân phối G1 đánh giá tốt Tương quan thành phần khóa: Thơng tin backdoor đựợc nhúng vào tham số p Theo cách thực thuật toán tham số q tạo độc lập Nếu người dùng cố định p q yêu cầu sinh lại q p thực Do vậy, tính tương quan thành phần khóa G1 đánh giá đạt mức tốt Độ phức tạp tính tốn: Vì p tạo gần giống G0 (chỉ khác A, B) nên ta có tp(G0) = tp(G1) Việc tạo e, q, d giống G0 nên độ phức tạp tạo n là: tn(G1) = + tq = tn độ phức tạp tạo e là: te (G1) = te (G0) 136 Lê Quang Huy, “Về backdoor sinh khóa RSA… theo chuẩn FIPS 186-4.” Nghiên cứu khoa học công nghệ Vậy độ phức tạp thuật toán là: T(G1) = tn + te Nên độ phức tạp G1 đánh giá “tốt” khác biệt khơng đáng kể độ phức tạp G0 Bộ nhớ sử dụng: Thuật tốn khơng sử dụng nhớ NM VM nên có thuộc tính nhớ sử dụng đánh giá tốt KẾT LUẬN Dựa thuật toán sinh số nguyên tố chứng minh Maurer thuật toán tìm số nguyên tố mạnh John Gordon cơng phân tích nhân tử Coppersmith, thuật tốn sinh khóa RSA chứa backdoor thỏa mãn điều kiện chặt theo chuẩn FIPS 186-4 đề xuất Thuật toán đề xuất đánh giá tốt thuộc tính ứng dụng tốt phần sinh khóa thiết bị PKI Token HSM (Hardware Security Module) Ngồi ra, thuật tốn xem xét cải tiến theo hướng tăng lực lượng khóa rút bớt thông tin backdoor TÀI LIỆU THAM KHẢO [1] FIPS, 2013, FIPS PUB 186-4; Digital Signature Standard, http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf [2] John Gordon, 1985, Strong Primes are Easy to Find In: Beth T., Cot N., Ingemarsson I (eds) Advances in Cryptology [3] D Coppersmith, 1995, Small Solutions to Polynomial Equations, and Low Exponent RSA Vulnerabilities, https://www.di.ens.fr/~fouque/ens-rennes/coppersmith.pdf [4] G.Arboit, 2008, Two mathematical security aspects of the rsa cryptosystem, http://crypto.cs.mcgill.ca/~crepeau/PDF/these-Genevieve.pdf [5] A Menezes, P van Oorschot, and S Vanstone, 2001, Handbook of Applied Cryptography, CRC Press [6] U Maurer, 1994, Fast Generation of Prime Numbers and Secure Public Key Cryptographic Parameters, https://pdfs.semanticscholar.org/e [7] Alexander May, 2007, Using LLL-Reduction for Solving RSA and Factorization Problems, https://pdfs ABSTRACT A BACKDOOR IN RSA KEY GENERATION STRICTLY COMPLY WITH FIPS 186-4 In this paper, a proposal of backdoored RSA key generation algorithm strictly comply with conditions of key parameter in FIPS 186-4 [1] is presented The proposed algorithm use John Gordon’s strong prime finding algorithm [2] and using Coppersmith’s factoring attack [3] to reduce backdoor information for embedding Keywords: Cryptography, Key generation, RSA, Backdoor Nhận ngày 24 tháng năm 2017 Hoàn thiện ngày 13 tháng 10 năm 2017 Chấp nhận đăng ngày 20 tháng 12 năm 2017 Địa chỉ: Cục Chứng thực số Bảo mật thơng tin - Ban Cơ yếu Chính phủ * Email : lequanghuyabc@gmail.com Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 137 ... - #{u} = − ≈ 0,6 / > / / (13) Vậy lực lượng khóa thuật tốn là, #{(p, q, d, e)} = #{e}.#{(p}.#{q)} 134 Lê Quang Huy, Về backdoor sinh khóa RSA theo chuẩn FIPS 186-4. ” Nghiên cứu khoa học công ng...ật toán sinh số nguyên tố chứng minh Maurer thuật tốn tìm số ngun tố mạnh John Gordon cơng phân tích nhân tử Coppersmith, thuật tốn sinh khóa RSA chứa backdoor thỏa mãn điều kiện chặt theo chu...à: tn(G1) = + tq = tn độ phức tạp tạo e là: te (G1) = te (G0) 136 Lê Quang Huy, Về backdoor sinh khóa RSA theo chuẩn FIPS 186-4. ” Nghiên cứu khoa học công nghệ Vậy độ phức tạp thuật toán là: T(G

Ngày đăng: 30/01/2020, 13:18

Từ khóa liên quan

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

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

Tài liệu liên quan