Nascholing Informatica: Cyber Security Chipkaarten (Smartcards) Erik Poll Digital Security groep Informatica Cyber Security 1 Overzicht • Wat is cyber security? • Chipkaarten, RFID, en NFC – Hoe kraak je een chipkaart? • Case study: het electronische paspoort • Hoe kraak je een chipkaart? (vervolg) Om 18:00 avondeten Vragen?? Laat ze meteen horen !! Informatica Cyber Security 2 Wat is Cyber Security? Informatica Cyber Security 3 Beveiligen van computers Informatica Cyber Security 4 Beveiligen van en met computers die dan zelf natuurlijk ook weer beveiligd moeten zijn Informatica Cyber Security 5 Beveiligen van online diensten Informatica Cyber Security 6 Slammer Worm (zaterdag 25 januari 2003, 5:29) Informatica Cyber Security 7 Slammer Worm (zaterdag 25 januari 2003, 6:00) Informatica Cyber Security 8 Beveiligen van kritieke infrastructuur Informatica Cyber Security 9 Informatica Cyber Security 10 North-east blackout Informatica Cyber Security 11 Het belang van cyber security: • Leuke filmpjes over de impact www.youtube.com/user/maxcornelisse Informatica Cyber Security 12 Dat was nep, dit is echt! http://www.youtube.com/watch?v=dZfxdctzX6Q of zoek op youtube startonderbreker Informatica Cyber Security 13 Cyber security: breder dan enkel de techniek Cyber security (en informatica) gaat niet alleen over de techniek van computers & software, maar ook over het gebruik ervan! Bijv • begrijpen van de gebruiker – en social engineering • inschatten van risico’s en besluiten over tegenmaatregelen • organisatie van digitale beveiliging • vervolging & opsporing • juridische aspecten • maatschappelijke impact, bijv mbt privacy Informatica Cyber Security 14 Voorbeeld van juridische vragen Nieuwe technologie vereist ook nieuwe wetgeving • is versturen van spam illegaal? • is inbreken op computer inbraak? • is kopiëren van een DVD diefstal ? • is een film up- of downloaden strafbaar? • moeten ISPs de Pirate Bay blokkeren? Informatica Cyber Security 15 Informatica Cyber Security 16 Chipkaarten Informatica Cyber Security 17 Verschillen? Overeenkomsten? Informatica Cyber Security 18 Chipkaarten vs andere computers Er is geen fundamenteel verschil tussen chipkaart kan data opslaan en berekeningen uitvoeren een USB stick kan alleen maar opslaan NB er zijn meer chipkaarten in de wereld dan laptops! Chipkaart heeft beperkingen 1. geen toetsenbord en geen display Maar chipkaart is beter beveiligd Je kunt de harde schijf er niet uithalen! Je kunt er geen software bijzetten in principe wel, maar dit staat meestal “dicht” De software is erg simpel, en dus hopelijk vrij van security bugs Informatica Cyber Security 19 Chipkaarten: standaard specs • een hele simpele processor single-core 36 MHz ipv multi-core 2GHz processor met in de orde van 1-4 Kbyte RAM • EEPROM geheugen ipv harde schijf vergelijkbaar met flash of SSD geheugen in USB stick of geheugenkaart enkele tientallen Kbytes ipv Gbytes geheugen Welke informatie denk je dat er op je bankpas staat? PIN code, saldo van chipknip, en geheime cryptografische sleutels Informatica Cyber Security 20 Contacten van een chipkaart Externe stroom toevoer (VCC) en klokpuls • Originally 5 V, now also 3V or 1.8V • Vpp – hoger voltage for het schrijven van EEPROM wordt niet meer gebruikt omdat dit een beveiligingszwakheid is Informatica Cyber Security 21 Basisprincipe: authenticatie mbv chipkaart geheugen geheime sleutelK processor challenge c response versleutelK(c) • De chipkaart kan bewijzen dat hij de sleutel weet, zonder de sleutel te verraden: de geheime sleutel verlaat nooit de kaart • NB het verschil met wachtwoorden om te bewijzen wie je bent Informatica Cyber Security 22 Toepassingen van dit basisprincipe • Authenticatie van je SIM kaart door telefoon netwerk • Authenticatie van je bankpas door geldautomaat • Je ziet dit principe ook in actie bij internetbankieren bij Rabobank en ABN-AMRO Informatica Cyber Security 23 Hoe “kraak” je een chipkaart? n versleutelKEY{n} Informatica Cyber Security 24 Hoe “kraak” je een chipkaart? Hoe kraak je een chipkaart die een challenge-response mechanisme gebruikt? • Probeer alle mogelijk sleutels (zgn brute force attack) – meestal kost dat (te) veel tijd • Probeer zwakheden te ontdekken in het versleutelingsalgoritme – bij slechte algoritmes lukt dat soms... Informatica Cyber Security 25 afgelopen zaterdag Informatica Cyber Security 26 RFID Radio Frequency IDentification Informatica Cyber Security 27 RFID • Draadloze chipkaarten heten ook wel RFID tags en bevatten een minicomputertje met draadloos netwerk • RFID is een verzamelijknaaam voor allerlei soorten tags, in verschillende vormen Informatica Cyber Security 28 Contactloze chipkaart van binnen chip Informatica antenne Cyber Security 29 Andere soorten RFID tags met verschillende versleutelingsalgoritmes (of geen !) werken op verschillende frequenties & afstanden Informatica Cyber Security 30 RFID binnenkort: contactloos betalen Informatica Cyber Security 31 RFID toepassing: dieren identificatie Veel van deze RFID tags doen niet aan versleuteling, maar communiceren gewoon uniek ID nummer Informatica Cyber Security 32 identificatie (zonder challenge-response) uniek serie nummer (en evt. nog wat data) • zo werkten RFID in honden en de wegwerp-ov chipkaart • gevanceerderde kaarten die wel een challenge-response doen sturen vaak ook eerst nog een uniek serienummer Informatica Cyber Security 33 Hoe “kraak” je een RFID systeem? • Toegangscontrole op basis van een uniek serie nummer is eenvoudig te breken, met een replay attack : gewoon nazeggen wat een echte kaart zegt communicatie wegwerp ov-kaart Informatica Cyber Security 34 Wat theoretische concepten Informatica Cyber Security 35 Identificatie vs Authenticatie • Identificatie: wie ben je? Een “naam”: je naam, SOFI nummer, email adres, ... • Authenticatie: ben je echt wel wie je zegt dat je bent? – Bijv. met ID-kaart, mbv pasfoto en/of handtekening – Volgende probleem: hoe weet je dat dat deze ID-kaart echt is? Informatica Cyber Security 36 Autorisatie • Autorisatie: Wat mag je? – Soms gaat dit zonder identificatie – Soms gaan dit met identificatie Informatica Cyber Security 37 NFC Informatica Cyber Security 38 NFC: RFID op je telefoon • Near Field Communication: Technology voor draadloze communicatie in smartphones – te vergelijken met Bluetooth, maar werkt alleen op veel kortere afstand (1 – 2 cm) • NFC is compatibel met één vd vormen van RFID – namelijk ISO 14443, oftwel `proximity cards’ – zoals: ov-chipkaart, e-paspoort, en contactloze bankpas Informatica Cyber Security 39 Informatica Cyber Security 40 Een NFC telefoon kan kaart óf lezer spelen Informatica Cyber Security 41 Het electronische paspoort Informatica Cyber Security 42 e-paspoort • Electronisch paspoort oftewel biometrisch paspoort • bevat RFID chip oftewel contactloze smartcard e-paspoort logo Informatica Cyber Security 43 e-identiteitskaart • Dezelfde chip zit ook in identiteitskaarten (sinds 2006) Informatica Cyber Security 44 Zelf paspoorten uitlezen Je kunt je eigen paspoort of id-kaart uitlezen met • een NFC telefoon met de NFC passport reader https://play.google.com/store/apps/details?id=nl.novay.nfcpassportreader • een laptop of PC met een RFID reader en de JMRTD software https://jmrtd.org Elke 13.65 MHz reader zou moeten werken Zie http://jmrtd.org/installation.shtml voor voorbeelden Informatica Cyber Security 45 Wat zit er op de paspoort chip? • programma (software) in Nederlandse paspoorten: een Java programma • data (bestanden) – paspoort foto als JPEG – miv 2009 ook vingerafdruk – in toekomst misschien ook iris scan Informatica Cyber Security 46 Beveiling: risico’s & eisen • Wat zijn de beveiligingsrisico’s van een e-paspoort? Welke aanvallen kun je bedenken? • Wat zijn de beveiligingsdoelen van een e-paspoort? Wat zijn de garanties die je wil dat een paspoort biedt? Welke beveiligingsmechanismen zaten er vroeger al in het paspoort, voordat er een chip in zat? Informatica Cyber Security 47 Bedreigingen versus beveiligingeisen Bedreigingen Eisen 1. afluisteren 1. garanderen vertrouwelijkheid 2. stiekem uitlezen 2. garanderen van toegangscontrole 3. nep paspoorten 3. garanties van de authenticiteit (echtheid, oftewel integriteit) 4. paspoorten stuk maken (Denial4. of Service) Informatica resilience Cyber Security 48 Voor- en nadelen van contactloze ipv contact-chipkaart • voordelen – handig in gebruik – geen slijtage van de contacten • nadelen – communicatie is af te luisteren – je kunt stiekem tegen een paspoort praten, zonder dat de eigenaar het weet • bijv. als het in je broekzak zit Informatica Cyber Security 49 passieve vs aktieve aanvallen passieve aanval • • afluisteren van de communicatie tussen paspoort en lezer – (bijv op Schiphol) aktieve aanval oftewel virtueel zakkenrollen • stiekem met het paspoort communiceren • mogelijk op +/- 25 cm mogelijk op 10-20 meter het activeren van de chip vereist een sterk magnetisch veld Informatica Cyber Security 50 beschermen tegen afluisteren Hoe bescherm je een e-paspoort • tegen afluisteren? (bijv. bij paspoortcontrole op Schiphol) • tegen stiekem uitlezen? (bijv. in een volle trein) Informatica Cyber Security 51 beschermen tegen afluisteren Hoe bescherm je een e-paspoort • tegen afluisteren? (bijv. bij paspoortcontrole op Schiphol) Versleutelen van de communicatie • tegen stiekem uitlezen? (bijv. in een volle trein) Wachtwoord op de chip Maar... hoe spreek je de sleutels & wachtwoord af? Informatica Cyber Security 52 Basic Access Control (BAC) • bescherming tegen stiekem uitlezen en afluisteren • er is een wachtwoord nodig om met de paspoort-chip te praten • dit wachtwoord wordt ook gebruikt om de communicatie te versleutelen • dit wachtwoord staat in het paspoort geschreven – namelijk in in de MRZ (Machine Readable Zone) – het wachtwoord bestaat uit paspoortnummer, geboortedatum en verloopdatum Informatica Cyber Security 53 Basic Access Control (BAC) bescherming tegen stiekem uitlezen en tegen afluisteren Machine Readable Zone 1. lees MRZ 2. verstuur MRZ 3. gegevens van chip versleuteld Informatica Cyber Security 54 Alternatief: Kooi van Faraday • Amerikaanse paspoorten hebben aluminiumfolie in de omslag, zodat er niet met de chip te praten is als het paspoort dicht is. • Dit beschermt tegen aktieve aanvallen, maar niet tegen passieve aanvallen (dwz afluisteren) – waarom niet? Informatica Cyber Security 55 Bescherming tegen valse paspoorten? Hoe weet je of een paspoort echt is? Zonder naar de fysieke kenmerken (watermerk etc) te kijken? Informatica Cyber Security 56 Digitale handtekening dmv versleuteling • Stel Alice en Bob delen een geheime sleutel S • Alice stuurt een bericht naar Bob, versleuteld met S • Weet Bob dan zeker of het bericht van Alice komt? – Bob weet dat het bericht van Alice komt, of van zichzelf • Zouden we de digitale paspoorten op deze manier kunnen tekenen? – Wie moeten er dan allemaal de geheime sleutel S weten, voor epaspoorten? Informatica Cyber Security 57 Digitale handtekening met asymmetrische versleuteling • By asymmetrische versleutelingen heb je verschillende sleutels voor versleutelen en ontsleutelen • Analogie: versleutelen doe je met een slot ontsleutelen doe je met de bijbehorende sleutel Het slot hou je privé, maar de sleutel is openbaar Informatica Cyber Security 58 Digitale handtekening met asymmetrische versleuteling • Paspoort van Alice stuurt bericht naar Bob, versleuteld met privé-slot slot S van Beatrix • Bob maakt dit bericht open, met openbare sleutel van Beatrix • Is echtheid gegarandeerd? Ja, want alleen Beatrix had dit bericht zo kunnen versleutelen • Wie moet welke sleutels hebben? • De douane van Belgie moet de openbare sleutels van Nederland hebben, en omgekeerd • Hoe worden deze sleutels uitgewisselend? Met diplomatieke post! Informatica Cyber Security 59 digitale handtekening • Alle informatie op het paspoort, incl. de pasfoto, is digitaal getekend met asymmetrische versleuteling – Eén pixel veranderen in de foto maakt de handtekening incorrect • Kan je nog een nep-paspoort maken? Ja, want je kunt een paspoort nog klonen! Informatica Cyber Security 60 Hoe detecteer je klonen? Geef elk paspoort een uniek privé-slot en bbh. publieke sleutel. De publieke sleutel is getekend door de NL overheid en is openbaar; het privé-slot verlaat nooit de paspoortchip Het challenge-response protocol om te kijken of-ie echt is: 1. Terminal vraagt de getekende publieke sleutel 2. Terminal stuurt een willekeurig getal n naar paspoort 3. (Echt) paspoort antwoordt met n versleuteld met privé-slot 4. Terminal checkt dit antwoord mbv publieke sleutel, en weet dan of paspoort het privé-slot bij de publieke sleutel heeft, en dus dat het echt is! Informatica Cyber Security 61 Certificaten De getekende publieke sloten worden certificaten genoemd Wij, Beatrix, verklaren dat het paspoort met publiek sleutel xyz echt is Informatica Cyber Security 62 Beveiligde verbindingen op internet Het beveiligen van internet verbindingen met https werkt hetzelfde! Wij, Diginotar, SSL-certificaten garanderen dat een verklaren dat de website is wie die zegt dat-ie is website met publiek sleutele xyz1234 echt van rabobank.nl is Je webbrowser geeft dit aan met slotje Informatica Cyber Security 63 We hebben nu • bescherming tegen afluisteren • bescherming tegen stiekem uitlezen • garantie van de echtheid Informatica Cyber Security 64 Extended Access Control • Extra beveilingsmaatregel – om toegang tot vingerafdruk te beschermen • Het idee: niet iedereen mag de vingerafdruk uitlezen • zelfs niet als je het paspoort in handen hebt, en dus BAC kunt doen • Hoe doe je dit ? identificatieplicht voor paspoort-uitleesapparatuur Informatica Cyber Security 65 Extended Access Control (EAC) bescherming tegen onbevoegd uitlezen van vingerafdruk deze terminal 1. certificaat (oorkonde) mag een vingerafdruk lezen 2. uw vingerafdruk, svp. 3. bewijs dat je dit mag 4. "bewijs" 5. vingerafdruk Informatica Cyber Security 66 Mogelijke & echte problemen Informatica Cyber Security 67 Oeps De uitgever van certificaten moet je vertrouwen! DigiNotar, die certificaten voor oa overheidwebsites uitgaf, bleek in 2011 gehackt Gelukkig leverde DigiNotar niet de certificaten voor paspoorten! Informatica Cyber Security 68 Mogelijk beveiligingsprobleem: kleine sleutelruimte • Passpoortnummer is 10 karakters, en geboortedatum en verloopdatum zijn 8 cijfers Aantal mogelijkheden? - maar niet alle data zijn mogelijk en paspoortnummers worden misschien in volgorde uitgegeven... Aantal mogelijkheden? - Als paspoortnummers in volgorde worden uitgegeven dan is er een sterk verband tussen paspoortnummer en verloopdatum. Het wordt dan mogelijk om na afluisteren van communicatie (bijv bij paspoort controle op Schiphol) alle combinaties uit te proberen met een snelle computer om de data te ontsleutelen, met een brute force attack Informatica Cyber Security 69 Mogelijk beveiligingsprobleem: foutmeldingen • Bij fouten in de communicatie stuurt de paspoort-chip een foutmelding (error code) • Verschillende paspoort-implementaties versturen soms verschillende foutmelding • Hierdoor zijn mogelijk paspoorten uit verschillende landen te onderscheiden Informatica Cyber Security 70 Antwoord van kaart op B0 instructie B0 betekent "read binary" (lees file), en mag alleen ná BAC antwoord betekenis Belgisch 6986 not allowed Nederlands 6982 security status not satisfied Frans 6F00 no precise diagnosis Italiaans 6D00 not supported Duits 6700 wrong length Informatica Cyber Security 71 Beveiligingsprobleem: foutmeldingen Onderzoek voor bachelorscriptie door Henning Richter Er waren ook vragen over in de Tweede Kamer Informatica Cyber Security 72 Kun je hier wel misbruik van maken? Mogelijk misbruik? • Paspoort-bom die afgaat bij bepaalde nationaliteit? • Uitzoeken van slachtoffers door paspoortdieven? Gelukkig kan dit alleen op een afstand van ≈ 25cm max. • dus risico verwaarloosbaar ? Informatica Cyber Security 73 Paspoort bom http://www.youtube.com/watch?v=-XXaqraF7pI Informatica Cyber Security 74 Beveiligingsprobleem: unieke nummers • Bij opstarten verstuurt de paspoort-chip een willekeurig nummer, als onderdeel van een zogenaamd anti-collision protocol – Dit gebeurt vóór Basic Access Control • Bij Italiaanse paspoort-chips was dat steeds hetzelfde nummer, zodat je aan dit nummer een uniek paspoort kunt herkennen Informatica Cyber Security 75 Fundamentele zwakheid: Relay attack! Nijmegen Schiphol Internet Informatica Cyber Security 76 Er is meer dan alleen technologie.... Informatica Cyber Security 77 Waarom die chips & vingerafdrukken? • Amerikanen willen het – nalv aanslag op 9/11 – maar zou dit echt iets uitmaken... ?? • Voorkomen van look-alike fraud – dwz reizen op (gestolen of gekocht) paspoort van iemand die een beetje op je lijkt – populair in criminele cirkels Informatica Cyber Security 78 Function creep? • Function creep = als een systeem er eenmaal is, wordt het gebruik ervan (de “function”) vaak langzaam & soms ongemerkt opgerekt. • Centrale database met vingerafdrukken en pasfoto’s van alle Nederlanders? • Willen we dat je straks een pasfoto kunt googelen om het bijbehorende faceboek profiel te vinden? Informatica Cyber Security 79 Wat kan er nog meer met die chip? • Automatische grens controle op basis van gezichtsherkenning, niet de vingerafdruk Informatica Cyber Security 80 Zwakste schakel: uitgifte proces? • Iemand lukte het een paspoort te krijgen met een foto van zichzelf verkleed als de Joker van Batman Informatica Cyber Security 81 Hoe kraak je een chipkaart ? (vervolg) Dieper de hardware in Informatica Cyber Security 82 Zij-channel analyse zij-kanaal (side channel) pizza leveringen aan het Pentagon Informatica Cyber Security 83 Zij-kanaal analyse maandag avond dinsdag avond Op welke ochtend zal een invasie plaatsvinden? Informatica Cyber Security 84 Zij-kanaal analyse is al eeuwenoud • Klassiek voorbeeld: kluis openen met stethoscoop • Net als pizza-bezorgingen bij het Pentagon, kan het geluid van het slot in de kluis informatie lekken Informatica Cyber Security 85 Energieverbruik van een smartcard Wat doet deze kaart? Informatica Cyber Security 86 Energieverbruik van een smartcard Hint: 16 rondes Wat doet deze kaart? Informatica Cyber Security 87 Energieverbruik van een smartcard 16 rondes, dus waarschijnlijk een DES encryptie Wat is de sleutel? Analyse van het profiel van elke stap zou dit kunnen verraden Informatica Cyber Security 88 Hoe kraak je een chipkaart? (vervolg) Informatica Cyber Security 89 Energiegebruik van een RSA encryptie Source: Riscure BV Informatica Cyber Security 90 Hoe werkt RSA versleuteling? Voor RSA decryptie moeten we xe modulo p berekenen. Naieve algoritme: x * x * x * ... * x berekenen in e stappen Snelle algorimte met herhaald kwadateren in log(e) stappen Idee hierachter: bereken x25 = x16 * x8 * x1 van achter naar voren Pseudocode: r = 1; xi = x ; for i = 1 to aantal bits in e do { if (i-de bit van e is 1) then r = xi * r mod p xi = xi * xi; // xi is nu x tot de macht 2i } Merk op: elke iteratie bestaat uit een kwadratering of uit een vermenigvuldiging en een kwadatering Informatica Cyber Security 91 De sleutel van de trace aflezen? Wat zijn de vermenigvuldigingen en wat de kwadrateringen? Informatica Cyber Security 92 De sleutel van de trace aflezen? kwadratering Informatica vermenigvuldiging Cyber Security 93 De sleutel van de trace aflezen! Informatica Cyber Security 94 Hoe kraak je een chipkaart? fysieke aanval! Informatica Cyber Security 95 Fysieke aanval: probing Met naalden op de bus het dataverkeer afluisteren of beinvloeden bijv om sleutel te achterhalen probing with 8 needles (why 8?) [Source: Brightsight] Informatica Cyber Security 96 Fysieke aanval: fibbing FIB = Focussed Ion Beam kan chip observeren of wijzigen • gaten boren • connecties wegbranden • nieuw connecties solderen gat in chip oppervlakte doorgeslagen stop Informatica Cyber Security 97 Fysieke aanval: fysiek uitlezen van geheugen Staining kan de inhoud van ROM geheugen verraden: donkere vakjes zijn 1 lichte vakjes zijn 0 [Source: Brightsight] Informatica Cyber Security 98 Conclusies Informatica Cyber Security 99 Terugblik: chipkaarten • Chipkaarten zijn de standaardoplossing for sterke authententicatie, dwz. authenticatie die veiliger is dan wachtwoorden • Een probleem dat gebruik van cryptografie meebrengt: – waar sla je veilig je cryptografische sleutels op? Hiervoor zijn chipkaarten de standaardoplossing • De beveiliging van een chipkaart is op verschillende manieren te ondermijnen - zowel logisch als fysiek Naast de besproken aanvallen is er natuurlijk óók nog de mogelijkheid van een “gewone” software bug Informatica Cyber Security 100 Terugblik: het electronische paspoort Het electronisch paspoort is een voorbeeld van de impact van informatica en cyber security in de maatschappij Bijv straks ook: je e-ID kaart online gebruiken, ipv je wachtwoord? NB het privacy risico door stiekem afluisteren van e-paspoort (of andere RFID tags) is veel kleiner dan het risico van allerlei back-end databases. Bijv database met vingerafdrukken op ministerie, van ov-chipkaart reisgegevens bij TLS, of bij facebook, google, ... Informatica Cyber Security 101 out-of-the box denken! Om security te analyseren moet je creatief zijn! En nadenken als een aanvaller! De enige manier om te kijken of iets veilig is: het (verantwoord) proberen te hacken Informatica Cyber Security 102 Vragen? Onze open source software voor uitlezen paspoorten (of zelf paspoorten te maken) is beschikbaar op http://jmrtd.sourceforge.net Informatica Cyber Security 103