Versions Compared

Key

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

...

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


Element/@Attribute

0..1

Omschrijving

@ID

1

Unieke identificatie van de Assertion

@Version

1

Versie van het SAML Protocol. Vaste waarde moet zijn 2.0

@IssueInstant

1

Tijdstip van uitgifte van de Assertion.

Issuer

1

De URA van de organisatie waarbinnen de medewerker die de scan uitvoert werkzaam is.

       @NameQualifier

0

Niet gebruiken

       @SPNameQualifier

0

Niet gebruiken

       @Format

1

Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"

       @SPProviderID

0

Niet gebruiken

Signature

1

Scantoken: Bevat de handtekening over de assertion zoals gezet met behulp van het door Zorg-ID aangemaakte identiteitscertificaat van de medewerker die de scan uitvoert.

WID_token: Bevat de handtekening over de assertion zoals gezet met behulp van het Zorg-ID servercertificaat.

Subject

1

BSN van de patient waarvan de BSN gevalideerd is.

       BaseID

0

Niet gebruiken

       NameID

1

Bevat de gevalideerde BSN.

       EncryptedID

0

Niet gebruiken

       SubjectConfirmation

1

Moet aanwezig zijn.

              @Method

1

'urn:oasis:names:tc:SAML:2.0:cm:sender-vouches’

              SubjectConfirmationData

1

Bevat Keyinfo

            @Recipient

0

Niet gebruiken

                     @NotOnOrAfter

0

Niet gebruiken

                     @InResponseTo

0

Niet gebruiken

            @NotBefore

0

Niet gebruiken

                     @Address

0

Niet gebruiken

                     KeyInfo

1

Scantoken: Bevat het publieke deel van het X509 identiteitscertificaat

WID token: Bevat het publieke deel van het ZORG-ID servercertificaat

Conditions 

1

Moet aanwezig zijn.

    @NotBefore

1

Moet aanwezig zijn.

    @NotOnOrAfter

1

Moet aanwezig zijn. Mag maximaal 10  jaar na @NotBefore liggen.

       Condition

0

Niet gebruiken

       AudienceRestriction

1

Moet aanwezig zijn

              Audience

1..*

Minimaal 1 element: urn:IIroot:2.16.840.1.113883.2.4.6.6:IIext:1 (is de ZIM). Meerdere audiences zijn toegestaan.

       ProxyRestriction

0

Niet gebruiken

Advice

0

Niet gebruiken

AuthnStatement

1

Moet aanwezig zijn

       @AuthnInstant

1

Tijdstip van BSN scan.

    @SessionIndex

0

Niet gebruiken

       AuthnContext

1

Moet aanwezig zijn

              AuthnContextClassRef

1

urn:oasis:names:tc:SAML:2.0:ac:classes:X509

AttributeStatement

1

Moet aanwezig zijn

    Attribute

1

Moet aanwezig zijn.

        @Name

1

Vaste waarde: “Zorgaanbieder”

    AttributeValue

1

De URA van de zorgaanbieder waar de zorgverlener of medewerker in dienst is.

    Attribute

1

Moet aanwezig zijn alleen in Scantoken.

        @Name

1

Vaste waarde: “WID_token”

    AttributeValue

1

Base64 representatie van het WID_token

    Attribute

1

Moet aanwezig zijn alleen in het WID_token.

        @Name

1

Vaste waarde: “WID_raw_data”

    AttributeValue

1

Base64 representatie van de ingescande datagroep 11 van de chip van het WID inclusief het Document Security Object.

N.B.: bovenstaande tabel bevat de meest gebruikte elementen van SAML assertions en is derhalve niet volledig. Voor niet genoemde elementen geldt: Niet gebruiken.

...

Tabel AORTA.STK.t3300 – Namespaces

 

Image Modified

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.

Anchor
Inhoud
Inhoud
Inhoud

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

...

Het SAML scantoken begint met het Assertion element en een verwijzing naar de XML SAML namespace voor SAML 2.0 assertions. De attributen behorende bij het Assertion element wordt in paragraaf 2.4.1 Uniekheid beschreven.


Anchor
Uniekheid
Uniekheid
Uniekheid


Code Block
ID="token_dd1c1f96-f0b0-4026-a978-4d724c0a0a4f"

IssueInstant="2009-06-24T11:47:34Z"

Version="2.0">

...

Het wordt aanbevolen een UUID (Universally Unique Identifier) te gebruiken. Bij het gebruik van andere vormen is er een kans, hoe klein ook, dat een ID samenvalt met een ID gemaakt volgens een andere methode van een andere leverancier).


Image Modified

Een ID in XML mag niet met een cijfer beginnen. Bij het gebruik van een UUID is het dus aan te raden een prefix te gebruiken, welke met een letter of underscore (‘_’) begint.


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".


Anchor
Afzender
Afzender
Afzender


Code Block
<saml:Issuer>

 <!-- De Issuer verwijst naar de organisatie waarbinnen de BSN validatie heeft plaats gevonden.-->

     urn:IIroot:2.16.528.1.1007.3.3:IIext:12345678

