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
user3579@planet.nl  *             myfavoritepet

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

Zobacz też

Linki zewnętrzne