}

Wat is SAML?

De basisprincipes van Security Assertion Markup Language

Wat is SAML en hoe werkt het?

SAML staat voor Security Assertion Markup Language en is een van de meest gebruikte standaarden voor het uitwisselen van authenticatiegegevens. SAML maakt veilige Single Sign-On mogelijk. Gebruikers hoeven zich eenmalig te authentiseren waarna zij niet meer opnieuw hoeven aan te loggen.

Dit is mogelijk omdat de applicaties, ‘serviceproviders’, alle systemen vertrouwen die de identiteit van gebruikers verifiëren, ‘identiteitsproviders’.

SAML is een van de basis standaarden voor veel Federated Identity Management (FIM) oplossingen. Federated Identity Management (FIM) is een concept waarbij een authenticatieoplossing organisatie overschrijdend kan worden gebruikt. Andere FIM-standaarden zijn OpenID en OAuth. Al deze oplossingen hebben twee gemeenschappelijke doelen:

  1. Een aangename gebruikerservaring aanbieden: snel en eenvoudig toegang krijgen tot applicaties met één set logingegevens.
  2. Verbeteren van de veiligheid: geen losse opslag van inloggegevens in separate databases.

Waarom SAML?

SAML en alle andere FIM-oplossingen zijn er om het leven van gebruikers eenvoudiger en veiliger te maken. Zonder dit zijn gebruikers gedwongen verschillende inloggegevens te beheren voor elke site die ze gebruiken. Dit leidt uiteindelijk tot onveilige situaties. Eindgebruikers gaan hun wachtwoorden bijvoorbeeld op post-its opschrijven en onder hun toetsenbord bewaren.

Door een geavanceerde access management oplossing voor uw organisatie te introduceren, hebben eindgebruikers dagelijks een gestroomlijnde toegang tot de applicaties die ze nodig hebben. Dit vermindert de uitvaltijd die wordt veroorzaakt door vergeten wachtwoorden en geblokkeerde accounts. Met als gevolg veel kortere wachttijden bij de helpdesk en een hogere productiviteit op de werkvloer.

Hoe werkt SAML?

Om volledig te begrijpen hoe SAML werkt, zullen we beginnen met het verkennen van het concept van een SAML-provider. Een SAML-provider is elke server die betrokken is bij de verificatie en autorisatie van een gebruiker tijdens een SAML-aanvraag. Er zijn twee typen SAML-providers: serviceproviders (SP) en identiteitsproviders (IdP).

Serviceproviders (SP) zijn de systemen en toepassingen die gebruikers gedurende de dag gebruiken. Zonder SSO zou elk systeem een eigen database met inloggegevens moeten bijhouden. Hoe meer applicaties je gebruikt, hoe meer diverse inloggegevens je moet onthouden en beheren.

Met de komst van SSO-standaarden zoals SAML hoeven gebruikers niet alle verschillende wachtwoorden te onthouden. Ze hoeven zich slechts één keer aan te melden bij hun IdP en krijgen vervolgens toegang tot hun favoriete applicaties. Verificatie vanaf dat moment is automatisch en transparant voor de gebruiker.

Een identiteitsprovider (IdP) is het systeem dat gebruikersverificatie uitvoert. Dit is de centrale locatie waar inloggegevens daadwerkelijk worden opgeslagen en gevalideerd. Zodra een gebruiker zich bij zijn IdP aanmeldt, heeft ze toegang tot hun SSO ingeschakelde applicaties. Er zijn verschillende IdP's beschikbaar op de markt. Vaak wordt de (Azure) AD als IdP gebruikt, maar ook HelloID kan worden ingezet.

Het gesprek dat plaatsvindt tussen de identiteits- en serviceproviders gebeurt via een bericht met de naam Bewering. Dit is een XML-document dat wordt gemaakt door de IdP en geverifieerd wordt door de SP. Het bevat alle relevante details van de eindgebruiker: unieke ID, naam en eventuele aanvullende kenmerken die mogelijk door de SP worden vereist.

Alle beweringen worden ondertekend met een X.509-certificaat door de IdP. De SP heeft een kopie van de ‘vingerafdruk’ van het certificaat, deze wordt gebruikt om de authenticiteit van de bewering te verifiëren. Dit voorkomt het verkrijgen van ongeoorloofde toegang.

Uitleg SAML-authenticatie – Hoe werkt het in de praktijk?

Met SAML kunnen wij dus beveiligingsinformatie uitwisselen met andere systemen om de gebruiker op andere applicaties te authentiseren. Om dit wat levendiger te maken schetsen wij een concreet voorbeeld:

  1. Gebruiker logt in op het HelloID-portaal (IdP) met een gebruikersnaam en wachtwoord combinatie, andere vormen van authenticatie zijn ook mogelijk;
  2. HelloID toont de gebruiker een overzicht van applicaties;
  3. De gebruiker klikt op bijvoorbeeld TOPdesk (SP);
  4. HelloID maakt een SAML-bericht aan om authenticatie uit te voeren bij TOPdesk. HelloID ondertekent en/of versleutelt het bericht door middel van een certificaat.
  5. SAML-bericht wordt verstuurd naar de TOPdesk;
  6. TOPdesk verifieert het SAML-bericht aan de hand van een certificaat en controleert toegang;
  7. Gebruiker is zonder tussenkomst van een inlogpagina ingelogd bij TOPdesk.

Hoe werkt SAML?