LogoTurboSFV - Digitale Signatu­ren
Übersicht
Digitale Signaturen werden dazu verwendet, um sicherzustellen, dass Programm­dateien nach ihrer Veröffent­lichung nicht verändert wurden und dass die Software vom Hersteller stammt. Sie basieren auf digitale Zertifikate, welche von einer hierfür berech­tigten und vertrauens­wü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 über­prüfen, müssen zwei Teile verifiziert werden:
  1. Digitale Signatur: Es handelt sich hierbei um einen verschlüs­selten Hashwert, der von einer Hash­funktion für eine Datei erzeugt und mit dem privaten Schlüssel des unter­liegenden Zertifikats ver­schlü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 Zerti­fikat signiert wurde. Daher muss über­prüft werden, ob das korrekte Zertifikat verwen­det wurde und ob das Zertifikat gültig ist. Im Einzelnen müssen der Aussteller des Zertifikats, der Eigentümer, der Zertifizierungs­pfad, die Serien­nummer und der Finger­abdruck überprüft werden.
Logo  Dieser Artikel wurde am 2023-NOV-04 auf den neuesten Stand gebracht, um Änderungen beim verwendeten Zerti­fikat ab TurboSFV v10.00 zu dokumen­tieren. Wenn Ihnen dieser Artikel gefällt, dann setzen Sie bitte einen Link darauf.
Oben
Digitale Signaturen und TurboSFV
Alle Programm­dateien von TurboSFV, die ausführbaren Kode enthalten, sind digital unter­schrie­ben, ein­schließlich des Setup. Das verwendete Zertifikat wurde für das Signieren von Programm­dateien herausgegeben ( Erweiterte Schlüssel­verwendung: 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 v10.00 und neuer verwen­det wird:
Aussteller:
Certera Code Signing CA
Eigentümer:
Jörg Krahe
Zertifizie­rungspfad:
  • Sectigo (AAA)
  • USERTrust RSA Certification Authority
  • Certera Code Signing CA
  • Jörg Krahe
Seriennummer:
00 8a 3c bb bf 7b b8 01 c6 83 4c 51 23 f4 b7 80 92
Fingerabdruck:
(SHA-1, unsicher)
36 ee 2d 00 82 c3 34 a9 96 b8 1f 84 af 45 ed 37 9d 9f 87 23
Alternative, sichere Finger­abdrucke (Prüf­summen) vom Zertifikat - von Windows nicht angezeigt:
SHA3-256: 32b4b88f16cb90258669d09d034aca2bc1f1c97499cb4f7c3c7ad6119773f7b2
SHA-256: 971cfef1ee727a50c30ac831c9be296618e9e0a657772d56739e6b84926d0f53
Lesen Sie weiter unten für weitere Anwei­sungen, wie man diese berech­net und verwendet.
Oben
Verwendete Hash­funktionen
Die Hashfunktion SHA-1 wird dazu verwendet, den Finger­abdruck für das unter­liegende Zertifikat zu berech­nen. Seit 2005 sind erfolgreiche Angrif­fe auf SHA-1 bekannt, so dass SHA-1 Prüf­summen bei digitalen Signaturen und Zertifikaten keine Sicherheit gewähr­leisten können. SHA-1 sollte daher nur als eine Art Vorüber­prüfung angesehen werden (wenn falsch, dann fehlgeschlagen - wenn richtig, dann überprüfe weiter). Als sichere Alternative gelten Hashfunktionen aus der SHA-2 Familie, wie z.B. SHA-256, SHA-384 oder SHA-512, oder noch besser, eine aus der SHA-3 Familie (SHA3-256, SHA3-384, SHA3-512).
Die ausführbaren Dateien von TurboSFV enthal­ten zwei digitale Signaturen, eine basierend auf SHA-256 und eine weitere auf SHA-512. Windows sollte beide anzei­gen, die primäre Signatur basierend auf SHA-256 und die zusätzliche Signatur basierend auf SHA-512. Beide Verfahren werden auf neueren Windows-Ver­sionen unterstützt.
Der Fingerabdruck des Zertifikats, der von Windows ange­zeigt wird, basiert immer noch auf dem unsi­cheren SHA-1. Daher kann er nicht allein für die Über­prüfung eines Zertifikats verwendet werden. Alternativ könnte eine sichere Hash­funktion (z.B. SHA3-256) zur Iden­tifizierung eines Zertifikats genutzt werden (Überprüfungs­schritte weiter unten erklärt).
Oben
Überprüfung der digitalen Signa­tur
Existenz der digi­talen Signa­tur über­prüfen
Die hierfür notwen­dige Information befindet sich auf dem Karteireiter Digitale Signa­turen: Lokalisieren Sie die Datei im Explorer, klicken mit der rechten Maustaste auf die Datei, so dass sich das Kontext-Menü öffnet und wählen Eigen­schaften.
Bildschirmfoto: Karteireiter - Digitale Signaturen
Wenn Sie diesen Kartei­reiter nicht sehen, dann wurde die Datei nicht unter­schrieben oder die Signatur wurde entfernt - die Über­prüfung ist fehl­geschlagen.
In neueren Windows-Versio­nen sollten Sie einen Eintrag sehen, wo die Hashfunktion SHA-256 für die digi­tale Signatur verwendet wurde und einen weiteren basie­rend 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).
Selektieren Sie nun zum Beispiel SHA-512 und klicken auf Details.
Oben
Details der digi­talen Signatur
Ein neues Fenster öffnet sich, welches generelle Informa­tionen zur Signatur anzeigt. Die wich­tigste Aussage auf dieser Seite ist, dass die digitale Signatur gültig ist.
Bildschirmfoto: Details zur digitalen Signatur
Die Signatur ist dann gültig, wenn
  1. die Datei - nach­dem sie unter­schrieben wurde - nicht mehr verändert wurde: Der berechnete Hashwert, basierend auf der ausgewählten Hash­funktion, entspricht dem entschlüs­selten Hashwert in der Signatur,
  2. die Zertifizierungs­kette vollständig ist, und
  3. das zugrunde lie­gende Zertifikat (welches ein gefälschtes sein kann) in Ordnung ist.
