+ All Categories
Home > Documents > XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML...

XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML...

Date post: 18-Aug-2020
Category:
Upload: others
View: 14 times
Download: 0 times
Share this document with a friend
34
XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1
Transcript
Page 1: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

XML Encryption and Signature

Hauptseminar Datenbanken und XML

Markus Hinkelmann

08. Januar 2002

1

Page 2: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Motivation

1. Verschlusselung Encryption

Unkenntlichmachung sensibler oder schutzenswerter Daten

2. Signatur Signature

Authentifizierung von Daten

∗ zuruck kvor k

2

Page 3: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung in XML

Eine Rolle spielen bei einer Verschlusselung

• der Sender oder Verfasser

• der Empfanger

• die Daten

• die verschlusselten Daten

• die Schlussel

• die Medien, auf denen die Daten liegen

∗ zuruck kvor k

3

Page 4: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselungsalgorithmen

1. Verschlusselung mit symmetrischem Schlussel

Beispiel: TripleDES

2. Verschlusselung mit asymmetrischem Schlusselpaar

Beispiel: RSA

∗ zuruck kvor k

4

Page 5: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Beispiel sensitiver Daten

<Personaldaten><Person ID=‘‘MaxMoritzen012000’’ >

<Name> Max Moritzen </Name><Gehalt> 2500 </Gehalt><Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text> Max macht sich hervorragend </Text><Note> 1 </Note>

</Beurteilung></Person>

<Person>...

</Person>...

</Personaldaten>

∗ zuruck kvor k

5

Page 6: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Granularitat der Verschlusselung

Verschlusselt wird

1. ein XML-Element

2. Inhalt eines XML-Elements

3. Wert eines XML-Elements

4. beliebige Daten

5. Super-Encryption, d.h. Mehrfachverschlusselung

∗ zuruck kvor k

6

Page 7: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung eines XML-Elements

<Personaldaten><Person ID=‘‘MaxMoritzen012000’’ >

<Name> Max Moritzen </Name><Gehalt> 2500 </Gehalt><Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text> Max macht sich hervorragend </Text><Note> 1 </Note>

</Beurteilung></Person>

</Personaldaten>

∗ zuruck kvor k

7

Page 8: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung eines XML-Elements

<Personaldaten><EncryptedData ID=‘‘Person1’’ Type=‘‘Element’’ >

<EncryptionMethod Algorithm=‘‘3des-cbc’’ /><KeyInfo>

<KeyName> Total Security Key </KeyName></KeyInfo><CipherData>

<CipherValue>jzHj/jl8Zuhhje8j389</CipherValue></CipherData>

</EncryptedData></Personaldaten>

∗ zuruck kvor k

8

Page 9: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung mehrerer XML-Elemente

<Personaldaten><Person ID=‘‘MaxMoritzen012000’’ >

<Name> Max Moritzen </Name><Gehalt> 2500 </Gehalt><Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text> Max macht sich hervorragend </Text><Note> 1 </Note>

</Beurteilung></Person>

</Personaldaten>

∗ zuruck kvor k

9

Page 10: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung mehrerer XML-Elemente

<Personaldaten><Person ID=‘‘MaxMoritzen012000’’ >

<Name> Max Moritzen </Name><EncryptedData Type=‘‘Content’’ >

<EncryptionMethod Algorithm=‘‘3des-cbc’’ /><KeyInfo>

<RetrievalMethod URI=‘‘http://www.beispiel.de/key#key1’’ /></KeyInfo><CipherData>

<CipherValue>kgfui97Gj87Hju6640kHH</CipherValue></CipherData>

</EncryptedData></Person>

</Personaldaten>

∗ zuruck kvor k

10

Page 11: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung eines Wertes

<Personaldaten><Person ID=‘‘MaxMoritzen012000’’ >

<Name> Max Moritzen </Name><Gehalt> 2500 </Gehalt><Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text> Max macht sich hervorragend </Text><Note> 1 </Note>

</Beurteilung></Person>

