One-time password

One-time password (OTP)

Identity en access management (IAM) draait om het beheren en beveiligen van alle aspecten van de digitale gebruikerstoegang. Een belangrijk beveiligingsconcept is het zogenoemde one-time password (OTP). Wat is dit precies? Hoe werkt het in de praktijk? En wat zijn de voordelen van een one-time password? Lees verder voor de antwoorden.

Wat is een one-time password?

Een one-time password, OTP of eenmalig wachtwoord is een beveiligingscode voor één enkele login. Het neemt de vorm aan van een automatisch gegenereerde numerieke of alfanumerieke tekenreeks die een gebruiker authenticeert voor een enkele transactie of inlogsessie. Een OTP is dus niet herbruikbaar: het is een eenmalige authenticatie voor het benaderen van een dienst of applicatie.

Er zijn verschillende type one-time passwords waarvan de onderstaande het vaakst voorkomen:

  • HOTP (HMAC-based One-Time Password): is een algoritme voor het genereren van eenmalige wachtwoorden (OTP’s). Het is gebaseerd op het HMAC-algoritme (Hash-based Message Authentication Code). Deze OTP’s zijn event-based wat betekent dat ze worden gegenereerd op basis van een teller die elke keer dat de OTP wordt gebruikt wordt verhoogd. De teller wordt meestal opgeslagen op het apparaat van de gebruiker. De OTP wordt gegenereerd met behulp van een cryptografische hashfunctie dat de tellerwaarde combineert met een geheime sleutel.
  • Time-based One Time Passwords (TOTP): TOTP’s lijken op HOTP’s. Maar waar HOTP’s veranderen door de teller worden deze OTP’s gegenereerd op basis van de huidige tijd. TOTP’s zijn meestal geldig voor een korte periode, zoals 30 of 60 seconden. Als je de eenmalige code niet binnen die periode hebt gebruikt, is het niet langer geldig en moet je een nieuwe OTP aanvragen.
  • OATH Challenge-Response Algorithm (OCRA): deze OTP’s worden gegenereerd als reactie op een uitdaging die wordt afgegeven door het systeem waartoe de gebruiker toegang probeert te krijgen. De uitdaging bestaat meestal uit een willekeurig nummer of een reeks tekens. Dit type OTP is net als een TOTP vaak tijdgebonden.

Hoe werkt het?

Je gebruikt een one-time password als je (meestal bij een transactie) extra beveiliging of een alternatieve methode wilt inschakelen om de identiteit van een klant of gebruiker te bevestigen. Denk bijvoorbeeld aan een klant die een wachtwoordherinnering nodig heeft of aan een bank die een actie buiten het gebruikelijke patroon waarneemt.

Het eenmalige wachtwoord is een semi-willekeurig, niet vooraf te voorspellen code in de vorm van een getal of een tekenreeks. Daarnaast zijn OTP’s meestal maar eenmalig en een paar minuten bruikbaar, wat de kans op misbruik verkleint. De populairste, vaakst gebruikte manier om one-time passwords te verzenden is via mobiele berichten zoals een sms-bericht of mobiele authenticator apps op de smartphone van de gebruiker of klant.

Waarom een one-time password gebruiken?

Er zijn verschillende redenen waarom het een goed idee is om gebruik te maken van een one-time password. We zetten de belangrijkste voordelen op een rij.

Bewezen en bekende technologie

Eenmalige codes zijn voor diverse toepassingen een beproefde technologie en standaard beveiligingsmethode. Veel gebruikers zijn er dan ook bekend mee, waardoor een OTP-oplossing makkelijk te implementeren is. Daarnaast is de technologie gestandaardiseerd door Initiative for Open Authentication (OATH). Daardoor zijn er vele verschillende authenticatieapparaten en -applicaties beschikbaar en kunnen deze ook voor verschillende systemen tegelijkertijd gebruikt worden. Dit voorkomt dat er voor elke identity provider losse hardware of smartphoneapps benodigd zijn.

Geschikt voor veel verschillende toepassinge

One-time passwords zijn geschikt voor een uitgebreide waaier aan verschillende toepassingen. Als consument zie je ze vooral vaak in de financiële sector. Maar OTP’s zijn ook steeds vaker te vinden op allerlei andere websites en diverse soorten apps.

Voorbeelden van veelvoorkomende OTP-toepassingen zijn:

  • Het activeren van betaalkaarten.
  • Het opmerken van transacties buiten ‘gebruikelijke patronen’. Denk bijvoorbeeld aan software voor fraudeherkenning waarbij een OTP kan bevestigen dat de persoon die de transactie uitvoert daadwerkelijk de geautoriseerde is.
  • Het resetten van een wachtwoord als een gebruiker dit vergeten is of vermoedt dat zijn of haar account gecompromitteerd is.
  • Het verkrijgen van toegang tot overheidsdiensten.
  • Het herkennen van apparaten. Zo kun je bepalen of een apparaat legitiem is en toegang dient te krijgen tot een netwerk.
  • Het beperken van de toegang tot bedrijfskritische of privacygevoelige gegevens. Denk bijvoorbeeld aan medische data.

De belangrijkste overeenkomst tussen al deze toepassingen: het zijn allemaal plekken waar het nodig is om de identiteit of toegangsrechten van een gebruiker te verifiëren.

OTP zorgt voor veiligheid

OTP’s staan garant voor een hoog veiligheidsniveau. In combinatie met een persoonlijk apparaat en eventueel nog een of twee andere factoren voldoen ze aan standaarden voor sterke inlogbeveiliging zoals tweefactor- en multifactorauthenticatie.

De code die bij een OTP op de telefoon van een klant binnenkomt, komt niet uit een bestaande lijst en blijft evenmin voor langere tijd bewaard. Het genereren gebeurt op dezelfde manier als het maken van de cryptografische sleutels die bankrekeningen beschermen. Die onvoorspelbaarheid zorgt ervoor dat er geen sprake is van een vast patroon dat een hacker kan herkennen en uitbuiten.

Daarnaast zijn one-time passwords vaak maar voor een beperkte tijd te gebruiken (enkele minuten tot een half uur) en alleen geschikt voor eenmalig gebruik. Dit eenmalige karakter geldt zelfs binnen de beschikbare tijdsperiode. Zijn OTP’s eenmaal verlopen? Dan zijn ze volkomen nutteloos en heeft ook een hacker of cybercrimineel er dus niets meer aan.