Ga naar inhoud

Solution strategy

The design rests on the pillars in the following tables. Each pillar links to the decisions that record its rationale and to the page that gives the details. The pillars realize the capabilities of the PSA within the solution shape of the GO. gbo-demo v0.9.0 implements every pillar that is marked "built".

The generic chain

Pillar Approach Decisions Detail
Data access Each bronhouder has one GraphQL API. The query is the authorization object. ADR-0001, ADR-0025 Building blocks
Connectivity All domestic traffic uses FSC. Protocol adapters at the edge handle all other traffic. ADR-0003 Deployment view
Authorization The FSC Inway is the PEP. OPA/Rego in OpenFTV is the PDP, behind AuthZEN with the FTV GraphQL profile. Authorization has five separable concerns and one PDP per bronhouder. There is no central authorization server. Rules are plain Rego, bound by regime, FSC service, and field. ADR-0002, ADR-0004, ADR-0009, ADR-0013 Authorization
Regime from evidence The evidence that a request carries selects the regime. A consent proof gives the consent regime. Without a consent proof, the PID regime applies. Grants carry no properties. ADR-0031 Regime selection
Admission A register admits parties. The decision policy does not admit parties. A separate policy decides on FSC contracts. An integrator connects under FSC delegation with a registered mandate. ADR-0015, ADR-0034 Admission and activation
Policy management Each bronhouder manages and distributes its own policy. GBO supplies a reference policy set and guidelines (RL-01 to RL-05). GBO does not supply a central PAP. ADR-0021 Policy lifecycle
Source onboarding Sources publish their own service description. A reconciler validates the description, and an operator activates it. A valid contract alone does not activate a source. ADR-0016 Source onboarding
Pillar Approach Decisions Detail
Consent proof A signed consent proof carries an encrypted value per source. The consumer names the subject with a placeholder. For every request, the policy verifies the proof and asks for the status online over FSC. ADR-0032 Consent, DvTP query
Pseudonymization The design uses BSNk PP only at consent time. After the allow decision, the source gateway decrypts the value for its own OIN. Only the FSC Inway reaches the gateway. The consent facility (toestemmingsvoorziening) recognizes the citizen by its own keyed reference (route D, proposed). ADR-0005, ADR-0033, ADR-0040 Pseudonymization

EUDI routes

Pillar Approach Decisions Detail
EUDI issuance Issuance is disclosure-based OpenID4VCI on the nl-wallet stack. Sources feed it over FSC under the PID regime. The bronhouder is the PuB-EAA provider, and GBO operates the facility. Built. The PSA treats wallet support (P-06) as a hook outside version 1. ADR-0018, ADR-0017, ADR-0028 EUDI issuance
ASI verification An OAuth front door as specified in ETSI TS 119 478 clause 6.1 (verify, retrieve, authorization server). The QTSP is an OAuth client and does not take part in FSC. The design has one data service per authentic source and one token per data service. The source describes its ASI attributes. Built, demo grade. ADR-0037, ADR-0038, ADR-0039 ASI verification

Audit and traceability

Pillar Approach Decisions Detail
Audit The design has three authoritative records: the ADL for authorization decisions, the LDV logbook of each controller for processings, and FSC-Logging for transport. Observability tools are not audit records. ADR-0036, ADR-0026 Logging, audit and traceability
Traceability W3C Trace Context is the correlation key. Each component records the FSC transaction ID next to the trace ID. ADR-0035 Correlation

Design-level and proposed elements

Two strategy elements exist at design level only. Both reuse the generic chain:

  • The AS4 bridge for SDG-OOTS (ADR-0020) is a protocol adapter in front of the same FSC and authorization chain.
  • Gov-to-Gov needs its own positive evidence for the legal-basis regime (ADR-0031). No rule set exists for this regime (R3).

Four decisions have the status proposed. Each one waits for an open question or a demo issue:

Traceability