Sichere Authentifizierung

Produktschutz mit Elliptic Curve Cryptography

30. September 2014, 14:03 Uhr | Von Bernhard Linke
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Authentifizierung einer installierten Peripheriekomponente

Bild 7 zeigt den typischen Authentifizierungsablauf. Als erstes wird der Authenticator eingeschaltet (Schritte 1 und 2). Als nächstes holt der Host die Bausteinkennung des Authenticator ein und liest den öffentlichen Schlüssel sowie das Zertifikat (Schritte 3 bis 7). Anschließend führt der Host den Signaturverifikations-Algorithmus für das Zertifikat aus (Schritt 8, Bild 8). Ist die Verifikation erfolgreich, hat der öffentliche Schlüssel im System Gültigkeit. Schlägt die Verifikation dagegen fehl, gehört der betreffende Authenticator dem System nicht an, so dass der Host die Schritte 9 bis 12 überspringt und stattdessen den Authenticator sofort deaktiviert (Schritte 13 bis 15).

Das Wissen, dass der öffentliche Schlüssel eines Authenticator im System Gültigkeit besitzt, bietet noch keine Garantie dafür, dass der Host mit einem echten Authenticator kommuniziert, denn die bis dahin verwendeten Daten könnten auch von einem Emulator kommen, der eine Replay-Attacke auszuführen versucht.

Um festzustellen, ob der Authenticator in der Peripheriekomponente echt ist, liest der Host eine der Speicherseiten des Authenticator ein (Schritt 9), sendet eine beliebige Challenge an den Authenticator (Schritt 10) und fordert ihn zum Berechnen einer Signatur auf. Die betreffende Nachricht besteht aus der Speicherseite, der Challenge, der Bausteinkennung und der Seitennummer sowie Füll- und Formatierungsdaten. Wie ein ECDSA-Authenticator eine Signatur berechnet, ist in Bild 9 dargestellt. Die Berechnung der Signatur in Echtzeit erfolgt mit Hilfe der Hardware-mäßig implementierten ECDSA Engine des Authenticator. Anschließend werden die beiden Signaturkomponenten r und s zur Verifikation an den Host gesendet (Schritt 11). In die Signaturberechnung geht übrigens neben dem privaten Schlüssel des Authenticator eine Zufallszahl ein. Deshalb ergeben nachfolgende Signaturberechnungen immer wieder andere Resultate, auch wenn die Challenge nicht verändert wird.

Nunmehr stehen alle erforderlichen Daten einschließlich der Signatur zur Verfügung. Der Host berechnet jetzt den Message Digest und führt den Signaturverifikations-Algorithmus für die Signatur aus (Schritt 12, Bild 10). Verläuft die Verifikation erfolgreich, ist der Authenticator als echt verifiziert. Schlägt die Verifikation dagegen fehl, dann ist das Schlüsselpaar des Authenticator nicht gültig und die Peripheriekomponente wird vom Host abgewiesen.

passend zum Thema

Authentifizierung einer installierten Peripheriekomponente

Typischer Transaktionsablauf zur Authentifizierung einer in¬stallierten Peripheriekomponente.
© Maxim
Verifikation des öffentlichen Schlüssels des Authenticator mit Hilfe des Zertifikats.
© Maxim
Signaturberechnung durch den Authenticator.
© Maxim

Alle Bilder anzeigen (4)

Preiswerte Elliptic-Curve-Public-Key-Sicherheit

Der Digital Signature Standard wurde 1994 herausgegeben, und die ECDSA-Authentifizierung war lange Zeit hauptsächlich Gegenstand theoretischer Forschung. Das änderte sich unlängst mit der Einführung von Produkten wie dem DeepCover Secure Authenticator DS28E35 von Maxim, des ersten ECDSA-Authenticator mit 1-Wire-Interface und 1 Kbit Anwender-EEPROM. Sicherheitslösungen mit integrierter DeepCover-Technologie schützen sensible Daten mit mehreren Lagen moderner physischer Sicherheitsvorkehrungen, um der Schlüsselspeicherung ein Maximum an Sicherheit zu verleihen.

