Tôi nên sử dụng độ dài khóa RSA nào cho chứng chỉ SSL của mình?


95

Tôi đang trong quá trình tạo CSR và tôi tự hỏi độ dài nào được cho là tốt nhất cho khóa RSA của tôi.

Tất nhiên, 384 có lẽ quá yếu, và 16384 có lẽ quá chậm.

Có sự nhất trí về độ dài khóa mà người ta nên sử dụng, tùy thuộc vào thời gian tồn tại của chứng chỉ không?

Chỉnh sửa: Giống như hầu hết mọi người, tôi muốn chìa khóa của mình phải mạnh một cách hợp lý. Tôi không lo ngại rằng NSA có thể phá khóa của tôi vào năm 2019. Tôi chỉ muốn biết phương pháp hay nhất khi một người có kế hoạch kinh doanh bình thường (ví dụ: một trang thương mại điện tử)

Câu trả lời:


102

Kể từ năm 2020, khóa RSA phải là 2048 bit.

1024 bit

  • 1024 bit Chứng chỉ RSA đã lỗi thời và không được trình duyệt chấp nhận.
  • Firefox đã ngừng chấp nhận chứng chỉ RSA 1024 bit vào năm 2014.
  • Cơ quan cấp chứng chỉ đã ngừng cung cấp chứng chỉ RSA 1024 bit vào năm 2014 hoặc trước đó. Xem thông báo của GlobalSign hoặc Comodo .
  • Các khóa 1024 bit không được dùng nữa vì chúng có thể bị bẻ khóa với một trung tâm dữ liệu nhỏ (hàng nghìn CPU hoặc hàng trăm GPU, có thể trong vài tháng). Nó có vẻ nhiều nhưng nó nằm trong tầm tay của bất kỳ tổ chức hoặc chính phủ lớn nào.

2048 bit

  • 2048 bit Chứng chỉ RSA hiện là tiêu chuẩn được chấp nhận sử dụng.
  • Đường cơ sở mặc định do CA phân phối và được sử dụng bởi phần mềm.
  • Cuối cùng cũng sẽ bị bẻ khóa. Không biết khi nào nhưng có thể mất nhiều thập kỷ.
  • Việc tăng gấp đôi kích thước cần nhiều đơn đặt hàng có cường độ tính toán lớn hơn để crack. Xem câu hỏi RSA 2048 mạnh hơn bao nhiêu so với 1024 .

4096 bit

  • 4096 bit Chứng chỉ RSA là bước tiếp theo
  • Có sẵn rộng rãi và được hỗ trợ. Tất cả các CA chính có thể cung cấp cả RSA 2048 và 4096 bit, bao gồm cả mã hóa chúng ta .
  • Chi phí tính toán không tuyến tính với kích thước chính. 4096 không chậm gấp đôi so với 2048, nó có thể chậm hơn 10 lần để xử lý. Không nâng cấp chứng chỉ lên 4096 bit một cách mù quáng mà không xem xét tác động của hiệu suất .
  • "Web" phần lớn còn lại trên các chứng chỉ 2048 bit vì nó không thể chịu chi phí phần cứng cho 4096 bit. Hãy xem xét các công ty lớn như Google, CloudFlare, NetFlix với lưu lượng truy cập lớn và phần cứng.

3072 bit

  • 3072 bit không phải là một điều. Chuyển thẳng đến 4096 bit.
  • Hoàn toàn có thể thực hiện mật mã 3072 bit, chỉ là không có phần mềm nào thực sự triển khai, hỗ trợ và quảng cáo nó một cách chính thức.
  • Trong lịch sử, vào khoảng năm 2010-2015, đã có nỗ lực khởi chạy 3072 cho các trường hợp sử dụng mà chi phí tính toán bổ sung của 4096 không phải là lý tưởng. Nó đã mờ đi nhưng vẫn còn một số bài báo cũ truyền bá công lao của (nhanh hơn) 3072.

