cdrtfe Homepage

cdrtfe & Code-Signierung

Einleitung

Seit 2012 mit cdrtfe 1.4.1 sind die Installationsprogramme und das Hauptprogramm dieses Projektes digital mit einem Code-Signing-Zertifikat signiert, das von einer vertrauenwürdigen CA (Certificate Authority) ausgestellt wurde.

Am 01. Februar 2017 sind die neuen Mindestvoraussetzungen für Code-Signing-Zertifiakte (PDF) in Kraft getreten. Als Folge davon wurde das einzige speziell für Open-Source-Entwicker verfügbare Code-Signing-Zertifikat teurer. Zusätzlich wurde der Prozess zur Validierung ebenfalls komplizierter.

In Anbetracht der geringen Anzahl von Downloads, der Kosten, der Schwierigkeiten beim letzten Validierungsprozess und der Tatsache, dass cdrtfe lediglich ein Hobby-Projekt ist, lohnt sich der Kauf eines solchen Zertifikates nicht mehr.

Beginnend mit cdrtfe 1.5.9 wird cdrtfe keine Code-Signing-Zertifikate einer vertrauenswürdigen CA mehr verwenden. Stattdessen wechselt das Projekt zu selbstsignierten Code-Signing-Zertifikaten.

Was wird sich ändern?

Der Hauptunterschied ist, dass während der Installation der mehr oder weniger freundliche Dialog

UAC dialog with trusted certificate

zu diesem etwas weniger freundlichen und eher ein wenig angsteinflößenden Dialog wird:

UAC dialog with untrusted certificate

Ist cdrtfe jetzt weniger sicher?

Nein, das ist es nicht. Zunächst einmal bedeutet die Tatsache, dass eine Software digital signiert ist, nicht automatisch, dass diese Software vertrauenswürdig, sicher zu benutzen oder frei von Fehlern ist. Eine digitale Signatur erlaubt es lediglich, die Authentizität und Integrität der Software zu überprüfen.

I. Authentizität

Während grundsätzlich jeder selbstsignierte Zertifikate erzeugen kann, ist die Kombination aus (verifiziertem) Namen (Common Name, CN) und Fingerabdruck des Zertifikates eindeutig. Indem man diese beiden Attribute vergleicht, kann man sicher sein, dass die Software tatsächlich vom Besitzer des Zertifikates digital signiert wurde.

II. Integrität

Eine digitale Signatur ermöglicht es zu prüfen, ob die Software seit dem Zeitpunkt der Signierung verändert wurde. So kann man beispielsweise beschädigte Downloads - oder schlimmer - manipulierte Software entdecken.

Windows überprüft sowohl die Signatur als auch das Zertifikat, welches verwendet wurde. Und auch wenn das Zertifikat nicht verifiziert werden kann, weil es nicht von einer vertrauenswürdigen CA ausgestellt wurde, zeigt Windows an, ob die Signatur selbst gültig ist (= Integrität ist ok) oder nicht (= Datei beschädigt oder modifiziert).

Authentizität von cdrtfe überprüfen

Schritte, um die Authentizität von cdrtfe (Installationsprogramm oder Hauptprogramm) zu überprüfen:

cdrtfe (ab Version 1.5.9) wird aktuell mit diesen beiden Zertifikaten signiert:

sha1-Signatur:

Inhaber:
  C = DE
  O = cdrtfe OpenSource Software
  CN = cdrtfe project, emailAddress = kerberos002@users.sourceforge.net

Aussteller:
  C = DE
  O = cdrtfe OpenSource Software
  CN = cdrtfe CA Intermediate 1, emailAddress = kerberos002@users.sourceforge.net

SHA1 Fingerabdruck:
  30:93:84:96:C4:1D:BE:CC:06:84:6B:5E:27:6B:15:41:7B:F1:AA:2F

sha256-Signatur:

Inhaber:
  C = DE
  O = cdrtfe OpenSource Software
  CN = cdrtfe project, emailAddress = kerberos002@users.sourceforge.net

Aussteller:
  C = DE
  O = cdrtfe OpenSource Software
  CN = cdrtfe CA Intermediate 2, emailAddress = kerberos002@users.sourceforge.net

SHA1-Fingerabdruck:
  1B:64:17:E0:63:8B:F3:44:7B:C1:9C:37:81:CF:4A:C5:F3:91:26:3C

Integrität von cdrtfe prüfen

Schritte, um die Integrität von cdrtfe (Installationsprogramm oder Hauptprogramm) zu überprüfen:

Nun gibt es in Abhängigkeit des verwendeten Zertifikates vier Möglichkeiten:

I. Code-Siging-Zertifikat einer vertrauenswürdigen CA (cdrtfe 1.4.1 - 1.5.8), erfolgreiche Verifikation

Signature ok, trusted certificate

Diese Datei kann sicher verwendet werden. Die Signatur ist in Ordnung, und das Zertifikat konnte verifiziert werden.

II. Selbstsigniertes Code-Signing-Zertifikat (ab cdrtfe 1.5.9), erfolgreiche Verifikation

Signature ok, self-signed certificate

Diese Datei kann sicher verwendet werden. Sie Signatur ist in Ordnung, das Zertifikat konnte nicht verifiziert werden (da es selbstsigniert ist).

III. Code-Siging-Zertifikat einer vertrauenswürdigen CA (cdrtfe 1.4.1 - 1.5.8), nicht erfolgreiche Verifikation

Signature invalid, trusted certificate

Diese Datei kann nicht sicher verwendet werden. Die Signatur ist ungültig, da die Datei verändert wurde.

IV. Selbstsigniertes Code-Signing-Zertifikat (ab cdrtfe 1.5.9), nicht erfolgreiche Verifikation

Signature invalid, self-signecertificate

Diese Datei kann nicht sicher verwendet werden. Die Signatur ist ungültig, da die Datei verändert wurde.


^