80
SMARTCARDS WWW.GOVCERT.NL 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 [email protected] Auteur : GOVCERT.NL Versie : 1.0 Den Haag : 26 november 2010 Publieke versie : 15 april 2011

Smart Cards

Embed Size (px)

DESCRIPTION

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. 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.White paper geschreven voor GOVCERT.NLOnline beschikbaar op https://www.ncsc.nl/dienstverlening/expertise-advies/kennisdeling/whitepapers/whitepaper-smartcards.html

Citation preview

Page 1: Smart Cards

SMARTCARDS

WWW.GOVCERT.NL

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 [email protected]

Auteur : GOVCERT.NL Versie : 1.0 Den Haag : 26 november 2010 Publieke versie : 15 april 2011

Page 2: Smart Cards

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

Page 3: Smart Cards

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 smartcard-toepassingen 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.

Page 4: Smart Cards

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.

Page 5: Smart Cards

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

Page 6: Smart Cards

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

Page 7: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 7/74

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.

Page 8: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 8/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.

Page 9: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 9/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 [email protected].

Page 10: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 10/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 beveiligings-diensten 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.

Page 11: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 11/74

2.2 Soorten smartcards

De verschijningsvormen van smartcards kunnen op verschillende manieren worden getypeerd. Zo kan er onderscheid gemaakt worden tussen geheugen-kaarten 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 kaartbesturings-systeem 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)

Page 12: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 12/74

technologie1. 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).

Page 13: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 13/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.

Page 14: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 14/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.

Input/Output

Processor

Werk-geheugen

(RAM)

Programmageheugen

(ROM)

Permanent geheugen

(EEPROM)

Vccground

I/O

resetclock

Beveiligingslogica

Testlogica

Figuur 3-1 Smartcard blokschema

Page 15: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 15/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:

Page 16: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 16/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 EMV2-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.

Page 17: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 17/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

Page 18: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 18/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

Page 19: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 19/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.

Page 20: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 20/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 hard- en 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 aanvallen3 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

Page 21: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 21/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 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.

o 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.

o Versleutel informatie op de smartcard.

• Klonen van de smartcard

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.

o Invalideer sleutels. De sleutels van smartcards die niet meer gebruikt worden, bijvoorbeeld op een gekloonde smartcard, worden onbruikbaar.

o 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.

o Geef periodiek een nieuw type smartcard uit.

o Gebruik smartcards met een voldoende hoog beveiligingsniveau, die gevalideerd zijn door een gecertificeerde instantie.

Page 22: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 22/74

o Beveilig de toegang tot informatie op de smartcard met een pincode.

• Ongeautoriseerd wijzigen van informatie op de smartcard

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.

o Log en monitor transacties. Ook hier kunnen afwijkingen in het gebruik van de smartcards aanwijzingen geven voor misbruik.

o Beveilig de toegang tot informatie op de smartcard met sleutels en/of een pincode. Hierdoor is informatie niet door iedereen uit te lezen.

o 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 Versleutelen van gegevens tussen de smartcardlezer en de smartcard waardoor de gegevens voor een aanvaller niet leesbaar zijn.

o Voorzie gegevens van een integriteitskenmerk dat ook op de smartcard wordt opgeslagen. Het wijzigen van de gegevens kan zo worden gedetecteerd.

o Gebruik de smartcard alleen in een vertrouwde omgeving.

• Verlies van de smartcard

o Blokkeer de smartcard zodat de smartcard niet meer kan worden misbruikt.

o Zorg voor een snelle uitgifte van een nieuwe smartcard waardoor de gebruiker weer van de dienst gebruik kan maken.

o Beveilig de smartcard met een pincode zodat alleen de eigenaar hem kan gebruiken.

• De pincode van smartcard wordt bekend

o Wijzig de pincode van de smartcard.

o Geef voorlichting aan gebruikers zodat zij zich bewust worden van de risico’s.

o 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

Page 23: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 23/74

o Lever bij een contactloze of hybride smartcard een hoesje mee waardoor misbruik op afstand niet mogelijk is.

o 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.

Page 24: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 24/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.

Page 25: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 25/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.

Page 26: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 26/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 niet-functionele 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?

Page 27: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 27/74

• Op welke locatie worden de smartcardlezers geplaatst? Welke additionele niet-functionele 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.

Page 28: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 28/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 creditcard-maatschappij 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.

Kaarthouder

KaartuitgeverDienst-aanbieder

Acceptant

Transactie-verwerker

SmartcardTerminal

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.

Page 29: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 29/74

Smartcard Smartcardreader/terminal

Smartcardbeheer-systeem

Verificatie

Applicatie(smartcard enabled)

LokaleSleutels

LokaleWitte/

Zwarte lijst

CentraleSleutels

Sleutelbeheer

Kaarten

Terminaldriver/API

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.

Page 30: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 30/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:

Page 31: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 31/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 MAC-berekening 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.

Page 32: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 32/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

Page 33: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 33/74

6.6 Beveiligingsaspecten

6.6.1 Functionaliteit mappen op sleutels/gegevens op de smartcard

Bij het smartcardontwerp zijn voornamelijk 3 zaken relevant:

1. Welke applicaties worden op de smartcard geplaatst?

2. Welke sleutels worden op de smartcard geplaatst?

3. Welke gegevens worden op de smartcard geplaatst?

Om te kunnen bepalen welke sleutels er op de smartcard moeten worden gezet dient eerst bepaald te worden welke beveiligingsfuncties door de smartcard worden geboden. In principe zou elke beveiligingsfunctie tot één of meer sleutels op de smartcard moeten leiden zodat bij compromittatie van een sleutel alleen een bepaalde beveiligingsfunctie wordt aangetast. Door de beperkte geheugenruimte op de smartcard, is het soms noodzakelijk om dezelfde smartcardsleutel voor verschillende beveiligingsfuncties te gebruiken.

6.6.2 Beveiliging van gegevens en sleutels op de smartcard

Nadat bekend is welke sleutels en gegevens op de smartcard worden geplaatst moet vervolgens de beveiliging hiervan vastgesteld worden. Sleutels kun je beveiligen via smartcardhouderverificatie (cardholder control): een pincode of biometrisch gegeven. Sleutelvervangen of invalideren van sleutels gebeurt altijd met een smartcarduitgeversleutel. Voor het beveiligen van gegevens op de smartcard kan je kiezen voor lees- of schrijfbeveiliging met een sleutel of smartcardhouderverificatie of een combinatie hiervan.

De gegevens op de smartcard kunnen niet alleen met sleutels op de smartcard worden beveiligd. Ze kunnen ook versleuteld op de smartcard worden opgeslagen met een sleutel uit het back-office. Op de plaats waar deze gegevens worden gebruikt moet dan wel de sleutel beschikbaar zijn om de gegevens te kunnen ontsleutelen.

Zorg ervoor dat een pincode of biometrisch kenmerk op een veilige omgeving wordt ingevoerd. Wanneer de pincode bijvoorbeeld ingetoetst moet worden op een pc is dit kwetsbaar vanwege de kans op afluisteren en hergebruik van deze pincode. Als dit risico te groot is, kan beter een smartcardlezer met een geïntegreerd toetsenbord gebruikt worden waarbij de pincode op de smartcardlezer ingetoetst wordt.

6.6.3 Online of offlinegegevens

Op de smartcard kunnen op een veilige manier gegevens worden opgeslagen. Afhankelijk van de toepassing is dit soms wel en soms niet verstandig om te doen. De smartcard kan hierbij ook een terugvalmogelijkheid bieden wanneer de online gegevens tijdelijk niet beschikbaar zijn. Overwegingen waar de gegevens te plaatsen zijn onder andere:

1. De snelheid van veranderen van de gegevens.

Page 34: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 34/74

2. De mogelijkheden om op de plaats van gebruik van de smartcard een onlineverbinding te kunnen of willen maken.

3. De rol die de gegevens op de smartcard spelen bij het wel of niet online gaan; een voorbeeld zijn transactiegegevens op de smartcard.

4. De waarde die de gegevens vertegenwoordigt.

5. Het niet centraal willen of mogen vastleggen van bepaalde gegevens, bijvoorbeeld biometrische gegevens. Door biometrische gegevens op een smartcard vast te leggen en niet centraal, voorkom je dat je centraal een gegevensverzameling opbouwt die aantrekkelijk is voor aanvallers.

Als de gegevens op de smartcard worden vastgelegd moet ook bepaald worden hoe de gegevens worden vastgelegd. Veel gebruikt hierbij is de Tag Length Value-notatie (TLV), waarbij een gegevensblok vooraf wordt gegaan door een code (tag) en de lengte van het blok. Deze notatie heeft het voordeel dat het flexibel is.

6.6.4 Multi-applicatie

Op een goed ontworpen smartcard kunnen meerdere applicaties onafhankelijk van elkaar functioneren. Door ze goed te compartimenteren wordt voorkomen dat de applicaties elkaar negatief beïnvloeden. Dit is vooral van belang wanneer er meerdere dienstaanbieders zijn die van dezelfde smartcard gebruik maken. Een voorbeeld van een multi-applicatie smartcard is een smartcard waarmee je met het openbaar vervoer kunt reizen, kleine betalingen kunt doen en kunt internetbankieren.

6.6.5 Mogelijkheden van uitbreiding

Het is niet altijd mogelijk bij het ontwerp van de smartcard alle mogelijke toepassingen te voorzien. Op de smartcard kan dan ruimte worden vrijgelaten die later wordt ingericht; dit wordt ook wel ‘create-after’ genoemd. Op de smartcard moeten dan wel de juiste sleutels aanwezig zijn om later wijzigingen op de smartcard aan te kunnen brengen. Dat maakt het smartcardontwerp complexer en vergroot de kans op fouten en kwetsbaarheden. Het wordt ook moeilijker om de smartcard aan een grondige test te onderwerpen omdat het aantal mogelijke testgevallen heel erg groot is. Bovendien komt het voor dat in een later stadium, bij het toevoegen van een applicatie op de smartcard, een fout op de smartcard wordt geïntroduceerd.

Een alternatief is om de smartcard te voorzien van een aantal extra generieke applicaties. Dit is wel minder flexibel, maar hiervoor hoeft geen (dure) ‘create-after’-infrastructuur te worden gemaakt.

6.6.6 Transactiemonitoring

In de praktijk is het niet mogelijk om alle fraudegevallen te voorkomen. In het ontwerp van de smartcard moet je daarmee rekening houden en bepalen hoe je frauduleuze transacties kunt detecteren en hoe je hierop reageert. Transacties kunnen bijvoorbeeld centraal worden opgeslagen. Deze transacties kun je controleren, bijvoorbeeld of er niet meer tegoed wordt gebruikt dan waarover de

Page 35: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 35/74

smartcardhouder beschikt. Als dat het geval is, kan een smartcard worden geblokkeerd en eventueel ook worden ingeslikt door een smartcardlezer.

6.6.7 Fraudebeheersing

Om te controleren of met een smartcard een transactie mag worden uitgevoerd zijn twee typen lijsten in gebruik:

1. Zwarte lijst: lijst met identificatie van smartcards die transacties verbieden.

2. Witte lijst: lijst met identificatie van smartcards die transacties toestaan.

Soms wordt ook een rode lijst gehanteerd met hierop smartcards waarvan de sleutels zijn gecompromitteerd. Smartcardlezers die niet verbonden zijn met het centrale systeem tijdens het uitvoeren van een transactie, moeten regelmatig een kopie van een of meerdere lijsten ontvangen.

6.6.8 Type cryptografisch algoritme

Als cryptografisch algoritme kan gekozen worden voor een symmetrisch of asymmetrisch algoritme of een smartcard die beiden ondersteund. De keuze hiervoor is mede afhankelijk van het gebruik, de gebruikersgroep en de gewenste transactiesnelheid.

6.6.9 Openbaarheid cryptografisch algoritme

Ontwikkelingen in wetenschap en technologie zoals toegepast in de cryptografische producten worden ook ingezet om dezelfde producten aan te vallen en de effectiviteit ervan te ondermijnen. Het aantal technische methoden om de architectuur van cryptografische systemen te reconstrueren is groot en neemt voortdurend toe. De aanvalsmethoden worden bovendien steeds geraffineerder en sneller. De kans is dus groot dat de architectuur van cryptosystemen vroeg of laat bekend zal worden bij aanvallers.

De vraag is daarom, of de architectuur van cryptosystemen van meet af openbaar moet zijn of dat geheimhouding van de architectuur in het kader van de beveiliging juist toegevoegde waarde heeft.

Er twee verschillende benaderingen mogelijk:

1. Security through obscurity;

2. Full disclosure.

Bij Security through obscurity zijn de specificaties van het cryptosysteem geheim met als gevolg een extra drempel voor de aanvaller. Het nadeel hiervan is dat het niet mogelijk is om het cryptosysteem breed door experts te laten analyseren, eventuele kwetsbaarheden op het spoor te komen en beschermende maatregelen te ontwikkelen. Het uitvoeren van deze brede analyse is veel belangrijker dan de extra drempel door het geheim houden van de specificaties. Bij ‘security through obscurity’ lekt vroeg of laat het geheim uit. De enige juiste aanpak voor cryptosystemen is Full disclosure. Hierbij zijn de specificaties publiek bekend en is

Page 36: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 36/74

de sleutel geheim. Alleen dan is er voldoende garantie voor een betrouwbaar cryptosysteem4.

6.6.10 Sleutellengte

De lengte van de cryptografische sleutel beïnvloedt in sterke mate de snelheid waarmee deze achterhaald kan worden.

De benodigde sleutellengte is afhankelijk van het type algoritme (symmetrisch of asymmetrisch), het gewenste niveau van beveiliging en de stand van wetenschap en techniek. Deze laatste twee factoren zijn aan verandering onderhevig:

