Kurzeinführung Kommunikationsauthentifizierung


Von Zertifikaten und MACs

Gefahren durch Verlust der Authenzität
Gefahren durch Verlust der Authenzität

In der IT allgemein besteht das Risiko meist im Verlust vertraulicher Daten - man spricht dann häufig von einem "Confidentiality Breach". Werden beispielsweise Kreditkarteninformationen oder medizinische Informationen entwendet, so stellt dies die betroffene Organisation vor grössere Probleme. Verschlüsselung ist die Standardlösung  der IT für diese Bedrohung.

 

Im Kontext des Internets der Dinge, z.B. eines vernetzten Gebäudes oder eines Smart Grids, ist Vertraulichkeit meist kein erstrangiges Ziel, da die Statusinformationen und Befehle der angeschlossenen Geräte für allgemein nicht sensibel sind. Das Hauptrisiko besteht im  Verlust der Authenzität und Integrität, z.B. wenn ein unerlaubter Nutzer oder Prozess Einfluss auf das IoT-Gerät nimmt, um es zu manipulieren oder zum Ausfall zu bringen. Die Schutzziele hier sind Authentifzierung und Nachweisbarkeit. Diese gewährleisten, dass

  • eine Nachricht auf dem Übertragungsweg nicht absichtlich oder unabsichtlich verändert wird und
  • tatsächlich von der Person oder dem Prozess verschickt wurde, der vorgibt Absender zu sein.

Während Vertraulichkeit also ein Qualitätsziel auf Empfängerseite darstellt richten sich Authentifizierung und Nachweisbarkeit an die Senderseite einer Nachricht. Die klassischen Lösungen für die Realisierung dieser Ziel sind digitale Zertifikate und MACs.

Digitales Zertifikat

X.509 Server-Zertifikat
X.509 Server-Zertifikat

Digitale Zertifikate kommen im Kontext einer Public Key Infrastrukture (PKI) - also einem Verbund verschiedener Rechner, welche authentifizierte und verschlüsselte Kommunikation gewährleisten - zum Einsatz. Ein Zertifikat ist ein elektronisches Dokument, welches nachweist, dass ein öffentlicher Schlüssel innerhalb des PKI-Systems tatsächlich der vorgegebenen Person oder dem vorgegebenen Prozess gehört. Hierzu wird der öffentliche Schlüssel von einer vertrauenswürdigen Stelle - der Certification Authority (CA) - signiert, d.h. mittels des privaten Schlüssels der Certification Authority verschlüsselt.

 

Das Zertifikat gewährleistet also, dass die Identität von einer höherstehenden Stelle, d.h. der Certication Authority bestätigt wird. Die Verantwortung wird also sozusagen nach oben deligiert und es lassen sich mehrstufige Systeme aufbauen. Letztendlich basiert das System auf dem Vertrauen in die CAs. Dies ist ein Grund warum drei CAs zusammen (Comodo, Symantec und GoDaddy) über einen Marktanteil von grösser 80% am CA-Markt verfügen. Eine Liste, welchen CAs vertraut wird, wird üblicherweise in der Software hinterlegt.

 

Die grossen Vorteile von Zertifikaten bestehen einerseits darin, dass die Gültigkeit des Zertifikats jeweils online bei der CA geprüft werden kann. Auf diese Weise können Zertifikate jederzeit in Echtzeit widerrufen werden. Andererseits lässt sich mit Zertifikaten und einer PKI ein umfassendes Gesamtsystem aufbauen, dass Authentizität, Nachweisbarkeit und Verschlüsselung gewährleistet. Die grössten Nachteile der Zertifikate sind zunächst, dass der Schutz letztendlich auf dem Vertrauen in die CAs basiert - Vertrauen, dass sich in der Vergangenheit schon des öfteren missbraucht wurde. Andererseits sind Zertifikate aufgrund der zugrundeliegenden asymmetrischen Verschlüsselung rechenaufwendig, was für schwache IoT-Geräte ein Problem darstellt.

 

Mögliche Anwendungen von Zertifikaten im Kontext des IoT sind:

  • Code Signing: Der Software-Code eines IoT-Geräts wird vom Hersteller signiert und das Hersteller-Zertifikat bei der CA abgelegt. Mittels des im Zertifikat enthaltenen öffentlichen Schlüssels kann die Echtheit des Codes geprüft werden. Es wird so gewährleistet, dass nur vom Hersteller entwickelte Software auf dem IoT-Gerät installiert werden kann.
  • Server-Zertifikat: Bevor ein IoT-Gerät Daten mit einem Server im Netzwerk austauscht, muss der Server ein Zertifikat vorweisen, welches das IoT-Gerät bei der CA überprüft. So kann verhindert werden, dass das IoT-Gerät unerlaubterweise manipuliert wird. Geschützt wird also die physische Seite des IoT-Systems.
  • Client-Zertifikat: Hier wird die Netzwerkseite geschützt, indem nur legitimierte physische Gerät die Erlaubnis erhalten, sich mit dem Netzwerk zu verbinden.

Message Authentication Code (MAC)

Funktionsweise Message Authentication Code
Funktionsweise Message Authentication Code

Der Message Authentication Code - oder kurz MAC - basiert auf einer Hash-Funktion. Eine Hash-Funktion ist eine mathematische Abbildung, die eine grosse Eingabemenge (die Nachricht) auf eine kurze Zielmenge (den Hashwert) abbildet. Die Hash-Funktion hat dabei die Eigenschaft, dass schon kleine Änderungen an der Nachricht grosse Änderungen am Hash-Wert nach sich ziehen.

 

In die Hash-Funktion fliesst neben der Nachricht ein zwischen Sender und Empfänger vereinbarter symmetrischer Schlüssel ein. Der resultierende MAC wird an die Nachricht angehängt. Der Empfänger kann mittels Kenntnis des geheimen Schlüssels und der Hash-Funktion den MAC neu berechnen und mit dem empfangenen MAC vergleichen. Jegliche unberechtigte Veränderung der Nachricht oder der Versand einer Nachricht durch einen nicht legitimierten Teilnehmer werden somit sofort erkannt.

 

Der MAC-Ansatz ist deutlich einfacher zu realisieren als ein PKI-System mit Zertifikaten. Es ist weniger Rechenleistung erforderlich und neben Sender und Empfänger sind keine zusätzlichen Instanzen wie Certification Authorities notwendig. Die Nachteile des MAC-Ansatzes sind, dass bösartige IoT-Geräte nicht einfach durch Widerrufen des Zertifikats blockiert werden können, da üblicherweise alle Geräte denselben Schlüssel nutzen. Daneben erlaubt der MAC-Ansatz keine weitergehenden Funktionen wie Verschlüsselung oder Nachweisbarkeit. Im Kontext des IoT ist der Message Authentication Code daher als einfacher erster Schritt für eine sichere Netzwerkkommunikation zu verstehen.


Kommentar schreiben

Kommentare: 0