Ga naar inhoud

Interactiepatronen GBO

Dit document beschrijft de belangrijkste interactiepatronen voor GBO zoals afgeleid uit de use cases. In de patronen is op verschillende plekken sprake van een "dienst"; dit kunnen standaarden of centrale of decentrale voorzieningen zijn. Daar wordt in het hoofdstuk Capabilities dieper op ingegaan.

Gegevensverzoek van private partij met toestemming aan bronhouder (DvTP)

Doel

Een private dienstverlener haalt gegevens op bij een bronhouder op basis van een geldige toestemming van de burger.

Interactie

sequenceDiagram autonumber actor Burger participant DV as Dienst-<br/>verlener participant Auth as Authenticatie-<br/>dienst participant TV as Toestemmings-<br/>voorziening (GBO) participant PP as BSNk PP<br/>(pseudonimisering) participant TR as Toestemmings-<br/>register participant BRH as Bron-<br/>houder Note over Burger,BRH: Fase 1 — Toestemming verlenen rect rgb(225, 245, 238) Burger->>DV: Neemt dienst af DV->>Burger: Redirect naar toestemmingsvoorziening GBO<br/>(met scope + doelbinding) Burger->>TV: Volgt redirect TV->>Auth: Authenticatieverzoek Note over Auth: DigiD óf EDI-Wallet (eIDAS 2.0) Auth->>Burger: Authenticeer burger Burger-->>Auth: Authenticatie Auth-->>TV: BSN (geverifieerde identiteit) TV->>PP: Pseudonimiseer BSN<br/>(BSNk PP) PP-->>TV: Pseudoniem (PP-id) TV->>Burger: Toon gegevens waarvoor toestemming<br/>gevraagd wordt (scope + doelbinding) Burger-->>TV: Verleent toestemming TV->>TR: Schrijf toestemming in register<br/>(PP-id · scope · doelbinding · TTL) TR-->>TV: consent_id TV->>DV: Redirect terug naar dienstverlener<br/>(met consent_id) end Note over DV,BRH: Fase 2 — Gegevensopvraging bij bronhouder rect rgb(238, 237, 254) DV->>BRH: Gegevensverzoek<br/>(consent_id · mTLS / certificaat) BRH->>BRH: Authenticeer dienstverlener<br />(via certificaat) BRH->>BRH: Controleer bevoegdheid<br />(via FSC contract/Trusted List) BRH->>TR: Valideer consent_id<br/>(geldig? scope? TTL?) TR-->>BRH: Consent geldig + PP-id BRH->>BRH: Controleer data scope<br />(template match) BRH->>PP: De-pseudonimiseer PP-id<br/>(BSNk PP) PP-->>BRH: BSN BRH-->>DV: Gevraagde gegevens<br/>(gezegeld door bronhouder) end
Interactiepatroon Private Partij haalt gegevens op met toestemming van de burger

Toelichting

De dienstverlener kan rechtstreeks gegevens opvragen bij de bronhouder, maar heeft daarvoor toestemming van de burger nodig. Deze toestemming wordt door GBO afgehandeld via een toestemmingsvoorziening (een interface waar de burger vrij, specifiek, geïnformeerd en ondubbelzinnig de toestemming verleent) en een toestemmingsregister waar de toestemming wordt vastgelegd en waar deze gecontroleerd kan worden. De toestemmingsvoorziening moet de burger ook toegang geven tot de gegeven toestemmingen om te zien of die is gebruikt en om deze - indien relevant - in te trekken.

De dienstverlener gebruikt nooit het BSN van de burger. Daarom moet deze gepseudonimiseerd worden. De pseudonimisering moet zo gebeuren dat de dienstverlener deze telkens kan depseudonimiseren naar een eigen identificatie, die echter geen betekenis heeft voor andere partijen. De bronhouder moet het pseudoniem kunnen depseudonimiseren naar het originele BSN.

