Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdAnna Brander Laatst gewijzigd meer dan 10 jaar geleden
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
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
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...
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= " Digest SHA-1 <DigestMethod Algorithm= " RSA+SHA-256 " SHA-256 "
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
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.