• Risico's van de beveiligde dienst of de waarde ervan veranderen in de loop van de tijd, waardoor sterkere sleutels nodig kunnen zijn;

• Wetenschappelijke en technologische verbeteringen kunnen leiden tot nieuwe typen aanvallen. Ze kunnen er ook toe leiden dat bestaande aanvallen sneller of met minder middelen worden uitgevoerd.

De cryptologen Arjen Lenstra en Eric Verheul hebben criteria ontwikkeld voor de vereiste sleutellengtes5. Op hun website keylength.com6 bieden zij ondersteuning bij de keuze van een passende sleutellengte.

6.6.11 Sleutelversies

Op een smartcard kunnen meerdere versies van een sleutel staan. Bij het compromitteren van een sleutel of na het verstrijken van een bepaalde periode kan een andere versie worden gebruikt en de oude sleutelversie ongeldig worden gemaakt. Hierdoor voorkom je dat een gecompromitteerde sleutel altijd leidt tot smartcardvervanging.

6.6.12 Flexibiliteit

Het is noodzakelijk om gedurende de gebruiksperiode van de smartcard ontwikkelingen te volgen en bij nieuwe dreigingen de risicoanalyse opnieuw te toetsen. Ook hier geldt dat beveiliging een proces is en niet een product. Om het beveiligingsniveau op het gewenste niveau te houden moet het ontwerp zo flexibel mogelijk zijn zodat gemakkelijk nieuwe smartcardtypen, langere sleutels, of nieuwe cryptografische algoritmen in te passen zijn. Cryptografische algoritmen, sleutellengten en fysieke en logische beveiligingsmaatregelen van microchips worden na verloop van tijd ingehaald door de ontwikkeling van nieuwe aanvalsmethodieken. Daarom moet, op het moment dat beveiligingsspecificaties verlopen, migratie naar een nieuwe smartcard infrastructuur plaatsvinden.

6.6.13 Anti-tearing

Een smartcard heeft normaal gesproken geen eigen stroomvoorziening. De energie wordt via contacten op de smartcard, of contactloos met inductie, naar de

4 http://en.wikipedia.org/wiki/Kerckhoffs%27_principle

5 Selecting Cryptographic Key Sizes, Arjen K. Lenstra and Eric R. Verheul, PKC2000: p. 446-465, 01/2000. 6 http://www.keylength.com/en/1/

Page 37: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 37/74

smartcard overgebracht. Dit betekent dat tijdens het gebruik van de smartcard, de stroomvoorziening onderbroken kan worden door de smartcard uit de smartcardlezer te halen. Om een betrouwbaar gebruik van de smartcard te kunnen garanderen zullen in de smartcard en smartcardlezer zogenaamde anti-tearing maatregelen getroffen moeten worden. Hiermee wordt bijvoorbeeld voorkomen dat gegevens op de smartcard corrupt worden door het wegvallen van de stroomvoorziening.

6.7 Smartcard standaarden

Er bestaan vele standaarden en specificaties die betrekking hebben op smartcardsystemen. Hieronder volgt een beknopt overzicht van de belangrijkste standaarden en initiatieven.

ISO / IEC

Enkele belangrijke standaarden van de International Standards Organization (ISO) / International Electrotechnical Commission (IEC) voor smartcards zijn ISO/IEC 7810, ISO/IEC 7816, ISO/IEC 14443 en ISO/IEC 15693.

• ISO/IEC 7810: Een standaard voor de fysieke verschijningsvormen van een smartcard. Twee populaire varianten zijn de ID-1 en de ID-000 standaard. De ID-1 creditcard formaat standaard van 85.60 × 53.98 millimeter wordt gebruikt voor onder andere debit- en creditkaarten. De ID-000 standaard van 25 x 15 millimeter wordt gebruikt voor onder andere Subscriber Identity Module (SIM)-kaarten van GSM-telefoons. Beide vormen zijn 0.76 millimeter dik.

• ISO/IEC 7816: De positie van de contactpunten op de kaart en de vorm van de contactpunten zijn gespecificeerd in ISO/IEC 7816-1 en ISO/IEC 7816-2. In ISO 7816-3 worden de communicatieprotocollen gedefinieerd op fysiek niveau. ISO 7816-4 t/m -15 definiëren de communicatie en opslag op applicatieniveau.

Figuur 6-3 Fysieke verschijningsvorm smartcards

Page 38: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 38/74

Figuur 6-4 Smartcardcontactpunten

• ISO/IEC 14443: een standaard voor contactloze kaarten voor kleine afstanden (ook wel ‘proximity’-kaarten genoemd). Bij deze variant communiceert de microchip draadloos met de smartcardlezer over een afstand van maximaal 10 cm.

• ISO/IEC 15693: een standaard voor ‘vicinity’-kaarten geschikt voor grotere afstanden dan ‘proximity’-kaarten met een typische maximale afstand van 1 tot 1.5 meter.

EMV

EMV is een standaard ontwikkeld door Europay Mastercard en Visa (EMV) voor de interoperabiliteit tussen smartcards en smartcardlezers gericht op betaal-automaten (BEA) en geldautomaten (GEA) voor het authentiseren van creditcard- en debitcardbetalingen. EMVco beheert en onderhoudt de standaard. JCB (formerly Japan Credit Bureau) en American Express zijn later toegetreden tot deze organisatie. EMV is ontwikkeld voor het vervangen van de magneetstrip op debit- en creditcards om daarmee fraude tegen te gaan.

De EMV-standaard definieert de interactie op fysiek, elektrisch, gegevens- en applicatiegebied en zijn deels gebaseerd op ISO-7816. De EMV-standaard biedt vele mogelijkheden door het parameteriseren van instellingen op de smartcard. Hierdoor is de standaard ook complex geworden waardoor expert kennis benodigd is voor een goed en veilig gebruik van de smartcard.

Van de EMV-specificaties zijn de CAP-specificaties afgeleid, gericht op online authenticatie en het tekenen van transacties.

Public-Key Cryptography Standard (PKCS)

De ‘Public-Key Cryptography’-standaarden zijn specificaties gemaakt door RSA Laboratories en zijn verwerkt in standaarden zoals de Internet Engineering Task Force (IETF) Public-Key Infrastructure (PKIX), Secure / Multipurpose Internet Mail Extensions (S/MIME) en Secure Sockets Layer (SSL).

• PKCS#15: Cryptographic Token Information Format Standard definieert een standaard voor het opslaan van sleutels, certificaten, PIN-codes en andere objecten op een smartcard. Dit wordt gespecificeerd als een structuur van metafiles (Directory Files) die informatie bevatten over de locatie van keys, certificaten, pincodes en andere objecten op de smartcard (Elementary Files). Er is bijvoorbeeld een Private Key Directory File (PrKDF) met daarin een lijst

Page 39: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 39/74

van de private keys op een smartcard. De PKCS#15-standaard heeft als basis gediend voor de ‘ISO/IEC 7816-15’-standaard.

• PKCS#11: Cryptographic Token Interface beschrijft een API (een programma interface) die een generieke interface definieert naar een cryptografisch token (de smartcard) voor het benaderen van cryptografische sleutels of voor het uitvoeren van cryptografische functies. Een applicatie kan via deze interface een smartcard gebruiken voor het uitvoeren van cryptografische functies in plaats van ze zelf te moeten uitvoeren. Bovendien verstopt PKCS#11 voor een applicatie de details van de smartcard.

GlobalPlatform - Multi-application Smartcards Organisation

GlobalPlatform is een internationale organisatie waarvan de groepsleden bestaan uit vertegenwoordigers uit onder andere de telecommunicatie-industrie, betaalkaartleveranciers, systeemleveranciers en smartcardproducenten. Het GlobalPlatform richt zich op de ontwikkeling van specificaties en infrastructuur voor multi-applicatiesmartcards. Dit zijn smartcards met ondersteuning voor meerdere toepassingen of applicaties van mogelijk verschillende partijen samen op één microchip.

Open Standards - Personal Computer/Smart Card (PC/SC) Workgroup

De PC/SC workgroup7 heeft de PC/SC specificaties ontwikkeld om smartcards te laten samenwerken met personal computers. Hun missie is tweeledig:

1. Het bevorderen van een specificatie om te garanderen dat smartcards, smartcardlezers en computers van verschillende leveranciers kunnen samenwerken.

2. Het faciliteren van de ontwikkeling van smartcardapplicaties voor de personal computer en andere platformen.

Ook in dit initiatief doen veel partijen mee die voor een deel tevens vertegen-woordigd zijn in het GlobalPlatform.

Java Specification Request (JSR)

De Security and Trust Services API (SATSA) is een verzameling API’s die cryptografische functionaliteit bieden. SATSA maakt communicatie mogelijk tussen een Java Micro Edition (Java ME) applicatie (midlet) en een SIM-kaart. SATSA is ontwikkeld in het Java Community Process als JSR 1778.

Deze standaard wordt momenteel toegepast in de nieuwste generaties mobiele apparaten. De standaard maakt het mogelijk voor applicaties om gebruik te maken van beveiligingsfuncties van de SIM. Bij de ontwikkeling van deze standaarden zijn onder andere leveranciers van smartcards en mobiele apparaten betrokken.

7 Zie http://www.pcscworkgroup.com 8 Zie http://jcp.org/en/jsr/detail?id=177

Page 40: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 40/74

7 ONTWERPCYCLUS VAN EEN SMARTCARD-APPLICATIE

Het ontwerp van een smartcardapplicatie en de bijbehorende infrastructuur is complex. In dit hoofdstuk besteden we aandacht aan een aantal specifieke aandachtspunten die bij de ontwikkeling en beheer van een smartcardapplicatie van belang zijn. Er wordt geen complete aanpak hiervoor gegeven.

7.1 Uitvoeren risico assessment

Het gebruik van een smartcard in een toepassing komt niet zomaar uit de lucht gevallen. Hier hoort altijd een risicoanalyse aan vooraf te gaan waarin duidelijk wordt welke risico’s de smartcard oplost. Hierbij dient rekening gehouden te worden met het onderliggende bedrijfsmodel.

Ook worden met de smartcard nieuwe risico’s geïntroduceerd. Voor deze nieuwe risico’s moet ook een analyse worden uitgevoerd en, indien nodig, maatregelen getroffen worden. In deze risicoanalyse moet niet alleen de smartcard met microchip te worden onderzocht, de hele keten waarin de smartcard wordt gebruikt en alle ondersteunende applicaties en processen moeten tegen het licht te worden gehouden. Natuurlijk zijn ook aanvalscenario’s, -methoden en –technieken onderdeel van de analyse.

In het assessment moeten ook de procedures voor uitgifte, gebruik en inname van de smartcard te worden meegenomen.

In geval van publieke zichtbaarheid, of wanneer grote belangen in het spel zijn, bestaat de kans dat zich groepen van aanvallers met verschillende soorten kennis en vaardigheden zullen formeren. In geval van manipulatie van data of klonen van smartcards kan de schade enorm oplopen, in de vorm van financiële verliezen, imagoschade of lekken van persoonsgegevens.

7.2 Maken applicatieontwerp van een smartcard

Een toepassing met daarin een smartcard is meestal geen losstaande toepassing. Om goed inzicht in de keten te krijgen, kan het verstandig zijn deze in een architectuur vast te leggen. Door uitgangspunten voor het systeem te beschrijven in architectuurprincipes wordt voor alle partijen inzichtelijk gemaakt waar de keten aan moet voldoen. De architectuur kan ook als communicatiemiddel worden gebruikt.

Een belangrijke stap in de ontwikkeling van de smartcardapplicatie is de productkeuze. De keuze voor het type smartcard wordt bepaald door het gebruik van de smartcard en de daaraan gestelde eisen. Zie hoofdstuk 6.1 Ontwerpbeslissingen welke vragen ondermeer gesteld worden bij het maken van een keuze.

Page 41: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 41/74

7.3 Verificatie ontwerp

Verificatie houdt in dat het ontwerp op kritische punten goed tegen het licht wordt gehouden. Voldoen kritische componenten zoals de smartcard, inclusief de gebruikte cryptografische algoritmen en sleutelengte aan de eisen? Dit zou bij voorkeur onderbouwd moeten worden met een keuringsrapport van een gerenommeerd instituut. Een alternatief is om gebruik maken van evaluaties die in het kader van de Common Criteria zijn uitgevoerd.

Het is raadzaam om het ontwerp ook op gebruiksvriendelijkheid te laten testen, bijvoorbeeld als prototype in een usability lab. Een klein aantal gebruikers is vaak al voldoende om eventuele gebreken op het spoor te komen. Herhaal de test wanneer er verbeteringen in het prototype zijn aangebracht. In een eerste protype kunnen smartcard en smartcardlezer ook in software worden uitgevoerd. Om goede terugkoppeling van gebruikers te krijgen moet het prototype zoveel mogelijk op het uiteindelijke product lijken dus met gebruik van smartcards en smartcardlezer.

7.4 Bouw

Voor bepaalde componenten van de smartcardtoepassing is de bouw complexer dan die van een standaardapplicatie. Het is verstandig om alleen smartcard-specialisten de smartcardapplicaties te laten bouwen. Smartcardapplicaties zijn complexer vanwege de interactie tussen smartcard en smartcardlezer waardoor er meer mogelijkheden voor het (gelijktijdig) optreden van fouten zijn.

Ze zijn ook complexer omdat smartcardlezers vaak gebouwd zijn met specifieke hardware en daarom een specifieke (embedded) software ontwikkelomgeving nodig hebben.