Ansonsten er­scheint eine Fehler­meldung, markiert durch ein Fehler­symbol, zum Beispiel:
Bildschirmfoto: Ungültige Signatur
In diesem Fall ist die Unterschrift ungültig. Wenn Sie irgendeine Fehler­meldung sehen, dann ist die Über­prüfung fehl­geschlagen.
Das Feld Name zeigt an, wer die Datei unter­schrie­ben hat und muss dem darge­stellten Wert entsprechen. Der Wert stammt vom unter­liegen­den Zertifikat, welches nun geprüft werden muss, um sicher­zustellen, 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, unter­schreiben). Beachten Sie auch den Signatur­zeitpunkt, da an diesem Tag das unterliegende Zertifikat gültig sein muss.
Klicken Sie auf Zertifikat anzei­gen, um das verwen­dete Zertifikat zu überprüfen.
Oben
Überprüfung des Zertifikats
Es öffnet sich ein neues Fenster mit drei Kartei­reitern, die Details zum Zertifikat anzeigen, welches für die Signatur der Datei verwendet wurde. Ein Zertifikat kann als digitaler Aus­weis angesehen werden, welcher von einer hierfür berechtigten und vertrauens­wür­di­gen Stelle an eine Person (oder ein Unternehmen) ausgegeben wurde, die durch diese Stelle identifiziert wurde.
Oben
Aussteller und Eigentümer
Auf dem Kartei­reiter Allgemein befinden sich gene­relle Informa­tionen zum Zertifikat:
Bildschirmfoto: Zertifikat - Karteireiter Allgemein
Der Zweck sollte wie dargestellt erscheinen und zeigt an, dass das Zertifikat für das Signieren von Pro­gramm­dateien heraus­gegeben wurde (aus tech­nischer Sicht wird der Verwendungs­zweck dem Feld Erweiterte Schlüssel­verwendung im Zertifikat ent­nommen: 1.3.6.1.5.5.7.3.3). Jegliche Fehler­meldung oder Warnung wie
Bildschirmfoto: Zertifikat zurückgezogen
zeigt ein Problem mit dem Zertifikat an und die Überp­rüfung ist fehl­geschlagen.
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 fehl­geschlagen.
Ausgestellt für:
Jörg Krahe
Ausgestellt von:
Certera Code Signing CA
Die Gültigkeits­dauer zeigt an, in welchem Zeitraum das Zertifikat gültig ist. Eine Datei muss in diesem Zeitraum unter­schrieben wor­den sein, der Sig­natur­zeit­punkt wird in den Details der digitalen Signatur angezeigt.
Oben
Seriennummer und Finger­abdruck
Die Überprüfung der Seriennummer stellt sicher, dass nur das vorge­sehene Zertifikat verwendet wurde, und kein anderes, welches vom sel­ben Aussteller herausgegeben wurde (unter der Annahme, dass der Aussteller die Seriennummer nicht mehrfach vergibt). Ein fehler­hafter Finger­abdruck 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:
Bildschirmfoto: Zertifikat - Seriennummer
Die Seriennummer des Zertifikats wird vom Aussteller ver­waltet und sollte einzigartig sein. Das Zertifikat, wel­ches zur Signatur von TurboSFV v10.00 und neuer verwendet wird, hat die folgende Seriennummer:
Seriennummer:
00 8a 3c bb bf 7b b8 01 c6 83 4c 51 23 f4 b7 80 92
Großbuchstaben:
00 8A 3C BB BF 7B B8 01 C6 83 4C 51 23 F4 B7 80 92
Die Seriennummer wird hexadezimal angegeben und kann in einigen Windows-Versio­nen auch in Groß­buchstaben er­scheinen.
Rollen Sie jetzt die Liste weiter und selektieren das Feld Fingerab­druck:
Bildschirmfoto: Zertifikat - Fingerabdruck
Beim Fingerab­druck handelt es sich um eine SHA-1 Prüfsumme für das Zertifikat. Sie ist nicht Teil des Zerti­fikats, wird aber von Windows berech­net, verwendet und angezeigt. Das Zertifikat, welches zur Signatur von TurboSFV v10.00 und neuer verwendet wird, hat den folgenden Finger­abdruck:
Fingerabdruck:
36 ee 2d 00 82 c3 34 a9 96 b8 1f 84 af 45 ed 37 9d 9f 87 23
Groß­buchstaben:
36 EE 2D 00 82 C3 34 A9 96 B8 1F 84 AF 45 ED 37 9D 9F 87 23
Auch der Finger­abdruck erscheint in hexadezi­maler Form.
Wie bereits erklärt, beim Finger­ab­druck handelt es sich um eine Prüf­summe für das Zertifikat und daher auch um eine Prüf­summe für alle Felder in dem Zertifikat. Wegen der Sicherheits­probleme bei SHA-1 (siehe Verwendete Hash­funktionen), kann der SHA-1 Finger­abdruck allein keine Sicherheit gewährleisten. Eine falsche Prüfsumme zeigt aber ganz sicher einen Fehler an.
Falls die Serien­nummer oder der Finger­abdruck nicht überein­stimmt, dann ist die Über­prüfung fehl­geschlagen.
Nehmen wir uns jetzt eine Sekunde Zeit und denken über den Finger­abdruck nach:
Erhielten wir eine Prüfsumme für das Zertifikat von einer sicheren Hash­funk­tion (z.B. aus der SHA-3 Familie), dann würde es ausreichen. die Prüfsumme zu vali­dieren, weil diese alle Felder im Zertifikat abdeckt. Leider zeigt uns Windows nur den unsicheren SHA-1 Finger­abdruck an - aber nichts hält uns davon ab, einen sicheren Finger­abdruck selber zu berechnen, also fangen wir gleich damit an.
Oben
Alternative, siche­re und schnel­le Methode zur Über­prüfung der Details eines Zerti­fikats
Wir berechnen eine SHA3-256 Prüf­summe für das unterliegende Zerti­fikat und ver­gleichen diese mit dem Wert, der vom Hersteller der Software bereit­gestellt wird. Wenn beide überein­stimmen, 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 durch­geführt werden:
  1. Zertifikat von der ausführbaren Datei extrahieren.
  2. SHA3-256 Prüf­summe für das extrahierte Zerti­fikat berechnen.
  3. Die berechnete Prüf­summe mit dem vom Her­steller der Soft­ware ausge­wiesenen Wert vergleichen.
