Geräte-Absicherung Schutz für vernetzte Geräte durch Public-Key-Kryptografie

Yann Loisel, Stephane Di Vito *

Anbieter zum Thema

Kryptografie sorgt dafür, dass ein Gerät beim Start authentisierte und vertrauenswürdige Software vorfindet. Der Beitrag zeigt, wie sich eine Public-Key-basierte Signaturverifikation implementieren lässt.

Bild 1: Prinzip der asymmetrischen Verschlüsselung mit öffentlichem (Public) und privatem (Private) Schlüssel. Für die Verschlüsselung (orange) ist der öffentliche Schlüssel zuständig, die Entschlüsselung übernimmt der private Schlüssel (blau).(Bild:   / CC0)
Bild 1: Prinzip der asymmetrischen Verschlüsselung mit öffentlichem (Public) und privatem (Private) Schlüssel. Für die Verschlüsselung (orange) ist der öffentliche Schlüssel zuständig, die Entschlüsselung übernimmt der private Schlüssel (blau).
(Bild: / CC0)

Public-Key-Kryptografieverfahren verifizieren die Integrität und Authentizität digitaler Inhalte [5]. Integrität bedeutet, dass der digitale Inhalt seit seiner Erzeugung nicht verändert wurde. Authentizität bedeutet, dass der betreffende digitale Inhalt von einer bekannten Instanz herausgegeben wurde. Diese beiden Merkmale werden von dem digitalen Signaturkonzept geboten und sind erforderlich, damit ein digitaler Inhalt (zum Beispiel ausführbarer Binärcode) in einem elektronischen Gerät vertrauensvoll verwendet werden kann.

Die Integrität digitaler Inhalte wird von einem Mechanismus namens Message Digest garantiert. Es handelt sich dabei um sichere Hash-Algorithmen wie die bekannten Verfahren SHA-1, SHA-256 und neuerdings SHA-3. Ein Message Digest ist eine Art Super-CRC (Cyclic Redundancy Check), produziert jedoch mehr Bytes [6].

Zum Beispiel gibt der SHA-256-Algorithmus 32 Bytes aus, während ein CRC-32-Algorithmus lediglich vier Bytes erzeugt. Ein sicherer Hash-Algorithmus besitzt eine wichtige Eigenschaft: Es ist unmöglich, einen digitalen Inhalt so zu fälschen, dass er einen vorgegebenen Hash-Wert erzeugt. Die Folgerung daraus ist, dass zwei verschiedene digitale Inhalte stets zwei unterschiedliche Hash-Werte erzeugen. (Die Wahrscheinlichkeit, dass zwei verschiedene digitale Inhalte denselben Hash-Wert ergeben, ist praktisch gleich null.)

Werden also einige Bytes des digitalen Inhalts verändert, verändert sich auch der zugehörige Hash-Wert. Außerdem ist es anders als beim CRC-Verfahren nicht möglich, Bytes so an den modifizierten digitalen Inhalt anzuhängen, dass der Hash-Wert dem des ursprünglichen, nicht modifizierten Inhalts entspricht. Wird ein digitaler Inhalt also durch einen Hash-Algorithmus geschützt, kann dieser Inhalt unmöglich unbemerkt manipuliert werden. Für das Berechnen eines Hash-Wertes werden übrigens ebenso wie beim CRC-Verfahren keine Kryptografieschlüssel benötigt.

Originalbeitrag als ePaper oder im pdf-Format lesen

Dieser Autorenbeitrag ist im ELEKTRONIKPRAXIS Digital-Kompendium "Internet of Things" erschienen. Dies ist hier als kostenloses ePaper oder als pdf abrufbar.

Digital signieren und erfolgreich verifizieren

Die Authentizität digitaler Inhalte wird durch das Public-Key-basierte digitale Signaturverfahren, also durch eine kryptografische Rezeptur sichergestellt. Die Public-Key-Kryptografie beruht auf einem Schlüsselpaar. Jeder kann Besitzer eines solchen Schlüsselpaars sein. Der private Schlüssel (etwa KPRIV) ist geheim und wird an einem sicheren Ort abgelegt. Der öffentliche Schlüssel (etwa KPUB) dagegen wird offengelegt und kann von jedermann eingesehen werden. Digitale Inhalte lassen sich mit dem privaten Schlüssel signieren.

Der Herausgeber des Inhalts nutzt seinen privaten Schlüssel, um sich als Herausgeber zu identifizieren. Verifiziert werden kann diese digitale Signatur von jedem mithilfe des frei zugänglichen öffentlichen Schlüssels. Beide Schlüssel hängen zusammen. Das Signieren von Inhalten mit KPRIV erzeugt also digitale Signaturen, die sich nur mit KPUB und mit keinem anderen öffentlichen Schlüssel erfolgreich verifizieren lassen. Umgekehrt gilt: Lässt sich eine Signatur mit KPUB erfolgreich verifizieren, wurde sie ohne Zweifel mit KPRIV und keinem anderen Schlüssel erzeugt.

Das Generieren einer digitalen Signatur erfolgt in zwei Schritten. Der erste Schritt besteht im Hashen des digitalen Inhalts und der Erzeugung eines Hash-Wertes mit den zuvor beschriebenen Eigenschaften. Im zweiten Schritt wird der zuvor errechnete Hash-Wert mit dem privaten Schlüssel des rechtmäßigen Autors signiert. Der in diesem zweiten Schritt erzeugte Wert (die Signatur) wird an den ursprünglichen digitalen Inhalt angehängt.

Wer nun die Echtheit der an den digitalen Inhalt angefügten Signatur verifizieren will, muss die folgenden beiden Schritte ausführen. Im ersten Schritt erfolgt – wie schon beim Erzeugen der Signatur – ein Hashing des digitalen Inhalts. Dieser rekonstruierte Hash-Wert dient im zweiten Schritt als Eingangswert für den Signaturverifikations-Prozess – zusammen mit der an den digitalen Inhalt angefügten Signatur und dem öffentlichen Schlüssel. Ergibt der Algorithmus, dass die Signatur authentisch ist, so beweist dies, dass der digitale Inhalt identisch mit dem originalen Inhalt ist (Integrität) und dass der Autor des digitalen Inhalts tatsächlich derjenige ist, als der er sich ausgibt (Authentizität). Siehe hierzu Bild 1.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Artikelfiles und Artikellinks

(ID:43574288)