</Personaldaten>

∗ zuruck kvor k

11

Page 12: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung eines Wertes

<Personaldaten><Person ID=‘‘MaxMoritzen012000’’ >

<Name> Max Moritzen </Name><Gehalt>

<EncryptedData Type=‘‘Content’’ ><CipherData>

<CipherValue>ui6hz7fg</CipherValue></CipherData>

</EncryptedData></Gehalt><Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text> Max macht sich hervorragend </Text><Note> 1 </Note>

</Beurteilung></Person>

</Personaldaten>

∗ zuruck kvor k

12

Page 13: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung beliebiger Daten

...<Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text>

<TextExtern URI=‘‘http://www.beispiel.txt/beurt.txt’’ /></Text><Note> 1 </Note>

</Beurteilung>

∗ zuruck kvor k

13

Page 14: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Verschlusselung beliebiger Daten...

<Beurteilung><Beurteiler URI=‘‘#HansHansen091991’’ Type=‘‘Person’’ /><Text>

<EncryptedData ID=‘‘Beurteilung1’’ Type=‘‘text/txt’’ ><KeyInfo>

<EncryptedKey CarriedKeyName=‘‘BeurteilungsKey’’ ><KeyInfo>

<KeyName> SchluesselKey </KeyName><ReferenceList>

<DataReference URI=‘‘#Beurteilung1’’ /></ReferenceList>

</KeyInfo><CipherData>

<CipherValue>67GUo;667hhdik</CipherValue></CipherData>

</EncryptedKey></KeyInfo><CipherData>

<CipherReference URI=‘‘http://www.beispiel.txt/beurt.txt’’ /></CipherData>

</EncryptedData></Text><Note> 1 </Note>

</Beurteilung>∗

∗ zuruck kvor k

14

Page 15: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Super-Encryption

<Personaldaten><Person ID=‘‘MaxMoritzen012000’’ >

<Name> Max Moritzen </Name><Gehalt> 2500 </Gehalt><Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text> Max macht sich hervorragend </Text><Note> 1 </Note>

</Beurteilung></Person>

</Personaldaten>

∗ zuruck kvor k

15

Page 16: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Super-Encryption

<Personaldaten><Encrypted Data>

<KeyInfo><KeyName>PersonaldatenzugangsrechteKey</KeyName>

</KeyInfo><CipherData>

<CipherValue>hier steht die Verschlusselung der Daten,im Besonderen die Verschlusselung der Beurteilung

</CipherValue></CipherData>

</EncryptedData></Personaldaten>

∗ zuruck kvor k

16

Page 17: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax mit XML-Schema

∗ zuruck kvor k

17

Page 18: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – EncryptedData und EncryptedKey

EncryptedData und EncryptedKey leiten sichen von EncryptedType ab:

<complexType name=‘‘EncryptedType’’ ><sequence>

<element ref = ‘‘EncryptionMethod’’ minOccurs=‘‘0’’ /><element ref = ‘‘KeyInfo’’ minOccurs=‘‘0’’ /><element ref = ‘‘CipherData’’ /><element ref = ‘‘EncryptionProperties’’ minOccurs=‘‘0’’ />

</sequence><attribute name=‘‘id’’ type=‘‘ID’’ /><attribute name=‘‘Type’’ type=‘‘anyURI’’ />

</complexType>

∗ zuruck kvor k

18

Page 19: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – EncryptedData und EncryptionMethod

<element name=‘‘EncryptedData’’ /><complexType >

<sequence><element name = ‘‘EncryptionMethod’’ minOccurs=‘‘0’’ />

<complexType><sequence>

<any namespace=‘‘##any’’ minOccurs=‘‘0’’ maxOccurs=‘‘unbounded’’ /></sequence><attribute name=‘‘Algorithm’’ type=‘‘uriReference’’ use=‘‘required’’ />

</complexType></element><element ref = ‘‘KeyInfo’’ minOccurs=‘‘0’’ /><element ref = ‘‘CipherData’’ /><element ref = ‘‘EncryptionProperties’’ minOccurs=‘‘0’’ />

