Zum Inhalt springen

„XML-Encryption“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Artikel verknüpft / Quellen überarbeitet (https; bib. Angaben; WP:Weblinks-Richtlinien §5: Link auf kostenpflichtigen Artikel entfernt, der ohnehin nicht mehr funktioniert)
Quelle hinzugefügt / übliche und einheitliche Formatierung von XML-Knoten
 
Zeile 1: Zeile 1:
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.
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.<ref name="Schmeh2016">{{Literatur |Autor=Klaus Schmeh |Titel=Kryptografie: Verfahren, Protokolle, Infrastrukturen |Auflage=6 |Verlag=dpunkt |Ort=Heidelberg |Datum=2016 |Sprache=de |Reihe=iX Edition |ISBN=978-3-86490-356-4 |Kapitel=XML Encryption |Seiten=398 |Online={{Google Buch |BuchID=Bxd4DwAAQBAJ |Seite=445}}}}</ref>


== Möglichkeiten ==
== Möglichkeiten ==
Zeile 8: Zeile 8:
* Verschlüsselung für mehrere Empfänger
* Verschlüsselung für mehrere Empfänger


Dazu existieren einige spezielle Elemente. Die wichtigsten sind:
Dazu existieren einige spezielle Elemente. Die wichtigsten sind:<ref name="Schmeh2016" />
* EncryptedData ist der einschließende Tag für die XML-Verschlüsselung. Das [[Attribut (Auszeichnungssprache)|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.
* <code>EncryptedData</code> ist der einschließende Tag für die XML-Verschlüsselung. Das [[Attribut (Auszeichnungssprache)|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.
* <code>EncryptionMethod</code> 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.
* <code>KeyInfo</code> 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).
* <code>CipherData</code> ist das verschlüsselte Element. Es enthält entweder ein oder mehrere <code>CipherValue</code>-Elemente oder aber eine Referenz zu den verschlüsselten Daten (<code>CipherReference</code>).
* CipherValue enthält die verschlüsselten Daten.
* <code>CipherValue</code> enthält die verschlüsselten Daten.
* CipherReference ist eine Referenz zu den verschlüsselten Daten.
* <code>CipherReference</code> ist eine Referenz zu den verschlüsselten Daten.


== Beispiel ==
== Beispiel ==

Aktuelle Version vom 16. Juni 2025, 05:01 Uhr

Die XML-Encryption (XML-Enc) ist eine Spezifikation von Möglichkeiten, wie XML-Dokumente ver- und entschlüsselt werden können.[1]

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:[1]

  • 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.[2]

<?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.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b Klaus Schmeh: Kryptografie: Verfahren, Protokolle, Infrastrukturen (= iX Edition). 6. Auflage. dpunkt, Heidelberg 2016, ISBN 978-3-86490-356-4, XML Encryption, S. 398 (eingeschränkte Vorschau in der Google-Buchsuche).
  2. XML Encryption Syntax and Processing. W3C, 10. Dezember 2002, abgerufen am 20. Oktober 2011 (englisch).