Zum Inhalt springen
ecdsa.com

Authenticode

Das Codesignaturformat von Microsoft für ausführbare Windows-Dateien, Treiber, Installer und Skripte: eine SignedData-Struktur nach PKCS #7 über einen Hash der Datei, eingebettet in die Zertifikatstabelle der PE-Datei und meist mit einem Zeitstempel versehen.
Auch geschrieben alsAuthenticodesigntoolPE signatureWIN_CERTIFICATE

Bei PE-Dateien steckt die Signatur in einer Struktur WIN_CERTIFICATE, auf die das Sicherheitsverzeichnis (Security Directory) verweist; der signierte Hash (der Authenticode-Digest) lässt das Prüfsummenfeld, den Eintrag für das Sicherheitsverzeichnis und die Signatur selbst aus. Signiert wird mit signtool sign /fd SHA256 /tr, gefolgt von der URL eines Zeitstempelservers und /td SHA256; geprüft wird mit signtool verify /pa oder mit Get-AuthenticodeSignature in PowerShell. Mehrere Signaturen lassen sich verschachteln (Dual-Signatur mit SHA-1 und SHA-256 für alte Systeme).

Windows SmartScreen baut Reputation pro Zertifikat und Datei auf; Treiber im Kernelmodus brauchen zusätzlich eine Attestierungssignatur von Microsoft oder eine WHQL-Signatur. Die Entdeckung von 2013, dass sich nicht authentifizierte Daten an signierte Dateien anhängen ließen, ohne dass die Signatur ungültig wurde (MS13-098, 2013), führte zu einer optionalen strengeren Prüfung. Der Authenticode-Inspektor liest Signaturen und Zeitstempel lokal aus.

Standards und Quellen

Alle Begriffe