De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "HL7/XML-masterclass I Marc de Graauw Web Services / HL7v3 expert 3-11-2009."— Transcript van de presentatie:

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

2 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 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 5 HTML - een voorbeeld Marc de Graauw Marc de Graauw Geslacht: Man Opleidingen VWO kandidaats Biologie doctoraal filosofie

6 6 XML - een voorbeeld Graauw de Marc VWO kandidaats Biologie doctoraal filosofie

7 7 Vóór Unicode ■ 7 bits, 128 tekens, 95 afdrukbaar ■ Engels: cijfers, letters, leestekens ■ niet: Frans: ê ç Duits: ß ä Grieks: ε Ω Nederlands: ë ï ■ Spaans, Arabisch, Fins, Russisch, Chinees, Thais, etc. etc. bits bytes dec bytes hex6d asciimarc

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

9 9 Vóór Unicode CP 437 CP 850 Window s 1252 ISO- Latin-1 ISO- Latin-15 Unicode a áa0 e1 00e1 ä84 e4 00e4 €--80-a420ac õ-e4f5 00f5 Ç 80 c7 00c7 œ--9c-bd0153

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

11 11

12 12

13 13

14 14

15 15

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

17 17 Unicode encodings ■ Unicode ■ 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 18 Unicode encodings tekencode point UTF-8UTF-16ISO- Latin-1 ASCII spatieU aU äU+00E4C3 A400 E4E4-

19 19 ■ XML ■ Java ■.NET

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

21 Tokenauthenticatie

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

23 23 Secure connection

24 24 Secure data

25 25

26 26

27 27

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

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

30 30 VerstrekkingsLijstquer y

31 31 signedData ■ X.509 Strong Authentication ■ 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 32 signedData.xml (pretty print)

33 33 Token versus bestand

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

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

36 36 Exclusive Canonicalization

37 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 38 Signed Info element signedData excc14n Base64 SignedInfo signedData_ excc14n.xml SignedInfo template maken SignedInfo SignedInfo.xml SHA1 hash bits 160 bits karakters wsu Id

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

40 40 SHA ■ SHA1... SHA256 ■ 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 (2 64 − 1) bits ■ output: 160 bits

41 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 42 SHA + Base64 4vBP5K5M5llABaWYzxCrKIdjS2I= Input (bits) SHA1 (160 bits) Base 64

43 43 SignedInfo

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

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

46 46

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

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

49 49 NaamKey Usage omschrijving ToepassingKey usage hexadecimaal authenticiteit- certificaat digitalSignaturetokenauthenticat ie 0x80 handtekening -certificaat NonRepudiationelektronische handtekening 0x40 vertrouwelijk heid certificaat keyEncipherment, dataEncipherment, keyAgreement 0x38 (OR'ed 0x20, 0x10, 0x08) Key usage

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

51 51 SOAP bericht

52 52 FunctieAlgoritmeURI SignatureRSA+SHA-1 DigestSHA-1 SignatureRSA+SHA-256 DigestSHA-256

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

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

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

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

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

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

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

60 60


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

Verwante presentaties


Ads door Google