Bij controle van de gegevensvraag door de dienstverlener bij de bronhouder, authenticeert de bronhouder de dienstverlener op basis van het certificaat dat ook voor de versleuteling van het transport (mTLS) gebruikt wordt. Daarnaast moet de bronhouder controleren of de dienstverlener bevoegd is om gegevens op te vragen. Dat kan via FSC-contracten - de dienstverlener moet een contract hebben afgesloten om de API van de bronhouder te mogen bevragen. Dit kan ook op basis van een lijst met bevoegde afnemers (Trusted List). Zo'n lijst kan sectoraal beheerd worden, wat voorkomt dat een bronhouder met heel veel afnemers (bv. alle hypotheekverstrekkers) contracten moet afsluiten en beheren.

Gegevensverzoek van burger om gegevens via wallet te delen

Doel

Een burger vraagt een gegeven op als gekwalificeerd elektronisch attest van een attribuut om in zijn/haar wallet op te nemen en te delen met een dienstverlener.

Interactie

sequenceDiagram autonumber actor Burger participant Wallet as EDI-Wallet participant QTSP as QTSP participant PubEAA as PuB-EAA<br/>voorziening participant VerifDienst as Verificatie-<br/>dienst participant Auth as Autorisatie<br/>voorziening participant Bron as Overheids-<br/>bron participant DV as Dienst-<br/>verlener Note over Burger,Bron: Stroom A — PuB-EAA: overheidsinstantie geeft attribuut rechtstreeks uit rect rgb(225, 245, 238) Burger->>Wallet: Vraag attribuut op (OID4VCI initiate) Wallet->>PubEAA: Credential Request (OID4VCI) Note over PubEAA: PuB-EAA voorziening: aangeboden<br/>door bron zelf óf centraal via GBO PubEAA->>Auth: Autorisatieverzoek Auth->>Wallet: Authenticatie- & autorisatieverzoek Wallet->>Burger: Toont verzoek & vraagt consent Burger->>Wallet: Geeft consent & presenteert PID / eID Wallet->>Auth: Authenticatie / consent (OID4VCP met PID / eID) Auth->>PubEAA: Autorisatie (incl. identificatie burger) PubEAA->>Bron: Bevraag bron (met access token) Bron-->>PubEAA: Attribuutgegevens PubEAA->>PubEAA: Kwalificeer attribuutgegevens PubEAA-->>Wallet: PuB-EAA credential<br/>(SD-JWT VC · ISO 18013-5,<br/>QESeal door overheidsinstantie) Wallet-->>Burger: PuB-EAA opgeslagen in wallet end Note over Burger,Bron: Stroom B — QEAA: QTSP kwalificeert attribuut via verificatiedienst rect rgb(238, 237, 254) Burger->>Wallet: Vraag attribuut op (OID4VCI initiate) Wallet->>QTSP: Credential Request (OID4VCI) Note over QTSP: QTSP verifieert attribuut<br/>via verificatiedienst QTSP->>VerifDienst: Verificatieverzoek Note over VerifDienst: Verificatiedienst: aangeboden<br/>door bron of centraal via GBO VerifDienst->>Auth: Autorisatieverzoek Auth->>Wallet: Authenticatie- & autorisatieverzoek Wallet->>Burger: Toont verzoek & vraagt consent Burger->>Wallet: Geeft consent & presenteert PID / eID Wallet->>Auth: Authenticatie / consent (OID4VCP met PID / eID) Auth->>VerifDienst: Autorisatie (incl. identificatie burger) VerifDienst->>Bron: Bevraag bron (met access token) Bron-->>VerifDienst: Attribuutgegevens VerifDienst-->>QTSP: Geverifieerd attribuut QTSP-->>Wallet: QEAA credential<br/>(SD-JWT VC · ISO 18013-5,<br/>QES/QESeal door QTSP) Wallet-->>Burger: QEAA opgeslagen in wallet end Note over Burger,DV: Gebruik — burger deelt credential met dienstverlener rect rgb(250, 238, 218) Burger->>DV: Deel credential (OID4VP) DV->>DV: Controleer credential Note over DV: PuB-EAA of QEAA,<br/>gelijke juridische status (eIDAS 2.0) end
Gegevensverzoek van burger om credential via wallet te delen

Toelichting

