Security Assertion Markup Language (SAML)

SAML staat voor Security Assertion Markup Language en is een van de meest gebruikte standaarden voor het uitwisselen van authenticatiegegevensSAML 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, als onderdeel van Federated Identity Management (FIM) oplossingen, is ontworpen om het leven van gebruikers eenvoudiger en veiliger te maken. Zonder dergelijke oplossingen zouden gebruikers gedwongen zijn om verschillende inloggegevens te beheren voor elke site die ze gebruiken, wat uiteindelijk tot onveilige situaties kan leiden.

Hier zijn enkele van de belangrijkste redenen waarom je zou moeten overwegen om SAML te gebruiken:

  1. Vermindering van onveilige situaties: Het is niet ongewoon dat eindgebruikers hun wachtwoorden op post-its schrijven en onder hun toetsenbord bewaren. SAML vermindert dit risico door het aantal inloggegevens dat gebruikers moeten onthouden en invoeren te verminderen.
  2. Verbeterde beveiliging: SAML verhoogt de veiligheid door het risico op phishing-aanvallen en wachtwoordlekken te verminderen. Alle communicatie tussen de identiteitsprovider en de serviceprovider wordt versleuteld, waardoor de kans op onderschepping van gegevens wordt verminderd.
  3. Efficiëntie: SAML maakt Single Sign-On (SSO) mogelijk, wat betekent dat gebruikers slechts één keer hoeven in te loggen om toegang te krijgen tot meerdere applicaties of diensten. Dit bespaart tijd en vermindert de frustratie voor gebruikers.
  4. Gebruiksgemak: Door een geavanceerde access management oplossing zoals SAML in 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.
  5. Privacy: SAML kan worden geconfigureerd om alleen de noodzakelijke gebruikersinformatie te delen, waardoor de privacy van gebruikers wordt beschermd.
  6. Flexibiliteit en interoperabiliteit: SAML is een open standaard, wat betekent dat het kan worden geïmplementeerd in een breed scala aan systemen en applicaties, ongeacht de programmeertaal of het platform waarop ze zijn gebouwd.

Kortom, SAML biedt een veilige, efficiënte en gebruiksvriendelijke oplossing voor het beheren van digitale identiteiten en het uitvoeren van authenticatie en autorisatie in een gedistribueerde omgeving. Het is een essentieel onderdeel van elke effectieve FIM-oplossing.

SAML en privacy

In het huidige digitale tijdperk is privacy een belangrijk aandachtspunt. SAML speelt hierin een cruciale rol door te helpen bij het beschermen van de privacy van gebruikers tijdens het authenticatieproces.

Een van de manieren waarop SAML dit doet, is door het minimaliseren van de hoeveelheid persoonlijke informatie die wordt gedeeld tussen de Service Provider (SP) en de Identiteitsprovider (IdP). In een SAML-transactie stuurt de IdP een SAML-assertion naar de SP. Deze assertion bevat informatie over de identiteit van de gebruiker en de status van de authenticatie, maar het hoeft geen gedetailleerde persoonlijke informatie te bevatten. De SP hoeft alleen te weten dat de gebruiker succesvol is geauthenticeerd door de IdP, niet wie de gebruiker precies is.

Bovendien wordt alle informatie die wordt uitgewisseld in een SAML-transactie versleuteld en digitaal ondertekend. Dit zorgt ervoor dat de gegevens niet kunnen worden onderschept of gewijzigd tijdens de overdracht, wat de privacy en veiligheid van de gebruiker verder beschermt.

Het is ook belangrijk om op te merken dat SAML kan worden geconfigureerd om te voldoen aan verschillende privacywetgevingen, zoals de Algemene Verordening Gegevensbescherming (AVG) in de Europese Unie. Dit maakt SAML een aantrekkelijke keuze voor organisaties die zich zorgen maken over het naleven van de privacywetgeving.

Kortom, SAML biedt een veilige en privacyvriendelijke manier om authenticatie- en autorisatiegegevens uit te wisselen tussen verschillende partijen. Het helpt organisaties om de privacy van hun gebruikers te beschermen, terwijl ze tegelijkertijd een efficiënte en gebruiksvriendelijke authenticatie-ervaring bieden.

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?

Het proces van SAML-authenticatie begint wanneer een gebruiker probeert toegang te krijgen tot een dienst, zoals een webapplicatie. Deze dienst wordt de Service Provider (SP) genoemd. De SP stuurt een verzoek naar een andere entiteit, de Identiteitsprovider (IdP), om de identiteit van de gebruiker te verifiëren.

Laten we dit illustreren met een concreet voorbeeld waarbij HelloID als IdP fungeert en TOPdesk als SP:

  1. De 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 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. Het SAML-bericht wordt verstuurd naar TOPdesk.
  6. TOPdesk verifieert het SAML-bericht aan de hand van een certificaat en controleert toegang.
  7. De gebruiker is zonder tussenkomst van een inlogpagina ingelogd bij TOPdesk.

