blob: 4d72713d4bcd1a40008dec761c7fa40eae3f611a [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>Signaturvarianten</h1>
<p>Wie bereits erwähnt können mit XML erstellte Signaturen mittels Referenzen verschiedene Typen von Objekten signieren. Die
Signaturen lassen sich daher in drei verschiedenen Varianten erzeugen: <a href="signatures_enveloped.html">enveloped signature</a> (eingebettet), <a href="signatures_enveloping.html">enveloping signature</a> (einbettend) und <a href="signatures_detached.html">detached signature</a> (getrennt). Der wesentliche Unterschied zwischen diesen drei Varianten ist, an welcher Stelle im XML-Dokument die Signatur
dargestellt wird. Signaturen vom Typ <em>enveloped</em> und <em>enveloping</em> werden im gleichen XML-Dokument wie die zu signierenden Daten abgelegt, signiertes Dokument und Signatur weisen daher eine
enge Bindung auf. Bei <em>detached</em> Signaturen liegt die Signatur normalerweise in einer separaten Datei, signiertes Dokument und Signatur haben damit eine eher
lose Bindung.
</p>
<p>Es gibt keine generelle Empfehlung, wann welche Signaturvariante zu verwenden ist. Letztendlich hängt dies von der Applikation
und weiteren Anforderungen ab. Grob orientieren kann man sich an den folgenden Empfehlungen: Eine <a href="signatures_enveloped.html">enveloped signature</a> ist ideal geeignet zum Signieren von einfachen XML-Dokumenten. Die <a href="signatures_enveloping.html">enveloping signature</a> ist besser geeignet, wenn zu den signierten Daten weitere Informationen wie z.B. ein Zeitstempel hinzugefügt werden sollen
(und natürlich ebenfalls mit signiert werden). Die <a href="signatures_detached.html">detached signature</a> schließlich ist ideal, wenn die zu signierende Ressource nicht modifiziert werden kann oder soll.
</p>
<p>Weitergehende Möglichkeiten als die bekannten herkömmlichen Signaturverfahren bieten XML-Signaturen beim Signieren von Teilbäumen,
Dokumentfragmenten und mehreren Dokumenten gleichzeitig. Der entscheidende Vorteil von digitalen Signaturen mit XML - das
Signieren von Dokumentfragmenten - kann natürlich nur ausgespielt werden, wenn das Dokument selbst in XML-Syntax vorliegt.
</p>
<p>XML-Digitale Signaturen ermöglichen es daher, ein oder mehrere Knoten eines XML-Baums auszuwählen und nur diese zu signieren.
Vorteilhaft ist das beispielsweise, wenn ein Anwender nur ausgewählte Teile eines Dokuments digital signieren will. Ein weiterer
Anwender kann bestimmte Dokumentteile anschließend trotzdem verändern, ohne dass die vorherige Signatur ungültig wird. Anschließend
kann dieser Anwender ein weiteres Dokumentfragment (oder auch das gesamte XML-Dokument) signieren. Gleichzeitig bedeutet das
aber, dass nicht signierte Dokumentfragmente wie gezeigt verändert werden können, ohne dass dies von der Signatur bemerkt
wird. Nur signierte Bestandteile eines Dokuments können als sicher betrachtet werden.
</p>
</body>
</html>