WWW.GOVCERT.NL SMARTCARDS



Vergelijkbare documenten
Security Solutions. End-to-end security. Voor de beveiliging van uw fysieke toegangscontrolesysteem.

Smart cards en EMV. Joeri de Ruiter. Digital Security, Radboud University Nijmegen

4Problemen met zakendoen op Internet

Project 4 - Centrale Bank. Rick van Vonderen TI1C

RFID (in)security VUrORE. Jeroen van Beek VU AMSTERAM 18 april 2008

Veilig en. Waarom en via een beveiligde verbinding? U vertrouwt de verbinding met de server van InterNLnet niet

Aandachtspunten PKIoverheid

Ontmanteling contactloze chipkaart

Lt. Bruno de Ras Academiejaar Hardware Study

UZI-pas in gebruik. Maarten Schmidt Risk en Security manager 22 november Remco Schaar Consultant UL Transaction Security service

m.b.v. digitale certificaten en PKI Versie: mei 2002 Beknopte Dienstbeschrijving beveiligen van

Alphatronics. e-id toegangscontrole in containerparken. Innovators in access technology

Voorbeelden generieke inrichting Digikoppeling

Biometrie in de praktijk. 28 november 2002 Ronald Huijgens CMG Applied Biometrics

Security congres. Gerben Nelemans 8 oktober 2008

4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting

Application interface. service. Application function / interaction

Onderzoeksverslag Beveiliging

Beknopte dienstbeschrijving beveiligen van Webapplicaties m.b.v. digitale certificaten en PKI

Security web services

de Voorzitter van de Tweede Kamer der Staten-Generaal Plein CR Den Haag D Schriftelijke vragen Mifare chip

Door Niko Visser. Bewijsmomenten met waarborgen voor zekerstelling met ISO 27001

Technisch Ontwerp W e b s i t e W O S I

m.b.v. digitale certificaten en PKI Versie: mei 2002 Beknopte Dienstbeschrijving beveiligen van VPN s

Wandlezer online. Ethernet / RS485. Virtueel netwerk met offline cilinders. Ethernet / RS485. Programmeer station. Ethernet / VPN VPN

Beveiligingsbeleid Stichting Kennisnet

ICT en de digitale handtekening. Door Peter Stolk

Beschrijving pseudonimisatieplatform ZorgTTP

Rijkspas: veiligheid en flexibiliteit. ID-ware, C. Borgmann, MSc Heerhugowaard 24 november 2011

Stappenplan naar GDPR compliance

Encryptie deel III; Windows 2000 EFS

Labo-sessie: Gegevensbeveiliging

De elektronische handtekening en de Dienstenrichtlijn De elektronische handtekening Wat zegt een elektronische handtekening?

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

Beveiligingsbeleid. Online platform Perflectie

DigiD SSL. Versie Datum 16 augustus 2010 Status Definitief

Whitepaper. Veilig de cloud in. Whitepaper over het gebruik van Cloud-diensten deel 1.

Digikoppeling adapter

esigning: snel en eenvoudig elektronisch ondertekenen

Cryptografie: ontwikkelingen en valkuilen bij gebruik. Eric Verheul Bart Jacobs 5 oktober 2011

Cryptografie in Nederland.

Veilig samenwerken met de supply-chain

Technische beschrijving pseudonimisatie gegevensverzameling NIVEL Zorgregistraties eerste lijn

Opslag van Creditcard Gegevens if you don t need it, don t store it

Privacy Bijsluiter Digitale Leermiddelen Basisonderwijs (Dr. Digi), Noordhoff Uitgevers

Toegangscontrolesystemen en identificatiemiddelen

Adobe s positionering op document beveiliging

Bent u ook zoveel tijd kwijt met het zoeken naar de laatste en enig juiste! - versie van uw marktonderzoek

Stappenplan naar GDPR compliance

Kwetsbaarheidsanalyse open vs gesloten smartcard chips voor eid

Gebruikershandleiding

Hoe kunt u profiteren van de cloud? Whitepaper

B2BE Data Processing Overeenkomst 1. DEFINITIES

BEKNOPTE BESCHRIJVING VOORZIENING BRIEFSTEMMEN WATERSCHAPSVERKIEZINGEN 2008

Postkwantumcryptografie

Privacyverklaring loyaliteitsprogramma

Hierbij ontvangt u ons antwoord met een kopie van de schriftelijke vragen van de heer J.N.M. van Well. de burgemeester. orren

De Nationale Bibliotheekkaart Brancheformule

Applet-based e-ticketing

Authenticatie wat is dat? Hoe bewijs je achter de computer wie je bent!

Authenticatie wat is dat?

Secure eid Pinpad Reader

Gebruik tweefactorauthenticatie

Installatie Remote Backup

Toelichting MasterCard SecureCode & Verified by Visa

Communicatie betreffende het CPS zal plaatsvinden per , fax of aangetekende brief, tenzij anders is voorzien.

Beveiliging en bescherming privacy

Externe-mediakaarten

Privacyverklaring MijnOverheid 23 november versie 1.9

versie: 1.0 status: vrijgegeven door: J.Eberson datum: 15 augustus 2005 aangepast: 19 februari 2006 concept beschrijving

Kenmerken Nomadesk Software

Dicht het security gat - Microsoft SharePoint, OCS, en Exchange met Secure File Sharing Heeft uw organisatie ook een Dropbox probleem?

Korte Handleiding iwl250

NETQ Healthcare: Voor inzicht in het effect van therapie

BIJLAGE 2: VRAGENLIJST PASSENDE TECHNISCHE EN ORGANISATORISCHE MAATREGELEN

PRIVACY POLICY MENUEZ INTERNATIONAL B.V.

Ontsluiting KnowHow White Paper Oktober Ontsluiting KnowHow. White Paper 1/5

owncloud centraliseren, synchroniseren & delen van bestanden

NHibernate als ORM oplossing

eid middleware v2.6 voor Mac OS X

De Voorzitter van de Tweede Kamer der Staten-Generaal Postbus EA Den Haag

De nieuwe generatie Toegangsbeheer.

Privacy Policy v Stone Internet Services bvba

Waarmaken van Leibniz s droom

Digitaal certificaat Ondertekenen en encryptie. De meest recente versie van dit document kunt u vinden op:

Transport Layer Security. Presentatie Security Tom Rijnbeek

Beveiligingsbeleid Perflectie. Architectuur & Procedures

Externe-mediakaarten Gebruikershandleiding

FS E. FORUM STANDAARDISATIE 13 december Advies. Agendapunt: 3E Betreft: Intake-advies voor Grip op SSD Aan:

NXT. Kun je het online oplossen?

Cookiebeleid: Privacybeleid:

Plan van Aanpak beschikbaar stellen broncode Basisregistratie Personen (BRP)

Memo Regiegroep OSO Datum: 7 januari 2016 Marjan Frijns Onderwerp: Voorstel wijziging PKI infrastructuur OSO

Technische implementatie De infrastructuur rondom Transit kent de volgende rollen:

Concept. Inleiding. Advies. Agendapunt: 04 Bijlagen: - College Standaardisatie

NORA werkdocument. Katern Beveiliging. In 3 klikken naar bouwstenen voor invulling van de eisen. Sessie 6. Bijgewerkt op 23 aug.

abcdefgh De voorzitter van de Tweede Kamer der Staten Generaal Binnenhof AA DEN HAAG Geachte voorzitter,,

Code signing. Door: Tom Tervoort

CompuDiode. Technical whitepaper ICS / SCADA Security. Nederlands

Transcriptie:

WWW.GOVCERT.NL SMARTCARDS POSTADRES Postbus 84011 2508 AA Den Haag BEZOEKADRES Wilhelmina van Pruisenweg 104 2595 AN Den Haag TELEFOON 070 888 75 55 FAX 070 888 75 50 E-MAIL info@govcert.nl Auteur : GOVCERT.NL Versie : 1.0 Den Haag : 26 november 2010 Publieke versie : 15 april 2011

