Wie eine digitale Signatur funktioniert und was in der Datei steht

Wie aus Dokument, Hashwert und privatem Schlüssel eine digitale Signatur wird und was eine .p7s- oder .p7m-Datei darüber enthält.

Eine digitale Signatur ist ein Rechenverfahren: Aus dem Dokument wird ein Hashwert gebildet, und dieser Wert wird mit einem privaten Schlüssel signiert. Wer später den zugehörigen öffentlichen Schlüssel aus dem Zertifikat des Unterzeichners hat, kann zwei Dinge feststellen – ob die Signatur zu diesem Schlüssel gehört und ob das Dokument seit dem Signieren unverändert blieb. Genau dieses Verfahren erzeugt Dateien wie .p7s und .p7m, die Sie oben auf dieser Seite öffnen können.

Was ist eine digitale Signatur?

In der eIDAS-Verordnung der EU ist die elektronische Signatur der Oberbegriff: „Daten in elektronischer Form, die anderen elektronischen Daten beigefügt oder logisch mit ihnen verbunden werden und die der Unterzeichner zum Unterzeichnen verwendet“. Die digitale Signatur im technischen Sinn ist die kryptografische Bauform dieser Idee. Sie beruht auf Schlüsselpaaren: Der private Schlüssel bleibt beim Unterzeichner, der öffentliche Schlüssel steht in seinem Zertifikat.

Ein eingefügtes Bild einer handschriftlichen Unterschrift ist keine digitale Signatur in diesem Sinn. Es ist mit dem Dokument nicht rechnerisch verbunden, ändert sich nicht mit dem Text und lässt sich in eine andere Datei kopieren. Wie das eIDAS-Recht die Abstufungen einfach, fortgeschritten und qualifiziert einordnet, zeigt die Seite zu den Arten elektronischer Signaturen.

Wie funktioniert eine digitale Signatur?

Der Ablauf in vier Schritten, am Beispiel einer Datei Mietvertrag_Meier.pdf:

  1. Das Signierprogramm berechnet aus den Bytes des Dokuments einen Hashwert, zum Beispiel mit dem Verfahren SHA-256. Aus jeder Datei wird so ein kurzer, fester Prüfsummenwert – aus einer geänderten Datei ein völlig anderer.
  2. Diesen Hashwert signiert der Unterzeichner mit seinem privaten Schlüssel. Das Ergebnis ist der Signaturwert; ein Verschlüsseln des Dokuments ist damit nicht verbunden.
  3. Zum Signaturwert legt das Programm das Zertifikat des Unterzeichners, den Hashalgorithmus und die Signaturzeit in die Signaturdatei. Zusammen bilden diese Teile die Signaturstruktur SignedData des Standards CMS (RFC 5652).
  4. Der Empfänger berechnet den Hashwert des Dokuments neu, entnimmt den öffentlichen Schlüssel dem Zertifikat und prüft, ob der gespeicherte Signaturwert dazu passt.

Genau das verlangt die eIDAS-Verordnung von fortgeschrittenen elektronischen Signaturen in Artikel 26: Sie müssen so mit den Daten verbunden sein, dass eine nachträgliche Veränderung erkannt werden kann.

Ein Signaturblock kann mehrere Unterzeichner tragen: In SignedData steht pro Person ein eigener SignerInfo-Eintrag mit eigenem Zertifikat, Hashverfahren und Signaturwert (RFC 5652, Abschnitt 5.1). Hat eine zweite Partei das Dokument zusätzlich signiert, werden ihre Angaben in derselben Datei geführt und lassen sich getrennt nachrechnen.

Warum fällt jede Änderung an der Signatur auf?

Weil der Hashwert neu berechnet wird, nicht die Signatur. Ändert jemand nach dem Signieren einen Satz, eine Zahl oder ein Leerzeichen, ergibt die Neuberechnung einen anderen Wert als den in der Signatur gespeicherten. Der Abgleich schlägt fehl, obwohl Zertifikat und Signaturwert unverändert sind. Ein Angreifer kann den gespeicherten Wert nur mit dem privaten Schlüssel passend neu signieren; deshalb schreiben Signierverfahren starke Hashalgorithmen vor, und Prüfprogramme dürfen es nach RFC 5652 ablehnen, Signaturen mit einem Hashverfahren außerhalb der unterstützten Menge zu validieren.

Zum Signaturzeitpunkt gehört eine Klarstellung: Das Feld signing-time enthält nur die behauptete Zeit des Unterzeichners. Belastbar wird die Angabe erst durch einen Zeitstempel einer unabhängigen Zeitstempelstelle; er belegt, dass die Signatur zu diesem Zeitpunkt bereits existierte – etwa vor dem Widerruf des Zertifikats oder vor seinem Ablauf.

Was steckt in einer .p7s- oder .p7m-Datei?

Beide Hüllen folgen demselben Standard, dem CMS (RFC 5652), früher PKCS#7 genannt. Der Unterschied liegt im Inhalt:

Bestandteil Fachbegriff Aussage
Prüfsumme des Dokuments message digest Hashwert, gegen den bei der Prüfung gerechnet wird
Verwendete Hashverfahren digestAlgorithms Liste der von den Unterzeichnern benutzten Verfahren
Signaturwert signature value das mit dem privaten Schlüssel erzeugte Ergebnis
Zertifikat und Kette certificates öffentlicher Schlüssel, ausstellende Stelle, Beglaubigungspfad
Behauptete Signaturzeit signing-time die Zeit, zu der der Unterzeichner die Signatur laut eigener Angabe erstellt hat
Zusätzliche Zeitangabe Zeitstempel Zeitnachweis durch eine Zeitstempelstelle, falls vorhanden
Das Dokument selbst encapContentInfo bei .p7m meist enthalten, bei .p7s bewusst weggelassen

