Hašovací funkce nové generace SNMAC Vlastimil Klíma Nezávislý kryptolog, v.klima (at) volny.czv.klima (at) volny.cz,

Slides:



Advertisements
Podobné prezentace
Úvod do Teorie her. Vztah mezi reálným světem a teorií her není úplně ideální. Není úplně jasné, jak přesně postavit herněteoretický model a jak potom.
Advertisements

Kryptografie Šifrování
SHA-1 Secure Hash Algorithm Martin Raichl. HASH  Hašovací funkce jsou silným nástrojem moderní kryptologie. Jsou jednou z klíčových kryptologických myšlenek.
Seznámení s asymetrickou kryptografií, díl 1.
Úvod do klasických a moderních metod šifrování Jaro 2008, 7. přednáška.
Asymetrická kryptografie
Historie a princip INTERNET.
PA081 Programování numerických výpočtů Přednáška 2.
PA081 Programování numerických výpočtů
A5M33IZS – Informační a znalostní systémy Datová analýza I.
Základy informatiky přednášky Kódování.
Koreferát: LISp-Miner a (lékařské) ontologie Vojtěch Svátek.
Název projektu: Moderní výuka s využitím ICT
Informatika pro ekonomy II přednáška 4
Regresní analýza a korelační analýza
Soustava lineárních nerovnic
Název projektu: Moderní výuka s využitím ICT
Radek Horáček IZI425 – Teorie kódování a šifrování
Varianty výzkumu Kroky výzkumu Výběrový soubor
Fakulty informatiky a statistiky
Fuzzy logika.
Operační mody blokových šifer a hašovací algoritmy
Ochrana dat Radim Farana Podklady pro výuku. Obsah Kryptografické systémy s tajným klíčem,  výměna tajných klíčů veřejným kanálem,  systémy s tajným.
Nízko-úrovňové přístupy k řešení bezpečnosti
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
Lineární rovnice Lineární rovnice s jednou neznámou máj vzorec
Možnosti modelování požadavků na informační systém
Postup prací na realizaci projektů ETCS v síti SŽDC z pohledu hodnotitele bezpečnosti (2014) Michal Stolín, květen 2014.
Práce se šablonami v MS Word 2007
FÁZE NÁCVIKU SLOHOVÉHO PROJEVU
Systémy pro podporu managementu 2 Inteligentní systémy pro podporu rozhodování 1 (DSS a znalostní systémy)
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
Historie kryptografie
VIII. jarní konference energetických manažerů Poděbrady 9. března 2004
Autor: MIROSLAV MAJCHER
Zablokování (deadlock, smrtelné objetí, uváznutí)
Rozhodovací proces, podpory rozhodovacích procesů
Projektový cyklus, analýza SWOT
Šifrovací algoritmy EI4. DES – Data Encryption Standard  Soukromý klíč  56 bitů  Cca 7,2 x klíčů  Rozluštěn v roce 1997.
BIS Elektronický podpis Roman Danel VŠB – TU Ostrava.
Radim Farana Podklady pro výuku
Feistlovy kryptosystémy Posuvné registry Lucifer DES, AES Horst Feistel Německo, USA IBM.
Troubleshooting Hledání příčin poruch Metody pro určení proč něco nepracuje správně, nebo neposkytuje očekávané výsledky.
Hybridní kryptosystémy
1 Hašovací funkce, MD5 a čínský útok Vlastimil Klíma Seminář Bezpečnost Informačních Systémů v praxi,
Kvadratické nerovnice
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Ekonomika malých a středních podniků Přednáška č. 10: Personální řízení v MSP.
ČÍST CIZOJAZYČNÉ KNÍŽKY ?.  Asi každý z nás někdy narazil na nějakou knížku, časopis nebo jakýkoliv jiný materiál, který sice obsahoval velice zajímavé.
Informační bezpečnost VY_32_INOVACE _BEZP_16. SYMETRICKÉ ŠIFRY  Používající stejný šifrovací klíč jak pro zašifrování, tak pro dešifrování.  Výhoda.
Nastavení serverů OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
SOFTWARE Operační systémy.
Diskusní příspěvek k tématu Kdo zastaví propad českého stavebnictví?
Úvod do databázových systémů
Prezentace – X33BMI Petr PROCHÁZKA
Varianty výzkumu Kroky výzkumu Výběrový soubor
Soustava lineárních rovnic
Operační program Vzdělávání pro konkurenceschopnost
Soustava lineárních nerovnic
ZAL – 3. cvičení 2016.
Informatika pro ekonomy přednáška 8
Úvod do klasických a moderních metod šifrování
Soustava lineárních nerovnic
Tradiční metody vývoje softwaru
Úvod do klasických a moderních metod šifrování
ANALÝZA A KLASIFIKACE DAT
HASH.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Hašovací funkce nové generace SNMAC Vlastimil Klíma Nezávislý kryptolog, v.klima (at) volny.czv.klima (at) volny.cz, Mikulášská kryptobesídka 2006, Praha, Hotel Olympik, 7. – 8. prosinec 2006, V tomto příspěvku prezentujeme část výsledků projektu NBÚ Bezpečná hašovací funkce (ST )

