nw  

Secure IoT mit Programmable Smart Cards - 1. Arbeitsgebiet

Etablierter, grundlegender kryptographischer Prozess

Der grundlegende kryptographische Prozess ist keine Eigenerfindung, sondern stützt auf etablierte kryptographische Vorgänge wie sie aktuell gebräuchlich sind. Die Herausforderung besteht darin, für die Smart Card ein Applet zu Entwickeln das den Prozess geeignet umsetzt.

Zudem wird für den Betrieb des Prozesses nebst der On-Card Umsetzung eine entsprechende Off-Card Implementierung benötigt, die auf dem Computer (Host) betrieben wird. Im Prozess simuliert die Off-Card Implementierung das eine IoT Gerät und das Applet auf der Smart Card das andere.

Da in diesem Arbeitsgebiet der Schwerpunkt in der Erforschung der Möglichkeiten und Grenzen der verwendeten Smart Card liegt, wird dabei auch der Übertragungskanal simuliert. Dies bedeutet, dass der Nachrichtenaustausch auf einem Computer mit seiner integrierten Smart Card stattfindet und diesen nicht verlässt.

Die folgende Abbildung 2 stellt den etablierten, grundlegenden kryptographischen Prozess dar.

Abbildung 2: Etablierter, grundlegender kryptographischer Prozess

Beschreibung des Prozesses und der verwendeten kryptographischen Algorithmen:

  1. Für das asymmetrische Schlüsselpaar wird eine elliptische Kurve verwendet.
  2. Auf der Basis des asymmetrischen Schlüsselpaares wird für die Schlüsselvereinbarung der Diffie Hellman Algorithmus eingesetzt.
  3. Das IoT Gerät schickt seiner integrierten Smart Card eine Nachricht im Klartext für die Verschlüsselung und Signierung.
  4. Im Applet auf der Smart Card wird die Nachricht mit dem symmetrischen Verschlüsselungsalgorithmus AES im Modus CBC verschlüsselt.
  5. Mit dem Signierungsalgorithmus ECDSA wird die verschlüsselte Nachricht signiert.
  6. Nachdem das IoT Gerät die verschlüsselte Nachricht sowie die Signatur von seiner Smart Card erhalten hat, schickt sie beides an den Empfänger.
  7. Das empfangende IoT Gerät leitet die verschlüsselte Nachricht und die Signatur weiter an seine integrierte Smart Card.
  8. Die Smart Card verifiziert die Signatur mit dem zuvor ausgetauschten öffentlichen Schlüssel des Absenders sowie der verschlüsselten Nachricht. Wie bei 5. wird dabei der Signaturalgorithmus ECDSA verwendet.
  9. Verläuft die Verifikation erfolgreich, so entschlüsselt die Smart Card die verschlüsselte Nachricht und schickt den Klartext zurück an sein IoT Gerät.
Ergebnisse aus dem Testaufbau

Im dritten Experiment werden die einzelnen Vorgänge soweit als möglich gruppiert ausgeführt. Dadurch ist der Overhead und somit die Ausführungszeit in der Kommunikation zwischen dem IoT Gerät und seiner Smart Card optimiert. Durch den Einsatz des entwickelten Datenfragmentierungsansatzes können von der Smart Card lange Nachrichten behandelt werden. Wird hierfür das schnellere RAM der Smart Card verwendet ist die maximale Nachrichtenlänge auf 1'488 Bytes limitiert. Mit dem langsameren EEPROM Speicher der Smart Card können nahezu 32 kBytes lange Nachrichten mit der Smart Card verarbeitet werden.

Die beiden Liniendiagramme in Abbildung 3 und 4 zeigen die Ausführungszeiten für das verarbeiten von Nachrichten mit Längen zwischen einem und 1'488 Bytes auf der Smart Card. Auch zeigen sie den Zeitunterschied zwischen dem RAM und dem EEPROM.

Abbildung 3: Ausführungszeiten mit RAM und EEPROM für das Verschlüsseln und Signieren

Abbildung 4: Ausführungszeiten mit RAM und EEPROM für die Verifikation und das Entschlüsseln

Umsetzung in der Demonstrator Applikation

Der nachfolgende Screenshot in Abbildung 5 zeigt wie das dritte Experiment in der Demonstrator Applikation nachvollzogen werden kann.

Abbildung 5: Nachvollziehung des dritten Experiments in der Demonstrator Applikation

« zurück