Logo
Übersicht
Digitale Signaturen werden dazu verwendet, um sicherzustellen, dass Programmdateien nach ihrer Veröffentlichung nicht verändert wurden und dass die Software vom Hersteller stammt. Sie basieren auf digitale Zertifikate, welche von einer hierfür berechtigten und vertrauenswürdigen Stelle an eine Person (oder ein Unternehmen) ausgegeben wurden, die durch diese Stelle identifiziert wurde. Wenn eine ausführbare Datei digital signiert wurde, dann kann der Anwender entscheiden, ob er das Programm ausführen möchte, indem er die Signatur überprüft.
Um eine digitale Signatur zu überprüfen, müssen zwei Teile verifiziert werden:
  1. Digitale Signatur: Es handelt sich hierbei um einen verschlüsselten Hashwert, der von einer Hashfunktion für eine Datei erzeugt und mit dem privaten Schlüssel des unterliegenden Zertifikats verschlüsselt wurde. Zur Verifizierung der Signatur wird der verschlüsselte Hashwert mit dem öffentlichen Schlüssel entschlüsselt und der resultierende Wert muss dem Hashwert entsprechen, der sich aus der erneuten Berechnung des Hashwertes mit der selben Hashfunktion ergibt.
  2. Zertifikat: Eine Software stammt vom Hersteller, wenn sie mit seinem Zertifikat signiert wurde. Daher muss überprüft werden, ob das korrekte Zertifikat verwendet wurde und ob das Zertifikat gültig ist. Im Einzelnen müssen der Aussteller des Zertifikats, der Eigentümer, der Zertifizierungspfad, die Seriennummer und der Fingerabdruck überprüft werden.
Logo  Dieser Artikel wurde am 2018-DEZ-09 auf den neuesten Stand gebracht, um Änderungen beim verwendeten Zertifikat ab TurboSFV v8.20 zu dokumentieren. Wenn Ihnen dieser Artikel gefällt, dann setzen Sie bitte einen Link darauf.
Digitale Signaturen und TurboSFV
Alle Programmdateien von TurboSFV, die ausführbaren Kode enthalten, sind digital unterschrieben, einschließlich des Setup. Das verwendete Zertifikat wurde für das Signieren von Programmdateien herausgegeben (Erweiterte Schlüsselverwendung: 1.3.6.1.5.5.7.3.3).
Die folgenden Werte werden für die Überprüfung des Zertifikats benötigt, welches für die digitale Signatur von: TurboSFV v8.20 und neuer verwendet wird:
Aussteller:COMODO RSA Code Signing CA
Eigentümer:Jörg Krahe
Zertifizierungspfad: COMODO SECURE™
  + COMODO RSA Code Signing CA
    + Jörg Krahe
