• 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
    • ด้วยเหตุนี้ หากอัลกอริทึมหลังควอนตัมถูกทำลายในอนาคต ก็ยังคงรักษาระดับความปลอดภัยอย่างน้อยเทียบเท่าเดิมได้

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น