Problematika náhodných a pseudonáhodných sekvencí v kryptografických eskalačních protokolech a implementacích na čipových kartách Masarykova univerzita v Brně Fakulta informatiky Jan Krhovják
Kryptografické eskalační protokoly (EP) Umožňují autentizované ustavení kvalitních kryptografických klíčů Založeny na použití dat s nízkou entropií (např. PINů či hesel) Odolné vůči off-line útokům hrubou silou (tedy i vůči slovníkovým útokům) Klíč k symetrickému šifrování = heslo či PIN => šifrovaná data musí být nerozlišitelná od náhodných dat Stále zranitelné on-line útoky Na mezilehlých uzlech nevyžadují žádná perzistentní data Praktická aplikace Kerberos, náhrada za zastaralé internetové protokoly Vzdálený přístup k čipovým kartám, nový model pro sítě bankomatů Příklady některých analyzovaných protokolů EKE, DHEKE, MEKE, DWEKE, SPEKE AEKE, ASPEKE, BSPEKE, BEKE, SRP, PDM 2
Diffie-Hellman Encrypted Key Exchange (DHEKE) DHEKE je EKE založen na DH výměně klíčů DH hodnoty jsou symetricky zašifrovány pomocí hesla P E P (α x mod β) a E P (α y mod β) Není potřeba přenosu klíče K K je odvozen z hodnoty α xy mod β Celý protokol (základ mnoha složitějších protokolů) A->B: E P (α x mod β); A<-B: E P (α y mod β), E K (R B ); A->B: E K (R A,R B ); A<-B: E K (R A ); Velikost modulu β chráněného heslem může být menší Kvalita klíčů nezávisí jen na délce klíče či návrhu EP Základním požadavkem je náhodnost a nepředvídatelnost Závisí na použitých TRNG a PRNG 3
Generování náhodných a pseudonáhodných sekvencí/čísel Zaměření především na TRNG a PRNG vhodné pro čipové karty TRNG kde vzít náhodnost v integrovaném obvodu? Analogové obvody velká spotřeba energie a plochy čipu; lze ovlivnit Metastabilní obvody dobrý zdroj náhodnosti; těžce vyrobitelné Praxe přímé zesílení zdroje šumu, vzorkování nestabilního oscilátoru PRNG u SW implementace do čip. karet paměťová nenáročnost LCG předvídatelný výstup; pro kryptografické účely nevhodný LFSR efektivně implementovatelný; dobře teoreticky zmapován; sám o sobě ne příliš bezpečný; základní blok složitějších PRNG Kryptograficky bezpečné BBS, Micali-Schnorr a RSA PRNG Založené na běžných kryptografických funkcích ANSI X9.17, FIPS 186 Kryptoanalytické útoky na PRNG ANSI X9.17, FIPS 186, RSAREF 2.0 Náhodnost je pravděpodobnostní vlastnost => může být testována Týká se TRNG i PRNG nenahrazuje však kryptoanalýzu! FIPS 140-1/2 doporučuje spouštění testů při každém restartu čipové karty 4
Statistické testování náhodnosti Existuje mnoho (sad) testů např. DIEHARD, NIST, CRYPT-XS Žádná z nich však nemůže být považována za úplnou Výsledky testování musí být interpretovány s jistým nadhledem Vše je založeno na testování statistických hypotéz Hladina významnosti α je v kryptografii volena mezi 0,01 a 0,0001 Testové statistiky standardizované normální či χ 2 rozložení Námi použitá sada NIST využívá k interpretaci výsledků P-hodnoty Nejmenší pozorovaná hladina významnosti na níž může být hypotéza zamítnuta Testováno procento zamítnutých sekvencí Testováno také rozložení výsledných P-hodnot (testy dobré shody) Provedení a výsledky testů (neznámých TRNG) Testovány 4 čipové kary => 4 sekvence po 50MB a jedna 1GB sekvence Celkově všechny sekvence všemi (9-15) testy úspěšně prošly 5
Závěr EP se stávají velmi oblíbenými a v současné době jsou v procesu standardizace IEEE P1363.2 draft verze 20 Mají-li být ustavené klíče kvalitní, musí být kvalitní i použité generátory (pseudo)náhodných čísel Zajímavá paralela mezi EP a RNG EP: Krátký PIN => kvalitní (a dostatečně dlouhý) klíč RNG: Krátké TR sekvence => kvalitní (a dlouhé) PR sekvence Kvalita (pseudo)náhodných sekvencí lze testovat (testování však v žádném případě nenahrazuje kryptoanalýzu) Projdou TRNG na čipových kartách testy i za nestandardních vnějších podmínek (změny napětí a proudu, hodinového taktu, teploty, radiace )??? 6