Seriennummer:00 dc 57 80 ad 39 9b 4c f5 83 6b 9b 6d 14 db 05 2c
Fingerabdruck (SHA-1, unsicher):4d 06 bb 93 2c d3 86 cb 57 fe 04 8b 7c f2 64 6b d5 ab ec 02
Alternative, sichere Fingerabdrucke (Prüfsummen) vom Zertifikat - von Windows nicht angezeigt:
SHA3-256:879d3a622c97873a7808567ad3a651e09811d0b7624d6d8c682fbbfb3b62340e
SHA-256:eacbb8a6deb0ca533504bf2fa0733faddf522edaf0ab3f6059d4701c197377a8
Lesen Sie weiter unten für weitere Anweisungen, wie man diese berechnet und verwendet.
Verwendete Hashfunktionen
Die Hashfunktion SHA-1 wird dazu verwendet, die digitale Signatur für Dateien und den Fingerabdruck für das unterliegende Zertifikat zu berechnen. Seit 2005 sind erfolgreiche Angriffe auf SHA-1 bekannt, so dass SHA-1 Prüfsummen bei digitalen Signaturen und Zertifikaten keine Sicherheit gewährleisten können. SHA-1 sollte daher nur als Test für die Integrität der Daten angesehen werden. Als sichere Alternative gelten Hashfunktionen aus der SHA-2 Familie, wie z.B. SHA-224, SHA-256, SHA-384 oder SHA-512, oder noch besser, eine aus der SHA-3 Familie (SHA3-224, SHA3-256, SHA3-384, SHA3-512).
SHA-1 wird noch aus Kompatibilitätsgründen zu älteren Windows-Versionen verwendet, die keine digitale Signaturen basierend auf einer SHA-2 oder SHA-3 Hashfunktion überprüfen können. Die ausführbaren Dateien von TurboSFV enthalten jedoch zwei digitale Signaturen, eine basierend auf SHA-1 und eine weitere auf SHA-512. Windows zeigt grundsätzlich die primäre Signatur, die auf SHA-1 basiert, an. Die zusätzliche Signatur basierend auf SHA-512 wird nur dann angezeigt, wenn die verwendete Windows Version diese Hashfunktion zusammen mit Mehrfach-Signaturen unterstützt (wie Windows 8 oder ein vollständig aktualisiertes Windows 7).
Der Fingerabdruck des Zertifikats, der von Windows angezeigt wird, basiert ebenfalls immer noch auf dem unsicheren SHA-1. Daher kann er nicht allein für die Überprüfung eines Zertifikats verwendet werden. Alternativ könnte eine sichere Hashfunktion (z.B. SHA3-256) zur Identifizierung eines Zertifikats genutzt werden (Überprüfungsschritte weiter unten erklärt).
Überprüfung der digitalen Signatur
Existenz der digitalen Signatur überprüfen
Die hierfür notwendige Information befindet sich auf dem Karteireiter Digitale Signaturen: Lokalisieren Sie die Datei im Explorer, klicken mit der rechten Maustaste auf die Datei, so dass sich das Kontext-Menü öffnet und wählen Eigenschaften.
Snapshot
Wenn Sie diesen Karteireiter nicht sehen, dann wurde die Datei nicht unterschrieben oder die Signatur wurde entfernt - die Überprüfung ist fehlgeschlagen.
In neueren Windows-Versionen sollten Sie einen Eintrag sehen, wo die Hashfunktion SHA-1 für die digitale Signatur verwendet wurde und einen weiteren basierend auf SHA-512. Die Wert für Name muss wie dargestellt erscheinen. Der Zeitstempel gibt an, wann die Datei signiert wurde (der Wert oben ist als Beispiel anzusehen und ändert sich bei neueren Versionen von TurboSFV).
In älteren Windows-Versionen, die nur fähig sind, SHA-1 Prüfsummen zu berechnen, sollten Sie nur einen Eintrag in der Signaturliste sehen.
Snapshot
Falls Sie die Wahl haben, dann selektieren Sie SHA-512. In älteren Windows-Versionen können Sie nur die basierend auf SHA-1 auswählen. Klicken Sie auf Details.
Details der digitalen Signatur
Ein neues Fenster öffnet sich, welches generelle Informationen zur Signatur anzeigt. Die wichtigste Aussage auf dieser Seite ist, dass die digitale Signatur gültig ist.
Snapshot
Die Signatur ist dann gültig, wenn
  1. die Datei - nachdem sie unterschrieben wurde - nicht mehr verändert wurde: Der berechnete Hashwert, basierend auf der ausgewählten Hashfunktion, entspricht dem entschlüsselten Hashwert in der Signatur,
  2. die Zertifizierungskette vollständig ist, und
  3. das zugrunde liegende Zertifikat (welches ein gefälschtes sein kann) in Ordnung ist.