Dass der Standard das Dokument auslassen darf, ist der Regelfall für .p7s: Die Signatur entsteht ohne eingebetteten Inhalt und liegt als eigene Datei neben dem Original. Warum sich eine .p7s-Datei deshalb nicht per Doppelklick öffnet, erklärt Dateiendung P7S; das Gegenstück mit Dokument darin ist P7M-Datei öffnen.

Wie sieht eine digitale Signatur aus?

Es gibt zwei Ansichten, und sie sind nicht dasselbe. Die sichtbare Seite: In einem PDF kann ein Signaturfeld mit einem Unterschriftenbild stehen, in einer signierten E-Mail ein Symbol des Mailprogramms. Diese Darstellung macht die Signatur nur sichtbar; die Signatur selbst ist ein Datensatz aus Hashwert, Signaturwert, Zertifikat und Zeitangaben.

In einer signierten E-Mail heißt der Signaturteil smime.p7s, wenn das Programm ihn als Anhang ablegt; die Nachricht selbst ist nicht darin (Anhang smime.p7s). Wer nur die Signaturdatei hat, sieht deshalb keinen Text und kein Dokument – aber die Daten der Signatur.

Woran erkenne ich, was eine Signatur belegt?

Was eine Signaturdatei über sich sagt, lässt sich maschinell auslesen: wer signiert haben will, welches Zertifikat hinterlegt ist, wann, mit welchem Verfahren und welcher Signaturstufe. offnenp7s.de zeigt diese Angaben und rechnet Inhaltshash und Signaturwert im Browser nach. Das ist eine Faktprüfung, keine amtliche Validierung: Die Seite prüft nicht gegen Vertrauenslisten und kontrolliert keinen Sperrstatus, ein Häkchen „gültig“ gibt es hier nicht. Wer die Signatur gegen die europäische Vertrauensinfrastruktur validieren will, nutzt das Validierungs-Werkzeug der Europäischen Kommission – dabei wird die Datei an die Infrastruktur der Kommission übermittelt. Welche Schritte eine inhaltliche Prüfung umfasst, steht auf Signatur prüfen; die Rechtsstufen erklärt Qualifizierte elektronische Signatur.

Signaturdatei öffnen und die Daten ablesen

Wählen Sie die Signaturdatei in der Dateiauswahl oben. Ohne Dokument daneben zeigt die Seite Unterzeichner, Zertifikat und Zeiten; mit dem Original vergleicht der Browser den Hashwert. Ein kostenloses Konto gibt Vorschau der ersten Seite und die Signaturdaten; das vollständige Dokument ist kostenpflichtig. Die Datei verlässt dabei nie Ihr Gerät. So sehen Sie bei jeder digitalen Signatur zuerst, was sie behauptet – und was sie belegt.

Häufige Fragen

Was ist eine digitale Signatur einfach erklärt?

Aus dem Dokument wird ein Hashwert berechnet, also eine kurze Prüfsumme. Diesen Wert signiert der Unterzeichner mit seinem privaten Schlüssel. Wer den zugehörigen öffentlichen Schlüssel aus dem Zertifikat hat, kann prüfen: Stimmt der Hashwert und stammt die Signatur von diesem Schlüssel, bleibt das Dokument seit dem Signieren unverändert.

Was ist der Unterschied zwischen digitaler und elektronischer Signatur?

Elektronische Signatur ist der rechtliche Oberbegriff der EU-Verordnung eIDAS: Daten, die anderen elektronischen Daten beigefügt oder logisch mit ihnen verbunden werden und zum Unterzeichnen dienen. Digitale Signatur im technischen Sinn nennt man das kryptografische Verfahren dahinter: ein Hashwert des Dokuments, mit dem privaten Schlüssel signiert. Ein eingefügtes Bild einer Unterschrift kann eine elektronische Signatur im weiteren Sinn sein, ist aber keine digitale Signatur im kryptografischen Sinn.

Enthält eine Signaturdatei das Dokument?

Bei einer .p7m-Datei steckt das Dokument meist in der Hülle, zum Beispiel ein PDF. Bei einer .p7s-Datei nicht: Sie enthält nur die Signatur, das Original bleibt eine eigene Datei. Beide Teile gehören zusammen aufbewahrt.

Warum zeigt eine Änderung sofort, dass die Signatur nicht mehr passt?

Weil der Hashwert über das Dokument bei der Prüfung neu berechnet wird. Ändert jemand nach dem Signieren auch nur ein Komma, ergibt sich ein anderer Hashwert als der in der Signatur gespeicherte. Die Signatur lässt sich nicht mit einem veränderten Dokument in Übereinstimmung bringen, ohne den privaten Schlüssel zu kennen.

Kann ich eine Unterschrift als Bild wie eine digitale Signatur verwenden?

Ein eingefügtes Bild einer Unterschrift ist mit dem Dokument nicht kryptografisch verbunden. Es schützt weder vor Veränderung noch belegt es verlässlich den Unterzeichner. Ob ein solches Bild rechtlich genügt, ist eine Frage der Formvorschrift, nicht der Technik.

Ist eine digitale Signatur automatisch rechtsgültig?

Nein. Die Technik beweist Urheberschaft und Unversehrtheit, aber welche Form ein Geschäft verlangt, regeln Gesetze wie die eIDAS-Verordnung und das BGB. Eine qualifizierte elektronische Signatur hat die gleiche Rechtswirkung wie eine handschriftliche Unterschrift; einfache Signaturen können je nach Zweck genügen oder nicht.

Ziehen Sie Ihre .p7s / .p7m Datei hierher

Datei öffnen