Úvod Proč téma hašovací funkce? Prolomena řada hašovacích funkcí. Nalezeny generické slabiny u všech současných hašovacích funkcí. Žádná současná hašovací funkce neposkytuje o nic moc víc než víru v její bezpečnost. Hledá se východisko, nový koncept.

Obsah V příspěvku se zabýváme koncepcí hašovacích funkcí nové generace SNMAC (Special Nested Message Authentication Codes), které byly navrženy v říjnu 2006 [Kli06c]. Použití klasické blokové šifry v kompresní funkci je systémovou chybou konstrukce a příčinou současných i budoucích problémů hašovacích funkcí. Navrhujeme nové kryptografické primitivum - speciální blokovou šifru (SBŠ). Na bázi SBŠ navrhujeme novou třídu hašovacích funkcí SNMAC. – SNMAC je obecnou konstrukcí, která má tyto důkazy bezpečnosti: Coron a kol. [CDMP05] v roce 2005 ukázali, že konstrukce SNMAC se limitně stává výpočetně neodlišitelnou od náhodného orákula. Klíma [Kli06c] v roce 2006 ukázal, že funkce třídy SNMAC jsou výpočetně odolné proti nalezení vzoru a kolize. – Takové důkazy bezpečnosti nemá žádná jiná konstrukce hašovací funkce. Byly navrženy konkrétní instance SBŠ a SNMAC

Bezpečná hašovací funkce Hlavní problém bezpečné hašovací funkce - žádná taková prakticky využitelná funkce neexistuje. Bezkoliznost - nemůže být z principu – Prof. Rivest určitě věřil, že MD5 je kvalitní. Za 14 let… – Kryptografové se snaží matematické zákony oklamat a takovou funkci navrhnout (je potřeba pro zcela praktické věci, jakými jsou digitální podpis apod.) Jednocestnost - všechny "důkazy" jednocestnosti všech používaných hašovacích funkcí jsou založeny na různých matematických modelech. Ty se mohou ukázat jako neodpovídající realitě. Nakonec nám zůstane jen víra v to, že nelze invertovat nějakou složitou funkci. Závěr 1: současný stav – víme, že BHF neexistuje, snažíme se jí ale přiblížit.

Proč nepoužít SHA-2 ? Měla být perspektivní náhradou SHA-1. Dnes už jsou ale obavy o její bezpečnost. – Trpí hlavními generickými útoky na současné hašovací funkce. – Má podobnou strukturu jako SHA-0 a SHA-1, které byly kryptograficky prolomeny. – Neznáme návrhová kritéria. Případné „přídavné zesílení“ bez znalosti návrhových kritérií může tato kritéria porušit a funkce tak zeslabit. Možnosti případného zkvalitnění má jen NSA. – Ve skutečnosti je jejich bezpečnost hodně založena na víře, že je NSA navrhla kvalitně. Závěr 2: Žádná ze současných hašovacích funkcí současnosti není perspektivní, neboť všechny mají bezpečnostní problémy.

