blob: 4544d2fe1328ea65fbe47f0b302a6854f1d6a443 [file] [log] [blame]
<html xmlns:sec="http://www.xml-sicherheit.de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../format.css">
</head>
<body>
<h1>Verschlüsselung Grundlagen</h1>
<p>Die Verschlüsselung mit XML beschreibt die <strong>XML Encryption Syntax and Processing Recommendation</strong> des World Wide Web Consortiums vom 10. Dezember 2002. Diese Empfehlung spezifiziert die Syntax zur Repräsentation von beliebigen
verschlüsselten Daten (ein XML-Dokument, ein XML-Element oder XML Elementinhalt) in XML-Dokumenten.
</p>
<p>Die XML-Verschlüsselung greift teilweise auf Elemente und Konzepte der <a href="signatures_basics.html">XML-Digitale Signaturen</a> zurück und schützt die Vertraulichkeit von XML-Dokumenten. Die Vertraulichkeit gewährleistet den Schutz der Informationen
vor unbefugter Preisgabe. Nur der rechtmäßige Empfänger kann aus dem Geheimtext wieder den ursprünglichen Klartext gewinnen.
</p>
<p>Verschlüsselt werden kann ein einzelnes XML-Element (<em>element</em>), ein XML-Element samt seiner Kindelemente (<em>elements</em>) und auch der Inhalt eines XML-Elements (<em>character data</em>). Außerdem ist natürlich die Verschlüsselung eines vollständigen XML-Dokuments sowie anderer binärer Daten möglich. Ein Spezialfall
ist die Mehrfachverschlüsselung bereits verschlüsselter Daten (<em>super-encryption</em>).
</p>
<p>Beim Verschlüsseln von Inhalten die kein XML sind werden die zur Entschlüsselung erforderlichen Informationen (z.B. Verschlüsselungsmethode
oder Schlüsselinformationen) in XML-Form gespeichert. Die verschlüsselten Daten können dann entweder im Base-64 encoding integriert
oder referenziert werden.
</p>
<p>Mit der Mehrfachverschlüsselung lassen sich fein abgestufte Zugriffsrechte realisieren. Zu diesem Zweck existiert die Möglichkeit,
verschiedene Dokumentteile mit unterschiedlichen Schlüsseln zu verschlüsseln. Ein Empfänger kann damit nur die für ihn relevanten
Teile entschlüsseln und lesbar machen. Mehrfach verschlüsselte Daten besitzen die gleiche Syntax und Semantik wie einfach
verschlüsselte Daten.
</p>
<p>Bei der Verschlüsselung ist eine sehr feine Granularität möglich. Damit erhält man die Möglichkeit, XML-Dokumentfragmente
- einzelne Elemente oder nur deren Inhalte - zu verschlüsseln. Sinnvoll ist das beispielsweise bei der Verschlüsselung von
Online-Bestellungen, bei denen nur die Kreditkarteninformationen geschützt werden müssen. Die Verschlüsselung von einzelnen
Attributen ist, ebenso wie deren Signierung, derzeit nicht möglich. Dieses wurde lange diskutiert, dann aber aus Komplexitätsgründen
noch nicht umgesetzt.
</p>
<p>Im Gegensatz zu den XML-Signaturen kann die Struktur des verschlüsselten XML-Dokuments verändert (verborgen) werden, je nachdem,
welche Dokumentteile verschlüsselt werden. So wird beim Verschlüsseln eines XML-Elements oder XML-Elements mit weiteren Kindelementen
dieser Klartext im verschlüsselten XML-Dokument ersetzt. Beim Verschlüsseln beliebiger Daten (auch binär) oder des gesamten
XML-Dokuments kann das Element EncryptedData entweder zum neuen Wurzelelement oder zu einem Kindelement werden.
</p>
<p>In jedem Fall ist das XML-Dokument weiterhin wohlgeformt, jedoch werden durch die kryptografische Bearbeitung zumindest der
Elementinhalt und möglicherweise auch die Dokumentstruktur verändert. Das verschlüsselte XML-Dokument ist daher nicht mehr
unbedingt gültig zu seiner ursprünglichen DTD oder Schema Definition. Nach der Entschlüsselung steht selbstverständlich wieder
das ursprüngliche Dokument, in seiner ursprünglichen Struktur und mit all seinen Elementen, zur Verfügung.
</p>
</body>
</html>