Indien de ontwikkeling door een externe partij wordt gedaan die niet de broncode oplevert, overweeg dan na de test deze broncode en bijbehorende documentatie in escrow te laten nemen. Mocht de externe partij failliet gaan dan kan de smartcardapplicatie verder ontwikkeld worden.

7.5 Beschrijven procedures informatiebeveiliging

Naast het ontwikkelen en testen van de applicaties moeten ook processen en procedures worden ingericht om de continuïteit van de beveiliging te waarborgen. In grote organisaties of in het geval van publiek gebruikte smartcards, kunnen deze een complex geheel vormen. De volgende punten moeten procedureel op beveiligingsgebied afgedekt worden.

7.5.1 Preventie

Preventie is gericht op het voorkómen van incidenten door het inrichten van veilige processen en systemen.

• Zorg voor een periodieke, onafhankelijke evaluatie van de smartcardinfrastructuur als geheel.

Page 42: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 42/74

• Controleer periodiek de uitgifte en inname van passen.

• Controleer op visuele echtheidskenmerken, verplicht het zichtbaar dragen van toegangspassen.

• Controleer toevoeging, wijziging of annulering van rechten (bij vertrek, verlies of diefstal, verhuizing etc.).

• Zorg voor periodieke integriteitcontroles van personen- en rechtendata.

• Voorzie in redundantie van beveiligingsprocedures.

• Zorg voor periodieke opschoning van rechten- en personendata.

• Neem kennis van studies waarin opkomende dreigingen en nieuwe aanvallen worden beschreven.

• Zorg voor periodieke evaluatie van gekozen implementatie. Hierbij moeten in elk geval de sterkte van de cryptografie en de smartcardimplementatie geëvalueerd worden.

• Houd er ook rekening mee dat smartcardtypen na een aantal jaar vervangen worden door een nieuw type. Start tijdig met de migratie naar een nieuw type smartcard.

7.5.2 Ontmoedigen

Door de ‘prijs’ van gedetecteerde fraude te verhogen wordt misbruik ontmoedigd.

• Monitor transacties door logcorrelatie en fraudedetectie.

• Sanctioneer frauduleuze transacties.

7.5.3 Verdedigen

Alle preventieve beveiliging is te doorbreken met voldoende tijd, kennis en middelen. Daarom zijn processen noodzakelijk om aanvallen moeilijker te maken en schade te beperken.

• Zorg waar mogelijk voor aanvullende toegangscontroles, bijvoorbeeld controle van fysieke echtheidskenmerken.

• Dwing inname en vernietiging van smartcards af aan het eind van de levens- of gebruikscyclus.

• Blokkeer inconsistente coïncidentie of opeenvolging van claims (simultane claims van eenzelfde smartcard op verschillende locaties, snelle opeenvolging van identieke claims).

• Zorg voor een modulaire architectuur waarin gecorrumpeerde elementen snel vervangbaar zijn.

• Zorg voor een noodplan en een terugvalscenario: het corrumperen of onderbreken van het smartcardsysteem kan zonder deze plannen en scenario’s de hierop gebaseerde processen grote schade toebrengen.

• Registreer en analyseer (pogingen tot) aanvallen.

Page 43: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 43/74

• Registreer incidenten als defecte en verloren of gesloten smartcards.

7.5.4 Opsporen

Een geslaagde poging tot fraude moet achteraf leiden tot herkenning en opsporing.

• Bewaak transactiestromen en registreer trends in (frauduleuze) transacties.

• Signaleer en log mogelijk ongeautoriseerde toegang en oneigenlijke claims.

• Spoor (pogingen tot) frauduleuze transacties op en stel type, omvang van mogelijke schade en herkomst vast.

7.6 Uitvoeren test

Voor het uitvoeren van testen met smartcardapparatuur is specifieke test-apparatuur benodigd. Hiermee kan de communicatie tussen smartcardlezer en smartcard inzichtelijk worden gemaakt. Met deze apparatuur kunnen ook verschillende smartcards worden nagebootst. Hiermee kan makkelijker allerlei (fout)situaties worden getest. Ook kan je met deze apparatuur smartcards nabootsen zonder over de fysieke smartcards te beschikken.

Check bij het testen of anti-tearing correct is geïmplementeerd.

7.7 Certificeren

Naast verificatie van het ontwerp is het ook van belang dat de implementatie wordt geverifieerd of aan de gestelde eisen wordt voldaan en getest op mogelijke kwetsbaarheden. Een formele verificatie wordt ook wel certificering genoemd. Laat een gerenommeerd onderzoeksinstituut, of een instituut dat hiertoe bevoegd is, deze verificatie uitvoeren.

Onderdeel van de certificering is ook de verificatie van non-functional requirements. Hierbij wordt bijvoorbeeld getest of de smartcard infrastructuur voldoet aan temperatuur- en vochtigheidseisen.

7.8 Implementatie

Omdat veel smartcard applicaties speciale hardware vereisen, is het raadzaam bij de implementatie een simulator beschikbaar te hebben. Daarmee kan de werking van de applicatie kan worden toegelicht. Soms kan een simulator worden gebouwd op basis van het prototype dat in een eerder stadium is gemaakt.

Bij de implementatie vraagt de inrichting van een helpdesk soms extra aandacht. Dit is zeker het geval wanneer er veel partijen betrokken zijn bij de dienst die wordt geboden. Het dient in dit geval duidelijk voor de eindgebruiker te zijn hoe contact opgenomen kan worden met de helpdesk. De helpdesk zal toegang moeten hebben tot informatie waarvan verschillende partijen de eigenaar zijn.

Page 44: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 44/74

7.8.1 Training

Onderdeel van een invoering is het trainen van de gebruikers. Betrek helpdesk-medewerkers bij het opzetten van de training. Ook kan de training met hun worden proefgedraaid. De feedback uit de proeftraining kan weer in de training worden verwerkt.

7.8.2 Pilot

Omdat fouten in smartcards na de uitrol vaak lastig te herstellen zijn, wordt de implementatie vaak in kleine stappen uitgevoerd. Start altijd met een pilot, om zeker te stellen dat de smartcardapplicatie onder normale gebruiks-omstandigheden goed werkt. Voor een pilot hoeft niet noodzakelijk alle functionaliteit beschikbaar te zijn. Om goede en snelle terugkoppeling te krijgen worden hierbij vaak gebruikers geselecteerd die dicht bij de organisatie staan die de applicatie ontwikkeld. Als de pilot goed verloopt, of eventuele fouten zijn hersteld, kan het aantal gebruikers worden verhoogd.

7.8.3 Roll-out

Vaak wordt de roll-out gestart met een pre-launch waarbij een grote groep gebruikers betrokken is die representatief is voor hele gebruikersgroep. Dit kan worden beschouwd als een laatste grote test voordat de echte roll-out begint. Onderdeel van de roll-out is ook het informeren van de gebruikers. De informatie legt het gebruik van de smartcard uit en geeft aan welke gegevens worden verzameld en hoe daar mee om wordt gegaan.

7.9 Beheer en onderhoud

Een uitdaging bij veel smartcardtoepassingen is het beheren van de smartcardlezers. De smartcardlezers staan vaak decentraal in een (semi-)publieke, en daardoor vijandige, omgeving. Smartcardlezers kunnen hierdoor vaker dan andere apparatuur storingen geven. Wanneer beheer op afstand mogelijk is, kan op afstand een analyse worden gedaan en kunnen soms ook eventuele problemen worden opgelost.

Page 45: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 45/74

8 SMARTCARD LEVENSCYCLUS

Naast de keuzes die op systeemniveau (applicatie/middleware/operating system/hardware) gemaakt worden, is het noodzakelijk ook rekening te houden met procesmatige en organisatorische aspecten. Hierbij kun je denken aan bijvoorbeeld het proces rondom uitgeven en innemen van de smartcards. De kwaliteit van deze processen zijn essentieel voor acceptatie door eindgebruikers.

Hieronder wordt geschetst welke stadia een smartcard doorloopt. Het ontwerp en productie van de smartcard zijn hier buiten beschouwing gelaten.

GebruikUitgiftePre-personalisatie InnamePersonalisatie

Figuur 8-1 Smartcard levencyclus

8.1 Prepersonalisatie

De eerste stap na de productie van de smartcard is het schrijven van een indeling op de smartcard. Tijdens deze stap worden er nog geen smartcardhouder specifieke gegevens naar de smartcard geschreven. Soms wordt prepersonalisatie in dezelfde processtap uitgevoerd als de volgende processtap: personalisatie.

8.2 Personalisatie

Voor de uitgifte van een smartcard moet deze worden voorzien van de applicaties, sleutels en gegevens. Dit heet ook wel personalisatie. Het is van groot belang dat de gegevens die op de smartcard worden geprint of gedrukt, overeenkomen met de gegevens in de microchip. Om te voorkomen dat er niet-geautoriseerde smartcards worden gemaakt moeten er maatregelen genomen worden, zoals het veilig opslaan en volgen van de smartcards in het personalisatie proces, inclusief eventuele defecte smartcards.

8.3 Uitgifte

Om zeker te stellen dat een smartcard aan de juiste gebruiker wordt overhandigd, moet de identiteit van de gebruiker goed vastgesteld worden voordat de pas wordt uitgereikt. Bij het uitreiken moet de gebruikergewezen worden hoe veilig gebruik te maken van smartcard en de procedures voor het melden van een gestolen of verloren smartcard, defecte smartcard en het inleveren van de smartcard.

Page 46: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 46/74

Wanneer het verstrekken van een smartcard via de post gaat, is het aanbevolen een activatie aan de uitgifte van de smartcard toe te voegen om misbruik te voorkomen. Speciale aandacht dient uit te gaan naar verstrekken van smartcards via de post wanneer de smartcardhouder kort daarvoor een nieuw adres heeft doorgegeven.

8.4 Gebruik

Een verloren smartcard moet snel en gemakkelijk geblokkeerd kunnen worden om misbruik te kunnen voorkomen. Om de dienstverlening zo veel mogelijk ongestoord te laten verlopen, moet een gebruiker snel over een nieuwe smartcard kunnen beschikken. Dit laatste moet ook mogelijk te zijn wanneer een smartcard defect raakt. Indien de gebruiker misbruik vermoedt moet de gebruiker dit melden en wanneer dit vermoeden juist is, moet de smartcard geblokkeerd worden.

In de gebruiksfase kan het ook nodig zijn dat de smartcard wordt gewijzigd bijvoorbeeld voor het toevoegen van een applicatie of sleutel. Omdat het wijzigen van de smartcard risico’s met zich meebrengt dient dit in een veilig omgeving te gebeuren en dezelfde voorzorgsmaatregelen genomen te worden als voor personalisatie.

Smartcard moeten periodiek vervangen worden. Hoe vaak dit moet te gebeuren hangt af van de frequentie van gebruik. Bij intensief gebruik kan het nodig zijn om elke 4 à 5 jaar alle smartcard te vervangen.

8.5 Inname

Om ongewenst gebruik te voorkomen moet een smartcard aan het einde van het gebruik ingenomen worden en centraal geblokkeerd worden. Hiermee worden dan eventueel ook klonen van de smartcard geblokkeerd.

Smartcards kunnen ook automatisch verlopen door een expiratiedatum op de smartcard te zetten.

Page 47: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 47/74

9 SLEUTELBEHEER

Een veilige smartcardapplicatie vereist ook een goed en veilig sleutelbeheer. De hele levenscyclus van sleutels, van generatie tot vernietiging, moet goed beheerd worden.

Compromittatie of verlies van sleutels kan grote gevolgen hebben: directe of indirecte financiële verliezen en/of het vertrouwen van de gebruikers in de dienst kan verloren gaan. Natuurlijk kan dit ook gevolgen hebben voor bijvoorbeeld het vervangen van alle uitstaande smartcards of andere aanpassingen in de infrastructuur.

9.1 Online of offline sleutelverificatie

Sleutelverificatie kan online of offline plaatsvinden. Bij offline verificatie bevinden de sleutels zich in of bij de terminal waar de smartcard wordt gebruikt. Bij online verificatie bevinden de sleutels zich in een centrale beveiligde opslag.

Het beveiligen van sleutels bij offline verificatie is moeilijker, omdat de smartcard en de terminals vaak in ongecontroleerde omgevingen worden gebruikt. Deze sleutels zijn niet geschikt voor opwaarderingstransacties op een smartcard om daarmee financiele schade zoveel mogelijk te voorkomen.

9.2 Geheim sleutelschema

Geheime sleutels worden volgens een schema gegenereerd. Er zijn twee soorten geheime sleutelschema’s in gebruik:

• Hoofdsleutelschema

Bij een hoofdsleutel schema wordt een hoofdsleutel gegenereerd waarbij volgens een (cryptografisch) algoritme een smartcardsleutel wordt afgeleid. De hoofdsleutel en de smartcardidentificatie vormen de input-parameters. Het voordeel is dat er per sleutel op de smartcard maar één (hoofd)sleutel hoeft te worden bewaard. Het nadeel is dat als deze (hoofd)sleutel wordt gecompromitteerd, alle smartcards moeten worden vervangen.

• ‘Random’-sleutelschema

Bij een random-sleutelschema wordt per smartcard een sleutel gegenereerd. Het voordeel is dat als een sleutel wordt gecomprimitteerd alleen de desbetreffende smartcard moeten worden vervangen. Het nadeel is dat een database met alle gegenereerde sleutels moet worden bijgehouden.

Page 48: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 48/74

9.3 Cryptografische sleutelroulatie of rotatie

Om de negatieve gevolgen van sleutelcompromittatie te beperken worden soms meerdere hoofdsleutels voor één smartcardsleutel gegenereerd. Bij sleutel-comprimittatie hoeft dan slechts een deel van de smartcards te worden vervangen.

