Logo Logo
GitHub Designed by Logto

Wat is authenticatie (Authentication)?

TL;DR: Authenticatie (Authentication) beantwoordt de vraag “Welke identiteit bezit je?”

Hier zijn enkele typische voorbeelden van authenticatie (authentication):

We hebben de uitdrukking “Wie ben je?” niet gebruikt omdat:

  • In de wereld van Identiteit en toegangsbeheer (Identity and access management, IAM) gaat authenticatie (authentication) over het verifiëren van het eigendom van een identiteit, niet over het identificeren van de persoon of entiteit. Bijvoorbeeld, wanneer een van je familieleden je inloggegevens gebruikt om in te loggen op je account, zijn zij niet jij, maar de identiteit voor het systeem is hetzelfde.
  • De identiteit kan een gebruiker, een dienst of een apparaat zijn. Bijvoorbeeld, een dienst kan zichzelf authenticeren naar een andere dienst met behulp van API-keys.

Verschil tussen authenticatie en autorisatie

Deze twee termen worden vaak verward, maar ze zijn fundamenteel verschillend: Autorisatie (Authorization) beantwoordt de vraag “Wat kun je doen?”. Bovendien is authenticatie (authentication) een vereiste voor autorisatie omdat het systeem de identiteit moet kennen voordat het kan beslissen welke acties het kan uitvoeren.

Authenticatiefactoren

Authenticatie (Authentication) kan worden uitgevoerd met één of meer factoren. Hier zijn enkele veelvoorkomende factoren:

  • Kennisfactor: Iets dat je weet (bijv., wachtwoord, PIN)
  • Bezitsfactor: Iets dat je hebt (bijv., smartphone, beveiligingstoken)
  • Eigenschapsfactor: Iets dat je bent (bijv., vingerafdruk, gezichtsherkenning)

Multifactor authenticatie (Multi-factor authentication, MFA) is een veelgebruikte praktijk waarmee meerdere factoren worden gecombineerd om de beveiliging te verhogen. Bijvoorbeeld, wanneer je inlogt op je bankrekening, moet je mogelijk een wachtwoord (kennisfactor) en een eenmalige code van een authenticator-app (bezitsfactor) opgeven.

Toegangssleutel (Passkey) is een moderne authenticatiefactor die meerdere factoren kan combineren en resistent is tegen phishing-aanvallen.

Authenticatieraamwerken (protocollen)

In plaats van een zelfgemaakt authenticatiesysteem te bouwen, is het aan te raden gevestigde raamwerken en protocollen te gebruiken, omdat ze zijn beproefd en door beveiligingsexperts zijn beoordeeld. Er zijn verschillende authenticatieraamwerken en protocollen die definiëren hoe authenticatie (authentication) moet worden uitgevoerd. Twee veelvoorkomende zijn:

De keuze van het raamwerk hangt af van je gebruikssituatie en vereisten. Voor nieuwe applicaties wordt OIDC aanbevolen vanwege het moderne ontwerp en de ondersteuning voor JSON Web Token (JWT) .

Echter, directe omgang met deze protocollen kan nog steeds complex en tijdrovend zijn. Beide protocollen hebben een steile leercurve en vereisen zorgvuldige implementatie om de veiligheid te waarborgen. In plaats daarvan kan het gebruik van een Identiteitsprovider (Identity provider, IdP) die deze protocollen ondersteunt of erop is gebouwd het authenticatieproces aanzienlijk vereenvoudigen. Een goede identity provider zal ook extra functies bieden zoals Multifactor authenticatie (Multi-factor authentication, MFA) en Single sign-on (SSO) voor je toekomstige behoeften.

Zie ook