Marc de Graauw Web Services / HL7v3 expert

Slides:



Advertisements
Verwante presentaties
KWALITEITSZORG november 2012
Advertisements

Stilstaan bij parkeren Dat houdt ons in beweging
‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
1 - RA patiënten – Februari 2009 REUMATOÏDE ARTRITIS KENNIS – OPVOLGING – PERSOONLIJKE EVALUATIE Patiëntenonderzoek Initiatief van met de steun van nv.
1 COVER: Selecteer het grijze vlak hiernaast met rechtsklik & kies ‘change picture’ voor een ander beeld of verwijder deze slide & kies in de menubalk.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
Confidential & Proprietary Copyright © 2007 The Nielsen Company INNOVATIE Tracking Februari 2007.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Copyright © 2008 Tele Atlas. All rights reserved. Zet uw Business Data op de kaart: Locaties in eTOM ®
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
Marc de Graauw XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Innovation DevDay 2009.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Tevredenheids- enquête 2012 P. Grouwels Inleiding Mogelijke antwoorden: Zeer goed: 4 sterren ****: volledig tevreden; Goed: 3 sterren ***:
© BeSite B.V www.besite.nl Feit: In 2007 is 58% van de organisaties goed vindbaar op internet, terwijl in 2006 slechts 32% goed vindbaar.
9 januari 2013 Bodegraven 1. 1Korinthe 11 1 Wordt mijn navolgers, gelijk ook ik Christus navolg. 2.
Nooit meer onnodig groen? Luuk Misdom, IT&T
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Meisjes en wiskunde (Waarom) is wiskunde moeilijk?
Elke 7 seconden een nieuw getal
Softwarepakket voor het catalogeren en determineren van fruitsoorten
Regelmaat in getallen (1).
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
1Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen &  vorige toestand uitgang.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
1. 33 GERECHTIGHEID GODS 21 Thans is echter buiten de wet om GERECHTIGHEID GODS openbaar geworden, waarvan de wet en de profeten getuigen, 34.
Geometrie en topologie Rob Kromwijk, 26 juli 2012.
Seminarie 1: Pythagoreïsche drietallen
Afrika: Topo nakijken en leren.
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
EFS Seminar Discriminatie van pensioen- en beleggingsfondsen
Hoe gaat dit spel te werk?! Klik op het antwoord dat juist is. Klik op de pijl om door te gaan!
Eerst even wat uitleg. Klik op het juiste antwoord als je het weet.
Web Applicaties Bouwen met Visual Studio .NET
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 7 De 2 ♦ /2 ♥ /2 ♠ en de 2 ♣ -opening 1Contract 2, hst 7.
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 9 Het eerste bijbod 1Contract 1, hoofdstuk 9.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
STIMULANS KWALITEITSZORG juni 2014.
De financiële functie: Integrale bedrijfsanalyse©
Logistics: a driver for innovation Low costs High value Flexibility now and later Superior technology Timwood - T > No transport - I > No Inventory - M.
Waar gaat het nou toch om?!
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
Openbaar je talent Service public, talent particulier.
Hoofdstuk 6 – Objectgeoriënteerd Programmeren: Overerving
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
Transcript van de presentatie:

Marc de Graauw Web Services / HL7v3 expert HL7/XML-masterclass I Marc de Graauw Web Services / HL7v3 expert 3-11-2009

Marc de Graauw studeerde biologie & filosofie sinds 1989 in de ICT sinds 1996 zelfstandig consultant semantiek interoperabiliteit XML & Web Services Landelijk Elektronisch Patiëntendossier, Strafrechtketen, verzekeraars, arbodiensten, UWV artikelen en presentaties: zie http://www.marcdegraauw.com/

XML en Unicode

De geschiedenis van XML SGML Standard Generalized Markup Language IBM: back to the sixties... Markup: structuur, niet processing HTML: SGML spinoff 1998: XML SGML voor het Web, zonder ballast 2002: Hype Standaard technologie

Nictiz Nationaal ICT Instituut in de Zorg HTML - een voorbeeld <HTML> <HEAD> <TITLE>Marc de Graauw</TITLE> </HEAD> <BODY> <H1>Marc de Graauw</H1> <P>Geslacht: Man</P> <H2>Opleidingen</H2> <OL> <LI>VWO</LI> <LI>kandidaats Biologie</LI> <LI>doctoraal filosofie</LI> </OL> </BODY> </HTML> www.nictiz.nl Nictiz Nationaal ICT Instituut in de Zorg

