Versions Compared

Key

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

In dit hoofdstuk wordt de inhoud van het SAML transactietoken besproken die bij berichtauthenticatie met behulp van de UZI-pas/servercertificaat wordt gebruikt. Het SAML transactietoken bevat informatie over de toegepaste authenticatie en identificatie van de zorgverlener/medewerker/organisatie. Het SAML transactietoken is een op XML gebaseerd SAML assertion en heeft tot doel de assertions (bewijs van een bewering) over te brengen tussen partijen.

...

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

Bevat het OrganisatieID van de zendende applicatie.

@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

Bevat de handtekening over de assertion zoals gezet met behulp van de UZI pas van de zorgverlener (Z) of de UZI medewerkerpas (N) van de medewerker. De handtekening dient geplaatst te zijn met behulp van het authenticatie certificaat op de pas.
Alleen in het geval van een conditionele query maag de handetekening ook gezet worden met het servercertificaat (S) van de applicatie.

Subject

1

De zorgverlener/medewerker die zich authenticeert.

BaseID

0

Niet gebruiken

NameID

1

Bevat zowel de UZI van de geauthenticeerde zorgverlener/medewerker alsmede diens rolcode.
Alleen in het geval van de conditionele query mag dit veld leeggelaten worden.

EncryptedID

0

Niet gebruiken

SubjectConfirmation

1

Moet aanwezig zijn

@Method

1

'urn:oasis:names:tc:SAML:2.0:cm:holder-of-key'

SubjectConfirmationData

0

Niet gebruiken

@Recipient

0

Niet gebruiken

@NotOnOrAfter

0

Niet gebruiken

@InResponseTo

0

Niet gebruiken

@NotBefore

0

Niet gebruiken

@Address

0

Niet gebruiken

KeyInfo

1

Bevat de X509 Issuer.serial van de medewerkerspas of het servercertificaat

Conditions

1

Moet aanwezig zijn

@NotBefore

1

Moet aanwezig zijn.

@NotOnOrAfter

1

Moet aanwezig zijn. Mag maximaal 90 minuten na @NotBefore liggen.

Condition

0

Niet gebruiken

AudienceRestriction

1

Moet aanwezig zijn

Audience

1

urn:IIroot:2.16.840.1.113883.2.4.6.6:IIext:1 (is de ZIM)

ProxyRestriction

0

Niet gebruiken

Advice

0

Niet gebruiken

AuthnStatement

1

Moet aanwezig zijn

@AuthnInstant

1

Tijdstip van authenticatie van de gebruiker (Subject) of applicatie

@SessionIndex

0

Niet gebruiken

AuthnContext

1

Moet aanwezig zijn

AuthnContextClassRef

1

Ingeval van ondertekening met pas: urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI
Ingeval van ondertekening met servercertificaat: urn:oasis:names:tc:SAML:2.0:ac:classes:X509

AttributeStatement

1

Moet aanwezig zijn

Attribute

0..1

Moet aanwezig zijn indien bericht aan één patient is gerelateerd.

@Name

1

Vaste waarde: "burgerServiceNummer"

AttributeValue

0..1

Het BSN van de patient. .

Attribute

1

Moet aanwezig zijn

@Name

1

Vaste waarde: "messageIdRoot"

AttributeValue

1

De waarde van de messageIdRoot bijvoorbeeld:2.16.528.1.1007.3.3.1234567.1

Attribute

1

Moet aanwezig zijn

@Name

1

Vaste waarde: "messageIdExt"

AttributeValue

1

Het MessageId van het bericht..

Attribute

1

Moet aanwezig zijn

@Name

1

Vaste waarde: "InteractionId"

AttributeValue

1

Het InteractionId van het Bericht (het extension-element).

Attribute

0..1

Moet aanwezig zijn bij de Generieke Query

@Name

1

Vaste waarde: "contextCodeSystem"

AttributeValue

0..1

2.16.840.1.113883.2.4.3.111.15.1

Attribute

0..1

Moet aanwezig zijn bij de Generieke Query

@Name

1

Vaste waarde: "contextCode"

AttributeValue

0..1

De contextcode uit de Generieke query.

Attribute

0..1

Moet aanwezig zijn indien gebruik gemaakt is van een mandaat

@Name

1

Vaste waarde: "autorisatieregel/context"

AttributeValue

0..1

URI waar de autorisatieregel/context gevonden kan worden waarbinnen het mandaat gegeven wordt.

Attribute

0..1

Moet aanwezig zijn indien gebruikt wordt binnen AORTA infrastructuur

@Name

1

Vaste waarde: "applicationID"

AttributeValue

0..1

ApplicatieID van de applicatie

...

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 transactietoken onderscheiden, zoals in [IH tokens generiek] beschreven is.

...

Het SAML transactietoken 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.3.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 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 van waaruit het totale bericht verstuurd wordt.-->

     urn:IIroot:2.16.528.1.1007.3.3:IIext:12345678

</saml:Issuer>

...


Het inperken van bepaalde partijen (AudienceRestriction) waarvoor de assertion bedoeld is wordt beschreven in paragraaf 2.3.5 Ontvanger.
De subelementen OneTimeUse en ProxyRestriction worden niet gebruikt binnen het <Conditions> element bij berichtauthenticatie met behulp van de UZI-pas.

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>

...

In de AudienceRestriction wordt beschreven aan wie de SAML assertion is gericht. De waarden in de elementen zijn (voorlopig) vaste waarden. Voor de <Audience> parameter is (ook) gekozen voor URN, zie voor opbouw paragraaf 2.3.2 Afzender.

Authenticatie


Code Block
<saml:AuthnStatement

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

 SessionIndex="token_2.16.528.1.1007.3.3.1234567.1_0123456789">

...

  • 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 transactietoken en in het SAML transactietoken geplaatst wordt, moet er een "enveloped-signature" transformatie uitgevoerd worden die de Signature tags uit het SAML transactietoken verwijderd gevolgd door een “exc-c14n transformatie” (zie ook [SAML Core] §5.4.3 en §5.4.4).


Opbouw

De headers

Eerst wordt het SAML transactietoken – het <saml:Assertion ...> element aangemaakt en gevuld met die elementen, zoals beschreven in paragraaf 2.3 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.3 Inhoud ...

</saml:Assertion>

...