Wat is token-gebaseerde authenticatie?
Wat vind je hier?
Hoewel wachtwoorden de meest voorkomende vorm van authenticatie zijn, zijn ze niet de enige optie en niet altijd de beste keuze. Bijvoorbeeld, wachtwoorden vereisen dat iemand een uniek, sterk wachtwoord voor elk account heeft.
Token-gebaseerde authenticatie codeert authenticatiegegevens binnen een token. Dit token kan naar andere applicaties worden gestuurd, die de opgeslagen authenticatiegegevens lezen en gebruiken om te bepalen of een gebruiker bevoegd is om toegang te krijgen tot een systeem.
Hoe token-gebaseerde authenticatie werkt
Token-gebaseerde authenticatiesystemen splitsen het identiteits- en toegangsbeheer (IAM) proces in twee stappen die door verschillende systemen worden uitgevoerd. Authenticatie wordt uitgevoerd door een authenticatieserver, terwijl autorisatie wordt beheerd door elke individuele applicatie of systeem. Deze systemen kunnen zich binnen dezelfde organisatie bevinden of over verschillende organisaties verdeeld zijn als het autorisatiesysteem is geconfigureerd om het authenticatie van de identiteit van de gebruiker door het andere systeem te vertrouwen. Inloggen op websites via een social media-account is een voorbeeld van cross-organizational authenticatie die met tokens wordt uitgevoerd.
In de eerste stap bewijst de gebruiker zijn identiteit aan de authenticatieserver via een wachtwoord of andere middelen. Dit is het enige systeem dat het wachtwoord van de gebruiker ontvangt, wat verschillende beveiligings- en gebruiksvriendelijkheidsvoordelen biedt. Na het authenticeren van de gebruiker genereert de authenticatieserver een token met informatie over zijn identiteit. Dit token wordt vervolgens opgenomen in een verzoek aan een applicatie die de gebruiker wil openen.
Bij ontvangst van dit token en het valideren van de inhoud kan de applicatie er zeker van zijn dat de gebruiker is wie hij beweert te zijn. Op basis van deze informatie kan het bepalen of de gebruiker bevoegd is om dat verzoek te doen en toegang tot de bron te verlenen of te weigeren.
Enkele veelvoorkomende gebruiksscenario’s voor tokens zijn:
- App-naar-App Authenticatie: Wachtwoorden zijn voornamelijk ontworpen voor mensen om zich bij een applicatie te authenticeren. Apps die met elkaar communiceren, gebruiken meestal tokens of andere middelen van authenticatie in plaats daarvan.
- Single Sign-On Token-gebaseerde authenticatie is de ruggengraat van SSO, waarmee gebruikers zich eenmaal kunnen authentiseren om toegang te krijgen tot veel apps. In dit geval wordt de token van de authenticatieserver vertrouwd door elke app die SSO gebruikt.
- Token Verloop: Wachtwoorden hebben lange levensduur, wat ze kwetsbaarder maakt voor aanvallen met wachtwoordgissingen en de impact van gecompromitteerde inloggegevens verlengt. Tokens hebben ingebouwde vervaldatums, waardoor het risico wordt beperkt als ze worden gestolen.
Wat zijn JSON Web Tokens (JWT) en hoe werken ze?
De meeste token-gebaseerde authenticatieschema’s worden geïmplementeerd met behulp van JSON Web Tokens (JWT’s). Deze tokens bevatten drie primaire velden:
- Header: Bevat metadata zoals het type token en het gebruikte versleutelingsalgoritme.
- Payload: Bevat authenticatie-informatie die wordt gebruikt voor autorisatie.
- Handtekening Bewijst cryptografisch de authenticiteit van de payloadgegevens.
Na verificatie van de identiteit van een gebruiker genereert een authenticatieserver een JWT die de gegevens van de gebruiker en een vervaldatum van de token in de payload bevat. De applicatie die deze gegevens ontvangt, zal de handtekening verifiëren, controleren of de token niet is verlopen en vervolgens de informatie die deze bevat gebruiken om het verzoek te autoriseren.
Let op dat hoewel JWT’s enkele van de meest voorkomende tokens in gebruik zijn, ze niet de enige zijn. Bijvoorbeeld, de Security Assertion Markup Language (SAML) is een andere veelgebruikte standaard om SSO voor bedrijfsapplicaties te implementeren.
De Verschillende Soorten Token-gebaseerde Authenticatie
Een JWT biedt een vaste indeling voor authenticatiegegevens, maar het is slechts een gegevensindeling. Applicaties hebben een gemeenschappelijk protocol nodig om te begrijpen hoe ze deze tokens moeten maken, verzenden en gebruiken. De twee meest voorkomende token-gebaseerde algoritmen zijn OAuth2.0 en OpenID Connect (OIDC).
OAuth 2.0
OAuth2.0 is een autorisatieprotocol dat afhankelijk is van token-gebaseerde authenticatie om autorisatie mogelijk te maken zonder gebruikersreferenties te delen. Het doel is dat een gebruiker een applicatie (“Consument”) autoriseert om een actie uit te voeren op een andere (“Service Provider”) zonder de gebruikersreferenties voor de “Service Provider” aan de “Consument” te verstrekken.
Om dit te doen, zal de Consument de gebruiker omleiden naar de Service Provider, waar zij zich authentiseren met hun normale wachtwoord voor die service. De Service Provider verifieert vervolgens dat de gebruiker het verzoek van de Consument goedkeurt. Als dat het geval is, wordt er een toegangstoken gegenereerd dat de Consument kan gebruiken om toegang te krijgen tot het account van de gebruiker bij de Service Provider. Dit autoriseert het verzoek zonder het wachtwoord van de gebruiker voor de Service Provider te onthullen.
OpenID Connect (OIDC)
OpenID Connect (OIDC) is een authenticatie- en autorisatieprotocol dat bovenop OAuth 2.0 is gebouwd. Het voegt een identiteitslaag toe om gebruikers te authentiseren, die identiteitsinformatie opslaat in JWT’s en de authenticatiemogelijkheden biedt die OAuth 2.0 mist.
De primaire gebruiksdoelstelling voor OIDC is het implementeren van SSO, waardoor toegang tot meerdere applicaties mogelijk is met één authenticatieverzoek. Het protocol omvat een set standaardclaims om consistente uitwisselingen van gebruikersidentiteit en profielgegevens tussen applicaties mogelijk te maken.
De Voordelen van Token-gebaseerde Authenticatie
Token-gebaseerde authenticatie maakt het mogelijk om authenticatie-informatie veilig te communiceren tussen applicaties, waardoor de noodzaak voor een app om zijn eigen gebruikersauthenticatie uit te voeren, wordt geëlimineerd. Dit biedt tal van voordelen voor gebruikers en de organisatie.
Verbeterde Gebruikerservaring
Token-gebaseerde authenticatieschema’s zijn de basis voor SSO, waardoor een gebruiker zich één keer kan authentiseren en toegang kan krijgen tot veel apps. Het verwijderen van de noodzaak om meerdere wachtwoorden te onthouden en in te voeren, verbetert de operationele efficiëntie en de gebruikerservaring.
Verbeterde Beveiliging
Token-gebaseerde authenticatie verbetert de beveiliging door de noodzaak te elimineren voor elke applicatie om gebruikerswachtwoorden te accepteren en te beheren. Vaak hebben gebruikers zwakke of hergebruikte wachtwoorden, en deze wachtwoorden verlopen nooit. Door het gebruik van tokens hoeft een applicatie geen gevoelige authenticatie-informatie op te slaan. Bovendien verlopen tokens automatisch, waardoor de tijd wordt verkort waarin een aanvaller gecompromitteerde inloggegevens kan misbruiken.
Grotere schaalbaarheid en efficiëntie
Tokens elimineren de noodzaak voor servers om informatie over de bestaande sessie van een gebruiker op te slaan. Dit stelt een server in staat om meer gebruikers te ondersteunen, aangezien ze minder server-side middelen verbruiken.
Granulaire toegangsbeheer
JWT’s en andere tokens kunnen een scala aan identiteitsgegevens bevatten, naast een eenvoudige gebruikersnaam. Bovendien kunnen applicaties autorisatie afstemmen op een specifiek scenario, waardoor ze beter het principe van de minste privileges (POLP) en andere zero trust-principes kunnen handhaven. Deze combinatie stelt token-gebaseerde authenticatieschema’s in staat om zeer granulaire toegangsbeheerbeleid te implementeren.
VEELGESTELDE VRAGEN
Wat is het verschil tussen OAuth 2.0 en token-gebaseerde authenticatie?
OAuth 2.0 is een voorbeeld van een specifiek protocol dat toegangstokens gebruikt om gebruikersautorisatie te implementeren. Token-gebaseerde authenticatie is algemener en dekt elk schema dat tokens gebruikt voor gebruikersauthenticatie.
Hoe verschilt wachtwoord-gebaseerde authenticatie van token-gebaseerde authenticatie?
Een applicatie die wachtwoord-gebaseerde authenticatie gebruikt, slaat gebruikersreferentiegegevens op en vraagt een gebruiker om zich te authentiseren door hun wachtwoord voor die applicatie op te geven. Bij token-gebaseerde authenticatie accepteert een authenticatieserver een wachtwoord of andere referentie en genereert een token dat de identiteit van de gebruiker bevestigt en naar de applicatie wordt gestuurd die ze willen openen.
Wat zijn de nadelen van token-gebaseerde authenticatie?
Token-gebaseerde authenticatie biedt over het algemeen sterkere beveiliging dan wachtwoord-gebaseerde authenticatie, maar het brengt wel risico’s met zich mee. Bijvoorbeeld, een gestolen token kan worden gebruikt om zich als een legitieme gebruiker te authentiseren, of de privésleutel die wordt gebruikt om tokens digitaal te ondertekenen, kan worden gestolen en gebruikt om valse toegangstokens te vervalsen.
Beheer token-gebaseerde authenticatie met Cato’s SASE-oplossing
Token-gebaseerde authenticatie ontkoppelt authenticatie en autorisatie door een authenticatieserver de identiteit van een gebruiker te laten verifiëren en vervolgens een token dat hun identiteit bevestigt naar een applicatie te sturen. Deze aanpak heeft verschillende voordelen en vormt de basis voor SSO-protocollen.
Token-gebaseerde authenticatie is ook centraal in veel moderne identiteits- en toegangsbeheersystemen (IAM), zoals de Zero Trust Network Access (ZTNA) mogelijkheden van Cato SASE Cloud en de Cato Management Application (CMA).
Om meer te leren over het implementeren van zero trust-beveiliging voor uw organisatie met Cato, meld u aan voor een gratis demo.
This page was machine-translated. If you notice any inaccuracies or have feedback, please feel free to send it to us here.