Technische Architectuur Biedt Webservice aan Roept Webservice op
Technische Architectuur
Biedt Webservice aan Roept Webservice op Technische Architectuur SSL server certificaat Certificaat voor digitale handtekening Web service en business logica in Java SSL client certificaat Internal Web service Provider Cert WS Two-factor authentication Internet HTTPS SSL Cert Q Cert SOAP Unix PEP Toepassing Instellingen Web service External Web service Provider met WS Security Consumer Onderwijs & Vorming Internal Web service Consumer p. 2 Web Service Implementatie
Sterke Authenticatie binnen Toepassing Instelling Biedt Webservice aan Roept Webservice op Bevat RRN of Bis Internet WS Two-factor authentication Q Unix PEP Toepassing Instellingen Web service Onderwijs & Vorming Consumer Ø Web service Consumer zit ingebed in een toepassing binnen de instelling Ø Gebruik van web services moet beperkt blijven tot geautoriseerde medewerkers omdat het privacy gevoelige gegevens betreft two-factor authentication Ø Elk bericht dat de instelling verstuurt bevat de correcte identificatie (RRN of Bis of …) van de betrokken eindgebruiker p. 3
Biedt Webservice aan Roept Webservice op Connectie Authenticatie SSL server certificaat SSL client certificaat Internet WS Cert SSL Q Cert Unix PEP Onderwijs & Vorming Instellingen Ø Publieke web services maar enkel instellingen mogen deze aanroepen Ø Implementatie op basis van X. 509 SSL client-certificate authenticatie Ø 1 SSL certificaat per instelling (of per ICT provider) p. 4
Biedt Webservice aan Roept Webservice op Digitale Handtekening Certificaat voor digitale handtekening Bevat digitale handtekening Cert WS Q Internet HTTPS SSL Cert SOAP Ø Ø Ø Unix PEP Toepassing Instellingen Cert Bevat instellingsnummer en toepassingsidentificatie Onderwijs & Vorming Elke instelling mag enkel toegang hebben tot eigen gegevens Implementatie op basis van X. 509 Certificaat voor digitale handtekening 1 X. 509 certificaat per toepassing binnen instelling Elk bericht bevat het instellingsnummer en een identificatie van de toepassing Elk bericht wordt voorzien van een digitale handtekening p. 5
Biedt Webservice aan Roept Webservice op Policy Enforcement Point (PEP) Cert WS Q Internet HTTPS SSL Cert SOAP Unix PEP Instellingen External Web service Provider met WS Security Onderwijs & Vorming Internal Web service Consumer Web Service Implementatie Ø Interne web services worden beschikbaar gemaakt via een beveiligde toegangspoort die de toegangscontrole beheert : PEP of Policy Enforcement Point Ø Authenticatie en autorisatie stappen : • • SSL Client Certificate Digitale handtekening : instellingsnummer EN toepassingsidentificatie p. 6
Biedt Webservice aan Roept Webservice op Berichten Verzoek Cert WS Q Internet Cert SSL Cert SOAP Unix PEP Repliek Instellingen Onderwijs & Vorming Ø Robuust • Het veranderen van een web service vergt heel wat inspanning. Daarom wordt verwacht dat de berichten minstens even robuust zullen zijn als de EDISON record layouts Ø Instelling agnostisch • Er worden geen berichten gespecificeerd per instelling of voor een bepaalde set van instellingen. Alle web services kunnen door alle instellingen aangeroepen worden Ø Toepassing agnostisch • In de berichten wordt niet aangegeven voor welke toepassing ze bestemd zijn. Ø Gestandaardiseerd • SOAP 1. 1 & Uniforme structuur p. 7
Biedt Webservice aan Roept Webservice op Gebeurtenis georiënteerd, atomair en bulk Verzoek Vraag 1 Vraag 2 Cert WS Q Internet Cert SSL Cert SOAP Unix PEP Instellingen Repliek Onderwijs & Vorming Antwoord 1 Antwoord 2 Ø Web services hebben zowel ondersteunende (lees) functie als “data vergarende” functie. Ø Bij doorgeven van veel gegevens is bulk efficiënter (digitale handtekening, netwerk, …) structurele oplossing in structuur van de berichten Ø Bulk is niet hetzelfde als “’s nachts in batch- of stapelverwerking” Ø Correcte, volledige en actuele data aangereikt door de instellingen is noodzakelijk Ø Gebeurtenis georiënteerd is DÉ manier p. 8
Structuur van de berichten
SOAP 1. 1 Structuur Cert WS Q Internet HTTPS SSL Cert SOAP Unix PEP Onderwijs & Vorming Instellingen SOAP Envelope SOAP Header • Digitale Handtekening (verzoek) SOAP Body • Instellingsnummer • Identificatie van de toepassing • Gebruikers identificatie • Bericht referte • Vraag/Antwoord referte Any p. 10
SOAP Header Ø Ø Ø Identiek aan DHO berichten WS-Security 1. 0 Boodschap-encryptie is niet noodzakelijk wegens connectie-encryptie (SSL) De digitale handtekening omvat de hele SOAP body. Het certificaat gebruikt om te tekenen wordt meegegeven in elke boodschap, met formaat “oasis-200401 -wss-x 509 -token-profile 1. 0#X 509 v 3” Ø De canonicalization method die gebruikt moet worden is Exclusive Canonicalization “http: //www. w 3. org/2001/10/xml-exc-c 14 n#”. • Dit is de standaard methode binnen WS-Security. De methode zonder “exclusive” bleek validatieproblemen te veroorzaken in situaties waarbij gehandtekende XML documenten bijgesloten werden in andere XML documenten. Ø De digest en handtekening protocols zijn SHA 1 en RSA p. 11
SOAP Body Ø Momenteel onder review • • Afstemming met MAGDA voor ganse Vlaamse overheid Verwacht wordt dat er kleine wijzigingen zijn t. o. v. DHO • Bv. Datum formaat Ø Volgende slides zijn voorlopig nog niet bindend, maar dienen als voorbeeld p. 12
SOAP Body : Verzoek / Context (Afzender) Type van het verzoek bericht = VRAAG Tijdstip waarop bericht werd aangemaakt Verplicht voor de instelling v r e d n O e rb o o Security op basis van rollen (Optioneel) d u o h Instellingsnummer Naam van de gebruiker Naam van de organisatie -eenheid (Optioneel) INSZ-nummer van de gebruiker Unieke identificatie van het verzoek bericht p. 15
SOAP Fault Uitzondering SOAP Fault Cert WS Q SOAP Fault d u Internet HTTPS SSL Cert SOAP e rb PEP Instellingen v r o o o h Onderwijs & Vorming Ø Enkel wanneer het bericht niet “applicatief verwerkt” wordt • • Foute XML structuur, niet conform het schema Foute Digitale Handtekening Encoding Version Mismatch e d n O Ø Een SOAP fault bevat de elementen • • faultcode voor het type fout, faultstring met een beschrijving van de fout, faultactor voor de bron van de fout detail met de detailuitleg van de foutmelding. p. 23 Unix
- Slides: 14