</sequence><attribute name=‘‘id’’ type=‘‘ID’’ /><attribute name=‘‘Type’’ type=‘‘anyURI’’ />

</complexType></element>

∗ zuruck kvor k

19

Page 20: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – EncryptedData und KeyInfo

<element name=‘‘EncryptedData’’ /> <complexType ><sequence>

<element ref = ‘‘EncryptionMethod’’ minOccurs=‘‘0’’ /><element name = ‘‘KeyInfo’’ minOccurs=‘‘0’’ />

<complexType><choice maxOccurs=‘‘unbounded’’ >

<element ref=‘‘KeyName’’ /><element ref=‘‘KeyValue’’ /><element ref=‘‘RetrievalMethod’’ />

spezielle Schlusseldaten<any namespace=‘‘##other’’ />

</choice><attribute name=‘‘id’’ type=‘‘ID’’ />

</complexType></element><element ref = ‘‘CipherData’’ /><element ref = ‘‘EncryptionProperties’’ minOccurs=‘‘0’’ />

</sequence></complexType> </element>

∗ zuruck kvor k

20

Page 21: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – EncryptedData und CipherData

<element name=‘‘EncryptedData’’ /> <complexType ><sequence>

<element ref = ‘‘EncryptionMethod’’ minOccurs=‘‘0’’ /><element ref = ‘‘KeyInfo’’ minOccurs=‘‘0’’ /><element name=‘‘CipherData’’ > <complexType>

<choice><element name=‘‘CipherValue’’ /><element name=‘‘CipherReference’’ >

<complexType><sequence>

<element ref=‘‘Transforms’’ minOccurs=‘‘0’’ /></sequence><attribute name=‘‘URI’’ type=‘‘uriReference’’ use=‘‘required’’ />

</complexType></choice>

</complexType> </element><element ref = ‘‘EncryptionProperties’’ minOccurs=‘‘0’’ />

</sequence></complexType> </element>

∗ zuruck kvor k

21

Page 22: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – EncryptedKey

<element name=‘‘EncryptedKey’’ ><complexType>

<extension base=‘‘EncryptedType’’ ><sequence>

<element ref =‘‘ReferenceList’’ minOccurs=‘‘0’’ /></sequence><attribute name=‘‘CarriedKeyName’’ type=‘‘string’’ /><attribute name=‘‘Recipient’’ type=‘‘string’’ />

</extension></complexType>

</element>

∗ zuruck kvor k EncryptedType

22

Page 23: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – EncryptedData und EncryptedKey

EncryptedData und EncryptedKey leiten sichen von EncryptedType ab:

<complexType name=‘‘EncryptedType’’ ><sequence>

<element ref = ‘‘EncryptionMethod’’ minOccurs=‘‘0’’ /><element ref = ‘‘KeyInfo’’ minOccurs=‘‘0’’ /><element ref = ‘‘CipherData’’ /><element ref = ‘‘EncryptionProperties’’ minOccurs=‘‘0’’ />

</sequence><attribute name=‘‘id’’ type=‘‘ID’’ /><attribute name=‘‘Type’’ type=‘‘anyURI’’ />

</complexType>

∗ zuruck

22-a

Page 24: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – EncryptedKey und ReferenceList

<element name=‘‘EncryptedKey’’ ><complexType>

<extension base=‘‘EncryptedType’’ ><sequence>

<element name =‘‘ReferenceList’’ minOccurs=‘‘0’’ /><complexType>

<sequence><element ref=‘‘DataReference’’ minOccurs=‘‘0 ’’ /><element ref=‘‘KeyReference’’ minOccurs=‘‘0 ’’ />

</sequence></complexType>

</element></sequence><attribute name=‘‘CarriedKeyName’’ type=‘‘string’’ /><attribute name=‘‘Recipient’’ type=‘‘string’’ />

</extension></complexType>

</element>

