XML-Encryption
# 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:

Eine Möglichkeit, die vertraulichen Kreditkarteninformationen zu schützen besteht darin, das gesamte Element „CreditCard“ zu verschlüsseln.