Bij het genereren van 10 hoofdsleutels wordt op smartcard 1 de afgeleide van hoofdsleutel A geschreven, smartcard 2 de afgeleide van hoofdsleutel B, etc., smartcard 11 de afgeleide van sleutel A. Voor de juiste verificatie moet centraal en/of op de smartcard worden bijgehouden welke sleutel is gebruikt bij personalisatie.

9.4 De levenscyclus van cryptografische sleutels

Elke sleutel doorloopt een aantal stappen tijdens zijn levenscyclus. Deze stappen zijn weergegeven in figuur 9-1. Voor veilig sleutelbeheer moeten deze stappen worden vastgelegd in sleutelbeheerprocedures en belegd in de organisatie. De stappen zijn hieronder verder beschreven.

Sleutelgeneratie

Sleutelback-up

Sleuteldistributie

Sleutelmonitoring

Sleutelwisseling

Sleutelexpiratie

Sleutelarchivering

Sleutelvernietiging

Pre-operationeel

Operationeel

Post-operationeel

Vernietigd

Figuur 9-1 De levenscyclus van cryptografische sleutels

Page 49: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 49/74

9.4.1 Sleutelgeneratie

De eerste stap in de sleutel levenscyclus is het genereren ervan volgens het sleutelschema. Sleutels moeten in een beveiligde omgeving gegenereerd worden. Neem ook organisatorische maatregelen zoals functiescheiding. Ook het transport moet veilig gebeuren. Hierbij kan je denken aan het versleutelen met een transportsleutel. Wanneer een transportsleutel eenmaal veilig is overgebracht naar een ander systeem kunnen de sleutels versleuteld tussen de systemen worden uitgewisseld.

Wanneer gewerkt wordt met een hoofdsleutelschema moeten, tijdens personalisatie of bij de voorbereiding daarvan, (individuele) smartcardsleutels worden afgeleid van de hoofdsleutel. Dit wordt ook wel sleuteldiversificatie genoemd.

Publieke sleutels kunnen op de smartcard gegenereerd worden.

9.4.2 Sleutelback-up

Een sleutel moet veilig bewaard te worden voor het geval hij verloren gaat: sleutelback-up. Dit is vooral van belang bij een hoofdsleutelschema, omdat de hoofdsleutel noodzakelijk is bijvoorbeeld bij verificatie van operaties die met de smartcard zijn uitgevoerd. Denk bij het bewaren van sleutelgegevens ook aan uitwijkprocedures.

9.4.3 Sleuteldistributie

Bij sleuteldistributie wordt een sleutel in een operationele omgeving geplaatst. Laat dit bij voorkeur door andere personen doen dan de personen die de sleutel hebben gegenereerd.

Normaal gesproken wordt een nieuwe sleutel geplaatst voordat de oude sleutel wordt verwijderd. Hierdoor kan de nieuwe sleutel eerst worden getest om een soepele overgang te borgen.

In een operationele omgeving worden de sleutels in een veilige omgeving geplaatst waar ze alleen kunnen worden gebruikt maar niet kunnen worden uitgelezen. Een voorbeeld van een dergelijk systeem is een host security module (HSM).

9.4.4 Sleutelmonitoring

Tijdens de hele levenscyclus moeten de sleutels, en de apparatuur waarin ze zijn opgeslagen, gemonitord worden. Het gaat om niet-geautoriseerde toegang tot systemen waarin sleutels zijn opgeslagen, performance metingen van de systemen en de beschikbaarheid van de juiste sleutels.

9.4.5 Sleutelwisseling

Het is een goed gebruik dat sleutels worden vervangen voor het verwachte einde van de levensduur. Voordat een sleutel verloopt moet deze dus al vervangen zijn.

Page 50: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 50/74

Vaak geldt een minimum levensduur van één jaar. Voor het beschermen van gevoelige gegevens geldt ook wel een kortere levensduur. De kans dat een sleutel gecompromiteerd wordt is kleiner en minder data is versleuteld met dezelfde sleutel: een vorm van compartimenteren.

9.4.6 Sleutelexpiratie

Het is een goed gebruik dat sleutels expireren vóór het verwachte einde van de levensduur. Voordat een sleutel expireert moet deze vervangen zijn. Vaak geldt een minimum levensduur van één jaar. Voor het beschermen van gevoelige gegevens wordt ook wel een kortere levensduur gehanteerd.

9.4.7 Sleutelarchivering

Als een sleutel is verlopen en vervangen wordt deze in een archief geplaatst. Dit voor het geval de sleutel toch nog nodig is. Denk bijvoorbeeld aan back-ups waar versleutelde informatie op kan staan.

9.4.8 Sleutelvernietiging

Als een sleutel niet meer nodig is dan kan deze worden vernietigd. Let op dat sleutelvernietiging moet alleen gedaan worden nadat de sleutel lang genoeg gearchiveerd is geweest en na zorgvuldige verificatie dat de sleutel niet meer nodig is.

Page 51: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 51/74

10 SMARTCARD TOEPASSINGEN

Dit hoofdstuk gaat in op een aantal toepassingen waarin een smartcard een belangrijke rol speelt. De toepassingen zijn gesplitst in publieke en private sector.

10.1 Publieke sector

• De DEFENSIEPAS is een van de smartcard toepassingen in de publieke sector. Deze smartcardoplossing van defensie, waarvan er in totaal zo’n 60.000 stuks in omloop zijn, biedt zowel fysieke als logische toegang tot defensiemiddelen. De pas bevat PKI functionaliteit gebaseerd op PKI-Overheid. De PKI-functionaliteit van de pas wordt, naast authenticatie, gebruikt om documenten rechtsgeldig te ondertekenen en deze veilig per e-mail te verzenden.

• De RIJKSPAS is een toegangspas voor alle medewerkers van de rijksoverheid. Deze pas is sinds augustus 2006 in ontwikkeling bij ICTU. Het doel is, zoals de naam al doet vermoeden, een uniforme toegangspas voor de rijksoverheid te creëren. De rijkspas zal een aantal functies integreren waarbij zowel logische als fysieke toegang geïntegreerd worden.

• Het PASPOORT is een voorbeeld van een toepassing van een ‘contactloze microprocessor’ chipkaart. In de microchip zijn naast de kleurenfoto van de houder ook de gegevens van de ‘machine readable zone’ (MRZ) in de microchip opgenomen.

Daarnaast biedt de microchip een aantal aanvullende maatregelen ten behoeve van beveiliging en privacy. Ter bescherming van de privacy is een ‘basic access control’-mechanisme geïmplementeerd dat gebruikt wordt voor toegangscontrole tot informatie op de microchip. Ook zijn in de microchip mechanismen ingebouwd waardoor de authenticiteit van de informatie in de microchip en de authenticiteit van de microchip zelf vastgesteld kunnen worden. De authenticiteit is vast te stellen met behulp van een zogeheten landencertificaat (CSCA).

10.2 Private sector

• Eén van de meest gebruikte smartcards is de SIM die in mobiele telefoons wordt gebruikt. Op de SIM staan gegevens over de gebruiker: IMSI (International Mobile Subscriber Identity) en sleutels waarmee de authenticiteit van de smartcard wordt bewezen. De IMSI wordt gekoppeld aan één of meer telefoonnummers. In het geheugen van de SIM kaart kunnen ongeveer 100 telefoonnummers en een aantal SMS berichten worden opgeslagen. Het gebruik van de SIM kan worden beschermd door een pincode. Ook is er een deblokkeersleutel PUK (Personal Unblocking Keys) aanwezig om de smartcard te deblokkeren na een aantal foutieve pinpogingen.

Page 52: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 52/74

• Een andere veel gebruikte smartcard is de bankpas. Sinds een aantal jaren geven de banken passen uit gebaseerd op de EMV-standaard. Naast een microchip is op de bankpas ook een magneetstrip aanwezig. Voor geldopnames wordt de microchip gebruikt, voor betalingen bij winkeliers wordt nog veel de magneetstrip gebruikt. Omdat de magneetstrip makkelijk te kopiëren is, zal deze op den duur uitgefaseerd worden.

Op de bankpassen is standaard een Chipknip aanwezig voor kleine betalingen. Een aantal banken gebruikt de pas ook in een smartcardlezer voor het inloggen op internetbankieren en het tekenen van transacties.

Ook creditcards worden sinds een aantal jaren voorzien van een microchip. Deze microchip wordt nu voornamelijk gebruikt voor het uitvoeren van betalingen in winkels. Deze creditcards kunnen ook gebruikt worden voor het beveiligen van online betalingen.

• De OV-CHIPKAART is een vervoerbewijs en betaalmiddel voor het openbaar vervoer in geheel Nederland. De OV-chipkaart is in opdracht van een vijftal openbaar vervoerbedrijven ontwikkeld in een ‘joint venture’-verband onder de naam ‘Trans Link Systems’.

De OV-chipkaart bevat een microchip waarop vervoerbewijzen en –tegoeden elektronisch worden opgeslagen. Daarmee wordt de betaling van het vervoer volledig geautomatiseerd.

In de OV-chipkaart wordt gebruik gemaakt van contactloze microchips van MIFARE. Deze microchips kunnen uitsluitend op korte afstand worden uitgelezen.

De OV-chipkaart wordt in drie varianten aangeboden:

• Wegwerpkaart – bevat aantal dagen of ritten

• Anonieme kaart – bevat reissaldo en reisproducten m.u.v. abonnement

• Persoonlijke kaart - bevat reissaldo en reisproducten incl. abonnement

Bij de wegwerpkaart wordt gebruik gemaakt van de MIFARE Light microchip; bij de anonieme kaart en de persoonlijke kaart wordt gebruik gemaakt van de MIFARE Classic 1K en MIFARE Classic 4K.

De reisbewegingen van de OV-chipkaarten worden opgeslagen in een centrale database.

In de eerste maanden van 2008 is in de media veel aandacht besteed aan aanvallen op de MIFARE Light, de MIFARE Classic 1K en MIFARE Classic 4K microchips. In Hoofdstuk 11, Case study MIFARE gaat hier nader op in.

10.3 Infrastructuur

Een aantal toepassingen is niet sector gebonden en worden vaak tot de infrastructuur van een bedrijf gerekend.

Page 53: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 53/74

• Contactloze smartcard worden gebruikt voor het krijgen van TOEGANG tot een gebouw of tot ruimten in een gebouw. Voor beter beveiligde ruimten wordt daarnaast ook wel een pincode of biometrisch kenmerk gebruikt voor toegang. De rechten van de gebruiker zijn meestal vastgelegd in een centrale database.

• Smartcards kunnen worden gebruikt om het COMPUTER LOGIN PROCES te faciliteren. In plaats van de gebruikelijke combinatie gebruikersnaam en wachtwoord kan ook met een smartcard en PIN code worden ingelogd op een werkstation middels een challenge/response mechanisme of doordat gebruikersnaam en wachtwoord op de chipkaart zijn opgeslagen. Wanneer de smartcard wordt verwijderd kan de desktop worden ’gelocked’. Een voorbeeld van deze functionaliteit is de Cryptographic Service Provider (CSP) onder Windows. Voor andere platformen zijn Pluggable Authentication Modules (PAM) voor smartcards beschikbaar9.

• Een VIRTUAL PRIVATE NETWORK (VPN) is een beveiligde netwerkverbinding voor bijvoorbeeld het verkrijgen van toegang tot het bedrijfsnetwerk voor telewerkers of business partners. Met sterke smartcardauthenticatie voor VPN clients kan een dergelijke VPN verbinding beter worden beveiligd.

• Voor het BEVEILIGEN VAN E-MAIL kunnen berichten worden vercijferd en/of digitaal ondertekend om vertrouwelijkheid en integriteit te waarborgen. Voor het ondertekenen van een bericht moet een digitale handtekening worden gegenereerd en dit kan worden uitgevoerd op een smartcard. Voor het vercijferen van een bericht is het ‘public key’-certificaat van een geadresseerde nodig. Dit certificaat kan bijvoorbeeld lokaal op een werkstation staan in een adressenlijst of bijvoorbeeld op een keyserver. Ook de smartcard zelf kan dienen als opslag voor certificaten.

• Het Portable Document Format (PDF) wordt vaak gebruikt voor de uitwisseling van elektronische documenten en formulieren. Voor het BEVEILIGEN VAN PDF DOCUMENTEN kunnen deze digitaal worden ondertekend. De integriteit van het document wordt hiermee gewaarborgd, omdat wijzigingen na ondertekening de digitale handtekening ongeldig maken. Met een smartcard kan de elektronische handtekening op de smartcard worden gegenereerd, zodat gevoelig sleutelmateriaal niet opgeslagen hoeft te worden op een computer.

9 Zie http://www.opensc-project.org/pam_pkcs11/

Page 54: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 54/74

11 CASE STUDY MIFARE

11.1 Wat is MIFARE?

MIFARE technologie werd begin jaren negentig ontwikkeld door Mikron, een klein bedrijf in Oostenrijk. De naam MIFARE is afgeleid van ‘Mikron Fare collection System’. Midden van de jaren negentig werd Mikron overgenomen door Philips. De intellectuele eigendomsrechten van de MIFARE technologie worden geëxploiteerd door NXP, een afsplitsing van Philips.

NXP heeft aan een aantal bedrijven licenties verleend op de MIFARE-technologie. In de VS worden MIFARE-microchips onder licentie geproduceerd door Atmel en in Duitsland door Siemens.

MIFARE-microchips zijn contactloos, dat wil zeggen dat de informatie van een afstand kan worden gelezen en opgeslagen. MIFARE-microchips worden wereldwijd gebruikt in meer dan één miljard chipkaarten10, onder meer in systemen voor afrekening, identificatie, tijdsregistratie en toegangscontrole11. MIFARE is daarmee de meest gebruikte contactloze microchip ter wereld.

