© klyaksun/Shutterstock.com
Code Signing: Vertrauen in Software und Applikationen stärken

Sicher mit der digitalen Signatur


Nahezu jedes Unternehmen ist heute von Software abhängig: Entweder wird Software als Hauptprodukt entwickelt oder sie wird für interne digitale Infrastrukturen verwendet. Ob als Entwickler oder als Nutzer: Der Schutz von Software ist genauso wichtig wie das Verriegeln von Türen.

Mit Code Signing bezeichnet man eine Technologie, die das Überprüfen der Authentizität von Code und Softwareentwicklern ermöglicht. Verhindern lassen sich somit Downloads, die mit Malware bestückt sind. Ist hingegen eine Software digital per Code Sign-ing signiert, kann sie sicher heruntergeladen werden (Abb. 1). Fehlt bei einem Download die Signatur, kann also der Softwareherausgeber nicht eindeutig identifiziert werden, öffnen sich – je nach Browser – gegebenenfalls Pop-up-Fenster, die vor einem unsicheren Download aus nicht geeigneter Quelle warnen. Die Code-Signing-Zertifikate, die das digitale Signieren von Code ermöglichen, setzen auf öffentliche und private Schlüssel.

Code Signing ist also eine digitale Signatur, die Software und Applikationen hinzugefügt wird. Diese digitale Signatur verifiziert, dass der betreffende Code nach dem Signieren nicht mehr verändert wurde.

tulinska_code_signing_1.tif_fmt1.jpgAbb. 1: Beispielzertifikat

Code Signing – welchen Zweck hat signierter Code?

Es gibt zwei wesentliche Trends, die dazu beitragen, dass die Relevanz von Code Signing steigt: Zum einen nehmen Anwendungen gerade im Verbrauchersegment für mobile und stationäre Geräte explosionsartig zu, zum anderen verbreitet sich Malware immer zügiger. Das wissen auch Mobilfunk- und App-Store-Betreiber, die von Entwicklern zunehmend signierten Code erwarten.

Die digitale Signatur einer vertrauenswürdigen Zertifizierungsstelle (Certificate Authority, CA) weist die Integrität des Codes nach. Das bedeutet, dass der Code nach der Prüfung nicht mehr verändert wurde. Zur Prüfung bedient man sich Hashes: Gleicht der zur Anwendungssignatur genutzte Hash dem Hash der heruntergeladenen Anwendung, ist die Integrität des Codes sichergestellt. Sollten die Hashwerte nicht übereinstimmen, folgen Sicherheitswarnungen und/oder der Code wird nicht heruntergeladen. Einige Code-Signing-Zertifikate umfassen Zeitstempel (Time Stamps), mit denen sich die Gültigkeitsdauer der digitalen Signaturen verlängern lässt. Weil die Gültigkeit des betreffenden Code-Signing-Zertifikats bei der digitalen Signatur verifiziert wurde, bleibt der Code auch dann gültig, wenn das Code-Signing-Zertifikat bereits abgelaufen ist.

Die Vorteile von Code Signing in der Zusammenfassung:

  • Interessante Vertriebswege: Durch Code Signing öffnen sich neue Türen für Entwickler. Viele App-Store-Betreiber fordern Code-Signing-Zertifikate als Nachweis der Integrität des Codes. Entwickler können sich so neue Vertriebsfelder erschließen.

  • Reduktion von Sicherheitswarnungen: Erhalten Anwender bei jedem Download eine Sicherheitswarnung, dürfte das Vertrauen in den Anbieter schon bald zerstört sein. Code-Signing-Zertifikate verhindern solche negativen Sicherheitswarnungen und erhöhen damit das Vertrauen in den Anbieter.

  • Guten Ruf sichern: Mit Code-Signing-Zertifikaten wird nicht nur die Integrität des Codes und damit das geistige Eigentum des Entwicklers, sondern bei längerfristiger Betrachtung auch der gute Ruf geschützt.

Funktionsweise von Code-Signing-Zertifikaten

Das digital signierte Code-Signing-Zertifikat schützt und authentifiziert Code durch die Public-Key-Verschlüsselungstechnologie. Der Codeentwickler fügt durch seinen privaten Schlüssel die digitale Signatur des Code-Signing-Zertifikats in den Code oder Inhalt ein. Trifft nun ein Nutzer auf diesen signier...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang