- SSH3 คือ โปรโตคอลเชลล์ปลอดภัย ยุคถัดไปที่ทำงานบน HTTP/3 โดยช่วยเพิ่ม ความเร็วในการเชื่อมต่อเซสชัน ได้อย่างมากเมื่อเทียบกับ SSHv2 แบบดั้งเดิม
- ใช้ QUIC และ TLS 1.3 เพื่อสร้างช่องทางสื่อสารที่ปลอดภัย และรองรับระบบยืนยันตัวตนสมัยใหม่อย่าง OAuth 2.0, OpenID Connect
- สามารถซ่อนเซิร์ฟเวอร์ไว้หลังเส้นทางลับได้ จึงทนทานต่อการโจมตีอย่าง การสแกนพอร์ต และยังมี ฟีเจอร์ใหม่ เช่น UDP port forwarding/QUIC multipath
- ได้นำความสามารถหลักหลายอย่างของ OpenSSH มาใช้แล้ว แต่ปัจจุบันยังอยู่ในขั้น ทดลอง จึงไม่แนะนำให้นำไปใช้งานจริงในสภาพแวดล้อม production
- มีความเห็นจำนวนมากว่าชื่อ SSH3 อาจไม่เหมาะสม ทำให้ร่างมาตรฐานถูกเปลี่ยนเป็น “Remote Terminals over HTTP/3” และกำลังอยู่ระหว่างการเปลี่ยนชื่อ
ภาพรวมและความสำคัญของโครงการ SSH3
- SSH3 เป็นโซลูชันโอเพนซอร์สที่ออกแบบโปรโตคอล SSH เดิมขึ้นใหม่ให้สอดคล้องกับ HTTP/3 และเทคโนโลยีเว็บสมัยใหม่
- นำความหมายของโปรโตคอลการเชื่อมต่อ SSH เดิม (RFC4254) มาสร้างใหม่บน HTTP/3 Extended CONNECT และช่องทาง QUIC+TLS 1.3
- ถูกเสนอเป็นร่างอินเทอร์เน็ตของ IETF draft-michel-remote-terminal-http3 โดยช่วยลด ความเร็วในการเชื่อมต่อเซสชัน ได้อย่างมาก พร้อมมอบข้อดีหลากหลาย เช่น การขยายรูปแบบการยืนยันตัวตนสมัยใหม่
- เมื่อเทียบกับ implementation SSH อื่น ๆ จุดเด่นคือแนวคิดใหม่อย่างการใช้ QUIC และ การตั้งค่าเซิร์ฟเวอร์แบบซ่อนตัว
ฟีเจอร์และคุณสมบัติหลัก
- การเชื่อมต่อเซสชันที่รวดเร็ว
- การเชื่อมต่อ SSHv2 เดิมโดยเฉลี่ยต้องใช้การไปกลับของเครือข่าย 5~7 ครั้ง ขณะที่ SSH3 ต้องการเพียง 3 รอบการไปกลับ จึงลดเวลา等待ที่ผู้ใช้รับรู้ได้อย่างมาก
- ความหน่วงของการพิมพ์คีย์ (latency) ยังคงอยู่ในระดับเดิม
- ความปลอดภัยที่เสริมแกร่งขึ้น
- อิงกับ TLS1.3, QUIC, และ HTTP authentication โดยใช้โปรโตคอลความปลอดภัยที่ผ่านการพิสูจน์แล้วซึ่งถูกใช้ในอีคอมเมิร์ซและอินเทอร์เน็ตแบงก์กิ้งอยู่แล้ว
- รองรับวิธียืนยันตัวตนหลากหลาย ทั้งแบบกุญแจสาธารณะบนพื้นฐาน RSA, EdDSA/ed25519 รวมถึง OAuth 2.0, OpenID Connect
- สามารถล็อกอินด้วยบัญชี Google, Microsoft และ Github ได้เช่นกัน
- ความสามารถในการซ่อนเซิร์ฟเวอร์
- สามารถวางเซิร์ฟเวอร์ไว้หลัง URL ลับ เฉพาะ (เช่น https://192.0.2.0:443/M3MzkxYWMx... เป็นต้น) และตอบกลับเฉพาะเมื่อมีคำขอยืนยันตัวตนเข้ามาที่ URL นั้น
- สำหรับคำขออื่นทั้งหมดจะตอบกลับเป็น 404 Not Found ทำให้ผู้โจมตีหรือ crawler บนอินเทอร์เน็ตไม่สามารถทราบการมีอยู่ของเซิร์ฟเวอร์ได้
- อย่างไรก็ตาม เส้นทางลับไม่ใช่สิ่งทดแทนการยืนยันตัวตน จึงแนะนำให้ใช้กลไกยืนยันตัวตนแยกต่างหากเสมอ เช่น กุญแจสาธารณะ รหัสผ่าน หรือ OIDC
- โครงการเชิงทดลองที่ยังพัฒนาอย่างต่อเนื่อง
- ยังต้องการการตรวจสอบความปลอดภัยเชิงโครงสร้างอย่างน่าเชื่อถือ และ ไม่แนะนำให้นำไปใช้กับเซิร์ฟเวอร์ production
- ปัจจุบันกำลังรวบรวม feedback จากชุมชนในสภาพแวดล้อมทดลองหรือเครือข่ายปิด
- ความเข้ากันได้กับ OpenSSH และฟีเจอร์เพิ่มเติม
- รองรับการแยกวิเคราะห์ ~/.ssh/authorized_keys และ known_hosts, การเชื่อมต่อกับ ssh-agent, TCP/UDP port forwarding และ Proxy Jump
- รองรับ UDP forwarding เพื่อเปิดทางเข้าถึงเซิร์ฟเวอร์ที่ใช้ UDP เช่น DNS·RTP·QUIC services โดยใช้เส้นทาง QUIC datagram
- มีความสามารถยืนยันตัวตนเซิร์ฟเวอร์ระดับ HTTPS ผ่าน ใบรับรอง X.509
- การยืนยันตัวตนแบบไร้กุญแจ (Keyless): ใช้ OpenID Connect เพื่อเชื่อมต่อได้โดยไม่ต้องคัดลอกกุญแจสาธารณะ ผ่าน SSO ขององค์กรหรือบัญชีภายนอกอย่าง Google/GitHub
บทสรุป
- SSH3 เป็นโครงการโอเพนซอร์สเชิงทดลองที่ผลักดันการพัฒนาโลก SSH ด้วยการนำ โปรโตคอลเครือข่ายและการยืนยันตัวตนสมัยใหม่ มาใช้
- แม้จะยกระดับความเร็ว ความยืดหยุ่น และความปลอดภัยอย่างมาก แต่ก่อนผ่านการตรวจสอบอย่างเพียงพอ ก็ควร ระมัดระวังในการใช้งานจริง
- มอบประสบการณ์ผู้ใช้ที่คล้ายกับ OpenSSH พร้อมฟีเจอร์ใหม่ที่หลากหลาย
- หากผ่านการประเมินด้านความปลอดภัยอย่างเหมาะสมและได้รับการมีส่วนร่วมจากชุมชน ก็มีศักยภาพที่จะก้าวเป็น SSH ยุคถัดไปได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News