Home

CodeSignierung

CodeSignierung bezeichnet den Prozess der digitalen Signierung von Software, um Herkunft und Integrität zu belegen. Dabei erzeugt der Signierer eine kryptografische Signatur, indem er einen Hash der Software mit dem privaten Schlüssel signiert. Die Signatur wird zusammen mit einem Zertifikat und gegebenenfalls einem Zeitstempel dem Softwarepaket beigefügt. Empfänger prüfen die Signatur mit dem öffentlichen Schlüssel des Signatursinhabers sowie der Zertifikatkette zu einer vertrauten Zertifizierungsstelle. Ist die Signatur gültig, lässt sich Herkunft nachweisen und Veränderungen am Code nach dem Signieren erkennen.

Zertifikate für CodeSignierung werden von Zertifizierungsstellen (CAs) ausgestellt. Sie enthalten den Identitätsnachweis des Unterzeichners, den öffentlichen

Die Umsetzung variiert je nach Plattform. Windows verwendet das Authenticode-Verfahren für ausführbare Dateien im PE-Format. macOS

Wichtige Best Practices umfassen den Schutz des privaten Schlüssels (Hardware-Sicherheitsmodule oder Smartcards), regelmäßige Schlüsseltauschintervalle, das Hinzufügen

Schlüssel,
die
Gültigkeitsdauer
und
Informationen
zur
Sperrung
(CRL/OCSP).
Selbstsignierte
Zertifikate
können
intern
genutzt
werden,
sind
außerhalb
geschäftlicher
Vertrauenskette
jedoch
weniger
zuverlässig.
nutzt
das
codesign-Tool
mit
optionaler
Notarisierung,
um
Apps
zu
prüfen.
Unter
Linux
signiert
man
in
der
Regel
Softwarepakete
mit
GPG-Schlüsseln
(DEB,
RPM)
und
überprüft
die
Signaturen
vor
der
Installation.
Container-Images
können
ebenfalls
signiert
werden
(z.
B.
mit
Cosign
oder
Notary),
um
Integrität
in
der
CI/CD-Pipeline
sicherzustellen.
von
Zeitstempeln
zur
Signatur
sowie
Prozesse
zur
Sperrung
und
Prüfung
der
Signaturkette.