KHẢ NĂNG BỊ BẺ KHĨA CỦA HỆ MÃ CƠNG KHAI RSA

Một phần của tài liệu Các thuật toán tối ưu hóa trong bảo mật thông tin.pdf (Trang 42 - 46)

2.5.1 Một số phƣơng pháp tấn cơng hệ mã RSA.

Bất cứ ai cũng cĩ thể tạo ra một hệ thống thơng tin mã hĩa cho riêng mình. Nhƣng để cĩ một hệ thống an tồn và hiệu quả địi hỏi ngƣời thiết kế phải cĩ kiến

thức tốn học sâu sắc, cĩ kinh nghiệm về bảo mật và am hiểu các phƣơng pháp tấn cơng.

• Brute-force attack: phƣơng pháp tấn cơng bằng cách thử tất cả những chìa

khĩa cĩ thể cĩ. Đây là phƣơng pháp tấn cơng thơ sơ nhất và cũng khĩ khăn nhất. Theo lý thuyết, tất cả các thuật tốn mã hĩa hiện đại đều cĩ thể bị đánh bại bởi brute-force nhƣng trong thực tiễn việc này chỉ cĩ thể thực hiện đƣợc trong thời gian hàng triệu, thậm chí hàng tỉ năm. Vì thế cĩ thể coi một thuật tốn mã hĩa là an tồn nếu nhƣ khơng cịn cách nào khác để tấn cơng nĩ dễ hơn là brute-force.

• Frequency analysis: thống kê tần suất, chỉ cĩ thể áp dụng đƣợc đối với các

thuật tốn cổ điển dùng phƣơng pháp thay thế, ví dụ phƣơng pháp Caesar. Để thực hiện phƣơng pháp này ta cần một lƣợng văn bản đã mã hĩa đủ lớn để phép thống kê đƣợc chính xác. Ngồi ra cịn phải biết ngơn ngữ sử dụng trong văn bản ban đầu, nếu văn bản ban đầu là tiếng Anh thì nhiều khả năng kí tự xuất hiện nhiều nhất trong văn bản đã mã hĩa là do chữ e mã hĩa thành.

• Differential cryptanalysis: Phƣơng pháp này do Eli Biham và Adi Shamir

tìm ra vào khoảng cuối những năm 1980, nĩ thƣờng đƣợc sử dụng để tấn cơng các thuật tốn khối (block cipher). Phƣơng pháp này dựa trên việc phân tích những biến đổi của hai văn bản gốc cĩ liên quan khi đƣợc mã hĩa bởi cùng một chìa.

• Tấn cơng dựa trên thời gian

Năm 1995, Paul Kocher mơ tả một dạng tấn cơng mới lên RSA: Khi kẻ tấn cơng nắm đủ thơng tin về phần cứng thực hiện mã hĩa và xác định đƣợc thời gian giải mã đối với một số bản mã lựa chọn thì cĩ thể nhanh chĩng tìm ra khĩa d. Dạng tấn cơng này cĩ thể áp dụng đối với hệ thống chữ ký điện tử sử dụng RSA.

• Tấn cơng lựa chọn thích nghi bản mã

Năm 1981, Daniel Bleichenbacher mơ tả dạng tấn cơng lựa chọn thích nghi bản mã (adaptive chosen ciphertext attack) đầu tiên cĩ thể thực hiện trên thực tế đối với một văn bản mã hĩa bằng RSA. Văn bản này đƣợc mã hĩa dựa trên tiêu chuẩn Public-Key Cryptography Standards #1 (PKCS #1), một tiêu chuẩn chuyển đổi bản rõ cĩ khả năng kiểm tra tính hợp lệ của văn bản sau khi giải mã. Do những khiếm

khuyết của PKCS #1, Bleichenbacher cĩ thể thực hiện một tấn cơng lên bản RSA dùng cho giao thức Secure Sockets Layer (tìm đƣợc khĩa phiên). Do phát hiện này, các mơ hình chuyển đổi an tồn hơn nhƣ chuyển đổi mã hĩa bất đối xứng tối ƣu (Optimal Asymmetric Encryption Padding) đƣợc khuyến cáo sử dụng. Đồng thời phịng nghiên cứu của RSA cũng đƣa ra phiên bản mới của PKCS #1 cĩ khả năng chống lại dạng tấn cơng nĩi trên.

• Phƣơng pháp sử dụng (n)

Giả sử ngƣời tấn cơng biết đƣợc giá trị (n). Khi đĩ việc xác định giá trị p, q

đƣợc đƣa về việc giải hai phƣơng trình sau

n = pq

Thay q = n/p, ta đƣợc phƣơng trình bậc hai