GOVCERT.NL is het Computer Emergency Response Team van en voor de Nederlandse overheid. Zij ondersteunt overheidsorganisaties in het Voorkomen en afhandelen van ICT-gerelateerde veiligheidsincidenten, 24 uur per dag, 7 dagen zijn hierbij sleutelwoorden. Logius Logius is in januari 2006 opgericht onder de naam GBO.Overheid. Sinds januari 2010 heet zij Logius waar GOVCERT.NL deel van uit maakt. Logius is de dienst digitale overheid van het ministerie van Binnenlandse Zaken en Koninkrijksrelaties (BZK). Logius beheert overheidsbrede ICT-oplossingen en gemeenschappelijke standaarden, die de communicatie tussen overheden, burgers en bedrijven vereenvoudigen. Met oog voor de samenhang in de infrastructuur van de e-overheid. Gebruik: Dit werk is gepubliceerd onder de voorwaarden beschreven in de Creative Commons Naamsvermelding-Niet-commercieel- Gelijk delen 3.0 Nederland licentie. Kijk voor meer informatie op http://creativecommons.org/licenses/by-nc-sa/3.0/nl

0 SAMENVATTING Een smartcard is een plastic kaartje dat is voorzien van een microchip. Een smartcard wordt vaak gebruikt voor toepassingen met cryptografische bewerkingen en veilige opslag van cryptografische sleutels en gegevens. Het gebruik en de ontwikkeling van een smartcardtoepassing, inclusief techniek, procedures en gebruik in een organisatie, moet aan een aantal eisen voldoen om een effectief onderdeel te worden in de beveiligingsketen. Een goede organisatorische inbedding met procedures voor bijvoorbeeld het uitgeven en innemen van de smartcards, is essentieel voor de acceptatie door eindgebruikers. Smartcards dienen robuust te zijn tegen aanvallen. Voor een veilige toepassing is het daarnaast noodzakelijk data en processen op de microchip te beveiligen met cryptografie. De microchip moet fysiek en logisch goed verankerd zijn in de smartcard. Voor sommige toepassingen moet de smartcard beveiligd worden met visuele echtheidskenmerken. De keuze van smartcards is een vak apart. Smartcards zijn direct in handen van de eindgebruiker en worden vaak in kritische toepassingen gebruikt. Alleen al hierdoor is het ontwerp van smartcardapplicaties complex. De eisen aan de beveiliging van de smartcard moeten naadloos aansluiten op het bedrijfsmodel en het risicoprofiel van de beoogde toepassing. Hiervoor is inzicht in dreigingen en maatregelen in de hele keten, waarin de smartcard wordt gebruikt, noodzakelijk. Aan de hand van de ervaring die is opgedaan bij het ontwerp van smartcardtoepassingen is een gestructureerde ontwerpwijze beschreven en zijn praktische adviezen gegeven. Hiermee kunnen smartcardtoepassingen worden geëvalueerd, de juiste vragen aan leveranciers worden gesteld en kunnen de beloften van leveranciers worden beoordeeld. SUMMARY A smart card is a plastic card that has an embedded microchip. A smart card is often used for applications that require cryptographic operations and the safe storage of cryptographic keys and information. The usage and development of a smart card application, including technology, procedures and usage in an organization, has to fulfill certain preconditions to become an effective component in the information security chain. A good organizational embedding, e.g. for issuing and blocking of smart cards, is essential for the acceptance by end users. Smart cards need to be robust against attacks. For a safe application it is essential that data and processes on the microchip are secured with cryptography. The microchip must be physically and logically firmly-fixed in the smart card. For some applications the smart card must be secured with visual authenticity marks.

The selection of a smart card solution is a profession. Smart cards are directly in the hands of the end user and are often used in critical applications. This makes the design of smart card applications complex. The security requirements of the smart card must perfectly match the business model and risk profile of the intended application. For this purpose insight into the threats and controls in the complete smart card application chain is required. Based on experience in smart card application design a structured design method is described and practical advice is given. This can be used to evaluate smart card applications, the right questions can be asked to suppliers, and the promises of suppliers can be assessed.

INHOUD 0 Samenvatting...3 1 Inleiding...7 1.1 Achtergrond en toepassing... 7 1.2 Leeswijzer... 8 2 Smartcards...10 2.1 Waarom smartcards?... 10 2.2 Soorten smartcards... 11 2.3 Soorten toepassingen... 12 2.4 Verschillen tussen smartcards... 13 3 Smartcard techniek...14 3.1 Blokschema... 14 3.2 Smartcard bestandsstructuur... 15 3.3 Smartcard functies... 15 4 Dreigingen en kwetsbaarheden van smartcards...17 4.1 Waarom zijn smartcards kwetsbaar?... 17 4.2 Bedrijfsobjecten... 17 4.3 Dreigingen... 17 5 Smartcard maatregelen...21 5.1 Maatregelen voor de bescherming van integriteit en vertrouwelijkheid... 21 5.2 Beveiliging van de fysieke smartcard... 23 6 Het ontwerp van een smartcardtoepassing...26 6.1 Ontwerpbeslissingen... 26 6.2 Rollen in een smartcardtoepassing... 28 6.3 Smartcard applicatieketen/applicatie-architectuur... 28 6.4 Beveiligingsdiensten... 30 6.5 Smartcardbeveiligingsmechanismen... 30 6.6 Beveiligingsaspecten... 33 6.7 Smartcard standaarden... 37 7 Ontwerpcyclus van een smartcardapplicatie...40 7.1 Uitvoeren risico assessment... 40 7.2 Maken applicatieontwerp van een smartcard... 40 7.3 Verificatie ontwerp... 41 7.4 Bouw... 41 7.5 Beschrijven procedures informatiebeveiliging... 41 7.6 Uitvoeren test... 43 7.7 Certificeren... 43 7.8 Implementatie... 43 7.9 Beheer en onderhoud... 44

8 Smartcard levenscyclus...45 8.1 Prepersonalisatie... 45 8.2 Personalisatie... 45 8.3 Uitgifte... 45 8.4 Gebruik... 46 8.5 Inname... 46 9 Sleutelbeheer...47 9.1 Online of offline sleutelverificatie... 47 9.2 Geheim sleutelschema... 47 9.3 Cryptografische sleutelroulatie of rotatie... 48 9.4 De levenscyclus van cryptografische sleutels... 48 10 Smartcard toepassingen...51 10.1 Publieke sector... 51 10.2 Private sector... 51 10.3 Infrastructuur... 52 11 Case study MIFARE...54 11.1 Wat is MIFARE?... 54 11.2 Technische details... 54 11.3 Kwetsbaarheden en dreigingen... 55 11.4 Geslaagde aanvallen op MIFARE Ultralight... 56 11.5 Geslaagde aanval op MIFARE Classic... 59 11.6 Conclusies en aanbevelingen... 62 12 Nieuwe ontwikkelingen...64 12.1 Smartcard met ingebouwd display en toetsenbord... 64 12.2 High Capacity SIM (HC-SIM)... 64 12.3 Smartcard met biometrische sensor... 65 12.4 See-What-You-Sign smartcardlezers... 65 Bijlage A Afkortingen en definities...66 Bijlage B Literatuurlijst...68 Bijlage C Overzicht van aanvallen op microchips...69 C.1 Fysieke aanvallen en beveiligingsmaatregelen... 69 C.2 Side channel aanvallen en beveiligingsmaatregelen... 71 C.3 Softwarematige aanvallen en beveiligingsmaatregelen... 77 Bijlage D Common Criteria...80

