Zum Inhalt springen

XML-Encryption

aus Wikipedia, der freien Enzyklopädie

Die XML-Encryption (XML-Enc) ist eine Spezifikation von Möglichkeiten, wie XML-Dokumente ver- und entschlüsselt werden können.<ref name="Schmeh2016">Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>

Möglichkeiten[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:<ref name="Schmeh2016" />

  • 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[Bearbeiten]

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>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. W3C, Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</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[Bearbeiten]

Literatur[Bearbeiten]

  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />

Vorlage:Erweiterte Navigationsleiste