</saml:Issuer>

...

urn:IIroot:2.16.528.1.1007.3.3:IIext:12345678


Anchor
Onderwerp
Onderwerp
Onderwerp


Code Block
<saml:Subject>

  <saml:NameID>

   950052413

  </saml:NameID>

  <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:sender-vouches ">

  </saml:SubjectConfirmation>

</saml:Subject>

...

Code Block
  <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:sender-vouches ">

  </saml:SubjectConfirmation>


Anchor
Geldigheid
Geldigheid
Geldigheid


Code Block
<saml:Conditions

 NotBefore="2009-06-24T11:47:34Z"

 NotOnOrAfter="2010-12-24T11:47:34Z">

...

Het attribuut NotBefore is de tijd waarop de SAML assertion geldig wordt. NotBefore moet altijd op of na de aanvang van de geldigheidsdatum van het certificaat (waarmee het scantoken is getekend) liggen.


Image Modified

Wordt een bericht met een scantoken ontvangen voor NotBefore is aangevangen, dan moet dit bericht geweigerd worden.


Het attribuut NotOnOrAfter is de tijd waarop de SAML assertion vervalt. NotOnOrAfter mag na het verstrijken van de geldigheid van het certifcaat (waarmee het scantoken is getekend) liggen.


Image Modified

Wordt een bericht met een scantoken ontvangen op of nadat NotOnOrAfter is verstreken, dan moet dit bericht geweigerd worden.


Deze tijd is als bovenstaande tijd geformatteerd. Het maximaal toegestane verschil tussen NotBefore en NotOnOrAfter is tien jaar.


Image Modified

De geldigheidsduur van een scantoken (NotOnOrAfter minus NotBefore) kan langer zijn dan de geldigheidsduur van het identiteitscertificaat waarmee het token wordt getekend.


Indien het certificaat waarmee het scantoken is getekend op de CRL is geplaatst, dan dient het scantoken niet geweigerd te worden door het LSP. Het is op de CRL niet inzichtelijk om welke reden een certificaat op de CRL is geplaatst. Dit kunnen uiteenlopende redenen zijn zoals een verloren telefoon. Om het zorgproces niet te frustreren wordt deze controle procesmatig opgepakt door Security Management.

...

Echter, bij het ondertekenen van het scantoken moet er een geldig certificaat gebruikt worden. Indien bij ondertekening van het scantoken het certificaat al op de CRL is geplaatst, dan dient het scantoken wel geweigerd te worden.


Image Modified

Indien het certificaat vóór ondertekening van het scantoken op de CRL is geplaatst, dan dient het scantoken geweigerd te worden door het LSP.


Image Modified

Indien het certificaat na ondertekening van het scantoken op de CRL is geplaatst, dan dient het scantoken niet geweigerd te worden.


Het inperken van bepaalde partijen (AudienceRestriction) waarvoor de assertion bedoeld is wordt beschreven in paragraaf 2.4.5 Ontvanger.


Anchor
Ontvanger
Ontvanger
Ontvanger


Code Block
<saml:AudienceRestriction>

  <!-- Root en extensie van de ZIM -->

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

</saml:AudienceRestriction>

...

urn:IIroot:2.16.840.1.113883.2.4.6.6:IIext:300


Anchor
Authenticatie
Authenticatie
Authenticatie


Code Block
<saml:AuthnStatement

 AuthnInstant="2009-06-24T11:47:34"

 SessionIndex="token_2.16.528.1.1007.3.3.1234567.1_0123456789">

...

Afsluiting authentication statement.

 

Anchor
Attributen
Attributen
Attributen

Code Block
<saml:AttributeStatement>

...

  • 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.


Image Modified

Omdat de XML Signature onderdeel is van het SAML scantoken en in het SAML scantoken geplaatst wordt, moet er een "enveloped-signature" transformatie uitgevoerd worden die de Signature tags uit het SAML scantoken verwijderd gevolgd door een “exc-c14n transformatie” (zie ook [SAML Core] §5.4.3 en §5.4.4).


Anchor
Opbouw
Opbouw
Opbouw

De headers

Eerst wordt het SAML scantoken – het <saml:Assertion ...> element aangemaakt en gevuld met die elementen, zoals beschreven in paragraaf 2.4 Inhoud.



Code Block
<saml:Assertion

   ID="token_2.16.528.1.1007.3.3.1234567.1_0123456789"

   IssueInstant="2009-06-24T11:47:34Z"

   Version="2.0"

   xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">

 ... Zie paragraaf 2.4 Inhoud ...

</saml:Assertion>

...

  • Neem het SignedInfo blok op.
  • Neem de SignatureValue op.
  • Neem certificaatgegevens in het KeyInfo blok op, in de vorm van het volledige publieke certificaat (in het scantoken het identiteitscertificaat; in het WID-token het ZORG-ID servercertificaat).


Image Modified

Wanneer een bericht een SAML assertion bevat, moet dat bericht precies één bijbehorende digitale handtekening bevatten.


Het maken van de XML Signature uit strings levert de SAML assertion op met daarin de Signature.

...