Procesbeschrijvingen
MedMij Core beschrijft processen op het autoriseren, authenticeren en verzamelen van gegevens. Solution design voegt hier een functie Starten en gegevensdienst Verzamelen taken aan toe.
Deelnemers implementeren de volgende stappen met de bijbehorende beveiligingsmaatregelen:
SMART on FHIR App Launch
Verschillende varianten van het starten van modules kwamen naar voren tijdens het ontwerpproces. In het starten van aanbiedermodules kiezen wij voor een HL7 SMART on FHIR
App Launch, een industriestandaard waarbij als nodig de gebruiker opnieuw geïdentificeerd wordt. Het probleem wat we oplossen is dat in het launch-proces de browser geauthenticeerd moet worden. Het onderscheppen van de launch-request (POST of GET) in communicatie is een onacceptabel risico. Door een launch-context te registereren en de browser vooraf en na de start van de aanbiedermodule bij DVA langs te laten gaan voorkomen wij dit.
Token exchange en optionele gebruikersidentificatie
In deze optie gebruikt het PGO Token Exchange (RFC 8693) om een launch_token op te halen bij de DVA, waarna een launch wordt gedaan naar de module met de DVA FHIR server als audience. De module start vervolgens een SMART on FHIR flow met de DVA, waarbij de DVA de gebruiker (niet alleen de browser sessie) opnieuw identificeert om bijvoorbeeld te voldoen aan juridische kaders waarbinnen de uitwisseling plaatsvindt.
Deze optie beschrijft een architectuur waarbij het PGO eerst een launch_token verkrijgt via Token Exchange, waarna de module een volledige SMART on FHIR flow doorloopt met gebruikersidentificatie bij de DVA. De combinatie van launch_token en gebruikersidentificatie biedt dubbele beveiliging. Op hoog niveau:
De PGO gebruikt de bestaande usecase Verzamelen en krijgt een access_token van de DVA
Voor module launch: PGO gebruikt Token Exchange om een launch_token te verkrijgen
PGO stuurt gebruiker naar module met launch_token en DVA als audience
Module start SMART on FHIR flow met DVA
DVA kan de gebruiker opnieuw identificeren (niet alleen browser sessie)
Module krijgt access_token van DVA voor directe resource toegang
Voordelen van deze Token Exchange Launch Token aanpak:
Dubbele beveiliging: Zowel launch_token als gebruikersidentificatie
Standaard SMART on FHIR: Module gebruikt bekende SMART launch flow met DVA
Token Exchange compliance: Gebruikt RFC 8693 voor launch_token verkrijging
Gebruikerszekerheid: DVA kan gebruiker opnieuw identificeren voor gevoelige modules
Directe toegang: Module communiceert direct met DVA FHIR service
Flexibiliteit: DVA kan verschillende identificatiemethoden gebruiken
Audit trail: Volledige logging van zowel launch_token als gebruikersidentificatie