In der Abbildung oben, welches die Details des Zerti­fikats anzeigt, haben Sie vielleicht eine kleine Schalt­fläche bemerkt:
Bildschirmfoto: Export Schaltfläche
Wenn Sie auf diese klicken, dann startet ein Zertifikat­export-Assistent, der es ermöglicht, das Zerti­fikat von der ausführ­baren Datei zu extra­hie­ren. Klicken Sie auf Weiter, um das Export-Dateiformat auszuwählen.
Bildschirmfoto: Zertifikat - Export-Dateiformat
Im Dialog wählen Sie DER encoded binary X.509 (.CER) als Datei­format. Im Prinzip könnten wir auch ein anderes verwen­den, aber wir müs­sen uns auf eines einigen, ansonsten können wir die Prüf­summen nicht vergleichen. Darüber hinaus verwendet Windows bei der Berechnung des SHA-1 Finger­abdrucks das gleiche Dateiformat, so dass wir mit Windows hier überein­stimmen. Klicken Sie auf Weiter, um Speicher­ort und Name der Datei fest­zulegen, erneut auf Weiter um die Einstel­lungen noch einmal anzusehen und dann auf Fertig stellen, um die Datei zu speichern.
Zur Berechnung der SHA3-256 Prüfsumme müs­sen Sie ein Prüf­summen­werkzeug installiert haben. Klar, wir verwen­den 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 Eigen­schaften und navigieren zur Eigenschafts­seite Hash.
Bildschirmfoto: Certificate - SHA3-256 berechnen
Wählen Sie SHA3-256 als Hashfunktion aus. Wenn Sie mit dem Windows SHA-1 Finger­abdruck verglei­chen möch­ten, dann mar­kieren Sie auch SHA-1. Die Prüfsumme von SHA-256 ist hier auch erwähnt: Die Hash­funktion ist weit verbreitet, der unterliegende Algo­rithmus 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: 32b4b88f16cb90258669d09d034aca2bc1f1c97499cb4f7c3c7ad6119773f7b2
SHA-256: 971cfef1ee727a50c30ac831c9be296618e9e0a657772d56739e6b84926d0f53
Stimmen die Prüf­summen überein, dann wurde das richtige Zertifikat verwendet, ansons­ten ist die Über­prü­fung fehl­geschlagen.
Wie Sie gesehen haben, ist diese Methode schnell, einfach und sicher. Als Vorbedingung muss der Hersteller der Software die originale SHA3-256 Prüf­summe des Zerti­fikats bereit­stellen. Nun müssen wir uns noch den Zertifizie­rungspfad anschauen.
Oben
Zertifizie­rungspfad
Der Zertifizie­rungs­pfad muss über­prüft wer­den, um sicher­zustellen, dass die richtigen Zerti­fizie­rungs­stellen mit einbezogen sind und der Zerti­fizie­rungs­pfad voll­ständig ist.
Bildschirmfoto: Zertifikat - Karteireiter Zertifizierungspfad
In neueren Windows-Versio­nen sollte der Pfad wie folgt aufgebaut sein:
Zertifizie­rungspfad:
  • Sectigo (AAA)
  • USERTrust RSA Certification Authority
  • Certera Code Signing CA
  • Jörg Krahe
