Vragen staat vrij! Onderbreek me gerust.

Slides:



Advertisements
Verwante presentaties
Stilstaan bij parkeren Dat houdt ons in beweging
Advertisements

BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Differentie vergelijkingen differentie vergelijkingen
Het kraken van de ov-chipkaart Erik Poll Digital Security Informatica en Informatiekunde Radboud Universiteit Nijmegen.
1 Instituut voor Informatica en Informatiekunde Magneetstrip- en chipkaarten Engelbert Hubbers Erik Poll Digital Security Informatica en Informatiekunde.
Werkwoorden d t dt.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
7 april 2013 Zoetermeer 1. 1Korinthe Maar, zal iemand zeggen, hoe worden de doden opgewekt? En met wat voor lichaam komen zij? 2.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Start.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Datastructuren Analyse van Algoritmen en O
Nooit meer onnodig groen? Luuk Misdom, IT&T
BZ voor de Klas 3 juni 2010.
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
Advanced Encryption Standard
Cryptografie workshop Wiskunde D-dag 6 juni 2008
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
Wie het kleine niet eert ... (quarks, leptonen,….)
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
Afrika: Topo nakijken en leren.
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
ribWBK11t Toegepaste wiskunde Lesweek 02
Cybersecurity puzzelen aan en mét computers Erik Poll
Statistiekbegrippen en hoe je ze berekent!!
De Dagen van de Kaaien 19, 20 & 21 maart De Kaaien op tafel - inhoud 1.Methodiek tafelgesprekken 2.Aantal tafelgesprekken en aantal deelnemers.
Enquête.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 9 Het eerste bijbod 1Contract 1, hoofdstuk 9.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
priemgetallen priemgetal:
De financiële functie: Integrale bedrijfsanalyse©
Oefeningen Workshop RIE Gemeenten
Centrummaten en Boxplot
Waar gaat het nou toch om?!
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
45 levenslessen Klikken voor vervolg Muziek: snowdream.
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
Transcript van de presentatie:

Kraken in de praktijk Ronny Wichers Schreur Digital Security Radboud Universiteit Nijmegen Vragen staat vrij! Onderbreek me gerust. DS grootste onderzoeksgroep NL naar computerbeveiliging.

Praktische gebruik cryptografie Overzicht Kraken in de praktijk aan de hand van OV-chip hack Praktische gebruik cryptografie aan de hand van (aanvallen op) RSA

De beste (enige?) manier om te kijken of beveiliging goed is: probeer de beveiliging te breken denk als een aanvaller Wiskundige bewijzen nuttig, maar altijd gaan uit van een bepaald model. De aanvaller hoeft zich daar niet aan te houden!

De OV chipkaart Onderzoek naar OV-chip: 2006 eerst privacy, daarna technische kant onderzocht

Een OV chipkaart van binnen antenne OV-chip is RFID kaart, Mifare chip, Crypto1 versleuteling Geen batterij: energie en communicatie door radioveld van de lezer (tot 10cm)

Hoe hack je een RFID systeem?

Reverse Engineering: Hoe werkt het. Luister af wat ov chipkaart tegen de lezer zegt; Communicatie protocol tussen poortje en kaart. Wie bent u? ? Radioveld af te luisteren met speciale apparatuur: ProxMark Ik ben kaart 987312

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

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

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

challenge-response protocol hierbij wordt versleuteling gebruikt: het antwoord is een versleuteling van de vraag met een geheime sleutel wie bent u? ik ben kaart K n? versleutelKEY{n}

challenge-response protocol Eerste sessie: wie bent u? ik ben kaart 987312 2499? 5014

challenge-response protocol Volgende sessie: wie bent u? ik ben kaart 987312 Challenge wordt ook wel nonce genoemd Noem wederzijdse authenticatie (mutual authentication) 9811? 2944

reverse engineering Hoe kun je zo'n challenge-response mechanisme kraken? probeer achter het versleutelingsalgoritme te komen vaak is dat een openbare standaard, soms niet 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...

kraken Reverse-engineering OV-chip Globale structuur bekend Schuifregister + niet-lineair filter Symmetrische versleuteling Ga nu dieper in op Crypto1 versleuteling Voor reverse-engineering: probeer eigen systeem te verkrijgen (hier: kaart, lezer en mogelijkheid sleutels te zetten).

Linear Feedback Shift Register (Schuifregister met lineaire terugkoppeling) LFSR Terugkoppeling is lineaire functie toegepast op een aantal bits in het register

⊕ staat voor optellen modulo 2 Voorbeeld LFSR 8-bits register, ⊕ exclusieve of, oftewel optelling modulo 2 ⊕ staat voor optellen modulo 2

Voorbeeld LFSR Terugkoppeling

Voorbeeld LFSR Schuiven

Voorbeeld LFSR Noem LFSR stroom

Voorbeeld LFSR Terugkoppeling: vragen wat de volgende bit is