In de eerste maanden van 2008 is in het nieuws en in de politiek veel aandacht besteed aan het kraken van de OV-chipkaart en toegangspassen voor gebouwen. Recent wetenschappelijk onderzoek bracht verschillende kwetsbaarheden aan het licht van de daarop toegepaste MIFARE microchips. Het gaat daarbij om twee typen: de MIFARE Ultralight en de MIFARE Standard (ook bekend als MIFARE Classic). De gegevens op deze microchips zijn hierdoor ongeautoriseerd uit te lezen en te kopiëren.

Naast deze typen zijn nieuwere typen MIFARE-microchips ontwikkeld die beter beveiligd zijn. Daarbij wordt gebruik gemaakt van openbare encryptie algoritmen zoals Triple DES, AES, RSA en andere. Deze nieuwe typen zijn gecertificeerd tegen Common Criteria EAL op evaluatieniveau 4+ tot 5+. Voor een toelichting op de Common Criteria en de evaluatieniveaus EAL4 en EAL5 zie bijlage D.

In deze case study wordt ingegaan op de kwetsbaarheden van de ‘MIFARE Ultralight’ en MIFARE Classic-microchips. De overige typen MIFARE-microchips blijven buiten beschouwing.

11.2 Technische details

ALGEMEEN

‘MIFARE Ultralight’- en MIFARE Classic-microchips zijn te beschouwen als opslagmedia, waarvan het geheugen is verdeeld in segmenten en blokken. Het zijn contactloze microchips.

10 Zie: http://www.nxp.com/#/pip/pip=[pfp=41863]|pp=[v=d,t=pfp,i=41863,fi=,ps=0][0]

11 Mifare microchips worden onder meer gebruikt in Nederlandse OV-Chipcard en toegangspassen voor rijksgebouwen; de

Londense Oyster card, de CharlieCard in Boston, Verenigde Staten.

Page 55: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 55/74

De MIFARE Ultralight-microchip heeft een opslagruimte van 64 bytes, zonder beveiliging. Dit type smartcard is onveilig maar goedkoop en daarom in principe geschikt als wegwerpkaart.

De ‘MIFARE Classic’-microchip bevat tevens een microprocessor voorzien van een besturingssysteem plus encryptie software en –sleutels.

De ‘MIFARE Classic’-microchip type 1k heeft een opslagruimte van 768 bytes, verdeeld in 16 sectoren; elke sector is beveiligd met twee verschillende sleutels. Ze kunnen geprogrammeerd worden voor lezen en schrijven.

De ‘MIFARE Classic’-microchip type 4k heeft een opslagruimte van 3 kilobyte, verdeeld in 40 sectoren. 32 sectoren zijn even groot als die in type 1k; 8 hebben een dubbele capaciteit.

BEVEILIGING

Naam Beveiliging Jaar van

introductie

MIFARE Standard Geheim, intellectueel eigendom van Philips /

NXP semiconductors, niet gecertificeerd

1994

MIFARE Ultralight Geen 2001

Een aantal aanvallen op de ‘MIFARE Classic’ en ‘MIFARE Ultralight’ zoals in deze whitepaper beschreven, zijn gebaseerd op het op afstand afluisteren van de contactloze communicatie tussen microchip en leesapparaat. Vergelijkbare aanvallen van contactmicrochips zijn ook mogelijk maar minder gemakkelijk te realiseren. De beveiliging van de contactloze communicatie tussen microchip en leesapparaat is daarom van groot belang.

Een ander type aanval bestaat uit het uitlezen, al dan niet op afstand, en vervolgens wijzigen of klonen van de microchip.

In de ‘MIFARE Standard’-microchips is een beveiligingsmechanisme ingebouwd. Voorafgaand aan communicatie tussen microchip en leesapparaat vindt wederzijdse authenticatie plaats. De communicatie met het leesapparaat wordt vervolgens versleuteld.

Hierbij wordt gebruik gemaakt van Crypto-1, een geheim stream cypher, intellectueel eigendom van Philips/NXP Semiconductors.

11.3 Kwetsbaarheden en dreigingen

Onderzoek van de Universiteit van Amsterdam heeft aangetoond dat de data op de ‘MIFARE Ultralight’-microchip onrechtmatig gewijzigd en vermenigvuldigd kan worden12.

12 Pieter Siekerman en Maurits van der Schee - Security Evaluation of the disposable OV-chipkaart - System and Network

Engineering,

Page 56: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 56/74

Om manipulatie van data te voorkomen, is beveiliging met behulp van cryptografie noodzakelijk. De cryptografie moet op zijn beurt ook weer voldoende bestand zijn tegen aanvallen. De beveiliging van de ‘MIFARE Ultralight’ en ‘MIFARE Classic’ blijkt gemakkelijk te verbreken. De volgende paragraaf gaat hier nader op in.

De financiële schade als gevolg van de fraude, door het verlies van goederen of diensten. Daarnaast is er sprake van indirecte financiële schade in verband met opsporing en afhandeling van claims en van imago- en politieke schade.

Als smartcards worden toegepast voor toegangsbeveiliging, kan datamanipulatie ertoe leiden dat de fysieke en logische veiligheid niet langer gewaarborgd zijn.

Worden smartcards toegepast voor toegangscontrole bij evenementen dan kan grootschalige manipulatie van data leiden tot logistieke- en veiligheidsproblemen. Voor een voetbalwedstrijd heeft dit bijvoorbeeld tot gevolg dat het aanbod van mensen groter is dan het stadion kan verwerken; relschoppers met een stadionverbod worden niet tegengehouden.

Dergelijke beveiligingsincidenten gaan ten koste van het vertrouwen van de gebruikers en het bredere publiek. Het imago van de uitgever van de smartcards wordt aangetast.

11.4 Geslaagde aanvallen op MIFARE Ultralight

ONRECHTMATIGE WIJZIGING VAN DATA

Transactiemodel op basis van claims

Een claim op een eenmalig recht of een beperkt aantal rechten kan worden vervangen door een oneindig aantal rechten. De kosten hieraan verbonden komen voor rekening van de uitgever van de smartcard.

De financiële schade is in dit model te beperken door de uitgifte van smartcards te koppelen aan rechten met een eenmalig karakter, bijvoorbeeld het recht op toegang tot één bepaalde voorstelling of wedstrijd of het recht op een enkel object.

Transactiemodel gebaseerd op identiteit

De identiteit van de oorspronkelijke houder van de smartcard, die over relatief beperkte rechten beschikt, wordt gewijzigd in de identiteit van een andere houder met meer rechten. De kosten hieraan verbonden komen, net als bij zakkenrollen, in eerste instantie voor rekening van degene van wie de identiteit wordt misbruikt.

Voorbeeld 1 – Reset van MIFARE Ultralight

De wegwerpversie van de Nederlandse OV-chipkaart bevat een ‘MIFARE Light’-microchip. Deze smartcard functioneert in een transactiemodel op basis van claims en is onpersoonlijk.

University of Amsterdam - http://staff.science.uva.nl/~delaat/sne-2006-2007/p41/Report.pdf

Page 57: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 57/74

Bij het in- en uitchecken van een rit met de OV-chipkaart worden normaliter de volgende stappen doorlopen:

1. In de ‘One Time Programmable’ (OTP)-area van de microchip is een teller opgenomen. Het aantal bits dat 0 is in deze teller geeft aan hoeveel ritten met de smartcard nog gemaakt kunnen worden. Indien er geen bits in de teller meer 0 zijn, wordt de smartcard geweigerd.

2. Als één van de bits in de teller 0 is dan wordt de smartcard geaccepteerd. Eén bit dat 0 bevat wordt met een 1 beschreven. Omdat het een OTP-area is, is het later wegschrijven van een 0 in dit gebied niet mogelijk. Ook wordt er een ‘check-in’-transactie naar de pagina’s 4 tot en met 7 in de chipsmartcard geschreven.

3. Aan het einde van de rit wordt een ‘check-out’-transactie naar de pagina’s 8 tot en met 11 geschreven.

Een wegwerpkaart heeft een vooraf ingestelde geldigheid, bijvoorbeeld een aantal dagen of een aantal ritten. Bij een wegwerpkaart wordt de OTP-area niet gebruikt om de ritten bij te houden. Omdat bij het in- en uitchecken alleen het vrij beschrijfbare deel van de chipkaart wordt gebruikt, is het mogelijk meerdere keren in en uit te checken met een gemanipuleerde smartcard.

De volgende stappen worden hiertoe uitgevoerd:

1. Na aankoop van een nieuwe smartcard wordt allereerst een back-up van de data op pagina 4 tot en met 11 gemaakt. Pagina 4 tot en met 7 bevatten op dat moment irrelevante data, pagina 8 tot en met 11 bevatten de ‘purchase transactie’-data.

2. Vervolgens wordt een rit gemaakt met de smartcard. De ‘check-in’-transactie wordt geschreven naar pagina 4 tot en met 7; de ‘check-out’-transactie overschrijft de ‘purchase’-transactie op pagina 8 tot en met 11.

3. Na het uitchecken worden de pagina’s 4 tot en met 11 overschreven met de data van de eerder gemaakte back-up.

Deze stappen kunnen worden herhaald tot de geldigheidstermijn van de smartcard is verlopen. In de praktijk kan dus voor de prijs van enkele ritten gedurende een heel jaar worden gereisd. Naar verluid is dit gat inmiddels gefixed.

ONRECHTMATIGE VERMENIGVULDIGING

De dataverzameling van de smartcard kan als geheel worden uitgelezen en worden gebruikt om onrechtmatige kopieën van de smartcard te vervaardigen.

Transactiemodel gebaseerd op claims

Met behulp van onrechtmatige kopieën van smartcards is het mogelijk een claim op één of een beperkt aantal transacties in principe een oneindig aantal malen te doen gelden. De kosten hieraan verbonden komen voor rekening van de uitgever van de smartcard.

Transactiemodel gebaseerd op identiteit

Met behulp van onrechtmatige kopieën van smartcards is het mogelijk een claim op één of een beperkt aantal transacties in principe een oneindig aantal malen te doen gelden. De kosten hieraan verbonden komen, net als bij zakkenrollen, in eerste instantie voor rekening van degene van wie de identiteit wordt misbruikt.

Page 58: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 58/74

Voorbeeld 2 – Klonen van ‘MIFARE Ultralight’

Twee studenten van de Universiteit van Amsterdam toonden in juli 2007 tonen aan dat de wegwerpversie van de Nederlandse OV-chipkaart gekloond kan worden.

Onderzoekers van de Universiteit van Bochum, Duitsland, toonden aan dat het theoretisch mogelijk is om met behulp van relatief goedkope hardware een apparaat te ontwikkelen in overeenstemming met de specificaties van de ‘MIFARE Ultralight’-microchip dat op dezelfde manier met leesapparaten communiceert13.

Om effectief misbruik mogelijk te maken wordt de gekloonde microchip vervolgens geconfigureerd. Door middel van ‘reader-tag sniffing’ van de communicatiestroom van een microchip op een originele smartcard, worden de nodige configuratiegegevens verzameld. Deze configuratiegegevens worden vervolgens naar de kloon geschreven.

De microchip wordt op deze manier in feite gekloond. Weliswaar verschilt de uiterlijke verschijningsvorm van deze kloon met die van de microchip, maar voor het leesapparaat maakt dit geen verschil. In een omgeving zonder toezicht zal een dergelijke kloon daarom effectief zijn.

Roel Verdult, student aan de Radboud Universiteit, publiceert in januari 2008 een methode om daadwerkelijk een kloon te vervaardigen14.

Volgens deskundigen van de Universiteit van London is het heel wel mogelijk om een dergelijke kloon met het uiterlijk van de originele smartcard te vervaardigen15.

ONRECHTMATIGE KENNISNAME EN VERZAMELEN VAN DATA

Door het afluisteren van communicatie tussen het leesapparaat en de smartcard kan informatie worden ingewonnen over het gedrag van de smartcardhouder. De privacy van de houder van de smartcard is hiermee in het geding. In het kader van wet- en regelgeving dienen maatregelen te worden genomen ter bescherming van de privacy. Aantasting van de privacy kan daarnaast het imago van de uitgever van de smartcards aantasten.

Voorbeeld 3 – Aantasting van privacy

De persoonlijke OV-chipkaart bevat een ‘MIFARE Classic’-microchip. Hierop is een smartcardnummer ofwel identifier opgenomen.

Tussen de OV-chipkaart en de smartcardlezer worden smartcardnummer, geboortedatum en laatste bestemming uitgewisseld. Deze gegevens kunnen in principe, indien niet afdoende beveiligd, door ongeautoriseerden in de openbare ruimtes worden afgeluisterd. De privacy van de reiziger is in deze situatie niet gewaarborgd.

De aan de identifier gekoppelde reisbewegingen worden opgeslagen in een centrale database, waarin ze gekoppeld worden aan een volledige set van klantgegevens. Deze centrale database

13 Timo Kasper, Dario Carluccio and Christof Paar - An Embedded System for Practical Security Analysis of Contactless

Smartcards - Communication Security Group, Ruhr University Bochum, Germany -

http://wistp2007.xlim.fr/Slides2007/Day2/WISTP2007-SmartCard-p3.ppt. 14 R. Verdult, Proof of concept, cloning the OV-Chip card Public transport system in The Netherlands, Security of Systems,

Radboud University Nijmegen

15 Royal Holloway, University of London: Information Security Group - Smart Card Centre - Counter Expertise of the TNO Security

Analysis of the Dutch OV-Chipkaart

Page 59: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 59/74

