„XML-Encryption“ – Versionsunterschied
Erscheinungsbild
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
+Beispiel |
Komma |
||
(11 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Die '''XML-Encryption'''- |
Die '''XML-Encryption''' ('''XML-Enc''') ist eine Spezifikation von Möglichkeiten, wie [[Extensible Markup Language|XML]]-Dokumente [[Verschlüsselung|ver- und entschlüsselt]] werden können. |
||
== Möglichkeiten == |
|||
Dabei sind folgende Möglichkeiten vorgesehen: |
Dabei sind folgende Möglichkeiten vorgesehen: |
||
* Verschlüsselung des gesamten XML-Dokumentes |
* Verschlüsselung des gesamten XML-Dokumentes |
||
* Verschlüsselung eines einzelnen Elementes und seiner Unterelemente |
* Verschlüsselung eines einzelnen Elementes und seiner Unterelemente |
||
Zeile 9: | Zeile 9: | ||
Dazu existieren einige spezielle Elemente. Die wichtigsten sind: |
Dazu existieren einige spezielle Elemente. Die wichtigsten sind: |
||
* EncryptedData ist der einschließende Tag für die XML-Verschlüsselung. Das Attribut |
* EncryptedData ist der einschließende Tag für die XML-Verschlüsselung. Das Attribut <code>Type</code> informiert darüber, ob ein ganzes XML-Element oder nur der Inhalt des Elementes verschlüsselt werden soll. Das Attribut <code>Type</code> ist optional. |
||
* EncryptionMethod beschreibt den Algorithmus, der zur Verschlüsselung verwendet wird. Das Element ist optional. Wird dieses Element nicht verwendet, muss der Verschlüsselungsalgorithmus dem Empfänger bekannt sein. |
* EncryptionMethod beschreibt den Algorithmus, der zur Verschlüsselung verwendet wird. Das Element ist optional. Wird dieses Element nicht verwendet, muss der Verschlüsselungsalgorithmus dem Empfänger bekannt sein. |
||
* KeyInfo ist ein ebenfalls optionales Element, welches Informationen über den Schlüssel enthalten kann, mit dem die Daten verschlüsselt worden sind. |
* KeyInfo ist ein ebenfalls optionales Element, welches Informationen über den Schlüssel enthalten kann, mit dem die Daten verschlüsselt worden sind. |
||
* CipherData ist das verschlüsselte Element. Es enthält entweder ein oder mehrere CipherValue-Elemente oder aber eine Referenz zu den verschlüsselten Daten (CipherReference). |
* CipherData ist das verschlüsselte Element. Es enthält entweder ein oder mehrere CipherValue-Elemente oder aber eine Referenz zu den verschlüsselten Daten (CipherReference). |
||
Zeile 17: | Zeile 17: | ||
== Beispiel == |
== Beispiel == |
||
Bei einem Bezahlvorgang im Internet könnte folgender XML-Datensatz auftreten: |
|||
⚫ | |||
⚫ | |||
<?xml version='1.0'?> |
|||
<PaymentInfo xmlns='http://example.org/paymentv2'> |
|||
<Name>John Smith</Name> |
|||
<CreditCard Limit='5,000' Currency='USD'> |
|||
<Number>4019 2445 0277 5567</Number> |
|||
<Issuer>Example Bank</Issuer> |
|||
<Expiration>04/02</Expiration> |
|||
</CreditCard> |
|||
</PaymentInfo> |
|||
</syntaxhighlight> |
|||
Eine Möglichkeit, die vertraulichen Kreditkarteninformationen zu schützen besteht darin, das gesamte Element „CreditCard“ zu verschlüsseln.<ref>{{Internetquelle| hrsg=[[W3C]]| url=http://www.w3.org/TR/xmlenc-core/#sec-eg-Granularity| titel=XML Encryption Syntax and Processing| datum=10 December 2002| zugriff=2011-10-20}}</ref> |
|||
<syntaxhighlight lang="xml"> |
|||
<?xml version='1.0'?> |
<?xml version='1.0'?> |
||
<PaymentInfo xmlns='http://example.org/paymentv2'> |
<PaymentInfo xmlns='http://example.org/paymentv2'> |
||
Zeile 28: | Zeile 44: | ||
</EncryptedData> |
</EncryptedData> |
||
</PaymentInfo> |
</PaymentInfo> |
||
</syntaxhighlight> |
|||
</source> |
|||
== Siehe auch == |
== Siehe auch == |
||
[[XML Signature]] |
* [[XML Signature]] |
||
== Literatur == |
|||
* {{Literatur |
|||
| Autor=Daniel Koch |
|||
| Titel=XML-Verschlüsselung und weitere Sicherungsmaßnahmen |
|||
| Sammelwerk=[[iX (Zeitschrift)|iX]] |
|||
| Nummer=10 |
|||
| Datum=2005 |
|||
| Seiten=130-132 |
|||
| Online=https://shop.heise.de/katalog/klammerheimlich |
|||
| Abruf=2019-07-09 |
|||
}} |
|||
== Weblinks == |
== Weblinks == |
||
* [http://www.w3.org/TR/xmlenc-core/ XML-Encryption Syntax and Processing] (W3C, englisch) |
* [http://www.w3.org/TR/xmlenc-core/ ''XML-Encryption Syntax and Processing''.] (W3C, englisch) |
||
== Einzelnachweise == |
|||
<references /> |
|||
{{Navigationsleiste W3C-Standards}} |
|||
{{SORTIERUNG:Xml Encryption}} |
{{SORTIERUNG:Xml Encryption}} |
||
[[Kategorie:XML-basierte Sprache]] |
[[Kategorie:XML-basierte Sprache]] |
||
[[Kategorie:Kryptologischer Standard]] |
[[Kategorie:Kryptologischer Standard]] |
||
[[en:XML Encryption]] |
|||
[[ru:XML Encryption]] |
|||
[[zh:XML Encryption]] |
Aktuelle Version vom 18. Februar 2020, 12:39 Uhr
Die XML-Encryption (XML-Enc) ist eine Spezifikation von Möglichkeiten, wie XML-Dokumente ver- und entschlüsselt werden können.
Möglichkeiten
[Bearbeiten | Quelltext bearbeiten]Dabei sind folgende Möglichkeiten vorgesehen:
- Verschlüsselung des gesamten XML-Dokumentes
- Verschlüsselung eines einzelnen Elementes und seiner Unterelemente
- Verschlüsselung des Inhaltes eines XML-Elementes
- Verschlüsselung für mehrere Empfänger
Dazu existieren einige spezielle Elemente. Die wichtigsten sind:
- EncryptedData ist der einschließende Tag für die XML-Verschlüsselung. Das Attribut
Type
informiert darüber, ob ein ganzes XML-Element oder nur der Inhalt des Elementes verschlüsselt werden soll. Das AttributType
ist optional. - EncryptionMethod beschreibt den Algorithmus, der zur Verschlüsselung verwendet wird. Das Element ist optional. Wird dieses Element nicht verwendet, muss der Verschlüsselungsalgorithmus dem Empfänger bekannt sein.
- KeyInfo ist ein ebenfalls optionales Element, welches Informationen über den Schlüssel enthalten kann, mit dem die Daten verschlüsselt worden sind.
- CipherData ist das verschlüsselte Element. Es enthält entweder ein oder mehrere CipherValue-Elemente oder aber eine Referenz zu den verschlüsselten Daten (CipherReference).
- CipherValue enthält die verschlüsselten Daten.
- CipherReference ist eine Referenz zu den verschlüsselten Daten.
Beispiel
[Bearbeiten | Quelltext bearbeiten]Bei einem Bezahlvorgang im Internet könnte folgender XML-Datensatz auftreten:
<?xml version='1.0'?>
<PaymentInfo xmlns='http://example.org/paymentv2'>
<Name>John Smith</Name>
<CreditCard Limit='5,000' Currency='USD'>
<Number>4019 2445 0277 5567</Number>
<Issuer>Example Bank</Issuer>
<Expiration>04/02</Expiration>
</CreditCard>
</PaymentInfo>
Eine Möglichkeit, die vertraulichen Kreditkarteninformationen zu schützen besteht darin, das gesamte Element „CreditCard“ zu verschlüsseln.[1]
<?xml version='1.0'?>
<PaymentInfo xmlns='http://example.org/paymentv2'>
<Name>John Smith</Name>
<EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element'
xmlns='http://www.w3.org/2001/04/xmlenc#'>
<CipherData>
<CipherValue>A23B45C56</CipherValue>
</CipherData>
</EncryptedData>
</PaymentInfo>
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Literatur
[Bearbeiten | Quelltext bearbeiten]- Daniel Koch: XML-Verschlüsselung und weitere Sicherungsmaßnahmen. In: iX. Nr. 10, 2005, S. 130–132 (heise.de [abgerufen am 9. Juli 2019]).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- XML-Encryption Syntax and Processing. (W3C, englisch)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ XML Encryption Syntax and Processing. W3C, 10. Dezember 2002, abgerufen am 20. Oktober 2011.