De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 Digital Security, Informatica Kraken in de praktijk Ronny Wichers Schreur Digital Security Radboud Universiteit Nijmegen.

Verwante presentaties


Presentatie over: "1 Digital Security, Informatica Kraken in de praktijk Ronny Wichers Schreur Digital Security Radboud Universiteit Nijmegen."— Transcript van de presentatie:

1 1 Digital Security, Informatica Kraken in de praktijk Ronny Wichers Schreur Digital Security Radboud Universiteit Nijmegen

2 2 Digital Security, Informatica Overzicht Kraken in de praktijk –aan de hand van OV-chip hack Praktische gebruik cryptografie –aan de hand van (aanvallen op) RSA

3 3 Digital Security, Informatica De beste (enige?) manier om te kijken of beveiliging goed is: –probeer de beveiliging te breken –denk als een aanvaller

4 4 Digital Security, Informatica De OV chipkaart

5 5 Digital Security, Informatica Een OV chipkaart van binnen antenne chip

6 6 Digital Security, Informatica Hoe hack je een RFID systeem?

7 7 Digital Security, Informatica Luister af wat ov chipkaart tegen de lezer zegt; Communicatie protocol tussen poortje en kaart. Reverse Engineering: Hoe werkt het. Wie bent u? Ik ben kaart ?

8 8 Digital Security, Informatica replay attack luister af wat ov chipkaart tegen de lezer zegt en maak apparaat dat precies hetzelfde zegt Wie bent u? Ik ben kaart

9 9 Digital Security, Informatica replay attack werkt voor wegwerp ov chipkaart! poortje ziet geen verschil tussen echte kaart en de kloon Ghost device van Roel Verdult

10 10 Digital Security, Informatica Hoe kun je een replay attack voorkomen? zorg dat communicatie tussen RFID en lezer steeds anders is (zgn challenge-response mechanisme) vraag antwoord ? ?

11 11 Digital Security, Informatica challenge-response protocol hierbij wordt versleuteling gebruikt: het antwoord is een versleuteling van de vraag met een geheime sleutel n? versleutel KEY {n} wie bent u? ik ben kaart K

12 12 Digital Security, Informatica challenge-response protocol Eerste sessie: 2499? 5014 wie bent u? ik ben kaart

13 13 Digital Security, Informatica challenge-response protocol Volgende sessie: 9811? 2944 wie bent u? ik ben kaart

14 14 Digital Security, Informatica reverse engineering Hoe kun je zo'n challenge-response mechanisme kraken? 1.probeer achter het versleutelingsalgoritme te komen –vaak is dat een openbare standaard, soms niet 2.probeer achter de sleutel te komen, door –alle mogelijke sleutels te proberen –kost meestal (te)veel tijd of –bij slecht ontworpen versleutelingsalgoritme, is de sleutel vaak sneller te bepalen –algoritme op Mifare Classic RFID kaarten is slecht ontworpen...

15 15 Digital Security, Informatica kraken Reverse-engineering OV-chip Globale structuur bekend Schuifregister + niet-lineair filter

16 16 Digital Security, Informatica LFSR Linear Feedback Shift Register (Schuifregister met lineaire terugkoppeling)

17 17 Digital Security, Informatica LFSR Voorbeeld ⊕ staat voor optellen modulo 2

18 18 Digital Security, Informatica LFSR Voorbeeld

19 19 Digital Security, Informatica LFSR Voorbeeld

20 20 Digital Security, Informatica LFSR Voorbeeld

21 21 Digital Security, Informatica LFSR Voorbeeld

22 22 Digital Security, Informatica LFSR Voorbeeld

23 23 Digital Security, Informatica LFSR Voorbeeld

24 24 Digital Security, Informatica LFSR Voorbeeld

25 25 Digital Security, Informatica Two-table attack

26 26 Digital Security, Informatica Feedback op regelmatige posities

27 27 Digital Security, Informatica

