Protokoly pro ustanovení kryptografického klíče Shkodran Gerguri 2010 Obsah prezentace * Základní pojmy * Model útočníka * Protokoly pro transport klíče * Protokoly pro dohodu klíče * Další protokoly ­ ve zkratce Kryptografické protokoly * Algoritmy používající kryptografická primitiva pro dosažení nějakého (kryptografického) cíle * Autentizační protokoly * Protokoly pro ustanovení klíče * Obsahem prezentace ­ vybrané protokoly pro ustanovení klíče (především) pro dvě strany Kryptografický protokol * Komunikující strany * Lokální výpočty na straně účastníků * Posílané zprávy a odpovědi na ně * Obvyklé značení komunikujících ­ (A)lice, (B)ob, zprávy značené šipkami od odesilatele k příjemci * Přenosové médium? Komunikační kanál * Abstraktní médium, konkrétní podoba ani charakteristiky nejsou předepisovány * Nezabezpečený, pokud se neřekne jinak * (Potenciální) útočník má plnou kontrolu nad kanálem, zprávy může odposlouchávat, modifikovat, měnit jejich pořadí, zahazovat, opakovaně přehrávat,... * Model poprvé popsaný v r. 1978 Rogerem Needhamem a Michaelem Schroederem, spolu s jedním z prvních protokolů pro výměnu klíče a digitální podpis Protokoly pro ustanovení klíče - motivace * Kryptografie veřejného klíče je pomalejší, často vyžaduje dlouhé klíče (problém s kvalitním zdrojem entropie) * Symetrická kryptografie oproti tomu rychlá, algoritmy často snadno implementovatelné pomocí základních logických funkcí, klíče podstatně kratší * Dvě strany si chtějí poslat šifrovaný text, k tomu ovšem potřebují sdílet tajný klíč * Řešení - protokol Typy protokolů pro ustanovení klíče * Protokoly pro transport klíče ­ klíč volí jedna strana, ostatním se pošle * Protokoly pro dohodu klíče ­ na klíči se podílí více stran, výsledný klíč spočítá na základě vstupů každá strana samostatně * Využití symetrické i asymetrické kryptografie * Trusted Third Party (TTP) ­ důvěryhodná třetí strana, často přítomna v protokolech používajících symetrickou kryptografii Speciální protokoly * Key pre-distribution ­ ,,předdistribuce klíče" * Secret sharing schemes ­ ,,rozdělení klíče" do částí * Conference/Group/Multiparty key distribution/agreement ­ protokoly pro ustanovení klíče ve skupině (příklad na závěr) Charakteristiky protokolů * Využití důvěryhodné třetí strany * Autentizace klíče * Potvrzení klíče * Explicitní autentizace klíče * Druhotné charakteristiky ­ autentizace účastníka, čerstvost klíče, kontrola nad klíčem, obecné charakteristiky protokolu Útoky na protokoly * Aktivní útoky * Pasivní útoky ­ pouze odposlech a následné výpočty nad získanými daty * Speciální kategorie aktivních útoků ­ Man-inthe-middle, replay, relay, reflexion,... * Kompromitování dlouhodobého klíče (perfect forward secrecy) * Kompromitování dřívějšího session klíče (known-key attack) Protokoly pro transport klíče * Shamirův bezklíčový protokol * Kerberos * X.509 Strong Two-Way Authentication Shamirův protokol bez klíče * Strany nesdílí žádnou tajnou informaci, nemají veřejné klíče * Veřejné parametry ­ prvočíslo p, určuje multiplikativní grupu pro modulární aritmetiku Shamirův bezklíčový protokol Shamir - slabiny * Parametry a, b de-facto dlouhodobé klíče, negarantuje perfect forward secrecy * Chybí kontrola klíče ­ vnucení starého klíče * Man-in-the-Middle útok ­ simultánní zahájení běhu protokolu s A i B * Odolnost proti pasivním útokům založena na problému diskrétního logaritmu Kerberos * Protokol pro autentizaci uživatelů a ustanovení session keys * Systém realizující protokol * Protokol využívající TTP pro snížení celkového počtu klíčů (úplný graf -> hvězda) * TTP předpřipraví data pro komunikující dvojici * Předpřipravená data ­ ticket ­ časově omezena Kerberos Kerberos - charakteristiky * Oboustranná autentizace + potvrzení klíče * Tickets mají nastavenu dobu platnosti -> stačí zprávy č. 3 a 4 * Není specifikováno, jak se odvodí klíč (záleží na aplikaci) * Malé okno, ve kterém lze provést known-key attack (drift mezi hodinami dvou stran) * Negarantuje perfect forward secrecy * Podobné protokoly ­ Needham-Schroeder (bez doby platnosti ticketu), Bellare-Rogaway (MAC, TTP provede finální distribuci) X.509 Strong Two-Way Authentication * Protokol pro vzájemnou autentizaci s výměnou klíče * Používá asymetrickou kryptografii * Netradičně ­ podpis zašifrované zprávy (signature stripping), obrana zanořením důležitých informací do kryptotextu * Protokol je plně symetrický ­ obsah zpráv je (strukturně) shodný X.509 Two-Way Authentication X.509 Two-Way Authentication * Použití časových značek a neopakovatelných čísel pro ochranu proti přehrání * Neposkytuje perfect forward secrecy (dlouhodobé klíče svázané s certifikátem) * Podobný protokol ­ Needham-Schroeder, verze s veřejným klíčem Protokoly pro dohodu klíče * Diffie-Hellman Key Agreement * MTI/A0 Two-Pass Key Agreement * Station-to-Station Key Agreement Diffie-Hellman * Založeno na praktické nerealizovatelnosti výpočtu diskrétního logaritmu ve velkých grupách * Veřejné parametry ­ náhodné prvočíslo p, generátor grupy Zp * Diffie-Hellman Diffie-Hellman * Absence klíčů a tajných informací * Minimální počet zpráv pro dohodu klíče * Zajišťuje perfect forward secrecy * Odolný vůči known-key attack * Man-in-the-Middle útok * Odvozené protokoly - ElGamal key agreement, Diffie-Hellman key pre-distribution MTI/A0 * Podobné Diffie-Hellmanovi, ale používá speciální ,,dlouhodobé klíče" * Zajištuje perfect forward secrecy, odolné vůči MITM * Known-key útoky ­ paralelní běhy, Burmesterova triangulace MTI/A0 Station-to-Station