Serien­nummern:
Sectigo:
‎01
USERTrust:
39 72 44 3a f9 22 b7 51 d7 d3 6c 10 dd 31 35 95
Certera:
21 66 f0 8a 51 eb fc ab cc 8f 44 30 91 a9 4b 0e
Jörg Krahe:
im vorigen Schritt überprüft
Der oberste Eintrag stellt die oberste Zertifizie­rungs­stelle in dieser Kette dar. Eine Liste von ver­trauens­würdigen, obersten Zertifizie­rungsstellen wird in Windows im Zertifikats­speicher verwaltet. Diese Liste wird von Microsoft über das Windows Update auf dem neuesten Stand gehalten, kann aber auch manuell von An­wendern (oder Pro­grammen) mit entspre­chenden Rechten verwaltet werden. Der untere Eintrag zeigt den Eigentümer des Zertifikats an, alle anderen Einträge sind Zwischen­zertifikate. Die Zertifikate werden jeweils vom übergeord­neten Zertifikat als vertrauens­würdig angesehen, mit Ausnahme des Wurzel­zertifikats.
Windows zeigt für die Zertifizie­rungs­stellen u.U. den sogenannten "An­zeige­namen" an, der unter­schiedlich sein kann - daher sind hier auch die Serien­nummern der unter­liegenden Zerti­fikate für eine weitere Unter­suchung aufgeführt. Der dar­gestellte Zerti­fizie­rungs­pfad ist das Resultat einer Operation, mit der Windows den Pfad vom Eigentümer des Zertifikats bis hoch zur obersten Zertifizie­rungsstelle aufzulösen versucht - abhängig davon, welche Zertifikate im Zertifikat­sspeicher vorhanden sind.
Den Zertifizie­rungs­pfad bezeichnet man auch als Zerti­fizierungs- oder Ver­trauens­kette, die nicht unter­brochen sein darf. Ein gebro­chene Kette (der gebrochene Teil ist durch ein rotes Fehler­symbol markiert) könnte - zum Beispiel - wie folgt aussehen:
Bildschirmfoto: Gebrochene Zertifizierungskette
Eine gebrochene Kette bedeutet, dass man einem bestimmten Zerti­fikat und daher auch allen unterge­ordneten Zertifi­katen nicht ver­trauen kann, da diese jeweils durch die überge­ordnete Stelle ausgegeben wurden. Die Über­prüfung ist fehl­geschlagen.
Jetzt wissen wir auch, warum eine Zerti­fizie­rungskette voll­ständig sein muss: Falls nicht alle Zertifikate ange­zeigt werden, dann können wir auch nicht überprüfen, ob eines beispiels­weise in der Zwi­schen­zeit zurück­gezogen wurde, und daher können wir allen angezeig­ten Zertifikaten nicht vertrauen. Eine unvoll­ständige Kette könnte wie folgt aussehen:
Bildschirmfoto: Unvollständige Zertifizierungskette
Das Zertifikat der obersten Zertifizie­rungsstelle ist hier nicht im Windows Zertifikats­speicher verfügbar, daher kann der Pfad nicht vollständig aufge­löst werden. Windows müsste in diesem Fall einen Warnhinweis auf dem Karteireiter Allgemein der Details zum Zerti­fikat anzeigen ...
Bildschirmfoto: Zertifikat Warnhinweis
... und daher auch eine Fehler­mel­dung bei den Details zur Signa­tur, weil die Signatur auf diesem Zertifikat basiert:
Bildschirmfoto: Signatur Fehler
Oben
Resultate inter­pretieren
Resultat: Erfolg  Wenn Sie alle Schritte erfolgreich beendet haben, dann können Sie davon aus­gehen, dass Sie die origi­nale Datei vorliegen haben.
Resultat: Fehler  Wenn an irgend­einem Punkt die Über­prüfung fehl­ge­schlagen ist, dann haben Sie wahrschein­lich nicht die Original-Datei vorliegen und Sie sollten sie nicht ausführen. Wenn die Überprüfung für das Setup-Programm von TurboSFV fehl­schlägt, dann laden Sie es von dieser Webseite herunter. Wenn Sie Probleme bei der Über­prüfung des zugrunde liegenden Zertifikats haben, dann sollten Sie Ihren Adminis­trator konsultieren. Sie können uns auch kontaktieren, wie unter Hilfe beschrieben.
Oben
 
 
UKDE



Erklärung zum Datenschutz