Ansonsten erscheint eine Fehlermeldung, markiert durch ein Fehlersymbol, zum Beispiel:
Snapshot
In diesem Fall ist die Unterschrift ungültig. Wenn Sie irgendeine Fehlermeldung sehen, dann ist die Überprüfung fehlgeschlagen.
Das Feld Name zeigt an, wer die Datei unterschrieben hat und muss dem dargestellten Wert entsprechen. Der Wert stammt vom unterliegenden Zertifikat, welches nun geprüft werden muss, um sicherzustellen, dass das richtige Zertifikat verwendet wurde und dass das Zertifikat gültig ist (Ein Angreifer kann die Datei mit irgendeinem Zertifikat, welches gefälschte Werte enthält, unterschreiben). Beachten Sie auch den Signaturzeitpunkt, da an diesem Tag das unterliegende Zertifikat gültig sein muss.
Klicken Sie auf Zertifikat anzeigen, um das verwendete Zertifikat zu überprüfen.
Überprüfung des Zertifikats
Es öffnet sich ein neues Fenster mit drei Karteireitern, die Details zum Zertifikat anzeigen, welches für die Signatur der Datei verwendet wurde. Ein Zertifikat kann als digitaler Ausweis angesehen werden, welcher von einer hierfür berechtigten und vertrauenswürdigen Stelle an eine Person (oder ein Unternehmen) ausgegeben wurde, die durch diese Stelle identifiziert wurde.
Aussteller und Eigentümer
Auf dem Karteireiter Allgemein befinden sich generelle Informationen zum Zertifikat:
Snapshot
Der Zweck sollte wie dargestellt erscheinen und zeigt an, dass das Zertifikat für das Signieren von Programmdateien herausgegeben wurde (aus technischer Sicht wird der Verwendungszweck dem Feld Erweiterte Schlüsselverwendung im Zertifikat entnommen: 1.3.6.1.5.5.7.3.3). Jegliche Fehlermeldung oder Warnung wie
Snapshot
zeigt ein Problem mit dem Zertifikat an und die Überprüfung ist fehlgeschlagen.
Es sind nun die beiden Felder Ausgestellt für und Ausgestellt von zu betrachten, deren Werte wie folgt sein müssen, ansonsten ist die Überprüfung fehlgeschlagen.
Ausgestellt für:Jörg Krahe
Ausgestellt von:COMODO RSA Code Signing CA
Die Gültigkeitsdauer zeigt an, in welchem Zeitraum das Zertifikat gültig ist. Eine Datei muss in diesem Zeitraum unterschrieben worden sein, der Signaturzeitpunkt wird in den Details der digitalen Signatur angezeigt.
Seriennummer und Fingerabdruck
Die Überprüfung der Seriennummer stellt sicher, dass nur das vorgesehene Zertifikat verwendet wurde, und kein anderes, welches vom selben Aussteller herausgegeben wurde (unter der Annahme, dass der Aussteller die Seriennummer nicht mehrfach vergibt). Ein fehlerhafter Fingerabdruck bedeutet, dass es sich um ein falsches oder beschädigtes Zertifikat handelt.
Öffnen Sie den Karteireiter Details. Stellen Sie sicher, dass Sie Anzeigen Alle ausgewählt haben:
Snapshot
Die Seriennummer des Zertifikats wird vom Aussteller verwaltet und sollte einzigartig sein. Das Zertifikat, welches zur Signatur von TurboSFV v8.20 und neuer verwendet wird, hat die folgende Seriennummer:
Seriennummer:00 dc 57 80 ad 39 9b 4c f5 83 6b 9b 6d 14 db 05 2c
Großbuchstaben:00 DC 57 80 AD 39 9B 4C F5 83 6B 9B 6D 14 DB 05 2C
Die Seriennummer wird hexadezimal angegeben und kann in einigen Windows-Versionen auch in Großbuchstaben erscheinen.
Rollen Sie jetzt die Liste weiter und selektieren das Feld Fingerabdruck:
Snapshot
Beim Fingerabdruck handelt es sich um eine SHA-1 Prüfsumme für das Zertifikat. Sie ist nicht Teil des Zertifikats, wird aber von Windows berechnet, verwendet und angezeigt. Das Zertifikat, welches zur Signatur von TurboSFV v8.20 und neuer verwendet wird, hat den folgenden Fingerabdruck:
Fingerabdruck:4d 06 bb 93 2c d3 86 cb 57 fe 04 8b 7c f2 64 6b d5 ab ec 02
Großbuchstaben:4D 06 BB 93 2C D3 86 CB 57 FE 04 8B 7C F2 64 6B D5 AB EC 02
Auch der Fingerabdruck erscheint in hexadezimaler Form.
Wie bereits erklärt, beim Fingerabdruck handelt es sich um eine Prüfsumme für das Zertifikat und daher auch um eine Prüfsumme für alle Felder in dem Zertifikat. Wegen der Sicherheitsprobleme bei SHA-1 (siehe Verwendete Hashfunktionen), kann der SHA-1 Fingerabdruck allein keine Sicherheit gewährleisten. Eine falsche Prüfsumme zeigt aber ganz sicher einen Fehler an.
Falls die Seriennummer oder der Fingerabdruck nicht übereinstimmt, dann ist die Überprüfung fehlgeschlagen.
Nehmen wir uns jetzt eine Sekunde Zeit und denken über den Fingerabdruck nach:
Erhielten wir eine Prüfsumme für das Zertifikat von einer sicheren Hashfunktion (z.B. aus der SHA-3 Familie), dann würde es ausreichen. die Prüfsumme zu validieren, weil diese alle Felder im Zertifikat abdeckt. Leider zeigt uns Windows nur den unsicheren SHA-1 Fingerabdruck an - aber nichts hält uns davon ab, einen sicheren Fingerabdruck selber zu berechnen, also fangen wir gleich damit an.
Alternative, sichere und schnelle Methode zur Überprüfung der Details eines Zertifikats
Wir berechnen eine SHA3-256 Prüfsumme für das unterliegende Zertifikat und vergleichen diese mit dem Wert, der vom Hersteller der Software bereitgestellt wird. Wenn beide übereinstimmen, dann müssen wir keine speziellen Felder des Zertifikats überprüfen, da wir SHA3-256 vertrauen können. Im Einzelnen müssen folgende drei Schritte durchgeführt werden:
  1. Zertifikat von der ausführbaren Datei extrahieren.
  2. SHA3-256 Prüfsumme für das extrahierte Zertifikat berechnen.
  3. Die berechnete Prüfsumme mit dem vom Hersteller der Software ausgewiesenen Wert vergleichen.