Iedere bronhouder kan in theorie gegevens uitleveren aan wallets, maar deze gegevens krijgen pas juridische waarde als ze gekwalificeerd zijn. Dat kwalificeren kan op twee manieren: de overheid ondertekent het gegeven, waardoor het een PuB-EAA wordt, of een gekwalificeerde verlener van vertrouwensdiensten (QTSP) doet dit.
Als de overheid het gegeven kwalificeert kan de bronhouder dit zelf doen, maar het kan schaalvoordeel bieden om dit te centraliseren in een GBO PuB-EAA-dienst. Als een QTSP het gegeven kwalificeert, moet deze QTSP het gegeven kunnen verifiëren via een verificatiedienst. Ook hier kan een bronhouder de dienst zelf aanbieden, of kan ervoor gekozen worden om dit te centraliseren in een GBO verificatiedienst. Ook de autorisatiedienst die door de Pub-EAA-dienst en de verificatiedienst aangeroepen wordt, kan door de bronhouder aangeboden worden, maar het biedt schaalvoordeel om dat te centraliseren in een GBO dienst.

Gegevensverzoek van Europese overheidsdienst aan Nederlandse overheidsbron

Doel

Een Europese overheidsdienst vraagt een gegeven (Evidence Request) aan een Nederlandse overheidsbron om een dienst aan een Nederlandse burger te kunnen leveren.

Interactie

sequenceDiagram autonumber participant BRG as Burger<br/>(rechthebbende) participant EU as EU dienst<br/>(SDG/OOTS) participant RINIS as RINIS (namens BZK)<br/>(Basisinrichting OOTS) participant GBO as GBO<br/>(GBO voorziening) participant BRH as Bronhouder<br/>(BRP / BD / …) rect rgb(230, 241, 251) Note over BRG,EU: ① Burger neemt dienst af BRG->>EU: Dienst (vereist gegeven Bronhouder) end rect rgb(230, 241, 251) Note over EU,RINIS: ② Ontvangst OOTS-verzoek (eDelivery/AS4) EU->>RINIS: Evidence Request (eDelivery/AS4) end rect rgb(238, 237, 254) Note over RINIS,BRG: ③ Authenticatie & toestemming burger (RINIS) RINIS->>BRG: Toestemmingsverzoek BRG->>RINIS: Toestemming (incl. BSN) end rect rgb(250, 238, 218) Note over RINIS,GBO: ④ Doorzetten naar GBO (nationaal) RINIS->>GBO: OOTS-payload (REST/JSON) Note over RINIS: eDelivery → REST ontkoppeling end rect rgb(225, 245, 238) Note over GBO,BRH: ⑤ Bronontsluiting (GBO generieke API) GBO->>BRH: API-aanroep (GBO-formaat) BRH->>GBO: Gegevens (JSON/REST) end rect rgb(250, 238, 218) Note over GBO: ⑥ Semantische mapping & logging (intern GBO) Note over GBO: GBO-formaat → SDG Evidence type · audit log · doelbinding end rect rgb(230, 241, 251) Note over GBO,EU: ⑦ Terugkoppeling via RINIS naar EU GBO->>RINIS: Evidence Response (REST/JSON) Note over RINIS: REST → eDelivery inpakken RINIS->>EU: Evidence Response (AS4/eDelivery) end
Interactiepatroon gegevensverzoek Europese overheidsdienst via SDG/OOTS

Toelichting

RINIS is het nationale toegangspunt voor eDelivery en verzorgt namens BZK de basisinrichting OOTS — het Nederlandse toegangspunt en de generieke koppelingen met gerelateerde systemen. RINIS verzorgt de toestemmingsinteractie met de burger en de identiteitsvastelling, en vertaalt het verzoek naar een nationaal berichtformaat.
GBO verzorgt de bronbevraging en en de semantische mapping naar het SDG Evidence-formaat.

De praktische knip zit op het grenswerk tussen fase 3 en fase 4 in het diagram: RINIS ontvangt het AS4-bericht van buiten, verzorgt de toestemmingsflow, pakt de OOTS-payload uit en geeft die als REST-aanroep door aan GBO. Bij de terugkoppeling (fase 7) geldt het omgekeerde: GBO geeft de Evidence Response terug aan RINIS, die het opnieuw inpakt in AS4 voor verzending. Bronhouders zien uitsluitend de GBO-API — OOTS-kennis is voor hen niet nodig. Ook de toestemming en de autorisatie zijn al afgehandeld en vormen geen belemmering voor de bronhouder.