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 autentizační server sdílí stejný šifrovací klíč symetrické šifry. Autentizace v protokolu CHAP probíhá ve třech krocích.

  1. Nejprve je ustanoveno spojení mezi klientem a autentizačním serverem. Následně autentizační server odešle klientovi příkazem Challenge výzvu, obsahující náhodný řetězec.
  2. Klient vhodně spojí přijatý náhodný řetězec se sdíleným tajemstvím (šifrovací klíč) a výsledek zašifruje pomocí jednocestné funkce, známé jako hash, např. pomocí algoritmu MD5. Výsledek vloží do odpovědi (Response) a odešle autentizačnímu serveru.
  3. Autentizační server obdržel zašifrovanou zprávu od klienta. Server zašifruje původní zprávu, kterou odeslal klientovi stejným způsobem, jako to udělal klient, a porovná se zprávou, kterou získal od klienta. Pokud je výsledek shodný, tak dojde k potvrzení autentizace (Success) při neshodě k zamítnutí autentizace (Failure).
  4. Pakety Challenge mohou být v průběhu komunikace odesílané kdykoliv v náhodných opakujících intervalech z důvodu ověření klienta (opakují se kroky 1 až 3).

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]