Geräte-Absicherung

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

< zurück

Seite: 3/3

Anbieter zum Thema

Verifikation von Software mit einer Public-Key-basierten Signatur

Auf Software angewandt, erlaubt einem dieses Signaturverfahren, einem ausführbaren Binärcode zu vertrauen. Hier wird die Software als digitaler Inhalt betrachtet. Der Absender dieses digitalen Inhalts ist der Software Approver, also eine genehmigende Instanz, die mit dem Akzeptieren der für ein Gerät validierten Software beauftragt ist. Empfänger ist das elektronische Gerät.

Der Software Approver generiert ein Schlüsselpaar und lädt den öffentlichen Verifikations-Schlüssel einmal, nämlich während der Fertigung, in das elektronische Gerät. Der private Schlüssel wird an einem sicheren Ort verwahrt. Der Software Approver signiert den generierten Code, bevor er ihn mit seinem eigenen privaten Schlüssel in das elektronische Gerät lädt. Nach dem Einschalten kann das Gerät den zuvor geladenen öffentlichen Schlüssel verwenden, um die Integrität und Authentizität des Binärcodes zu verifizieren, bevor es diesen ausführt.

Public-Key-Kryptografie und Gegenmaßnahmen

Bild 2: Illustration der Anwendung und Verifikation einer digitalen Signatur (Bild:  Digital Signature diagram.svg / / CC BY-SA 3.0)
Bild 2: Illustration der Anwendung und Verifikation einer digitalen Signatur

Öffentliche Schlüssel müssen nicht vor Offenlegung geschützt werden und benötigen auch keine der Gegenmaßnahmen, die den Zugriff auf den Wert des Schlüssels unterbinden sollen. Anders als ein geheimer Schlüssel muss ein öffentlicher Schlüssel auch nicht auf Manipulationsversuche reagieren, indem er seinen Verifikations-Schlüssel löscht. Auch Side-Channel-Gegenmaßnahmen sind nicht erforderlich. Die einzigen notwendigen Schutzmechanismen müssen gegen das Austauschen bzw. Modifizieren des Schlüssels und gegen modifiziertes Softwareverhalten gerichtet sein.

All dies macht das Gerätedesign einfacher. Die verwendeten Algorithmen unterliegen keinen Exportvorschriften, da sie keine Verschlüsselung, sondern nur einen Digest (also einen Hash-Algorithmus und eine Signatur-Verifikation) für den digitalen Inhalt enthalten. Schließlich ist anzumerken, dass der Algorithmus zur Verifikation der digitalen Signatur (siehe Bild 1) dennoch ausreichend robust sein muss, um Schutz vor absichtlichen oder zufälligen Beeinträchtigungen wie etwa Spannungseinbrüchen, unzureichend formatierten digitalen Inhalten und digitalen Signaturen zu bieten.

Management des privaten Schlüssels

Wie schon zuvor bei der Vorstellung des Public-Key-basierten digitalen Signaturschemas beschrieben, beruht auch die Public-Key-Kryptografie auf einem Schlüsselpaar (also aus einem privaten und einem öffentlichen Schlüssel). Der private Schlüssel wird an einem geheimen Ort verwahrt, da er von einem empfangenden Gerät zur Authentifizierung von Inhalten verwendet werden kann. Ausschließlich der Schlüsselbesitzer sollte aber zum Signieren von Inhalten in der Lage sein. Umgekehrt ist der öffentliche Schlüssel für jeden zugänglich, da jeder eine Signatur verifizieren kann. Dies ist in keiner Weise riskant.

Es liegt auf der Hand, dass das ordnungsgemäße Management eines privaten Schlüssels eine entscheidende Voraussetzung für die schlüsselbasierte Kryptografie ist. Wer einen privaten Schlüssel entwendet, kann damit jeden erdenklichen ausführbaren Binärcode signieren, der dann vom elektronischen Gerät erfolgreich verifiziert wird. Software-Approver müssen den privaten Schlüssel deshalb unbedingt an einem Ort hinterlegen, an dem er wirksam vor Offenlegung geschützt ist. Schon die missbräuchliche Verwendung des Schlüssels (ohne Offenlegung) muss verhindert werden.

Einige Zertifizierungen wie PCI PTS 4.0 verlangen für das Schlüsselmanagement den Einsatz von Hardware-Security-Modulen (HSMs). HSMs sind manipulationsgeschützte Bauelemente, die auf sichere Weise Schlüsselpaare generieren und anwenden können. Während öffentliche Schlüssel exportiert werden können, verbleiben die zugehörigen privaten Schlüssel im HSM. Die Verwendung der privaten Schlüssel im HSM (etwa zum Signieren eines digitalen Inhalts) ist nur möglich, wenn zuvor eine wirksame Multifactor-Authentifizierung erfolgt ist.

Die Person, die einen ausführbaren Binärcode zu signieren hat, muss mit einer Smartcard und einem PIN-Code den privaten Schlüssel im HSM freischalten. Abhängig von den jeweiligen Sicherheits-Konventionen können zwei oder mehr Personen für diesen Vorgang erforderlich sein. Darüber hinaus müssen die HSMs an einem sicheren Ort aufbewahrt werden, damit sie bei Nichtgebrauch geschützt sind. Dieser Prozess stellt sicher, dass ausführbarer Binärcode nur von vertrauenswürdigen Personen signiert wird.

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

Vorteile der ECC-Technik gegenüber der RSA-Kryptografie

Die Public-Key-basierte Kryptografie war jahrzehntelang ein RSA-Algorithmus. In den letzten Jahren ist jedoch die ECC-Technik (Elliptic Curve Cryptography) aufgekommen und hat in der Sicherheitsbranche an Verbreitung gewonnen. Die Elliptic-Curve-basierte Signaturverifikation ist von derselben Größenordnung wie das RSA-Verfahren, benötigt aber erheblich weniger Rechen-Ressourcen. Ihre Schlüssel sind von wesentlich geringerem Umfang, was den Speicherbedarf reduziert. Eine sichere RSA-Applikation benötigt heute mindestens 2.048 Bits an Sicherheit, während RSA-Schlüssel 256 Bytes erfordern. Entsprechende Elliptic-Curve-Schlüssel sind nur 224 Bits lang, und die Schlüssel haben einen Umfang von nur 28 Bytes [7]. Wenn es um die Absicherung neuerer Geräte geht, ist deshalb das ECC-Verfahren die bevorzugte Wahl.

* Yann Loisel arbeitet als Security Architect bei Maxim Integrated

* Stephane Di Vito ist bei Maxim Integrated für das Design und die Entwicklung sicherer Software in industriellen Anwendungen zuständig.

Artikelfiles und Artikellinks

(ID:43574288)