Nový koncept NIST – připravuje mnohaletý program na hledání nového konceptu hašovací funkce. Proběhlo několik mezinárodních kryptologických konferencí, žádný nový hašovací standard. – Panelová diskuse, 2nd NIST Cryptographic Hash Workshop, August 2006, USA: – všichni panelisté souhlasili. Závěr 3: Domníváme se, že hlavní příčinou současného stavu je: – Nebyly pojmenovány, analyzovány a zobecněny skutečné příčiny současných útoků na hašovací funkce (lze udělat poměrně snadno) – Chybí teoretický koncept pro novou generaci hašovacích funkcí ( to je velký problém ) – Navrhujeme řešení obou problémů – Antoine Joux: „Nevíme, co děláme a nevíme, co ve skutečnosti chceme…“

Základní model iterativní hašovací funkce

Vznikl v roce klasický Merkle-Damgardův model [Mer89][Dam89]. Je přirozený Je základem všech moderních hašovacích funkcí Trpí všemi hlavními generickými útoky – Útok prodloužením zprávy [Tsu92] – Jouxův [:žuův:] multikolizní útok [Jou04] – Kelsey-Schneierův multivzorový útok [KS05] Závěr 4: Opustit přirozenou konstrukci nemůžeme, musíme se zřejmě smířit s tím, že hašovací funkce nové generace bude z teoretického hlediska náchylná k multikolizním a multivzorovým útokům. Možnou obranou může být výpočetní složitost. (Útoku prodloužením zprávy lze zabránit.)

Současná stavba kompresní funkce Vycházíme z Merkle-Damgardova modelu Konstruujeme kompresní funkci f Při hašování jednoho bloku odpovídá f celé hašovací funkci, takže f by měla být jednosměrná a bezkolizní, nejlépe náhodné orákulum. Závěr 5: hledáme náhodné orákulum na místě kompresní funkce f ~

Současná stavba kompresní funkce Místo funkce f se využívá klasická bloková šifra, ale s úpravami tak, aby vzniklé zobrazení bylo náhodné orákulum (zabraňuje hledání kolizí a vzoru). Nejčastěji Davies-Meyerova a Miyaguchi-Preneelova úprava.

Současná stavba kompresní funkce Další varianty navrhli Black a kol. [BRS02] v r (na obrázku je výběr) Lze je všechny charakterizovat výrazem E Lin (Lin) xor Lin, kde Lin jsou jakékoliv (různé) lineární kombinace původních jednoduchých vstupů (h i-1, m i )

Současná stavba kompresní funkce Další variantu navrhl Hirose v roce 2004 [Hir04] Lze ho charakterizovat jako dvojici ( E Lin (Lin) xor Lin, E Lin (Lin) xor Lin ) kde Lin jsou opět nějaké lineární kombinace původních jednoduchých vstupů

Současná stavba kompresní funkce Všechny hlavní současné hašovací funkce mají tuto stavbu: E Lin (Lin) xor Lin Zdála se být vyhovující Dokud nepřišly útoky na MD, SHA a jiné Ukázaly, že tato stavba je špatná

Skutečné příčiny současných útoků na hašovací funkce Útoky na MD5, SHA-0, SHA-1 aj.využily toho, že při konstantním otevřeném textu lze změnami v klíči řídit změny na výstupu použité blokové šifry (pro klasické blokové šifry je to nesmysl, ale o tom až za chvíli) Při dvou otevřených textech, které mají určitou diferenci, se tyto změny dají řídit současně až do vzájemného vynulování (nebo docílení předem dané diference na výstupu) (pro klasické blokové šifry je to dvojitý nesmysl, ale o tom až za chvíli)

