Titel | IBP van M2M gegevensuitwisselingen |
Status | DRAFT |
Datum | 2 maart 2023 |
In het Edu-V Ecosysteem worden gegevens uitgewisseld tussen Leveranciers ten behoeve van Onderwijsinstellingen (hierna: Partijen). De gegevensuitwisselingen vinden tussen systemen (M2M) plaats. Deze gegevensuitwisselingen dienen veilig te zijn en kunnen in sommige gevallen alleen plaatsvinden na een mandaat van een Onderwijsinstellingen en het activeren van een uitwisseling van een gegevenssoort voor een School. In het Edu-V afsprakenstelsel is deze beveiliging op vijf lagen georganiseerd.
Beveiligingslaag | Toelichting | Relatie |
---|---|---|
1. Registratie | Een Leverancier (L) of een Onderwijsinstelling (O) registreert zich bij het Edu-V afsprakenstelsel en wordt Deelnemend leverancier (DL) of Deelnemend Onderwijsinstelling (DO) | L → DL O → DO |
2. Aansluiting | Een Deelnemend leverancier (DL) identificeert en authenticeert zich voor een gegevensuitwisseling bij een andere Deelnemend leverancier en wordt Deelnemend Leverancier Verzender (DLV) of Ontvanger (DLO). | DL → DLV of DLO |
3. Connectie (Uitwisseling) | Een Deelnemend Leverancier Verzender (DLV) wisselt gegevens uit met een Deelnemend Leverancier Ontvanger (DLO). Deze uitwisseling wordt gedaan via een veilige connectie. | DLV <-V-> DLO |
4. Mandaat (Overeenkomst) | Een Deelnemend Onderwijsinstelling (DO) mandateert een Deelnemend Leverancier voor het verwerken van gegevens. De Deelnemend Leverancier wordt Deelnemend Leverancier met Mandaat (DLM) voor de desbetreffende Deelnemend Onderwijsinstelling. | DL → DLM voor DO |
5. Activering (Instemming) | Een Administrator van een School van een Deelnemend Onderwijsinstelling (DO) activeert de uitwisseling van een gegevenssoort tussen een Deelnemend Leverancier Verzender met Mandaat (DLMV) en Deelnemend Leverancier Ontvanger met Mandaat (DLMO) voor een specifieke School (s). | DLMVs <-V-> SLMOs voor s binnen DO |
Keuze: Gaan alleen Leveranciers gegevens uitwisselen. Of kunnen ook Onderwijsinstellingen een Business Rol gaan vervullen en gegevens gaan uitwisselen? Denk bijvoorbeeld aan een MBO-instelling die de rol van Leerdashboardaanbieder gaat vervullen en voortgangsgegevens en toetsresultaten combineert in een eigen ontwikkeld Dashboard.
Laag 1. Registratie – Partijen zijn bekend
Alle Partijen in het Ecosysteem dienen zich te conformeren aan de afspraken uit het Afsprakenstelsel Edu-V. Op deze manier beheersen we de continuïteit en de veiligheid van het Ecosysteem. Bij de registratie wordt tevens de identiteit van de Partij vastgelegd. Op deze manier kan een Partij in het Ecosysteem worden geïdentificeerd en kan een Partij op een veilige manier deelnemen aan gegevensuitwisselingen en kan een Onderwijsinstelling mandaten verstrekken aan Leveranciers voor het uitwisselen van gegevens.
Op welke wijze gaan we Leveranciers registreren?
Voorstel: Edu-V met identifier OIN
Voorstel: Leverancier registreert zijn Rollen en gekozen Referentiecomponenten
Voorstel: Leverancier registreert zijn endpoints
Voorstel: Leverancier registreert contactgegevensOp welke wijze gaan we Onderwijsinstellingen registreren?
Voorstel: RIO met identifier OIN
Voorstel: Een Onderwijsinstelling is een Bevoegd GezagIs het noodzakelijk om ook de Schoollocaties te registreren?
Voorstel: Nee. De Onderwijsinstelling volstaat.Op welke wijze gaan we Schoollocaties binnen een Onderwijsinstelling identificeren?
Voorstel: RIO met identifier combinatie Onderwijsaanbieder en Onderwijslocatie.
Laag 2. Aansluiting – Leveranciers zijn gekoppeld
Om een gegevensuitwisseling tot stand te brengen tussen Leveranciers dienen de Leveranciers technisch op elkaar aangesloten te zijn. In het Edu-V afsprakenstelsel worden afspraken gemaakt over de specificatie van koppelvlakken voor iedere Business rol en referentiecomponent. Een Leverancier kan met een andere Leverancier koppelen vanuit één of meerdere van deze Business rollen en gekozen referentiecomponenten. Bilateraal kunnen daarnaast afspraken gemaakt worden welke gegevenssoorten er tussen de Leveranciers uitgewisseld worden.
Welke controles worden gedaan voordat een Leverancier wordt aangesloten?
Voorstel: Leverancier is deelnemer van Edu-VWelke informatie dient er uitgewisseld te worden voor de technische aansluiting?
Voorstel: client credentials voor identificatie en authenticatie middels OAuth (zie volgende laag).
Voorstel: technische documentatie en acceptatieomgeving voor testen.
Voorstel: bilaterale afspraken zoals SLAOp welke wijze wordt in het Ecosysteem vastgesteld welke gegevenssoorten er uitgewisseld mogen worden tussen Leveranciers?
Voorstel: bij de aansluiting worden afspraken gemaakt over welke APIs en bijbehorende scopes er aangesloten worden.
Laag 3. Connectie – Iedere uitwisseling is veilig
Iedere gegevensuitwisseling dient plaats te vinden via een beveiligde connectie. Deze connectie vindt plaats door een aantal stappen:
Identificeren en authenticeren van Verzender of Ontvanger.
Autoriseren van Verzender of Ontvanger.
De uitwisseling vindt plaats via een beveiligde communicatielijn.
De uitwisseling is gebaseerd op een moderne standaard.
Op welke wijze identificeren en authenticeren we een Verzender of Ontvanger?
Voorstel: Hanteren van OAuth profiel van Edukoppeling. Dit profiel is gebaseerd op het OAuth Client Credentials protocol.
Overweging: Edukoppeling Identificatie en Authenticatie heeft expliciete afspraken over het hanteren van PKI-overheidscertificaten voor het identificeren van een Partij. Is dit noodzakelijk of volstaat een geldig TLS-certificaat?Op welke wijze autoriseren we een Verzender of Ontvanger (de Leverancier die een API bevraagt)?
Voorstel: Autorisatie voor de gegevenssoorten en de bilaterale overeenkomst tussen Leveranciers gebeurt op basis van de beide aansluiting overeengekomen API en scopes. De Verzender of Ontvanger vraagt een Token aan met een specifieke scope.
Voorstel: Voor gegevenssoorten waarbij een mandaat van een Onderwijsinstelling verplicht is wordt periodiek door de Leveranciers gecontroleerd of de andere Leverancier beschikt over dit mandaat. Als alternatief kan dit ook bij iedere aanvraag van een Token, maar dit is mogelijk overkill.
Voorstel: In aanvulling op het mandaat dient een Onderwijsinstelling een uitwisseling van een gegevensoort van een school te activeren. Dit betekent dat bij het benaderen van een endpoint gecontroleerd wordt of de gegevensuitwisseling voor de betreffende school geactiveerd is. Een Verzender of Ontvanger vraagt in het geval van een dergelijke uitwisseling een Token aan voor de School.
Overweging: Edukoppeling Identificatie en Authenticatie heeft expliciete afspraken over routering op basis van het from-to principe bij iedere gegevensuitwisseling. Zo kan een Leverancier achter de voordeur een verzoek achter de voordeur routeren voor en naar de correcte onderwijsinstelling. Dit is een implementatiekeuze voor mandaten. Nemen we deze over?Op welke wijze beveiligen we de communicatielijn?
Voorstel: Hanteren van Uniforme Beveiliging Voorschriften (UBV) voor M2M gegevensuitwisselingen. Het betreft dan zowel de Headers als TLS afspraken.Welke standaard hanteren we voor de uitwisseling?
Voorstel: Hanteren van REST/SAAS profiel van Edustandaard, rekening houdend met de overwegingen zoals geformuleerd op deze pagina. Denk onder m
4. Uitwisseling na mandaat van onderwijsinstelling
De gegevens die uitgewisseld worden zijn van de Onderwijsinstelling of van de Leverancier. Zo vallen gegevens over gebruikersgegevens (onderwijsdeelnemers of onderwijsmedewerkers) en gebruiksgegevens (onder meer gebruiksgegevens over leermiddelen, voortgangsgegevens over leermaterialen en toetsresultaten over toetsen) onder de verwerkersverantwoordelijkheid van een Onderwijsinstelling. Anderzijds worden ook gegevens over Leermiddelen, Leermaterialen en Toeten uitgewisseld die wederom onder de verantwoordelijkheid van Leveranciers vallen. Een uitwisseling van de eerste orde kan alleen plaats vinden nadat de onderwijsinstelling de leverancier heeft gemandateerd om gegevens uit te mogen wisselen.
5. Uitwisseling na activering door een school of individu
De Leveranciers die optreden als Verzender en Ontvanger zijn beide reeds gemandateerd door de Onderwijsinstelling om gegevens uit te wisselen. Dit is reeds vastgesteld in stap 2. Echter dit wil niet zeggen dat voor alle scholen die onder deze verwerkersverantwoordelijke vallen ook alle gegevenssoorten uitgewisseld kunnen gaan worden.
In het Ecosysteem gaan we uit van het principe: ‘gegevens worden uitgewisseld na instemming van de rechthebbende’ en meer in het bijzonder ‘De rechthebbende (school of individu) heeft zeggenschap over zijn of haar gegevens’. De implicatie hiervan is dat een rechthebbende expliciet instemming verleent voor het uitwisselen van een gegevenssoort tussen Verzender en Ontvanger.
OUD
Niveau | Inhoud | Transactie | Beveiliging |
---|---|---|---|
Instemming | Informatie van school | Instemming school | Consentregistratie |
Rol | API en Scope | Aansluiting leveranciers | OAuth Client Credentials |
Referentie-component | Entiteiten en Berichten | Gegevensuitwisseling | OAuth Client Credentials flow met Token en Scopes |
Verzender en Ontvanger | Data | Communicatieprotocol | Uniforme Beveiligingsvoorschriften |
OAuth2.0 Client Credentials flow
<TO BE ADDED>
OAuth2.0 Token en scopes
<TO BE ADDED>
Consentregistratie
<TO BE ADDED>