1 INLEIDING Smartcards of chipkaarten bestaan in veel verschijningsvormen en worden gebruikt voor vele toepassingen. Bekende voorbeelden zijn de Chipknip als elektronische portemonnee voor het elektronisch betalen van kleine bedragen. Ook de simkaart in een mobiele telefoon is een smartcard, zij het van een kleiner formaat dan gebruikelijk. 1.1 Achtergrond en toepassing Een smartcard is een plastic kaart, voorzien van een zogenaamde microchip. Deze microchip bestaat uit een combinatie van verschillende functionele componenten zoals geheugen, microprocessor en communicatie interface. Geavanceerde smartcards zijn daarmee in staat om informatie te ontvangen, op te slaan, te verwerken en te versturen. Een smartcard kan communiceren met een smartcardlezer via fysieke contactpunten of via een contactloze radioverbinding. Binnen de overheid wordt er in toenemende mate gebruik gemaakt van smartcardtechnologie. Een Nederlands reisdocument (paspoort of identiteitskaart) uitgegeven na 26 augustus 2006 bevat een contactloze microchip. De microchip bevat onder andere een gedigitaliseerde foto van de houder en daarnaast gegevens als naam, nationaliteit en geboortedatum. Figuur 1-1 Paspoort en identiteitskaart met contactloze microchip Een andere toepassing van smartcards is de OV-chipkaart. Met deze smartcard is het mogelijk om gebruik te maken van de diensten van de Nederlandse vervoersmaatschappijen. Gegevens met betrekking tot de identiteit van de houder en het recht op vervoer worden op de OV-chipkaart vastgelegd. Andere toepassingen zijn bijvoorbeeld telefoonkaarten, klantenkaarten en toegangspassen. SMARTCARDS Versie 1.0 24 november 2010 7/74

Figuur 1-2 OV-chipkaart 1.2 Leeswijzer Dit document geeft achtergrondinformatie over verschillende aspecten van smartcardtechnologie. Hiermee krijgt de lezer inzicht in de verschillende typen smartcards, smartcard gerelateerde standaarden, gebruikerstoepassingen en functionaliteit van smartcards. Dit document beschrijft een gestructureerde manier van smartcardapplicatieontwerp. De beschrijving is gebaseerd op opgedane ervaring bij het ontwerp van smartcardapplicaties. Ook geeft dit document praktische adviezen. Dit is noodzakelijk om toepassingen van smartcards te kunnen evalueren, de juiste vragen aan leveranciers te stellen en de beloften van leveranciers te kunnen beoordelen. Dit document is bestemd voor projectmanagers, ontwerpers en architecten van toepassingen waarin smartcards worden gebruikt. In hoofdstuk 2 is beschreven wat er specifiek is aan een smartcard. In hoofdstuk 3 wordt meer inzicht gegeven in de werking van een smartcard. Hoofdstuk 4 beschrijft welke dreigingen een rol spelen bij smartcards. In hoofdstuk 5 worden mogelijke maatregelen beschreven. In hoofdstuk 6 wordt een raamwerk geschetst van beveiligingsdiensten en smartcardmechanismen. Dit kan als basis dienen voor een smartcardontwerp. Naast het ontwerp zelf wordt in hoofdstuk 7 het ontwerpproces van een smartcardapplicatie beschreven. Hoofdstuk 8 en 9 beschrijven de levenscyclus van de smartcard en sleutels. Hoofdstuk 10 en 11 beschrijven smartcardtoepassingen. In hoofdstuk 11 staat een case study van de MIFARE smartcard die voor de OV-chipkaart wordt gebruikt. In dit document wordt veelvuldig gebruik gemaakt van afkortingen en specifieke termen. Een overzicht van alle gebruikte afkortingen en termen staan in bijlage A. Voor de totstandkoming van dit document zijn verschillende literatuurbronnen geraadpleegd. Op plaatsen waar informatie uit deze literatuurbronnen is verwerkt, is een verwijzing in de vorm van [x] opgenomen waarbij [x] verwijst naar een document zoals opgenomen in bijlage B. SMARTCARDS Versie 1.0 24 november 2010 8/74

NOOT 1 Indien in dit document de naam van een product, dienst, fabrikant of leverancier wordt genoemd, betekent dit niet dat GOVCERT.NL deze op enige wijze goedkeurt, afkeurt, aanraadt, afraadt of anderszins hiermee verbonden is. NOOT 2 Dit document is niet uitputtend en zal ook met regelmaat bijgewerkt worden. Aanvullingen, opmerkingen of eigen ervaringen ontvangen wij dan ook graag via info@govcert.nl. SMARTCARDS Versie 1.0 24 november 2010 9/74

2 SMARTCARDS In dit hoofdstuk worden de belangrijkste eigenschappen van smartcards beschreven. Op basis hiervan is beschreven hoe een smartcard kan worden gebruikt voor een toepassing 2.1 Waarom smartcards? Smartcards zijn klein en dus gemakkelijk mee te nemen waardoor ze op verschillende plaatsen kunnen worden gebruikt. Een smartcard kan voor verschillende toepassingen worden gebruikt, waardoor een gebruiker minder plastic kaarten nodig heeft. Smartcards hebben twee basisfuncties die het mogelijk maken beveiligingsdiensten te bieden met een hoog niveau van beveiliging: 1. beveiligde (decentrale) opslag 2. cryptografie 2.1.1 Beveiligde decentrale opslag In de smartcard worden op een beveiligde manier gegevens opgeslagen. De smartcard gebruikt deze opslag voor (geheime) sleutels. De sleutel kan de smartcard niet verlaten. Een smartcard is hierdoor niet te kopiëren, dit in tegenstelling tot een kaart met een magneetstrip die wel makkelijk te kopiëren is. Daarnaast kan de opslag worden gebruikt voor toepassing specifieke informatie. Denk hierbij bijvoorbeeld aan saldo-informatie of transactiehistorie. De smartcard kan beveiligde informatie bewerken of uitlezen met een sleutel, die in het bezit is van de smartcarduitgever, of een gegeven in bezit van de smartcardhouder, zoals een pincode. Op de smartcard wordt het resultaat van de pinverificatie bijgehouden. Wanneer het aantal achtereenvolgende foutieve pincodes een vooraf ingestelde drempel overschrijdt is een deel van de functionaliteit van de smartcard geblokkeerd. De smartcarduitgever kan deze blokkade weer ongedaan maken. Hoe de smartcard is beveiligd, kan op de smartcard zelf worden ingesteld. Biometrische eigenschappen, bijvoorbeeld een vingerafdruk, van de smartcardhouder kunnen ook worden gebruikt voor het ontsluiten van gegevens en functionaliteit op de smartcard. 2.1.2 Cryptografie Naast de beveiligde opslag bieden smartcards ook cryptografische functies. Deze functies kunnen worden gebruikt voor het genereren van (tijdelijke) sleutels, het versleutelen en ontsleutelen van informatie. SMARTCARDS Versie 1.0 24 november 2010 10/74

2.2 Soorten smartcards De verschijningsvormen van smartcards kunnen op verschillende manieren worden getypeerd. Zo kan er onderscheid gemaakt worden tussen geheugenkaarten en microprocessorkaarten. Een tweede onderscheid is te maken op basis van de interface tussen smartcard en smartcardlezer. Dit kan via contactpunten op de smartcard (contactkaarten) of via een draadloze verbinding (contactloze kaarten). 2.2.1 Geheugen- en processorkaart Geheugenkaarten bevatten voornamelijk geheugenchips voor de opslag van informatie. Ze zijn goedkoop te produceren en worden vooral gebruikt in de detailhandel en logistiek, bijvoorbeeld voor specifieke toepassingen zoals prepaid telefoonkaarten. Figuur 2-1 Voorbeeld van een prepaid telefoonkaart Microprocessorkaarten hebben een microprocessor, verschillende soorten geheugen, invoer- en uitvoercomponenten en bevatten een kaartbesturingssysteem en soms meerdere applicaties. Sommige microprocessorkaarten bevatten speciale hardware voor het snel kunnen uitvoeren van cryptografische bewerkingen. Eén van de grootste voordelen van microprocessorkaarten is, dat opgeslagen informatie beschermd kan worden tegen ongeautoriseerde toegang en manipulatie. Ze zijn daarom geschikt voor financiële toepassingen, zoals bankpassen en creditcards. 2.2.2 Contact en contactloze smartcards Contact gebaseerde smartcards hebben een klein contactvlak van ongeveer 1x1 cm. Wanneer een dergelijke smartcard in een smartcardlezer wordt gestopt, maakt de microchip contact met verbindingen in de lezer die daarmee informatie kan uitwisselen met de microchip. Tegenwoordig zijn geheugen- en microprocessorkaarten ook beschikbaar als contactloze variant waarbij energie en informatie worden getransporteerd zonder elektrische contactpunten tussen smartcard en smartcardlezer. Hierbij wordt gebruik gemaakt van zogenaamde Radio Frequency IDentification (RFID) SMARTCARDS Versie 1.0 24 november 2010 11/74