Skutečné příčiny současných útoků na hašovací funkce Útoky lze zobecnit z diferencí v (h i-1, m i ) na diference v lineárních kombinacích původních jednoduchých vstupů Principiálně lze stejně útočit na všechna schémata typu E Lin (Lin) xor Lin, což jsou všechna současná schémata i zdánlivě komplikované schéma Hirose Závěr 6: Pokud bloková šifra umožní propagaci změn v otevřeném textu a/nebo v klíči do šifrového textu, není vhodná pro konstrukci typu E Lin (Lin) xor Lin Ale klasické blokové šifry nebyly konstruovány proto, aby a priori tomuto zabránily

Protože …. u moderních blokových šifer se klíč volí náhodně (RNG, KDF, haš) a předpokládá se, že ho útočník nezná Klasické blokové šifry nebyly a nejsou připraveny na to, – že by útočník při konstantním otevřeném textu mohl volit klíč a manipulovat s ním (klíč není jeho vlastnictvím, nezná ho, teprve později se vyskytly chybové kanály, které připustily možnost znalosti diference v klíči, ale nikoli znalost vlastní hodnoty klíče) – že by bylo životně důležité zabránit řízené propagaci těchto změn v klíči do změn v šifrovém textu (klíč se volí náhodně, není znám útočníkovi, diference v klíči jsou omezeně dostupné útočníkovi) – že by bylo životně důležité zabránit řízené propagaci změn v otevřeném textu a současně v klíči do změn v šifrovém textu (klíč se volí náhodně, není znám útočníkovi, diference v klíči jsou omezeně dostupné útočníkovi, ale při jakémkoliv útoku alespoň část z hodnot (OT, klíč) není známa útočníkovi) Kolize v MD5, SHA-0, SHA-1 aj. využily právě nepřipravenost jejich blokových šifer na uvedené tři útoky. Závěr 7: Klasické blokové šifry u všech současných hašovacích funkcí nejsou na uvedené tři útoky a priori připraveny a proti nim konstruovány. Všechny současné hašovací funkce jsou principiálně těmito útoky ohroženy. Znalost, možnost manipulace všemi vstupy f (tj. i blokové šifry E)

Skutečné příčiny současných útoků na hašovací funkce Závěr 8: Základní hluboký rozpor mezi klasickou blokovou šifrou a kompresní funkcí je, že u blokové šifry útočník nezná všechny vstupy a nemá možnost s nimi libovolně manipulovat, zatímco u hašovací funkce ano. (Abychom se možnosti manipulace se všemi vstupy vyhnuli, předsadili jsme jim náhodná orákula.) Dokud tento rozpor nevyřešíme, budeme stále potvrzovat Jouxovo: „Nevíme, co děláme a nevíme, co ve skutečnosti chceme…“ Chceme náhodné orákulum. Pokusme se zabránit řízení diferencí v klíči a v otevřeném textu použitím nějaké nelineární funkce místo lineární, která diference v (hi-1, mi) nepropaguje na výstup Bude to fungovat Potřebujeme jen kvalitní nelineární funkci, která převádí (hi-1, mi) na výstup, třeba funkci f: Ocitli jsme se na začátku problému. Konstrukce pomocí blokové šifry nám nepomohla. Proč?

Skutečné příčiny současných útoků na hašovací funkce Rozpory mezi klasickou blokovou šifrou a hašovací funkcí jsou ještě hlubší Klasická bloková šifra E k (x) Kompresní funkce f Obsahuje prvek neznámý útočníkovi (Moderní útoky začínají zeslabovat vlastnost neznalosti klíče) Útočník zná všechny vstupy kompresní funkce a může s nimi dokonce manipulovat Je určena k zakrytí struktury a obsahu otevřeného textu v šifrovém textu na základě tajného prvku, neznámého útočníkovi Je určena k zakrytí struktury a obsahu (nejen části, ale) celého vstupu ve výstupu, neopírá se o žádný utajený prvek Při fixovaném klíči je permutacíPožaduje se náhodné zobrazení Je invertibilníPožaduje se neinvertibilita Bezkoliznost je nezajímavou vlastností x2 = Dk2(Ek1(x1)) Požaduje se bezkoliznost

