BRP-API / Haal-Centraal-Reisdocumenten-bevragen

https://brp-api.github.io/Haal-Centraal-Reisdocumenten-bevragen/
Other
3 stars 3 forks source link

Als PO wil ik geen Uniform Resource Identifier met een BSN #50

Open CathyDingemanse opened 2 years ago

CathyDingemanse commented 2 years ago

...zodat geen privacy gevoelige en tot personen herleidbare informatie in (access) logs (van client en server) terecht komt En door onbevoegden kan worden ingezien.

Threat type Information Disclosure: ongeautoriseerde toegang tot data

Threat: Raadplegen van een persoon met Burgerservicenummer Voor het raadplegen van een persoon wordt het burgerservicenummer gebruikt als pad parameter waardoor een identificerend gegeven in de url komt te staan. Uit de audit PWC: "Tot slot wordt (hoewel geen bijzonder categorie persoonsgegeven) conform de Uitvoeringswet AVG aan het burgerservicenummer wel een soortgelijke gevoeligheid toegekend."

Countermeasures:

  1. Vervang de BSN door een UUID. Voordeel is zijn dat we onze consumers de mogelijkheid bieden om niet het BSN op te slaan maar een UUID. Ander voordeel is dat we discoverability kunnen handhaven. Dit voordeel is binnen dezelfde API echter marginaal (ouders, partners, kinderen).
  2. Verwijder de GET endpoint en gebruik het POST zoek-endpoint ipv GET zodat het burgerservicenummer in de body van het request kan worden gestopt. Maak het mogelijk om bij dit zoek-type in plaats van de "persoon beperkt" de hele persoon te retourneren. Voordeel hiervan is dat consumer niet een extra request hoeft te doen door een bij hem/haar bekend persoon "te zoeken met BSN" en vervolgens "te raadplegen met UUID". Belangrijk bijkomend voordeel is dat RvIG niet voorafgaand aan de implementatie een nieuw nummer aan de GBA-V hoeft toe te voegen.

Gekozen is voor optie 2. Het GET endpoint met UUID kan altijd op een later moment evolvable worden toegevoegd. Bijvoorbeeld door consumers die hiervan graag gebruik willen maken in de request header te laten aangeven van het nieuwe endpoint gebruik te willen maken. Consumers die geen toegevoegde waarde zien, blijven het POST endpoint gebruiken.