wordt gebruikt voor de verdeling van inkomsten over de verschillende vervoersmaatschappijen, voor gericht advies en informatie aan de reizigers. Op termijn worden deze gegevens wellicht ook voor aanvullende dienstverlening gebruikt. De reisgegevens van de eigen klanten staan bovendien ter beschikking van de verschillende vervoerders. De privacy van reizigers wordt hierdoor aangetast16.

11.5 Geslaagde aanval op MIFARE Classic

ENCRYPTIE ALGORITME CRYPTO-1

De ‘MIFARE Classic’-microchip wordt beveiligd met het stream cypher Crypto-1. Dit algoritme maakt gebruik van een sleutellengte van 48 bits. Het algoritme voorziet in wederzijdse authenticatie en in encryptie van de datauitwisseling tussen leesapparaat en microchip.

SECURITY THROUGH OBSCURITY

Crypto-1 is een geheim crypto algoritme. Het intellectueel eigendom van het algoritme berust bij Philips/NXP. De veiligheid van dit algoritme is mede op deze geheimhouding gebaseerd. De beveiliging steunt, met andere woorden, deels op het principe ‘security through obscurity’ (zie 6.6.9 Openbaarheid cryptografisch algoritme).

Bij een juiste toepassing van dit principe maakt dit deel uit van een doordachte defense in depth strategie. In dat geval blijft bij onthulling van het algoritme het niveau van beveiliging grotendeels gehandhaafd.

Uit onderzoek is gebleken dat in het geval van het Crytpo-1 algoritme, geheimhouding is aangewend als panacee voor een gedegen beveiliging. Het algoritme zelf kent een aantal fundamentele zwakheden en biedt daardoor onvoldoende bescherming.

Het algoritme is gereconstrueerd door Karten Nohl17. Door deze onthulling van het algoritme wordt de beveiliging vrijwel geheel tenietgedaan.

16 Zie: Brief mr. J. Kohnstamm, CBP, 20 februari 2008 - http://www.cbpweb.nl/downloads_uit/z2004-

0850.pdf?refer=true&theme=green]. Door het gebruik van de OV-chipkaart ontstaan gegevens (onder meer over tijdstip en

traject) over het reisgedrag van elke reiziger. Naar het oordeel van het College Bescherming Persoonsgegevens (CBP) bestaat er

op voorhand geen reden om van iedereen alle reisgegevens voor langere tijd vast te leggen. In een brief van 20 februari 2008

geeft het CBP aan dat langdurige opslag van gegevens vanuit het oogpunt van privacy onwenselijk is. Gebruik van gegevens voor

marketing dient alleen te geschieden op geaggregeerd niveau. Verder merkt het CBP op dat doelgebonden gebruik van de

reisgegevens niet is voorgeschreven of door technische maatregelen gegarandeerd. Dit is in strijd met Artikel 8 van de Wet

Bescherming Persoonsgegevens.

17 Zie: http://www.cs.virginia.edu/~kn5f/Mifare.Cryptanalysis.htm

Page 60: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 60/74

Figuur 11-1 Kwetsbaarheden van MIFARE Crypto-1 algoritme

SLEUTELLENGTE

De gekozen sleutellengte is 48 bits, daarvan zijn er 28 niet in gebruik.

• Een sleutellengte van 48 bits voor gebruik in een symmetrisch algoritme was effectief rond 197018.

• 28 van 48 bits van de sleutel zijn niet in gebruik, dit reduceert de effectieve lengte van de sleutel tot 20 bits.

• Toepassing van de principes van Lenstra en Verheul19 leert dat een sleutellengte van 20 bits in symmetrische algoritmen naar verwachting effectief was tot 1928.

Gewenste sleutellengte

• De gewenste sleutellengte voor een symmetrisch algoritme in 2009 is 77 bits; bij een levensduur van 5 jaar (tot en met 2013) geldt dat de sleutel minimaal 81 bits dient te zijn.

18 Zie: http://www.keylength.com/en/2/. De door Lenstra en Verheul geadviseerde sleutellengtes zijn bedoeld om bescherming

te bieden tegen mathematische aanvallen; aanvallen op het algoritme, kwetsbaarheden van de hardware en dergelijke worden

buiten beschouwing gelaten.

19 Zie: http://www.keylength.com/en/2/. De door Lenstra en Verheul geadviseerde sleutellengtes zijn bedoeld om bescherming

te bieden tegen mathematische aanvallen; aanvallen op het algoritme, kwetsbaarheden van de hardware en dergelijke worden

buiten beschouwing gelaten.

Mifare Crypto-1

Page 61: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 61/74

• De gewenste sleutellengtes zijn onder vooronderstelling van een overigens publiek bekend en robuust algoritme; een zwak algoritme maakt een ‘brute force’-aanval eenvoudiger en kan de kwetsbaarheid als gevolg van een te korte sleutellengte versterken.

ONTWERP VAN HET ALGORITME

Karsten Nohl bespreekt daarnaast een aantal zwakheden in het ontwerp van het algoritme.

• De filterfunctie die deel uit maakt van het algoritme is samengesteld uit zes subfuncties, dit zijn op hun beurt concretiseringen van een drietal kleinere functies, die het Linear Feedback Shift Register (LFSR) muteren. De subfuncties zijn statistisch niet zuiver. In geval één input bit constant wordt gehouden is de output in 50% van de gevallen gelijk aan ‘1’.

• De Random Number Generator (RNG) levert geen zuivere random getallen20: o De output van de RNG is afhankelijk van het tijdsverloop tussen het

moment waarop het algoritme geactiveerd wordt tot het moment waarop een ‘challenge’ gestuurd wordt naar het leesapparaat.

o De RNG levert een bitstring van 16 bits. Deze string wordt tot een lengte van 36 bits aangevuld met ‘niet-random’-bits.

• De feedback loop is lineair, dit beperkt de complexiteit van het algoritme.

Gesteld kan daarom worden dat de complexiteit van het Crypto-1 algoritme laag is. Dit is mogelijk het gevolg van de export beperkingen voor cryptografie die golden op het moment van het ontwerp van de MIFARE Classic. Een ander motief kan geweest zijn het streven om het elektronisch circuit, gegeven de beperkt beschikbare spanning en geheugenruimte, zo efficiënt mogelijk in te richten. Deze beperkingen gelden niet meer voor de huidige ‘korte afstand RFID’-microchips. Beperkt beschikbare spanning kan wel een factor zijn bij ‘lange afstand RFID’-microchips, die tot op twintig meter afstand benaderbaar zijn.

KRAKEN VAN HET ‘CRYPTO-1’-ALGORITME

In december 2007 werd op het symposium van de Chaos Computer Club (CCC) een methode gepresenteerd waarmee het ‘Crypto-1’-algoritme gekraakt kan worden.

Voorbeeld 4 – Kraken van het ‘Crypto-1’-algoritme

In het artikel Cryptanalysis of Crypto-121 beschrijft Karsten Nohl de reconstructie van het ‘MIFARE Classic crypto’-algoritme.

Het algoritme kon worden gereconstrueerd door telkens opnieuw dunne plakjes van de microchip te schaven en vervolgens onder de microscoop foto’s van de microchip te maken. Op basis hiervan werd een driedimensionale voorstelling van het elektronische circuit vervaardigd en kon het cryptografische algoritme worden gereconstrueerd.

Met kennis van het crypto algoritme kon een ‘brute force’-aanval worden uitgevoerd om de gebruikte sleutel te achterhalen. Gegeven de sleutellengte van 48 bits zou zo’n aanval in principe enkele dagen in beslag moeten nemen. Door de kwetsbaarheden in het ontwerp van het

20 Random getallen worden gegenereerd op basis van elektronische ruis. Met de huidige stand van de techniek is het mogelijk om

zuivere random nummers te genereren. Dit was in de tijd dat de Mifare Classic werd ontwikkeld nog niet het geval.

21 Zie: http://www.cs.virginia.edu/~kn5f/Mifare.Cryptanalysis.htm

Page 62: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 62/74

algoritme was het mogelijk op een intelligente manier sleutels te genereren, waardoor de sleutel binnen ongeveer tien minuten kon worden gereconstrueerd22.

Nadat eenmaal het crypto-algoritme en de sleutel zijn gekraakt, is het ook mogelijk om gegevens van de microchip te lezen, te wijzigen en te kopiëren. De MIFARE Classic is daarmee praktisch net zo veilig of onveilig als de MIFARE Ultralight.

Onderzoekers van de Radboud Universiteit Nijmegen hebben inmiddels ‘MIFARE Classic’-microchips gekloond23. De toegepaste methode is relatief eenvoudig en door de AIVD geverifieerd24.

11.6 Conclusies en aanbevelingen

CONCLUSIES

Bij de keuze van ‘MIFARE Ultralight’-microchips voor toegangsbeveiliging van overheidsgebouwen en vervoersbewijzen is een verkeerde inschatting gemaakt van risico’s. Uitgangspunt was dat een wegwerpkaart een beperkte waarde of belang vertegenwoordigt. ‘MIFARE Ultralight’-smartcards zijn echter meermalen te gebruiken en te klonen. Een van oorsprong beperkte waarde of belang wordt hierdoor in principe onbeperkt. De aard en omvang van risico’s ten gevolge hiervan zijn nauwelijks in te schatten.

De beveiliging van de ‘MIFARE Classic’-microchips is gebaseerd op het principe ‘Security through obscurity’. De cryptografische gemeenschap heeft het algoritme daarom niet of niet tijdig kunnen evalueren. Een combinatie van niet opgeloste kwetsbaarheden in het ‘Crypto-1’-algoritme en de keuze van een te korte sleutel hebben het kraken van de ‘MIFARE Classic’ mogelijk gemaakt. De beveiliging van ‘MIFARE Classic’-microchips is daarom uiteindelijk nauwelijks beter dan de MIFARE Ultralight. Bij de keuze van ‘MIFARE Classic’-kaarten voor toegangsbeveiliging van overheidsgebouwen en vervoersbewijzen is hiermee geen rekening gehouden.

De ‘MIFARE Ultralight’- en ‘Classic’-microchips zijn bij veel organisaties in gebruik. Het zijn beproefde producten. Echter de producten voldoen niet aan de eisen van de tijd. Bij de keuze van technologie kan men daarom niet blindvaren op de kwaliteit van beproefde producten.

Mogelijke gevolgen van de zwakke beveiliging van ‘MIFARE Ultralight’- en ‘Classic’-microchips zijn financiële schade, imagoschade, aantasting van de privacy, logistieke problemen, secundaire logische of fysieke beveiligingsproblemen en het niet voldoen aan wet- en regelgeving.

22 Zie: http://www.transidian.com/2008/03/12/security-researchers-crack-london-underground-smartcard/;

http://www.hackaday.com/2008/01/01/24c3-Mifare-crypto1-rfid-completely-broken/;

http://events.ccc.de/congress/2007/Fahrplan/attachments/1049_CCC-07-Mifare-v2.pdf

23 Zie: http://www.ru.nl/veiligheid-toegangspassen/

24 Zie:

http://www.minbzk.nl/aspx/download.aspx?file=/contents/pages/91916/briefaantweedekameroverchiptechnologietoegangs-

passen1.pdf

Page 63: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 63/74

HOE KAN HET BETER?

Toepassing van het principe van ‘Full disclosure’ is een noodzakelijke voorwaarde voor state of the art cryptografie.

De keuze van smartcardtechnologie dient toekomstgericht te zijn en gebaseerd te zijn op classificatie van gegevens en een risicoanalyse.

Classificatie van gegevens en de inschatting van risico’s dient te geschieden aan de hand van het transactie- en bedrijfsmodel.

Smartcards die een duidelijk omschreven waarde of belang vertegenwoordigen25, moeten beveiligd worden tegen ongeautoriseerde raadpleging en wijziging van data.

‘Applicatie-controls’ kunnen meervoudig onrechtmatig gebruik van smartcards, door aanpassing van gegevens of klonen, helpen voorkomen.

Smartcards die een grote waarde of belang vertegenwoordigen, moeten beveiligd worden door middel van cryptografie. De communicatie tussen smartcard en leesapparaat moet voorafgegaan worden door wederzijdse authenticatie en vervolgens versleuteld te worden.

De keuze van het cryptografische systeem (inclusief authenticatiemechanisme) en sleutellengte moet gebaseerd zijn op een zorgvuldige classificatie van gegevens en inschatting van risico’s.

Gebruik producten die een onafhankelijke verificatie hebben ondergaan, zoals de Common Criteria evaluaties (zie bijlage D).

25 RFID tags die worden gebruikt in logistieke processen (bijvoorbeeld voor het labellen van consumentenproducten)

vertegenwoordigen een zeer beperkte waarde of belang. Smartcards die een eenmalig recht geven op een goed of een dienst

vertegenwoordigen een duidelijk omschreven waarde.

Page 64: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 64/74

12 NIEUWE ONTWIKKELINGEN

In dit hoofdstuk wordt een aantal nieuwe ontwikkelingen rondom smartcards beschreven.

12.1 Smartcard met ingebouwd display en toetsenbord

Visa heeft in november 2008 een nieuwe creditcard gelanceerd waarop een toetsenbord en een display zijn geïntegreerd. Verschillende banken zijn betrokken bij een pilot met deze smartcard. Het display op de smartcard heeft beperkte afmetingen waardoor er alleen korte boodschappen kunnen worden getoond. Een voordeel is dat een gebruiker niet een losse smartcardlezer hoeft mee te nemen. Nadelen zijn de hogere kosten, het kleine display en de beperkte levensduur.

Figuur 12-1 Smartcard met ingebouwd display en toetsenbord

12.2 High Capacity SIM (HC-SIM)

