Via Internet was onlangs te vernemen dat een magnetron en een PC volstaan om een elektronische portemonee te openen. Wellicht een wat al te simplistische voorstelling van zaken. Maar hoe veilig zijn smartcards eigenlijk? Kan een specialist ze kraken? Consultant Th. van Sprundel doet een boekje open over de beveiligingsmechanismen.
Elektronische portemonnee te openen met een magnetron en een PC." Deze hypothetische aanval is ondermeer op Internet gepubliceerd. Volgens ingenieurs van Bellcore zou men aldus de geheime sleutels kunnen ontdekken die informatie op smartcards beschermen. Door straling in wanorde gebracht, zou de chip op de kaart na het plegen van herhaalde ingrepen een mathematisch analyseerbaar patroon prijsgeven, waaruit de vercijferingssleutels zijn af te leiden.
Dreigt hier een reëel veiligheidsrisico? Bull, in Nederland leverancier van de chipknip, reageert in een persbericht nogal laconiek: "Wij werken al twintig jaar met smartcards, en hebben ons al jaren verdiept in alle mogelijke aanvallen. In de kaart zijn talrijke beveiligingsmechanismen ingebouwd. Op dit moment is er in de praktijk geen enkele aanval gerealiseerd, zoals beschreven door Bellcore. Het is zelfs niet bewezen dat de aanval daadwerkelijk kan worden uitgevoerd. Vooralsnog achten we geen nieuwe voorzieningen nodig".
Is er dan niets aan de hand? Nee, dat niet. De ‘kort-door-de-bocht’ conclusie dat smartcards niet veilig zijn, is niet houdbaar – terwijl tegelijkertijd miljoenen van dergelijke kaartjes worden gedistribueerd voor contant geld van consumenten – zonder een gefundeerd oordeel over aard en omvang van de risico’s.
Om over beveiliging te kunnen meedenken is het belangrijk iets te weten over de positionering en de karakteristieken van smartcards.
Positionering en karakteristieken
De smartcard onderscheidt zich van andere kaarten doordat de chip processor-capaciteit heeft, waarmee hij niet alleen kan lezen, schrijven en opslaan maar ook zelf kan rekenen en adresseren. De ‘gewone’ plastic kaart kan hoogstens een vast kenmerk afgeven, zoals een barcode. De magneetstripkaart kan de informatie op de strip aanpassen, maar doet dat in de praktijk zelden. De kans op verminking is te groot en de kaart is heel gemakkelijk met eigen middelen te frauderen. Beveiliging, zoals bij het ‘pinnen’, is daarom gebaseerd op een hoogwaardig gecontroleerde online-omgeving. Geheugen-kaarten (zoals de telefoonkaart) worden meestal en massa voor één speciale functie gemaakt.
Een bijzondere categorie chipkaarten vormt de smartcard. De chip kent uiteenlopende geheugens en directories die al dan niet wijzigbaar zijn, en beschikt over actieve mechanismen om de verschillende fysieke en functionele bedreigingen het hoofd te bieden. We onderscheiden procedures van samenspel tussen interne en externe beveiligingsmechanismen; versleuteling door uiteenlopende algoritmen, en de interne mechanismen van de kaart.
De risico’s van smartcards zijn anders dan bij andere kaarten.
Beschermende maatregelen liggen bij de smartcards voor een groot deel bij de leverancier van de technologie.
De chipkaart is alleen gestandaardiseerd voor wat betreft de algemene eigenschappen volgens Iso-7816. Het betreft ondermeer de plaats, de structuur en de functie van het contactvlakje dat over de chip wordt aangebracht. Op Europees niveau worden de toepassingen gestandaardiseerd. De banken baseren zich op EN 1546. Op deze open standaard is de chipknip (en de overeenkomstige systemen in andere landen) gebaseerd. De PTT’s baseren zich op EN 726. Op deze norm is de (gesloten) etsi-standaard (European Telecommunication Standards Institute) gebaseerd, volgens welke tevens de Nederlandse ‘chipper’ is gebouwd.
De smartcard-chip heeft in het algemeen de volgende componenten: een processor unit (al dan niet met co-processor), een geheugen – onderverdeeld in ram, rom en nvm (non volatile memory), en een interface-module naar buitenwereld.
Binnen deze architectuur worden de onderdelen vormgegeven die het oneigenlijke gebruik van de ‘configuratie’ tegengaan. Deze onderdelen zijn niet officieel gestandaardiseerd, en verschillen per leverancier, zelfs wanneer ze gebruik maken van dezelfde, op de wereldmarkt ingekochte chip.
Het besturingssysteem voor de smartcard dat wereldwijd het meest wordt toegepast (65 procent) is Spom van Bull. Diverse Europese en Amerikaans leveranciers hebben zich hieraan geconformeerd. Spom moet zorgen voor de nodige beveiliging. Bestanden zijn hiërarchisch opgebouwd: meesterbestanden, toepassingsgerichte bestanden en ‘sub-toepassingsgerichte’ bestanden. Ieder bestand op de kaart bestaat altijd uit een header met file control-informatie, en een body. De toepassingsgerichte bestanden kunnen diverse typen ‘elementaire bestanden’ bevatten, ieder met zijn specifieke mogelijkheden en beperkingen die voor de beveiliging van belang zijn. Elk bestand kan slechts op een zodanige manier benaderd worden dat de nodige beveiligingsinformatie (sleutels en dergelijke) onderweg wordt opgehaald. Sommige bestanden zijn volledig afgesloten, andere zijn alleen onder bepaalde condities en met bepaalde sleutels te openen.
Bescherming smartcard
Algemene maatregelen dekken het grootste deel van de operationele risico’s af. De uitgever van de kaart is de verantwoordelijke partij jegens de kaarthouder of consument. Deze spreekt hem aan voor het treffen van de nodige "maatregelen die ervoor zorgen dat (im)materiële schade als gevolg van een incident of calamiteit tot een aanvaardbaar minimum beperkt blijft" (citaat van ing. L. Snel, Datelgroep BV, tijdens het nationaal chipkaartcongres te Amsterdam, oktober 1996). Bedreiging kan gevormd worden door mensen (fouten of kwade bedoelingen), de omgeving (voorzieningen raken in het ongerede; een kabel gaat kapot), natuur (schade aan systemen door bliksem, water of storm) en de techniek (minder volmaakt dan gewenst). De schade kan betrekking hebben op informatie, bezittingen, mensen en reputatie van bedrijven of van mensen. De maatregelen van de kaartuitgever betreffen preventie en repressie, (vroegtijdige) signalering, detectie (nader onderzoeken in geval van twijfel) en correctie.
De toepassing van beveiligingsmaatregelen verschilt per fase van de levenscyclus van de smartcard. Niet alleen het ontwerp, maar ook de uitvoering van de fabricage en de personalisatie is in hoge mate bepalend, evenals de manier waarop de kaarttoepassingen (zoals betalen, zegeltjes sparen enzovoort) gerealiseerd worden, de manier waarop het gebruik door de consument wordt gereguleerd, en de afwikkeling van de uit omloop genomen of te nemen kaarten.
De doelen die met alle beveiliging worden gediend zijn:
– beschikbaarheid en continuïteit van de toepassingen;
– integriteit van de opgeslagen en overgedragen gegevens (volledig, juist, tijdig);
– waarborgen van de vertrouwelijkheid van gegevens (privacy), en
– controleerbaarheid.
De beveiligingsmaatregelen omvatten de gebieden identificatie, authenticatie (bijvoorbeeld: horen kaart en feitelijke kaarthouder wel bij elkaar?), integriteit, versleuteling, redundantie (extra gegevens ten behoeve van controle) en juridische zekerheid.
Versleuteling
De volgende categorie maatregelen is gericht op IT’ers, die zoveel van de techniek weten dat ze in staat zijn de informatie van de smartcard leesbaar te maken. Het betreft versleuteling. Dit houdt in dat gegevens worden omgevormd in onherkenbare tekens volgens een bepaalde ‘sleutel’, waarvan de identificatie slechts bekend is aan de personen die het recht hebben op toegang. De kwaliteit van de encryptie wordt niet alleen bepaald door het algoritme van de versleuteling, maar ook door het sleutelbeheer. De sleutels zijn veelal op meerdere plaatsen nodig. Daarom wordt vaak een stelsel ontworpen met een hiërarchie van sleutels, waarbij de ‘hogere’ sleutel de ‘lagere’ kan ontcijferen. Hoe hoger de sleutel, des te verder gaat de beveiliging. De ‘meeestersleutel’ wordt nooit via een netwerk verspreid. Bij de fabricage van de veiligste smartcards wordt een meestersleutel gehanteerd die in zijn totaliteit aan niemand bekend is: een deel wordt beheerd door de fabrikant en een deel door de opdrachtgever. Refereren naar deze meestersleutel is, direct of indirect, altijd nodig voor ieder beschermd veld in de kaart. Organisatorische maatregelen en in acht te nemen procedures houden dit stelsel in stand. Volledig beschermde kaarten zijn achteraf niet meer flexibel aan te passen aan nieuwe wensen, omdat ieder veld vooraf onder het regime van sleutels is gebracht.
De versleuteling-methode werkt zelf ook met sleutels. Sommige systemen werken met coderingen, die als het ware via een sleutel en een ‘woordenboek’ zijn te interpreteren. De meest toegepaste vorm is echter het manipuleren van alle tekens zowel bij het vastleggen als bij het lezen ervan, volgens een ‘algoritme’ en één of meerdere ‘sleutels’. De ene groep vercijferde gegevens vormt soms de sleutel tot de volgende groep gegevens. Het achterhalen van de meest voorkomende tekens of waarschijnlijkheidstabellen van lettercombinaties van de versleutelde tekst leidt niet tot ontcijfering.
De kennis van het ‘breken’ van de ontcijfering wordt meer en meer geformaliseerd. Nieuwe technieken, die niet van exacte getallen maar van benaderingen uitgaan (fuzzy logic), worden toegepast om stap voor stap tot ontrafeling te komen van de versleuteling. In het genoemde hypothetische Bellcore-onderzoek is bijvoorbeeld sprake van differential fault analysis (dfa).
De versleuteling-methoden worden onderscheiden in geheime of publieke. De laatste zijn uiteraard niet geheim, maar de kwaliteit ervan is veelal hoger dan afzonderlijke instellingen kunnen realiseren. Het meest bekende publieke versleuteling-algoritme is Des (data encryption system), dat aanvankelijk (reeds vijftig jaar geleden!) slechts voor het Amerikaanse leger beschikbaar was. Het gebruik van Des en de verhandeling van computerkaarten met Des is aan regels gebonden. De verschillende (vooral Amerikaanse) overheden zien hierop actief toe. Een moderner algoritme is Rsa, dat deels met publieke en deels met geheime versleuteling werkt. In de Nederlandse chipknip wordt ‘Triple-Des’ toegepast, waarmee de kracht van het algoritme wordt opgevoerd van 56 naar 168 bits.
Naast veiligheid en beschikbaarheid geldt steeds vaker het criterium dat de versleuteling operationeel razendsnel moet verlopen. Hoewel Des (naast Idea, RC4 en MD5), wordt toegepast op Internet, is Rsa vanwege zijn snelheid opgenomen als onderdeel van het sleutelbeheersysteem PGP (‘Pretty good privacy’) van Internet.
De toepassing van versleuteling valt uiteen in symmetrische en asymmetrische versleuteling. De authenticatie wordt veelal als symmetrisch proces uitgevoerd. Om het bij elkaar passen van verzender en ontvanger te verifiëren, wordt een willekeurig getal door de verzender met zijn sleutel vercijferd. De ontvanger ontcijfert het getal met dezelfde sleutel. Is het resulterende getal gelijk aan het oorspronkelijke, dan wordt de authenticatie bevestigd. Bij asymmetrische versleuteling worden twee verschillende sleutels gebruikt, bijvoorbeeld een publieke, die verspreid wordt, en een geheime.
Vaak worden in een ogenschijnlijk eenvoudig proces opeenvolgende sleutels gebruikt. Zo kent het betalen met de smartcard de processen: initialiseren, melden, authenticeren, verifiëren authenticeren, debiteren, calculatieproef, verificatieproef, crediteren, certificeren en verifiëren van de certificatie. Toegepaste sleutels zijn: personalisatiesleutel, Pin, diversified loading key, master payment key, diversified payment keys, diversified updating key, diversified certification key, diversified unlocking key, en de diversified issuer key.
Versleuteling breken
Voor het breken van een sterk versleuteling-algoritme moet aan een drie voorwaarden zijn voldaan.
Allereerst dient men te beschikken over kennis van ontcijferingsalgoritmen en van het te ontcijferen algoritme in het bijzonder.
Tegen het verspreiden van kennis is in onze tijd niets te ondernemen. Boverslekverbrandingen of het effectueren van een index van ongewenste publikaties zijn in een wereld met Internet niet van deze tijd en ook niet te realiseren.
Een tweede eis is de mogelijkheid om ‘klare tekst’ in te brengen en om te zetten in ‘versleutelde data’ in grote aantallen, of om voldoende versleutelde tekst te vergelijken met de bijbehorende ‘klare’ tekst. Beide soorten teksten moeten beschikbaar zijn, of worden opgebouwd door een groot aantal partiële gegevens die kunnen worden vergeleken.
De maatregelen om het uitlekken van ‘klare’ gegevens tegen te gaan vallen voor een deel onder de ‘dagelijkse bescherming’. Het overige deel wordt verderop in dit artikel behandeld.
Als laatste voorwaarde voor het breken van de versleuteling noemen we hier systemen om analyses uit te voeren van de resultaten.
De voornaamste beschermingsfactor vormt de tijd die computers nodig hebben om de analyses uit te voeren. Het sleutelbeheer wordt afgestemd op de tijd die een krachtig systeem nodig heeft om de ontcijfering uit te voeren. Met het toenemen van de computercapaciteit wordt het Des-algoritme voor veel toepassingen niet meer als adequaat beschouwd, en vervangen door Triple-Des. De inzet van brute rekenkracht om sleutels te breken maakt geleidelijk plaats voor methoden die gebaseerd zijn op kunstmatige intelligentie, om de benodigde ontdekkingstijd te bekorten. Hierin stuurt de software zichzelf in een oplossingsrichting aan de hand van de resultaten van stapsgewijs uitgevoerde proeven. Deze methoden zijn zo ver ontwikkeld dat aanzienlijk minder tijd nodig is om sleutels te breken.
In de eerdergenoemde Internet-discussie wordt de hypothese gehanteerd dat voldoende gegevens beschikbaar kunnen komen door het toepassen van straling (de magnetron), hoogwaardige analysetechnieken of fuzzy logic. Berekening leert dat een krachtige PC met een dergelijke methode toch nog zo’n vier maanden nodig heeft om Triple-Des te breken. Deze tijd kan wellicht worden verkort door paralellisering of door het gebruik van krachtige grote systemen.
Wanneer het algoritme is gebroken, kan slechts één kaart gelezen worden. Iedere kaart is immers uniek, en de unieke kenmerken van de kaart vormen een onderdeel van de toegepaste sleutels.
Veiligheidsmodule
Het is duidelijk dat de beschermingsketen ook gericht moet zijn tegen het ongewenst naar buiten brengen van gegevens van de kaart zelf, tegen specialisten die in principe in staat zijn de versleuteling te breken.
De hierna besproken maatregelen betreffen het besturingssysteem Spom. Het basisgegeven hierbij is dat de chip van de smartcard niet copieerbaar is, omdat iedere chip bij de fabricage een uniek nummer heeft meegekregen dat niet wijzigbaar is. Dit nummer vormt altijd een onderdeel van de versleutelingcode. Voorts geldt dat iedere chip binnen het plastic van de kaart is ingebouwd in een ‘kooi’, die de chip vrijwaart van straling (tamper proof). Om dit te omzeilen moet de aanvaller kleine gaatjes maken in het fysieke omhulsel om de straling in te voeren. Dit risico wordt tegengegaan door gerichte detectie. Soms is deze fysieke beveiliging zo gemaakt dat iedere fysieke manipulatie van de ‘kooi’ al onmiddellijk leidt tot het ‘opblazen’ (scrambling) van de chipinformatie. We spreken dan van hardened modules. Dit wordt overigens niet toegepast bij de chipknip.
De aanvaller heeft in principe twee wegen om te frauderen:
– het toegangsmechanisme tot de kaart (tegen te gaan door de acces security);
– het direct ontlenen van informatie aan de chip (tegen te gaan door de chip security).
Buiten de scope van dit artikel valt de bescherming van het verwerkingsproces na de strikte smartcard-transactie. Het is duidelijk dat de transactie en de gegevens op de kaart, die beide tot een bepaald niveau beveiligd zijn, ook in de afwikkeling tot hetzelfde niveau beschermd moeten worden. Anders wordt de veiligheidsgarantie aan de kaarthouder alsnog teniet gedaan.
De toegang tot de smartcard gaat uit van het principe van wederzijdse challenging, waarbij het besproken sleutelprincipe wordt toegepast. De kaart controleert altijd of de terminal bij de smartcard behoort, en de terminal controleert of hij de aangeboden kaart wel verwerken kan.
Voor kaarten die een grote waarde vertegenwoordigen, zoals elektronische portemonnees, wordt in de terminal waar de kaart wordt ingebracht (bijvoorbeeld de betaalautomaat) een specifieke veiligheidsmodule (security access module, sam) toegepast, die de veilige toegang en afwikkeling van de transactie regelt. Deze module bestaat uit eenzelfde type chip als verwerkt is in de smartcard zelf. De sam-module dwingt het correct functioneren van de verschillende technische kaartfaciliteiten af, zoals:
– de toegangsregels (toegang, specificatie commandoregels, bescherming en controle van identiek zijn van mutaties op kaart en terminal);
– beveiligingsprocedures (authenticatie, veilig schrijven, veilig wissen);
– ‘in-validatie’ (‘opblazen’ van informatie);
– cryptografische faciliteiten (certificatie van transacties, tijdelijke sleutels, MAC-generatie (message authentication code) en verificatie, versleuteling-algoritmen;
– toegangscontrole en toegangsbescherming communicatie-interface.
De kaartfuncties die onder een sam-module functioneren, zijn alleen te activeren door een terminal met de bijbehorende sam.
Maatregelen fabrikant
De microprocessor van de Spom-smartcard controleert alle lees- en schrijfacties. Deze zijn altijd ‘sleutelbeveiligd’: zonder sleutel kan zelfs geen gegeven van de kaart gelezen worden. Het circuit van de kaart werkt niet op lagere klokfrequenties en valt uit wanneer niet de normale commando’s worden ontvangen. De kaart wordt op slot gezet, of blaast alle informatie van de kaart op wanneer er proeven met de kaart worden genomen.
Niet iedere fabrikant gaat even ver in het toepassen van maatregelen. We noemen er een aantal.
– Het onmogelijk maken van het gebruik van testmode in de gebruiksfase van de kaart. Na de test die tijdens de produktie plaatsvindt, worden elementen in de chip aangebracht die de teruggang tot de testfaciliteiten verhinderen. De betreffende elektronische circuits zijn onbruikbaar gemaakt.
– Het verhinderen van actief opgespoorde operaties die buiten de specificatie vallen.
– Het opsporen van vreemde pogingen om het geheugen te benaderen of te wijzigen.
– Het verhinderen van frauduleuze raadplegingen doordat de kaart zichzelf in het meest rigoureuze geval opblaast.
De veiligheidsvoorzieningen van de kaart bewaken voltage, klokfrequenties en dergelijke op continue basis. In de kaart van Bull zijn die niet alleen gericht op aanvallen via de terminal, maar ook op bestraling. Daarbij gaat de overtreder ervan uit dat de sensoren zelf stralingsgevoelig zijn, en van buitenaf te beïnvloeden zijn. Hierop berust het zogenaamde magnetronverhaal.
Op willekeurige plaatsen zijn echter zogenaamde witness characters aangebracht. Indien de kaart met een bepaalde straling wordt benaderd, zullen ook de ‘witness characters’ geraakt worden. Deze worden continu door het besturingssysteem bewaakt. Als een dergelijk karakter wordt gewijzigd of geraakt door straling zal het besturingssyteem onmiddellijk tegenmaatregelen nemen. De chip houdt zich ‘dood’ en reageert niet meer, of vervormt spontaan alle informatie die erop staat. In het op Internet gepubliceerde magnetron-verhaal zijn minstens enige honderden scores nodig waarbij een bekend gegeven wordt vergeleken met de versleutelde informatie als basis voor de versleuteling-analyse die hiervoor is besproken.
Kaarten die zijn uitgerust met ‘witness characters’ verhinderen dat voldoende gegevens worden verkregen voor een dergelijke analyse.
Beoordeling veiligheid
De smartcard is een technisch hoogwaardige voorziening, met eigen geheugen- en processorcapaciteit, die geschikt is om massaal te worden toegepast. Hij bevat persoonlijke gegevens, en zal veelvuldig voor allerlei transacties worden gebruikt. Beoordeling van de veiligheid is toegespitst op drie te onderscheiden lagen.
Allereerst de bescherming tegen bewuste of onbewuste bedreigingen in het dagelijks gebruik. De consument mag aannemen dat gerenommeerde professionele instellingen die kaarten uitgeven over zoveel ervaring beschikken dat hieraan op adequate wijze invulling gegeven wordt. Niettemin vormt de pincode geen sterke basis voor authenticatie, en zal de veelheid aan pincodes de kwaliteit van het veilig beheer door de consument niet bevorderen. Voor technisch betere authenticaties zoals elektronische handtekening of biometrie is blijkbaar nog onvoldoende draagvlak.
Bescherming tegen het ongeautoriseerd zichtbaar maken en veranderen van kaartinformatie door informatietechnologen of -technologie, geschiedt voornamelijk via versleuteling. Het beoordelen van de risico’s vraagt om een continue evaluatie van de effectiviteit van de verschillende systemen. Veiligheid, gebaseerd op vercijfering, vraagt een dynamische benadering. Wat met de kennis en de middelen van vandaag nog voldoende is afgedekt, kan over enkele jaren te kraken zijn.
Bescherming tegen het breken van de versleuteling door specialisten is zeer afhankelijk van de controlemaatregelen die de verschillende smartcard-leveranciers binnen het besturingssysteem hebben getroffen. Tot nu toe is niets bekend over geslaagde aanvallen tegen de sterkste kaarten die in de markt zijn. De uitgever van de kaart moet alert zijn op de keuze van de fabrikant, en hierop aangesproken kunnen worden.
Het zal duidelijk zijn dat het beoordelen van de veiligheid van smartcards een gespecialiseerde activiteit is, die zich niet alleen richt op organisatie rond de smartcard en de versleuteling van de gegevens, maar ook op beschermingssystemen in de kaart zelf.
Drs. Th.J.H. van Sprundel is senior consultant bij Bull Benelux NV te Amsterdam.
Literatuur
The TB-IC card operating system, Users guide, CP8 Transac, Paris, juli 1995. (niet publiek)
Bull CP8 IEP-CC cards, User guide, CP8 Transac, Paris december 1994 (niet publiek)
Perspectives on security in the information age, Internet, http://www.cspp.org/reports
Snel, L.: Beveiliging gezien vanuit de kaartuitgever, Euroforum Smartcard introductie, 9 oktober 1996, RAI Congrescentrum te Amsterdam,
Sprundel, T,J,H van: Informatiebronnen voor het management, Stenfert Kroese, (pag. 209-213: data encryption), Leiden, 1982