380 likes | 473 Views
Langzeitsichere Signaturen durch den Einsatz hashbasierter Signaturverfahren. Andreas Hülsing , Johannes Braun. Langzeitsicherheit. Realwelt : Handschriftliche Signatur theoretisch unendlich gültig. Digital: Sicherheit Kryptographischer Schlüssel „verblasst“
E N D
Langzeitsichere Signaturen durch den Einsatz hashbasierter Signaturverfahren Andreas Hülsing,Johannes Braun 16.05.2013 | TU Darmstadt | A. Huelsing| 1
Langzeitsicherheit Realwelt: • Handschriftliche Signatur theoretisch unendlich gültig • Digital: • Sicherheit Kryptographischer Schlüssel „verblasst“ • Verfahren können plötzlich unsicher werden 16.05.2013 | TU Darmstadt | A. Huelsing | 2
Outline • Hash-basierte Signaturen • Langzeitsicherheit 16.05.2013 | TU Darmstadt | A.Huelsing | 3
Hash-basierte Signaturen 16.05.2013 | TU Darmstadt | A. Huelsing | 4
RSA – DSA – EC-DSA - … Trapdoor one-way function Collision resistant hash function RSA, DH, SVP, MQ, … Digital signature scheme 16.05.2013 | TU Darmstadt | A. Huelsing | 5
Merkles Signaturverfahren PK h OTS OTS OTS OTS OTS OTS OTS OTS h h h h h h h h h h h h h h Secret Key 16.05.2013 | TU Darmstadt | A. Huelsing | 6
State ofthe Art eXtended Merkle SignatureScheme (XMSS) / [PQ-Crypto, 2011] XMSS+ [SAC 2012] • MinimalekomplexitätstheoretischeAnnahmen • GenerischeKonstruktion • Effizient (vergleichbarmit RSA) • Vorwärtssicher 16.05.2013 | TU Darmstadt | A. Huelsing | 7
Vorwärtssichere Digitale Signaturen 16.05.2013 | TU Darmstadt | A. Huelsing | 8
VorwärtssichereDigitaleSignaturen pk classical sk pk forward sec sk sk1 sk2 skT ski time tT ti t1 t2 Key gen. 16.05.2013 | TU Darmstadt | A. Huelsing | 9
XMSS Implementierungen C Implementierung mit OpenSSL Intel(R) Core(TM) i5 CPU M540 @ 2.53GHz with Intel AES-NI 16.05.2013 | TU Darmstadt | A. Huelsing | 10
XMSS Implementierungen Smartcard Implementierung Infineon SLE78 16Bit-CPU@33MHz, 8KB RAM, TRNG, Sym. co-processor 16.05.2013 | TU Darmstadt | A. Huelsing | 11
Langzeitsicherheit 16.05.2013 | TU Darmstadt | A. Huelsing | 12
XMSS Langzeitmechanismen • „Frühwarnsystem“ • Redundanz • Effizientere Archivierung (siehe Robuste PKI) FREE 16.05.2013 | TU Darmstadt | A. Huelsing | 13
Frühwarnsystem 16.05.2013 | TU Darmstadt | A. Huelsing | 14
Eigenschaften von (Hash)Funktionsfamilien stark / leichter Kollisionsresistenz Annahme / Angriffe 2nd-preimage-resistenz Pseudozufällig Einweg schwach / schwerer 16.05.2013 | TU Darmstadt | A. Huelsing | 15
Angriffe auf Hashfunktionen MD5 Kollisionen (theo.) MD5 Kollisionen (praktisch!) MD5 & SHA-1 Keine (Second-) PreimageAttacks! SHA-1 Kollisionen (theo.) 2004 2005 2008 2012 16.05.2013 | TU Darmstadt | A.Huelsing | 16
Frühwarnsystem • XMSS benötigt keine Kollisionsresistenz • Wenn Kollisionsresistenz gebrochen – wechsel Hashfunktion • Archiv: Übersignatur Nur halbe Wahrheit: Nachrichtenhash! Aber: Kein Problem für Archiv 16.05.2013 | TU Darmstadt | A.Huelsing | 17
Redundanz 16.05.2013 | TU Darmstadt | A.Huelsing | 18
Redundanz Hash-Combiner - Kollisionsresistenz / 2nd-Preimage-Resistenz: - PRF: 16.05.2013 | TU Darmstadt | A. Huelsing | 19
Redundanz (cont‘d) • Verhindert unerwarteten Bruch des Verfahrens • ersetzt Doppelsignatur • Signaturgröße wächst nur minimal, i.e. +H*n • Laufzeit ~ verdoppelt 16.05.2013 | TU Darmstadt | A.Huelsing | 20
Effiziente Archivierung 16.05.2013 | TU Darmstadt | A.Huelsing | 21
Kettenmodell mittels FSS Root certificate sk1 sk2 skT ski CA certificate sk1 sk2 End entity certificate sk1 sk2 skj time 16.05.2013 | TU Darmstadt | A.Huelsing | 22
Robuste PKI • Kettenmodell mit FSS -> Weniger Zeitstempel -> Effizientere Archivierung 16.05.2013 | TU Darmstadt | A. Huelsing | 23
Danke!Fragen? 16.05.2013 | TU Darmstadt | A.Huelsing | 24
Ausgabelänge von Hashfunktionen Hashfunktionsfamilie Annahme: - generische Angriffe, - Sicherheitslevel n Collisionresistance: →Generischer Angriff = Geburtstagsangriff →m = 2n 2nd-preimage resistance: →Generischer Angriff = Vollständige Suche →m = n 16.05.2013 | TU Darmstadt | A. Huelsing | 26
Konstruktion 16.05.2013 | TU Darmstadt | A. Huelsing | 27
WOTS+ Winternitz parameter w, security parameter n, message length m, function family Key Generation: Compute l , sample k, sample R pk1 = cw-1k(sk1, R ) c0k(sk1, R ) = sk1 c1k(sk1, R ) c1k(skl , R ) pkl= cw-1k(skl , R ) c0k(skl , R ) = skl 21.03.2013 | TU Darmstadt | Andreas Hülsing| 28
WOTS+ Signature generation M b1 b2 b3 b4 … … … … … … … bl1 bl1+1 bl1+2 … … bl pk1 = cw-1k(sk1, R ) c0k(sk1, R ) = sk1 C σ1=cb1k(sk1, R ) pkl= cw-1k(skl , R ) c0k(skl , R ) = skl σl=cblk(skl, R ) 21.03.2013 | TU Darmstadt | Andreas Hülsing| 29
XMSS – Secret key XMSS verwendet mehrere Einmalsignaturschlüssel. Generiert mittels Pseudozufallsgenerators (PRG), konstruiert mittels PRFF Fn: Secretkey: Zufälliger SEED für pseudozufällige Erzeugung des aktuellen Signaturschlüssels. PRG PRG PRG PRG PRG PRG 16.05.2013 | TU Darmstadt | A. Huelsing | 30
XMSS – Public key Modifizierter Merkle Tree [Dahmen et al 2008] h: 2nd-preimage resistant Hashfunktion = ( , b0, b1, b2, h) Public key b0 b0 b0 b0 b1 b1 bh 16.05.2013 | TU Darmstadt | A. Huelsing | 31
XMSS Signatur b0 b0 b0 b0 b1 b1 b2 i , , ) Signatur = (i, , i 16.05.2013 | TU Darmstadt | A. Huelsing | 32
Vorwärtssicheres XMSS PRG FSPRG: Vorwärtssicherer PRG basierend auf PRFF Fn FSPRG FSPRG FSPRG FSPRG FSPRG 16.05.2013 | TU Darmstadt | A. Huelsing | 33
BeschleunigteSchlüsselerzeugungTree Chaining (XMSS+) 2h+1 → 2*2 h/2+1 = 2 h/2+2 j i Aber: GrößereSignaturen! 16.05.2013 | TU Darmstadt | A. Huelsing | 34
XMSS in der Praxis 16.05.2013 | TU Darmstadt | A. Huelsing | 35
XMSS – InstantiierungenBlockchiffren M • Gegeben: Blockchiffre • Ist pseudozufällige Funktionsfamilie • Hashfunktion mittels Matyas-Meyer-Oseas & Merkle-Darmgard: K C M = M1 || M2 M2 M1 hk(M) k 16.05.2013 | TU Darmstadt | A. Huelsing | 36
XMSS – InstantiierungenHashfunktion • Gegeben: M-D Hashfunktion • Annahme: Ist zufällige Funktion aus Familie • PRFF mittels HMAC Variante: M Pad(k) h h(M) h IV 16.05.2013 | TU Darmstadt | A. Huelsing | 37