Authenticatie versus authorisatie

Informatiesystemen, en vooral dan die systemen die via het internet toegankelijk zijn, vereisen een sluitende identificatie van de gebruiker evenals tot wat deze gebruiker toegang heeft.

In de oudheid (althans naar informatica termen), waren informaticasystemen vaak monolitisch van aard. Dit betekent dat een oplossing of een dienst bestond uit slechts één applicatie. Bijvoorbeeld was de gebruikersinterface, de business en functionele logica en de gegevensbron allemaal vervat in één applicatie.

Een dergelijke architectuur laat partiële upgrades, bijwerkingen en bugfixes niet toe zonder het hele systeem offline te nemen.

Vandaag wordt er nog maar zelden gewerkt met monolitische systemen.

De meeste systemen en software applicaties die via het internet toegankelijk zijn, maar dit geldt ook bijvoorbeeld bij systemen die enkel via het interne netwerk van een organisatie toegankelijk zijn, zijn opgebouwd uit verschillende systemen, die samen de diensten aanbieden van een software applicatie. Bijvoorbeeld kan de login een aparte software applicatie zijn, de grafische interface voor de eindgebruiker kan een aparte applicatie zijn, de business en functionele logica kunnen aparte applicaties zijn, en de data bron kan ook een aparte applicatie zijn die ieder op hun eigen fysieke of virtuele servers draaien.

Bovendien kunnen sommige en/of alle van deze individuele applicaties nog fysiek opgedeeld zijn en op aparte entiteiten draaien, zoals dit het geval is bij een micro-service architectuur.

De veelheid van applicaties om een dienst te kunnen leveren aan de eindgebruiker noodzaakt dat een eindgebruiker correct en sluitend wordt geïdentificeerd en dat bovendien aan die gebruiker per sub-applicatie of sub-systeem ook de juiste toegangsrechten wordt toegekend.

Dit moet gebeuren via een sluitend authenticatie en authorisatie systeem.

Beide begrippen en de systemen daarvoor mogen echter niet met elkaar worden verward.

Authenticatie

Authenticatie is de benaming die gebruikt wordt om de identiteit van een gebruiker te controleren, en indien na controle de gebruiker inderdaad blijkt te zijn die hij of zij beweert te zijn, dan wordt hem of haar toegang verschaft tot het achterliggende systeem of systemen.

Dit betekent dat voordat toegangcredentials worden toegekend de gebruiker sluitend moet worden geïdentificeerd, bijvoorbeeld aan de hand van zijn of haar eID.

Bijvoorbeeld in Public Key Infrastructure (PKI) is dit net de kerntaak van een registratie authoriteit (RA).

Haar taak is immers om de identiteit van de aanvrager vast te stellen, hetgeen doorgaans gebeurt aan de hand van de eID, of indien het een rechtspersoon betreft aan de hand van de statuten of een uitreksel van wettelijke vertegenwoordiging uit het Belgisch staatsblad.

Indien de identiteit niet sluitend wordt vastgesteld, bijvoorbeeld omdat men slechts gebruik maakt van verklaringen van de gebruiker dan riskeert men achteraf identiteitsdiefstal of ongeoorloofde toegang(en).

Een protocol dat doorgaans wordt gebruikt voor authenticatie is SAML (Security Assertion Markup Language).

Dit protocol laat Single Sign-on (SSO) toe, zodat een gebruiker door zich eenmaal te identificeren toegang kan krijgen tot verschillen diensten en applicaties.

Authorisatie

Authorisatie daarentegen, dat niet mag worden verward authenticatie, is de gebruikelijke benaming om een applicatie of een machine toegang te geven tot een andere applicatie of machine namens een gebruiker.

Situaties waar authorisatie, en dan “fine grain” authorisatie, een rol speelt is het toegang verschaffen tot API’s en applicaties van derden.

Hierbij kunnen we bijvoorbeeld denken aan het gebruik van de credentials van Google of Facebook om toegang te krijgen tot bijvoorbeeld de webapplicatie eBay.

Een protocol dat bijvoorbeeld gebruikt wordt voor “fine grain” authorisatie is OAuth.

Met een OAuth token kan de scope worden gedefinieerd, zodat een gebruiker bijvoorbeeld slechts toegang heeft tot welbepaalde API’s en niet tot de volledige set van API’s.

Samengevat

Authenticatie is niet hetzelfde als authorisatie.

Zoals hierboven reeds uiteengezet is het enorm belangrijk dat de authenticatie correct gebeurt, en niet gebaseerd is op een zwakke identificatie.

Bij voorkeur gebeurt authenticatie op basis van meerdere elementen (multi-factor authenticatie), dus enerzijds iets dat de gebruiker in zijn bezit heeft en anderzijds iets dat (hopelijk) enkel de gebruiker weet.

Is de authenticatie gebaseerd op een zwakke identificatie, bijvoorbeeld omdat het louter gebaseerd is op een gebruikersnaame en wachtwoord combinatie, dan riskeert men dat onbevoegden toegang zullen hebben tot verschillende achterliggende systemen en gegevensbronnen; waardoor inbreuken op de GDPR en datalekken kunnen ontstaan.

Bloep, 5 september 2025.