Der DS28E35 implementiert das ECC-Verfahren unter Verwendung einer pseudozufälligen Kurve über einen Primkörper nach der Gleichung y² = x³ +ax + b mit den Domainparametern der Kurve P-192 (s. Tabelle). Der Baustein kann das öffentlich/private Schlüsselpaar eigenständig und ohne Hilfe von außen berechnen, installieren und gegen Überschreiben sichern. Zum Speichern und Verriegeln eines Zertifikats für den öffentlichen Schlüssel ist ein separater Speicherbereich reserviert. Außerdem ist im DS28E35 ein einmalig setzbarer, nichtflüchtiger 17-bit-Zähler vorhanden, der auf Befehl dekrementiert. Mit diesem Zähler lässt sich die Lebenszeit der Peripheriekomponente, in die der DS28E35 eingebaut ist, verfolgen. In jedem Baustein befindet sich eine garantiert nur einmal vorkommende, werksseitig programmierte 64-bit-Kennung, die – wie bereits beschrieben – ein wichtiger Eingangsparameter für kryptografische Operationen ist. Die Einfachheit der 1-Wire-Schnittstelle (wie in Bild 5 gezeigt, gibt es nur I/O und GND) erleichtert den Einsatz des DS28E35 in einer Vielzahl von Anwendungen. Als zusätzliche Dienstleistung kann das Einrichten des Bausteins (Schlüsselpaar und Zertifikat) einschließlich der Programmierung des Benutzerspeichers und der Initialisierung des Zählers durch den sicheren werksseitigen Service von Maxim vorgenommen werden. Dabei handelt es sich um eine sichere Methode zum Konfigurieren der Bauelemente, bevor sie in die Lieferkette des OEM gegeben werden. Sie unterbindet das Risiko der Offenlegung sensibler Daten und befreit den OEM von der Bereitstellung eines Schlüsselmanagement-Systems und des dazugehörigen Aufwandes.

Der Hauptvorteil des ECDSA-Verfahrens besteht in der Tatsache, dass die Instanz, die eine Peripheriekomponente verifiziert, von der sicheren Speicherung eines geheimen Schlüssels entbunden wird. Denn die Authentifizierung erfolgt mit einem öffentlichen Schlüssel, der frei zugänglich gemacht werden darf. Authentifizierungs-ICs, wie sie Maxim im Rahmen seiner Embedded-Security-Lösungen der DeepCover-Reihe anbietet, helfen bei der Implementierung robuster Authentifizierungsmethoden nach dem Challenge-Res­ponse-Prinzip, die die Grundlage für effektiveren Schutz der Applikationen bilden. Mit ECDSA-Authenticator-Produkten vereinfacht sich sogar die Authentifizierung von Produkten, die von Fremdunternehmen oder Subunternehmern zugeliefert werden.

Literatur

[1] Secure Hash Standard (SHS), National Institute of Standards and Technology (NIST), March 2012, http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf.
[2] Digital Signature Standard (DSS), National Institute of Standards and Technology (NIST), 2013, http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf.
[3] An Elliptic Curve Cryptography based Authentication and Key Agreement Protocol for Wireless Communication, Oregon State University, 1998, www.crypto.wpi.edu/Publications/Documents/ask_98_an.pdf
[4] Implementation of Elliptic Curve Digital Signature Algorithm, International Journal of Computer Applications, May 2010, www.ijcaonline.org/volume2/number2/pxc387876.pdf.

Der Autor:

Bernhard Linke
war bei Maxim Integrated in San Jose, USA, beschäftigt.

sales-europe@maximintegrated.com



  1. Produktschutz mit Elliptic Curve Cryptography
  2. Der mathematische Hintergrund
  3. Verifikation der Signatur
  4. Authentifizierung einer installierten Peripheriekomponente

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Maxim Integrated Products

Weitere Artikel zu Cyber-Security