De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Marc de Graauw Web Services / HL7v3 expert

Verwante presentaties


Presentatie over: "Marc de Graauw Web Services / HL7v3 expert"— Transcript van de presentatie:

1 Marc de Graauw Web Services / HL7v3 expert
HL7/XML-masterclass I Marc de Graauw Web Services / HL7v3 expert

2 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

3 XML en Unicode

4 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

5 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> Nictiz Nationaal ICT Instituut in de Zorg

6 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> Nictiz Nationaal ICT Instituut in de Zorg

7 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.

8 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- ISO-Latin + ‘IJ’sland + ‘œ’uf Windows 1252 ISO-Latin + œ, € Shift- JIS EBCDIC IBM mainframe Japans etc. etc. etc....

9 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

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

11

12

13

14

15

16 Tengwar – Tolkien - niet officieel (private use range)

17 Unicode encodings Unicode UTF-16 encoding UTF-8 U+006D = ‘m’
karakter 0 – 255: gelijk aan ISO-Latin-1 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

18 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 -

19 XML Java .NET

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

21 Tokenauthenticatie

22 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

23 Secure connection

24 Secure data

25

26

27

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

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

30 VerstrekkingsLijstquery

31 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

32 signedData.xml (pretty print)

33 Token versus bestand

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

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

36 Exclusive Canonicalization

37 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

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

39 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.

40 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

41 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]+/

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

43 Nictiz Nationaal ICT Instituut in de Zorg
SignedInfo Nictiz Nationaal ICT Instituut in de Zorg

44 RSA with SHA SignedInfo (exc c14n) private key bits SHA1 hash 400 bits
052b0e0302 1a ASN.1 DER formaat Base64 karakters d06 SHA 256 -> 464 bits SignatureValue

45 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...

46

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

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

49 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)

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

51 SOAP bericht

52 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"/>

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

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

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

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

57 RSA with SHA SignedInfo (exc c14n) private key bits SHA1 hash 400 bits
052b0e0302 1a ASN.1 DER formaat Base64 karakters d06 SHA 256 -> 464 bits SignatureValue

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

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

60


Download ppt "Marc de Graauw Web Services / HL7v3 expert"

Verwante presentaties


Ads door Google