Thêm

  • RSA lần đầu tiên được mô tả công khai vào năm 1977 và nó vẫn mạnh gần 50 năm sau đó. Chỉ cần phải tăng số lượng bit để theo kịp với các máy tính nhanh hơn.
  • Có một phương pháp khác cho mật mã khóa công khai dựa trên các đường cong elip, xem ECDSA (1992).
  • Có một sự ngắt kết nối rất lớn giữa năng lực của người dùng và của kẻ tấn công. Máy chủ web hoặc máy khách di động có một CPU (công suất thấp). Kẻ tấn công có thể có toàn bộ trung tâm dữ liệu, để tham khảo, một trung tâm dữ liệu AWS mới được xây dựng đang lưu trữ khoảng 60 000 máy chủ.
  • Thật không thể tin được rằng một thiết bị di động duy nhất có thể tính toán một số phép toán trong vài giây ... mà hàng triệu máy tính trong đời không thể đoán được.

13
Sự khác biệt (một mặt là "256-bit sẽ hoạt động mãi mãi" và "1024-bit đã cũ") là do sự khác biệt giữa các thuật toán đối xứngbất đối xứng và các loại khóa được sử dụng trong mỗi thuật toán. Với bất kỳ "mức độ bảo mật tương đương" nào cho trước, bạn sẽ thấy các số nguyên rất khác nhau cho độ dài khóa đối xứng và bất đối xứng.
Ti Strga

1
Kể từ tháng 9 năm 2015, có vẻ như ngành công nghiệp đã chuyển sang không chấp nhận CSR dưới 2048-bit. Xem bên dưới câu trả lời và hỗ trợ bài viết Comodo
angularsen

2
@anjdreas, Mặc dù đúng là năm 2048 là mức tối thiểu , nhưng tôi sẽ rất cẩn thận khi trích dẫn các điểm từ các bài báo của CA.
Pacerier

RSA Labs liên kết là 404 bây giờ, btw
jocull

1
lưu ý: đã viết lại đầy đủ câu trả lời sau 11 năm, với các khuyến nghị và tài liệu tham khảo cập nhật. bình luận ở trên đây là bình luận về các bản sửa đổi trước đó.
user5994461

12

Vì nhiều khách hàng yêu cầu tuân thủ các tiêu chuẩn mật mã NIST, tôi sử dụng hướng dẫn trong Ấn phẩm đặc biệt NIST 800‑57, Khuyến nghị về Quản lý khóa Phần 1, §5.6. Hầu hết các ứng dụng của chúng tôi đều phù hợp tốt với 112 "bit" bảo mật, tương ứng với triple-DES (hoặc một phần nhỏ lên tới 128 bit AES) cho mật mã đối xứng và khóa 2048 bit cho RSA. Xem Bảng 2 để biết tương đương sơ bộ.

Hợp lệ hay không, việc có thể giới thiệu chúng đến một ấn phẩm của NIST sẽ giúp khách hàng cảm thấy tốt hơn về tính bảo mật (nếu họ muốn hỏi).


Điều được đề cập trong câu trả lời này được sửa đổi thành Khuyến nghị cho Quản lý chính: Phần 1: Chung (Bản sửa đổi 3) . Bản sửa đổi hiện tại là tháng 7 năm 2012
AaA

Tôi thấy rằng trang NIST đã bị gỡ xuống và được thay thế bằng thông báo: "Do tài trợ của chính phủ đã hết hiệu lực, csrc.nist.gov và tất cả các hoạt động trực tuyến liên quan sẽ không khả dụng cho đến khi có thông báo mới."
wu-lee

Có trang này mà so sánh một số khuyến nghị dài khóa keylength.com/en/compare
wu-lee

10

Cơ quan cấp chứng chỉ sẽ không ký csr có kích thước nhỏ hơn 2048 bit, vì vậy bạn nên tạo csr của mình có kích thước 2048 bit.