∗ zuruck kvor k

23

Page 25: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Ein weiterer Vorschlag fur XML-Encryption

• ahnlich aufgebaut wie vorige Syntax

• aber mehr Elemente

• Schlussel von Referenzen getrennt

∗ zuruck kvor k

24

Page 26: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Signaturen in XML

Signatur beinhaltet

• verschlusselte Kennzahl zur Authentifikation

• Referenzen der signierten Daten

Digest-Algorithmus

berechnet Hash-Wert einer Nachricht, der

• keinen Ruckschluß auf die Nachricht zulaßt

• praktisch kollisionsfrei ist

∗ zuruck kvor k

25

Page 27: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Beispiel einer XML-Signatur

...<Beurteilung>

<Beurteiler URI=‘‘#HansHansen091991’’ /><Text>

<TextExtern URI=‘‘http://www.beispiel.txt/beurt.txt’’ /></Text><Note> 1 </Note>

</Beurteilung>

∗ zuruck kvor k

26

Page 28: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Beispiel einer XML-Signatur

<Signature><SignedInfo>

<CanonicalizationMethod Algorithm=‘‘REC-xml-c14n-20010315’’ /><SignatureMethod Algorithm=‘‘rsa-sha1’’ /><Reference URI=‘‘http://www.beispiel.de/beurt.txt’’ >

<DigestMethod Algoritm=‘‘sha1’’ /><DigestValue>j7H6hd8kh7I9jcz7hgtjIM6K0Pgb</DigestValue>

</Reference></SignedInfo><SignatureValue>78bla83ALBlA5=3jghblA9hBLaa8</SignatureValue><KeyInfo>

<KeyValue>77564992370893420571690641</KeyValue></KeyInfo>

</Signature>

∗ zuruck kvor k

27

Page 29: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – Signature

<element name=‘‘Signature’’ ><complexType>

<sequence><element ref=‘‘SignedInfo’’ /><element ref=‘‘SignatureValue’’ /><element ref=‘‘KeyInfo’’ minOccurs=‘‘0’’ /><element ref=‘‘Object’’ minOccurs=‘‘0’’ maxOccurs=‘‘unbounded’’ />

</sequence></complexType>

</element>

∗ zuruck kvor k

28

Page 30: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Syntax – SignedInfo und Reference

<element name=‘‘SignedInfo’’ ><complexType>

<sequence><element ref=‘‘CanonicalizationMethod’’ /><element ref=‘‘SignatureMethod’’ /><element name=‘‘Reference’’ >

<complexType><sequence>

<element ref=‘‘Transforms’’ minOccurs=‘‘0’’ /><element ref=‘‘DigestMethod’’ /><element ref=‘‘DigestValue’’ />

</sequence><attribute name=‘‘URI’’ type=‘‘uriReference’’ use=‘‘optional’’ />

</complexType></element>

</sequence></complexType>

</element>

∗ zuruck kvor k

29

Page 31: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Nutzbarkeit in (XML-)Datenbanken

Generell ist jeder Schutz von Daten wunschens- und empfehlens-wert.

• Protokolle sind flexibel.

• Aufwand fur den Sender/Verfasser ist gering,Zugriff auf teilweise verschlusselte Datenbank ist einfach.

• abgestufte Zugriffsrechte

• Effizienz

∗ zuruck kvor k

30

Page 32: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Software

XML Security Suite von IBM

• Application Programming Interface

• Code frei verfugbar

• Benutzung nur zu Evaluationszwecken

∗ zuruck kvor k

31

Page 33: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

namespaces

Encryption: xmlns:xenc=‘‘http://www.w3.org/2001/04/xmlenc#’’

Signature: xmlns:ds=‘‘http://www.w3.org/2000/09/xmldsig#’’

∗ zuruck kvor k

32

Page 34: XML Encryption and Signature€¦ · XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 1

Referenzen

http://www.w3.org

http://csrc.nist.gov

http://www.alphaworks.ibm.com

∗ zuruck

33


Recommended