Beveiligingsstandaarden

De webservices van white label moeten vanzelfsprekend veilig zijn. SBB hanteert twee beveiligingsniveaus. Voor partijen die in de onderwijsketen met DUO uitwisselen bieden we een versie aan waarbij white label gebruik maakt van uitwisselprotocollen die gedefinieerd zijn in de Edukoppeling. Dit is uitwisseling van gegevens met digitale ondertekening van berichten. Het is een afgeleide van de digikoppeling standaard die de overheid gebruikt.

Voor partijen die buiten de DUO-keten opereren bieden we een vereenvoudigd beveiligingsniveau aan met username en wachtwoord combinatie. We bieden de service aan in een Nocert-omgeving.

Onderdeel met certificaat

De beveiliging van White Label bestaat uit verschillende onderdelen. In de verschillende hoofdstukken gaan we in op de verschillende onderdelen van de beveiliging. Tijdens de eerste fase van White Label 2.0 en de aan te sluiten software is een opsoming gemaakt. Dit bondige overzicht van de te implementeren beveiligingseisen kunt u onderaan deze pagina downloaden.

1. Algemene voorwaarden in relatie tot de Edukoppeling transactiestandaard

Vooralsnog confirmeert White Label zich aan de Edukoppeling standaard versie 1.1. In de toekomst wordt dit aangepast naar Edukoppeling standaard versie 1.2.

In het document Edukoppeling standaard 1.1. staan de afspraken over hoe berichten en dialogen tussen organisaties zijn opgebouwd. Elke deelnemende organisatie richt een poort, gateway of adapter in, of laat dit inrichten. Deze verzorgt het verkeer volgens Edukoppeling. Edukoppeling-WUS is bedoeld om eenheid te creëren in de SOAP-binding.

2. Afspraken inrichten beveiliging uitwisseling gegevens (2W-BE-S)

De afspraken over het gebruik van de Edukoppeling staan in de standaard. We beperken ons bewust tot de relatie tussen de afspraken binnen deze Edukoppeling en White Label.

Lees meer >

 2.1. Verschillende lagen

De beveiliging wordt dus op verschillende niveaus toegepast.Laag voor laag wordt bij de ene partij de boodschap steeds verder ingepakt. Tot het pakket klaar is om over de infrastructuur verzonden te worden. Bij de andere partij wordt het hele pakket dan weer laag voor laag uitgepakt. Totdat de originele boodschap overblijft.

Schematische weergave van dit proces:

lagenmodel

2.1.1. XML

De inhoudelijke functionele informatie die partijen uitwisselen wordt vormgegeven en gestructureerd met XML. In het plan van eisen voor White Label staan de eisen voor de inhoud van de requests en responses. In de WSDL en de XSD vindt u een beschrijving van de interface van de verschillende webservices binnen White Label.

2.1.2. SOAP

In deze laag wordt de CML voorzien van een soap-envelop. De CML wordt opgenomen in de body en aan het bericht worden headers toegevoegd.

Voor de structuur van het soap-bericht refereert Digikoppeling aan WS-BRSP (voorheen WS-I) Basic Profile 1.1 en andere WS-I profielen van OASIS, en de daarin gerefereerde W3C standaarden SOAP 1.1 en WSDL 1.1.

In het plan van eisen staat aan welke eisen de verschillende headers moeten voldoen.

De SOAP-binding van webservices is in Digikoppeling gebaseerd op WS-addressering 1.0. White Label voldoet aan deze standaarden door de in de binding van de service aan deze elementen te refereren.

Lees meer over binding afspraken >

2.1.3. HTTP

De http-laag verzorgt de bezorging van de berichten. Het soap-bericht wordt naar een http-adres gestuurd. Http is de naam van het transportprotocol. Http-informatie wordt meegestuurd met het bericht in de vorm van http- parameters. Dit is geheel standaard.

2.1.4. TLS

