19. Sicherheitsüberlegungen
19.1. Überblick
Aus Sicherheitsperspektive unterscheiden sich RPL-Netzwerke nicht von anderen Netzwerken. Sie sind anfällig für passive Abhörangriffe und möglicherweise sogar für aktive Manipulationen, wenn kein physischer Zugang zu einem Kabel erforderlich ist, um an der Kommunikation teilzunehmen. Die Natur von Ad-hoc-Netzwerken und ihre Kostenziele erlegen zusätzliche Sicherheitsbeschränkungen auf, die diese Netzwerke vielleicht zu den am schwierigsten zu sichernden Umgebungen machen. Geräte sind kostengünstig und haben begrenzte Fähigkeiten in Bezug auf Rechenleistung, verfügbaren Speicher und Stromverbrauch; es kann nicht immer davon ausgegangen werden, dass sie über eine vertrauenswürdige Rechenbasis oder einen hochwertigen Zufallszahlengenerator an Bord verfügen.
Die Kommunikation kann sich nicht auf die Online-Verfügbarkeit einer festen Infrastruktur verlassen und kann kurzfristige Beziehungen zwischen Geräten beinhalten, die möglicherweise noch nie zuvor kommuniziert haben. Diese Einschränkungen könnten die Wahl kryptografischer Algorithmen und Protokolle stark einschränken und das Design der Sicherheitsarchitektur beeinflussen, da der Aufbau und die Aufrechterhaltung von Vertrauensbeziehungen zwischen Geräten mit Sorgfalt behandelt werden müssen. Darüber hinaus setzen Batterielebensdauer und Kostenbeschränkungen dem Sicherheitsaufwand, den diese Netzwerke tolerieren können, strenge Grenzen, was bei Netzwerken mit höherer Bandbreite weitaus weniger besorgniserregend ist. Die meisten dieser sicherheitsarchitektonischen Elemente können auf höheren Schichten implementiert werden und können daher als außerhalb des Geltungsbereichs dieser Spezifikation betrachtet werden. Besondere Sorgfalt muss jedoch im Hinblick auf Schnittstellen zu diesen höheren Schichten walten gelassen werden.
Die Sicherheitsmechanismen in diesem Standard basieren auf symmetrischer und asymmetrischer Kryptografie und verwenden Schlüssel, die von Prozessen höherer Schichten bereitgestellt werden müssen. Die Einrichtung und Wartung dieser Schlüssel liegen außerhalb des Geltungsbereichs dieser Spezifikation. Die Mechanismen setzen eine sichere Implementierung kryptografischer Operationen und eine sichere und authentische Speicherung von Schlüsselmaterial voraus.
Die spezifizierten Sicherheitsmechanismen bieten bestimmte Kombinationen der folgenden Sicherheitsdienste:
Datenvertraulichkeit (Data confidentiality): : Zusicherung, dass übertragene Informationen nur den Parteien offengelegt werden, für die sie bestimmt sind.
Datenauthentizität (Data authenticity): : Zusicherung der Quelle der übertragenen Informationen (und hiermit, dass Informationen während der Übertragung nicht geändert wurden).
Wiederholungsschutz (Replay protection): : Zusicherung, dass ein Duplikat übertragener Informationen erkannt wird.
Rechtzeitigkeit (Verzögerungsschutz) (Timeliness (delay protection)): : Zusicherung, dass übertragene Informationen rechtzeitig empfangen wurden.
Der tatsächlich gebotene Schutz kann paketweise angepasst werden und ermöglicht unterschiedliche Stufen der Datenauthentizität (um den Sicherheitsaufwand in übertragenen Paketen bei Bedarf zu minimieren) und optionale Datenvertraulichkeit. Wenn ein nicht trivialer Schutz erforderlich ist, wird immer ein Wiederholungsschutz geboten.
Der Wiederholungsschutz wird durch die Verwendung eines sich nicht wiederholenden Wertes (CCM-Nonce) im Paketschutzprozess und die Speicherung einiger Statusinformationen (ursprüngliches Gerät und der zuletzt von diesem Gerät empfangene CCM-Nonce-Zähler) bereitgestellt, was die Erkennung ermöglicht, ob dieser bestimmte CCM-Nonce-Wert zuvor vom ursprünglichen Gerät verwendet wurde. Darüber hinaus wird ein sogenannter Verzögerungsschutz zwischen den Geräten bereitgestellt, die über eine lose synchronisierte Uhr an Bord verfügen. Die akzeptable Zeitverzögerung kann paketweise angepasst werden und ermöglicht unterschiedliche Latenzen (um längere Latenzen in Paketen zu ermöglichen, die über einen Multi-Hop-Kommunikationspfad übertragen werden).
Kryptografischer Schutz kann einen zwischen zwei Peer-Geräten geteilten Schlüssel (Verbindungsschlüssel) oder einen unter einer Gruppe von Geräten geteilten Schlüssel (Gruppenschlüssel) verwenden, was eine gewisse Flexibilität und anwendungsspezifische Kompromisse zwischen Schlüsselspeicherung und Schlüsselwartungskosten gegenüber dem gebotenen kryptografischen Schutz ermöglicht. Wenn ein Gruppenschlüssel für die Peer-to-Peer-Kommunikation verwendet wird, wird Schutz nur gegen externe Geräte geboten und nicht gegen potenzielle böswillige Geräte in der Schlüsselteilungsgruppe.
Datenauthentizität kann unter Verwendung von auf symmetrischen Schlüsseln oder auf öffentlichen Schlüsseln basierenden Techniken bereitgestellt werden. Bei auf öffentlichen Schlüsseln basierenden Techniken (über Signaturen) bestätigt man Beweise für den eindeutigen Urheber übertragener Informationen, während bei auf symmetrischen Schlüsseln basierenden Techniken die Datenauthentizität nur relativ zu Geräten in einer Schlüsselteilungsgruppe bereitgestellt wird. Daher kann eine auf öffentlichen Schlüsseln basierende Authentifizierung in Szenarien nützlich sein, die eine feinkörnigere Authentifizierung erfordern, als sie mit auf symmetrischen Schlüsseln basierenden Authentifizierungstechniken allein bereitgestellt werden kann, wie z. B. bei Gruppenkommunikation (Broadcast, Multicast) oder in Szenarien, die eine Nichtabstreitbarkeit erfordern.