28 28 Digital Security, Informatica

29 29 Digital Security, Informatica

30 30 Digital Security, Informatica

31 31 Digital Security, Informatica

32 32 Digital Security, Informatica

33 33 Digital Security, Informatica Twee-tabellen aanval Even en oneven gedeelte van LFSR kunnen afzonderlijk berekend worden 20-bits invoer: gemiddeld 2 20 /2= 2 19 (half millioen) fragmenten passen bij keystream Breid elk fragment uit: gemiddeld 2 19 fragmenten in elke tabel Combineer de twee tabellen

34 34 Digital Security, Informatica Cryptanalysis Vele andere zwakheden gevonden: langere nonces geacceptreed door lezers cijferstroom hergebruikt voor pariteitsbits kaartnonce versleuteld voor volgende sector linker bit niet gebruikt in filterfunctie regelmatig posities bits voor filterfunctie versleutelde foutmeldingen parititeitsbit over klare tekst lage entropy nonces (16 bits) voorspelbare kaartnonces cijferstroom verbuigbaar

35 35 Digital Security, Informatica OV-Chip (Mifare) gehackt Responsible disclosure AIVD op bezoek Rechtzaak NXP OV-chip nog in gebruik (maar wel wat verbeterd) Ander onderzoek: geheugenchips, femtocel, startonderbrekers (rechtzaak VW vooralsnog verloren) Gevolgen

36 36 Digital Security, Informatica 1.Kies priemgetallen p en q, waarbij p = ̸ q. 2.Bereken m=p ⋅ q en φ(m). 3.Kies een restklasse e. 4.Bereken de restklasse d (e -1 in Z φ(m) ) 5.Vernietig de getallen p, q en φ(m)! 6.Publieke sleutel (m, e), geheime sleutel (m, d ) 7.c = b e in Z m b = c d in Z m RSA

37 37 Digital Security, Informatica Waar zitten mogelijke problemen?

38 38 Digital Security, Informatica 1.Kies priemgetallen p en q, waarbij p = ̸ q. 2.Bereken m=p ⋅ q en φ(m). 3.Kies een restklasse e. 4.Bereken de restklasse d (e -1 in Z φ(m) ) 5.Vernietig de getallen p, q en φ(m)! 6.Publieke sleutel (m, e), geheime sleutel (m, d ) 7.c = b e in Z m b = c d in Z m RSA

39 39 Digital Security, Informatica Berekeningen zijn deterministisch Vergaar entropie (toeval) van buiten: timing van gebeurtenissen (toetsaanslagen, aankomst netwerkprocessen, timing harde schijf, levensduur processen, etc) gebruik fysieke toevalsgenerator Kies priemgetallen p en q willekeurig!

40 40 Digital Security, Informatica Door programmeerfout meeste entropie niet gebruikt Fout geïntroduceerd in OpenSSL open Debian/Linux (en dus ook in afgeleide Ubuntu, etc) Slecht enkele honderdduizenden mogelijke sleutels Fout gemaakt in 2006, ontdekt in 2008 Alle gegeneerde sleutels uit deze periode zwak en dus de systemen kwetsbaar (SSL, ssh, etc.) Voorbeeld 1 :Debian/OpenSSL debacle

41 41 Digital Security, Informatica Router thuis beschikt over weinig entropie –sleutels gegenereerd bij eerste keer opstarten –géén toetsenbord –géén harde schijf –weinig processen –weinig/géén netwerkverkeer Gevolg: grote kans dat twee verschillende routers een RSA priemfactor delen. Gemeenschappelijke factor snel te vinden: Hoe? Voorbeeld 2: Routers

42 42 Digital Security, Informatica Heninger et all. verzamelden miljoenen publieke (SSL en SSH) sleutels op het internet Tienduizenden publieke sleutels met gemeenschappelijke factor gevonden Voorbeeld 2: Routers, vervolg

