====== CHAP (Challenge-Handshake Authentication Protocol) ====== **CHAP** je autentizační protokol, který pravidelně ověřuje identitu vzdáleného klienta pomocí "třícestného podání ruky". Na rozdíl od staršího protokolu PAP (Password Authentication Protocol), který posílal heslo v čitelném textu, CHAP využívá kryptografické **[[hashovani|hashování]]**. Tento protokol je definován v normě RFC 1994 a je klíčový pro zabezpečení vytáčených spojení (dial-up), virtuálních soukromých sítí (VPN) a úložišť typu iSCSI. ---- ====== Jak CHAP funguje (Třícestné podání ruky) ====== Proces ověření probíhá bezpečně díky tomu, že obě strany (klient i server) znají stejné heslo (tzv. "shared secret"), ale nikdy si ho navzájem nepošlou. 1. **Výzva (Challenge):** Server vygeneruje náhodný řetězec dat (tzv. nonce) a pošle ho klientovi. 2. **Odpověď (Response):** Klient vezme tuto výzvu, spojí ji se svým heslem a pomocí hashovací funkce (obvykle MD5) vypočítá výsledek (hash). Tento hash pošle zpět serveru. 3. **Ověření (Verification):** Server provede stejný výpočet (má k dispozici stejnou výzvu i heslo klienta). Pokud se výsledek serveru shoduje s hashem od klienta, potvrdí autentizaci. ---- ====== Klíčové vlastnosti a výhody ====== * **Ochrana proti odposlechu:** Protože se po síti posílá pouze hash a náhodná výzva, útočník nemůže z těchto dat zpětně získat původní heslo. * **Ochrana proti opakování útoku (Replay Attack):** Výzva je pokaždé jiná (náhodná). I kdyby útočník zachytil odpověď klienta, nemůže ji použít při příštím přihlášení, protože příští výzva bude vyžadovat jiný hash. * **Průběžné ověřování:** Server může poslat výzvu klientovi kdykoliv během trvání spojení, aby se ujistil, že nebyl klient nahrazen útočníkem. ---- ====== Srovnání: PAP vs. CHAP ====== ^ Vlastnost ^ PAP ^ CHAP ^ | **Přenos hesla** | Čitelný text (Plaintext). | Pouze hash (jednosměrný otisk). | | **Bezpečnost** | Velmi nízká. | Vysoká (standard pro P2P). | | **Opakování výzvy** | Pouze při navazování spojení. | Kdykoliv během spojení. | | **Nároky na CPU** | Minimální. | Vyšší (kvůli výpočtům hashe). | ---- ====== MS-CHAP: Varianta od Microsoftu ====== Microsoft vyvinul vlastní verzi **MS-CHAP**, která se často používá v sítích Windows a VPN (PPTP). * **MS-CHAP v2** je vylepšená verze, která umožňuje **vzájemnou autentizaci** – nejen server ověřuje klienta, ale i klient si ověří, že komunikuje se správným serverem. ---- //Související pojmy: SSL/TLS, VPN, Hashování, MD5, Man-in-the-Middle, IP adresa, Autentizace.//