Wat is op token gebaseerde authenticatie?
- IAM-woordenlijst
- Wat is op token gebaseerde authenticatie?
Op token gebaseerde authenticatie is een beveiligingsprotocol dat de identiteit van een gebruiker verifieert doordat er versleutelde tokens worden gebruikt. Met op tokens gebaseerde authenticatie verifiëren gebruikers zichzelf met een geldig token om toegang te krijgen tot servers, applicaties, websites of een API (Application Programming Interface). Op token gebaseerde authenticatie is een veelgebruikt protocol van twee-factor-authenticatie (2FA) of multi-factor-authenticatie (MFA), dat naast de traditionele gebruikersnaam en het wachtwoord nog een beveiligingslaag toevoegt.
Wat is een token?
Een token is de sleutel die gebruikers tijdens het aanmeldingsproces verifieert. Tokens kunnen digitaal zijn of een fysiek apparaat, zoals een smartcard of USB-sleutel. Web-tokens, die digitaal zijn en op het apparaat van de gebruiker worden opgeslagen, hebben bij organisaties de voorkeur vanwege hun gemak en flexibiliteit. Web-tokens elimineren de noodzaak voor individuen om fysieke tokens te dragen en kunnen eenvoudig worden geïntegreerd in verschillende softwaresystemen, wat een naadloze authenticatie-ervaring biedt.
Zo werkt op token gebaseerde authenticatie
Laten we eens kijken naar de vier essentiële stappen van op token gebaseerde authenticatie.
Eerste verzoek: Een gebruiker vraagt om toegang tot een specifieke applicatie door de gebruikersnaam en het wachtwoord in te voeren.
Gebruikersverificatie: De aanmeldingsgegevens worden naar het authenticatiesysteem gestuurd om te zien of de aanmeldingsgegevens van de gebruiker juist zijn. Na bevestiging worden de specifieke machtigingen van de gebruiker in het systeem gecontroleerd.
Token-validatie: Het systeem genereert een web-token en geeft deze aan de gebruiker, die dit token binnen een beperkte periode kan gebruiken.
Token-opslag: Het token wordt op het apparaat van de gebruiker opgeslagen totdat de gebruiker zich afmeldt, de sessie sluit of de token verloopt.
Soorten tokens voor authenticatie
Digitale tokens zijn er in verschillende soorten. Elke soort speelt een cruciale rol bij het waarborgen van een veilig en passend authenticatieproces. Laten we vijf veelvoorkomende soorten digitale tokens en hun specifieke rollen in authenticatie verkennen.
JSON-web-token (JWT)
JSON-web-token is een open standaard (RFC 7519) die wordt gebruikt om veilig informatie uit te wisselen tussen twee entiteiten - een server en een client. JWT's dragen informatie over de identiteit van een gebruiker en worden digitaal ondertekend om te bevestigen dat de ingebedde gegevens legitiem zijn. Een JSON-web-token bestaat uit drie gedeelten: de header, de payload en de digitale handtekening.
Header: De header bevat informatie over de JWT. Het biedt het token-type en het algoritme dat wordt gebruikt om het token te ondertekenen.
Payload: De payload bevat de claims van de gebruiker. Claims zijn stukjes identificerende informatie over een specifieke entiteit, meestal van een gebruiker. Payloads kunnen aanvullende informatie bevatten, zoals de vervaldatum van het token en de machtigingen van de gebruiker.
Digitale handtekening: De digitale handtekening is een cryptografische sleutel die verifieert dat de header en de payload juist zijn (en niet tijdens de overdracht zijn gewijzigd) en de identiteit van de gebruiker certificeert.
Toegangstokens
Toegangstokens zijn het meest voorkomende type JSON-web-tokens. Deze tokens zijn bedoeld om gebruikerstoegang tot een specifieke service te autoriseren. Nadat een gebruiker zich succesvol heeft aangemeld, wordt aan de gebruiker een toegangstoken met een vervaldatum verleend. Met het toegangstoken krijgen gebruikers gedurende een beperkte tijd toegang tot hun aangewezen bronnen en services.
ID-tokens
Anders dan toegangstokens worden ID-tokens niet hoofdzakelijk gebruikt om toegang te verlenen tot netwerkbronnen en applicaties. In plaats daarvan zijn ID-tokens JSON-web-tokens met informatie over de gebruiker, zoals een unieke identificatie, naam en e-mailadres, samen met hun authenticatiestatus. ID-tokens worden aan client-applicaties verstrekt om de identiteit van de gebruiker te verifiëren.
Vernieuwingstokens
Vernieuwenstokens zijn specifieke soorten JSON-web-tokens die worden gebruikt om extra toegangstokens te verkrijgen zonder dat de gebruiker zijn aanmeldingsgegevens opnieuw hoeft in te voeren. Hun doel is om de levensduur van een toegangstoken voor gebruikers te verlengen via de automatische verlenging.
API-tokens
Een API-token is een reeks codes die overeenkomt met de gebruiker die authenticatie bij een API aanvraagt. Het verifieert de identiteit van de gebruiker en verleent toegang tot API-eindpunten, waardoor geautoriseerde gebruikers veilig met de API-bronnen kunnen communiceren.
Voordelen van het gebruik van op token gebaseerde authenticatie
Hier zijn drie voordelen van het gebruik van op token gebaseerde authenticatie.
Beveiliging: Omdat tokens zijn ontworpen voor een korte levensduur, wordt de periode waarin onbevoegde toegang mogelijk is, geminimaliseerd. Zodra een gebruiker zijn sessie met de applicatie beëindigt, verloopt het uitgegeven token. Dit beperkt de tijd die aanvallers hebben om het token te onderscheppen en een account te compromitteren.
Flexibiliteit: Op token gebaseerde authenticatie kan worden gebruikt op meerdere platforms, zoals web-applicaties, mobiele apps en API's. Dit creëert een eenvoudige authenticatie-ervaring terwijl ook de toegankelijkheid voor gebruikers wordt verbeterd.
Schaalbaarheid: Omdat tokens op het apparaat van de gebruiker moeten worden opgeslagen, hoeven servers de sessie van de gebruiker niet in de applicatie te behouden. Dit stelt servers in staat om efficiënt meerdere verzoeken te beheren terwijl tokens worden gegenereerd indien nodig.
Nadelen van het gebruik van op token gebaseerde authenticatie
Hier zijn drie nadelen van het gebruik van op token gebaseerde authenticatie.
Risico voor gecompromitteerde sleutel: Een veelvoorkomende bedreiging die samengaat met op token gebaseerde authenticatie is het mogelijke compromitteren van token-sleutels. Cyber-aanvallen zoals phishing, malware, brute force of Man-in-the-Middle (MITM)-aanvallen kunnen zich op deze sleutels richten. De meeste web-token-systemen vertrouwen op één sleutel, dus als een cybercrimineel de sleutel compromitteert, wordt het hele systeem kwetsbaar.
Korte levensduur: Vanwege de korte levensduur van tokens is het belangrijk om te weten dat tokens consistent beheer vereisen. Dit houdt in dat tokens vervaldata hebben en hun aanmeldingsgegevens indien nodig moeten worden verlengd.
Token-grootte: Tokens kunnen groot zijn, vooral als ze een aanzienlijke hoeveelheid gebruikersinformatie of metadata bevatten. Vanwege de complexiteit en grootte van een token kan het de netwerk-overhead verhogen in omgevingen met beperkte internet-bandbreedte.