OSO:2017/beveiliging/opzet paginas
Overstapservice Onderwijs: 2017/beveiliging/opzet paginas
Versleuteling persoonsgebonden nummer (de zoeksleutel)
In het onderwijs wordt een persoonsgebonden nummer (PGN) gebruikt, meestal het BSN. In sommige gevallen hebben leerlingen (nog) geen BSN, bijvoorbeeld asielzoekers of leerlingen die niet in Nederland wonen. In dit geval krijgen ze een tijdelijk onderwijsnummer.
In dit stuk van de wet staat:
persoonsgebonden nummer (PGN):
het burgerservicenummer (BSN), bedoeld in artikel 1, onder b, van de Wet algemene bepalingen burgerservicenummer, dan wel het door Onze Minister uitgegeven onderwijsnummer, bedoeld in artikel 27b, vierde lid
Een BSN moet voldoen aan een variant op de 11-proef. Het bsn kan op de volgende wijze gecontroleerd worden: (9*p1 + 8*p2 + 7*p3 + 6*p4 + 5*p5 + 4*p6 + 3*p7 + 2*p8 - p9) MOD11 = 0.
Een onderwijsnummer moet ook voldoen aan een variant op de 11-proef. Het onderwijsnummer kan op de volgende wijze gecontroleerd worden: (9*p1 + 8*p2 + 7*p3 + 6*p4 + 5*p5 + 4*p6 + 3*p7+ 2*p8) MOD11 = p9 + 5. Het onderwijsnummer begint altijd met een 1.
In de Overstapservice is het niet toegestaan om het PGN te versturen naar het Traffic Center. Daarom bevatten interacties met het Traffic Center nooit het PGN, maar een afgeleide identificatie, de zoeksleutel genaamd. De zoeksleutel wordt afgeleid uit het PGN van de leerling. Om te voorkomen dat onbevoegden deze zoeksleutel weer tot het PGN kunnen herleiden is de zoeksleutel altijd asymmetrisch versleuteld. De versleuteling is gebaseerd op het RSA algoritme en er wordt dus gebruik gemaakt van een sleutelpaar. Er is een publieke sleutel welke bekend is bij elke leverancier en een privé sleutel welke alleen bekend is bij Kennisnet. Kennisnet kan de zoeksleutel ontsleutelen tot het PGN om te kunnen voldoen aan de zorgplicht (=> waar is een leerling heen gegaan?). Leveranciers kunnen de publieke sleutel verkrijgen bij OSO-support.
De zoeksleutel is de versleutelde combinatie van het prefix van 4 cijfers en het PGN van 9 cijfers.
typenummer/prefix | betekenis |
---|---|
2318 | dit typenummergeeft aan dat het om een burgerservicenummer (BSN) gaat.
Een voorbeeld van een BSN is 173999529. Het getal 2318173999529 moet versleuteld worden tot de zoeksleutel. |
3872 | dit typenummer geeft aan dat het om een tijdelijk onderwijsnummer gaat.
Een voorbeeld van een onderwijsnummer is 101211151. Het getal 3872101211151 moet versleuteld worden tot de zoeksleutel. |
Voorbeeld: leerling heeft BSN 111222333, dan moet de combinatie 2318111222333 versleuteld worden tot zoeksleutel.
Hieronder volgt een voorbeeld van een (nep) RSA publieke sleutel.
<RSAKeyValue>
<Modulus>0EVKqqr5JyI4tYnOO1sDbazqyJY78rpBcvrcmbimjRkcwkpQ1knwVKURccH5oaSdhaXptg+9QcBqbC0p3SLym7f3hyeLCJvxNEV4JPZ7L5GbnsC8Ux5HxLinW/B6mF8jMYh5du5X7OKytNA2qlGdwe7qM</Modulus>
<Exponent>AQA2</Exponent>
</RSAKeyValue>
De uitkomst van de versleuteling is de zoeksleutel. Deze sleutel wordt in het overdrachtsrequest meegestuurd. Bijvoorbeeld:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://xml.eld.nl/schemas/Overstapservice/VERSIENUMMER">
<soapenv:Header/>
<soapenv:Body>
<ns:overdrachtRequest>
<ns:bronBrin>00YY</ns:bronBrin>
<ns:bronAanleverpuntIndex>0</ns:bronAanleverpuntIndex>
<ns:doelBrin>00YY</ns:doelBrin>
<ns:doelAanleverpuntIndex>102</ns:doelAanleverpuntIndex>
<ns:zoeksleutel>xz/Zn95R9aSdJ/BeNSQs231pogl9evDlUO8NIuAEKhfHWjV...dT4BA7MkT3EBuYUEtPcRtBXY=</ns:zoeksleutel>
<ns:overdrachtsoort>overdrachtbinnenbrin</ns:overdrachtsoort>
</ns:overdrachtRequest>
</soapenv:Body>
</soapenv:Envelope>