Die XML-Encryption (XML-Enc) ist eine Spezifikation von Möglichkeiten, wie XML-Dokumente ver- und entschlüsselt werden können.
Möglichkeiten
BearbeitenDabei 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
BearbeitenBei 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
BearbeitenLiteratur
BearbeitenWeblinks
Bearbeiten- XML-Encryption Syntax and Processing. (W3C, englisch)
Einzelnachweise
Bearbeiten- ↑ XML Encryption Syntax and Processing. W3C, 10. Dezember 2002, abgerufen am 20. Oktober 2011.