In de nieuwste generatie smartcards is er een grote toename in beschikbaar geheugen van enkele honderden kilobytes naar honderden megabytes. Hiernaast bieden deze smartcards meer functionaliteit en worden er meer protocollen ondersteund. Een aantal functies die zijn toegevoegd zijn:

• Smartcard webserver, een Smartcard webserver (SCWS) is een HTTP-server die geïmplementeerd is in een smartcard, embedded in een mobiel apparaat. Het biedt mobiele operators de mogelijkheid om smartcard-diensten te bieden op basis van het veel gebruikte HTTP/1.1 protocol. Het voordeel van deze technologie is dat smartcarddiensten beschikbaar komen voor webpagina’s, op een manier zoals webontwikkelaars dit

Page 65: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 65/74

gewend zijn, waardoor gepersonaliseerde informatie kan worden getoond op basis van de smartcard.

• High-Speed USB interface en ondersteuning voor TCP/IP.

12.3 Smartcard met biometrische sensor

Er zijn smartcards waarbij een biometrische sensor in de smartcard is geïntegreerd. Het voordeel van deze smartcard is dat de biometrische gegevens de chipkaart niet hoeven te verlaten. Dit geldt zowel bij registratie als bij verificatie van de biometrische gegevens. Door het gebruik van deze smartcard heeft uitlenen van de smartcard niet veel zin meer. Ook ontlast het de houder van de zorg een pincode te onthouden.

Figuur 12-2 Smartcard met biometrische sensor

12.4 See-What-You-Sign smartcardlezers

In Nederland heeft ABNAMRO in 2008 een nieuw type smartcardlezer geïntroduceerd voor het gebruik bij internet bankieren. Deze smartcardlezer, die zowel gekoppeld aan een pc als niet gekoppeld kan werken, werkt met het ‘See-What-You-Sign’-principe. In de smartcardlezer wordt een bankpas gebruikt die is voorzien van een microchip.

In ‘gekoppelde mode’ verifieert een gebruiker eerst de meest relevante transactiegegevens, voordat een elektronische handtekening wordt gezet. In ‘niet gekoppelde mode’ voert de gebruiker de meest relevante transactiegegevens in op het apparaat. In beide gevallen wordt ook de context getoond van wat elektronisch wordt getekend. Hierdoor heeft de gebruiker de grootst mogelijke zekerheid dat de transactie die hij heeft ingevoerd ook zo door de bank wordt verwerkt.

Page 66: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 66/74

BIJLAGE A AFKORTINGEN EN DEFINITIES

Afkorting

Omschrijving

APDU Application Programming Data Unit

API Application Programming Interface

ATR Answer To Reset

CC Common Criteria

CHC Cardholder Control

EEPROM Electrically Erasable Programmable Read-Only Memory

EMV Europay Mastercard Visa

GSM Global System for Mobile communications

HSM Host Security Module

IEC International Electrotechnical Commission

IETF Internet Engineering Task Force

I/O Input/Output

ISO International Standards Organization

JSR Java Specification Request

MAC Message Authentication Code

MIFARE Mikron Fare collection system

NBV National Bureau voor Verbindingsbeveiliging

OV Openbaar Vervoer

PAM Pluggable Authentication Modules

PCMCIA Personal Computer Memory Card International Association

PC/SC Personal Computer/Smart Card workgroup

Page 67: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 67/74

PDF Portable Document Format

PIN Personal Identification Number

PKCS Public Key Cryptography Standard

PKIX Public Key Infrastructure

PrKDF Private Key Directory File

RAM Random Access Memory

RFID Radio Frequency Identification

ROM Read Only Memory

SATSA Security And Trust Services API

SCWS Smart Card Web Server

S/MIME Secure / Multipurpose Internet Mail Extensions

SSL Secure Sockets Layer

SIM Subscriber Identity Module

SIP Session Initiation Protocol

TLS Translink Systems

TLV Tag Length Value

USB Universal Serial Bus

VPN Virtual Private Network

Page 68: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 68/74

BIJLAGE B LITERATUURLIJST

Nr

Omschrijving

[1] ‘Smart Card Handbook’, Third Edition, Wolfgang Rankl en Wolfgang Effing

[2] www.chipknip.nl/

[3] www.paspoortinformatie.nl/content.jsp?objectid=4240

[4] Wikipedia, http://en.wikipedia.org/wiki/Smart_card

[5] www.smartcardalliance.org/pages/smart-cards-faq

[6] csrc.nist.gov/groups/ST/toolkit/key_management.html

[7] ISO 7498-2 Information Processing Systems - Open Systems Interconnection - Basic Reference Model - Part 2: Security Architecture. ISO/IEC 1989

[8] http://en.wikipedia.org/wiki/Authorization - cite_ref-ISO7498-2_2-0 www.openscdp.org

[9] http://java.sun.com/javacard/

[10] http://en.wikipedia.org/wiki/Java_Card

[11] SP 800-57 Part 1, Recommendation for key management http://csrc.nist.gov/groups/ST/key_mgmt/

Page 69: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 69/74

BIJLAGE C OVERZICHT VAN AANVALLEN OP MICROCHIPS

C.1 Fysieke aanvallen en beveiligingsmaatregelen

Smartcards lijken goed verpakte minisystemen, 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.

Fysieke aanval Omschrijving

Chemische bewerking

Toepassing van oplosmiddelen, bijtende middelen en chemische deklagen kunnen constructie en werking van smartcardchips onthullen.

Optische analyse Optische- en elektronenmicroscopen kunnen worden gebruikt voor optische analyse van de constructie en reverse engineering van smartcardchips. Op deze manier kan de werking van hardware scramblers, crypto-engines of hard-wired ROM worden geanalyseerd.

Sondering Door middel van een sonde kan een nieuwe verbinding worden gecreëerd tussen de smartcardchip en de buitenwereld. Door een sonde op de data bus kan de volledige uitwisseling van data tussen de processor en geheugen worden afgetapt. Analyse van deze data kan de volledige programmacode, inclusief gebruikte sleutels, reconstrueren. Omgekeerd is het mogelijk om via een sonde originele data op de smartcardchip te overschrijven. Instructies kunnen zo worden gewijzigd waardoor de werking van de smartcard volledig wordt verstoord.

Gerichte ionenbundel

Ionen worden afgeschoten op de smartcardchip. Hiermee kan niet alleen de constructie van de microchip worden onthuld, maar kunnen ook wijzigingen aangebracht worden in de circuits. Door toepassing van verschillende gassen is het mogelijk om geleiders, isolators en zelfs halfgeleiders (logische poorten) te creëren op de originele microchip. Op deze manier kunnen testcircuits opnieuw worden verbonden en verborgen interne signalen kunnen naar buiten worden gebracht. In geval van multi layer microchips is het mogelijk om door aanbrenging van een soort tunnel verborgen geleiders aan de oppervlakte te brengen. Geleiders die te dun en fragiel zijn om een sonde aan te sluiten, kunnen worden versterkt met behulp van een gerichte ionenbundel. Het toepassen van ionenbundels vergt gebruik van specialistische apparatuur, die wel kostbaar is.

Tabel C-1 Fysieke aanvallen

Page 70: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 70/74

Maatregelen tegen fysieke aanvallen

Tegen fysieke aanvallen zijn maatregelen op de microchip zelf te nemen. Hoewel uiteindelijk de maatregelen ook te omzeilen zijn, zijn de uiteindelijke kosten voor een aanval in geld, tijd en expertise aanzienlijk hoger. Ook de kosten van een beter beveiligde smartcard lopen natuurlijk op.

Fysieke maatregel Omschrijving

Afmetingen van microchips

De afgelopen 5 jaar zijn de afmetingen van transistors en bedrading op microchips teruggebracht van meer dan 1 µm tot minder dan 200 nm. Deze afmetingen zijn te klein voor optische microscopen en voor het plaatsen van sondes. Het gebruik van elektronenmicroscopen in combinatie met het afschieten van ionen blijvft tot de mogelijkheden behoren. Dit type aanvallen brengt echter hogere kosten met zich mee.

Meerdere lagen in elektronisch circuit

Door de toepassing van meerdere lagen kunnen gevoelige datastromen worden verborgen onder lagen met minder gevoelige informatie.

Beschermende laag bovenop elek-tronisch circuit

Op de microchip wordt een toplaag aangebracht die een beschermend signaal voert. Onderbreking van dat signaal leidt ertoe dat de processen in de microchip automatisch worden stopgezet en het interne geheugen en de cryptografische sleutels worden gewist.

Sensoren voor detectie van manipulatie

Sensoren zorgen er voor dat de microchip wordt uitgeschakeld op het moment dat lichtinval, temperatuur, voedingsspanning en kloksignaal boven of onder een voorgeschreven waarde uitkomen. Nadeel is dat de microchip hierdoor gevoeliger wordt voor omgevingsfactoren en dus minder stabiel wordt.

Bus-scrambling De databus tussen processoren en geheugens wordt door elkaar gehusseld met behulp van verschillende scrambling-technieken. Om de busdata te analyseren moet eerst de scrambling-logica worden ontleed. Dit bemoeilijkt een aanval.

Glue-logic Functionele bouwstenen worden kriskras door elkaar heen op de microchip geplaatst in plaats van in afzonderlijke secties. Speciale logica zorgt voor het bij elkaar brengen van signalen (glue-logic) De fysieke opzet van de microchip geeft op deze manier weinig informatie prijs over de functionele architectuur.

Tabel C-2 Maatregelen tegen fysieke aanvallen

Page 71: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 71/74

C.2 Side channel aanvallen en beveiligingsmaatregelen

Side channel analyse

Hierbij wordt gebruik gemaakt wordt van fysieke middelen om het gedrag van smartcards te analyseren en/of te wijzigen.

Side channel aanval

Omschrijving

Side channel analyse

Rekenkundige bewerkingen op bitniveau worden gekenmerkt door een verschil in stroomgebruik en daarmee verbonden emissie van elektromagnetische straling, warmte en geluid. Bij side channel analyse wordt gebruik gemaakt van fysieke middelen om deze emissies te analyseren.

Simple power analysis

Het stroomgebruik van de microchip is in hoge mate afhankelijk van het proces dat op de microchip wordt uitgevoerd. Door het stroomgebruik te meten kan informatie worden verkregen over de actieve processen op de microchip.

Differential power analysis (DPA)

Het stroomgebruik van de microchip wordt aan een statistische analyse onderworpen. Hieruit worden conclusies getrokken met betrekking tot het toegepaste algoritme.

Simple electromagnetic analysis

Een actieve microchip produceert elektromagnetische straling. Door deze straling te meten kan informatie worden verkregen over de actieve processen op de microchip.

Differential electromagnetic analysis (DMA)

Elektromagnetische straling afkomstig van de microchip wordt aan een statische analyse onderworpen.

Timing attack De voor de processen benodigde tijd is gerelateerd aan proces-parameters. Door de benodigde tijd te meten kan informatie worden verkregen over de parameters.

Tabel C-3 Side channel analyse aanvallen

Page 72: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 72/74

Figuur C-1 Differential Power Analysis

Page 73: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 73/74

Side channel manipulation

Hierbij wordt gebruik gemaakt van fysieke middelen om het gedrag van smartcards te wijzigen.

Side channel aanval

Omschrijving

Power glitching Microchips zijn ontworpen om bij een constante spanning te functioneren. Als gevolg van plotselinge spanningswijzigingen produceert de microchip onbedoelde signalen die een goed functioneren verstoren. Hieruit kan informatie worden afgeleid over toegepaste algoritmes en sleutels.

Differential fault analysis attack (DFA)

Dezelfde klaartekst wordt tweemaal vercijferd, eenmaal correct en eenmaal met een geforceerde fout in het proces. Uit de verschillende resultaten kunnen conclusies worden afgeleid over algoritme en sleutels.

Temperatuur aanval

De kloksnelheid van de microchip is niet helemaal regelmatig. Bij een hogere temperatuur neemt de onregelmatigheid toe. Van deze onregelmatigheid wordt gebruik gemaakt bij een temperatuuraanval. Na elke clock pulse wordt de status van de microchip bijgewerkt. Als de ‘clock pulse’ te snel komt is de status van de microchip nog niet volledig bijgewerkt. Op deze manier wordt een fout geforceerd, waaruit informatie over de werking van de microchip kan worden afgeleid.

Elektromagnetische straling

Sterke elektromagnetische pulsen kunnen leiden tot wijzigingen in de uitvoering van processen.

Thermodynamische aanval

De CPU van een microchip produceert warmte. De patronen in de hoeveelheid geproduceerde warmte vertonen een verband met de toegepaste crypto-algoritmen.

Thermal imaging attack

Uit infrarood beelden (warmte) kan informatie worden afgeleid over de uitgevoerde processen.

Acoustic thermodynamic attack

Temperatuurwisselingen veroorzaken mechanische spanningen die meetbare laagfrequente geluiden produceren. Analyse van deze geluiden levert informatie op over de uitgevoerde processen.

Licht en röntgenstraling

Halfgeleiders waar de microchips van zijn gemaakt zijn gevoelig voor licht. Een gerichte straal licht kan de uitgevoerde processen beïnvloeden.

Tabel C-4 Side channel manipulation aanvallen

Page 74: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 74/74

Maatregelen

Side channel aanvallen kunnen worden bemoeilijkt door aanpassingen in de hard- en software.

Side channel aanval

Omschrijving

Beperken van spanningsniveau

Beperking van het spanningsniveau bemoeilijkt side channel analyse.

Toevoegen van elektromagnetische ruis

Elektromagnetische straling kan worden gemaskeerd door het toevoegen van een niet-functioneel elektromagnetisch veld. Overbodige random processen kunnen worden geïmplementeerd om extra, betekenisloze elektromagnetische signalen te genereren. Daardoor zijn betekenisvolle signalen moeilijker op te sporen en te analyseren.

