OSO:2017/beveiliging/opzet paginas: verschil tussen versies

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken
(Nieuwe pagina aangemaakt met '=== Versleuteling persoonsgebonden nummer (de zoeksleutel) === In het onderwijs wordt een persoonsgebonden nummer (PGN) gebruikt, meestal het BSN. In sommige geval...')
 
Regel 1: Regel 1:
  +
De wiki pagina's onder OSO'16 zijn opgezet met een pagina per thema en per themapagina onderverdeeld in hoofdstukken per configuratie item. De items zijn onderverdeeld in '''Eisen''' met daaronder '''Verklaring'''.<br/>
=== Versleuteling persoonsgebonden nummer (de zoeksleutel) ===
 
  +
De binnen de eisen genoemde bullets worden expliciet gemaakt door hier dik gedrukt te noemen:
  +
* '''moet'''
  +
* '''mag niet'''
  +
* En varianten hierop
   
  +
Hiermee wordt expliciet gemaakt dat aan deze eis, of onverwijld en volledig voldaan moet worden, of dat iets geen goed idee is, of dat iets niet gedaan mag worden. Het niet voldoen aan een eis vormt een blocker bij de kwalificatie.<br/>
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.
 
  +
Het is ook mogelijk dat de eis iets subtieler is:
  +
* '''onwenselijk''': Hetgeen genoemd is moet je eigenlijk niet willen en wordt afgeraden te doen. Het is echter (deze versie van OSO) geen blocker voor kwalificatie
  +
* '''acceptabel''': Hetgeen genoemd is voldoende sterk om veilig en betrouwbaar te gebruiken, echter zal dit niet een lange termijn oplossing zijn. Verbetering is wenselijk
  +
* '''zeer wenselijk''': Hetgeen genoemd is veilig en betrouwbaar, waardoor het ook op langere termijn blijft voldoen
   
  +
De verklaring onder de eisen legt vervolgens uit hoe de eisen gelezen moeten worden, soms toegelicht met voorbeelden. Ook refereert de verklaring naar externe stukken waarin terug te lezen is waarom en bepaalde beveiligingseisen tot stand zijn gekomen.
In [http://wetten.overheid.nl/BWBR0002399/2016-01-18#TiteldeelI_Artikel1 dit stuk] van de wet staat:
 
 
'''persoonsgebonden nummer (PGN):'''
 
 
het ''burgerservicenummer (BSN)'', bedoeld in [http://wetten.overheid.nl/BWBR0022428/2014-01-06#Hoofdstuk1_Artikel1 artikel 1, onder b, van de Wet algemene bepalingen burgerservicenummer], dan wel het door Onze Minister uitgegeven ''onderwijsnummer'', bedoeld in [http://wetten.overheid.nl/BWBR0002399/2016-01-18#TiteldeelII_AfdelingI_HoofdstukI_Paragraaf1_Artikel27b 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 [http://www.kennislink.nl/publicaties/encryptie-rsa-en-mceliece 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 [mailto:oso-support@kennisnetsupport.nl OSO-support].
 
 
De zoeksleutel is de versleutelde combinatie van het prefix van 4 cijfers en het PGN van 9 cijfers.
 
 
{| class="wikitable"
 
! 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.
 
<syntaxhighlight lang="xml" enclose="div">
 
<RSAKeyValue>
 
<Modulus>0EVKqqr5JyI4tYnOO1sDbazqyJY78rpBcvrcmbimjRkcwkpQ1knwVKURccH5oaSdhaXptg+9QcBqbC0p3SLym7f3hyeLCJvxNEV4JPZ7L5GbnsC8Ux5HxLinW/B6mF8jMYh5du5X7OKytNA2qlGdwe7qM</Modulus>
 
<Exponent>AQA2</Exponent>
 
</RSAKeyValue>
 
</syntaxhighlight>
 
 
De uitkomst van de versleuteling is de zoeksleutel. Deze sleutel wordt in het overdrachtsrequest meegestuurd. Bijvoorbeeld:
 
 
<syntaxhighlight lang="xml" enclose="div">
 
<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>
 
</syntaxhighlight>
 
 
{{Info|De zoeksleutel moet base64 encoded worden doorgegeven in het overdrachtsrequest en in het sessiecontrolerequest. In OSO moet hiervoor de 'standaard' Base64 content-transfer-encoding (zoals beschreven in RFC 4648, hoofdstuk 4), worden toegepast. NB: Deze encoding wijkt af van die toegepast in bijlagen(!).}}
 
{{Info|Een bronsysteem moet ervoor zorgen dat de zoeksleutel zoals deze wordt ontvangen van het doelsysteem wordt doorgegeven aan het TC. Er mogen GEEN bewerkingen of conversies toe worden gepast op de inhoud op het formaat van de zoeksleutel om te voorkomen dat het TC de sessie onterecht ongeldig verklaard.}}
 
   
 
[[Categorie:Overstapservice Onderwijs]]
 
[[Categorie:Overstapservice Onderwijs]]
[[Category:Book OSO|821]]
+
[[Category:Book OSO|815]]

Versie van 15 feb 2017 om 09:39

De wiki pagina's onder OSO'16 zijn opgezet met een pagina per thema en per themapagina onderverdeeld in hoofdstukken per configuratie item. De items zijn onderverdeeld in Eisen met daaronder Verklaring.
De binnen de eisen genoemde bullets worden expliciet gemaakt door hier dik gedrukt te noemen:

  • moet
  • mag niet
  • En varianten hierop

Hiermee wordt expliciet gemaakt dat aan deze eis, of onverwijld en volledig voldaan moet worden, of dat iets geen goed idee is, of dat iets niet gedaan mag worden. Het niet voldoen aan een eis vormt een blocker bij de kwalificatie.
Het is ook mogelijk dat de eis iets subtieler is:

  • onwenselijk: Hetgeen genoemd is moet je eigenlijk niet willen en wordt afgeraden te doen. Het is echter (deze versie van OSO) geen blocker voor kwalificatie
  • acceptabel: Hetgeen genoemd is voldoende sterk om veilig en betrouwbaar te gebruiken, echter zal dit niet een lange termijn oplossing zijn. Verbetering is wenselijk
  • zeer wenselijk: Hetgeen genoemd is veilig en betrouwbaar, waardoor het ook op langere termijn blijft voldoen

De verklaring onder de eisen legt vervolgens uit hoe de eisen gelezen moeten worden, soms toegelicht met voorbeelden. Ook refereert de verklaring naar externe stukken waarin terug te lezen is waarom en bepaalde beveiligingseisen tot stand zijn gekomen.