In der Abbildung oben, welches die Details des Zertifikats anzeigt, haben Sie vielleicht eine kleine Schaltfläche bemerkt:
Snapshot
Wenn Sie auf diese klicken, dann startet ein Zertifikatexport-Assistent, der es ermöglicht, das Zertifikat von der ausführbaren Datei zu extrahieren. Klicken Sie auf Weiter, um das Export-Dateiformat auszuwählen.
Snapshot
Im Dialog wählen Sie DER encoded binary X.509 (.CER) als Dateiformat. Im Prinzip könnten wir auch ein anderes verwenden, aber wir müssen uns auf eines einigen, ansonsten können wir die Prüfsummen nicht vergleichen. Darüber hinaus verwendet Windows bei der Berechnung des SHA-1 Fingerabdrucks das gleiche Dateiformat, so dass wir mit Windows hier übereinstimmen. Klicken Sie auf Weiter, um Speicherort und Name der Datei festzulegen, erneut auf Weiter um die Einstellungen noch einmal anzusehen und dann auf Fertig stellen, um die Datei zu speichern.
Zur Berechnung der SHA3-256 Prüfsumme müssen Sie ein Prüfsummenwerkzeug installiert haben. Klar, wir verwenden TurboSFV, genauer gesagt die Shell Erweiterung von TurboSFV, die uns bei der Berechnung der SHA3-256 Prüfsumme hilft. Mit der rechten Maustaste klicken Sie auf die exportierte Datei, wählen Eigenschaften und navigieren zur Eigenschaftsseite Hash.
Snapshot
Wählen Sie SHA3-256 als Hashfunktion aus. Wenn Sie mit dem Windows SHA-1 Fingerabdruck vergleichen möchten, dann markieren Sie auch SHA-1. Die Prüfsumme von SHA-256 ist hier auch erwähnt: Die Hashfunktion ist weit verbreitet, der unterliegende Algorithmus ist aber unsicherer verglichen mit SHA3-256. Klicken Sie auf Start, kopieren die Werte und fügen diese in ein Text-Dokument ein und vergleichen die SHA3-256 Prüfsumme mit der folgenden:
SHA3-256:879d3a622c97873a7808567ad3a651e09811d0b7624d6d8c682fbbfb3b62340e
SHA-256:eacbb8a6deb0ca533504bf2fa0733faddf522edaf0ab3f6059d4701c197377a8
Stimmen die Prüfsummen überein, dann wurde das richtige Zertifikat verwendet, ansonsten ist die Überprüfung fehlgeschlagen.
Wie Sie gesehen haben, ist diese Methode schnell, einfach und sicher. Als Vorbedingung muss der Hersteller der Software die originale SHA3-256 Prüfsumme des Zertifikats bereitstellen. Nun müssen wir uns noch den Zertifizierungspfad anschauen.
Zertifizierungspfad
Der Zertifizierungspfad muss überprüft werden, um sicherzustellen, dass die richtigen Zertifizierungsstellen mit einbezogen sind und der Zertifizierungspfad vollständig ist.
Snapshot
In neueren Windows-Versionen sollte der Pfad wie folgt aufgebaut sein:
Zertifizierungspfad: Seriennummer des Zertifikats:
COMODO SECURE™
  + COMODO RSA Code Signing CA
    + Jörg Krahe
