Op 29 oktober 2009 organiseert de NLUUG de conferentie Het Open Web. Transparante Zaken staat in de weken voorafgaand aan de conferentie stil bij een aantal sprekers en presentaties. In het vierde en laatste artikel is dat Henk Klöpping en zijn presentatie over de Yubikey. Want natuurlijk is het wel erg handig en leuk informatie te delen via het internet, maar wie geeft mij de garantie dat de man of vrouw aan de andere kant van de verbinding wel de juiste persoon is met wie ik dat wil doen? Oftewel, hoe zeker ben ik van de digitale identiteit van de ander? Welke rol kan de Yubikey spelen bij een veiliger open web?
Henk was zo vriendelijk mij een uitgewerkte paper te sturen over zijn bijdrage aan de NLUUG-conferentie. Ik heb de paper met veel plezier gelezen en was prettig onder de indruk van de balans tussen een door-en-door technisch onderwerp en een behandeling daarvoor die voor techneuten én gebruikers interessant is.
Wat is de Yubikey?
Regelmatig zien we berichten voorbij komen over de keerzijde van het gebruik van het internet. Bedrijven en overheden moeten dan met het schaamrood op de kaken toegeven dat onze gegevens zijn verdwenen of -nog iets beroerder- wellicht in handen zijn gekomen van derden, al dan niet met kwade bedoelingen. Een harde schijf of USB stick is ontvreemd of de veiligheid van een website is een stuk slechter dan de bedoeling was. De meesten van ons hebben ongetwijfeld meerdere e-mailberichten ontvangen van onze bank of een andere instelling waarin we vriendelijk doch dringend werden verzocht onze persoonlijke gegevens en inloggegevens opnieuw in te voeren in een speciaal daartoe opgezette website. Phishing is slechts één van de moderne plagen, maar wel een die de aandacht vestigt op een belangrijk vraagstuk bij de uitwisseling van gegevens en informatie via het internet. Hoe kan ik mij overtuigen van de identiteit van de andere partij in de transactie?
Wil je toegang hebben (of verschaffen) tot vertrouwelijke data dan heb je een vorm van gebruikersidentificatie en -authenticatie nodig. In de fysieke wereld kom je uit bij de identificatieplicht en erkende identiteitsbewijzen zoals het rijbewijs en het paspoort. De identiteitsbewijzen worden uitgegeven door de overheid en deze borgt daarmee de identiteit van de drager. Hoe zit dat in de digitale wereld?
Ook daar heb je certificerende autoriteiten, zoals CAcert. Gebruikers kunnen zichzelf laten registreren en hun identiteit laten verifiëren bij zogenaamde ‘CAcert assurers’. Na het waarmerken kan een certificaat worden aangemaakt en kan de gebruiker met dat certificaat inloggen. Handig voor de gebruiker want wachtwoorden zijn overbodig, de verbindingen lopen per definitie via een versleutelde verbinding, de webapplicatie kan het certificaat verifiëren en aldus de werkelijke identiteit van de gebruiker vaststellen. Dat lijkt ideaal, maar blijkt in de praktijk toch niet goed te werken. Henk noemt vijf redenen:
- Veel webprogrammeurs blijken niet te weten hoe ze met een cliënt certificaat moeten omgaan;
- Sommige browsers, bijvoorbeeld op sommige (niet gekraakte) smartphones, kunnen niet met cliënt certificaten overweg;
- Het komt voor dat het CAcert ‘root’ certificaat niet met de browser is meegeleverd en door de gebruiker ingeladen moet worden. Als die tenminste over de juiste privileges beschikt;
- Het inlezen van cliënt certificaten is lastig op plekken buitenshuis, denk maar aan de werkplek op kantoor, het internetcafé of even bij een vriend thuis;
- De versleutelde verbinding is niet altijd op te zetten, bijvoorbeeld bij gebruik achter een firewall.
En dan hebben we het al over de meer digitaal bewuste gebruikers. Voor veel gebruikers is een gebruikersnaam en wachtwoord al lastig genoeg. De Yubikey is, in de woorden van Henk, een compromis tussen paranoia en pragmatisme. Het is een USB sleutel waarmee een gebruikers geauthenticeerd kan worden.

