การสร้างคู่คีย์ SSH: RSA หรือ DSA


104

SSH สนับสนุนอัลกอริธึมลายเซ็นสองอันสำหรับคู่กุญแจ: RSA และ DSA ต้องการอะไรถ้ามี? สำหรับ RSA ความยาวคีย์ต่ำสุดที่ยอมรับได้คือเท่าใด

คำตอบ:


70

โดยทั่วไปแล้ว RSA เป็นที่ต้องการ (ขณะนี้ปัญหาสิทธิบัตรหมดไปแล้ว) เพราะสามารถขึ้นไปได้สูงถึง 4096 บิตโดยที่ DSA จะต้องมี 1024 บิตอย่างแน่นอน (ตามความเห็นของssh-keygen) 2048 บิตเป็นssh-keygenความยาวเริ่มต้นสำหรับคีย์ RSA และฉันไม่เห็นเหตุผลใด ๆ ที่จะใช้ปุ่มที่สั้นกว่านี้ (ต่ำสุดที่เป็นไปได้คือ 768 บิต; ไม่ว่า "ยอมรับได้" คือสถานการณ์ฉันคิดว่า)


ฉันมักจะสงสัยว่าทำไมผู้คนรู้สึกถึงความจำเป็นในการรักษาความปลอดภัยการเชื่อมต่อ ssh ของพวกเขาด้วยคีย์ 2048 บิตเมื่อธนาคารของคุณซึ่งคุณเชื่อว่าน่าเชื่อถือนั้นไม่น่าจะไปมากกว่า 256 บิตและมีแนวโน้มที่จะติดกับ 128 บิต ฉันไม่ได้บอกว่ามีอะไรผิดปกติกับการใช้คีย์ขนาดใหญ่ฉันแค่… sayin '
msanford

25
การเชื่อมต่อ SSL ของธนาคารนั้นเป็นรหัสที่แตกต่างกันและมีการใช้คีย์ที่ใช้สำหรับส่วนหลักของการทำธุรกรรมโดยเฉพาะและใช้สำหรับธุรกรรมนั้นเท่านั้น
Ophidian

เหตุผลก็คือการปรับขนาด การเข้ารหัสไม่ถูกและที่สำคัญ keystrength ของคุณคือการเชื่อมต่อ SSL ที่น้อยกว่าที่คุณสามารถให้บริการ หากคุณมีธนาคารผู้ค้าปลีกที่มีผู้ใช้บริการทุกคนพยายามใช้ SSL คุณจะต้องเลือกชุดคีย์ที่ใช้งานร่วมกันได้ แต่จะต้องตรงกับฮาร์ดแวร์ของคุณด้วย
Spence

15
msanford: เช่นเดียวกับ Ophidian กล่าวว่าพวกเขาเข้ารหัสต่างกัน คีย์ RSA 256 บิตจะไร้ประโยชน์อย่างสมบูรณ์เพื่อวัตถุประสงค์ใด ๆ คีย์สมมาตรอยู่ในช่วง 128-512 บิตในขณะที่ assymetric เริ่มต้นที่ 768 บิตและมีความปลอดภัยที่ประมาณ 1,500-2,000 บิตขึ้นไป กุญแจสาธารณะ 768 บิตสามารถและถูกทำลาย 128 บิตสมมาตรไม่สามารถใช้งานได้
โทมัส

2
@xenoterracide, ssh ใช้ไลบรารี openssl เมื่อเริ่มใช้ SSH ครั้งแรกจะใช้คีย์ RSA / DSA เพื่อตรวจสอบความถูกต้องของโฮสต์และตั้งค่าคีย์แบบสมมาตรสำหรับเซสชัน นี่เป็นขั้นตอนเดียวกับที่เซิร์ฟเวอร์ SSL และลูกค้าติดตามดังนั้นคุณจะพบว่าคนเราพูดคุยเกี่ยวกับ SSH พวกเขามักจะอ้างถึงเพื่อให้การวิจัยและเอกสารประกอบสำหรับ SSL
Walter

5

มันไม่เกี่ยวกับการเข้ารหัสแบบสมมาตรหรือแบบอสมมาตร มันเกี่ยวกับอัลกอริธึมเฉพาะ (RSA และ DSA) ที่ต้องการจำนวนบิตที่สูงขึ้นเพื่อให้ได้ระดับความปลอดภัยที่ยอมรับได้ ตัวอย่างเช่น ECC เป็นการเข้ารหัสแบบอสมมาตร แต่ให้ความปลอดภัยที่ดีกว่านับบิตน้อยกว่า RSA หรือ DSA


5

หากคุณมีการนำ SSH ไปใช้ล่าสุดคุณอาจพิจารณา ECDSA ด้วย!


3

ใบรับรองแบบ 256 บิตที่ธนาคารใช้สำหรับการเชื่อมต่อ SSL เป็นไซเบอร์ที่มีลักษณะสมมาตรเช่น 3DES หรือ AES จึงนับบิตที่ต่ำกว่า เมื่อคุณเห็น 1024 และ 2048 (และแม้แต่ 4096) สิ่งเหล่านี้คือยันต์แบบไม่สมมาตร


1

คีย์ DSA มีเครื่องหมายที่สั้นกว่าคีย์ RSA (สำหรับ "ระดับความปลอดภัย" เดียวกัน) ดังนั้นเหตุผลหนึ่งที่ใช้ DSA จะอยู่ในสภาพแวดล้อมที่มีข้อ จำกัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.