PKI-oplossingen voor omgevingen met beperkte bandbreedte en rekencapaciteit Marjo Geers en Thijs Veugen TNO Telecom, Afdeling Informatiebeveiliging Augustus 2003
1. Introductie Elektronisch zaken doen en elektronisch communiceren krijgen een steeds belangrijkere rol in onze samenleving. Het is tegenwoordig de gewoonste zaak van de wereld om email te versturen (zowel privé als zakelijk), boeken, CD’s en software te kopen via Internet, het ingevulde belastingformulier via Internet te versturen en onze bankzaken via Internet af te handelen. Bij steeds meer bedrijven hebben de werknemers via Internet toegang tot het bedrijfsnetwerk. Ging dat vroeger via een analoge telefoonlijn (met terugbelbeveiliging), tegenwoordig wordt de ADSL aansluiting en daardoor het publieke Internet gebruikt. Ook onstaat bij steeds meer mensen de wens om via Internet zaken met hun gemeente, zoals het aanvragen van paspoorten en rijbewijzen, het doorgeven van adreswijzigingen, het aanvragen van bouwvergunningen e.d. af te kunnen handelen. Bij bedrijven zou het proces vergemakkelijken en versnellen als contracten via elektronische weg gesloten zouden kunnen worden. Dit geldt ook voor de uitwisseling van gegevens tussen bijvoorbeeld notarissen en het Kadaster en tussen zorgverleners zoals ziekenhuizen, huisartsen, apotheken en zorgverzekeraars. Bij eigenlijk al deze zaken is het belangrijk dat de elektronische communicatie betrouwbaar is. Dat wil zeggen dat de authenticiteit van de gegevens vaststaat (zowel de afzender als de inhoud), dat in een aantal gevallen (zoals bij een medisch dossier) de gegevens niet gelezen kunnen worden door onbevoegde personen en dat de communicatie voldoende beschikbaar is. Zaken als het zetten van een rechtsgeldige elektronische handtekening (waarvoor sinds enige tijd Europese en Nederlandse wetgeving bestaat) en de mogelijkheid om de onweerlegbaarheid aan te kunnen tonen zijn daarbij kernbegrippen. Om aan deze eisen te voldoen is een Public Key Infrastructure (PKI) een goede oplossing.
1.1
PKI en certificaten
Binnen een PKI bezit iedere gebruiker één of meerdere sleutelparen. Een sleutelpaar bestaat uit een publiek en een privaat deel. Het private deel is alleen bij de eigenaar van het sleutelpaar bekend1. Het publieke deel is door een onafhankelijke instantie, een Trusted Third Party (TTP), betrouwbaar gekoppeld aan de identiteit van de eigenaar. Dit gebeurt door middel van een certificaat dat door de CA (Certification Authority, het deel van de TTP verantwoordelijk voor sleutel- en certificaatbeheer) is uitgegeven en voorzien is van de digitale handtekening van de CA. Met de sleutelparen kunnen digitale handtekeningen gezet en gecontroleerd worden en berichten vercijferd en ontcijferd worden. Een voordeel van een PKI is de sterke cryptografie. Bij gebruik van een voldoende lange sleutel is het ondoenlijk om een digitale handtekening na te maken. De beveiliging is veel sterker dan indien bijvoorbeeld alleen gebruik gemaakt wordt van een password systeem. Een ander voordeel van een PKI is, dat er een onafhankelijke partij is die de identiteit van de houder van een sleutelpaar garandeert en die door beide partijen, die met elkaar in contact zijn, vertrouwd wordt. Dit is vooral belangrijk als twee partijen zaken met elkaar willen doen, die nog niet eerder contact met elkaar gehad hebben en elkaar niet persoonlijk kennen. Certificaten hebben een beperkte levensduur. De vervaldatum van het certificaat staat in het certificaat aangegeven. Daarnaast kunnen certificaten ingetrokken (herroepen) worden, bijvoorbeeld indien fraude wordt vermoed. Hiermee vervalt dan de geldigheid van de sleutels. Bij iedere transactie moet gecontroleerd worden of de sleutels nog geldig zijn. Hiervoor zijn twee gebruikelijke methoden. De eerste methode is via een Certificate Revocation List (CRL). Dit is een lijst met alle herroepen certificaten die eens in de zoveel tijd door de TTP uitgegeven wordt en zelf door de TTP ondertekend 1
Key escrow and key recovery worden hier buiten beschouwing gelaten.
is. Door middel van een CRL kan door een gebruiker gecontroleerd worden of een certificaat niet herroepen is. De andere veelgebruikte methode om de geldigheid van een certificaat te controleren is door middel van het Online Certificate Status Protocol (OCSP). Tijdens de transactie wordt bij de TTP nagevraagd wat de status van het gebruikte certificaat is. PKI wordt meer en meer gebruikt bij elektronische transacties waarbij betrouwbare communicatie belangrijk is. Er zijn zelfs overheidsplannen om iedere burger te voorzien van een set PKI sleutelparen met bijbehorende certificaten. Het private deel van de sleutel zou in dat geval opgeslagen kunnen worden op een smartcard. Dit is nodig om aan de eisen van een betrouwbare elektronische handtekening te kunnen voldoen.
1.2
Omgevingen met beperkte bandbreedte en rekencapaciteit
Gebruikers gaan er steeds meer vanuit dat ze elektronisch kunnen communiceren waar en wanneer ze maar willen. Draadloze communicatie en draagbare (mobiele) apparatuur zijn daarbij heel belangrijk. Een belangrijk voorbeeld zijn de WLAN of WiFi kaartjes die in steeds meer laptops zitten en toegang geven tot een WLAN bedrijfs- of thuisnetwerk. Ook kunnen de WLAN kaartjes gebruikt worden om toegang te krijgen tot Internet via een hotspot die zich bijvoorbeeld op een vliegveld of in een restaurant kan bevinden. Daarnaast bieden kleine apparaten zoals mobiele telefoons en PDA’s toenemende mogelijkheden om elektronisch zaken te doen. Telefoons zijn uitgerust met WAP of I-mode, of bieden via UMTS direct toegang tot Internet. Merk op dat in deze gevallen sprake is van een access point of gateway, die het koppelpunt vormt tussen het draadloze en het bedrade deel van de communicatielijn. Ook in kleinere omgevingen stijgt de hoeveelheid communicatie tussen draadloze apparatuur onderling. Hierbij valt bijvoorbeeld te denken aan het uitwisselen van visitekaartjes of agendagegevens tussen de mobiele telefoon, PDA en laptop van een gebruiker. Of aan de draadloze verbinding tussen de headset en de mobiele telefoon van een gebruiker. We spreken in dit geval van een Personal Area Network (PAN). Voor deze gegevensuitwisseling kan Bluetooth technologie gebruikt worden, omdat deze technologie goed werkt op korte afstanden en goedkoop is. Belangrijk is daarbij dat de verschillende apparaten zich kunnen authenticeren en dat, in bepaalde gevallen, de communicatie vercijferd kan worden, omdat een gebruiker niet zal willen dat zijn telefoongesprekken af te luisteren zijn of zijn agendainformatie voor anderen beschikbaar is. In al deze gevallen kan het gebruik van PKI voor het zetten van een elektronische handtekening, authenticatie en/of het uitwisselen van sleutels voor vercijfering nuttig zijn. Het gaat in deze gevallen om PKI in een in meer of mindere mate gelimiteerde omgeving, doordat de draadloze verbindingen en de kleine mobiele apparaten een aantal beperkingen hebben. Wat betreft de draadloze verbinding is er vaak sprake van: - beperktere bandbreedte; - meer latency; - minder stabiele verbinding; - minder betrouwbare beschikbaarheid. De kleine mobiele apparaten hebben: - minder krachtige CPU’s; - minder geheugen (zowel ROM als RAM); - beperktere beschikbaarheid van elektrisch vermogen; - kleinere displays; - andere (kleinere) toetsenborden. Door deze beperkingen zou het kunnen dat de standaard PKI oplossing die voor bedrade netwerken en desktop apparatuur ontwikkeld is, niet zomaar gebruikt kan worden in de draadloze mobiele wereld. Er bestaat echter een PKI oplossing speciaal voor gebruik in deze draadloze mobiele wereld, namelijk PKI over WAP [1]. Daarnaast bestaat het NOVOMODO [6] systeem dat door intelligent gebruik van hashberekeningen de benodigde bandbreedte en rekencapaciteit binnen een PKI weet te beperken. In dit artikel kijken we naar de eisen die de drie hierboven genoemde PKI stellen aan bandbreedte en apparatuur. Daarnaast vergelijken we de PKI systemen op hun beveiligingsgraad. Op basis van deze
gegevens trekken we een conclusie over de mogelijkheden de verschillende PKI systemen te gebruiken in de draadloze mobiele wereld.
1.3
Leeswijzer
Het artikel is als volgt opgebouwd. In hoofdstuk 2 geven we een korte beschrijving van de PKI systemen die we gaan vergelijken. In hoofdstuk 3 volgt dan de daadwerkelijke vergelijking van deze systemen op grond van bandbreedte en benodigde reken- en opslagcapaciteit. Eerst wordt in paragraaf 3.1 echter nader ingegaan op de verschillende handelingen die binnen een PKI plaats kunnen vinden. In paragraaf 3.2 worden dan de verschillen in bandbreedte tussen een aantal bedrade en draadloze verbindingen op een rijtje gezet, waarna de bandbreedte die de verschillende PKI oplossingen nodig hebben voor diverse handelingen ingeschat wordt. Dit stelt ons in staat een conclusie te trekken over het systeem dat op grond van de benodigde bandbreedte het meest geschikt is voor gebruik in draadloze omgevingen. In paragraaf 3.3 vergelijken we de reken- en geheugencapaciteit van verschillende draadloze mobiele apparatuur met die van bedrade desktop apparatuur. Vervolgens vergelijken we de reken- en opslagcapaciteit die de verschillende PKI oplossingen nodig hebben. Op grond van deze gegevens kunnen we een conclusie trekken over het PKI systeem dat het meest geschikt is voor gebruik op mobiele apparatuur. Hoofdstuk 4 tenslotte geeft de conclusies van het gehele artikel.
2. PKI systemen In dit hoofdstuk worden drie verschillende PKI systemen beschreven, die in het volgende hoofdstuk met elkaar worden vergeleken.
2.1
PKI over WAP
WAP staat voor Wireless Application Protocol. Deze standaard is ontwikkeld om een vorm van Internetten mogelijk te maken via mobiele telefoons, PDA’s en andere mobiele apparatuur. De eerste versie van de WAP standaarden verscheen in april 1998. Oorspronkelijk werden de WAP standaarden ontwikkeld door het Wireless Application Forum. Inmiddels is het WAP Forum opgegaan in OMA, de Open Mobile Alliance. De doelstelling van OMA is breder en behelst het bevorderen van de gehele mobiele industrie door het wegnemen van interoperabiliteitsproblemen en het bevorderen van het gebruiksgemak. WAP is in principe onafhankelijk van het transmissiemechanisme. In de praktijk wordt WAP vooral gebruikt bij GSM-verbindingen (zie Figuur 1). De meest recente geïmplementeerde versie van de standaarden is 1.2.1. Versie 2.0 is gepubliceerd, maar wordt nog niet toegepast.
Figuur 1: De communicatie infrastructuur bij WAP [3]. Voor PKI over WAP versie 2.0 bestaat een standaard, namelijk WPKI [1]. Deze standaard voorziet in het ondertekenen van berichten door de client (het mobiele apparaat) met behulp van WMLScript (signText). Daarnaast is binnen versie 1.2.1 security op de transportlaag mogelijk via Wireless Transport Layer Security (WTLS) een variant van TLS. WTLS bestaat in 3 klassen:
•
Class 1: anonieme sleuteluitwisseling voor het creëren van een vercijferd kanaal tussen gateway en client; • Class 2: de gateway verschaft een certificaat, zodat de client dit kan herleiden tot een vertrouwde entiteit; • Class 3: de client beschikt zelf ook over een sleutelpaar en certificaat, zodat de client zich kan identificeren richting andere identiteiten op het netwerk. Binnen versie 2.0 is ook TLS mogelijk om de verbinding tussen server en gateway te beveiligen. Class 3 is vergelijkbaar met het ondertekenen van berichten door de client met behulp van WMLScript. Hierbij moet de opmerking gemaakt worden dat WTLS werkt van client naar gateway en dat daarna een SSL/TLS verbinding opgezet wordt (zie Figuur 2). Hierdoor is de gateway een zwakke plek. In versie 2.0 kan wel end-to-end security gerealiseerd worden. Vanwege de beperkte opslagcapaciteit van mobiele apparatuur ontvangt de client zelf niet het volledige certificaat, maar slechts een verwijzing in de vorm van een Unified Resource Location (URL). Om de handtekening van de client te kunnen verifiëren moet de gateway of server dus eerst, op basis van de ontvangen URL, het echte gebruikerscertificaat opvragen. De client beschikt over de publieke sleutel van de CA(‘s). Deze kan (kunnen) in de personalisatiefase geladen worden. Eventueel is ook On The Air (OTA) laden van sleutels mogelijk. In dat geval moet out-of-band hash verificatie plaatsvinden of moet de sleutel van de nieuwe TTP geïntroduceerd worden door een vertrouwde CA. De client kan vervolgens het gateway of server certificaat van de partij waarmee hij communiceert controleren door gebruik te maken van de publieke sleutel van de CA. De server/gateway certificaten zijn bij voorkeur in WTLS formaat om te zorgen dat ze niet te groot zijn voor de draadloze verbinding en het mobiele apparaat. Waar de client moeilijk toe in staat is, is controleren of het certificaat niet herroepen is. Dit komt doordat ervan uitgegaan wordt dat CRL’s te groot zijn voor de client en OCSP teveel bandbreedte zou vragen. Daarom wordt gebruik gemaakt van kortlevende server/gateway certificaten die bijvoorbeeld maar 48 uur geldig zijn. Indien het mobiele apparaat beschikt over datum en tijd, kan het wel controleren of het certificaat nog niet verlopen is. En indien een certificaat herroepen moet worden, wordt na het verstrijken van de geldigheid geen nieuw certificaat meer uitgegeven. Het sleutelpaar wordt bij deze kortlevende certificaten normaal gesproken wel langer gebruikt, maar er wordt iedere keer een ander certificaat voor uitgegeven. Het gebruik maken van kortlevende server/gateway certificaten in plaats van het controleren van de status van het certificaat, brengt wel een beperkt beveiligingsrisico met zich mee. PKI over WAP is hierdoor iets minder veilig dan een standaard PKI implementatie. Een groot aantal telefoons is geschikt voor PKI over WAP. Daarnaast bestaat een aantal systemen om PKI over WAP te organiseren, waaronder: - Telepathy van Baltimore [2]; - Trustpoint van Certicom [3]; - Wireless Trust Services van Verisign [4]; - m-Register en m-Validator van Entrust [5]. Een aantal toestellen dat PKI over WAP ondersteunt, biedt de mogelijkheid om sleutels op te slaan in de WIM, de Wireless Identity Module. Dit is een smartcard waarin gegevens op zeer betrouwbare wijze opgeslagen kunnen worden. De sleutels opgeslagen in de WIM zijn bereikbaar voor WMLScript en kunnen dus gebruikt worden voor het ondertekenen van data. Het feit dat de sleutels opgeslagen zijn op een smartcard geeft in principe de mogelijkheid ze te gebruiken voor het zetten van een rechtsgeldige digitale handtekening volgens de Europese richtlijn.
Figuur 2: WTLS bij PKI over WAP, inclusief het aanvragen van het client certificaat [3].
2.2
NOVOMODO
NOVOMODO is een uitbreiding op het standaard PKI concept, dat door slim gebruik van hashberekeningen het gebruik van CRL’s of OCSP overbodig maakt. NOVOMODO is ontwikkeld door Silvio Micali van MIT. Het staat onder meer beschreven in [6]. NOVOMODO maakt gebruik van standaard certificaten, bijvoorbeeld X.509V3. Deze certificaten bevatten, naast de normale gegevens, twee hashwaarden. De hashwaarden kunnen bijvoorbeeld berekend worden met SHA-1 en zijn dan ieder 20 bytes lang. Deze hashwaarden zijn het revocation en het validity target. Voor het revocation target wordt een random gekozen (20-byte) waarde Y0 genomen en daarover wordt de hash berekend. De uitkomst van deze hashberekening wordt als het revocation target Y1 in het certificaat gezet. Y0 wordt door de CA geheim gehouden en opgeslagen. Het is ondoenlijk om een inverse hashberekening te doen en dus om uit Y1 Y0 te bepalen. Er mag dus aangenomen worden dat uitsluitend de CA over Y0 beschikt. Indien het certificaat herroepen moet worden, wordt Y0 door de CA gepubliceerd. Aangezien het uitvoeren van een hashberekening wel een eenvoudige en snelle handeling is, kan iedereen vervolgens controleren dat Y0 inderdaad het orgineel van Y1 is. Aangezien Y0 uitsluitend bij de CA bekend was en de CA blijkbaar besloten heeft Y0 te publiceren, kan de conclusie getrokken worden dat het certificaat inderdaad herroepen is. De andere hashwaarde in het certificaat, het validity target, gaat uit van hetzelfde principe. Er wordt een random gekozen (20-byte) waarde X0 genomen. Over deze waarde wordt een hashberekening uitgevoerd en over het resultaat ervan wordt weer een hashberekening gedaan. Dit wordt een aantal malen herhaald. Als het certificaat 365 dagen geldig blijft en de CA iedere dag wil laten weten dat het certificaat nog steeds geldig is, wordt 365 keer een hashberekening uitgevoerd over X0. Het resultaat van deze berekening, X365, wordt in het certificaat gezet. X0 en alle tussenliggende waarden (X1, X2, …., X364) worden door de CA geheim gehouden en opgeslagen2. De manier waarop de geldigheidscontrole van een certificaat plaatsvindt is geïllustreerd in Figuur 3. Op de eerste dag dat het 2
Eventueel kan de CA alleen X0 opslaan.
certificaat geldig is, publiceert de CA X364. Het uitvoeren van een hashberekening over X364 levert X365 op. Aangezien X364 alleen bij de CA bekend was en de CA besloten heeft deze waarde te publiceren, kan de conclusie getrokken worden dat het certificaat geldig is. De volgende dag publiceert de CA X363. Het uitvoeren van twee hashberekeningen, levert weer de in het certificaat gepubliceerde waarde X365 op. Op deze manier kan gecontroleerd worden dat het certificaat ook op de tweede dag na uitgifte geldig is. Iedere dag wordt door de CA een nieuwe X-waarde gepubliceerd, die aangeeft dat het certificaat op die dag geldig is.
Figuur 3: De geldigheid van een certificaat op dag n binnen NOVOMODO. Een voordeel van deze manier van de geldigheid van certificaten controleren is, dat het berekenen van een hash veel sneller is dan het berekenen van een digitale handtekening. Volgens [6] is het berekenen van een hash als SHA-1 wel 10.000 keer sneller. Een ander groot voordeel is, dat de door de CA gepubliceerde geldigheidsgetallen niet beveiligd hoeven te worden met de handtekening van de CA, omdat gemakkelijk nagerekend kan worden of ze correct zijn. Een gebruiker kan het nieuwe validity proof voor zijn certificaat iedere keer ontvangen. De gebruiker kan dit dan doorgeven aan iemand die de geldigheid wil controleren en dit kan vervolgens geheel offline gebeuren. Degene die het certificaat wil controleren, moet wel beschikken over de publieke sleutel van de CA en moet de handtekening over het certificaat narekenen. Anders zou iedereen zelf certificaten aan kunnen maken. De hashwaarden zijn alleen bedoeld om te controleren dat het certificaat nog geldig is en inmiddels niet herroepen. Deze manier van de geldigheid controleren biedt een aantal voordelen boven het gebruik van OCSP op het gebied van: - benodigde rekentijd; - benodigde bandbreedte; - CA efficiëntie; - beveiliging. Indien de CA gecompromitteerd wordt, kan de inbreker wel geldige certificaten intrekken, maar geen ingetrokken certificaten opnieuw geldig maken, omdat de primitieve van het revocation target, Y0, al gepubliceerd is en daardoor bekend. Een soortgelijk argument geldt overigens bij gebruik van CRL’s;
- bedrijfskosten. Indien gebruik gemaakt wordt van gedistribueerde servers voor het navragen/verspreiden van de validity en revocation proofs, hoeven deze gedistribueerde servers niet beveiligd te worden. Alleen de eigenlijke server, waar de revocation en validity proofs bewaard worden, moet goed beveiligd zijn. Dit kan een besparing in de kosten opleveren. NOVOMODO wordt toegepast in Real Time Credential Validation van Corestreet [7].
2.3
Standaard PKI
In een standaard PKI wordt meestal gebruik gemaakt van X.509V3 certificaten voor beide partijen. Deze standaard voor certificaten is het wijdst verspreid. Iedere partij controleert de geldigheid van het certificaat van de ander door middel van een CRL of OCSP. Het is gebruikelijke dat de certificaten tijdens de transactie meegestuurd worden.
3. Vergelijking In dit hoofdstuk worden de drie PKI-systemen uit het vorige hoofdstuk met elkaar vergeleken qua bandbreedte en qua benodigde processorsnelheid en hoeveelheid geheugen. Deze vergelijking vindt plaats op basis van de belangrijkste handelingen die in een PKI moeten worden uitgevoerd.
3.1
PKI-handelingen
Het is belangrijk te weten welke handelingen binnen een PKI plaats kunnen vinden. We onderscheiden in dit artikel de volgende handelingen: - het toevoegen van een vertrouwde CA sleutel; - het online aanvragen van een certificaat; - het controleren van een handtekening; - het zetten van een handtekening. Het intrekken van een certificaat door de client laten we hier buiten beschouwing. Indien hiervoor een apart sleutelpaar beschikbaar is, dat niet gecompromitteerd is, lijkt deze handeling veel op het aanvragen van een certificaat. Vaak kan echter een certificaat niet online ingetrokken worden, maar moet dit offline gedaan worden. De hierboven genoemde handelingen worden hieronder uitgewerkt vanuit het perspectief van de client. We laten hierbij meerdere CA niveaus (boomstructuur) buiten beschouwing en nemen ook aan dat de geldigheid van het CA certificaat niet gecontroleerd hoeft te worden tegen een CRL of via OCSP. Online toevoegen van vertrouwde CA sleutel 1. Client stuurt verzoek voor CA certificaat. 2. Client ontvang CA certificaat met daarin de publieke sleutel van de nieuwe CA. • Dit kan een self-signed CA certificaat zijn. In dat geval moet off channel verificatie van het certificaat (of de publieke sleutel) plaatsvinden. • Dit kan een certificaat zijn dat door een reeds door de client vertrouwde CA getekend is. 3. Client controleert handtekening van het certificaat. • Dit gebeurt voor een self-signed certificaat met de publieke sleutel uit het certificaat • Dit gebeurt voor een door een vertrouwde CA ondertekend certificaat met de reeds aanwezige publieke sleutel van de vertrouwde CA. - Client berekent hash over certificaat - Client ‘ontcijfert’ handtekening over certificaat met publieke sleutel om de ondertekende hashwaarde te krijgen. - Client vergelijkt uitkomst uit ‘ontcijfering’ met zelf berekende hash. Als deze twee waarden gelijk zijn klopt de handtekening. 4. Eventueel voert de gebruiker off-channel verificatie uit door het intoetsen van een (gedeelte van een) hashwaarde die overeen moet komen met de hash over het certificaat of de hash over de publieke sleutel.
Figuur 4: Online toevoegen van CA sleutel. Aanvragen van certificaat 1. Client stuurt certificaat aanvraag naar TTP. Deze aanvraag bevat minimaal de naam van de aanvrager en de publieke sleutel die in het certificaat opgenomen moet worden. 2. TTP (RA) controleert de identiteit van de aanvrager en vraagt eventueel bewijs dat de aanvrager in het bezit is van de bij de publieke sleutel behorende private sleutel. - TTP stuurt challenge (random getal) naar aanvrager. - Client ondertekent dit getal met private sleutel. - Client stuurt ondertekende challenge naar TTP. - TTP controleert ondertekende challenge. 3. TTP (CA) stuurt certificaat naar client In geval van PKI over WAP stuurt TTP (CA) certificaat URL naar client. 4. Client controleert CA certificaat. - Client berekent hash over certificaat - Client ‘ontcijfert’ handtekening over certificaat met publieke sleutel om de ondertekende hashwaarde te krijgen. - Client vergelijkt uitkomst uit ‘ontcijfering’ met zelf berekende hash. Als deze twee waarden gelijk zijn, klopt de handtekening.
Figuur 5: Aanvragen van certificaat Controleren van handtekening 1. Client ontvangt data met digitale handtekening en eventueel het bijbehorende certificaat 2. Indien client het certificaat nog niet ontvangen heeft, zoekt client het certificaat op in een database. 3. Client controleert door CA gezette handtekening over het certificaat - Client berekent hash over certificaat. - Client ‘ontcijfert’ handtekening over certificaat met publieke sleutel om de ondertekende hashwaarde te krijgen. - Client vergelijkt uitkomst uit ‘ontcijfering’ met zelf berekende hash. Als deze twee waarden gelijk zijn klopt de handtekening. 4. Client controleert of certificaat nog niet verlopen is 5. Client controleert of certificaat nog niet herroepen is. - Client kan status controleren door te controleren of certificaat niet voorkomt op CRL. Hiervoor moet de client beschikken over de meest recent uitgegeven CRL. De client kan de CRL na iedere update van de CRL downloaden of dit doen indien de CRL nodig is. Bij gebruik van een CRL moet de handtekening over de CRL ook gecontroleerd worden. - Client controleert status van certificaat via OCSP. Client stuurt certificaatnummer en ontvangt status van certificaat ondertekend terug. Ook in dit geval moet de handtekening over de status gecontroleerd worden. - In geval van NOVOMODO vraagt client validation en revocation target op. Deze waarden hoeven niet ondertekend te zijn. Client dient wel een hashberekening uit te voeren om het validation of revocation target te controleren. - In geval van PKI over WAP controleert de client niet of het certificaat herroepen is omdat gebruik gemaakt wordt van kortlevende server certificaten. Dit is wel minder veilig. 6. Client controleert handtekening over data - Client berekent hash over data - Client ‘ontcijfert’ handtekening’ over data met publieke sleutel uit certificaat om de ondertekende hashwaarde te krijgen. - Client vergelijkt uitkomst uit ‘ontcijfering’ met zelf berekende hash. Als deze twee waarden gelijk zijn klopt de handtekening over de data.
Figuur 6: Controleren van handtekening. Zetten van handtekening 1. Client berekent hash over data 2. Client berekent handtekening met eigen private sleutel 3. Client stuurt data en handtekening naar ontvanger, eventueel samen met certificaat of in geval van PKI over WAP certificaat URL.
Figuur 7: Zetten van digitale handtekening.
3.2
Bandbreedte
Draadloze verbindingen kunnen zich in een aantal opzichten onderscheiden van bedrade verbindingen. In de eerste plaats kan er een verschil in transmissiesnelheid (bandbreedte) zijn. Daarnaast kan er een verschil bestaan in de beschikbaarheid en stabiliteit van de verbinding. Ook kan er een verschil bestaan in de kwaliteit van de verbinding, d.w.z. in het aantal fouten dat optreedt tijdens transmissie. Wij concentreren ons in dit artikel verder op de transmissiesnelheid. Tabel 1 geeft een overzicht van de bandbreedte van een aantal gangbare bedrade en draadloze verbindingen.
Bedraad/Draadloos Bedrade verbindingen
Soort verbinding Analoge verbinding via modem ISDN ADSL
Draadloze verbindingen
GSM GPRS I-mode UMTS Bluetooth WLAN WiFi
Snelheid (Kbits/s) 56 128 512-1024 (downstream) 256-1024 (upstream) 9.6 – 14.4 115,2 (op KPN netwerk) Zie GSM of GPRS 144 (full mobility) 384 (limited mobility) 2000 (local area) [8] 723 11000 (802.11b standaard)
Tabel 1: Vergelijking van transmissiesnelheid (bandbreedte) voor een aantal gangbare bedrade en draadloze verbindingen.
50
1200
CA certificaat
- CRL - OCSP
Zetten van handtekening Up Down 276 1456
-
1456
-
Handtekening & URL (WAP) of handtekening en certificaat (NOVOMODO en wired)
Standaard:
Handtekening & certificaat + niets (WAP) of validity/revocation target (NOVOMODO) of CRL/OCSP response
1200
Certificaat nummer
50
Challenge + URL of certificaat
NOVOMODO
Handeling Aanvraag van Controle van certificaat handtekening Up Down Up Down 300 + 16 + 20 20 956 256 300 + 16 + 20 1456 + 256 1200 20 300 + 16 + 20 1456 + 256 1200 500…* 256 Aanvraag: naam & publieke sleutel + ondertekende challenge
Systeem WAP
Toevoegen van CA sleutel Up Down 50 700
Verzoek van client
De klassieke draadloze verbindingen (GSM en GPRS) hebben een lagere snelheid dan de vaste verbindingen. Bij modernere technieken zoals ADSL en UMTS wordt dit verschil echter kleiner en kan de draadloze verbinding zelfs sneller zijn.
*) De grootte van de CRL is geheel afhankelijk van het aantal herroepen certificaten. Dit is in sterke mate afhankelijke van het aantal uitgegeven certificaten. Tabel 2: Hoeveelheid data die client stuurt en ontvangt bij verschillende PKI handelingen in bytes. Up is hierbij de data die de client (het mobiele device) wegstuurt. Down is de data die de client (het mobiele device) ontvangt.
De verschillende PKI systemen sturen en ontvangen verschillende hoeveelheden data bij de handelingen die kunnen plaatsvinden. Daardoor zou het ene systeem beter kunnen werken bij geringe bandbreedte dan het andere. Wij hebben voor de onderzochte PKI systemen op een rijtje gezet hoeveel bytes verstuurd en ontvangen worden door de client (zie Tabel 2). De benodigde bandbreedte is in veel gevallen afhankelijk van de grootte van de certificaten. De grootte van de certificaten kan sterk variëren door de codering die gebruikt wordt en door de sleutellengte die gebruikt wordt. Wij gaan hier uit van een sleutellengte van 2048 bits (256 bytes) voor zowel de sleutel van client, server als CA. Verder varieert de grootte van het certificaat ook nog door de lengte van de gegevens die erin opgenomen zijn. Voor X.509V3 certificaten gaan we hier uit van een certificaatgrootte van 1200 bytes. Voor de WTLS certificaten in het WAP systeem nemen we 700 bytes [9]. Voor het certificaat serienummer nemen we een maximale lengte van 20 bytes. De hoeveelheid te ontvangen data is duidelijk het kleinst bij PKI over WAP. Bij NOVOMODO is de hoeveelheid te ontvangen data iets kleiner dan bij een standaard PKI, maar dit verschil is niet erg groot. Toch lijkt de datacommunicatie over het algemeen geen beperkingen op te leggen. Behalve bij extreem grote CRL’s worden altijd minder dan 2000 bytes verstuurd of ontvangen. Zelfs bij een GSM verbinding van 9.6 Kbits/s (ofwel 1200 bytes/s) duurt het versturen of ontvangen daardoor niet langer dan 2 seconden. Dit lijkt een acceptabele tijd te zijn bij gebruik van PKI.
3.3
Processorsnelheid en geheugen
De kleine mobiele apparatuur zoals telefoons en PDA’s heeft een aantal beperkingen ten opzichte van non-portable apparatuur. Zo heeft de mobiele apparatuur minder snelle processors, minder intern geheugen en minder opslagcapaciteit (kleinere harde schijf). Daarnaast heeft de mobiele apparatuur kleinere displays en kleinere toetsenborden wat het werken ermee lastiger maakt. Deze beperkingen gelden echter nauwelijks voor laptops. Ook kunnen de batterijen van de mobiele apparatuur leegraken. Wij richten ons hier vooral op geheugen (ROM en RAM) en op processorsnelheid. Tabel 3 geeft een overzicht van top-of-the-range apparatuur specificaties op het moment van het schrijven van dit artikel (augustus 2003). Criterium Processor snelheid (MHz) Intern geheugen (MB) ROM geheugen (MB) Afmetingen gebruikersinterface (pixels) Toetsenbord
Mobiele apparatuur Telefoon PDA 32 400 2-32 * 64 0.2 – 5 † 16 – 64 176x208 320 x480
Desktop apparatuur PC 2.660 (2,66 GHz) 256 50.000 (50 GB) 1600 x 1200
12 toetsen
Standaard keyboard
Touchscreen
*
: Dit geheugen is in gebruik door de applicatie van de mobiele telefoon en is daardoor niet (geheel) beschikbaar voor andere applicaties. † : Door gebruik van geheugenkaartjes kan dit in moderne toestellen vaak gemakkelijk uitgebreid worden tot 64 of wel 256 MB. Tabel 3: Overzicht van specificaties van top-of-the-range apparatuur De tabel maakt duidelijk dat de kleine mobiele apparatuur duidelijk minder snel is en minder geheugen heeft. De vraag is echter of de mobiele apparatuur in staat is de voor PKI benodigde berekeningen in een acceptabele tijd uit te voeren en de benodigde PKI certificaten op te slaan. De verschillende PKI systemen stellen verschillende eisen aan de apparatuur. Wij hebben geprobeerd een inschatting te maken van de eisen die de verschillende PKI systemen stellen door te kijken hoeveel RSA berekeningen (zowel zetten van handtekening als controleren van handtekening) nodig zijn tijdens een bepaalde handeling, hoeveel hash berekeningen nodig zijn en hoeveel certificaten tijdens de handeling opgeslagen worden of uit het geheugen gebruikt worden. Van deze certificaten en eventueel andere benodigde data hebben we de totale grootte bepaald. We gaan hier weer uit van de verschillende handelingen die beschreven zijn in paragraaf 3.1.
WAP Criterium # RSA berekeningen # hash (SHA-1) berekeningen # opgeslagen certificaten Totale grootte opgeslagen certificaten (bytes)
Toevoegen van CA sleutel 1 1
Handeling Aanvraag van Controle van certificaat handtekening 1 2 0 2
Zetten van handtekening 1 1
1
0
1
0
700
0
700
0
Tabel 4: Aantal RSA en hashberekeningen bij verschillende PKI over WAP handelingen. Aantal opgeslagen certificaten en grootte van opgeslagen certificaten plus andere benodigde data bij verschillende PKI over WAP handelingen. NOVOMODO Criterium # RSA berekeningen # hash (SHA-1) berekeningen # benodigde opgeslagen certificaten Totale grootte opgeslagen data (certificaten en CRL’s) (bytes)
Toevoegen van CA sleutel 1 1
Handeling Aanvraag van Controle van certificaat handtekening 2 2 1 3-367
Zetten van handtekening 1 1
1
1
1
0
1200
1200
1200 + 40
0
Tabel 5: Aantal RSA en hashberekeningen bij verschillende PKI handelingen in NOVOMODO. Aantal opgeslagen certificaten en grootte van opgeslagen certificaten plus andere benodigde data bij verschillende PKI handelingen in NOVOMODO. STANDAARD Criterium # RSA berekeningen # hash (SHA-1) berekeningen # benodigde opgeslagen certificaten Totale grootte opgeslagen certificaten (bytes)
Toevoegen van CA sleutel 1 1
Handeling Aanvraag van Controle van certificaat handtekening CRL OCSP 2 3 3 1 3 2
Zetten van handtekening 1 1
1
1
1
1
0
1200
1200
1200 + 500…
1200 + 256
0
Tabel 6: Aantal RSA en hashberekeningen bij verschillende PKI handelingen in een standaard PKI. Aantal opgeslagen certificaten en grootte van opgeslagen certificaten plus andere benodigde data bij verschillende PKI handelingen in een standaard PKI. PKI over WAP vraagt duidelijk om de minste berekeningen. Ook hoeven bij deze PKI oplossing de minste bytes opgeslagen te worden. Daarbij is het wel nodig op te merken, dat PKI over WAP iets minder veilig is dan de andere twee PKI oplossingen, doordat PKI over WAP gebruik maakt van kortlevende server certificaten in plaats van controle van de status van het certificaat. NOVOMODO vraagt iets minder reken- en opslagcapaciteit dan een standaard PKI, maar dit verschil is niet erg groot.
De tijd die nodig is voor het doen van een RSA of hashberekening is sterk afhankelijk van de apparatuur waarmee de berekening wordt uitgevoerd en van de input van de berekening. In het PKI-lab van TNO Telecom zijn metingen gedaan aan de snelheid van RSA en hashberekeningen op PKI smart cards van verschillende merken [10]. Deze smartcards beschikken over minder geheugen en een lagere kloksnelheid dan mobiele telefoons. Wel zijn deze smartcards voorzien van een cryptografische coprocessor die ze speciaal geschikt maakt voor het doen van cryptografische berekeningen. Deze metingen wijzen uit dat op deze smartcards RSA berekeningen binnen enkele milliseconden gedaan kunnen worden. Het is daarom aannemelijk dat ook voor mobiele apparatuur zoals mobiele telefoons en PDA’s, de rekentijd geen beperkingen oplegt aan het gebruik van PKI, zelfs niet als verschillende RSA berekeningen gedaan moeten worden. Daarnaast worden de RSA berekeningen uit veiligheidsoogpunt ook binnen een mobiele telefoon, PDA of computer vaak uitgevoerd op een smartcard. Op deze smartcards is dan ook de private sleutel opgeslagen. De hoeveelheid data die opgeslagen moet worden vormt geen probleem voor de PDA’s. Voor eenvoudige mobiele telefoons kan de hoeveelheid op te slagen data echter wel een probleem vormen. In dat geval is het goed gebruik te maken van een systeem dat de hoeveelheid op te slagen data zoveel mogelijk beperkt, zoals PKI over WAP en NOVOMODO. Bij PKI over WAP is de hoeveelheid op te slagen data het kleinst. Maar in dit geval wordt geen controle van de status van het certificaat gedaan Daarnaast bieden moderne mobiele telefoons wel voldoende geheugen. Aangezien de afschrijvingstermijn van een mobiele telefoon beperkt is (in de orde van een paar jaar), lijken de eenvoudige mobiele telefoons die nu nog beperkingen op zouden kunnen leveren, geen probleem te vormen voor gebruik van PKI in de nabije toekomst.
4.
Conclusie
We hebben in dit artikel drie PKI oplossingen vergeleken op hun geschiktheid voor gebruik in draadloze netwerken met mobiele apparatuur. De oplossingen die we vergeleken hebben zijn: - PKI over WAP; - NOVOMODO; - Standaard PKI. PKI over WAP is speciaal ontwikkeld voor gebruik in draadloze situaties met mobiele apparatuur. Van NOVOMODO wordt gezegd [6] dat het bijzonder geschikt is voor draadloze en mobiele situaties. We hebben deze drie PKI systemen vergeleken op benodigde bandbreedte, opslag- en rekencapaciteit. WAP vraagt minder bandbreedte dan de standaard PKI oplossing doordat gebruik wordt gemaakt van kortlevende server certificaten die niet gecontroleerd worden op geldigheid. Daardoor vraagt WAP ook minder rekencapaciteit dan standaard PKI. Ook vraagt WAP minder opslagcapaciteit, doordat de client certificaten niet op de client (de mobiele apparatuur) staan, maar in een centrale database. Nadelen van PKI over WAP zijn, dat het iets minder veilig is en dat speciale certificaten uitgegeven moeten worden. Omdat de technologie nooit echt goed aangeslagen is, is de vraag of voor deze speciale certificaten een markt bestaat. NOVOMODO is een erg elegante oplossing voor het vermijden van CRL’s en OCSP. Voor de client kan het niet hoeven gebruiken van een CRL een groot voordeel zijn in geval van een omvangrijke PKI met veel herroepen certificaten. NOVOMODO lijkt ons echter vooral de moeite waard in verband met zijn geringere eisen aan de TTP (CA). Voor omvangrijke PKI’s, kan de capaciteit van de TTP een beperking gaan vormen. NOVOMODO lijkt dit te kunnen voorkomen. Een voordeel van NOVOMODO boven WAP is dat het gebruik maakt van standaard X.509V3 certificaten, waardoor certificaat validatie ook op de standaard manier gedaan kan worden. Wel moeten aan deze certificaten voor gebruik met NOVOMODO twee extra hashwaarden zijn toegevoegd. De in dit artikel verzamelde gegevens laten zien dat bij de op dit moment veel gebruikte draadloze mobiele GSM en GPRS verbindingen de beschikbare bandbreedte kleiner is dan bij vaste verbindingen. Deze kleinere bandbreedte vormt echter geen beperking voor het gebruik van PKI in welke vorm dan ook. Alleen het downloaden van omvangrijke CRL’s kan eventueel een probleem vormen. Daarnaast is het de verwachting dat de verschillen tussen draadloze en bedrade verbindingen in de toekomst gaan verdwijnen, doordat UMTS en WLAN wel een bandbreedte hebben die vergelijkbaar of zelfs groter is dan die van een vaste ADSL verbinding.
De kleine mobiele apparaten zoals mobiele telefoons en PDA’s hebben duidelijk minder geheugen en rekencapaciteit dan PC’s. De rekencapaciteit van de mobiele apparatuur is echter voldoende voor het uitvoeren van de voor PKI benodigde berekeningen binnen een acceptabele tijd. De opslagcapaciteit van eenvoudige mobiele telefoons kan echter aan de krappe zijn voor de benodigde PKI certificaten en andere benodigde gegevens zoals een CRL. Het kan daarom verstandig zijn gebruik te maken van een PKI oplossing die de hoeveelheid data die opgeslagen dient te worden zoveel mogelijk beperkt. Dit is in sterke makte het geval bij PKI over WAP en in mindere mate bij NOVOMODO. Onze verwachting is dat in de nabije toekomst te verschillen tussen bedrade en draadloze verbindingen en tussen mobiele en desktop apparatuur grotendeels zullen verdwijnen. De opslagcapaciteit van moderne mobiele telefoons is al voldoende voor toepassing van PKI. Het is daarom onze verwachting dat in de nabije toekomst er geen beperkingen zijn om voldoende certificaten op een mobiele telefoon op te slaan voor iedere vorm van PKI. Momenteel zorgen de draadloze verbindingen en mobiele apparatuur al nauwelijks meer voor beperkingen aan het gebruik van PKI. Speciale oplossingen voor draadloze PKI lijken dan ook niet nodig. Wel valt invoering van het NOVOMODO systeem te overwegen, omdat dit voordelen oplevert voor de TTP (CA) belasting bij omvangrijke PKI’s.
Referenties [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
WPKI; WAP-217-WPKI; Version 24 April 2001. Telepathy zie http://www.baltimore.com. Trustpoint zie http://www.certicom.com. Wireless Trust Services zie http://www.verisign.com. m-Register en m-Validator zie http://www.entrust.com. Silvio Micali; Novomodo, Scalable Certificate valdiation And Simplified PKI Management; 1st Annual PKI Research Workshop – Proceedings. Real Time Credential Validation, Secure, Efficient Persmissions Management; White Paper, beschikbaar op http://www.corestreet.com/whitepapers/rtc-introduction.pdf. Drs. C. Ponsioen, UMTS Network, Architecture and Functionality, TNO Report, February 2002. WAP Certificate and CRL Profiles; WAP-211-WAPCert; Version 22 May 2001. Metingen gedaan bij TNO Telecom in het PKI testlab.