XML-Encryption

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

Möglichkeiten

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.

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>

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

Literatur

  • 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

Einzelnachweise

  1. XML Encryption Syntax and Processing. W3C, 10. Dezember 2002, abgerufen am 20. Oktober 2011.

Auf dieser Seite verwendete Medien

W3C Icon.svg
This is the official (World Wide Web Consortium) Icon.