Langzeitsichere Signaturen durch den Einsatz hashbasierter Signaturverfahren Andreas
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 oneway function RSA, DH, SVP, MQ, … Digital signature scheme 16. 05. 2013 | TU Darmstadt | A. Huelsing | 5 Collision resistant hash function
Merkles Signaturverfahren PK h h h OTS h h h h h OTS OTS Secret Key 16. 05. 2013 | TU Darmstadt | A. Huelsing | 6
State of the Art e. Xtended Merkle Signature Scheme (XMSS) / [PQ-Crypto, 2011] XMSS+ [SAC 2012] § Minimale komplexitätstheoretische Annahmen § Generische Konstruktion § Effizient (vergleichbar mit RSA) § Vorwärtssicher 16. 05. 2013 | TU Darmstadt | A. Huelsing | 7
Vorwärtssichere Digitale Signaturen 16. 05. 2013 | TU Darmstadt | A. Huelsing | 8
Vorwärtssichere Digitale Signaturen pk classical sk pk forward sec sk Key gen. sk 1 sk 2 ski t 1 t 2 ti 16. 05. 2013 | TU Darmstadt | A. Huelsing | 9 sk. T time
XMSS Implementierungen C Implementierung mit Open. SSL Sign (ms) Verify (ms) Signature (byte) Public Key (byte) Secret Key (byte) Bit Security XMSS-SHA-2 15, 17 1, 02 2. 083 1. 696 3. 364 146 H = 20, w = 64 XMSS-SHA-2 33, 47 2, 34 1. 923 1. 696 3. 364 100 H = 20, w = 108 XMSS-AES-NI 1, 72 0, 11 2. 451 912 1. 684 93 H = 20, w=4 XMSS-AES 2, 87 0, 22 2. 451 912 1. 684 93 H = 20, w=4 RSA 2048 3, 08 0, 09 ≈ 256 ≈ 512 87 Intel(R) Core(TM) i 5 CPU M 540 @ 2. 53 GHz with Intel AES-NI 16. 05. 2013 | TU Darmstadt | A. Huelsing | 10
XMSS Implementierungen Smartcard Implementierung Sign (ms) Verify (ms) Keygen (ms) Signature (byte) Public Key (byte) Secret Key (byte) Bit Sec. Comment XMSS 134 23 925. 400 2. 388 800 2. 448 97 h = 16, w = 4, k = 4 XMSS+ 106 25 5. 600 3. 476 544 3. 760 96 H = 16, w = 4, k = 2 XMSS+ 173 28 10. 500 1. 588 544 3. 056 92 H = 16, w = 32, k = 2 XMSS+ 124 22 28. 300 1. 956 576 3. 744 89 H = 20, w = 16, k = 4 RSA 2048 190 7 11. 000 ≈ 256 ≈ 512 87 Infineon SLE 78 16 Bit-CPU@33 MHz, 8 KB 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) 16. 05. 2013 | TU Darmstadt | A. Huelsing | 13 FR EE
Frühwarnsystem 16. 05. 2013 | TU Darmstadt | A. Huelsing | 14
Eigenschaften von (Hash)Funktionsfamilien Annahme / Angriffe stark / leichter Kollisionsresistenz 2 nd-preimageresistenz Einweg schwach / schwerer 16. 05. 2013 | TU Darmstadt | A. Huelsing | 15 Pseudozufällig
Angriffe auf Hashfunktionen MD 5 Kollisionen (theo. ) Kollisionen (praktisch!) SHA-1 MD 5 & SHA-1 Kollisionen (theo. ) 2004 2005 16. 05. 2013 | TU Darmstadt | A. Huelsing | 16 Keine (Second-) Preimage Attacks! 2008 2012
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 / 2 nd-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 CA certificate sk 1 sk 2 sk 1 sk. T ski sk 2 End entity certificate time 16. 05. 2013 | TU Darmstadt | A. Huelsing | 22 sk 1 sk 2 skj
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
02. 12. 2011 | TU Darmstadt | A. Huelsing | 25
Ausgabelänge von Hashfunktionen Hashfunktionsfamilie Annahme: - generische Angriffe, - Sicherheitslevel n Collision resistance: → Generischer Angriff = Geburtstagsangriff → m = 2 n 2 nd-preimage resistance: → Generischer Angriff = Vollständige Suche → 16. 05. 2013 | TU Darmstadt | A. Huelsing | 26 m=n
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 c 0 k(sk 1, R ) = sk 1 R pk 1 = cw-1 k(sk 1, R ) c 1 k(skl , R ) c 0 k(skl , R ) = skl 21. 03. 2013 | TU Darmstadt | Andreas Hülsing | 28 pkl = cw-1 k(skl , R )
WOTS+ Signature generation M b 1 b 2 b 3 b 4 … … … … c 0 k(sk 1, R ) = sk 1 bl 1+1 bl 1+2 … C … bl pk 1 = cw-1 k(sk 1, R ) σ1=cb 1 k(sk 1, R ) pkl = cw-1 k(skl , R ) c 0 k(skl , R ) = skl 21. 03. 2013 | TU Darmstadt | Andreas Hülsing | 29 σl =cbl k(skl , R )
XMSS – Secret key PRG PRG PRG XMSS verwendet mehrere Einmalsignaturschlüssel. Generiert mittels Pseudozufallsgenerators (PRG), konstruiert mittels PRFF Fn: Secret key: Zufälliger SEED für pseudozufällige Erzeugung des aktuellen Signaturschlüssels. 16. 05. 2013 | TU Darmstadt | A. Huelsing | 30
XMSS – Public key Modifizierter Merkle Tree [Dahmen et al 2008] h: 2 nd-preimage resistant Hashfunktion Public key =( , b 0, b 1, b 2, h) bh b 1 b 0 16. 05. 2013 | TU Darmstadt | A. Huelsing | 31 b 0
XMSS Signatur b 2 b 1 b 0 b 0 i i 16. 05. 2013 | TU Darmstadt | A. Huelsing | 32 Signatur = (i, , )
Vorwärtssicheres XMSS PRG FSPRG FSPRG: Vorwärtssicherer PRG basierend auf PRFF Fn 16. 05. 2013 | TU Darmstadt | A. Huelsing | 33
Beschleunigte Schlüsselerzeugung Tree Chaining (XMSS+) 2 h+1 → 2*2 h/2+1 = 2 h/2+2 j i 16. 05. 2013 | TU Darmstadt | A. Huelsing | 34 Aber: Größere Signaturen!
XMSS in der Praxis 16. 05. 2013 | TU Darmstadt | A. Huelsing | 35
XMSS – Instantiierungen Blockchiffren M Gegeben: Blockchiffre § Ist pseudozufällige Funktionsfamilie K § Hashfunktion mittels Matyas-Meyer-Oseas & Merkle-Darmgard: M 1 k 16. 05. 2013 | TU Darmstadt | A. Huelsing | 36 M 2 M = M 1 || M 2 hk(M) C
XMSS – Instantiierungen Hashfunktion Gegeben: M-D Hashfunktion § Annahme: Ist zufällige Funktion aus Familie § PRFF mittels HMAC Variante: M Pad(k) IV 16. 05. 2013 | TU Darmstadt | A. Huelsing | 37 h h h(M)
- Slides: 37