Door Skizmo: Twee-factor authenticatie laat gebruikers met iets inloggen dat ze weten, bijvoorbeeld hun wachtwoord, en iets dat ze hebben, meestal een one-time wachtwoord die per SMS wordt verstuurd, of een token.
Leven ze daar nog in de jaren 50 ofzo ? Tuurlijk is dat niet genoeg... maar kijk eens naar andere landen en hoe die het doen (hint : persoonlijke calculator enzo).
Zo'n persoonlijke calculator is iets wat je hebt. De pincode van dat ding is iets wat je weet. Dat zijn gewoon twee factoren, hoor. Het grote voordeel van die calculator is dat hij niet gekoppeld is aan je computer en er niet door besmet kan raken. Bij grotere bedragen is het totaalbedrag een van de challenges die je op moet geven. Ik heb bij mijn bank nog niet meegemaakt dat de tegenrekening als challenge ingetoetst moet worden, dus een man-in-the-middle-aanval kan nog steeds ergens tussen komen.
Helaas denkt men vaak "hoe meer factoren, des te veiliger", maar als je systeem besmet is met man-in-the-middle-malware, dan worden alle factoren gewoon gekopieerd. Wat je nodig hebt is meerdere kanalen om tegen de klant te zeggen: dit bedrag maakt u over naar die en die. Dat kan via sms, of via de e.Dentifier2 van ABN als je de kabel hebt aangesloten.
Bij het ondertekenen van een transactie heb je het inmiddels niet meer over authenticatie maar over onweerlegbaarheid, maar dat verandert je punt niet.
Mijn favoriete fantasie op dit gebied is een apparaat dat je op de pc aansluit met een USB-kabel. De transactiedata, met minimaal de bedragen en tegenrekeningnummers, worden naar dat apparaat gestuurd en daar op een display getoond. Op het apparaat zelf toets je een pincode in om te ondertekenen met de privesleutel, gebruikmakend van sterke encryptie. Het sleutelpaar is op het apparaat gegenereerd en de privesleutel verlaat het apparaat nooit. Het ding is natuurlijk gecertificeerd tamperproof. De USB-aansluiting is alleen beschikbaar voor gegevensuitwisseling (via een open protocol als het even kan, we willen onder Linux/*BSD/whatever kunnen ondertekenen), en niet voor gevaarlijke dingen als firmware upgrades (mogelijk wel als die actie met allerlei cryptografische waarborgen is omgeven, maar ik zou het liever fysiek gescheiden houden). De ondertekende transactie gaat terug naar de pc, naar de bank, en wordt daar gecontroleerd: de handtekening met de publieke sleutel en natuurlijk is de inhoud van het bericht bepalend voor wat er wordt overgeboekt. De pc mag zo lek als een mandje zijn, je weet nog steeds zeker welke gegevens zijn ondertekend en de klant heeft gezien wat hij ondertekent. Fysiek moet het ding wat groter zijn dan de nu gangbare tokens, je hebt een groter display en een numeriek toetsenbordje nodig. Formaat zakrekenmachientje moet volstaan.