Challenge-handshake authentication protocol
Author
Albert FloresChallenge-handshake authentication protocol (CHAP) je autentizační protokol, který se používá k ověřování identit uživatelů připojených k síťovým službám. CHAP umožňuje serveru ověřit identitu klienta pomocí výměny výzvy a odpovědi. Tento protokol poskytuje vyšší úroveň bezpečnosti proti útokům typu "zrcadlo", při kterých se pokouší útočník napodobit komunikaci mezi klientem a serverem. CHAP je navržen tak, aby byl odolný vůči různým druhům útoků, včetně pasivního odposlouchávání a přeposílání údajů. Tento protokol je používán v mnoha síťových aplikacích, včetně systémů pro přístup k internetu a virtual private networks (VPN).
Autentizace
Klient i autentizační server sdílí stejný šifrovací klíč symetrické šifry. Autentizace v protokolu CHAP probíhá ve třech krocích.
# 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. +more # 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 SHA-2. Výsledek vloží do odpovědi (Response) a odešle autentizačnímu serveru. # 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). # 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
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
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
Alena Kabelová, Libor Dostálek: Velký průvodce protokoly TCP/IP a systémem DNS, CP Books, 2005; * [url=http://www. sweb. +morecz/ozub81/protokoly/sem/semestralka. pdf]Autentizační protokoly používané v PPP[/url].