‎4c aa f9 ca db 63 6f e0 1f f7 4e d8 5b 03 86 9d
‎2e 7c 87 cc 0e 93 4a 52 fe 94 fd 1c b7 cd 34 af
- im vorigen Schritt überprüft -
Der oberste Eintrag stellt die oberste Zertifizierungsstelle in dieser Kette dar. Eine Liste von vertrauenswürdigen, obersten Zertifizierungsstellen wird in Windows im Zertifikatsspeicher verwaltet. Diese Liste wird von Microsoft über das Windows Update auf den neuesten Stand gehalten, kann aber auch manuell von Anwendern (oder Programmen) mit entsprechenden Rechten verwaltet werden. Der zweite Eintrag verweist auf den Aussteller des Zertifikats, der selbst von der obersten Zertifizierungsstelle als vertrauenswürdig angesehen wird. Der untere Eintrag zeigt den Eigentümer des Zertifikats an, der vom Aussteller als vertrauenswürdig angesehen wird.
Windows zeigt für die Zertifizierungsstellen u.U. den sogenannten "Anzeigenamen" an, der unterschiedlich sein kann - daher sind hier auch die Seriennummern der unterliegenden Zertifikate für eine weitere Untersuchung aufgeführt.
Alternativ, typischerweise in älteren Windows Versionen, könnte auch der folgende Pfad angezeigt werden:
Snapshot
In diesem Pfad agiert die "COMODO RSA Certification Authority" als Zwischen-Zertifizierungsstelle, die von der "The USERTrust Network™" als vertrauenswürdig angesehen wird.
Der letztlich dargestellte Zertifizierungspfad ist das Resultat einer Operation, mit der Windows den Pfad vom Eigentümer des Zertifikats bis hoch zur obersten Zertifizierungsstelle aufzulösen versucht - abhängig davon, welche Zertifikate im Zertifikatsspeicher vorhanden sind. Falls das Zertifikat der obersten Zertifizierungsstelle "COMODO SECURE™" (herausgegeben in 2010) im Windows Zertifikatsspeicher vorhanden ist, dann sollten Sie die erste Version sehen.
Die Botschaft ist, dass beide Pfade vollständig sind. Sollten die Zertifizierungsstellen nicht wie in einer der beiden Abbildungen dargestellt sein, dann muss der Pfad weiter untersucht werden, speziell die Herausgeber-Eigentümer-Beziehung der betroffenen Zertifikate.
Den Zertifizierungspfad bezeichnet man auch als Zertifizierungs- oder Vertrauenskette, die nicht unterbrochen sein darf. Ein gebrochene Kette (der gebrochene Teil ist durch ein rotes Fehlersymbol markiert) könnte - zum Beispiel - wie folgt aussehen:
Snapshot
Eine gebrochene Kette bedeutet, dass man einem bestimmten Zertifikat und daher auch allen untergeordneten Zertifikaten nicht vertrauen kann, da diese jeweils durch die übergeordnete Stelle ausgegeben wurden. Die Überprüfung ist fehlgeschlagen.
Jetzt wissen wir auch, warum eine Zertifizierungskette vollständig sein muss: Falls nicht alle Zertifikate angezeigt werden, dann können wir auch nicht überprüfen, ob eines beispielsweise in der Zwischenzeit zurückgezogen wurde, und daher können wir allen angezeigten Zertifikaten nicht vertrauen. Eine unvollständige Kette könnte wie folgt aussehen:
Snapshot
Das Zertifikat der obersten Zertifizierungsstelle ist hier nicht im Windows Zertifikatsspeicher verfügbar, daher kann der Pfad nicht vollständig aufgelöst werden. Windows müsste in diesem Fall einen Warnhinweis auf dem Karteireiter Allgemein der Details zum Zertifikat anzeigen ...
Snapshot
... und daher auch eine Fehlermeldung bei den Details zur Signatur, weil die Signatur auf diesem Zertifikat basiert:
Snapshot
Resultate interpretieren
Erfolg  Wenn Sie alle Schritte erfolgreich beendet haben, dann können Sie davon ausgehen, dass Sie die originale Datei vorliegen haben.
Fehler  Wenn an irgendeinem Punkt die Überprüfung fehlgeschlagen ist, dann haben Sie wahrscheinlich nicht die Original-Datei vorliegen und Sie sollten sie nicht ausführen. Wenn die Überprüfung für das Setup-Programm von TurboSFV fehlschlägt, dann laden Sie es von dieser Webseite herunter. Wenn Sie Probleme bei der Überprüfung des zugrunde liegenden Zertifikats haben, dann sollten Sie Ihren Administrator konsultieren. Sie können uns auch kontaktieren, wie unter Hilfe beschrieben.
 
 
Logo
UKDE
  
 
DatenschutzerklärungCopyright © 2007-2019 Jörg Krahe. Alle Rechte vorbehalten!