Cryptografie is overal Cryptografie: van discrete wiskunde tot veilige betalingen Prof. Dr. Ir. Bart Preneel Dept. Elektrotechniek-COSIC [email protected] 1 2 Geheime communicatie De Hagelin C38 ? bericht CRY PTO BOX %^C& @&^( %^C& @&^( CRY PTO BOX bericht 4 3 Ontcijferd (2001) Een Belgisch voorbeeld 14 januari 1961 11u00 <AHQNE XVAZW IQFFR JENFV BXFRZ NJVYB QVGOZ KFYQV GAZJK RDJQC VJTEB XNZZH DQCGF Q PWCVR UOMWW LOGSO YTZAA OIJDR UEAAV RWYXH HSUIY PKFPZ OSEAW SUZMY WLSSD ZVKPU ZSHKK PALWB AHQNE 11205 141100> OUXBD GEDBE MEVGS ZWVVV PAWSV QDYEL SHXRR DOFGD VISWA WVISW OWMIS SIONW BOMBO EWSUJ ETWAM BABEL BISEC TWTRE SECVX WXXWP RIMOW RIENW XWPOU VEZWR EGLER RENDR EWDUR GENCE LQWDB HGMPS ANLLB LDQNI Q CHTYN FUVOA MLQOK 5 JOSEP HWXXW TERTI KOWVO IRWTE LEXWC GEWXX WJULE SWXXW XWRWV WMWPR INTEX ENVOY EWRUS URWWX WXXWS ECUND OWREP WPLAN WBRAZ ZAWWC 6 1 Ontcijferd en herschikt Advanced Encryption Standard (AES) bericht • Belgisch algoritme Rijndael ronde 1 • Opeenvolging van 10/12/14 ronden • Elke ronde bevat – Substituties sleutel – Mengtransformaties – Sleutel-afhankelijke operaties Sleutelexpan nsie TRESECV. R V M PRINTEX. PRIMO RIEN ENVOYE RUSUR. POUVEZ REGLER. SECUNDO REPRENDRE DURGENCE PLAN BRAZZA VIS A VIS JOSEP H. H TERTIO MISSION BOMBOKO VOIR TELEX CE SUJET AMBABELGE. JULES. ronde 2 ronde 3 .. . ronde R • Sleutel van 128, 192 of 256 bits cijfertekst8 7 Publieke sleutel encryptie Fundamenteel probleem van symmetrische cryptografie: hoe kunnen alle gebruikers met elkaar een sleutel afspreken? ? bericht CRY PTO BOX %^C& @&^( %^C& @&^( CRY PTO BOX bericht 9 10 Publieke sleutel encryptie Vercijferen met RSA Publieke sleutel • gebruikt voor encryptie • zo wijd mogelijk bekend gemaakt • • • • • • Private sleutel • gebruikt voor decryptie • aan niemand bekend gemaakt Kies 2 grote priemgetallen p, q Bereken n = p x q Kies r met ggd(r, (p-1) x (q-1)) = 1 Bereken s zodat r x s = 1 mod ((p-1) x (q-1)) Publieke sleutel: (r,n) Private sleutel: (s,n) • Encryptie: c = mr mod n • Decryptie m = cs mod n 11 12 2 Veiligheid van RSA Hoe moeilijk is n te factoriseren? • s mag niet eenvoudig volgen uit (r,n) The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers • s wordt berekend uit s x r = 1 mod ((p-1)x(q-1)) p q • Vereist p, • Factoriseer n • Moeilijk! (?) Gates, The Road Ahead, 1995 13 Factorisatie records 14 Picture of the lab 4-channel Varian 2009: 768 bits of 232 decimalen spectrometer 11.7 T Oxford magnet, room temperature bore # cijfers 1 decimaal cijfer ~3.3 bits 250 768 bits 200 512 bits 15 5 3 15=5x3 150 100 50 grad students in sunny California... 0 64 68 72 76 80 84 88 92 96 1002000 104 2009 108 15 Quantum computers 2001 16 In praktijk vaak r = 3. Waarom? • 2001: 7-bit quantum computer factoriseert 15 • 2007: twee nieuwe 7-bit quantum computers factoriseren 15 • 2012: 143 wordt gefactoriseerd • 2011: grote quantum computer kan men binnen 10 jaar verwachten Quantum Computing: An IBM Perspective [2011] Steffen, M.; DiVincenzo, D. P.; Chow, J. M.; Theis, T. N.; Ketchen, M. B. \. The implementation of a functioning quantum computer poses tremendous scientific and technological challenges, but current rates of progress suggest that these challenges will be substantively addressed over the next ten years. We provide a sketch of a quantum computing system based on superconducting circuits, which are the current focus of our research. A realistic vision emerges concerning 17 the form of a future scalable fault-tolerant quantum computer. Snelheid !!! 10-100 cycli AES (16 blokken = 1024 bytes) 1500 cycli 1.2 miljoen cycli RSA 1024 RSA 1024 (r=3) 6000 cycli 6 miljoen cycli RSA 2048 RSA 2048 (r=3) 24000 cycli 32 miljoen cycli RSA 4096 RSA 4096 (r=3) Haswell (306c3); 2013 Intel Core i5-4570S; 4 x 2900MHz 18 3 Hybride vercijfering Veilige communicatie naar een site met TLS • Vercijfering met publieke sleutels (RSA) • Prentje van https site – eenvoudig sleutelbeheer • Klassieke vercijfering (AES) – snel • Combinatie: 1. 2. 3. 4. genereer een sleutel voor AES vercijfer de (lange) boodschap met AES vercijfer de AES-sleutel met RSA verstuur alles 19 20 Veilige communicatie naar een site met TLS Authenticatie van een bericht (is het bericht correct?) 21 22 Authenticatie van een bericht (is het correct?) Authenticatie van een bericht (is het correct?) ? Blijf maar gas kopen van Putin CRY PTO BOX %^C& @&^( %^C& @&^( Van wie zou dit bericht zijn? CRY PTO BOX Blijf maar gas kopen van Putin Bericht handteken Bericht Bericht verifieer Bericht Probleem in digitale wereld: 23 • Copiëren van handtekening • Wijzigen van bericht 24 4 Vereisten voor digitale handtekening Digitale handtekening • Gemakkelijk verifieerbaar • Uniek verbonden aan een persoon • Niet overdraagbaar van een document op een ander • Wordt ongeldig als document gewijzigd wordt Bericht handteken Bericht Bericht verifieer Bericht 25 26 Digitale handtekening met RSA This is an input to a cryptographic hash function. The input is a very long string, that is reduced by the hash function to a string of fixed length. This is an input to a cryptographic hash function. The input is a very long string, that is reduced by the hash function to a string of fixed length. hash hash Private sleutel s Publieke sleutel r, n y= h(m)s mod n s=4F80DFD41A198FB3CA3459 Ja h(m)=yr mod n Nee s=4F80DFD41A198FB3CA3459 28 27 De elektronische identiteitskaart Veilig inloggen op een website Voor elke Belgische burger van 12 jaar en ouder • RSA sleutelpaar 1 om berichten te handtekenen • RSA sleutelpaar 2 om in te loggen op een website Challenge response protocol s, r, n r, n willekeurig getal x [0,n-1] y= h(x)s mod n 1 2 veel veiliger dan een wachtwoord 30 29 5 Home pagina Hoe vind ik de publieke sleutel van een gebruiker? 31 Certificaat 32 Certificaat op je computer De heer Stefaan Vaes heeft publieke sleutel: D6AC3672242A...56F82 Getekend: Luc Vanneste Rijksregister • Inhoud: – naam + publieke sleutel van burger – digitale handtekening met private sleutel van rijksregister • Verificatie – met publieke sleutel van rijksregister – hoe vind ik deze sleutel? 33 Certificaten-boom: eID • Hoe kan je de handtekening van het certificaat verifiëren? 34 Certificaten-boom: kredietkaart • Hoe kan je de handtekening van het certificaat verifiëren? Publieke sleutel zit in browser Publieke sleutel zit in elke betaalterminal Globalsign Visa Rijksregister Stefaan Vaes Bank: KBC Stefaan Vaes 6 EMV: Europay, MasterCard en Visa • • • • Elektronische betalingen sinds 1995 1.5 miljard kaarten (10% van alle bankkaarten) meer dan 20 miljoen terminals specificaties: meer dan 5000 blz 37 38 Zeven manieren om EMV te breken EMV betaling (vereenvoudigd) r, n, # s, r, n, # • r, n Bedrag b=100 EUR. Enter PIN RSA(PIN) = (PIN)r mod n • • || u Verifieer PIN PIN = 4321 PIN OK (9000) • Sommige van de aanvallen hier beschreven hebben ooit gewerkt De meeste aanvallen worden verhinderd door bijkomende beveiligingsoplossingen j ook heel wat niet-cryptografische yp g Er zijn verdedigingsmechanismen, zoals het strafrecht Don’t try this at home y1= h(# || b || u)s mod n Transactie OK Verifieer handtekening 40 39 Hoe kan je EMV breken? Hoe kan je EMV breken? 1. Steel een kaart 2. Steel een kaart • • • Je hebt ook de PIN nodig – – – – raad de PIN (1234, 0000, 1111) “over de schouder meekijken” j micro camera aftappen van terminal • geef een willekeurige PIN in onderschep de PIN voor ze de kaart bereikt stuur zelf een PIN OK bericht – 41 de EMV kaarten van sommige banken merkten dit niet op 42 7 Hoe kan je EMV breken? EMV betaling (vereenvoudigd) r, n, # s, r, n, # 3. Factoriseer de modulus n: vind p en q en dan s r, n – PIN ontcijferen – handtekening vervalsen Bedrag b=100 EUR. Enter PIN RSA(PIN) = (PIN)r mod n • Vandaag: g 1536..2048 bits || u Verifieer PIN PIN = 4321 • Wat als er een wiskundige doorbraak komt? PIN OK (9000) – alle EMV terminals vervangen duurt 5-10 jaar y1= h(# || b || u)s mod n Transactie OK Verifieer handtekening 44 43 Hoe kan je EMV breken? Intermezzo: RSA voor kleine getallen 4. Factoriseer de modulus n: vind p en q en dan s • boodschap m=0 dan c = (0)r mod n = ? • boodschap m=1 dan c = (1)r mod n = ? – PIN ontcijferen – handtekening vervalsen • Dit is g gemakkelijk j als p en q niet helemaal willekeurig g zijn j • • • • • 0 1 • stel r = 3 – cijfertekst c = 8 = m3 mod n; m =? – cijfertekst c = 27 = m3 mod n; m =? – cijfertekst c = 125 = m3 mod n; m =? Verzamel groot aantal (10 miljoen) publieke sleutels ni Bereken ggd(ni ,nk) i, k Als je geluk hebt: ni = pi .qi en nk = pk .qk met qi = qk Dan geldt dat ggd(ni ,nk) = qi Dit probleem blijkt in praktijk helaas voor te komen 2 3 5 • Het berekenen van een 3de wortel mod n is moeilijk, maar het berekenen van een 3de wortel over de gehele getallen is vrij eenvoudig 45 Implicaties op PIN encryptie Implicaties op PIN encryptie (2) 5. Vind de PIN zonder n te factoriseren • Oplossing: RSA(PIN): (111…….111 || 00 || PIN)r mod n • Wat met (PIN)r mod n met r=3? – PIN < 104 – (PIN)r < 1012 dus als n > 1012 (40 bits) geldt dat (PIN)r mod n = (PIN)r • Het is dus eenvoudig om de PIN terug te vinden • Aanval: bereken een tabel met 10.000 elementen – PIN, RSA(PIN) • dat d t duurt d t een paar seconden d en vraagtt 2.5 2 5 Mbyte Mb t • Je kan nu de PIN opzoeken in de tabel • Oplossing: (111…….111 || 00 || PIN)r mod n • Nu geldt dat het argument groot is • Is dit veilig? 46 • Betere oplossing: (111…….111 || u || 00 || PIN)r mod n • Probleem in praktijk: sommige terminals genereren waarden van u die voorspelbaar zijn… 47 48 8 Veiligheid RSA Hoe kan je EMV breken? • Bewezen is: Factoriseer(n) RSA “gebroken” • Wat betekent “RSA gebroken”? 6. Vervang in de terminal de publieke sleutel van Visa door jouw publieke sleutel – RSA breken is het vinden van een een r-de machtswortel modulo n – Je kan nu eigen kaarten maken met valse certicaten – alle betalingen worden aanvaard • Wat met ? belangrijk g j open p p probleem in de cryptografie yp g • De RSA-veronderstelling: het vinden van een r-de machtswortel van een getal willekeurig gekozen in [0,n-1] is moeilijk – merk op dat het vinden van een r-de machtswortel voor kleine getallen gemakkelijk is – maar als je een willekeurig getal kiest in [0,n-1] is de kans verwaarloosbaar dat het een heel klein getal is • Oplossing: het moet moeilijk zijn om de publieke sleutel van Visa in een terminal aan te passen 49 50 Slotopmerking Hoe kan je EMV breken? 7. Fysica • Informatie wordt de olie van de digitale maatschappij genoemd • Enige mogelijke bescherming tegen massale verzameling g van informatie is cryptografie yp g en verwerking • Cryptografie steunt in sterke mate op wiskunde – maar ook computerwetenschappen, elektrotechniek 51 52 9
© Copyright 2025 ExpyDoc