technologie 1. Radiosignalen zorgen voor de energievoorziening van de smartcard en de gegevensuitwisseling tussen smartcardlezer en de microchip op de smartcard. Dit is schematisch weergegeven in figuur 2-2. Voor sommige toepassingen van contactloze kaarten geldt dat ze uitleesbaar moeten zijn over grotere afstand (50 cm). Andere toepassingen zoals een elektronische portemonnee of een paspoort, hebben juist baat bij kortere afstanden, bijvoorbeeld omdat een gebruiker handmatig een transactie moet bevestigen op een terminal en daarbij niet gehinderd wil worden door voorbijgangers. Spoel Chip Figuur 2-2 Contactloze kaarttechnologie Twee speciale verschijningsvormen ontstaan door combinaties van contact gebaseerde en contactloze kaarten: Hybride kaarten hebben twee microchips; één met een contactinterface en één met een contactloze interface waarbij beide microchips onderling niet zijn verbonden. In feite zijn dit twee aparte systemen geïntegreerd op één kaart. Dual-interface kaarten hebben één microchip met zowel een contact als een contactloze interface en bieden daarmee twee aparte interfaces om met één microchip te communiceren. Voor sommige toepassingen kan het een voordeel zijn dat het fysiek niet mogelijk is om draadloos met een deel van de kaart te communiceren. Hiermee wordt misbruik bemoeilijkt. 2.3 Soorten toepassingen Beveiligde opslag gecombineerd met cryptografische functies maakt het mogelijk dat de smartcard voor veel toepassingen kan worden gebruikt. Voor sommige smartcardtoepassingen is het voldoende dat de smartcardhouder de smartcard in 1 Conform ISO 14443-4 (RFID) Type A (13.56 MHz contactloze microchip standaard). SMARTCARDS Versie 1.0 24 november 2010 12/74

zijn bezit heeft. Op de smartcard is dan bijvoorbeeld een klantidentificatie opgeslagen. Spaarprogramma s zijn hier een voorbeeldtoepassing van. Wanneer meer zekerheid over de echtheid van de smartcard is vereist, bijvoorbeeld bij gebruik als toegangpas, kan de smartcard door het uitvoeren van een cryptografische berekening met een geheime sleutel zijn echtheid aantonen. Dit wordt ook wel kaartauthenticatie genoemd. Wanneer de instemming van de smartcardhouder van belang is voor het ontsluiten van informatie of functionaliteit op de smartcard, kan een pincode met de smartcard worden geverifieerd. Dit wordt ook wel kaarthouderauthenticatie genoemd. Voor betalingen waar met een smartcard, wordt gebruikt gemaakt van kaart- en kaarthouderauthenticatie. Het controleren op het bezit van de smartcard en kennis van de pincode wordt ook wel two-factor authentication genoemd. Wanneer instemming van de smartcarduitgever of dienstaanbieder is vereist voor het ontsluiten van informatie, kan een sleutelwaarde op de smartcard worden geverifieerd. Dit wordt ook wel kaartuitgeverauthenticatie genoemd. Een combinatie van kaarthouder- en kaartuitgeverauthenticatie is ook mogelijk. Een laatste categorie van toepassingen maakt specifiek gebruik van de cryptografische mogelijkheden van de smartcard. Hierbij wordt op de smartcard een (deel van het) bericht versleuteld of ontsleuteld. Toepassingen hiervan zijn bijvoorbeeld beveiligde e-mail en digitale handtekeningen. 2.4 Verschillen tussen smartcards Er zijn verschillende soorten smartcards. Naast de hierboven genoemde verschillen in interface (contact, contactloos) en type kaart (geheugen- of processorkaart) zijn er ook verschillen in het beschikbare geheugen op de smartcard, de snelheid van de smartcard, de beveiliging van de microchip op de smartcards, de cryptografische algoritmen die worden geboden, wel of geen java ondersteuning en natuurlijk ook de prijs. SMARTCARDS Versie 1.0 24 november 2010 13/74

3 SMARTCARD TECHNIEK In dit hoofdstuk wordt beschreven uit welke onderdelen een smartcard is opgebouwd, hoe gegevens worden opgeslagen op een smartcard en welke functies een smartcard biedt. 3.1 Blokschema In Figuur 3-1 staat een blokschema met de componenten van een smartcard. Het hart van de smartcard is de processor die de gegevens verwerkt. In de smartcard zijn drie soorten geheugen aanwezig: programmageheugen (ROM), tijdelijk werkgeheugen (RAM), permanent geheugen (EEPROM). Het permanente geheugen wordt gebruikt voor het opslaan van onder andere sleutels. Een smartcard heeft de volgende interfacing met de buitenwereld: voedingsspanning (Vcc), kloksignaal (clock), reset en input/output van commando s en gegevens (I/O). Omdat alle communicatie met het geheugen van de smartcard via de processor verloopt, kan de processor bepalen tot welke gegevens toegang kan worden verkregen. Bij normaal gebruik kan dus niet direct het geheugen worden uitgelezen. Om ongeautoriseerd lezen te verhinderen, zijn in de smartcard beveiligingsmaatregelen aangebracht. Hoe goed deze maatregelen zijn, bepaalt voor een groot deel de beveiligingssterkte van de smartcard. Beveiligings logica Test logica Vcc ground clock reset I/O Input/ Output Processor Werkgeheugen (RAM) Permanent geheugen (EEPROM) Programma geheugen (ROM) Figuur 3-1 Smartcard blokschema SMARTCARDS Versie 1.0 24 november 2010 14/74

3.2 Smartcard bestandsstructuur Er zijn twee typen bestandsstructuren van een smartcard. De eerste is gebaseerd op de ISO 7816-4 bestandsstructuur en heeft veel overeenkomsten met een harddisk. De smartcard heeft een root directory, waarin directory bestanden (dedicated files) of elementaire bestanden (elementary files) kunnen staan. In een directory kunnen ook weer bestanden worden opgeslagen. Het tweede type zijn smartcards waarvan de bestandstructuur is afgeschermd. Voorbeelden hiervan zijn Java Card en MULTOS. Er kunnen wel eigenschappen van gegevensobjecten op de smartcard worden opgevraagd of gewijzigd, maar de fysieke structuur van de gegevens is onbekend. 3.2.1 ISO 7816-4 bestandsstructuur Een directory biedt de mogelijkheid voor een eigen toegangscontrole mechanisme voor een deel van de smartcard, waardoor verschillende onafhankelijke applicaties op de smartcard kunnen worden geplaatst. Een smart card kent de volgende typen (elementaire) bestanden: 1. Geheim Bestand (Secret File), een bestand dat eenmalig beschreven kan worden en daarna alleen gebruikt kan worden bij bewerkingen op de smartcard. Dit bestand wordt gebruikt voor het opslaan van sleutels en pincodes. 2. Toegangsbeheer Bestand (Access Control File), een bestand waarin het resultaat van het aanbieden van sleutels wordt bijgehouden. Dit bestand kan wel uitgelezen worden, echter alleen de smartcard zelf kan dit bestand beschrijven. 3. Publiek Bestand (Public File), een bestand dat eenmalig beschreven wordt en daarna door iedereen uitgelezen kan worden. 4. Werkbestand (Work File), een bestand waarvan de applicatieontwerper de toegangscondities bepaald. Toegangscondities kunnen smartcardhouderafhankelijk zijn; toegang is dan bijvoorbeeld alleen mogelijk na het aanbieden van een geldige pincode. Ze kunnen ook kaartuitgeverafhankelijk zijn; toegang is dan bijvoorbeeld alleen mogelijk na het aanbieden van een geldige sleutel. De toegangscondities zijn op de smartcard zelf opgeslagen. 3.3 Smartcard functies Een smartcard kent twee typen instructies: ingaande en uitgaande instructies. Een instructie bestaat uit een commando en een aantal parameters. Een commando wordt altijd geïnitieerd door de smartcardlezer. De smartcard geeft een resultaat terug, dat bestaat uit een resultaatcode en optioneel een aantal gegevens. Smartcardcommando s kunnen in de volgende groepen worden onderverdeeld: SMARTCARDS Versie 1.0 24 november 2010 15/74

