Schutz der Datenintegrität in Anwendungen für das Internet of Things

Das Internet of Things (IoT) verspricht Unternehmen viele nie dagewesene Möglichkeiten, neuartige und spannende Dienste anzubieten. Jedoch müssen die unzähligen Geräte und Betriebsdaten, die per Internet zugänglich sind, durch eine kompromisslose und zuverlässige Security-Lösung geschützt werden. Der Beitrag von Wind River beschäftigt sich hauptsächlich mit dem Aspekt der Datenintegrität.

Bild 1: Modell für Vertraulichkeit, Integrität und Verfügbarkeit

Seit langem gilt die CIA-Triade als bewährtes Security-Modell. Ihre Hauptkomponenten (Bild 1) basieren auf Vertraulichkeit, Integrität und Verfügbarkeit. Im IoT-Kontext bezieht sich Vertraulichkeit auf die Geheimhaltung von Daten in IoT-Geräten, Integrität auf den Schutz vor Veränderung dieser Daten und Verfügbarkeit auf den Zugriff auf die Geräte. Dieser Beitrag beschäftigt sich hauptsächlich mit dem Aspekt der Datenintegrität. IoT-Gerätedaten sind nicht nur die Daten, die das Gerät erzeugt oder verwendet, sondern auch seine eigenen Programmierdaten. Hierzu zählen alle Aspekte der Programmsoftware, Konfigurationsparameter und Betriebssystem- Software. Im Zusammenhang mit Datenintegrität sollten auch die drei unterschiedlichen Zustände betrachtet werden, in denen Daten auftreten können: in Bewegung, ruhend und in Verarbeitung.

Bild 2 zeigt das Integritätsprinzip mit seinen einzelnen Unterbereichen sowie Implementierungen, die das IoT-Gerät beinhalten kann, um die Integrität seiner Daten zu schützen.

Datenintegrität mit Hash-Funktion oder Shared Private-Key verifizieren

Eine Verletzung der Datenintegrität bedeutet nicht nur, dass ein IoT-Gerät nicht richtig funktionieren kann, sondern dass es dann auch Exploits ausgesetzt ist und damit der Gefahr, als Plattform missbraucht zu werden, von der aus weitere Angriffe gestartet werden. Die Datenintegrität wird meist mithilfe eines mathematischen Algorithmus – einem Hash – verifiziert; der Secure-Hash-Algorithmus (SHA) ist der bekannteste.

Bild 2: Betrachtungen der Datenintegrität für IoT-Geräte

In Bewegung befindliche Daten sind während der Übertragung von der Sensor- in die Cloud-Applikation vor Veränderung zu schützen, z. B. mittels Hash-Funktion. Doch könnte ein Angreifer die Nachricht verändern und den Hash neu berechnen. Wirksamer ist die Durchführung eines Datenintegritätstests mit einem Shared Private-Key, wie in Bild 3 dargestellt; dieser wird als Keyed-Hash Message Authentication Code (HMAC) bezeichnet. Da er einen Shared Private-Key erfordert, muss er wie jeder Kryptografieschlüssel geschützt werden. Auf ruhende Daten treffen mehrere Betrachtungen zu. Zum einen sind die gespeicherten Programmdaten zu verifizieren. Dies geschieht während des Bootvorgangs; siehe hierzu auch das Thema Secure Boot im nachfolgenden Abschnitt. Vor der Verarbeitung durch ein IoT- Gerät sollten Konfigurationsdaten und alle gespeicherten Gerätedaten grundsätzlich überprüft werden. Periodische Integritätsprüfungen sind während des Betriebs und bei jedem Hoch- und Herunterfahren auszuführen. Die Integrität sollte auch für Daten überprüft werden, die gerade in Verarbeitung sind. So wird sichergestellt, dass die Daten und ihr Ablauf vertrauenswürdig sind. Eigene Enumera- tionswerte innerhalb der Software sorgen dafür, dass APIs mit Parametern aufgerufen werden, die nur auf diese eine API beschränkt sind.

Bild 3: HMAC-Workflow
Bild 4: Bootvorgang

Secure Boot

Die Verifizierung des Bootvorgangs lässt sich, wie in Bild 4 gezeigt, in zwei separate Pfade unterteilen. Die Trusted Platform initiiert einen Secure Boot und ermittelt die Authentizität der ursprünglichen Images. Der Verifikationsprozess lässt sich am besten mittels digitaler Signaturen umsetzen. Digitale Signaturen verwenden sowohl den Message Digest einer Hash-Funktion als auch die asymmetrische Private-Key-Verschlüsselung dieser Hash-Funktion. Die digitale Signatur wird durch eine Neuberechnung des Message-Digest- Werts und Entschlüsselung der entsprechenden digitalen Signatur mit dem Public Key überprüft. Dann erfolgt ein Vergleich der Message Digests. Stimmen sie überein, ist die Integrität der Software verifiziert. Die zweite Stufe im Bootvorgang ist Trusted Boot. Dabei erfolgt eine Verifizierung der übrigen Images und Daten mittels zuvor überprüfter Software. Vorzugsweise beinhaltet der Bootvorgang eine Hardware zur Verifizierung der Integrität; die unveränderlichen Eigenschaften der Hardware (egal ob System-on-Chip/SoC oder feldprogrammierbares Gate-Array/FPGA) mindern das Risiko, dass mutwillige Veränderungen eine Sicherheitsverletzung während des verifizierten Bootvorgangs verursachen.