Voorbeeld LFSR

Voorbeeld LFSR

Voorbeeld LFSR Schuif Vraag naar periode: 2^n-1

Two-table attack LFSR zijn goedkoop in hardware te maken, maar niet veilig omdat de relatie lineair is. Toevoegen niet lineaire filterfunctie maakt het cryptografisch sterker Initialisatie LFSR met sleutel en challenges

Feedback op regelmatige posities

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

Vele andere zwakheden gevonden: 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 Te veel om op te noemen

Gevolgen 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)

RSA Kies priemgetallen p en q, waarbij p ≠ q . Bereken m=p⋅q en φ(m). Kies een restklasse e. Bereken de restklasse d (e-1 in Zφ(m)) Vernietig de getallen p, q en φ(m)! Publieke sleutel (m, e), geheime sleutel (m, d ) c = be in Zm b = cd in Zm

Waar zitten mogelijke problemen?

RSA Kies priemgetallen p en q, waarbij p ≠ q . Bereken m=p⋅q en φ(m). Kies een restklasse e. Bereken de restklasse d (e-1 in Zφ(m)) Vernietig de getallen p, q en φ(m)! Publieke sleutel (m, e), geheime sleutel (m, d ) c = be in Zm b = cd in Zm

Kies priemgetallen p en q willekeurig! Berekeningen zijn deterministisch Vergaar entropie (toeval) van buiten: timing van gebeurtenissen (toetsaanslagen, aankomst netwerkprocessen, timing harde schijf, levensduur processen, etc) gebruik fysieke toevalsgenerator Andere probleem: p en q te dicht bij elkaar -> Fermat factorisatie

Voorbeeld 1 :Debian/OpenSSL debacle 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.) Geeft snel een fout gemaakt en hoe lastig deze te ontdekken kan zijn (zelfs bij Open Source)

Router thuis beschikt over weinig entropie Voorbeeld 2: Routers 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? Demo met sage

Voorbeeld 2: Routers, vervolg Heninger et all. verzamelden miljoenen publieke (SSL en SSH) sleutels op het internet Tienduizenden publieke sleutels met gemeenschappelijke factor gevonden Bron: https://factorable.net/

Kies priemgetallen p en q, waarbij p ≠ q . Bereken m=p⋅q en φ(m). RSA Kies priemgetallen p en q, waarbij p ≠ q . Bereken m=p⋅q en φ(m). Kies een restklasse e. Bereken de restklasse d (e-1 in Zφ(m)) Vernietig de getallen p, q en φ(m)! Publieke sleutel (m, e), geheime sleutel (m, d ) c = be in Zm b = cd in Zm p, q en φ(m) uit (m, d) terug te rekenen

Houd sleutelmateriaal geheim! 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

Voorbeeld: DigiNotar affaire 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

Kies priemgetallen p en q, waarbij p ≠ q . Bereken m=p⋅q en φ(m). RSA Kies priemgetallen p en q, waarbij p ≠ q . Bereken m=p⋅q en φ(m). Kies een restklasse e. Bereken de restklasse d (e-1 in Zφ(m)) Vernietig de getallen p, q en φ(m)! Publieke sleutel (m, e), geheime sleutel (m, d ) c = be in Zm b = cd in Zm Elke stap waar sleutelmateriaal gebruikt wordt

Lek geen geheimen 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

Voorbeeld: Power analysis RSA ondertekening Ondertekening bericht a met geheime RSA-sleutel (d, m): s = ad mod m functie powermod (base, exp, m): r = 1 while exp > 0: if exp mod 2 = 1: r = base * r mod m base = base2 mod m exp = exp div 2 return r gekleurde stappen zijn rekenintensief en kosten bijvoorbeeld veel stroom vermenigvuldiging alleen bij 1 in de geheime exponent

Meet het stroomverbruik tijdens de powermod Power Analysis Meet het stroomverbruik tijdens de powermod Onderscheid vermenigvuldigen en kwadrateren Voorbeeld trace (RFID): Groen: kwadraat, rood: vermenigvuldig dips tussen zware berekeningen door te zijn in trace

Fouten veroorzaken Aanvaller verstoort de berekening (fault injection) Uit de foute uitkomst is informatie over de sleutel te achterhalen

Voorbeeld RSA digitale handtekening snelle CRT versie van s = ad mod m q’ = q-1 mod p sp = sd mod p sq = sd mod q s = sq + ((sp – sq) q’ mod p) q GGD(a – se, m) = 0

RSA digitale handtekening snelle CRT versie van s = ad mod m Voorbeeld RSA digitale handtekening snelle CRT versie van s = ad mod m q’ = q-1 mod p s’p = sd mod p + x = sp+ x sq = sd mod q s’ = sq + ((s’p – sq) q’ mod p)⋅q = s + y⋅q GGD(a – s’e, m) = q Laaste stap uitwerken op bord

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