Algemeen: Lezen gegevens, Schrijven gegevens, Wissen gegevens, Zoeken gegevens; Bestandsbeheer: Creëren bestand, Selectie bestand, Verwijderen bestand, Invalideren bestand; Cryptografie: Sleutelgeneratie, Versleuteling, Ontsleuteling, MAC-berekening, MAC-verificatie, Genereer random waarde, Genereer tijdelijke sleutel; Beveiliging: Verifieer PIN, Authenticatie met sleutel, Beveiligd lezen, Beveiligd schrijven. De enige keer dat de smartcard een resultaat teruggeeft zonder dat een commando naar de smartcard is verstuurd, is wanneer de smartcard van spanning wordt voorzien. Dit resultaat wordt ook wel Answer To Reset (ATR) genoemd. De ATR bevat gegevens over het type smartcard waaronder het communicatieprotocol met de smartcard. Nieuwere generaties smartcard, bijvoorbeeld EMV 2 -kaarten, bieden tegenwoordig een hoger niveau interface naar de smartcard. Waar vroeger smartcards op een laag niveau benaderd werden, door specifiek bepaalde directories, bestanden en sleutels te selecteren met bestand identificaties, en daarna de elementaire operaties hierop, vindt bij EMV selectie plaats via een applicatie-identificatie, waarna hoog niveau cryptografische functies kunnen worden uitgevoerd. EMV biedt daarbij ook functies die vroeger in de smartcardlezer werden uitgevoerd waarbij de parameters voor de functie op de smartcard staan. Voor Java smartcards kunnen eigen commando s worden gedefinieerd. Hiermee kunnen dan applicatiespecifieke commando s worden geïmplementeerd en kan de interne gegevensstructuur op de smartcard worden afgeschermd. 2 EMV is een standaard ontwikkeld door Europay Mastercard en Visa (EMV) voor de interoperabiliteit tussen smartcards en smartcard lezers gericht op betaalautomaat (BEA) en geldautomaten (GEA) voor het authentiseren van credit en debit card betalingen. SMARTCARDS Versie 1.0 24 november 2010 16/74

4 DREIGINGEN EN KWETSBAARHEDEN VAN SMARTCARDS 4.1 Waarom zijn smartcards kwetsbaar? Smartcards zijn beperkt van omvang en daardoor eenvoudig te transporteren. Ook zijn ze gemakkelijk verkrijgbaar. Aanvallen op smartcardtechnologie en microchips kunnen daarom in een afgeschermde omgeving gedurende langere tijd worden uitgevoerd. Smartcardtechnologie moet daarom goed bestand zijn tegen verschillende soorten aanvallen. Omdat smartcards bij de voorbereiding van aanvallen meestal uitgeschakeld zijn, is het voor een smartcard moeilijk een aanval te detecteren. Er bestaan goede technieken ter bescherming tegen aanvallen op beveiliging van microchips. Deze technieken vertonen echter een grote onderlinge samenhang en zijn wederzijds van invloed op de effectiviteit: een maatregel die bedoeld is om één type aanval te voorkomen kan tot gevolg hebben dat een ander type aanval mogelijk wordt gemaakt. Maatregelen tegen deze aanvallen moeten daarom op een uitgebalanceerde manier worden toegepast. In dit hoofdstuk wordt een aantal aanvallen geschetst waar smartcards en microchips aan blootstaan. De snelle ontwikkelingen in hard- en software brengen voortdurend nieuwe risico s met zich mee. Beschermende maatregelen moeten om die reden steeds opnieuw beoordeeld en waar nodig aangepast worden. Beveiliging van smartcards is dan ook geen eindproduct maar een voortdurend proces. 4.2 Bedrijfsobjecten Bij een analyse van dreigingen is het belangrijk om ook bedrijfsobjecten en de waarde van die objecten, erbij te betrekken. In het geval van smartcards kunnen dat bijvoorbeeld de persoonlijke gegevens van de houder zijn, tegoeden of rechten die op de smartcard staan of die gekoppeld zijn aan de smartcard. Omdat smartcards ook worden gebruikt om toegang te geven tot informatie die niet op de smartcard zelf is opgeslagen, moet dit aspect ook meegenomen worden. 4.3 Dreigingen Hieronder staat een overzicht van de belangrijkste dreigingen die specifiek van toepassing zijn op smartcards. Er zijn natuurlijk ook algemene dreigingen die hier niet zijn opgenomen. De aanvallen zijn in vier categorieën onderverdeeld: 1. Integriteit en vertrouwelijkheid (exclusiviteit) 2. Fysieke aanvallen 3. Side channel aanvallen 4. Cryptanalyse SMARTCARDS Versie 1.0 24 november 2010 17/74

4.3.1 Integriteit en vertrouwelijkheid De eerste categorie zijn aanvallen die de integriteit en vertrouwelijkheid van de informatie op de smartcard aantasten. Ongeautoriseerd lezen van informatie op de smartcard Als de microchip onvoldoende beveiligd is tegen ongeautoriseerde toegang, kunnen uit de microchip vertrouwelijke of privacygevoelige gegevens worden gelezen. Klonen van de smartcard Als de microchip onvoldoende beveiligd is tegen ongeautoriseerde toegang, kan van de microchip een kopie worden gemaakt op een microchip, smartcard of op een ander apparaat. Door het klonen kunnen een of meerdere kopieën van de smartcard worden vervaardigd van zowel de gegevens op de smartcard als de sleutels op de smartcard. Met een kopie kan de aanvaller zich voordoen als iemand anders en/of diens rechten gebruiken. Ongeautoriseerd wijzigen van informatie op de smartcard Gegevens of processen op de smartcard kunnen worden gewijzigd waardoor de integriteit van de smartcard wordt aangetast. Door manipulatie van gegevens kunnen rechten vastgelegd op de smartcard worden aangepast of vernieuwd en gegevens van de smartcardhouder worden gewijzigd. Afluisteren van communicatie tussen smartcardlezer en smartcard Gegevensuitwisseling tussen smartcardlezer en smartcard kan worden afgetapt of afgeluisterd. Hierdoor kan de privacy van de smartcardhouder worden aangetast. De afgetapte gegevens kunnen verder een uitgangspunt vormen ter reconstructie van de op de microchip aanwezig (geheime) cryptoalgoritmen. Kennis van het cryptoalgoritme kan de inbreuk op de versleutelde gegevens aanzienlijk vereenvoudigen. Wijzigen van gegevens tussen smartcardlezer en de smartcard De gegevens die worden uitgewisseld tussen smartcardlezer en smartcard worden gewijzigd. Hierdoor kunnen andere gegevens op de smartcard worden vastgelegd dan door de smartcardlezer worden verstuurd waardoor de integriteit van de gegevens op de smartcard kan worden aangetast. Wijzigen van gegevens tussen geverifieerde bron en de smartcard De gegevens tussen de (geverifieerde) bron en de smartcard worden gewijzigd. Hierdoor kan de integriteit van de smartcard worden aangetast of bijvoorbeeld een ander bericht worden getekend dan gewenst door de smartcardhouder. Hierdoor wordt het What-you-see-is-what-you-sign principe ondermijnd. Verlies van de smartcard Door het verlies van de smartcard kan de vinder van de smartcard gebruik maken van diensten die zijn verbonden aan de smartcard. De pincode van de smartcard wordt bekend Indien de pincode van een smartcard bekend wordt èn de smartcard is in bezit van een aanvaller dan kan gebruik worden gemaakt van de diensten SMARTCARDS Versie 1.0 24 november 2010 18/74