Introductie van ‘timing noise’

Door willekeurige onderbrekingen van het proces en door het variëren van de kloksnelheid, verliezen de aan betekenis.

Beperken van elektromagnetische straling

De elektromagnetische straling kan met technische maatregelen worden beperkt.

Kooi van Faraday Onopgemerkt afluisteren van draadloze communicatie tussen leesapparaat en microchip kan worden beperkt door een beschermend metalen hoesje waardoor elektromagnetische straling wordt tegengehouden. Elektromagnetische straling kan ook worden tegengehouden met behulp van een in de microchip geïntegreerd omhulsel van geleidend materiaal. Het afvangen van communicatie tijdens het gebruik van de pasjes kan hiermee echter niet worden voorkomen.

Beperking van stroomgebruik

Door beperking van het stroomgebruik zal ook het elektromagnetisch veld worden beperkt.

Beperken van de kloksnelheid

Door de kloksnelheid te beperken wordt minder stroom verbruikt en de productie van elektromagnetische straling beperkt.

Het voedingscircuit kan asymmetrisch worden ontworpen. Door naburige stroomlussen aan te brengen met een tegengestelde stroomrichting worden elektromagnetische velden geëlimineerd.

Tabel C-5 Maatregelen tegen side channel aanvallen

Page 75: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 75/74

Side channel aanval Omschrijving

Random process ontwerp

Een aantal (n) parallelle substituties in een algoritme worden in willekeurige volgorde uitgevoerd. Het aantal substituties wordt teruggebracht van n tot 1.

Random vertragingen of alternatief procesverloop

Random vertragingen of alternatieve procespaden maken het tijdsverloop onvoorspelbaar.

Tijdsneutrale implementatie van sleutelbewerkingen

Simple power analysis is mogelijk wanneer de tijdsduur van functies afhankelijk is van sleutelwaarden. Tijdonafhankelijke implementatie van functies beschermt tegen deze aanval.

Maskering van tussentijdse bewerkingsresultaten

Spanningsverschillen zijn gerelateerd aan de data hamming weight ofwel het aantal bits dat gelijk is aan 1. Door het optellen (en later weer aftrekken) van random data worden de spanningsverschillen betekenisloos. Nadeel is dat niet-lineaire functies hierdoor foutgevoelig worden. Dit stelt hoge eisen aan het ontwerp van deze functies.

Onvoorwaardelijke uitvoering van rekenkundige bewerkingen op bitniveau

Rekenkundige bewerkingen op bitniveau worden gekenmerkt door een verschil in stroomgebruik en daarmee verbonden emissie van elektromagnetische straling, warmte en geluid. De verschillen in emissie kunnen worden gemaskeerd door rekenkundige bewerkingen altijd uit te voeren en op te slaan in (dummy) registers, ook als de resultaten van deze bewerkingen later in het algoritme niet worden gebruikt.

Onvoorwaardelijke uitvoering van functies

Ook hele routines of functies kunnen zonder functioneel doel worden uitgevoerd. Door alle codering die op de microchip is geprogrammeerd in alle gevallen uit te voeren, zal het doorlopen van het algoritme steeds dezelfde tijd en stroom vergen, onafhankelijk van de input. Statements zoals IF, WHILE en REPEAT en FOR kunnen in dat geval niet worden toegepast. Timing-, power- en electromagnetic attacks worden hierdoor bemoeilijkt. De implementatie van tijdonafhankelijke code is echter bijzonder moeilijk en vertraagt het proces.

Randomiseren van sleutels door toevoeging van ‘random’-tekens

Sleutels kunnen door toevoeging van extra, voor het algoritme overbodige, random tekens worden gerandomiseerd. De statistische relatie tussen klaartekst en cijfertekst wordt hiermee verstoord. Reconstructie van algoritme en sleutels wordt hierdoor bemoeilijkt.

Randomiseren van sleutels door toepassing van exponentiële- en modulusfuncties

Veelvuldige toepassing van exponentiële and modulus bewerkingen in ‘public key schemes’ kan gebruikt worden om sleutels te randomiseren.

Page 76: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 76/74

Side channel aanval Omschrijving

Maskering van klaartekst

Reconstructie van algoritme en sleutels wordt door de maskering van klaartekst bemoeilijkt. Klaartekst kan door toevoeging van extra, voor het algoritme overbodige tekens worden gemaskeerd. De statistische relatie tussen klaartekst en cijfertekst wordt hiermee verstoord. Optellen (en later weer aftrekken) van ‘random’-data voorafgaand aan encryptie verstoort de statistische relatie tussen de input van de processor en het (te reconstrueren) encryptieproces ook. Maskering van klaartekst kan verder worden bereikt door toepassing van een bijectie functie, waarbij elk teken uit het oorspronkelijke bericht wordt vervangen door één uniek alternatief teken. In termen van cryptografie is een bijectie te beschouwen als een eenvoudig substitutie-algoritme. De toegevoegde waarde ervan in verband met beveiliging is derhalve beperkt.

Randomiseren van sleutel herziening procedure

De procedure voor herziening van sleutels kan worden gerandomiseerd. Zo kunnen meerdere geheime sleutels worden gegenereerd door ‘hashing’-algoritmes toe te passen op één sessiesleutel. Statistische informatie verzameld binnen één sessie wordt daardoor onbruikbaar.

Dubbele uitvoering van encryptie algoritme

Fault attacks kunnen worden tegengegaan door het encryptie-algoritme dubbel uit te voeren en het resultaat alleen te benutten als de output van beide uitvoeringen hetzelfde is. Echter in een aantal gevallen zal het resultaat van de beide uitvoeringen fout zijn en zal het resultaat toch worden benut. Daarnaast bemoeilijkt dan wel vertraagt deze oplossing een ‘fault attack’, maar maakt deze niet onmogelijk. Nadeel is verder dat niet alleen de aanval maar ook het cryptografische proces aanzienlijk wordt vertraagd.

In balans brengen van ‘hamming weights’

Het begrip hamming weight verwijst betrekking naar het aantal bits in een binaire string dat gelijk is aan één. Een bit gelijk aan één verbruikt meer stroom en genereert meer electromagnetische straling dan een bit gelijk aan nul. Door hamming weights van state transitions voortdurend met elkaar in balans te brengen worden power analysis en electromagnetic analysis bemoeilijkt.

Minimale uitvoering van crypto-algoritmes

Door beperking van het aantal bewerkingsinstructies kan een reconstructie van het algoritme bemoeilijkt worden.

Tabel C-6 Side channel manipulation maatregelen

Page 77: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 77/74

C.3 Softwarematige aanvallen en beveiligingsmaatregelen

Softwarematige aanvallen

Als toegang tot de microchip is verkregen, is het soms mogelijk om softwarematige aanvallen uit te voeren, gebruik makend van fouten of onvolkomenheden in de software.

Page 78: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 78/74

Software aanval Omschrijving

Verborgen of overbodige commando’s

Initieel zijn er vele tienduizenden ‘operating system’ commando’s geïmplementeerd op een smartcard. In de praktijk wordt slechts van een beperkt aantal commando's gebruik gemaakt. Overbodige commando's worden gedeactiveerd. Desondanks blijven vaak een of meerdere niet gebruikte commando's ten onrechte actief. Deze commando's kunnen worden misbruikt voor het uitlezen of wijzigen van data op de smartcard. Commando's maken gebruik van parameters. Wanneer commando's worden aangeroepen met oneigenlijke of niet-toegestane parameters zijn de resultaten soms onvoorspelbaar. Een bekend voorbeeld is een file read commando waarbij de offset en lengte groter zijn dan de file-omvang.

Onzorgvuldige access controle

Elk commando kent access control. Deze bepalen welke applicaties en files mogen worden geraadpleegd. Indien access controls te ruim zijn geformuleerd kan daar misbruik van gemaakt worden.

Kwaadaardige applets

Door installatie van een kwaadaardige ‘applet’ of door misbruik van een kwetsbaarheid van een legitieme ‘applet’ op de microchip kunnen de beveiligingsmechanismen van de smartcard worden ontregeld. Dit is malware op chipniveau.

Communicatie protocol

Het communicatieprotocol controleert data flow control en error recovery. Door berichten te sturen die niet aansluiten bij de actuele status van de smartcard kan het communicatieprotocol geprovoceerd worden om (geheime) informatie prijs te geven. Smartcards maken gebruik van een kleine message buffer in het RAM-geheugen om tussenresultaten op te slaan. Daarbij wordt ook de lengte van de gegevens in de message buffer opgeslagen. Indien het communicatie-protocol een bericht van een applet niet correct ontvangt wordt in sommige gevallen het bericht opnieuw opgevraagd aan de applet. Wanneer de applet daar niet alert op is en bovendien de lengte van de message buffer niet correct (lees: te lang) is ingesteld, kan dit leiden tot een complete memory dump, inclusief geheime en vertrouwelijke gegevens.

Crypto protocol, ontwerp and implementatie

Cryptografische protocollen voeren achtereenvolgens een aantal cryptografische bewerkingen uit. Een onzorgvuldig ontwerp van cryptografische protocollen biedt ruimte voor replay attacks of andere aanvallen. Terugvalmechanismen zijn in sommige gevallen relatief kwetsbaar. Veel cryptografische algoritmes zijn geheim en niet geëvalueerd door de cryptografische experts. Indien het ontwerp uitlekt, kunnen onopgemerkte kwetsbaarheden van deze algoritmes kunnen worden misbruikt. Daarnaast tast de toepassing van pseudo random nummer generatoren de robuustheid van het algoritme aan.

Tabel C-7 Softwarematige maatregelen

Page 79: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 79/74

Maatregelen

Maatregel

Omschrijving

Structureel ontwerp Door toepassing van functionele bouwstenen is het ontwerp van de software inzichtelijk en kan de juistheid gemakkelijker worden vastgesteld.

Formele verificatie Wiskundige modellen kunnen worden aangewend om de juistheid van functies te bewijzen.

Testen De software wordt voor ingebruikname beproefd.

Standaardisatie van interfaces en applicaties

Door hergebruik van (bewezen juiste) interfaces en applicaties wordt de kans op onvolkomenheden of onjuistheden beperkt.

Logische scheiding van applicaties

Storingen maken de software kwetsbaar voor aanvallen. Verschillende applicaties die op eenzelfde smartcard draaien, moet logisch van elkaar gescheiden worden, om te voorkomen dat er wederzijdse verstoringen kunnen optreden. De meeste smartcard operating systems passen deze scheiding toe.

Formele evaluatie door een laboratorium

Evaluatie door laboratoria biedt de mogelijkheid tot onafhankelijke en relatief betrouwbare evaluatie van smartcard hard- en software. Criteria voor evaluatie zijn onder meer vastgelegd door ITSEC, TCSEC en de Common Criteria.

Retry counters Door middel van retry counters kan het aantal malen dat de aanvaller het algoritme uitvoert beperkt worden.

Beperking en controle van output

De lengte van de invoer en uitvoer kan worden beperkt en gecontroleerd. De ruimte om te manipuleren wordt hierdoor beperkt evenals de resultaten van de manipulatie.

Tabel C-8 Maatregelen tegen softwarematige aanvallen

Page 80: Smart Cards

SMARTCARDS Versie 1.0 24 november 2010 80/74

BIJLAGE D COMMON CRITERIA

De Common Criteria (CC) zijn een set van informatiebeveiligingsstandaarden, ontwikkeld in een samenwerkingsverband van de Verenigde Staten, Groot Brittannië, Frankrijk, Duitsland, Nederland en Canada in conjunctie met ISO. De CC zijn ontstaan uit de ITSEC, CTCPEC en TCSEC. De eerste officiële versie werd in omloop gebracht in 1996. Na een eerste revisie werd een versie 2.0 uitgebracht, deze versie is ook bekend als ISO 15408. Security target, evaluation assurance level Een CC Security Target (ST) is een centraal document waarin de beveiligingscriteria voor een product of systeem zijn vastgelegd. Hierin komen aan de orde dreigingen, vooronderstellingen, beveiligingsdoelstellingen, functionele beveiligingseisen, eisen voor beveiligingswaarborgen en -principes. De eisen voor beveiligingswaarborgen zijn onderverdeeld in schalen ofwel Evaluation Assurance Levels (EAL), van 1 tot en met 7. In het kader van een CC evaluatie wordt nagegaan of een aantal beveiligingsmaatregelen, zoals vastgelegd in een EAL op betrouwbare wijze zijn geïmplementeerd in het product of systeem. De veiligheid van het product of systeem als zodanig wordt niet in beschouwing genomen. De schalen 1 tot en met 7 verwijzen naar de diepgang en strengheid van de evaluatie. EAL4: Methodisch ontwerp, test en review Dit niveau is het hoogste niveau dat geschikt wordt geacht voor commerciële systemen en producten, waaronder operating systems en consumentenproducten. Daarnaast is EAL4 ook geschikt voor de evaluatie van bestaande producten. De toegepaste methoden zijn nauwgezet maar vereisen geen bijzondere specialistische kennis. EAL5: Semiformeel ontwerp en test De methoden die op dit niveau worden toegepast vereisen een zekere specialistische kennis op het gebied van technieken voor informatiebeveiliging. De toegepaste methoden zijn vooral geschikt voor producten en systemen die speciaal met het oog op een evaluatie op dit niveau zijn ontwikkeld. De extra kosten, verbonden aan de voor dit niveau geldende eisen, zijn beperkt. Op dit niveau worden bijvoorbeeld smartcards geëvalueerd en verder ook operating systems, hard- en software voor (veilige) scheiding van netwerken en logische hardware partities.