p, q chính là hai nghiệm của phƣơng trình bậc hai này. Tuy nhiên vấn đề phát hiện đƣợc giá trị (n) cịn khĩ hơn việc xác định hai thừa số nguyên tố của n.

Ngồi ra cịn một số phƣơng pháp tấn cơng khác đƣợc sử dụng để tấn cơng hệ mã RSA. Tuy nhiên, từ cơ sở tốn học của RSA, hầu hết các phƣơng pháp tấn cơng đều chƣa thực sự hiệu quả. Các cố gắng bẻ khĩa RSA thành cơng đƣợc cơng bố đều phải dựa trên sức mạnh kết hợp của nhiều máy tính thực và thực hiện trong khoảng thời gian dài.

Tuy nhiên, để đảm bảo tính an tồn cao cho hệ mã RSA nĩi riêng và các hệ mã cơng khai nĩi chung. Việc áp dụng các cải tiến nhằm tăng tính an tồn là cấp thiết.

2.5.2 Độ an tồn của hệ mã RSA.

Độ an tồn của hệ thống RSA dựa trên 2 vấn đề của tốn học: bài tốn phân tích ra thừa số nguyên tố các số nguyên lớn và bài tốn RSA. Nếu 2 bài tốn trên là khĩ (khơng tìm đƣợc thuật tốn hiệu quả để giải chúng) thì khơng thể thực hiện

  np1 q1     1 0 2  nnpnp

đƣợc việc phá mã tồn bộ đối với RSA. Phá mã một phần phải đƣợc ngăn chặn bằng các phƣơng pháp chuyển đổi bản rõ an tồn.

Bài tốn RSA: Cho số nguyên dƣơng N là tích của hai số nguyên tố phân biệt

p và q (N = p * q), số nguyên e sao cho thỏa mãn gcd(e, (p – 1) * (q – 1)) = 1, và số nguyên c. Tìm một số nguyên m sao cho me c (mod N).

Hiện nay phƣơng pháp triển vọng nhất giải bài tốn này là phân tích n ra thừa số nguyên tố. Khi thực hiện đƣợc điều này, kẻ tấn cơng sẽ tìm ra số mũ bí mật d từ khĩa cơng khai và cĩ thể giải mã theo đúng quy trình của thuật tốn. Nếu kẻ tấn cơng tìm đƣợc 2 số nguyên tố p và q sao cho: n = p*q thì cĩ thể dễ dàng tìm đƣợc giá trị (p-1)*(q-1) và qua đĩ xác định d từ e. Chƣa cĩ một phƣơng pháp nào đƣợc tìm ra trên máy tính để giải bài tốn này trong thời gian đa thức (polynomial-time). Tuy nhiên ngƣời ta cũng chƣa chứng minh đƣợc điều ngƣợc lại (sự khơng tồn tại của thuật tốn).

Tại thời điểm năm 2005, số lớn nhất cĩ thể đƣợc phân tích ra thừa số nguyên tố cĩ độ dài 663 bít với phƣơng pháp phân tán trong khi khĩa của RSA cĩ độ dài từ 1024 tới 2048 bít. Một số chuyên gia cho rằng khĩa 1024 bít cĩ thể sớm bị phá vỡ (cũng cĩ nhiều ngƣời phản đối việc này). Với khĩa 4096 bít thì hầu nhƣ khơng cĩ khả năng bị phá vỡ trong tƣơng lai gần. Do đĩ, ngƣời ta thƣờng cho rằng RSA đảm bảo an tồn với điều kiện n đƣợc chọn đủ lớn. Nếu n cĩ độ dài 256 bít hoặc ngắn hơn, nĩ cĩ thể bị phân tích trong vài giờ với máy tính cá nhân dùng các phần mềm cĩ sẵn. Nếu n cĩ độ dài 512 bít, nĩ cĩ thể bị phân tích bởi vài trăm máy tính tại thời điểm năm 1999.

Năm 1993, Peter Shor cơng bố thuật tốn Shor chỉ ra rằng: máy tính lƣợng tử (trên lý thuyết) cĩ thể giải bài tốn phân tích ra thừa số trong thời gian đa thức. Tuy nhiên, máy tính lƣợng tử vẫn chƣa thể phát triển đƣợc tới mức độ này trong nhiều năm nữa. (adsbygoogle = window.adsbygoogle || []).push({});

Nhƣ vậy, tính an tồn của phƣơng pháp RSA dựa trên cơ sở các máy tính tại thời điểm hiện tại chƣa đủ khả năng giải quyết việc phân tích các số nguyên rất lớn ra thừa số nguyên tố.

Một phần của tài liệu Các thuật toán tối ưu hóa trong bảo mật thông tin.pdf (Trang 42 - 46)