Nictiz Nationaal ICT Instituut in de Zorg XML - een voorbeeld <?xml version="1.0" encoding="UTF-8"?> <persoon> <persoonsgegevens geslacht="Man"> <achternaam>Graauw</achternaam> <voorvoegsel>de</voorvoegsel> <voornaam>Marc</voornaam> </persoonsgegevens> <opleiding>VWO</opleiding> <opleiding>kandidaats Biologie</opleiding> <opleiding>doctoraal filosofie</opleiding> </persoon> www.nictiz.nl Nictiz Nationaal ICT Instituut in de Zorg

Vóór Unicode bits 0110 1101 0110 0001 0111 0010 0110 0011 bytes dec 109 97 114 99 bytes hex 6d 61 72 63 ascii m a r c 7 bits, 128 tekens, 95 afdrukbaar Engels: cijfers, letters, leestekens niet: Frans: ê ç Duits: ß ä Grieks: ε Ω Nederlands: ë ï Spaans, Arabisch, Fins, Russisch, Chinees, Thais, etc. etc.

Vóór Unicode bytes 128 - 255 bytes 0 - 127 ISO- 8859-1 (ISO-Latin) page 473 West- Europees Engels, meeste Frans, Duits IBM PC ASCII DEC Multi- national Character Set code page 850 West Europees + Á ß ISO- 8859-15 ISO-Latin + ‘IJ’sland + ‘œ’uf Windows 1252 ISO-Latin + œ, € Shift- JIS EBCDIC IBM mainframe Japans etc. etc. etc....

Vóór Unicode Ç CP 437 850 Windows 1252 ISO-Latin-1 ISO-Latin-15 61 0061 á a0 e1 00e1 ä 84 e4 00e4 € - 80 a4 20ac õ f5 00f5 Ç c7 00c7 œ 9c bd 0153

Unicode m m m m m code point glyph karakter LATIN SMALL LETTER M (de letter ‘m’) U+006D m m m

Tengwar – Tolkien - niet officieel (private use range)

Unicode encodings Unicode UTF-16 encoding UTF-8 U+006D = ‘m’ karakter 0 – 255: gelijk aan ISO-Latin-1 1.114.112 code points (0 – 10FFFF) UTF-16 encoding 4 bytes 0000 – FFFF: gelijk aan Unicode nummer Byte Order Mark U+FEFF (ZERO-WIDTH NO-BREAK SPACE) byte-swapped = U+FFFE = geen legaal karakter efficiënt voor Chinees en Japans UTF-8 1 tot 4 bytes 0 – 127: gelijk aan ASCII ergo: ASCII tekst is altijd ook UTF-8 tekst efficiënt voor Westerse talen

Unicode encodings teken code point UTF-8 UTF-16 ISO-Latin-1 ASCII spatie U+0020 20 00 20 a U+0061 61 00 61 ä U+00E4 C3 A4 00 E4 E4 -

XML Java .NET

XML XML = SGML – ballast + Unicode Een XML document is een boom Een root node Attributen, elementen, tekst

Tokenauthenticatie

Authentication Smartcard (UZI pass) with: PKI-Government Personal pass private key (RSA) X.509 certificate (includes public key) PKI-Government Personal pass guard safely no sharing PIN protected

Secure connection

Secure data

Tokenauthenticatie smartcard met private key Certificaat QURX_ EX990011NL token maken SignedInfo maken RSA / SHA sig maken signedData SignedInfo SignatureValue Bericht maken SOAP bericht

Transformatie XML 2 SignedData Verstrekkings- Lijstquery QURX_IN990111NL_01.xml signedData.xsl signedData QURX_IN990111NL_01_signedData.xml

VerstrekkingsLijstquery

signedData X.509 Strong Authentication Koppeling met bericht message id nonce unieke indentificatie van bericht (if duplicate removal has already taken place) notBefore & notAfter time to live security semantics can expire time to store & check nonce addressedParty replay against other receivers Koppeling met bericht BSN voor patiëntgerelateerde berichten Trigger Event Id versieonafhankelijk, itt. InteractionId

signedData.xml (pretty print)

Token versus bestand

Whitespace eruit signedData QURX_IN990111NL_01_signedData.xml remove- between- elements.xsl signedData QURX_IN990111NL_01_signedData.xml

Exclusive Canonicalization signedData QURX_IN990111NL_01_signedData.xml excc14n (Oxygen gebruikt) signedData excc14n signedData_ excc14n.xml

Exclusive Canonicalization

