Zorgaanbiederauthenticatie en -autorisatie
0.1.0 - prototype
Publish Box goes here
Het profiel volgt een fail-closed uitgangspunt: een ontbrekend, onleesbaar, onbetrouwbaar, tegenstrijdig, verlopen of herhaald bewijs stopt de flow bij de actor die het moet controleren. Een latere actor mag niet alsnog worden aangeroepen alsof de eerdere controle is geslaagd.
De flow stopt vóór de tokenaanvraag bij:
De referentie-workbench demonstreert een onbetrouwbare JWKS als fout tijdens de clientcontrole van het access token. Een afzonderlijk experiment trekt het geregistreerde broncertificaat in; de flow stopt dan bij discovery, vóórdat een client assertion of tokenverzoek wordt gebruikt.
Het tokenendpoint gebruikt OAuth-foutresponses:
| OAuth-fout | Toepassing |
|---|---|
invalid_client |
assertiontype, formaat, handtekening, organisatieclaims, audience, tijd, replay, clientregistratie of certificaatstatus |
unsupported_grant_type |
ander grant type dan client_credentials |
Gecontroleerde foutproeven zijn:
private_key_jwt als ongeldige client_assertion_type-waarde;jti;| OAuth-fout | Toepassing |
|---|---|
invalid_authorization_details |
ontbrekende of ongeldige RAR, type, purpose, location, doelorganisatie of resource |
invalid_dpop_proof |
ontbrekende of ongeldige tokenendpoint-proof |
invalid_request |
veilig afgevangen request dat niet verder kon worden verwerkt |
Gecontroleerde foutproeven zijn:
resource en RAR-location;De server geeft bij deze fouten geen access token uit.
Het clientsysteem stopt vóór de resource-aanroep bij:
De workbench maakt vier van deze situaties gericht zichtbaar:
De resource server antwoordt bij ontbrekende of ongeldige authenticatie met
HTTP 401 en bij onvoldoende autorisatie met HTTP 403. De response bevat een
FHIR STU3 OperationOutcome; diagnostics bevat een veilige beslisregel-id en
omschrijving. Een WWW-Authenticate: DPoP-challenge onderscheidt
invalid_token, invalid_dpop_proof en insufficient_scope en publiceert
ES256 als geaccepteerd proofalgoritme.
Gecontroleerde foutproeven zijn:
cnf.jkt;jti;De onderliggende DPoP-validatie controleert daarnaast proofheader,
handtekening, htm, htu, tijd en ath.
Responses, logs en audit mogen geen compacte access tokens, client assertions, DPoP-proofs, privésleutels, keystorewachtwoorden of volledige secrets bevatten. Wel bruikbaar zijn:
De workbench gebruikt gesanitiseerde request- en responsebeelden om technische uitleg mogelijk te maken zonder de compacte bewijzen te tonen.
URA-A en URA-B houden gescheiden auditsporen. Een entry bevat minimaal:
URA-A registreert haar token- en resourceaanvragen en de ontvangen uitkomst. URA-B registreert tokenuitgifte, afwijzingen en dataverstrekking. Het gezamenlijke workbenchbeeld is alleen een onderwijsweergave; het is geen productie-auditvoorziening.
Open ontwerpkeuze: auditformaat, transport, bewaartermijnen, toegang, integriteitsbescherming, monitoring en incidentrespons moeten operationeel worden vastgesteld.