คำตอบโดยตรง
โปรโตคอลที่พึ่งพา PPP (Point-to-Point Protocol) สำหรับ Authentication และออกแบบมาเพื่อ Tunnel PPP Traffic คือ:
- PPTP (Point-to-Point Tunneling Protocol) - ใช้ PPP โดยตรงภายใน GRE Tunnel
- L2TP/IPsec (Layer 2 Tunneling Protocol over IPsec) - ใช้ PPP ภายใน L2TP Tunnel ที่ป้องกันด้วย IPsec
PPP (Point-to-Point Protocol) คืออะไร?
- โปรโตคอล Layer 2 (Data Link Layer) สำหรับเชื่อมต่อ Point-to-Point
- ใช้สำหรับ: Dial-up, Serial Links, DSL (PPPoE), VPN Tunneling
- องค์ประกอบหลัก 3 ส่วน:
- Encapsulation: กรอบข้อมูล (HDLC-based)
- LCP (Link Control Protocol): Establish, Configure, Test, Terminate Link
- NCP (Network Control Protocols): IPCP (IP), IPv6CP, IPXCP - Configure Network Layer
- Authentication Protocols ใน PPP:
- PAP (Password Authentication Protocol): Clear-text, 2-way, ไม่ปลอดภัย
- CHAP (Challenge-Handshake Authentication Protocol): Challenge-Response, 3-way, ปลอดภัยกว่า
- EAP (Extensible Authentication Protocol): Framework รองรับหลายวิธี (EAP-TLS, PEAP, EAP-MSCHAPv2)
PPTP (Point-to-Point Tunneling Protocol)
- RFC 2637 (Microsoft, 3Com, Ascend, US Robotics)
- Encap: PPP Frame → GRE (IP Protocol 47) → IP
- Port: TCP 1723 (Control Channel)
- Authentication: ใช้ PPP Authentication (PAP, CHAP, MS-CHAPv2, EAP)
- Encryption: MPPE (Microsoft Point-to-Point Encryption) - RC4 based
- ข้อเสีย: ไม่ปลอดภัย (Vulnerable to Bit-flipping, Dictionary Attack on MS-CHAPv2), ไม่ผ่าน NAT ง่าย, ถูก Deprecated
- สถานะ: ไม่แนะนำใช้งาน (Windows ยังรองรับแต่ Deprecated, iOS/macOS ลบออกแล้ว)
L2TP/IPsec (Layer 2 Tunneling Protocol over IPsec)
- L2TP (RFC 2661): รวม PPTP + L2F (Cisco) → Tunnel Layer 2 Traffic
- IPsec (RFC 3193): ให้ Encryption, Authentication, Integrity สำหรับ L2TP
- Encap: PPP Frame → L2TP → UDP → ESP (IPsec) → IP
- Ports: UDP 500 (IKE), UDP 4500 (NAT-T), IP Protocol 50 (ESP)
- Authentication: PPP (PAP, CHAP, EAP) ภายใน IPsec Tunnel
- ข้อได้เปรียบ: ปลอดภัยกว่า PPTP, ผ่าน NAT ได้ (NAT-T), รองรับ Machine Certificate/EAP
- ข้อเสีย: Double Encapsulation (Overhead), ไม่ผ่าน Firewall ที่บล็อก UDP 500/4500/ESP ง่าย
เปรียบเทียบ PPTP vs L2TP/IPsec vs ทางเลือกสมัยใหม่
| คุณสมบัติ | PPTP | L2TP/IPsec | IKEv2/IPsec | WireGuard | OpenVPN |
|---|---|---|---|---|---|
| Security | Weak (Deprecated) | Strong | Strong | Strong (Modern Crypto) | Strong |
| Authentication | PPP (MS-CHAPv2) | PPP + IPsec (Cert/EAP) | IPsec (Cert/EAP) | Public Key (Curve25519) | TLS (Cert/User+Pass) |
| Performance | Fast (No double encap) | Slower (Double encap) | Fast (Kernel) | Fastest (Kernel, Modern) | Good (User-space) |
| NAT Traversal | Poor | Good (NAT-T) | Excellent (MOBIKE) | Excellent | Excellent (TCP 443) |
| Firewall Friendly | No (GRE + TCP 1723) | Medium (UDP 500/4500) | Good (UDP 500/4500) | Good (UDP Any) | Best (TCP 443) |
| Platform Support | Legacy Only | All Major OS | All Major OS | All Modern OS | All (App Required) |
| สถานะแนะนำ | ❌ Deprecated | ⚠️ Legacy but OK | ✅ Recommended | ✅ Recommended (Best) | ✅ Recommended |
PPP Authentication Protocols รายละเอียด
PAP (Password Authentication Protocol)
- 2-way Handshake: Client ส่ง Username/Password → Server Verify
- Clear Text - สนิฟได้ง่าย
- ใช้ได้เฉพาะเมื่อบังคับ (Legacy)
CHAP (Challenge-Handshake Authentication Protocol)
- 3-way Handshake: Server ส่ง Challenge → Client คำนวณ Hash(Challenge+Secret) → Server Verify
- Secret ไม่ส่งผ่านสาย
- Periodic Re-authentication
EAP (Extensible Authentication Protocol)
- Framework ไม่ใช่ Mechanism เดียว
- EAP-TLS (Certificate-based, Strongest)
- PEAP/EAP-MSCHAPv2 (Username/Password + Server Cert, Common in Enterprise Wi-Fi/VPN)
- EAP-TTLS (Tunneled TLS)
- EAP-FAST (Cisco, PAC-based)
สรุป
โปรโตคอลที่ Tunnel PPP Traffic และใช้ PPP Authentication: PPTP (Deprecated, ไม่ปลอดภัย) และ L2TP/IPsec (Legacy แต่ยังใช้ได้) แนะนำสมัยใหม่: WireGuard (Simplest, Fastest, Modern Crypto) หรือ IKEv2/IPsec (Enterprise Standard) หรือ OpenVPN (Firewall Friendly) ทั้งคู่ไม่ได้ Tunnel PPP โดยตรง แต่ให้ VPN ที่ปลอดภัยและทันสมัยกว่า