SAML AORTA transactietoken
Feature | |
---|---|
Type | Subfeature |
Versie | 2.2.0 |
Systeemrolcode | - |
Groep | Tokens |
Gepubliceerd | |
Delta | Wijziging toegestane formaten voor URA, appID en BSN. Gereed. Versie verhoogd van 2.1.0 naar 2.2.0. |
Het AORTA transactietoken voor berichtauthenticatie is een SAML Assertion en bevat de volgende elementen en attributen:
Element/@Attribuut | Cardinaliteit | Vaste waarde | Toelichting |
---|---|---|---|
@ID | 1..1 | - | Unieke identificatie van de Assertion |
@Version | 1..1 | "2.0" | Gebruikte SAML versie |
@IssueInstant | 1..1 | - | Tijdstip van uitgifte van de Assertion. |
Issuer | 1..1 | - | URA van de initiërende organisatie, d.w.z. de organisatie aan de start van de keten. Formaat van een URA:
Formaat “urn:oid:2.16.528.1.1007.3.3.<URA>” blijft vooralsnog toegestaan, maar wordt uitgefaseerd. Bij dit formaat mogen voorloopnullen worden toegevoegd. Dit vormt formeel géén valide OID, maar is toegestaan omdat AORTA SAML Assertions slechts naar het LSP worden verzonden, en het LSP ermee om kan gaan. |
Issuer.@Format | 1..1 | "urn:oasis:names:tc:SAML:2.0:nameid-format:entity" | |
Subject.NameID | 1..1 | - | Bevat zowel de UZI van de geauthentiseerde zorgverlener/medewerker alsmede diens rolcode. Formaat: "<UZI-nummer>:<UZI-rolcode>" Wanneer de handtekening is geplaatst met een servercertificaat, dan moet dit veld worden leeggelaten. |
Subject.SubjectConfirmation.@Method | 1..1 | "urn:oasis:names:tc:SAML:2.0:cm:holder-of-key" | |
Subject.SubjectConfirmation.SubjectConfirmationData.KeyInfo.X509Data | 1..1 | - | X.509 serial van de UZI-pas (zorgverlener of medewerker op naam) of van het servercertificaat waarmee de handtekening is geplaatst. |
Conditions.@NotBefore | 1..1 | - | Eisen die gelden m.b.t. de geldigheidsperiode zijn beschreven in de reguliere AORTA publicatie. |
Conditions.@NotOnOrAfter | 1..1 | - | |
Conditions.AudienceRestriction.Audience | 1..n | - | |
AuthnStatement.@AuthnInstant | 1..1 | - | Tijdstip van authenticatie van de gebruiker (Subject) of applicatie. |
AuthnStatement.AuthnContext.AuthnContextClassRef | 1..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..1 | Zie onderstaande tabel. |
In het AttributeStatement zijn de volgende Attributen opgenomen:
@Name | Cardinaliteit | AttributeValue | |
Vaste waarde | Toelichting | ||
---|---|---|---|
"patientIdentifier" | 0..1 | - | ID van de patient. Verplicht bij patiëntgebonden interacties. Anders afwezig. Formaat van een burgerservicenummer:
Let op! De oude naam van dit attribuut was “burgerServiceNummer”. Deze oude attribuutnaam kan voorlopig nog worden gebruikt, en wordt dus nog ondersteund. Indien “burgerServiceNummer” wordt gebruikt als attribuut, dan zal de root OID niet zijn opgenomen in de attribuutwaarde, maar slechts het BSN. |
“messageIdRoot” | 1..1 | "2.16.840.1.113883.2.4.3.111.15.4" | |
“messageIdExt” | 1..1 | - | De waarde van het requestID dat zal worden meegestuurd in de AORTA-ID HTTP header. |
“InteractionId” | 0..1 | - | Het interactie-id, zoals opgenomen in de AORTA interactietabel. Zie de "Toelichting vulling InteractionId, contextCode en scope". |
“contextCodeSystem” | 0..1 | "2.16.840.1.113883.2.4.3.111.15.1" | Verplicht aanwezig wanneer “contextCode” aanwezig is. |
“contextCode” | 0..1 | - | De contextcode die aanduidt binnen welke (zorg)toepassing de FHIR-interactie word geïnitieerd, bijv. "BGZ", of "MEDGEGTOT". Zie de "Toelichting vulling InteractionId, contextCode en scope". |
“scope” | 0..1 | - | De scope waarop het transactietoken betrekking heeft. Zie de "Toelichting vulling InteractionId, contextCode en scope". |
“autorisatieregel/context” | 0..1 | - | URI waar de autorisatieregel/context gevonden kan worden waarbinnen het mandaat gegeven Moet aanwezig zijn indien gebruik gemaakt is van een mandaat. Lokaal is vastgelegd dat een bepaald mandaat daadwerkelijk door een mandaatverlener is toegekend aan een bepaald persoon/systeem. |
“applicationID” | 1..1 | - | ApplicatieID van de Resource Client (GBx-applicatie). Formaat van een applicatie-id:
Formaat “urn:oid:2.16.840.1.113883.2.4.6.6.<applicatie-id>” blijft vooralsnog toegestaan, maar wordt uitgefaseerd. |
“tokenVersion” | 0..1 | “1.0” | De versie van de tokendefinitie die wordt gehanteerd. Verplicht bij gebruik van deze versie van het token (Feature versie >= 2.1). Formaat: “<major versie>.<minor versie>”, conform semver. |
De Assertion bevat ook een Signature die is geplaatst met 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. In het kader van "vereenvoudig gebruik UZI-pas", mag de handtekening ook gezet worden met het servercertificaat (S) van de applicatie.
Met het transactietoken voor berichtauthenticatie wordt aan de ontvanger bewezen dat een bepaalde persoon of organisatie instaat voor de authenticiteit van een gegeven bericht. Wanneer hierbij gebruik is gemaakt van een verleend mandaat, dan bevat het token ook de URI van de van toepassing zijnde mandaatregel.
Toelichting vulling InteractionId, contextCode en scope
Wanneer een SAML AORTA transactietoken wordt gebruikt in een Token Exchange Request, dan moet de vulling van InteractionId, contextCode en/of scope van het transactietoken (functioneel) gelijk zijn aan de inhoud van het scope attribuut van het Token Exchange Request.
De volgende situaties worden ondersteund. De scope van het Token Exchange Request omvat:
exact één interactie-id: het transactietoken bevat dan
een InteractionId, plus (indien van toepassing voor de interactie) een contextCode, OF
een scope attribuut met een vulling die gelijk is aan de scope van het Token Exchange Request
Meerdere interactie-id’s: het transactietoken bevat dan
een scope attribuut met een vulling die gelijk is aan de scope van het Token Exchange Request
Alle interactie-id’s (pull) die horen tot één specifieke contextcode: het transactietoken bevat dan
een contextCode, OF
een scope attribuut met een vulling die gelijk is aan de scope van het Token Exchange Request
Eén of meerdere interactie-id’s m.b.t. een Mitz toestemmingsregistratie: het transactietoken bevat dan
een scope attribuut met een vulling die gelijk is aan de scope van het Token Exchange Request
Wanneer een GBx-applicatie een transactietoken maakt om een v3-interactie te kunnen initiëren dan is de volgende situatie van toepassing:
het transactietoken bevat één InteractionId, plus (indien van toepassing voor de interactie) een contextCode.
Wanneer een een GBx-applicatie een transactietoken maakt om een bestaand abonnement dat is genomen op een gegevenssoort te kunnen verwijderen dan dient het scope attribuut in het transactietoken gelijk te zijn aan de scope van het Token Exchange Request (bijv. “delete:aorta-subscription:1~aorta.gegevenssoort.272353~normaal“).