6
[cần trích dẫn]
CodesInChaos

2
Nguồn - answers.ssl.com/877/... - một số CA như Affirmtrust / Trend Micro đã nhúng 4096 rễ chút vì vậy chúng tôi có khả năng sẽ chuyển sang những người trong những năm tới
Yogi

Tôi vừa thử Comodo và họ không chấp nhận ít hơn 2048-bit .
angularsen

7

Tháng 8 tới đây, Microsoft sẽ triển khai bản vá cho Server 2003/2008, Win7, v.v. yêu cầu sử dụng khóa RSA tối thiểu 1024 bit. Vì vậy, bạn cũng có thể bắt đầu đưa ra tiêu chuẩn "tối thiểu" của mình.


6

Đối với chứng chỉ SSL được sử dụng trên các trang web, văn bản này từ trang web Thawte.com (tại 2014-07-22) rất quan trọng cần lưu ý:

Các tiêu chuẩn công nghiệp do Diễn đàn của Cơ quan cấp chứng chỉ / Trình duyệt (CA / B) đặt ra yêu cầu rằng các chứng chỉ được cấp sau ngày 1 tháng 1 năm 2014 PHẢI có độ dài khóa tối thiểu là 2048-bit.


Mouais, Facebook vẫn là trên 256 chiều dài key => b3.ms/XmWn0e1BMYOk
Thomas Decaux

Để làm rõ Facebook không sử dụng RSA, nó sử dụng ECDHE_ECDSA do đó độ dài khóa nhỏ hơn.
Michael

5

Tôi cần tạo một số chứng chỉ SSL mới và không hài lòng với các câu trả lời ở trên vì chúng có vẻ mơ hồ hoặc lỗi thời nên tôi đã tìm hiểu kỹ một chút. Tóm lại, câu trả lời đã chọn là đúng, hãy sử dụng "Các khóa 2048-bit ... dài hơn là vô nghĩa" .

Việc tăng độ dài bit lên 4096 sẽ bổ sung một tải có ý nghĩa tiềm năng cho máy chủ của bạn (tùy thuộc vào tải hiện tại của bạn) trong khi cung cấp về cơ bản nâng cấp bảo mật không đáng kể

Nếu bạn đang ở trong trường hợp bạn cần khóa dài hơn 2048 bit, bạn không cần độ dài bit dài hơn, bạn cần một thuật toán mới


1

Tôi nghĩ rằng 4096 là ok cho RSA

Kiểm tra liên kết này

Sự kết thúc của chữ ký SHA-1 không có gì mới, nhưng Google đã đẩy nhanh quá trình chrome. Trong vài tuần tới, bạn nên kiểm tra chứng chỉ SSL của họ.

Điều này có thể hữu ích


1
Bạn cũng có thể đăng một số liên kết ngôn ngữ tiếng Anh được không? Tiếng Đức của tôi khá yếu.
Wai Ha Lee,

Các khóa De juro, RSA chỉ có thể có độ dài 1024, 2048 hoặc 3072 bit (theo PKCS # 1 2.2 và FIPS 186-4).
aprelev 14/09/2016

Flame cho thấy những kẻ tấn công sẽ tấn công hash thay vì modulus lớn hơn. Nếu bạn đang sử dụng SHA-1, thì bạn cũng có thể sử dụng mô-đun 1024-bit vì băm và mô-đun cung cấp bảo mật tương đương. Mô-đun 1024-bit sẽ thực hiện các hoạt động nhanh hơn so với mô-đun 4096 lớn hơn.
jww

0

4
Không chính xác. Khuyến nghị cho ngắn hạn (ít nhất mười năm) là 3072. RSA 15360 là dài hạn (ba mươi đến năm mươi năm) và chỉ có ý nghĩa nếu bạn mong đợi có thể giữ bí mật khóa cá nhân trong thời gian dài.
Henrick Hellström
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.