Blog

Im InterNetX Blog erfahren Sie Neuigkeiten, Hintergründe und Innovationen
aus den Bereichen Domains, Server und SSL.

Code Signing: Mehr Authentizität und Integrität

Code Signing authentifiziert und verifiziert Softwareanwendungen. Wir erklären die Technologie hinter digitalen Zertifikaten und schildern die Best Practices zum digitalen Signieren Ihrer Anwendungen.


Code Signing Zertifikate InterNetX Blog

User und Organisationen weltweit erwarten hohe Sicherheitsstandards und reibungslose Prozesse. Ein digitales Zertifikat bietet hierfür genau die passende Lösung. Es stellt die Integrität von Anwendungen sicher und überprüft die Identität von Softwareherausgebern, und schützt so Ihren digitalen Raum. Ob Sie die Rolle des Chief Technology Officer (CTO) oder Chief Security Officers (CFO) bekleiden, als technischer Manager IT-Verifizierungsprozesse einsetzen oder als Ingenieur Anwendungen signieren und verifizieren: Sie sollten sich die Zeit nehmen, um zu verstehen wie Sie Code Signing-Zertifikate gezielt einsetzen können, um Vertrauen in und um Ihre digitalen Produkte zu schaffen.

Was ist ein digitales Zertifikat?

Digitale Zertifikate bilden heutzutage den Standard im professionellen Online-Raum. Sie lassen sich mit elektronischen Ausweisen vergleichen, da sie alle relevanten Informationen enthalten, um die Identität einer Person, Organisation oder eines Systems zu überprüfen.

Sie kennen wahrscheinlich bereits S/MIME-Zertifikate zur sicheren E-Mail-Kommunikation oder TSL/SSL zur Authentifizierung von Netzwerkverbindungen. Sie alle fallen in die Kategorie der digitalen Zertifikate und werden im Rahmen der Public-Key- oder asymmetrischen Kryptografie beschrieben. Dieses System, das auch von Technologien wie IPsec oder Bitcoin verwendet wird, besteht aus einem Schlüsselpaar:

  • Public Keys (offen einsehbar)
  • Private Keys (nur dem Eigentümer zugänglich)

Im zentralisierten Vertrauensmodell der Public-Key-Infrastruktur (PKI) werden digitale Zertifikate von Zertifizierungsstellen (engl. Certification Authorities oder kurz CA) ausgestellt. Die Hauptaufgabe dieser Organisationen besteht darin, Public Keys digital zu signieren und zu veröffentlichen.

InterNetX ist stolzer Premium Elite Partner von DigiCert, der weltweit am stärksten etablierten und vertrauenswürdigen Zertifizierungsstelle (CA).

X.509 standardisiert digitale Zertifikate

Public-Key-Zertifikate werden durch X.509 standardisiert. Dieser Standard definiert das Format digitaler Zertifikate, die einen Public Key und eine Identität enthalten. Entsprechend des X.509 v3 Standard hat ein digitales Zertifikat folgenden Aufbau:

Code Signing: Digitaler Schutz für geistiges Eigentum

Ein Code Signing-Zertifikat zählt zu den digitalen Zertifikaten. Diese Art von Zertifikaten wird eingesetzt, um eine Vielzahl ausführbarer Dateien und Skripte wie z. B. Anwendungen, Java-Applets, Installationspakete, Skripte, MS Office-Makros, dynamische Bibliotheken, Laufwerke usw. digital zu signieren. So wird die digitale Signatur des Herausgebers validiert, um dessen Authentizität und Integrität zu gewährleisten. Beispielsweise wird geprüft, dass Softwarekomponenten nicht gehackt wurden. Wenn der Code nach der erfolgten Signatur des Autors manipuliert wurde, kann der Public Key das Betriebssystem über die Änderungen informieren. Diese Zertifikate werden nicht nur für Offline-Code verwendet – auch über das Internet verbreitete Anwendungen und Software können digital signiert werden.

So funktioniert Code Signing

Dieses Verfahren bietet durch die digitale Signatur des Codes hohe Sicherheits-Standards. Code Signing-Zertifikate verwenden einen eindeutigen kryptografischen Hash, um die Identität des Herausgebers an die Software zu binden. Die Entwickler versehen den Code mit dem Private Key, während das Betriebssystem den Public Key des Entwicklers abruft, um die Identität des Unternehmens zu überprüfen.


Quelle: DigiCert

Obwohl ein Code Signing-Zertifikat anderen digitalen Zertifikaten sehr ähnlich ist, weist es einige Besonderheiten auf. Beispielsweise kann das Key-Usage-Feld zum Zeitpunkt der Generierung nur "Code Signing" anzeigen, d.h. dieses Zertifikat kann nur für diesen Zweck verwendet werden und ist daher weder austauschbar noch übertragbar. Die größte Besonderheit des Code Signing-Zertifikats liegt jedoch darin, dass die digitale Signatur angehängt wird, die ausführbare Datei wird also gehasht, sodass Änderungen erkannt werden können. S/MIME und SSL-Zertfikate hingegen verschlüsseln die Daten während der Übertragung.

Deshalb sollten Sie Code Signing-Zertifikate verwenden

Wussten Sie, dass die meisten Betriebssysteme bei der Installation nicht signierter Software eine Warnung anzeigen? Dies hält Benutzer zweifellos davon ab, Ihre Anwendungen herunterzuladen. Die beiden wesentlichen Gründe, die für Code Signing-Zertifikate sprechen,lauten: Integrität und Authentizität.