43 43 Digital Security, Informatica 1.Kies priemgetallen p en q, waarbij p = ̸ q. 2.Bereken m=p ⋅ q en φ(m). 3.Kies een restklasse e. 4.Bereken de restklasse d (e -1 in Z φ(m) ) 5.Vernietig de getallen p, q en φ(m)! 6.Publieke sleutel (m, e), geheime sleutel (m, d ) 7.c = b e in Z m b = c d in Z m RSA

44 44 Digital Security, Informatica Sleutelmateriaal moet geheim blijven, maar moet wel gebruikt kunnen worden. Gebruik HSM (hardware secure module): sleutel kan niet worden gekopieerd Beveilig toegang tot sleutelmateriaal –wachtwoorden –goed beveiligde, up-to-date systeem Houd sleutelmateriaal geheim!

45 45 Digital Security, Informatica DigiNotar: Certificaatautoriteit, ondertekende publieke sleutels, werd vertrouwd door alle browsers Computersysteem werd gekraakt Aanvaller kon zelf certificaten ondertekenen in naam van DigiNotar Hiermee man-in-the-middle aanvallen mogelijk Gevolg: DigiNotar niet meer vertrouwd, vele NL overheidssites tijd niet bruikbaar Voorbeeld: DigiNotar affaire

46 46 Digital Security, Informatica 1.Kies priemgetallen p en q, waarbij p = ̸ q. 2.Bereken m=p ⋅ q en φ(m). 3.Kies een restklasse e. 4.Bereken de restklasse d (e -1 in Z φ(m) ) 5.Vernietig de getallen p, q en φ(m)! 6.Publieke sleutel (m, e), geheime sleutel (m, d ) 7.c = b e in Z m b = c d in Z m RSA

47 47 Digital Security, Informatica Side-channel analyse: observeer gedrag berekening en probeer hier informatie uit te halen Tijd: hoe lang duurt een berekening Stroom: (power analysis) wanneer gebruikt de berekening hoeveel stroom Geheugen: wanneer gebruikt de berekening hoeveel geheugen (bijvoorbeeld cache) Straling, geluid, enzovoorts Lek geen geheimen

48 48 Digital Security, Informatica Ondertekening bericht a met geheime RSA-sleutel (d, m): s = a d mod m functie powermod (base, exp, m): r = 1 while exp > 0: if exp mod 2 = 1: r = base * r mod m base = base 2 mod m exp = exp div 2 return r Voorbeeld: Power analysis RSA ondertekening

49 49 Digital Security, Informatica Meet het stroomverbruik tijdens de powermod Onderscheid vermenigvuldigen en kwadrateren Voorbeeld trace (RFID): Power Analysis

50 50 Digital Security, Informatica Aanvaller verstoort de berekening (fault injection) Uit de foute uitkomst is informatie over de sleutel te achterhalen Fouten veroorzaken

51 51 Digital Security, Informatica RSA digitale handtekening snelle CRT versie van s = a d mod m q’ = q -1 mod p s p = s d mod p s q = s d mod q s = s q + ((s p – s q ) q ’ mod p) q GGD(a – s e, m) = 0 Voorbeeld

52 52 Digital Security, Informatica RSA digitale handtekening snelle CRT versie van s = a d mod m q’ = q -1 mod p s’ p = s d mod p + x = s p + x s q = s d mod q s’ = s q + ((s’ p – s q ) q’ mod p) ⋅ q = s + y ⋅ q GGD(a – s’ e, m) = q Voorbeeld

53 53 Digital Security, Informatica Wiskundige correct geen garantie voor veilig Gebruik standaard, open algoritmes (Kerckhoffs) Gebruik standaard bibliotheken Zeer terughoudend zijn met zelf knutselen Conclusie


Download ppt "1 Digital Security, Informatica Kraken in de praktijk Ronny Wichers Schreur Digital Security Radboud Universiteit Nijmegen."

Verwante presentaties


Ads door Google