die zijn verbonden aan de smartcard. Opbouwen van een gedragsprofiel Als de smartcard een identificatie heeft die derden kunnen uitlezen, dan kan op basis hiervan een gedragsprofiel van de smartcardhouder worden opgebouwd. Dezelfde informatie kan worden gebruikt om iemand te volgen. 4.3.2 Fysieke aanvallen Smartcards lijken goed verpakte microsystemen, maar specialistische hackers zijn tegenwoordig in staat om relatief snel uit fysieke kenmerken van de microchip aanknopingspunten voor het kraken van de beveiliging te herleiden. Bij fysieke aanvallen wordt de hardware van de microchip in de smartcard geanalyseerd of gewijzigd. Hierbij lukt het aanvallers de (geheime) sleutelwaarden te achterhalen. In bijlage C zijn mogelijke fysieke aanvallen en beveiligingsmaatregelen weergegeven. Dit geeft inzicht in het verschil in goedkope en dure smartcards. 4.3.3 Side channel aanvallen Door veranderingen in de vermogensopname, de temperatuurafgifte, kloksnelheid of elektromagnetische straling van de microchip in verschillende omstandigheden te meten kan informatie worden verkregen over de werking van de microchip. Dit heet side channel analyse. Er zijn op deze manier ook aanvallen uit te voeren, bijvoorbeeld om de cryptografische sleutels te achterhalen. Er zijn verschillende typen aanvallen, waarbij gebruik gemaakt wordt van veranderingen in voedingsspanning, lichtbundels, etsen. Een voorbeeld is power glitching. Door de voedingsspanning te manipuleren kan de goede werking van de microchip worden verstoord. Als dit op een voorspelbare wijze gebeurt, is soms informatie te verkrijgen waardoor de sleutel eenvoudiger te kraken is. Een ander voorbeeld is het analyseren van schommelingen in het energieverbruik tijdens het uitvoeren van een groot aantal berekeningen. Bij een voldoende aantal berekeningen kan de sleutelwaarde worden bepaald. SMARTCARDS Versie 1.0 24 november 2010 19/74

Figuur 4-1 Differential Power Analysis: bij bepaalde input ontstaan duidelijke afwijkingen in vermogensopname. Side channel aanvallen kunnen bemoeilijkt worden door aanpassingen in de harden software. Bijvoorbeeld variaties in de voedingspanning worden beperkt door het beter reguleren van de voedingsspanning of het vermijden van bepaalde programmasprongen of juist toevoegen van extra programmastappen. Meer side channel aanvallen en maatregelen zijn in bijlage C opgenomen. 4.3.4 Cryptanalyse in combinatie met fysieke, side channel en softwarematige aanvallen Cryptanalyse ofwel een cryptografische aanval is een methode waarbij kwetsbaarheden in cryptografische algoritmen, protocollen, codes of sleutelbeheer worden benut om de werking van het algoritme en vervolgens de vercijferde informatie te onthullen. Cryptografische algoritmes zijn tegenwoordig zo complex dat voor het breken van de code een zuiver cryptografische aanval in veel gevallen niet volstaat. Cryptanalyse wordt daarom veelal gecombineerd met andere aanvalsmethoden zoals hierboven geschetst. Enkele bekende voorbeelden van cryptografische aanvallen 3 zijn: Algebraic attack, Birthday attack, Brute force attack, Dictionary Attack, Differential cryptanalysis, Known plaintext attack, Linear cryptanalysis, Meet in the middle attack. 3 Voor achtergrondinformatie over cryptografie en cryptografische aanvallen, zie: http://en.wikipedia.org/wiki/portal:cryptography http://en.wikipedia.org/wiki/crypto http://en.wikipedia.org/wiki/category:cryptographic_attacks SMARTCARDS Versie 1.0 24 november 2010 20/74

5 SMARTCARD MAATREGELEN In hoofdstuk 4 hebben we de belangrijkste dreigingen beschreven die de veiligheid van smartcards ondermijnen. In vervolg hierop beschrijft hoofdstuk 5 welke maatregelen er zijn om de smartcard goed te beschermen. We gaan eerst in op de bescherming van de integriteit en de vertrouwelijkheid. Daarna beschrijven we de maatregelen die het fysiek kopiëren van de buitenzijde smartcard kunnen tegengaan. In bijlage C zijn de maatregelen beschreven die fysieke aanvallen tegen de microchip tegen kunnen gaan. Iedere dreiging is vetgedrukt. Per dreiging geven we mogelijke maatregelen aan. Maatregelen kun je combineren om het risico verder te verminderen. Welke maatregelen worden geïmplementeerd hangt ondermeer af van het risico dat is verbonden aan het gebruik van de smartcard. Maatregelen kunnen ook het gebruiksgemak verminderen. 5.1 Maatregelen voor de bescherming van integriteit en vertrouwelijkheid Ongeautoriseerd lezen van informatie op de smartcard o o o Zet alleen noodzakelijk informatie op de smartcard. Omdat smartcards vaak in onbeveiligde ruimtes gedragen of gebruikt worden, is het zaak om zo min mogelijk informatie op de smartcard naar buiten te brengen. Beveilig de toegang tot informatie op de smartcard met sleutels en/of een pincode. Het is noodzakelijk om zowel de smartcard als de sleutels en/of een pincode te bezitten om toegang tot de informatie te krijgen. Versleutel informatie op de smartcard. Klonen van de smartcard o o o o o Wissel (periodiek) sleutels. Een sleutel die op een gekloonde smartcard gebruikt wordt, is dan onbruikbaar. Dit werkt natuurlijk alleen als de geldigheid van sleutels bij gebruik geverifieerd wordt. Invalideer sleutels. De sleutels van smartcards die niet meer gebruikt worden, bijvoorbeeld op een gekloonde smartcard, worden onbruikbaar. Monitor het gebruik van smartcards door het loggen van transacties, analyseren van de transactielog en het blokkeren van smartcards. Door het monitoren van het gebruik van smartcards in de verwerkingssystemen kunnen afwijkingen en misbruik opgespoord worden. Geef periodiek een nieuw type smartcard uit. Gebruik smartcards met een voldoende hoog beveiligingsniveau, die gevalideerd zijn door een gecertificeerde instantie. SMARTCARDS Versie 1.0 24 november 2010 21/74

o Beveilig de toegang tot informatie op de smartcard met een pincode. Ongeautoriseerd wijzigen van informatie op de smartcard o o o o Houd informatie op een centrale plaats bij in plaats van op de smartcard. Bij toepassingen in een netwerkomgeving kan de hoeveelheid informatie op de smartcard geminimaliseerd worden en centraal worden opgeslagen in databases. De beschikbaarheid van netwerk en database moet hierbij in voldoende mate gegarandeerd worden. Log en monitor transacties. Ook hier kunnen afwijkingen in het gebruik van de smartcards aanwijzingen geven voor misbruik. Beveilig de toegang tot informatie op de smartcard met sleutels en/of een pincode. Hierdoor is informatie niet door iedereen uit te lezen. Versleutel informatie op de smartcard. Hierdoor is informatie niet door iedereen uit te lezen. Afluisteren van communicatie tussen smartcardlezer en smartcard o Versleutel gegevens tussen de smartcardlezer en de smartcard. De aanvaller kan de gegevens dan niet inzien. Wijzigen van gegevens tussen smartcardlezer en smartcard o o o Versleutelen van gegevens tussen de smartcardlezer en de smartcard waardoor de gegevens voor een aanvaller niet leesbaar zijn. Voorzie gegevens van een integriteitskenmerk dat ook op de smartcard wordt opgeslagen. Het wijzigen van de gegevens kan zo worden gedetecteerd. Gebruik de smartcard alleen in een vertrouwde omgeving. Verlies van de smartcard o o o Blokkeer de smartcard zodat de smartcard niet meer kan worden misbruikt. Zorg voor een snelle uitgifte van een nieuwe smartcard waardoor de gebruiker weer van de dienst gebruik kan maken. Beveilig de smartcard met een pincode zodat alleen de eigenaar hem kan gebruiken. De pincode van smartcard wordt bekend o o o Wijzig de pincode van de smartcard. Geef voorlichting aan gebruikers zodat zij zich bewust worden van de risico s. Voer de pincode alleen in op een vertrouwd apparaat waarbij het toetsenbord is geïntegreerd (dus niet op een pc). Hierdoor wordt afluisteren van de pincode bemoeilijkt. Opbouwen van een gedragsprofiel van de gebruiker SMARTCARDS Versie 1.0 24 november 2010 22/74