Skutečné příčiny současných útoků na hašovací funkce Klasické blokové šifry - útočník nezná šifrovací klíč - pomocí něj se utajuje způsob převodu otevřeného textu na šifrový a naopak. Stavební prvky, které spoléhají na něco utajeného. Utajenost "zneužívána" k tomu, že bity klíče jsou použity velmi jednoduše (TripleDES, AES). Nebyl důvod připravovat blokovou šifru na to, že útočník zná šifrovací klíč. To by byl nesmysl. Pokud odstraníme předpoklad utajenosti klíče, už se nejedná o klasickou blokovou šifru, ale náhodné orákulum. Závěr 9: Nejzákladnější příčinou problémů současných hašovacích funkcí je to, že místo náhodného orákula používají stavební prvek, který byl původně určen pro řešení problému utajení dat.

2.hlavní téma: Návrh náhodného orákula - speciální blokové šifry (SBŠ) (U ideální blokové šifry jsme museli zajistit tak jako tak, že výše uvedené zobrazení je náhodné orákulum, a to pro jakýkoliv pevný otevřený text) Využijeme technologii blokových šifer Klíč je u SBŠ potřeba zpracovávat velmi silně, a to zhruba na stejné úrovni jako dříve otevřený text u klasické blokové šifry Výhoda: homogenita vstupních prvků, jednocestnost, náhodnost, cílená složitost Toto náhodné orákulum nazýváme speciální bloková šifra Náhodné orákulum konstruujeme jako zobrazení f: {0, 1} K  {0, 1} n : k  E k (Const 0 )

3.hlavní téma: Jak z malého náhodného orákula udělat velké ? Nelze to jednoduše, jak ukázaly tři generické útoky na uvedenou konstrukci Řešení přinesly konstrukce NMAC a HMAC, navržené v roce 1996 [BCK96] Důkazy vlastností – Coron a kol [CDMP05], Klíma 2006 [Kli06c] <-<-

Konstrukce NMAC a HMAC Obrana proti útoku prodloužením zprávy Coron a kol. [CDMP05] ukázali, že při zvyšování délek bloku do nekonečna se NMAC a HMAC stávají výpočetně neodlišitelnými od náhodných orákul (náhodná orákula to být nemohou – viz generické útoky, ale mohou být od nich obtížně odlišitelné) Z hlediska konkrétních útoků na získání vzorů a kolizí byly získány kvantitativní důkazy [Kli06c]: k nalezení kolize nebo vzoru u konstrukcí NMAC a HMAC by případný útočník nutně potřeboval řádově tolik operací jako kdyby místo nich byla náhodná orákula. Takové kvalitativní a kvantitativní důkazy nemá žádná jiná konstrukce. Tím se problém BHF uzavírá následujícím návrhem.

4. Téma: SNMAC – Special Nested Message Authentication Code Závěr 10: Koncept SNMAC může být kandidátem na hašovací funkce nové generace. Má dokazatelnou výpočetní odolnost proti nalezení vzoru a kolize, limitně se blíží náhodnému orákulu a umožňuje návrh různých instancí pomocí různých SBŠ. Návrh nepředepisuje instance SBŠ, jen se říkají jejich vlastnosti. Konkrétní instance SBŠ (funkce DN) a na ní založené hašovací funkce (HDN) byly navrženy a budou brzy publikovány [Kli06b]. Velikost hašovacího kódu HDN je 512 bitů a rychlost při použití „vojenské“ bezpečnostní rezervy je cca 3-4x nižší než u SHA-512. V komerční verzi je možné téměř stejný výkon jako u SHA-512. (Programový kód nebyl optimalizován.) f, g – speciální blokové šifry f: {0, 1} K  {0, 1} n : X  E X (Const 0 ) g: {0, 1} n  {0, 1} n : X  E X (Const 1 )