Bild 5: Chain of Trust

Das Übertragen der Kontrolle durch ein verifiziertes Image an ein anderes verifiziertes Image bezeichnet man als Chain of Trust, siehe Bild 5. Die Chain-of-Trust-Methode stellt sicher, dass ausschließlich verifizierte Software in das System geladen wird.

AAA-Methode

Bei IoT-Geräten, die eine zuverlässige und dauerhafte Internetverbindung haben, lassen sich mittels Remote-Attestierung die Boot-Parameter während Secure- und Trusted-Boot an einen physikalisch entfernten Server übergeben und validieren. Diese Parameter sind meist ein Hash der Bootkomponenten (Bootloader, Applikationen, etc.). Der Server vergleicht diese Messungen und ermittelt die Vertrauenswürdigkeit des IoT-Gerätes. Die Übertragung der Messungen ist geschützt und muss die Identität des IoT-Gerätes beinhalten. Ein mit dem Internet verbundenes Gerät ist immer risikobehaftet. IoT-Geräte bilden da keine Ausnahme. Die AAA-Methode (gesprochen „Triple A“) stellt einen weiteren Schutzmechanismus im Sinne der Datenintegrität dar und steht für Authentifizierung, Autorisierung und Accounting. Sie soll ermitteln, mit welchen anderen Geräten im Netzwerk kommuniziert werden darf und welche Daten übertragen werden können. Eine Trusted Party, also ein vertrauenswürdiger Dritter, ist für die Kommunikation zwischen dem IoT-Gerät und dem entfernten Gerät oder Server erforderlich. Vertrauen zwischen Geräten innerhalb des Netzwerks lässt sich z. B. über das Kerberos-Protokoll schaffen.

Accounting

Nach erfolgter Authentifizierung folgt die Autorisierung, also die Festlegung, welche Art von Zugriff auf eine Ressource innerhalb des Netzwerks erlaubt ist. Anhand einer netzweiten Security-Richtlinie ist definiert, welche Ressourcen das sind, welches die Kommunikationspfade zu und von jeder Ressource sind und bis zu welcher Ebene Zugriffe stattfinden dürfen. Accounting ist der dritte Bestandteil der AAA-Methode und bezieht sich auf das Erzeugen eines Logs mit Ereignissen, die auf sicherheitsrelevante Aktivitäten an dem oder durch das IoT-Gerät hinweisen. Event-Logs werden im IoT-Gerät bzw. meist auf einem externen Server gespeichert. Die Security-Richtlinie legt fest, welche Events aufgezeichnet werden müssen. Durch Überprüfung der Logs und der zugehörigen Daten lässt sich ermitteln, was einen Angriff verursacht hat, woher er kam und was dabei passierte. Die Events werden so echtzeitnah wie möglich aufgezeichnet, damit gemäß der Security-Richtlinie direkt eine gezielte Reaktion ausgeführt werden kann, um die Folgen des Angriffs einzudämmen.

Security Management und Event Management Server (SIEM)

Angesichts der hohen Anzahl an IoT-Geräten, die überwacht werden müssen, und den zahlreichen Events, die zu analysieren und verwalten sind, bedarf es eines speziellen Servers. Diese Art Server wird als Security Management und Event Management (SIEM) Server bezeichnet. Der SIEM-Server kann von einem IoT-Gerät übermittelte Daten zu Sicherheitsvorfällen korrelieren und mittels vorhersagender Analyse ermitteln, ob das IoT-Gerät von einem Angriff bedroht ist. Eine kompromisslose und zuverlässige Security- Lösung ist Voraussetzung, um das enorme Potential vernetzter IoT-Geräte auszuschöpfen. Das CIA-Modell ist eine einfache und komfortable Methode, um die Sicherheitsanforderungen eines IoT-Gerätes zu identifizieren und darzustellen. Bei der Umsetzung von Security- Richtlinien ist die Wahrung der Datenintegrität unbestritten einer der wichtigsten Aspekte. Die damit verbundenen Betrachtungen und Lösungen treffen auch für Vertraulichkeit und Verfügbarkeit zu. Wind River bietet ein umfangreiches Portfolio an Produkten und Lösungen an, mit denen sich das Integritätsprinzip des CIA-Modells angepasst an die Anforderungen von IoT-Geräten umsetzen lässt. ■ Autor: Arlen Baker, Principal Technologist, Wind River


Weitere Informationen:

Security

Whitepaper