Hoofdinhoud
Wat zijn SAML certificaten en metadata en hoe werkt het?
Security Assertion Markup Language (SAML) is een gestandaardiseerde aanpak voor het veilig uitwisselen van authenticatie- en autorisatiegegevens van gebruikers tussen verschillende organisaties. SAML wordt gebruikt in de aansluiting tussen een dienstaanbieder en DigiD.
Voordat een SAML-aansluiting tot stand gebracht kan worden, moeten dienstaanbieder en DigiD elkaar eenmalig van configuratiegegevens over de aansluiting voorzien. Dit gebeurt via twee zogenaamde metadata bestanden: één van de dienstaanbieder en één van DigiD. Hierin wordt aangeven welke locaties van diensten (endpoints/URL's) en certificaten gebruikt worden voor de aansluiting. Voor een uitgebreide beschrijving van de SAML-aansluiting wordt verwezen naar de Koppelvlakspecificatie DigiD SAML Authenticatie.
De metadata van de dienstaanbieder wordt via het wijzigingsformulier van DigiD aangeboden aan Logius in de vorm van een XML-bestand in het door de SAML2.0 standaard voorgeschreven formaat.
De dienstaanbieder moet de metadata gesigned aanleveren. Voor de signature moet daarbij het PKIo certificaat worden gebruikt dat in de metadata is opgenomen als signing certificaat. Dit geldt ook voor aansluitingen op de preproductieomgeving van DigiD. Om ervoor te zorgen dat er geen gegevensuitwisseling plaats kan vinden tussen de preproductieomgeving en de productie-omgeving moet het certificaat van de preproductieomgeving een ander zijn dan van de productie-omgeving.
Logius controleert de metadata en de certificaten van een dienstaanbieder op deze uitgangspunten alvorens deze op te nemen in de SAML configuratie van DigiD.
Hoe kan ik de correctheid van de SAML metadata zelf controleren?
Er zijn op internet diverse tools te vinden om SAML metadata te controleren en te testen. Vanwege de veiligheid en betrouwbaarheid van de aansluiting met DigiD is het advies dit soort tools alleen te gebruiken met SAML metadata van de preproductieomgeving.
Welke certificaten moeten gebruikt worden voor SAML signing?
Er moet voor SAML signing een PKIo Private Root CA - G1 certificaat (met daarin het OIN van de organisatie) gebruikt worden. Om ervoor te zorgen dat er geen gegevensuitwisseling plaats kan vinden tussen de preproductieomgeving en de productie-omgeving moet het certificaat van de preproductieomgeving een ander zijn dan van de productieomgeving.
Dit is het makkelijkste te realiseren door een certificaat te gebruiken voor een specifiek (sub)domein (Common Name CN) van uw organisatie bijv. saml-preprod.organisatie.nl voor de preproductieomgeving en een tweede certificaat bijvoorbeeld saml.organisatie.nl voor de productie-omgeving. Dit (sub)domein hoeft niet opgenomen te zijn in DNS (en dus niet vindbaar te zijn op Internet).
Er mag geen overlap zijn in de Subject Alternative Names (SAN's) van de certificaten, omdat dit ook een ongewenste gegevensuitwisseling tussen omgevingen kan veroorzaken.
Hoeveel verschillende PKIo certificaten moeten gebruikt worden voor de SAML-aansluiting met DigiD?
Er moeten minimaal twee verschillende PKIo certificaten gebruikt worden om een SAML-aansluiting met DigiD te kunnen realiseren.
Het eerste certificaat kan voor zowel SAML signing van de productie-omgeving gebruikt worden, alsmede voor 2-zijdig TLS van beide omgevingen. Het tweede certificaat kan dan voor SAML signing van de preproductieomgeving gebruikt worden. Voor 2-zijdig TLS kan eventueel een derde certificaat gebruikt worden, maar dit is optioneel.
In een overzicht ziet dat er als volgt uit:
Productieomgeving | Preproductieomgeving | |
---|---|---|
SAML signing | Certificaat 1 bijv. saml.organisatie.nl |
Certificaat 2 bijv. saml-preprod.organisatie.nl |
2-zijdig TLS | Certificaat X (1, 2 of 3) 3: bijv. backoffice.organisatie.nl of leverancier.nl |
Certificaat X (1, 2 of 3) 3: bijv. backoffice.organisatie.nl of leverancier.nl |
Hoe moet ik 2-zijdig TLS implementeren in de DigiD aansluiting?
Voor het implementeren van 2-zijdig TLS is er een aparte factsheet.
Update
- 22 september 2022: Informatie over 2-zijdig TLS verplaatst naar aparte factsheet
- 4 januari 2022: testscenario’s aangevuld.