Challenge-handshake authentication protocol

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

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.

Autentizace[editovat | editovat zdroj]

Klient i server sdílí stejný šifrovací klíč 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 (Response) 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 shodný, tak dojde k potvrzení autentizace (Success) 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[editovat | editovat zdroj]

Proti 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ě zkopírované identifikátory, které slouží serveru ke správnému vybrání Challenge pro vlastní výpočet pomocí hashovací funkce.

CHAP paket[editovat | editovat zdroj]

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[editovat | editovat zdroj]