De voordelen zijn eenvoudig te beschrijven: de sleutel is eenvoudig in gebruik, niet duur ($ 31,25 inclusief BTW tot 10 stuks, $ 25 tot 100 stuks en $ 18,75 tot 500 stuks) en wasmachinebestendig. Andere voordelen zijn de bescherming tegen herhaalde aanvallen, het gegeven dat er geen dure software voor nodig is, geen specifieke drivers geïnstalleerd hoeven te worden en het werkt onder andere onder Windows, Linux en Mac OSX. En, niet onbelangrijk binnen het kader van het Open Web, het bedrijf Yubico onderschrijft het belang van open standaarden en open source software. Daardoor zijn meerdere open source implementaties beschikbaar, kun je de Yubikey naar eigen inzichten programmeren en een eigen authenticatieserver draaien. Dat laatste is niet onbelangrijk. De Yubikey kan gebruikt worden in combinatie met de authenticatieserver van Yubico, maar ja, hoe betrouwbaar vind je die?
Handig, maar wel je verstand blijven gebruiken
Henk is enthousiast over de Yubikey (voor alle duidelijkheid, hij werkt niet bij Yubico) maar dat maakt hem niet blind voor de nadelen die aan de USB sleutel zijn verbonden. Zo is de Yubikey nog steeds kwetsbaar voor een zogenaamde ‘man-in-the-middle‘ aanval, wat Henk ook zal bespreken. De sleutel kan door de gebruiker worden geprogrammeerd, maar ook door elk proces dat op de computer toegang heeft tot de sleutel. De aanwezige beveiliging hiertegen, een wachtwoord, staat standaard uit. Dat is ook ‘handig’ als je de Yubikey kwijt raakt.
Een mogelijke oplossing is de koppeling van de Yubikey aan een certificaat. Maar ja, daar waren juist de praktische problemen mee. Henk heeft een voorstel bij Yubico neergelegd om daar de registratie van de identiteit neer te leggen. De authenticatieserver geeft dan zowel een akkoord voor de sleutel als voor de identiteit van de drager van de sleutel.
Of je doet het gewoon zelf
Bij een NLUUG conferentie mogen we wat pittige en praktische techniek verwachten. In zijn presentatie behandelt Henk een aantal implementatievoorbeelden. Zoals het contact opnemen met de authenticatieserver, het maken en herkennen van cliënt certificaten en het binden van de Yubikey aan een certifcaat.
In zijn paper beschrijft Henk een praktisch probleem: zijn Google G1 gaf geen ondersteuning voor cliënt side certificaten en er was geen Yubikey voor beschikbaar. Voor de meesten van ons vervelend, voor hemzelf een uitdaging. Door het gebruik van open standaarden en open source software was het voor hem mogelijk een software token te ontwerpen, de Yubidrone. Dit is een softwarematige versie van de USB sleutel. Het siert Yubico dat zij de vragen van Henk helder hebben beantwoord en dat de software tokens geregistreerd mogen worden bij Yubico. Want door de softwarematige sleutel wordt toch een deel van de markt voor de USB sleutels weggehaald.
Ter afronding
Zoals al eerder geschreven, ik heb de paper met veel plezier gelezen. Het onderwerp is enerzijds door en door technisch, en ik ben ervan overtuigd dat de handjes van meerdere techneuten gaan jeuken aan het eind van de presentatie. Het knappe van Henk is dat hij een voor eindgebruikers herkenbaar instappunt kiest en ons vervolgens meeneemt in de materie. Het Open Web kan niet zonder goede veiligheid en een van de zwakkere schakels is de eindgebruiker. Met de ‘The Shameless Plug’ krijgt een gebruiker niet alleen een USB sleuteltje in de hand gedrukt met opmerking: “Vanaf nu moet je dit gebruiken”, maar krijgt deze ook in relatief korte tijd voldoende achtergrondinformatie om de vraag: “Waarom moet ik dit gebruiken?” zelf te beantwoorden.
Rest mij om eenieder veel plezier te wensen op 29 oktober aanstaande.
One Response to “Op weg naar NLUUG – Het Open Web (4)”
Sorry, the comment form is closed at this time.

[...] 2011 Ik ben nog nooit naar een NLUUG-conferentie geweest. In 2009 heb ik wel over de conferentie geschreven, maar dat is toch iets anders dan er echt naartoe gaan. Dit jaar komt het er (eindelijk) een keer [...]