ปลอดภัยหรือไม่ที่จะให้กุญแจสาธารณะ SSH ของฉันสำหรับการทำงาน?


60

ขณะนี้ฉันทำงานจากระยะไกลสำหรับองค์กรจำนวนมากที่ต้องการให้ฉันเข้าถึงเซิร์ฟเวอร์ของพวกเขาเป็นประจำเพื่อการบำรุงรักษาและอัปเกรด ฉันจะเพิ่มคีย์ SSH สาธารณะของ RSA ลงใน.ssh/authorized_keysไฟล์ได้อย่างปลอดภัยหรือไม่เพื่อให้ฉันสามารถเข้าสู่ระบบได้เร็วขึ้น / ไม่ต้องค้นหารหัสผ่าน? ฉันทำงานภายใต้ข้อสันนิษฐานว่าเป็นไปไม่ได้ที่จะสร้างรหัสส่วนตัวจากกุญแจสาธารณะ แต่ฉันถูกต้องในสมมติฐานของฉันหรือไม่

การก้าวไปอีกขั้นหนึ่งจะมีความเสี่ยงด้านความปลอดภัยใด ๆ ในการโพสต์เนื้อหาของกุญแจสาธารณะ RSA ของฉันไปยังอินเทอร์เน็ตหรือไม่? ฉันรู้ว่าหากได้รับรหัสส่วนตัวของฉันฉันมีปัญหามากมาย แต่นอกเหนือจากนั้นจะมีภัยคุกคามความปลอดภัยที่เป็นไปได้จริงหรือไม่


คำตอบ:


77

ใช่มันเป็นไปไม่ได้ที่จะกู้คืนกุญแจส่วนตัวจากกุญแจสาธารณะ ถ้าเป็นไปได้อาร์เอสเอจะเสียพื้นฐานและนี่จะเป็นข่าวสำคัญ (การทำลายอาร์เอสเอไม่เพียงทำลายความปลอดภัยในการสื่อสารทางอินเทอร์เน็ตจำนวนมาก แต่ยังอนุญาตให้มีการฉ้อโกงทางธนาคารทุกประเภท

การเข้าสู่ระบบด้วยรหัสสาธารณะแทนรหัสผ่านมีแนวโน้มที่จะเพิ่มความปลอดภัย หากรหัสผ่านของคุณไม่แข็งแรงพอมันอาจถูกโจมตีโดยผู้โจมตีที่มีแบนด์วิดท์เพียงพอ หากผู้โจมตีไม่มีสำเนาของไฟล์กุญแจส่วนตัวของคุณคีย์ RSA จะไม่สามารถบังคับได้อย่างมีประสิทธิภาพ (คีย์ 1024 บิตเทียบเท่ากับบางอย่างเช่นรหัสผ่าน 160 ตัวอักษรที่ประกอบด้วยตัวอักษรและตัวเลขแบบตัวพิมพ์เล็ก) . ใครบางคนที่คอยดูแลไหล่ของคุณอาจสามารถเห็นรหัสผ่านและข้อความรหัสผ่านที่สำคัญของคุณได้ แต่ด้วยรหัสที่พวกเขาต้องการก็จะต้องได้รับกุญแจด้วย

รหัสส่วนตัวไม่ปลอดภัยกว่ารหัสผ่านเสมอไป หากผู้โจมตีได้รับสำเนาของไฟล์กุญแจส่วนตัวของคุณ (เช่นการขโมยแล็ปท็อปหรือสื่อสำรองข้อมูลของคุณ) เธอสามารถลองบังคับข้อความรหัสผ่านได้และสามารถทำได้ด้วยความเร็วสูงเนื่องจากคุณไม่มีทาง จำกัด rate (ไม่เหมือนการคาดเดารหัสผ่านที่ต้องทำทางออนไลน์) หากข้อความรหัสผ่านของคุณดีพอและคุณสังเกตเห็นการโจรกรรมทันทีคุณจะยังมีเวลาเพิกถอนกุญแจได้

กุญแจสาธารณะจะแนะนำองค์ประกอบของการเปิดเผยข้อมูลส่วนบุคคล: ถ้ามีคนรู้ว่าคุณได้ใช้กุญแจสาธารณะเดียวกันเพื่อเข้าสู่ระบบ A และเพื่อเข้าสู่ B พวกเขารู้ว่าบุคคลคนเดียวกันนั้นเข้าสู่ระบบ A และ B. ผู้ต้องสงสัยว่าคุณมีคีย์ส่วนตัวด้วยดังนั้นคุณจึงสูญเสียความรู้สึกบางอย่างไป แต่โดยปกติแล้วจะเป็นเรื่องรองโดยเฉพาะถ้าคุณเพิ่งเก็บกุญแจไว้ใน~/.sshที่ที่ผู้ดูแลระบบเท่านั้น (ที่รู้ว่าที่อยู่ IP ที่คุณเข้าสู่ระบบจากที่ใด) สามารถดูได้

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


@NaftuliTzviKay จริงๆแล้วมีบางสิ่งที่ควรพิจารณาที่นี่ที่ถูกมองข้าม เพื่อที่จะใช้กุญแจสาธารณะของคุณระบบที่คุณใช้ในการเข้าสู่ระบบต้องมีการเข้าถึงกุญแจส่วนตัวของคุณ ไม่เป็นไร. หากไพรเวตคีย์นั้นถูกเก็บไว้ในระบบนั้นจะมีความเสี่ยงและระบบระยะไกลจะมีความเสี่ยง สองสิ่งนี้ช่วยในเรื่องนี้โฟลเดอร์บ้านที่เข้ารหัสและรหัสผ่านบนกุญแจของคุณ ดังนั้นเพื่อให้การรักษาความปลอดภัยที่เพิ่มขึ้นเต็มไปด้วย PKI คุณจะสูญเสียประสิทธิภาพ คุณหรือองค์กรของคุณจำเป็นต้องทำการวิเคราะห์ความเสี่ยงเพื่อกำหนดตำแหน่งในการวาดเส้น
Xalorous

16

โดยทั่วไปแล้วคำตอบของ Gilles นั้นดียกเว้น

... โดยเฉพาะอย่างยิ่งหากคุณเพิ่งเก็บกุญแจไว้ใน ~ / .ssh ซึ่งมีเพียงผู้ดูแลระบบ (ที่รู้ว่าที่อยู่ IP ที่คุณเข้าสู่ระบบนั้นสามารถเห็นได้)

ssh keys in ของคุณ~/.sshสามารถอ่านได้โดยซอฟต์แวร์ใด ๆ ที่ทำงานภายใต้บัญชีของคุณเอง ซึ่งน่าจะเป็นซอฟต์แวร์ส่วนใหญ่ที่คุณเรียกใช้ ดังนั้นคุณต้องเชื่อถือซอฟต์แวร์นั้นและผู้ที่เขียนมัน


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