CAdES-T: ein vielseitiges und langlebiges Format für elektronische Signaturen

Eine Signatur ist nicht für immer gültig

Eine elektronische Signatur ist nicht für immer gültig. Sie ist zu einem Datum gültig. Die Formulierung überrascht zunächst, lässt sich aber gut erklären.

Ein Signaturzertifikat hat eine Lebensdauer. Es läuft ab, und es kann vorzeitig gesperrt werden, etwa wenn sein privater Schlüssel kompromittiert wurde. Was wird dann aus einem Dokument, das mit einem solchen Zertifikat signiert wurde? Muss es als nicht signiert gelten?

Nein. Aber unter einer Bedingung: dass sich beweisen lässt, wann es signiert wurde.

Handschriftliche Unterschrift, elektronische Signatur

Eine handschriftliche Unterschrift verbindet eine Person mit einem Dokument, sagt aber nichts über dessen Inhalt aus: nichts hindert daran, nachträglich eine Seite zu verändern. Und die Prüfung erfordert ein Fachwissen, das heikel sein kann.

Eine elektronische Signatur begegnet diesen Grenzen, weil sie aus dem Dokument selbst berechnet wird. Sie bietet drei Garantien:

  • Integrität: die Signatur bezieht sich auf den Fingerabdruck des Dokuments. Ein einziges geändertes Byte, und die Prüfung schlägt fehl.
  • Identität: der Signaturschlüssel ist mit einem Zertifikat verbunden, das von einer Stelle ausgestellt wurde, die die Identität des Inhabers geprüft hat.
  • Nichtabstreitbarkeit: der private Schlüssel bleibt unter der alleinigen Kontrolle des Unterzeichners, insbesondere wenn er eine Smartcard oder einen Token nie verlässt.

Hinzu kommt ein überprüfbares Datum, sobald die Signatur mit einem Zeitstempel versehen ist. Genau das fehlt der handschriftlichen Unterschrift am meisten: ein von Hand eingetragenes Datum ist nichts weiter als eine Behauptung.

Die Signaturformate

Die eIDAS-Verordnung erkennt mehrere von der ETSI normierte Signaturformate an. Sie unterscheiden sich zunächst nach dem Dateityp, auf den sie angewendet werden:

  • XAdES für XML-Dokumente
  • PAdES für PDF, wobei die Signatur in das Dokument eingebettet wird
  • JAdES für JSON, insbesondere den Austausch zwischen Anwendungen
  • CAdES für jeden beliebigen Dateityp

CAdES ist das universelle Format. Da es nichts über die Struktur der signierten Datei voraussetzt, wird die Signatur nicht in sie eingefügt: sie begleitet sie. Man spricht von einer abgetrennten Signatur. Genau das erlaubt es, ein Bild, ein Archiv, eine verschlüsselte Datei oder ein proprietäres Format zu signieren, ohne es jemals anzurühren.

Die Stufe T, die das Datum hinzufügt

Jedes dieser Formate gliedert sich wiederum in Stufen:

  • Stufe B (Basic): die Signatur allein, mit den unverzichtbaren Attributen
  • Stufe T (Timestamp): ein Zeitstempel-Token tritt zur Signatur hinzu
  • Stufe LT (Long Term): die für die Prüfung nötigen Elemente, Zertifikatskette und Sperrnachweise, werden in die Signatur eingebettet
  • Stufe LTA (Long Term Archive): Archiv-Zeitstempel werden hinzugefügt und im Lauf der Zeit erneuert

Der Unterschied zwischen LT und LTA liegt darin, was geschützt werden soll. Die Stufe LT beantwortet ein Problem der Verfügbarkeit: in zehn Jahren ist der Sperrdienst der Stelle vielleicht verschwunden, also bewahrt man schon heute in der Signatur die Nachweise auf, die ihre Prüfung ermöglichen werden. Die Stufe LTA beantwortet zusätzlich ein Problem des Verfalls von Schlüsseln und Algorithmen: ein heute als sicher geltender Algorithmus bleibt es nicht auf Dauer, und für die verwendeten Schlüssel gilt dasselbe. Schließlich hat auch das Zertifikat der Zeitstempelstelle ein Lebensende. Ein Archiv-Zeitstempel versiegelt daher regelmäßig das Ganze, Nachweise inbegriffen, wobei jedes neue Token die Gültigkeit der Kette verlängert, bevor das vorherige schwächer wird.

Eine CAdES-T-Signatur enthält also ein von einer vertrauenswürdigen Stelle ausgestelltes Zeitstempel-Token, das bescheinigt, dass die Signatur zu genau diesem Zeitpunkt existierte.

Ein Dokument stempeln, eine Signatur stempeln

Das sind zwei verschiedene Möglichkeiten, und sie beweisen nicht dasselbe.

Ein Dokument mit einem Zeitstempel zu versehen, also seinen Fingerabdruck, beweist die Existenz der Datei zu diesem Datum. Es sagt nichts über ihren Urheber aus: ein Zeitstempel ist keine Signatur.