o o Lever bij een contactloze of hybride smartcard een hoesje mee waardoor misbruik op afstand niet mogelijk is. Gebruik een contact-gebaseerde smartcard in plaats van een contactloze smartcard. 5.2 Beveiliging van de fysieke smartcard 5.2.1 Visuele echtheidskenmerken Visuele echtheidskenmerken bieden bescherming tegen het gebruik van gekopieerde of gekloonde smartcards. Voor dit doel zijn speciale ontwerp- en druktechnieken ontwikkeld. Voorbeelden van visuele echtheidskenmerken zijn het reliëf, het hologram, het kinegram en de imageperf. Een reliëf is een tastbaar element. Een voorstelling wordt hiervoor op een vlakke achtergrond naar voren gehaald. Een hologram is een driedimensionale afbeelding van een object in een plat vlak in de vorm van een fotografische film of een ingegraveerde structuur. Door de afbeelding uit verschillende hoeken te bekijken lijkt het platte beeld te veranderen zodat de indruk van een ruimtelijk beeld bestaat. Een kinegram is een hoogwaardig beveiligingselement, qua techniek verwant aan het hologram. In een kinegram vinden veranderingen en bewegingen plaats wanneer het document waarop het is aangebracht wordt gekanteld. Een imageperf wordt vervaardigd met behulp van laserstralen, die miniscule gaatjes in het document boren. De gaatjes zijn zo gerangschikt dat een beeld ontstaat op het moment dat het document tegen het licht gehouden wordt. Het huidige Nederlandse paspoort maakt gebruik van een imageperf van de pasfoto. Het aanbrengen van visuele echtheidskenmerken is een apart terrein van expertise. SMARTCARDS Versie 1.0 24 november 2010 23/74

Figuur 5-1 Visuele echtheidskenmerken 5.2.2 Verankering van de microchip in de smartcard Visuele echtheidskenmerken bieden alleen bescherming als de uiterlijke verschijningsvorm van de smartcard onlosmakelijk wordt verbonden met de microchip. De microchip moet daarom fysiek goed verankerd worden in de smartcard. De identifier en/of een of meer andere unieke gegevens die op de smartcard zijn gedrukt, worden opgeslagen op de microchip. SMARTCARDS Versie 1.0 24 november 2010 24/74

Figuur 5-2 Verankering van de microchip in smartcard De hierboven beschreven maatregelen zijn alleen effectief als de authenticiteit van fysieke en elektronische componenten van de smartcard worden gecontroleerd. Toepassing ervan is niet beperkt tot domeinen die niet (uitsluitend) virtueel zijn, zoals toegang tot fysieke ruimten. Personeel dient getraind te worden in het herkennen van authentieke smartcards. SMARTCARDS Versie 1.0 24 november 2010 25/74

6 HET ONTWERP VAN EEN SMARTCARDTOEPASSING In dit hoofdstuk gaan we in op een aantal aspecten van het ontwerp van een smartcardtoepassing. 6.1 Ontwerpbeslissingen Smartcards zijn specifieke gegevensdragers waarop je sleutels en gegevens beveiligd kunt opslaan. Dit betekent dat bij het ontwerp van een applicatie waarin je smartcards gebruikt, enkele specifieke ontwerpbeslissingen moet nemen. Je kijkt bijvoorbeeld altijd welke eisen aan het gebruik van de smartcard gesteld worden. 6.1.1 Eisen aan het ontwerp Bij het vaststellen van de eisen spelen zowel functionele aspecten als nietfunctionele aspecten een rol. Vragen die minimaal aan de orde moeten komen zijn: Welke bedrijfsfuncties ondersteunt de smartcard? Welke waarde vertegenwoordigt de dienst die wordt geboden via de smartcard? Welke informatie wordt opgeslagen op de smartcard? Wat is de classificatie van deze gegevens? Welke gegevens kunnen met behulp van de smartcard worden ontsloten of beveiligd? Wat is de classificatie van deze gegevens? Wat is de waarde van de onderhavige objecten of domeinen (bij voorkeur door middel van een formele classificatie)? Welke functionaliteit ondersteunt de smartcard? Wat zijn de risico s verbonden aan de dienst die wordt geboden met de smartcard? Welke partijen zijn betrokken bij de dienst? Hoeveel gebruikers van de dienst worden verwacht? Welke kosten zijn acceptabel voor de dienst? Wat is de gewenste flexibiliteit van de dienst? Wat is het gewenste beveiligingsniveau van de smartcard? Welke eisen levert dit op voor de fysieke en logische beveiliging van de smartcard? Wat is de vereiste (transactie)snelheid bij het gebruik van de smartcard? SMARTCARDS Versie 1.0 24 november 2010 26/74

Op welke locatie worden de smartcardlezers geplaatst? Welke additionele nietfunctionele eisen vloeien hieruit voort (temperatuur, vochtigheid, )? Welke standaards zijn van toepassing? Welke smartcards zijn goedgekeurd voor de toepassing? Welke wetgeving is relevant voor de dienst? Hoe worden gegevens uitgewisseld tussen smartcard en smartcardlezer? Hoe worden gegevens uitgewisseld tussen smartcard en back-office? Hoe worden de applicaties en infrastructuur beheerd? Denk hierbij ook aan het eventueel bijwerken van de software in de smartcardlezers. Hoe worden de smartcardlezers of terminals beveiligd tegen het ongeautoriseerd wijzigen of vervangen? Hoe worden de smartcards beheerd gedurende hun levenscyclus? Na hoeveel tijd worden smartcard vervangen? Hoe wordt de helpdesk van informatie voorzien? De volgende eisen gelden voor de architectuur van crypto systemen: Het is (nagenoeg) onmogelijk om het crypto systeem met state of the art methoden te breken. De gevolgen van een inbreuk op het crypto systeem zijn (optimaal) beheersbaar. Op basis van bovenstaande eisen kan een meer technische afweging worden gemaakt welk type smartcard het geschiktst is: Type versleuteling: asymmetrisch en/of symmetrisch (publiek/geheim). Cryptografisch algoritme. Sleutelsterkte, minimale sleutellengte van de sleutels op de smartcard. Geheugenruimte op de smartcard. Contact, contactloos of hybride smartcard. Indien contactloos of hybride: op welke afstand is data-uitwisseling tussen smartcard en smartcardlezer mogelijk. Het niveau van bescherming tegen manipulatie van gegevens en processen op de smartcard. Type besturingssysteem/bestandsstructuur: bijvoorbeeld Java, MULTOS, BasicCard, EMV, gebaseerd op ISO7816-4 bestandsstructuur. Er kan hierbij eventueel ook worden meegelift op een al bestaande smartcard of smartcardlezerinfrastructuur. Dan moet je verifiëren of deze smartcard of infrastructuur voldoet aan de eisen. SMARTCARDS Versie 1.0 24 november 2010 27/74

