Zum Inhalt

47-Tage-Zertifikate sind in Planung. Bist du bereit?

Jetzt handeln →

Zeitstempel-Code-Signatur-Zertifikate – Bedeutung

Zeitstempel-Code-Signatur-Zertifikate

Einführung

Lassen Sie uns kurz diskutieren Codesignatur.

Code Signing ist eine Methode, um Digitale Unterschrift auf eine Datei, ein Dokument, eine Software oder eine ausführbare Datei, um deren Authentizität und Echtheit in Bezug auf die Funktionalität und die Features, die es bietet. Dadurch wird auch sichergestellt, dass die Softwareeinheit (Datei, Dokument, Software oder ausführbare Datei) während der Übertragung nicht manipuliert wird.
Code Signing ist für Softwareentwickler zu einer grundlegenden Anforderung geworden. Der Grund dafür ist, dass Code Signing das Vertrauen der Benutzer in die Software sicherstellt und den Benutzern außerdem die Sicherheit gibt, Warnmeldungen zu vermeiden, die angezeigt werden, wenn ein Benutzer die ausführbare Datei in seiner Umgebung herunterlädt/installiert.

Was ist Zeitstempelung?

Die Zeitstempelung ist ein optionaler Bestandteil des Codesignaturprozesses. Sie ermöglicht es der Software, die Gültigkeit einer verwendeten Codesignatur-Signatur zu erkennen – auch nach Ablauf des Codesignaturzertifikats. Mit anderen Worten: Durch die Zeitstempelung bleibt die auf die Software angewendete Signatur erhalten.
Sobald die ausführbare Datei der signierten Software auf einem Client-Rechner/-System ausgeführt wird, wird ihre digitale Signatur vom Betriebssystem des Benutzers überprüft. Angenommen, der Benutzer hat die Software mit einem Zeitstempel versehen. Der Computer des Benutzers überprüft die Signatur anhand des Zeitpunkts der digitalen Signatur und nicht anhand der aktuellen Systemzeit zum Zeitpunkt der Ausführung der Software.

Nachfolgend sehen Sie den Arbeitsablauf für einen Zeitstempelprozess:

Arbeitsablauf des Zeitstempelprozesses

Die Zeitstempelung erfolgt durch die Time Stamp Authority (TSA), die Public-Key-Infrastruktur (PKI) Prinzipien und Technologie zum Anwenden von Zeitstempeln.

Enterprise Code-Signing-Lösung

Holen Sie sich mit unserer Code-Signing-Lösung eine Lösung für alle Ihre kryptografischen Software-Code-Signing-Anforderungen.

Die folgenden Schritte werden für die Zeitstempelsoftware ausgeführt:

  1. Für die Software, die mit einem Zeitstempel versehen werden muss, wird ein Hashwert erstellt und vom Anforderer an die TSA gesendet.
  2. Hashwert, maßgebliche Zeit und andere zugehörige Informationen wie Datum und Uhrzeit der digitalen Signatur werden von der TSA kombiniert und mit ihrem privaten Schlüssel signiert, um einen neuen Hashwert zu erstellen.
  3. Als nächstes werden der neue Hash und der Hash der Software gebündelt und an den Anforderer gesendet.
  4. Die Anwendung des Anforderers empfängt dann das Paket und überprüft es. Nach Abschluss der Überprüfung wird der Zeitstempel gültig und in die Codesignatur der Software eingebettet.

Versuchen wir, dies anhand eines realen Szenarios zu verstehen.
Nehmen wir an, Sie sind der Entwickler, haben die Code-Signierung Ihrer Software durchgeführt und das Zertifikat ist von Januar 2021 bis Januar 2022 gültig. Ein Benutzer, der Ihre Software im Oktober 2021 herunterlädt, vergisst aufgrund seines vollen Terminkalenders, sie zu installieren. Er versucht, die Software im Februar 2022 zu installieren, erhält jedoch eine Fehlermeldung.

Betrachten wir dasselbe Szenario mit der einzigen Ausnahme, dass Sie die Software im Juli 2021 mit einem Zeitstempel versehen haben. Wenn der Benutzer nun versucht, die Software im Februar 2022 zu installieren, kann er sie installieren, ohne dass eine Fehlermeldung auftritt. Das ist der Effekt des Zeitstempels!

Für die Zeitstempelung verwendete Protokolle

Die folgenden Protokolle werden in der Zeitstempelsoftware verwendet:

RFC 3161

RFC 3161 wird aktualisiert und als RFC 5035 bezeichnet, was zusätzlich die Verwendung von ESSCertIDv2 ermöglicht.

Microsoft Authenticode

Microsoft Authenticode kann in verschiedenen Formaten wie .cab, .exe, .ocx und .dll verwendet werden

Best Practices für die Zeitstempelung von Codesignaturen

Die folgenden Best Practices können beim Code Sign Time Stamping angepasst werden:

  1. Stellen Sie immer sicher, dass die Zeitstempeloption in Ihrem Signaturtool, z. B. Microsoft Signtool, aktiviert ist. Wählen Sie außerdem ein Signaturtool, das die Zeitstempeloption unterstützt, da diese standardmäßig eine optionale Funktion ist.
  2. Stellen Sie sicher, dass die Zeitstempelung Teil Ihres Softwareentwicklungslebenszyklusprozesses ist. Dadurch vermeiden Sie unerwartete Probleme aufgrund von Versionskonflikten.
  3. Dokumentieren Sie den gesamten Prozess Ihres Signaturtools mit der Zeitstempeloption, da jedes Signaturtool einen anderen Workflow für die Zeitstempelung hat. Verteilen Sie dieses Dokument außerdem an alle am Code-Signaturprozess beteiligten Beteiligten.
  4. Durch die Zeitstempelung kann das Client-System überprüfen, ob die Software vor oder nach dem Widerruf des Codes signiert wurde. UnterzeichnungszertifikatWenn Sie das Codesignaturzertifikat aus irgendeinem Grund widerrufen möchten, beispielsweise aufgrund einer Gefährdung des privaten Schlüssels, können Sie dies tun. Das Client-System wird bei der Installation der Software keine Probleme haben, da die Zeitstempelung zum Zeitpunkt der Gültigkeit des Codesignaturzertifikats erfolgte.

Fazit

Zeitstempel scheinen ein optionaler Schritt zu sein, sind jedoch ein wichtiger Bestandteil des Code-Signing-Ökosystems in Ihrem Unternehmen. Ohne Zeitstempel würde der Ablauf/Widerruf von Code-Signing-Zertifikaten das Vertrauen der Kunden in dasselbe Softwareprodukt mindern. Zeitstempel stellen sicher, dass die Signaturen auch dann gültig, sicher und vertrauenswürdig bleiben, wenn Zertifikate ihre Gültigkeit verlieren oder aus irgendeinem Grund widerrufen werden.