Digikoppeling stelt point-to-point (p2p) security met een TLS V1.0 met tweezijdige authenticatie op transportniveau (in het http-kanaal) verplicht. Hiermee wordt de http-connectie versleuteld, het wordt een https-kanaal)

TLS is een breed geaccepteerde en geïmplementeerde standaard daarvoor. Dit is de opvolger van SSL. Tweezijdig betekent dat de client en de server zich bekend maken met een certificaat. Hiermee wordt het verkeer in beide richtingen versleuteld. De versleuteling op de TLS-laag is beperkt. Het reikt niet verder dan het eerste het beste knooppunt. End-to-end security kan daarom niet op de TLS-laag worden gerealiseerd. Dat gebeurt alleen op de soap-laag.

2.2. Certificaat

Edukoppeling veronderstelt dat voor de uitwisseling van gegevens gebruik gemaakt wordt van een PKI-Digikoppeling Certificaat.

De PKI-certificaten kunnen worden gebruikt voor signing zoals in Digikoppeling. Hiermee is het principe van een ‘soap-intermediair’ mogelijk, die als een digitale postbode de envelop gesloten en de inhoud ongemoeid laat.

Lees meer over certificaat >

2.3. Binding afspraken

White Label is een Microsoft WCF-service. Om te voldoen aan alle eisen die er gesteld zijn wordt in de web.config van de service gebruik gemaakt van een Custom Binding. Dit is helaas noodzakelijk aangezien we qua clients rekening moeten houden met verschillende interop scenarios.

Lees meer over binding afspraken >

Onderdeel zonder certificaat

1 Aanvragen licentie

In de noCert omgeving krijgt u toegang tot white label via een licentie op basis van username en wachtwoord. Dit kunt u via SBB aanvragen. Om vrijblijvend te testen kunt u een voorlopige sleutel aanvragen. 

2 Samenstellen Soap bericht

Hierbij een link naar aanvullende informatie hoe de usernametoken meegegeven dient te worden in de WSS-standaard.

http://docs.oasis-open.org/wss/v1.1/wss-v1.1-spec-pr-UsernameTokenProfile-01.htm

Dit beschrijft hoe deze opgenomen dient te worden in de header, dit is al jaren een standaard.

Wij eisen alleen een username en een wachtwoord (dus geen Nonce of timestamp).

Het wachtwoord mag met het type #WachtwoordText doorgegeven worden

Bijgaand een voorbeeld, inclusief headers:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://bpvinformatievoorziening.nl/service/v1_0" xmlns:wsa="http://www.w3.org/2005/08/addressing">

   <SOAP-ENV:Header>

      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

         <wsse:UsernameToken wsu:Id="UsernameToken-A5B736AFEBA28666C4152352221868825">

            <wsse:Username>XXXX</wsse:Username>

            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">YYYY</wsse:Password>

         </wsse:UsernameToken>

      </wsse:Security>

      <wsa:Action>http://bpvinformatievoorziening.nl/service/v1_0/identificeerLeerbedrijf</wsa:Action>

      <wsa:From>

         <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX56789</wsa:Address>

      </wsa:From>

      <wsa:MessageID>uuid:6555fccd-ede7-458f-9ad1-ad68b5cc2b97</wsa:MessageID>

      <wsa:To>https://webservice-test.stagemarkt.nl/WhiteLabel2NoCert.svc/service?oin=0000000700099999999</wsa:To>

   </SOAP-ENV:Header>

   <SOAP-ENV:Body>

      <ns1:identificeerLeerbedrijf>

         <ns1:leerbedrijfID>100008787</ns1:leerbedrijfID>

      </ns1:identificeerLeerbedrijf>

   </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

3 Testen

De test met de username-wachtwoord combinatie kan uitgevoerd worden op de volgende locatie: https://webservice-acc.stagemarkt.nl/WhiteLabel2NoCert.svc?wsdl