Technische info

In deze sub-rubrieken worden de relevante technische details voor SAML toegelicht: deze pagina geeft een bondige samenvatting

Initiëren van de authenticatie

  • De ACM IDP biedt enkel ondersteuning voor “SP Initiated” authenticaties: hierbij initieert de SAML Service Provider (=de toepassing) de authenticatie door een SAML AuthnRequest te sturen naar de SAML Identity Provider.
  • “IDP Initiated” sceanrio’s worden niet ondersteund.

Meer …

Binding

  • De ACM IDP biedt ondersteuning voor de HTTP POST Binding en de HTTP Redirect Binding.
  • De HTTP Artifact Binding wordt niet ondersteund.

Meer …

NameID formaten

Volgende NameID formaten worden door de ACM IDP ondersteund:

  • transient: dit is aanbevolen
  • emailAddress: indien de Service Provider een mail-adres in de NameID vereist
  • unspecified: indien de Service Provicer een unieke identifier vereist met een vrij te kiezen type

Meer …

Certificaten

  • De ACM IDP aanvaardt enkel certificaten die geïssued werden door een publieke CA of door de VO PKI CA. Self-signed certificaten of certificaten die gesigned werden door een interne CA zijn niet bruikbaar.
  • De certificaten dienen x509 certificaten te zijn met key usages “Digital Signature” en “Key Encipherment”: de CN moet niet gerelateerd zijn met de URL van de toepassing.
  • De ACM IDP vereist dat het SAML AuthnRequest gesigned wordt door de SAML Service Provider.
  • Gelieve minstens één maand voor het verval van het certificaat (van de Service Provider) de switch te laten inplannen: hierbij wordt de SAML metadata aangepast en doorgestuurd.

Meer …

Encryptie

  • Indien de SAML Service Provider encryptie ondersteunt, dan vereisen we dat dit geactiveerd wordt: doorgaans activeren we “asserion encryptie”, maar ook “attribute encryptie” is mogelijk
  • Enkel indien de SAML Service Provider geen ondersteuning biedt voor encryptie, dan kan encryptie uitgeschakeld blijven.

Meer …

SAML metadata

Meer …

Afmelden

  • het gebruik van het SAML Logout Protocol (SLO) wordt afgeraden (omwille van complexiteit en ongewenst functioneel gedrag).
  • om af te melden dient de toepassing een lokale logout te voltooien en dan te redirecten naar https://authenticatie-ti.vlaanderen.be/stb/html/pages?TAM_OP=logout&returnurl=$URL (met $URL de URL waarnaar geredirect moet worden na het afmelden).
  • Deze vereenvoudigde afmeld-procedure zorgt ervoor dat de gebruiker afgemeld is in de toepassing, op de ACM IDPen op eventuele upstream IDP’s (zoals bvb. de CSAM IDP).

Meer …

Switch identiteit

  • een reeds aangemelde gebruiker kan teruggestuurd worden naar ACM om een switch-identiteit te voltooien, waardoor hij een nieuwe organisatie/doelgroep/mandaat kan kiezen.
  • om een swtich-identiteit aan te vragen dient de toepassing een lokale logout te voltooien en dan te redirecten naar https://authenticatie-ti.vlaanderen.be/stb/html/switchdigid?providerid=$SAML_SP_ID&target=$URL, waarbij $SAML_SP_ID de entityID is van de toepassinge en $URL de entry-URL van de toepassing zelf.

Meer …

Session Timeouts

  • De Service Provider (= de toepassing) bouwt haar eigen sessie op, onafhankelijk van de sessie met de ACM IDP.
  • De sessie met de ACM IDP bepaalt enkel of bij een volgende authenticatie single sign-on mogelijk is, deze heeft geen invloed op de sessie met de Service Provider zelf.

Meer …

Authenticatiemiddelen

  • Men kan in het SAML AuthnRequest meegeven welke authenticatiemiddelen men wenst te gebruiken.
  • Dit kan via Comparison = “minimum” of “exact” om te bepalen wat er minimaal of exact vereist is.
  • Gebruik dit enkel in zeer specifieke, overwogen scenario’s ! Zoniet is er telkens een aanpassing aan de toepassing nodig als er iets moet wijzigen aan de authenticatiemiddelen.
  • De URN van het authenticatiemiddel dat de gebruiker hanteerde om aan te melden, wordt in de AuthnContextClassRef van de SAML Response meegegeven.

Meer …

RelayState

  • De Service Provider kan (optioneel) een RelayState meegeven aan de ACM IDP en die bezorgt deze ongewijzigd in de Response terug.
  • Deze RelayState mag maximaal 80 bytes groot zijn en de integriteit van dit attribuut dient door de Service Provider gegarandeerd te worden.

Meer …