Zum Inhalt springen

„XML-Encryption“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Luckas-bot (Diskussion | Beiträge)
K Bot: Ergänze: zh:XML Encryption
Komma
 
(14 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Die '''XML-Encryption'''-Spezifikation definiert eine Reihe von Möglichkeiten, wie [[XML]]-Dokumente [[Verschlüsselung|ver- und entschlüsselt]] werden.
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 "Type" informiert darüber, ob ein ganzes XML-Element oder nur der Inhalt des Elementes verschlüsselt werden soll. Das Attribut "Type" ist optional.
* 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).
* CipherValue enthält die verschlüsselten Daten.
* CipherValue enthält die verschlüsselten Daten.
* CipherReference ist eine Referenz zu den verschlüsselten Daten.
* CipherReference ist eine Referenz zu den verschlüsselten Daten.

== Beispiel ==
Bei einem Bezahlvorgang im Internet könnte folgender XML-Datensatz auftreten:

<syntaxhighlight lang="xml">
<?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'?>
<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>
</syntaxhighlight>


== 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:Kryptologie]]
[[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.

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

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>
  • Daniel Koch: XML-Verschlüsselung und weitere Sicherungsmaßnahmen. In: iX. Nr. 10, 2005, S. 130–132 (heise.de [abgerufen am 9. Juli 2019]).

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. XML Encryption Syntax and Processing. W3C, 10. Dezember 2002, abgerufen am 20. Oktober 2011.