Literatura [BCK96] M. Bellare, R. Canetti and H. Krawczyk. Keying hash functions for message authentication. Advances in Cryptology – CRYPTO ’96, Lecture Notes in Computer Science Vol. 1109, pp. 1-15, Springer-Verlag, [BCJ05] E. Biham, R. Chen, A. Joux, P. Carribault, Ch. Lemuet and W. Jalby. Collisions of SHA-0 and Reduced SHA-1. Advances in Cryptology –EUROCRYPT 2005, Lecture Notes in Computer Science Vol. 3494, pp. 36–57, Springer-Verlag, [BDK07] E. Biham, O. Dunkelman, and N. Keller. A Simple Related-Key Attack on the Full SHACAL-1, to be published, CT-RSA 2007, RSA Conference 2007, Cryptographers' Track, February 5-9, 2007, Moscone Center, San Francisco, USA. [Bih05] E. Biham: Recent advances in hash functions and the way to go, Conference on Hash Functions (Ecrypt Network of Excellence in Cryptology), June 23-24, 2005, Przegorzaly (Krakow), Poland, [BRS02] J. Black, P. Rogaway, T. Shrimpton. Black-Box Analysis of the Block-Cipher-Based Hash-Function Constructions from PGV. Advances in Cryptology – CRYPTO 2002, Lecture Notes in Computer Science Vol. 2442, pp , Springer-Verlag, Extended version: Cryptology ePrint Archive, Report 2002/066, [CDMP05] J. S. Coron, Y. Dodis, C. Malinaud and P. Puniya. Merkle-Damgard Revisited: how to construct a hash-function. Advances in Cryptology – CRYPTO 2005, Lecture Notes in Computer Science Vol. 3621, pp , Springer-Verlag, 2005.

Literatura [Dam89] I. Damgard. A Design Principle for Hash Functions. Advances in Cryptology - CRYPTO 1989, Lecture Notes in Computer Science Vol. 435, pp. 416–427, Springer-Verlag, [Hir04] S. Hirose: Provably secure double-block-length hash functions in a black-box model, Information Security and Cryptology - ICISC 2004, 7th International Conference, Seoul, Korea, December 2-3, 2004, Lecture Notes in Computer Science, Vol. 3506, pp [Jou04] A. Joux. Multicollisions in Iterated Hash Functions. Advances in Cryptology - CRYPTO 2004, Lecture Notes in Computer Science Vol. 3152, pp. 306–316, Springer-Verlag, [Kli06a] V. Klima. Tunnels in Hash Functions: MD5 Collisions Within a Minute, Cryptology ePrint Archive, Report 2006/105, 18 March, [Kli06b] SNMAC homepage (in Czech), (in English). [Kli06c] V. Klima: A New Concept of Hash Functions SNMAC Using a Special Block Cipher and NMAC/HMAC Constructions, IACR ePrint archive Report 2006/376, October, 2006, (in English), Nový koncept hašovacích funkcí SNMAC s využitím speciální blokové šifry a konstrukcí NMAC/HMAC, (in Czech).Report 2006/ [KS05] J. Kelsey and B. Schneier. Second Preimages on n-Bit Hash Functions for Much Less than 2 n. Advances in Cryptology - EUROCRYPT 2005, Lecture Notes in Computer Science Vol. 3494, pp. 474–490, Springer-Verlag, 2005.

Literatura [Mer89] R. C. Merkle. One Way Hash Functions and DES. Advances in Cryptology - CRYPTO 1989, Lecture Notes in Computer Science Vol. 435, pp. 428–446, Springer-Verlag, [MMO85] S. M. Matyas, C. H. Meyer and J. Oseas. Generating strong one-way functions with cryptographic algorithm. IBM Techn. Disclosure Bull., Vol. 27, No. 10A, 1985, pp [MPRR06a] F. Mendel, N.Pramstaller, C.Rechberger, and V.Rijmen. Analysis of Step-Reduced SHA-256, to be published, FSE 2006 [PGV03] B. Preneel, R. Govaerts, and J. Vandewalle. Hash functions based on block ciphers: A synthetic approach. In Advances in Cryptology – CRYPTO ’93, Lecture Notes in Computer Science, pages 368–378. Springer-Verlag, [Tsu92] G. Tsudik. Message authentication with one-way hash functions. ACM Computer Communications Review, 22(5):29-38, 1992.