Challenge-handshake authentication protocol

Z Multimediaexpo.cz

Challenge Handshake Authentication Protocol (CHAP) slouží k prokazování totožnosti při použití protokolu PPP. Protokol CHAP řeší nedostatky protokolu PAP a je definovaný v RFC 1994.

Obsah

Autentizace

Klient i server sdílí stejný šifrovací klič symetrické šifry. Protokol CHAP komunikuje ve třech krocích.

  1. V prvním kroku příkazem Challenge odešle server vzdálenému klientovi výzvu obsahující náhodný řetězec. Pakety Challenge mohou být v průběhu komunikace odesílané kdykoliv z důvodu ověření klienta.
  2. Vzdálený klient zašifruje řetězec pomocí jednocestné funkce známé jako hash např. pomocí algoritmu MD5. Výsledek vloží do odpovědi (Respone) a odešle vzdálenému serveru.
  3. Vzdálený server obdržel zašifrovanou zprávu od klienta. Server zašifruje původní zprávu, kterou odeslal klientovi stejným způsobem a porovná se zprávou, kterou získal od vzdáleného klienta. Pokud je výsledek schodný, tak dojde k potvrzení autentizace (Secces) při neshodě k zamítnutí autentizace (Failure).

Výhoda protokolu CHAP je oboustranná autentizace, tj. autentizace klienta proti serveru a autentizace serveru proti klientovi.

Bezpečnost v protokolu CHAP

Před zneužití a odchycení hesla slouží serveru změna Challenge a narůstající identifikátor v odeslaných paketech. Klient při odesílání odpovědí serveru vkládá do paketu důsledně okopírované identifikátory, které slouží serveru ke správnému vybrání Challenge pro vlastní výpočet pomocí funkce hash.

CHAP paket

Název(anglicky) 1 byte 1 byte 2 byte 1 byte Proměnná Proměnná
Challenge Code = 1 ID Délka Challenge délka Challenge hodnota Jméno
Response Code = 2 ID Délka Response délka Response hodnota Jméno
Success Code = 3 ID Délka Zpráva
Failure Code = 4 ID Délka Zpráva
  • Rámec protokolu PPP s vloženým paketem protokolu CHAP (pole má hodnotu C223 (hex))
Křídlová značka Adresa Řídicí pole Protokol (C223 (hex)) DATA Kontrolní součet Křídlová značka

Reference