Dit hele proces is naadloos en transparant voor de gebruiker. Het belangrijkste is dat SAML een veilige en efficiënte manier biedt om identiteiten te beheren en te delen in een gedistribueerde omgeving. SAML kan worden gebruikt in veel complexere scenario’s, met meerdere SP’s en IdP’s, en met geavanceerdere soorten assertions die meer gedetailleerde informatie bevatten.

Alternatieven voor SAML

Hoewel SAML een populaire keuze is voor het beheren van Single Sign-On (SSO) en federated identity, zijn er ook andere technologieën die vergelijkbare functionaliteiten bieden. Hier zijn enkele van de meest voorkomende alternatieven voor SAML:

  1. OpenID Connect: Dit is een open standaard die wordt gebruikt voor het authenticeren van gebruikers in een end-to-end manier, waardoor het mogelijk is om identiteiten over verschillende domeinen te federeren. OpenID Connect is gebaseerd op het OAuth 2.0 protocol en maakt gebruik van JSON Web Tokens (JWT) voor het uitwisselen van claims.
  2. OAuth 2.0: Hoewel het vaak wordt gebruikt in combinatie met OpenID Connect voor authenticatie, wordt OAuth 2.0 op zichzelf voornamelijk gebruikt voor geautoriseerde toegang tot API’s. Het stelt een gebruiker in staat om een applicatie toegang te geven tot hun informatie bij een andere serviceprovider, zonder hun inloggegevens te delen.
  3. WS-Federation: Dit is een protocol dat wordt gebruikt voor federated identity en is gebaseerd op de WS-* (Web Services) specificaties. Het wordt vaak gebruikt in Microsoft-omgevingen en is geïntegreerd in producten zoals Active Directory Federation Services (ADFS).
  4. LDAP (Lightweight Directory Access Protocol): Hoewel het geen federated identity protocol is, wordt LDAP vaak gebruikt voor het opslaan en opzoeken van informatie in een directory service, zoals gebruikersnamen en wachtwoorden. Het kan worden gebruikt in combinatie met andere technologieën voor het implementeren van SSO.

Elk van deze alternatieven heeft zijn eigen voor- en nadelen, en de beste keuze hangt af van de specifieke behoeften en omstandigheden van je organisatie. Het is belangrijk om te overwegen welk protocol het beste past bij je technische eisen, beveiligingsbehoeften, en de vaardigheden en kennis van je IT-team.

Cloud software HelloID Whitepaper HelloID

Nog geen Tools4ever klant maar wel benieuwd naar de mogelijkheden?

Maak een afspraak

SAML, of Security Assertion Markup Language, is een open standaard die autorisatiegegevens tussen identiteitsproviders (IdP’s) en serviceproviders (SP’s) doorgeeft.

Het wordt vaak gebruikt om Single Sign-On (SSO) te implementeren, waardoor gebruikers met één set inloggegevens toegang kunnen krijgen tot meerdere applicaties of diensten.

SSO, of Single Sign-On, is een authenticatiemethode die gebruikers in staat stelt om met één set inloggegevens toegang te krijgen tot meerdere applicaties of diensten.

SAML is een van de technologieën die kan worden gebruikt om SSO te implementeren. Het is een protocol dat bepaalt hoe autorisatiegegevens worden uitgewisseld tussen de IdP en de SP.

SSL, of Secure Sockets Layer, is een technologie voor het beveiligen van de verbinding tussen de client en de server op het internet. Het zorgt ervoor dat alle gegevens die tussen de client en de server worden uitgewisseld, versleuteld zijn en niet kunnen worden onderschept.

SAML daarentegen is een protocol voor het uitwisselen van autorisatiegegevens tussen de IdP en de SP. Het heeft niet direct te maken met de beveiliging van de verbinding zelf, maar met de manier waarop de identiteit van de gebruiker wordt geverifieerd.

LDAP, of Lightweight Directory Access Protocol, is een protocol voor het opslaan en opzoeken van informatie in een directory service, zoals gebruikersnamen en wachtwoorden. SAML daarentegen is een protocol voor het uitwisselen van autorisatiegegevens tussen de IdP en de SP.

Hoewel beide technologieën kunnen worden gebruikt in het kader van authenticatie en autorisatie, worden ze op verschillende manieren en voor verschillende doeleinden gebruikt.

SAML is ontworpen met beveiliging in gedachten en biedt verschillende mechanismen om de veiligheid van de uitgewisselde gegevens te waarborgen. Alle SAML-berichten kunnen worden versleuteld en digitaal ondertekend om ervoor te zorgen dat ze niet kunnen worden onderschept of gewijzigd tijdens de overdracht.

Bovendien minimaliseert SAML de hoeveelheid persoonlijke informatie die wordt gedeeld tussen de Service Provider (SP) en de Identiteitsprovider (IdP), wat helpt om de privacy van de gebruiker te beschermen.

Echter, zoals bij elke technologie, hangt de veiligheid van SAML ook af van de juiste implementatie en configuratie. Het is belangrijk om best practices te volgen en regelmatig beveiligingsaudits uit te voeren om ervoor te zorgen dat je SAML-implementatie veilig blijft.