6.2 Rollen in een smartcardtoepassing Bij een smartcardtoepassing kunnen verschillende partijen een rol spelen. In een schema ziet dit er als volg uit: de smartcardhouder (de gebruiker van de smartcard), de smartcarduitgever (de partij die de smartcard uitgeeft). Daarnaast is er een partij die de smartcard accepteert voor de uitvoering van een dienst: de smartcardacceptant. De dienstaanbieder is de aanbieder van de dienst die met de smartcard bij de smartcardacceptant uitgevoerd kan worden. Ten slotte de transactieverwerker die de verwerking van de transacties die bij de smartcardacceptant zijn uitgevoerd. Deze rollen hoeven niet noodzakelijk door verschillende organisaties uitgevoerd te worden. In veel gevallen zullen een aantal rollen door dezelfde organisatie worden uitgevoerd. Een voorbeeld aan de hand van een creditcardtoepassing. Een creditcardmaatschappij is in dit geval een dienstaanbieder. Een winkel waar de creditcard kan worden gebruikt is een acceptant. De smartcarduitgever is een bank en de smartcardhouder is de klant van de bank. De transactieverwerker is de partij die de creditcardtransacties verwerkt. Dienstaanbieder Transactieverwerker Kaartuitgever Acceptant Terminal Smartcard Kaarthouder Figuur 6-1 Smartcard partijen en relaties 6.3 Smartcard applicatieketen/applicatie-architectuur Een smartcard is één onderdeel van een infrastructuur waarop de toepassing werkt. Hieronder staat schematisch weergeven welke componenten een rol spelen bij een smartcardtoepassing. SMARTCARDS Versie 1.0 24 november 2010 28/74

Lokale Witte/ Zwarte lijst Kaarten Smartcard Smartcard reader/terminal Terminal driver/api Applicatie (smartcard enabled) Smartcard beheersysteem Lokale Sleutels Verificatie Sleutel beheer Centrale Sleutels Figuur 6-2 Smartcardapplicatie architectuur Smartcardbeveiligingsketen Bij informatiebeveiliging kijken we niet alleen naar de afzonderlijk componenten. Bij voorkeur worden datastromen end-to-end beveiligd. Omdat de smartcardhouder de smartcardsleutels in handen heeft kan in veel gevallen bij de bron versleuteling worden uitgevoerd. Smartcard De smartcard is de sleutel- en gegevensdrager in handen van de smartcardhouder. Smartcardterminal/-lezer De smartcardterminal of lezer wordt gebruikt als interface tussen de smartcard en de achterliggende systemen. De term smartcardlezer wordt vaak gebruikt voor eenvoudige apparaten die alleen als doorgeefluik dienen. Ze hebben vaak een USB of PCMCIA interface. Smartcardterminals bevatten vaak een ingebouwd display en toetsenbord, toegevoegde intelligentie en soms ook een Ethernet of draadloze interface. Als er geen directe verbinding aanwezig is met het centrale systeem kan lokaal, bijvoorbeeld in de terminal, een witte of zwarte lijst worden bijgehouden. Ook is het mogelijk dat lokaal verificatiesleutels aanwezig zijn. Terminal driver/api De terminal API zorgt ervoor dat zoveel mogelijke details van de smartcard implementatie worden afgeschermd door het bieden van een generieke interface. Hierdoor kan makkelijker worden gewisseld van merk en type smartcard. Voorbeelden van deze interfaces zijn PKCS en PC/SC. SMARTCARDS Versie 1.0 24 november 2010 29/74

De driver verzorgt de aansturing van de smartcardterminal of -lezer en heeft specifieke kennis van het apparaat waarmee het communiceert. Een driver verbergt deze eigenschappen voor de applicatie en biedt hierbij een gestandaardiseerde interface. Applicatie (smartcard enabled) De applicatie is het hart van de geboden functionaliteit. Smartcard beheersysteem Het smartcardbeheersysteem beheert alle uitgegeven smartscards en de status van de smartcards. Ook wordt hier de koppeling met de smartcardhouders gelegd. Host securitymodule De host securitymodule controleert of het door de smartcard gegenereerde cryptografische resultaat (cryptogrammen) juist is. De host securitymodule gebruikt de status van de smartcard, en eventuele tellers op de smartcard. De host securitymodule kan ook sleutelwaarden bepalen waarmee de smartcarduitgever toegang tot afgeschermde delen van de smartcard krijgt. 6.4 Beveiligingsdiensten ISO 10745/ISO 7498-2 definieert vijf (standaard) beveiligingsdiensten. Deze diensten worden veel gebruikt in beveiligingsarchitecturen en dienen hier als kapstok voor de beveiligingsmechanismen van een smartcard: 1. Vertrouwelijkheid: het waarborgen dat informatie niet kan uitlekken. 2. Authenticatie: het vaststellen van de identiteit van iets of iemand. 3. Integriteit: het waarborgen van de juistheid, volledigheid en tijdigheid van informatie. 4. Onweerlegbaarheid: het waarborgen dat ontvangst en/of verzending van een contract of een bericht niet kan worden ontkend door de beide betrokken partijen. 5. Toegangscontrole: het waarborgen dat toegang tot een bron (resource) alleen wordt toegestaan voor geautoriseerde gebruikers. Naast deze vijf diensten gebruikt dit document een zesde beveiligingsdienst om de mechanismen van een smartcard te beschrijven: 6. Logging/Auditing Zie [7] voor een uitgebreide beschrijving van deze beveiligingsdiensten. 6.5 Smartcardbeveiligingsmechanismen Op een smartcard kunnen verschillende soorten sleutels staan: SMARTCARDS Versie 1.0 24 november 2010 30/74

1. Encryptiesleutels: sleutel voor het versleutelen of ontsleutelen van informatie; 2. Message Authentication Code (MAC) sleutel: een soort encryptiesleutel voor het berekenen van een integriteitskenmerk over informatie. Bij een MACberekening kan een deel van het resultaat van de berekening in de smartcard worden gemaskeerd. Hierdoor is het moeilijker de sleutelwaarde te achterhalen. Een sleutel voor het berekenen van een MAC wordt MACgen genoemd, een sleutel voor verificatie MACver. 3. Toegangssleutels: sleutels voor het verkrijgen van toegang tot (een deel) van de smartcard. In onderstaande tabel zijn de beveiligingsdiensten gekoppeld aan de mechanismen die een smartcard biedt. SMARTCARDS Versie 1.0 24 november 2010 31/74

Beveiligingsdienst Smartcardmechanisme 1. Vertrouwelijkheid Versleuteling (encryptie) Secure write: het schrijven van versleutelde gegevens naar de smartcard) Secure read: het lezen van versleutelde gegevens van de smartcard) 2. Authenticatie Terminalauthenticatie: smartcard en terminal communiceren pas met elkaar nadat de terminal aan de smartcard heeft aangetoond een echte terminal te zijn. Kaartauthenticatie: Versleuteling & MACgen Serverauthenticatie: de terminal kan met behulp van een MACver-sleutel vaststellen of met een echte server wordt gecommuniceerd. PIN-verificatie 3. Integriteit Versleuteling (encryptie) Elektronische handtekening MACgen Secure read (het lezen van de smartcard met een integriteitskenmerk) Secure write (het schrijven van data naar de smartcard met een integriteitskenmerk) 4. Onweerlegbaarheid Versleuteling (encryptie) Elektronische handtekening MACgen 5. Toegangscontrole Creëren, schrijven en lezen van directories/bestand objecten op de smartcard na: o Issuer control (toegangscontrole op basis van een sleutel). o Card Holder control (toegangscontrole op basis van een pincode of biometrische kenmerken). Access Control File, waarin pogingen voor het verkrijgen van toegang tot (een deel van) de smartcard worden bijgehouden. 6. Logging/Audit Counter: teller die automatisch wordt verhoogd bij het uitvoeren van bepaalde functies op de smartcard (STAN). Deze teller kan ook worden meegenomen in cryptografische berekeningen. Tabel 6-1 Beveiligingsdiensten en smartcardmechanismen SMARTCARDS Versie 1.0 24 november 2010 32/74