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:
- Po nawiązaniu połączenia modemowego serwer dokonujący uwierzytelniania wysyła komunikat wzywający klienta.
- Klient hashuje komunikat wezwania serwera ze swoim hasłem użytkownika i przesyła do serwera.
- Serwer sprawdza odpowiedź dokonując tego samego obliczenia co klient. Jeżeli wszystko się powiedzie, wysyłane jest potwierdzenie udanego uwierzytelnienia.
- 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ż
- Password Authentication Protocol
- protokół komunikacyjny
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.).