Tạo khóa SSH: RSA hoặc DSA?


104

SSH hỗ trợ hai thuật toán chữ ký cho các cặp khóa: RSA và DSA. Cái nào được ưa thích, nếu có? Đối với RSA, độ dài khóa tối thiểu chấp nhận được là bao nhiêu?

Câu trả lời:


70

RSA thường được ưa thích (hiện tại vấn đề bằng sáng chế đã kết thúc) bởi vì nó có thể lên tới 4096 bit, trong đó DSA phải chính xác là 1024 bit (theo ý kiến ​​của ssh-keygen). 2048 bit là ssh-keygenđộ dài mặc định của các khóa RSA và tôi không thấy bất kỳ lý do cụ thể nào để sử dụng các khóa ngắn hơn. (Tối thiểu có thể là 768 bit; tôi cho rằng "chấp nhận được" là tình huống, tôi cho rằng.)


Tôi thường tự hỏi tại sao mọi người cảm thấy cần phải bảo mật các kết nối ssh của họ bằng khóa 2048 bit, khi ngân hàng của bạn, có lẽ bạn tin tưởng, rất khó có thể vượt quá 256 bit, và có nhiều khả năng gắn bó với 128 bit. Tôi chắc chắn không nói có gì sai khi sử dụng một phím lớn, tôi chỉ là say say.
msanford

25
Kết nối SSL ngân hàng là một loại mật mã khác đang được sử dụng và cụ thể hơn là khóa được sử dụng cho các phần chính của giao dịch được tạo và chỉ được sử dụng cho giao dịch đó và sau đó bị loại bỏ.
Ophidian

Lý do thực sự là để làm với tỷ lệ. mã hóa không rẻ và điểm mạnh của bạn càng cao là càng ít kết nối SSL bạn có thể phục vụ. Nếu bạn có một ngân hàng bán lẻ với mọi người tiêu dùng đang cố gắng sử dụng SSL thì bạn sẽ phải chọn một bộ khóa tương thích nhưng cũng phù hợp với phần cứng của bạn.
Spence

15
msanford: Giống như Ophidian nói rằng chúng là các loại mã hóa khác nhau. Các khóa RSA 256 bit sẽ hoàn toàn vô dụng cho hầu hết các mục đích. Các khóa đối xứng nằm trong phạm vi 128-512bit, trong khi giả định bắt đầu ở mức 768bit và an toàn ở khoảng 1500-2000bit trở lên. Khóa công khai 768bit có thể và đã bị hỏng. Đối xứng 128bit thực tế không thể bị phá vỡ.
Thomas

2
@xenoterracide, ssh sử dụng các thư viện openssl. Khi SSH lần đầu tiên khởi động, nó sử dụng các khóa RSA / DSA để xác minh máy chủ và để thiết lập các khóa đối xứng cho phiên. Đây là quy trình tương tự mà các máy chủ và máy khách SSL tuân theo, vì vậy bạn sẽ thấy rằng mọi người nói về SSH, họ sẽ thường tham khảo để cho phép nghiên cứu và tài liệu được thực hiện cho SSL
Walter

5

Đây không phải là về mã hóa đối xứng hoặc không đối xứng. Đó là về các thuật toán cụ thể (RSA và DSA) yêu cầu số bit cao hơn để đạt được mức bảo mật chấp nhận được. Ví dụ, ECC cũng là một mã hóa bất đối xứng, nhưng nó cung cấp bảo mật tốt với số bit thấp hơn nhiều so với RSA hoặc DSA.


5

Nếu bạn có một triển khai SSH gần đây, bạn cũng có thể xem xét ECDSA!


3

Chứng chỉ 256 bit mà các ngân hàng sử dụng cho các kết nối SSL là các cyphers đối xứng như 3DES hoặc AES, do đó số bit thấp hơn. Khi bạn thấy 1024 và 2048 (và thậm chí 4096), đây là những mật mã bất đối xứng.


1

Khóa DSA có ký hiệu ngắn hơn nhiều so với khóa RSA (với cùng "mức độ bảo mật"), vì vậy một lý do để sử dụng DSA sẽ là trong môi trường bị hạn chế.

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.