Schwachstellen bei LoRaWan
Laut bestimmten Dokumenten des LoRa Consortiums nutzt LoRaWAN den Algorithmus AES 128 zur Verschlüsselung. Der französische Sicherheitsspezialist Renaud Lifchitz fand aber heraus, dass tatsächlich AES 128 lediglich zur Genese eines Streams von Schlüsseln benutzt wird, einem sogenannten „keystream“, der simplerweise mit den Daten geXORt wird. Das Ergebnis ist eine ziemlich suboptimale Verschlüsselung, die von jedem mit genügend Know-How und entsprechendem Willen entschlüsselt werden kann. Und es gibt noch mehr Schwachstellen...
Laut bestimmten Dokumenten des LoRa Consortiums nutzt LoRaWAN den Algorithmus AES 128 zur Verschlüsselung. Der französische Sicherheitsspezialist Renaud Lifchitz fand aber heraus, dass tatsächlich AES 128 lediglich zur Genese eines Streams von Schlüsseln benutzt wird, einem sogenannten „keystream“, der simplerweise mit den Daten geXORt wird. Das Ergebnis ist eine ziemlich suboptimale Verschlüsselung, die von jedem mit genügend Know-How und entsprechendem Willen entschlüsselt werden kann. Und es gibt noch mehr Schwachstellen...
XORing Von Daten und Schlüssel erzeugt Daten, die genau so lang sind wie die originalen Daten, was schon einmal der erste nützliche Hinweis für Hacker darstellt. Außerdem wird der Keystream bei jedem Session-Start reinitialisiert und könnte zu einem vorhergegangenen Keystream identisch sein, was in diesem Fall das erneute Senden alter Messages möglich machen würde. Doch das XORing von Messages, die mit dem gleichen Keystream verschlüsselt wurden, erlaubt dann die zumindest teilweise Dekodierung beider Messages. Und wenn erst der Inhalt einer Message bekannt ist, kann man auch den verwendeten Keystream extrahieren, womit dann die anderen Messages dekodierbar sind.
Eine weitere Schwachstelle liegt im Prozess der Identifikation und Verbindung. Jedes Gateway schickt periodisch seine ID zum Server. Wenn die ID bekannt ist – und das ist nicht so schwer herauszufinden – kann ein reales Gateway von einem bösartigen Gateway weggedrückt und überfahren werden, indem es diese ID einfach mit höherer Frequenz zum Server sendet.
Diese wichtigste Schwachstelle betrifft aber die Hardware, mit LoRa zur Kommunikation nutzt. Meist handelt es sich um einfachste Systeme mit ungeschütztem Speiche, offenen Debug-Ports und einfachen AES-Implementierungen, die sich einfach kompromittieren lassen. Und ein System ist bekanntlich nur so gut wie das schwächste Glied in der Kette.
Nebenbei: LoRas Wettbewerber Sigfox ist auch nicht viel sicherer.
XORing Von Daten und Schlüssel erzeugt Daten, die genau so lang sind wie die originalen Daten, was schon einmal der erste nützliche Hinweis für Hacker darstellt. Außerdem wird der Keystream bei jedem Session-Start reinitialisiert und könnte zu einem vorhergegangenen Keystream identisch sein, was in diesem Fall das erneute Senden alter Messages möglich machen würde. Doch das XORing von Messages, die mit dem gleichen Keystream verschlüsselt wurden, erlaubt dann die zumindest teilweise Dekodierung beider Messages. Und wenn erst der Inhalt einer Message bekannt ist, kann man auch den verwendeten Keystream extrahieren, womit dann die anderen Messages dekodierbar sind.
Eine weitere Schwachstelle liegt im Prozess der Identifikation und Verbindung. Jedes Gateway schickt periodisch seine ID zum Server. Wenn die ID bekannt ist – und das ist nicht so schwer herauszufinden – kann ein reales Gateway von einem bösartigen Gateway weggedrückt und überfahren werden, indem es diese ID einfach mit höherer Frequenz zum Server sendet.
Diese wichtigste Schwachstelle betrifft aber die Hardware, mit LoRa zur Kommunikation nutzt. Meist handelt es sich um einfachste Systeme mit ungeschütztem Speiche, offenen Debug-Ports und einfachen AES-Implementierungen, die sich einfach kompromittieren lassen. Und ein System ist bekanntlich nur so gut wie das schwächste Glied in der Kette.
Nebenbei: LoRas Wettbewerber Sigfox ist auch nicht viel sicherer.