Eine Signatur mit einem Zeitstempel zu versehen beweist, dass die Signatur des Dokuments vor diesem Datum erfolgt ist, dass das Zertifikat also zum Zeitpunkt der Signatur noch gültig war. (Und da der Signaturwert den Fingerabdruck des Dokuments bereits abdeckt, gilt der Datumsnachweis auch für das Dokument!)

Eine Signatur mit einem Zeitstempel zu versehen, genau das leistet die Stufe T.

Prüfen heißt nicht nur, einen Fingerabdruck neu zu berechnen

Eine Signatur zu prüfen besteht nicht nur darin, zwei Fingerabdrücke zu vergleichen. Es heißt, eine Rechtsfrage zu beantworten: war das Zertifikat des Unterzeichners zu dem vom Token bescheinigten Datum gültig?

Das setzt drei verschiedene Kontrollen voraus:

  • Deckte der Gültigkeitszeitraum des Zertifikats dieses Datum ab?
  • War das Zertifikat zu diesem Datum gesperrt? Die Frage gilt für das Zertifikat des Unterzeichners, aber auch für das der ausstellenden Stelle.
  • Führt die Zertifizierungskette zu einer anerkannten vertrauenswürdigen Stelle?

Dieser letzte Punkt verdient Aufmerksamkeit, denn es genügt nicht, dass eine Kette irgendwohin führt: es kommt darauf an, wie weit. Jeder Mitgliedstaat veröffentlicht eine signierte eIDAS-Vertrauensliste, die die qualifizierten Vertrauensdiensteanbieter und die Zertifikate ihrer Stellen aufführt. Diese nationalen Listen werden ihrerseits von einer Liste der Listen referenziert, die von der Europäischen Kommission veröffentlicht wird und deren Signaturzertifikate im Amtsblatt der Europäischen Union erscheinen.

Es ist diese Veröffentlichungskette, die dem Wort qualifiziert seinen Sinn gibt. Eine Stelle ist nicht qualifiziert, weil ihr Zertifikat es behauptet, sondern weil ein Staat sie in seine Liste eingetragen hat und weil dieser Eintrag für jeden überprüfbar ist. Diese Listen bewahren den Verlauf der Status auf, was es erlaubt, die hier einzig zählende Frage zu beantworten: war diese Stelle zum Datum des Tokens qualifiziert?

Denn diese Kontrollen werden zum Datum des Tokens beurteilt und nicht zu dem Zeitpunkt, an dem die Datei geöffnet wird. Ein seit zwei Jahren abgelaufenes Zertifikat kann durchaus eine gültige Signatur tragen. Umgekehrt trägt ein noch gültiges Zertifikat eine Signatur, die wenig beweist, wenn ihre Kette zu keiner anerkannten Stelle führt.

Ohne beweisbares Datum stirbt die Signatur mit ihrem Zertifikat

Das ist die unmittelbare Folge. Eine Signatur der Stufe B, ohne Token, liefert keinerlei Nachweis ihres eigenen Datums: das darin enthaltene Datum wird vom Unterzeichner erklärt und ist damit nicht durchsetzbar. An dem Tag, an dem das Zertifikat abläuft oder gesperrt wird, lässt sich nicht mehr feststellen, dass die Signatur davor liegt.

Und in der Regel merkt es niemand, bevor man es braucht. Und dann ist nichts mehr zu machen.

CAdES-T in Sigalion Vault

Aus all diesen Gründen haben wir für die Signatur in Sigalion Vault das Format CAdES-T gewählt, verfügbar unter macOS, Windows und Linux:

  • CAdES baseline-T (ETSI EN 319 122-1), abgetrennte CMS-Signatur (RFC 5652), zusammen mit dem Dokument in einem ASiC-S-Container
  • RFC 3161-Token auf dem Signaturwert, wahlweise Zeitstempel von Sigalion oder eIDAS-qualifizierter Zeitstempel (empfohlen)
  • Software-Zertifikat, Smartcard oder Token (IDOpte, YubiKey), je nach vorhandenem Medium
  • Vertrauenswürdige Stellen und eIDAS-Qualifikation aus der offiziellen Vertrauensliste, Sperrstatus des Unterzeichners und seines Ausstellers geprüft zu dem durch den Zeitstempel bescheinigten Datum

Die erzeugte Datei ist ein .asics-Umschlag, der das Dokument und seine Signatur in einem normierten Format vereint und mit ETSI-konformen Werkzeugen überprüfbar ist.

Signieren, Zeitstempeln, Verschlüsseln: drei verschiedene Bedürfnisse

Allgemeiner beantwortet Vault drei verschiedene, einander ergänzende, aber oft verwechselte Bedürfnisse:

  • Signieren, um die Integrität des Dokuments und die Identität seines Urhebers zu gewährleisten und dessen Zustimmung auszudrücken
  • Zeitstempeln, um zu bescheinigen, dass es zu einem bestimmten Datum existierte
  • Verschlüsseln, um die Vertraulichkeit zu gewährleisten und das Lesen den bestimmten Empfängern vorzubehalten

Die drei lassen sich kombinieren: ein Dokument kann signiert und mit einem Zeitstempel versehen und anschließend für seinen Empfänger verschlüsselt werden, wobei auch das Ganze einen Zeitstempel erhalten kann.