Informatica: Cyber Security Chipkaarten (Smartcards) Erik Poll Digital Security groep
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)
Wat is Cyber Security?
Beveiligen van computers
Beveiligen van en met computers die dan zelf natuurlijk ook weer beveiligd moeten zijn
Beveiligen van online diensten
Slammer Worm (zaterdag 25 januari 2003, 5:29)
Slammer Worm (zaterdag 25 januari 2003, 6:00)
Beveiligen van kritieke infrastructuur
North-east blackout
Het belang van cyber security: Leuke filmpjes over de impact www.youtube.com/user/maxcornelisse
Dat was nep, dit is echt! http://www.youtube.com/watch?v=dZfxdctzX6Q of zoek op youtube startonderbreker
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! Bijvoorbeeld 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
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?
Chipkaarten
Verschillen? Overeenkomsten?
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 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
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
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
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
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
Hoe “kraak” je een chipkaart? versleutelKEY{n}
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...
afgelopen zaterdag
RFID Radio Frequency IDentification
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
Contactloze chipkaart van binnen antenne
Andere soorten RFID tags met verschillende versleutelingsalgoritmes (of geen !) werken op verschillende frequenties & afstanden
RFID binnenkort: contactloos betalen
RFID toepassing: dieren identificatie Veel van deze RFID tags doen niet aan versleuteling, maar communiceren gewoon uniek ID nummer
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
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
Wat theoretische concepten
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?
Autorisatie Autorisatie: Wat mag je? Soms gaat dit zonder identificatie Soms gaan dit met identificatie
NFC
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
Een NFC telefoon kan kaart óf lezer spelen
Het electronische paspoort
e-paspoort e-paspoort logo Electronisch paspoort oftewel biometrisch paspoort bevat RFID chip oftewel contactloze smartcard e-paspoort logo
e-identiteitskaart Dezelfde chip zit ook in identiteitskaarten (sinds 2006)
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
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
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?
Bedreigingen versus beveiligingeisen afluisteren stiekem uitlezen nep paspoorten paspoorten stuk maken (Denial of Service) Eisen garanderen vertrouwelijkheid garanderen van toegangscontrole garanties van de authenticiteit (echtheid, oftewel integriteit) resilience
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
passieve vs aktieve aanvallen passieve aanval afluisteren van de communicatie tussen paspoort en lezer (bijv op Schiphol) mogelijk op 10-20 meter aktieve aanval oftewel virtueel zakkenrollen stiekem met het paspoort communiceren mogelijk op +/- 25 cm het activeren van de chip vereist een sterk magnetisch veld
beschermen tegen afluisteren Hoe bescherm je een e-paspoort tegen afluisteren? (bijv. bij paspoortcontrole op Schiphol) tegen stiekem uitlezen? (bijv. in een volle trein)
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?
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
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
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?
Bescherming tegen valse paspoorten? Hoe weet je of een paspoort echt is? Zonder naar de fysieke kenmerken (watermerk etc) te kijken?
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 e- paspoorten?
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
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!
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!
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: Terminal vraagt de getekende publieke sleutel Terminal stuurt een willekeurig getal n naar paspoort (Echt) paspoort antwoordt met n versleuteld met privé-slot 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!
Certificaten De getekende publieke sloten worden certificaten genoemd Wij, Beatrix, verklaren dat het paspoort met publiek sleutel xyz echt is
Beveiligde verbindingen op internet Het beveiligen van internet verbindingen met https werkt hetzelfde! SSL-certificaten garanderen dat een website is wie die zegt dat-ie is Je webbrowser geeft dit aan met slotje Wij, Diginotar, verklaren dat de website met publiek sleutele xyz1234 echt van rabobank.nl is
We hebben nu bescherming tegen afluisteren bescherming tegen stiekem uitlezen garantie van de echtheid
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
Extended Access Control (EAC) bescherming tegen onbevoegd uitlezen van vingerafdruk deze terminal mag een vingerafdruk lezen certificaat (oorkonde) 2. uw vingerafdruk, svp. 3. bewijs dat je dit mag 4. "bewijs" 5. vingerafdruk
Mogelijke & echte problemen
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!
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... 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
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
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
Beveiligingsprobleem: foutmeldingen Onderzoek voor bachelorscriptie door Henning Richter Er waren ook vragen over in de Tweede Kamer
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 ?
Paspoort bom http://www.youtube.com/watch?v=-XXaqraF7pI
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
Fundamentele zwakheid: Relay attack! Nijmegen Schiphol Internet
Er is meer dan alleen technologie....
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
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?
Wat kan er nog meer met die chip? Automatische grens controle op basis van gezichtsherkenning, niet de vingerafdruk
Zwakste schakel: uitgifte proces? Iemand lukte het een paspoort te krijgen met een foto van zichzelf verkleed als de Joker van Batman
Hoe kraak je een chipkaart ? (vervolg) Dieper de hardware in
Zij-channel analyse zij-kanaal (side channel) pizza leveringen aan het Pentagon
Zij-kanaal analyse dinsdag avond maandag avond Op welke ochtend zal een invasie plaatsvinden?
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
Energieverbruik van een smartcard Wat doet deze kaart?
Energieverbruik van een smartcard Hint: 16 rondes Wat doet deze kaart?
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
Hoe kraak je een chipkaart? (vervolg)
Energiegebruik van een RSA encryptie Source: Riscure BV
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
De sleutel van de trace aflezen? Wat zijn de vermenigvuldigingen en wat de kwadrateringen?
De sleutel van de trace aflezen? kwadratering vermenigvuldiging
De sleutel van de trace aflezen!
Hoe kraak je een chipkaart? fysieke aanval!
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]
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
Fysieke aanval: fysiek uitlezen van geheugen Staining kan de inhoud van ROM geheugen verraden: donkere vakjes zijn 1 lichte vakjes zijn 0 [Source: Brightsight]
Conclusies
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
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, ...
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
Vragen? Onze open source software voor uitlezen paspoorten (of zelf paspoorten te maken) is beschikbaar op http://jmrtd.sourceforge.net