1. Gewährleistet die Integrität des Codes
Heutzutage wird der Großteil aller Daten und Anwendungen über das Internet verbreitet. Daher ist es unerlässlich, Sicherheit an erste Stelle zu setzen und entsprechend sichtbar zu machen. Lassen Sie Ihre Nutzer wissen, dass sie es mit vertrauenswürdigem Code zu tun haben. Das Zertifikat garantiert, dass der Quellcode nach dem Signieren nicht manipuliert wurde. Code Signing bürgt jedoch weder für die Qualität noch Funktionalität von Anwendungen. Der Code kann immer noch Sicherheitslücken enthalten, aber das Zertifikat zeigt, dass der Softwarehersteller Wert auf Qualität legt und bereit ist, alle Schwachstellen zu beheben.

2. Garantiert die Authentizität des Herausgebers
Das Code Signing-Zertifikat gibt verlässlich Auskunft darüber, wer der Autor der Anwendung ist und macht dies für User sichtbar. Es hilft Anwendern in der Entscheidungsphase, wenn es um die Installation oder Verwendung unbekannter Software geht. Sie können Anwendungen somit sicher verbreiten und Vertrauen schaffen.

Sechs Tipps für einen reibungslosen Code Signing-Prozess

Es ist wichtig, den Code Signing-Prozess mit Sorgfalt zu behandeln. Wir empfehlen dringend, immer die Best Practices im Bezug auf Sicherheit zu befolgen. Wenn Sie ein digitales Zertifikat für Ihre Applications anwenden möchten, folgen Sie diesen Schritten, um Private Keys sicher zu generieren und zu speichern:

1. Behalten Sie alle Prozesse im Blick
Beginnen Sie damit, von Anfang an alle Prozesse sowie alle Änderungen während des Code Signing-Prozesses aufzuzeichnen. Dies ist die bewährte Vorgehensweise und kann Audits oder Untersuchungen erheblich erleichtern.

2. Überprüfen Sie den Code und prüfen sie ihn vor dem Signieren auf Viren
Bevor Sie einen Code digital signieren und freigeben, sollten Sie ihn immer zuerst validieren. Richten Sie in Ihrem Unternehmen einen strengen Überprüfungsprozess ein, der einen Virenscan beinhaltet, damit Ihr Code frei von unerwünschten Effekten und Schwachstellen ist, wenn Sie ihn zum Signieren einreichen. Das gilt auch für Bibliotheken von Drittanbietern, die in Ihrem Code integriert sind.

3. Signierten Code immer mit einem Zeitstempel versehen
Durch Anwenden des Zeitstempels auf den Code validieren Sie ihn auch über das Ablauf- oder Widerrufs-Datum des Code Signing-Zertifikats hinaus. Der Grund: ein Zeitstempel friert die digitale Signatur ein und zeigt, dass der Code gültig war, als das Zertifikat erstellt wurde.

4. Beschränken Sie den Zugriff auf Private Keys
Der Zugriff auf Private Keys darf nur autorisiertem Personal vorbehalten sein, um die Vertraulichkeit und Informationssicherheit zu wahren. Beschränken Sie daher die Anbindung derjenigen Geräte, die für den Code Signing-Prozess verwendet werden. Ergreifen Sie geeignete physische Sicherheitsmaßnahmen und beschränken Sie so den Zugriff auf die Code Signing Keys.

5. Schützen Sie Private Keys mit kryptografischer Hardware
In Software gespeicherte Private Keys sind sehr anfällig für Cyberattacken. Schützen Sie Ihre Code Signing Keys mit Hilfe kryptografischer Geräte wie Smartcards oder USB-Token. Stellen Sie sicher, dass die entsprechende Hardware durch PIN oder Passwort geschützt und sicher aufbewahrt wird.

6. Gefährdete Zertifikate widerrufen
Wenn ein gefährdeter Private Key, Malware oder verdächtiger Code erkannt wird, sollte die CA benachrichtigt und das Zertifikat widerrufen werden.

Wählen Sie das passende Zertifikat


Newsletter anmelden

InterNetXPress Newsletter

Werden Sie jetzt Teil von tausenden InterNetXPress-Lesern!
2x im Monat Jederzeit kündbar
Ich habe die Datenschutzerklärung zur Kenntnis genommen. Durch Anklicken „Abonnieren” willige ich ein, dass meine E-Mail-Adresse elektr. erhoben und gespeichert wird.

Hinweis: Sie können Ihre Einwilligung jederzeit ohne Angabe von Gründen für die Zukunft
per E-Mail datenschutz@internetx.com widerrufen.
Websites benötigen TLS/SSL-Zertifikate. Zwar verschlüsseln alle Varianten den Datenverkehr, sie bieten jedoch unterschiedliche Sicherheitsstufen.…
Blogartikel DNSCrypt – was ist das?
Als Netzwerk-Protokoll trägt DNSCrypt neben DNSSEC dazu bei, DNS-Traffic zu authentifizieren. DNSCrypt bedient sich dabei kryptographischer Signaturen…
25 Jahre DENIC 35 Jahre .de InterNetX Blog
Freuen Sie sich mit uns über eine beeindruckende Erfolgsgeschichte mit einer der beliebtesten ccTLDs weltweit und einer der Top-Registry, die .de seit…
Vorteile Container-Technologie Blogbild
Die Idee hinter der Container-Technologie stammt aus dem Jahr 2000. Heute sind Docker und Kubernetes die beiden am weitesten verbreiteten Tools. Die…