Was passiert mit Code-Sign-Zertifikaten, wenn die Stammzertifizierungsstelle abläuft?

9

Soweit für mich klar: Wenn das Codezeichen-Zertifikat selbst abläuft, wird der signierte Code überprüft / akzeptiert, falls er mit einem Zeitstempel signiert wurde. Wenn nicht, ist auch der signierte Code abgelaufen.

Aber was passiert, wenn meine Zertifizierungsstelle selbst abläuft (Stammzertifizierungsstelle und somit ausstellende Zertifizierungsstellen)?

  • Wird Code weiterhin akzeptiert, wenn er mit einem Zeitstempel versehen ist?
  • Müssen die abgelaufenen Root- und ausstellenden CA-Zertifikate noch vorhanden sein (z. B. im vertrauenswürdigen Root-CA-Zertifikatspeicher)? Dies ist meine Annahme, auch wenn die Zertifizierungsstelle herabgestuft werden kann, muss der Client, der die signierte CA ausführt, der Zertifizierungsstelle dennoch vertrauen. Sonst wird die Vertrauenskette unterbrochen, oder?
  • Wird das Fehlen einer CRL oder AIA Probleme bereiten?
dr_pepper285
quelle

Antworten:

12

Aber was passiert, wenn meine Zertifizierungsstelle selbst abläuft (Stammzertifizierungsstelle und somit ausstellende Zertifizierungsstellen)?

Im wahrsten Sinne des Wortes nichts. Lassen Sie es uns etwas genauer erklären.

Wenn die Signatur nicht mit einem Zeitstempel versehen ist, ist die Signatur gültig, solange:

  • Daten werden nicht manipuliert
  • Das Signaturzertifikat ist zeitlich gültig
  • Kein Zertifikat in der Kette wird widerrufen
  • Stammzertifikat ist vertrauenswürdig

Sobald das Signaturzertifikat abgelaufen ist, widerrufen wurde oder auf die eine oder andere Weise ungültig wird, gilt die Signatur als ungültig. Schlicht und einfach.

Der Zweck von Zeitstempeln in der digitalen Signatur besteht darin, ein erweitertes Vertrauen für signierte Inhalte bereitzustellen. Signaturzertifikate sind für kurze Zeit gültig und grundlegende Vertrauenseinstellungen sind nicht für die langfristige (möglicherweise archivierte) Signatur geeignet. Normalerweise (ohne Zeitstempel) müssen Sie die Signatur jedes Mal neu erstellen, wenn das Signaturzertifikat erneuert wird. Es ist ein Weg ins Nirgendwo.

Durch Hinzufügen eines Zeitstempels zu digitalen Signaturen werden die Vertrauensbedingungen in die folgende Liste geändert:

  • Daten werden nicht manipuliert
  • Signaturzertifikat * war * zum Zeitpunkt der Signatur gültig: Die Signaturzeit liegt innerhalb der Gültigkeit des Signaturzertifikats
  • Keines der Zertifikate wurde * vor * der Signaturerstellung widerrufen
  • Sowohl Signatur- als auch Zeitstempelzertifikate sind mit vertrauenswürdigen Stammzertifizierungsstellen verbunden (unabhängig von ihrer Zeitgültigkeit müssen sie sich nur im Trust Store befinden).

Was sich hier geändert hat: Die Signatur bleibt nach Ablauf des Zertifikats gültig. Das heißt, die gesamte Kette für Signatur- und Zeitstempelzertifikate läuft möglicherweise ab (zusammen mit dem Stammzertifikat) und bricht das Vertrauen nicht. Zertifikate in der Kette können widerrufen werden. Einzige Voraussetzung: Wenn ein Zertifikat widerrufen wird, muss die Sperrzeit (sie wird von CRL bezogen) auf eine Zeit nach dem Erstellen der Signatur festgelegt werden (die Signaturzeit wird durch einen Zeitstempel gekennzeichnet). Der vorherige Satz bedeutet, dass eine signierte CRL vorhanden sein muss, um zu beweisen, dass keines der Zertifikate zum Zeitpunkt der Signatur widerrufen wurde.

Dies ist der Grund, warum moderne Windows-Systeme vor langer Zeit abgelaufene Stammzertifikate ausliefern. Sie werden weiterhin zur Validierung alter Signaturen verwendet, die mit einem Zeitstempel versehen sind.

Vor einiger Zeit habe ich einen Blog-Beitrag geschrieben, in dem das Thema ausführlicher erläutert wird: Digitale Signaturen und Zeitstempel

Crypt32
quelle
Ihr Blog-Beitrag ist ein sehr guter Artikel zu diesem Thema!
ThoriumBR
Ich fand dieses Thema für IT Pro (und Entwickler) sehr verwirrend und versuchte, die Dinge in einem Blog-Beitrag zu klären.
Crypt32
Aber der Punkt mit der CRL ist mir nicht ganz klar. Also muss ich noch die (letzte) CRL der abgelaufenen CAs zur Verfügung haben?
dr_pepper285
Ja, CRLs sind erforderlich. Nicht zuletzt erforderlich, muss es ThisUpdatenach der Unterzeichnungszeit veröffentlicht werden ( Feld). Diese CRL kann nachweisen, dass keines der Zertifikate in beiden Ketten (Signatur und Zeitstempel) zum Zeitpunkt der Signatur widerrufen wurde.
Crypt32