Die Sicherheit vom LoRaWAN
Für alle unterschiedlichen Endgeräte, wie zum Beispiel Temperatursensoren oder Schaltaktoren, wird in diesem Blog der Sammelbegriff «Gerät» verwendet.
Netzwerksicherheit
Der Netzwerkserver koordiniert die Kommunikation im LoRaWAN. Über Gateways werden Funktelegramme von Geräten empfangen und zum Applikationsserver weitergeleitet. Soll eine Nachricht vom Applikationsserver zu einem Gerät gesendet werden, übergibt der Applikationsserver die Nachricht an den Netzwerkserver. Dieser weiss dann, zu welchem Zeitpunkt ein Funktelegramm mit der Nachricht über welches Gateway gesendet werden muss, damit die Nachricht vom Gerät empfangen werden kann. Mehr dazu im Blog zu den verschiedenen Betriebsklassen vom LoRaWAN.
Ein in einer Anwendung implementiertes LoRaWAN-Gerät darf nicht unbemerkt durch ein anderes Gerät ausgetauscht werden können. Die Identität des implementierten LoRaWAN-Geräts muss sichergestellt werden. Sonst könnte ein Dritter mit falschen Daten von einem eigenen Gerät die Anwendung manipulieren.
Der Datenstrom einer Funkkommunikation zwischen einem Gerät und einem Gateway kann von einem Dritten mit entsprechender Ausrüstung aufgezeichnet werden. Dies kann nicht verhindert werden, da die Funkwellen frei zugänglich sind. Es muss somit sichergestellt werden, dass Dritte keine Anwendungsdaten aus dem Datenstrom rekonstruieren können. Auch eine Manipulation des Datenstroms muss vom LoRaWAN erkannt werden.
Werden Strassenlampen über ein LoRaWAN gesteuert, gibt es Funktelegramme zum Ein- und zum Ausschalten einer Lampe. Kann ein Dritter Funktelegramme aufzeichnen und auch wieder senden, kann er durch das Senden eines zuvor aufgezeichneten «Ausschalt-Funktelegramms» die Lampe jederzeit ausschalten. Dies wird als «Replay-Attacke» bezeichnet. Um dies zu verhindern muss sichergestellt werden, dass jedes Funktelegramm im LoRaWAN nur einmal gültig ist und nicht mehrere Male akzeptiert wird.
Wie schützt sich das LoRaWAN vor diesen Angriffen?
Um ein Gerät in einem LoRaWAN zu integrieren, muss eine sogenannte «Aktivierung» durchgeführt werden. Bei einer Over-the-Air-Aktivierung findet eine gegenseitige Authentifizierung zwischen Netzwerkserver und Gerät statt. Netzwerkserver und Gerät verwenden dazu eine AES-Verschlüsselung mit einem beiden Seiten bekannten Schlüssel. Ein Dritter kann somit keine Aktivierung eines Geräts durchführen, weil er den benötigten Schlüssel nicht kennt. Während dieser Aktivierung werden zusätzliche Schlüssel definiert, die dann für die Verschlüsselung der LoRaWAN-Nachrichten, während dem normalen Betrieb, verwendet werden.
In den LoRaWAN-Nachrichten ist ein Zähler integriert. Dieser wird bei jeder Nachricht erhöht. Der Netzwerkserver und auch das Gerät speichert jeweils den letzten Stand des Zählers ab. Neue Nachrichten werden nur akzeptiert, wenn der Zählerstand grösser als der zuletzt gespeicherte Zählerstand ist. Eine allenfalls von einem Dritten aufgezeichnete und erneut gesendete Nachricht (Replay-Attacke) wird somit nicht akzeptiert.
Um eine Manipulation einer Nachricht, zum Beispiel das verändern des Zählers, zu verhindern, wird jede Nachricht AES verschlüsselt. Ein Dritter kennt den Schlüssel nicht und kann somit die Nachricht nicht entschlüsseln, manipulieren und daraus eine korrekt verschlüsselte Nachricht erstellen.
Gateways, Netzwerkserver und Applikationsserver sind zudem über die im Internet üblichen HTTPS- und VPN-Technologien sicher verbunden.
Anwendungssicherheit
Oft wird das LoRaWAN (inkl. Netzwerkserver) von einem Dienstleister betrieben. Nur der Applikationsserver und die Geräte gehören dem eigenen Unternehmen. Damit der Netzwerkserver eine LoRaWAN-Kommunikation zum gewünschten Gerät übertragen kann, muss der Applikationsserver unter anderem die Geräteadresse dem Netzwerkserver mitteilen. Die zu übertragenden Anwendungsdaten sollen jedoch vom Netzwerkserver nicht gelesen werden können.
Um dies sicher zu stellen, werden die Anwendungsdaten zusätzlich verschlüsselt. Wiederum wird eine AES-Verschlüsselung verwendet. Die Anwendungsdaten bleiben somit vom Gerät bis zum Applikationsserver verschlüsselt. Netzwerkserver und Gateways können zwar die LoRaWAN-Nachricht weiterleiten, jedoch die Anwendungsdaten nicht entschlüsseln. Man spricht von einer End-zu-End-Verschlüsselung.
Benötigen Sie bei einer Anwendung die beschriebenen Sicherheitsmechanismen? Wir sind der ideale Partner für die Entwicklung von LoRaWAN-Geräten.
Ihre Ansprechperson
M. Nyffeler
Entwicklung
Elektrotechniker HF
T +41 41 494 07 05