Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> An Ninh Mạng

CHAP (Challenge-Handshake Authentication Protocol) trong an ninh mạng

CHAP là gì?

CHAP (Challenge-Handshake Authentication Protocol) là giao thức xác thực dùng trong kết nối Point-to-Point Protocol (PPP). Khác với PAP gửi mật khẩu dạng rõ (cleartext), CHAP sử dụng cơ chế thách thức-phản hồi (challenge-response) với hàm băm một chiều (hash) để xác thực mà không truyền mật khẩu qua đường truyền.

Cơ chế hoạt động CHAP (3-way Handshake)

  1. Challenge: Server (Authenticator) gửi giá trị ngẫu nhiên (challenge/nonce) cho Client
  2. Response: Client tính hash = MD5(Challenge + Shared Secret + ID) → Gửi Response + ID về Server
  3. Verify: Server tính hash tương tự với Shared Secret lưu trữ → So khớp → Accept/Reject
  4. Periodic Re-authentication: Server gửi challenge mới định kỳ trong phiên kết nối

So sánh CHAP vs PAP (Password Authentication Protocol)

Các biến thể CHAP

  • MS-CHAP v1: Microsoft implementation, dùng DES, đã deprecated (dễ brute-force)
  • MS-CHAP v2: Cải tiến: Mutual authentication, khóa phiên mạnh hơn, vẫn có lỗ hổng (dictionary attack)
  • EAP-CHAP: CHAP trong khung EAP (Extensible Authentication Protocol) cho 802.1X

Tính năng an ninh quan trọng của CHAP

  • Secret (mật khẩu chung) không bao giờ truyền qua mạng
  • Challenge ngẫu nhiên mỗi lần → Chống Replay Attack
  • Xác thực định kỳ → Phát hiện session hijacking
  • Cần biết secret ở cả Client và Server (shared secret)

Trạng thái hiện tại

  • CHAP chuẩn (RFC 1994): Vẫn dùng trong PPP, một số VPN cũ
  • MS-CHAP v1: Deprecated (Microsoft KB 926170), dễ bị Man-in-the-Middle
  • MS-CHAP v2: Vẫn gặp trong VPN cũ, Wi-Fi Enterprise (PEAP-MSCHAPv2) - nên chuyển sang EAP-TLS, EAP-TTLS, PEAP-GTC
  • Thay thế hiện đại: EAP-TLS (chứng chỉ), EAP-PEAP, EAP-TTLS, SAML/OIDC, FIDO2/WebAuthn

Ứng dụng thực tế

  • Kết nối Dial-up/ISDN cũ
  • VPN PPTP (đã lỗi thời, không an toàn)
  • Một số ISP broadband (PPPoE dùng PAP/CHAP)
  • RADIUS authentication cho network access

Lưu ý bảo mật

  • CHAP dùng MD5 → coi là yếu theo tiêu chuẩn hiện đại
  • Shared secret phải mạnh, ngẫu nhiên, quản lý bí mật
  • Không dùng CHAP/PAP cho hệ thống mới → Dùng EAP-TLS, Certificate-based auth
  • Nếu buộc dùng MS-CHAPv2: Bắt buộc dùng trong tunnel bảo mật (PEAP/TTLS), mật khẩu phức tạp, rotation định kỳ
Tiêu chíPAPCHAP
Bảo mậtThấp: Gửi username/password rõ (cleartext)Cao: Không truyền secret, dùng hash MD5
Xác thựcMột lần (khi kết nối)Định kỳ (periodic) trong phiên
Chống replayKhông cóCó (challenge ngẫu nhiên mỗi lần)
Chống MITMKhôngTốt hơn (secret không đi qua đường truyền)
Tốc độNhanh hơn (đơn giản)Chậm hơn (tính hash)
Ứng dụngHệ thống cũ, đơn giảnPPP, VPN, ISP dial-up, RADIUS