Exclusive Canonicalization Dubbele quotes ipv. enkele Namespace declaraties vóór attributen Namespaces alfabetisch rangschikken Linefeed, geen carriage return of CR/LF Geen Byte Order Mark UTF-8

Signed Info element signedData excc14n signedData_ excc14n.xml bits template wsu Id SHA1 hash 160 bits maken SignedInfo Base64 karakters SignedInfo SignedInfo.xml

SHA: Cryptographic hash Wikipedia: A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the (cryptographic) hash value, such that an accidental or intentional change to the data will change the hash value.

SHA SHA1 ... SHA256 SHA-1 1995: SHA-1 NSA 2005: zwaktes in SHA-1 ontdekt 2001: SHA-2 (225, 256, 384, 512) 2008 – 12: SHA-3, open competitie SHA-1 input: message maximum (264 − 1) bits output: 160 bits

Base 64 UTF-8: niet alle octets zijn toegestaan! Ergo: binaire data kunnen niet zomaar in XML / UTF-8 Oplossing: bits -> karakters RFC2045 (MIME) alfabet: [A-Z][a-z][0-9]+/

SHA + Base64 Input (bits) SHA1 (160 bits) Base 64 4vBP5K5M5llABaWYzxCrKIdjS2I=

Nictiz Nationaal ICT Instituut in de Zorg SignedInfo www.nictiz.nl Nictiz Nationaal ICT Instituut in de Zorg

RSA with SHA SignedInfo (exc c14n) private key bits SHA1 hash 400 bits 3021300906 052b0e0302 1a05000414 ASN.1 DER formaat Base64 karakters 3031300d06 0960864801 6503040201 05000420 SHA 256 -> 464 bits SignatureValue

OK Sender Receiver “Hello world” “Hello world” SHA-1 hash: Public key: 5llABaWYz xCrKIdjS... Public key: MIICHzCCAY ygAwIBAgI..... OK Private key: shhhh..... RSA sig value: c9fVK7vYAdv s2DRZVtS... RSA sig value: c9fVK7vYAdv s2DRZVtS...

Security Services (X.800) Authentication Authorization Data Confidentiality Data Integrity Non-repudiation

Security services √ Secure connection Authentication Token Digital Signature Authentication √ Authorization Confidentiality Integrity Non-repudiation

Key usage Naam Key Usage omschrijving Toepassing Key usage hexadecimaal authenticiteit-certificaat digitalSignature tokenauthenticatie 0x80 handtekening-certificaat NonRepudiation elektronische handtekening 0x40 vertrouwelijkheid certificaat keyEncipherment, dataEncipherment, keyAgreement 0x38 (OR'ed 0x20, 0x10, 0x08)

SOAP bericht signedData QURX_ EX990011NL SignedInfo SignatureValue Certificaat verwijzing Header maken Header maken authentication Tokens wss:Security Bericht maken SOAP bericht

SOAP bericht

Functie Algoritme URI Signature RSA+SHA-1 <SignatureMethod Algorithm= "http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> Digest SHA-1 <DigestMethod Algorithm= "http://www.w3.org/2000/09/xmldsig#sha1"/> RSA+SHA-256 "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> SHA-256 "http://www.w3.org/2001/04/xmlenc#sha256"/>

Transformatie XML 2 SignedData Verstrekkings- Lijstquery QURX_IN990111NL_01.xml signedData.xsl signedData QURX_IN990111NL_01_signedData.xml

Whitespace eruit signedData QURX_IN990111NL_01_signedData.xml remove- between- elements.xsl signedData QURX_IN990111NL_01_signedData.xml

Exclusive Canonicalization signedData QURX_IN990111NL_01_signedData.xml excc14n (Oxygen gebruikt) signedData excc14n signedData_ excc14n.xml

Signed Info element signedData excc14n signedData_ excc14n.xml bits template wsu Id SHA1 hash 160 bits maken SignedInfo Base64 karakters SignedInfo SignedInfo.xml

RSA with SHA SignedInfo (exc c14n) private key bits SHA1 hash 400 bits 3021300906 052b0e0302 1a05000414 ASN.1 DER formaat Base64 karakters 3031300d06 0960864801 6503040201 05000420 SHA 256 -> 464 bits SignatureValue

SOAP bericht signedData QURX_ EX990011NL SignedInfo SignatureValue Certificaat verwijzing Header maken Header maken authentication Tokens wss:Security Bericht maken SOAP bericht

Tokenauthenticatie smartcard met private key Certificaat QURX_ EX990011NL token maken SignedInfo maken RSA / SHA sig maken signedData SignedInfo SignatureValue Bericht maken SOAP bericht