Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Dit profiel wordt in de volgende paragrafen verder uitgewerkt.



Structuur

Het SAML authenticatietoken is een door een vertrouwde Identity Provider (DigiD) gecreëerde SAML assertion die gebruikt wordt bij berichtauthenticatie van patiënten voor het LSP. DigiD ondertekent zowel de ArtifactResponse als de Assertion. De Assertion wordt vervolgens door het GBP als authenticatietoken in het bericht opgenomen.

Assertion

De assertion heeft de volgende structuur (de waarden die in het token gebruikt worden zijn fictief):

...

Code Block
<saml:Assertion

    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"  
    Version="2.0"
    ID="_dc9f793e2811b86f8e5cdf43ab5fd47d1fe0e61c"
    IssueInstant="2012-12-20T18:50:27Z">
    <saml:Issuer>SamlIssuer</saml:Issuer>
    <saml:Subject>
        <saml:NameID>s00000000:12345678</saml:NameID>
        <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
            <saml:SubjectConfirmationData
                InResponseTo="_7afa6d9f9ff28ca9233ada1d9ec2aa1bd6c5ce49"
                Recipient="http://example.com/artifact_url"
                NotOnOrAfter="2012-12-20T18:52:27Z"/>
        </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Conditions
        NotBefore="2012-12-20T18:48:27Z"
        NotOnOrAfter="2012-12-20T18:52:27Z">
        <saml:AudienceRestriction>
            <saml:Audience>

                 urn:IIroot:2.16.840.1.113883.2.4.6.6:IIext:1

            </saml:Audience>
        </saml:AudienceRestriction>
    </saml:Conditions>
    <saml:AuthnStatement
        SessionIndex="17"
        AuthnInstant="2012-12-20T18:50:27Z">
        <saml:SubjectLocality Address="127.0.0.1"/>
        <saml:AuthnContext>
            <saml:AuthnContextClassRef>
                urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract
            </saml:AuthnContextClassRef>
        </saml:AuthnContext>
    </saml:AuthnStatement>
</saml:Assertion>



Namespaces

Het door een vertrouwde Identity Provider afgegeven SAML authenticatietoken dat gebruikt wordt bij berichtauthenticatie, maakt gebruik van de volgende namespaces. De prefixen zijn niet normatief maar worden in dit document als voorbeelden gebruikt.
Tabel AORTA.STK.t3400 - Namespaces

...

Bij het gebruik van de namespace-prefixes is het van belang deze na het ondertekenen niet meer te veranderen, dit maakt de digitale handtekening ongeldig.

Inhoud

De volgende paragrafen beschrijven de verschillende kenmerken en beveiligingsgerelateerde gegevens die het SAML authenticatietoken onderscheiden, zoals in [IH tokens generiek] beschreven is.

...

Op de plaats van de drie punten (…) worden Uniekheidattributen opgenomen ten aanzien van de Assertion. Deze attributen worden beschreven in paragraaf 2.3.1 Uniekheid.






Uniekheid


Code Block
<saml:Assertion

  Version="2.0"

  ID="_dc9f793e2811b86f8e5cdf43ab5fd47d1fe0e61c"

  IssueInstant="2012-12-20T18:50:27Z">

...

De attributen van het SAML assertion element maken van de afgegeven SAML assertion een uniek gegeven. Het attribuut ID identificeert op een unieke wijze de assertion. Het attribuut IssueInstant is een tijdsmoment van uitgifte van de SAML assertion. De tijdswaarde is gecodeerd in UTC. Het attribuut Version is de gebruikte SAML versie van de SAML assertion. De aanduiding voor de versie van SAML gedefinieerd in deze specificatie is "2.0".

Onderwerp


Code Block
<saml:Subject>
  <saml:NameID>s00000000:12345678</saml:NameID>
  <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
     <saml:SubjectConfirmationData

        InResponseTo="_7afa6d9f9ff28ca9233ada1d9ec2aa1bd6c5ce49"

        Recipient="http://example.com/artifact_url"

        NotOnOrAfter="2012-12-20T18:52:27Z"/>
  </saml:SubjectConfirmation>

</saml:Subject>

...

Voor deze bevestigingsmethode (het Method attribuut) moet de URN waarde "urn:oasis:names:tc:SAML:2.0:cm:bearer" (assertion drager) worden gebruikt.

Geldigheid


Code Block
<saml:Conditions

 NotBefore="2012-12-20T18:48:27Z"

 NotOnOrAfter="2012-12-20T18:52:27Z">
  …
</saml:Conditions>

...


De subelementen OneTimeUse en ProxyRestriction worden niet gebruikt binnen het <Conditions> element bij Berichtauthenticatie met DigiD.

Afzender


Code Block
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">

  https://federatie.overheid.nl/aselectserver/server/

</saml:Issuer>

...

Het goed beheerd patiëntenportaal past een TLS-sessie toe bij het opvragen van de assertion bij de identity provider.

Ontvanger


Code Block
  <saml:AudienceRestriction>
     <!-- Root en extensie van de ZIM en het patiëntenportaal -->

     <saml:Audience>urn:IIroot:2.16.840.1.113883.2.4.6.6:IIext:1</saml:Audience>
  </saml:AudienceRestriction>

...

Vooralsnog staat DigiD niet toe dat er meerdere audiences in het token worden teruggegeven. De root en extensie van de ZIM zullen niet zijn opgenomen in de assertion. Het LSP zal zo geconfigureerd moeten worden dat tokens waarbij als audience het patiëntenportaal is opgenomen ook toegelaten worden.

Authenticatie


Code Block
<saml:AuthnStatement

  SessionIndex="17"

  AuthnInstant="2012-12-20T18:50:27Z">
  …

</saml:AuthnStatement>

...

[2] Het LSP ondersteunt geen diensten die gebruik maken van betrouwbaarheidsniveau hoog.


Algoritmes

Om de integriteit en onweerlegbaarheid van het SAML authenticatietoken te waarborgen wordt een XML Signature geplaatst, zoals beschreven in [IH tokens generiek]. Na plaatsen van de XML Signature kan de ontvanger, met gebruikmaking van het PKIoverheid-certificaat van de verzender onomstotelijk vaststellen dat de getekende SAML assertion ondertekend is met de privé sleutel behorend bij het gebruikte PKIoverheid-certificaat.

...

  • Voor het berekenen van de hashwaarde wordt SHA-256 gebruikt.
  • Voor de digitale handtekening in AORTA wordt gebruik gemaakt van een RSA handtekening over een SHA-256 digest.
  • Omdat de XML Signature onderdeel is van het SAML authenticatietoken en in het SAML authenticatietoken geplaatst wordt, moet er een "enveloped-signature" transformatie uitgevoerd worden die de Signature tags uit het SAML authenticatietoken verwijderd.


Opbouw

Na authenticatie en toegangsverlening van een patiënt op het GBP moet het GBP er zorg voor dragen dat het SAML authenticatietoken wordt toegevoegd bij de berichten die van het GBP naar het landelijk schakelpunt worden verzonden.

Het SAML authenticatietoken – het <saml:Assertion ...> element is aangemaakt en gevuld met die elementen, zoals beschreven in de voorgaande paragrafen.

De digitale handtekening

Het XML Signature blok is onderdeel van het SAML authenticatietoken. Het XML Signature blok komt na het <saml:Issuer> element van de <saml:Assertion>.

...

Code Block
<md:SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">


Plaats van het SAML token in het SOAP bericht.

Het gehele SAML authenticatietoken met daarin de digitale handtekening worden in het WS-Security SOAP Header gezet.

...