OpenSSH การเข้ารหัสหลังควอนตัม
(openssh.com)- OpenSSH รองรับ อัลกอริทึมเข้ารหัสหลังควอนตัม เพื่อรับมือกับการโจมตีจากคอมพิวเตอร์ควอนตัม
- ตั้งแต่เวอร์ชัน 9.0 เป็นต้นมา โดยค่าเริ่มต้นใช้ sntrup761x25519-sha512 และตั้งแต่ 10.0 ใช้ mlkem768x25519-sha256 เป็นรูปแบบการเชื่อมต่อเริ่มต้น
- เริ่มตั้งแต่เวอร์ชัน 10.1 หากมีการใช้การแลกเปลี่ยนคีย์ที่ไม่ใช่หลังควอนตัม จะมีการแสดง ข้อความเตือน
- อัลกอริทึมลายเซ็นแบบดั้งเดิมส่วนใหญ่ (เช่น RSA, ECDSA ฯลฯ) จะมีการเพิ่มการรองรับในอนาคต
- เพื่อปกป้องทราฟฟิกเดิมอย่างปลอดภัย จำเป็นต้องใช้ อัลกอริทึมหลังควอนตัม ทั้งฝั่งเซิร์ฟเวอร์และไคลเอนต์
การนำเข้าการเข้ารหัสหลังควอนตัมใน OpenSSH
OpenSSH รองรับอัลกอริทึมการแลกเปลี่ยนคีย์หลายตัวที่ยังปลอดภัยต่อการโจมตีด้วยคอมพิวเตอร์ควอนตัม
แนะนำให้ใช้โมเดลอัลกอริทึมเหล่านี้ในทุกการเชื่อมต่อ SSH
ตั้งแต่ OpenSSH 9.0 (ปี 2022) เป็นต้นมา ได้รองรับการแลกเปลี่ยนคีย์หลังควอนตัม (KexAlgorithms) แบบเริ่มต้นผ่าน sntrup761x25519-sha512 และตั้งแต่เวอร์ชัน 9.9 ได้เพิ่ม mlkem768x25519-sha256
mlkem768x25519-sha256 ถูกกำหนดให้เป็น อัลกอริทึมการเข้ารหัสหลัก ตั้งแต่ OpenSSH 10.0
เพื่อกระตุ้นการนำอัลกอริทึมหลังควอนตัมมาใช้ OpenSSH 10.1 เป็นต้นไปจะแสดงข้อความเตือนหากไม่ได้ใช้ การแลกเปลี่ยนคีย์ต้านคิวท์
** WARNING: connection is not using a post-quantum kex exchange algorithm. **
This session may be vulnerable to "store now, decrypt later" attacks.
The server may need to be upgraded. See https://openssh.com/pq.html
ข้อความเตือนนี้จะแสดงตามค่าเริ่มต้น แต่สามารถปิดได้ด้วยตัวเลือก WarnWeakCrypto ของ ssh_config(5)
พื้นหลัง
คอมพิวเตอร์ควอนตัม คืออุปกรณ์ที่คำนวณโดยเข้ารหัสข้อมูลเป็นสถานะควอนตัม
สามารถแก้ปัญหาคณิตศาสตร์เฉพาะบางชนิดได้อย่างรวดเร็ว ซึ่งคอมพิวเตอร์ทั่วไปไม่สามารถทำได้
รากฐานการเข้ารหัสของอัลกอริทึมหลายตัวพึ่งพาปัญหาคณิตศาสตร์ที่คอมพิวเตอร์ควอนตัมสามารถแก้ได้ง่าย
หากมีคอมพิวเตอร์ควอนตัมที่มีประสิทธิภาพมากพอ (ถึงระดับสำคัญเชิงการเข้ารหัส) ปรากฏขึ้น อัลกอริทึมเหล่านี้อาจถูกทำลายได้
โดยเฉพาะอัลกอริทึมที่ใช้กับ การแลกเปลี่ยนคีย์ และ ลายเซ็นดิจิทัล จะได้รับผลกระทบมากที่สุด
แม้ว่าคอมพิวเตอร์ควอนตัมดังกล่าวยังไม่เกิดขึ้นจริงในตอนนี้ แต่ผู้เชี่ยวชาญคาดการณ์ว่าจะปรากฏตัวในอีก 5~20 ปี หรือช่วงกลางทศวรรษ 2030
ความเป็นส่วนตัวของการเชื่อมต่อ SSH พึ่งพาอยู่ที่อัลกอริทึมการแลกเปลี่ยนคีย์
หากผู้โจมตีสามารถทำลายอัลกอริทึมการแลกเปลี่ยนคีย์ได้ จะสามารถถอดรหัสเนื้อหาทั้งหมดของเซสชันได้
นอกจากนี้ แม้ไม่ใช่การโจมตีแบบเรียลไทม์ ผู้โจมตีสามารถเก็บ เซสชันทริฟฟิกเข้ารหัส ไว้ แล้วในอนาคตเมื่อมีคอมพิวเตอร์ควอนตัมสามารถถอดรหัสได้ผ่านการโจมตีแบบ 'store now, decrypt later'
OpenSSH กำลังเสริมความเข้มแข็งในการรองรับการเข้ารหัสหลังควอนตัมเพื่อรับมือกับการโจมตีประเภทนี้
FAQ
Q: ได้รับการแจ้งเตือนว่า ssh มีคำเตือน ควรทำอย่างไร?
- OpenSSH 10.1 ขึ้นไปจะแจ้งเตือนผู้ใช้เมื่อใช้การเข้ารหัสที่ไม่ปลอดภัยแบบ post-quantum
- กรณีนี้หมายถึงเซิร์ฟเวอร์ที่เชื่อมต่อไม่รองรับอัลกอริทึมการแลกเปลี่ยนคีย์แบบหลังควอนตัม (mlkem768x25519-sha256, sntrup761x25519-sha512)
- คำแนะนำที่ดีที่สุดคืออัปเดตเซิร์ฟเวอร์เป็น OpenSSH 9.0 ขึ้นไป (ตัวหลังควรเป็น 9.9 ขึ้นไป) และตรวจสอบว่าใน KexAlgorithms อัลกอริทึมที่เกี่ยวข้องไม่ได้ถูกปิดใช้งาน
- หากไม่สามารถอัปเดตเซิร์ฟเวอร์ได้ หรือยอมรับความเสี่ยงได้ สามารถซ่อนเฉพาะข้อความเตือนด้วยตัวเลือก WarnWeakCrypto ใน ssh_config(5) ได้
- หากจำเป็น แนะนำให้ใช้ค่าตั้งค่าสำหรับโฮสต์ที่เจาะจงดังนี้
Match host unsafe.example.com WarnWeakCrypto no
Q: แม้ยังไม่มีคอมพิวเตอร์ควอนตัม ก็ยังต้องเตรียมพร้อมตั้งแต่ตอนนี้หรือ?
- เพราะเป็นเพราะการโจมตีแบบ "store now, decrypt later" ที่กล่าวถึงก่อนหน้านี้
- การจราจรที่ส่งไปในวันนี้อาจมีความเสี่ยงถูกถอดรหัสในอนาคตได้ จึงแนะนำให้เชื่อมต่อแบบ post-quantum-safe ล่วงหน้า
Q: คุณบอกว่าลายเซ็นอัลกอริทึมก็เสี่ยง ทำไมไม่ใช่ปัญหาใหญ่?
- ปัจจุบันอัลกอริทึมลายเซ็นส่วนใหญ่ (RSA, ECDSA ฯลฯ) ก็อาจถูกทำให้ใช้การไม่ได้ด้วยคอมพิวเตอร์ควอนตัมได้
- อย่างไรก็ตาม กรณีนี้ไม่เกิดการเก็บทราฟฟิกเดิมไว้แล้วมาถอดรหัสในภายหลัง
- เรื่องที่ต้องรีบของอัลกอริทึมลายเซ็นคือการเกษียณคีย์ลายเซ็นเดิมเมื่อคอมพิวเตอร์ควอนตัมเข้ามาใกล้ระดับใช้งานได้จริง
- OpenSSH จะรองรับอัลกอริทึมลายเซ็นหลังควอนตัมในอนาคต
Q: ผมคิดว่าคอมพิวเตอร์ควอนตัมคงเกิดเป็นไปไม่ได้ ทำไมสิ่งนี้จึงสำคัญ?
- บางคนเชื่อว่าคอมพิวเตอร์ควอนตัมทำไม่ได้ แต่ปัจจุบันอุปสรรคหลักเป็นปัญหาทางวิศวกรรมมากกว่าฟิสิกส์พื้นฐาน
- ถ้าคอมพิวเตอร์ควอนตัมเป็นจริง มาตรการที่ปฏิบัติเพื่อล่วงหน้าจะช่วยปกป้องข้อมูลผู้ใช้จำนวนมหาศาลอย่างมาก
- แม้สุดท้ายจะไม่จำเป็นก็ตาม การย้ายไปใช้การเข้ารหัสที่แข็งแกร่งขึ้นทางคณิตศาสตร์ก็เป็นเพียงการเปลี่ยนผ่านเท่านั้น
Q: อัลกอริทึมหลังควอนตัมของคุณเองอาจยังมีช่องโหว่หรือไม่?
- OpenSSH ก็ก้าวเข้าหาเรื่องนี้อย่างระมัดระวังเช่นเดียวกัน
- แม้เลือกเฉพาะอัลกอริทึมที่ผ่านการรีวิวย้อนหลังอย่างเข้มข้นในหลายปีที่ผ่านมา ก็ยังมีความเป็นไปได้ที่พบวิธีโจมตีใหม่
- เพื่อเตรียมรับสถานการณ์นี้ จึงเลือกใช้เฉพาะอัลกอริทึมที่มีมาร์จิ้นความปลอดภัยกว้าง เพื่อลดความเสี่ยงที่ความปลอดภัยเชิงปฏิบัติจะลดลงหากมันอ่อนกว่าที่คาด
- นอกจากนี้ อัลกอริทึมหลังควอนตัมทั้งหมดของ OpenSSH เป็นแบบ "hybrid" เสียทุกตัว
- ตัวอย่างเช่น mlkem768x25519-sha256 ผสมผสานอัลกอริทึม ML-KEM (หลังควอนตัม) และอัลกอริทึมคลาสสิก ECDH/x25519
- ด้วยเหตุนี้ หากอัลกอริทึมหลังควอนตัมถูกทำลายในอนาคต ก็ยังคงรักษาระดับความปลอดภัยอย่างน้อยเทียบเท่าเดิมได้
ยังไม่มีความคิดเห็น