XAdES, XML-Dsig und X.509

XML-Signaturen. Es ist ein schwieriges und umfangreiches Thema aber es lässt sich beherrschen. Dabei gibt es einiges zu beachten, aber die Normen sind schön abgestuft und aufeinander aufbauend. So kann man sich je nach Anforderungen immer weiter in die Materie hineinwagen. Hilfreich ist dabei natürlich ein geeignete Sofwarebibliothek, die einem den dreckigen Teil der Arbeit abnimmt. Doch zunächst einige Grundlagen.

XML-Dsig

Die XML-Signature-Spezifikation (auch XMLDsig) definiert eine XML-Schreibweise für digitale Signaturen. In ihrer Funktion ähnelt sie dem PKCS#7-Standard, ist aber leichter zu erweitern und auf das Signieren von XML-Dokumenten spezialisiert. Sie findet Einsatz in vielen weiterführenden Web-Standards wie etwa SOAP, SAML oder dem deutschen Online-Banking-System FinTS.

Mit XML-Signaturen können Daten jedes Typs signiert werden, sofern sie in das XML-Dokument der Signatur eingebettet worden sind oder mit einer URL adressiert werden können – erstere wird als enveloped signature, letztere als detached (losgelöste) signature bezeichnet.

Es handelt sich um einen W3C-Standard, den man hier m Detail nachlesen kann. Komplementär gibt es dazu den XML-Encryption-Standard, welcher XML-Dateien und -Elemente inline verschlüsselt.

XAdES

XAdES (XML Advanced Electronic Signatures) ist eine Zusammenstellung von Erweiterungen für die W3C-Empfehlung XML-DSig, durch den die Verwendung erweiterter elektronischer Signaturen möglich gemacht wird. Es handelt sich hierbei um einen ETSI-Standard.

Während XML-DSig ein allgemeines Framework für die digitale Signatur von XML-Dokumenten ist, spezifiziert XAdES genaue Profile für XML-DSig zur Benutzung mit berechtigter elektronischer Signatur in der Bedeutung der EU-Direktive 1999/93/EC. Ein wichtiger Faktor von XAdES ist, dass elektronisch signierte Dokumente für lange Zeit gültig bleiben, auch wenn die zugrundeliegenden kryptografischen Algorithmen geknackt wurden.

Profile

XAdES definiert sechs Profile (Forms), die sich im angebotenen Schutzfaktor unterscheiden. Jedes Profil enthält und erweitert das vorherige:

  • XAdES, Grundform, die nur die in der Direktive genannten rechtlichen Bestimmungen für die erweiterte Signatur erfüllt;
  • XAdES-T (Zeitstempel), Zeitstempel wurde hinzugefügt, um Schutz vor Verweigerung zu bieten
  • XAdES-C (komplett), Referenzen zu Verifikationsdaten (Zertifikate und Rückruflisten) wurden den signierten Dokumenten hinzugefügt, um Offline-Verifikation und zukünftige Verifikation zu bieten (die aktuellen Daten werden allerdings nicht gespeichert);
  • XAdES-X (erweitert), den Referenzen, die mit XAdES-C eingeführt wurden, werden Zeitstempel hinzugefügt, um einen Schutz vor möglichen Abänderungen der Zertifikate in der Zukunft zu schützen;
  • XAdES-X-L (erweitert Langzeit), aktuelle Zertifikate und Rückruflisten wurden den signierten Dokumenten hinzugefügt, um eine zukünftige Verifikation zu erlauben, auch, wenn die Originalquelle der Verifikationsdaten nicht verfügbar ist;
  • XAdES-A (archivarisch), Möglichkeit für regelmäßige Zeitstempel (z.B. einmal im Jahr) des archivierten Dokuments, um Abänderungen, die durch die schwächer gewordene Signatur während der Langzeitspeicherung verursacht wurden, vorzubeugen.