XML-Sicherheitsaspekte

XML-Signaturen

Bereits mit der Einführung von XML war klar, dass man auch einen Mechanismus benötigt, der für die Datenintegrität und Vollständigkeit bei der Übermittlung von XML-basierten Inhalten sorgt. Am einfachsten lassen sich diese Anforderungen durch XML-Signaturen erfüllen. Sie sorgen für eine so genannte End-to-End-Security. Das heißt, die Signaturen verbleiben bei der Weiterverarbeitung in den Daten und sind somit weiterhin verifizierbar.

XML-Signaturen kann man dabei auf beliebige Daten anwenden. Je nachdem, ob sie sich im gleichen XML-Dokument wie die Signatur befinden oder nicht, spricht man von Enveloped respektive Enveloping Signatures oder von Detached Signatures.

XML-Signaturen, wie auch herkömmliche digitale Signaturen, binden eine Nachricht an eine Nachrichtenquelle. Sie muss die Integrität der Nachricht garantieren und darf nicht auf eine andere Nachricht übertragbar sein. Eine digitale Signatur darf nur der Signierende selbst erzeugen und kann daher zum Nachweis der Herkunft verwendet werden.

Der XML-Signature-Mechanismus greift dabei auf die Funktionen der Canonical XML-Spezifikation zurück. Diese stellt sicher, dass Instanzen immer auf die gleiche Weise strukturiert werden. Canonical XML gewährleistet also, dass bei der Zeichnung die Inhalte nicht verändert wurden, sondern erhalten bleiben.