Challenge Handshake Authentication Protocol

CHAP (ang. Challenge Handshake Authentication Protocol) jeden z dwóch obok PAP sposobów uwierzytelniania w PPP. CHAP zapewnia węzłom zgłaszanie swojej tożsamości za pomocą trójfazowego uzgadniania. CHAP jest bezpiecznym protokołem uwierzytelniania, zapewnia ochronę przed atakami wykorzystującymi podsłuch transmisji, wykorzystuje MD5. Jest preferowany jako uwierzytelnianie w PPP.

Protokół CHAP został zdefiniowany w RFC 1994 ↓. Inne protokoły uwierzytelniania dla PPP określono w RFC 1334 ↓.

Algorytm:

  1. Po nawiązaniu połączenia modemowego serwer dokonujący uwierzytelniania wysyła komunikat wzywający klienta.
  2. Klient hashuje komunikat wezwania serwera ze swoim hasłem użytkownika i przesyła do serwera.
  3. Serwer sprawdza odpowiedź dokonując tego samego obliczenia co klient. Jeżeli wszystko się powiedzie, wysyłane jest potwierdzenie udanego uwierzytelnienia.
  4. W losowych odstępach czasu serwer wysyła nowe wezwania do klienta i kroki 1 do 3 są powtarzane.

W systemie Linux nazwy użytkowników i hasła są przechowywane w pliku

/etc/ppp/chap-secrets

Może on wyglądać tak:

# nazwa klient      nazwa serwera hasło
kpn                 *             kpn
[email protected]  *             myfavoritepet

Protokół CHAP wykorzystuje funkcje mieszającą MD5, natomiast protokół MS-CHAP – MD4.

Zobacz też

Linki zewnętrzne

  • B.B. Lloyd B.B., W.W. Simpson W.W., PPP Authentication Protocols, RFC 1334, IETF, październik 1992, DOI: 10.17487/RFC1334, ISSN 2070-1721, OCLC 943595667  (ang.).
  • W.W. Simpson W.W., PPP Challenge Handshake Authentication Protocol (CHAP), RFC 1994, IETF, sierpień 1996, DOI: 10.17487/RFC1994, ISSN 2070-1721, OCLC 943595667  (ang.).