LoRa (Long Range) is een draadloze communicatietechnologie die is ontworpen voor langeafstands- en laagvermogenstransmissie. Het wordt vaak gebruikt in IoT (Internet of Things)-toepassingen om apparaten over lange afstanden met een minimaal energieverbruik te verbinden.
LoRa beschermt gegevens via meerdere beveiligingsmechanismen, waaronder end-to-end encryptie en apparaatauthenticatie. De gegevens van elk apparaat worden versleuteld met unieke sleutels, wat vertrouwelijkheid garandeert. Het LoRaWAN-netwerk biedt extra bescherming door het gebruik van beveiligde sleutels voor apparaatauthenticatie, waardoor ongeautoriseerde toegang wordt voorkomen. Deze encryptie zorgt ervoor dat alleen geautoriseerde apparaten met het netwerk kunnen communiceren, waardoor gevoelige gegevens tijdens het gehele transmissieproces worden beveiligd.
Sensor - Cloud communicatieproces
LoRa anti-spoofing
1. Unieke Device EUI (DevEUI)
Elke LoRa-sensor wordt geleverd met een wereldwijd unieke identificatiecode, de DevEUI (Device Extended Unique Identifier), meestal een 64-bits waarde die uniek is voor elk apparaat.
Deze identificatie wordt toegewezen door de fabrikant en geregistreerd bij de LoRa Alliance, wat betekent dat elk apparaat een uniek serienummer heeft dat wereldwijd wordt erkend.
Omdat de DevEUI uniek is, kan de netwerkserver apparaten onderscheiden en verifiëren dat het verzonden bericht inderdaad van het juiste apparaat afkomstig is.
2. Apparatenauthenticatie via AppKey en Join-procedure
In LoRaWAN wordt het apparaat geauthenticeerd wanneer het verbinding maakt met het netwerk via een proces genaamd Over-the-Air Activation (OTAA). Tijdens dit proces gebruikt het apparaat een AppKey (Application Key), die zowel bij de sensor als bij de netwerkserver bekend is.
Wanneer een sensor verbinding maakt, genereert het sessiesleutels via een authenticatiewissel met de netwerkserver. Dit zorgt ervoor dat alleen apparaten met de juiste sleutel toegang krijgen.
3. Encryptie met AppSKey en NwkSKey
LoRaWAN gebruikt AES-128 encryptie met twee sessiesleutels: de AppSKey (voor payload-encryptie) en de NwkSKey (voor netwerkcommunicatie). Beide sleutels worden uniek per apparaat gegenereerd en voorkomen dat derden berichten kunnen ontcijferen of namaken.
Aangezien deze sleutels uniek zijn voor elk apparaat en worden afgeleid van de geheime AppKey, kunnen alleen legitieme apparaten data en berichten ondertekenen en verzenden.
De AppSKey wordt gebruikt om de payloadgegevens te versleutelen, zodat alleen de serverapplicatie (en niet de gateway of netwerkserver) de payload kan decoderen. Dit garandeert de privacy van de gegevens, zelfs als het netwerk zelf niet volledig vertrouwd wordt.
De NwkSKey beveiligt de communicatie op netwerklaag, waardoor berichten die via de LoRaWAN-gateway naar de netwerkserver worden verzonden niet kunnen worden gewijzigd. Deze sleutel wordt gebruikt voor authenticatie en berichtintegriteit.
Sensor - Cloud - Gegevensverrijking
Hoe veilig is communicatie via LoRa-apparaten?
1. LoRa gateway
Een LoRa gateway is een netwerkapparaat dat draadloze communicatie via het LoRaWAN-protocol ondersteunt. Het ontvangt signalen van LoRa-sensoren en stuurt deze via een internetverbinding naar een centrale server (de LoRa-netwerkprovider). LoRa-gateways worden vaak gebruikt in IoT-toepassingen vanwege hun lange bereik en laag energieverbruik.
Een LoRa gateway lijkt op een WiFi-router doordat beide apparaten signalen van draadloze apparaten ontvangen en doorsturen naar een netwerk. Het verschil is dat een LoRa gateway werkt met LoRaWAN (lage bandbreedte, lange afstand) en ontworpen is voor IoT-sensoren, terwijl een WiFi-router hoge bandbreedte biedt voor internetgebruik op korte afstand. Bovendien ondersteunt een LoRa gateway duizenden apparaten binnen een groot gebied, terwijl een WiFi-router een beperkter aantal apparaten binnen een kleiner bereik bedient.
In de WMS-implementatie wordt de rol van de LoRa-netwerkprovider ingevuld door TTN (The Things Network - gevestigd in Nederland) en wordt de internetverbinding tot stand gebracht via een 4G SIM-kaart, waardoor de gegevensoverdracht via het mobiele netwerk plaatsvindt. In dit voorbeeld beschouwen we de Pico Gateway (LAN, Cellular) installatie.
Belemmeringen om toegang tot de gateway te verkrijgen
LoRa-gateways zijn geïnstalleerd op klantlocaties. Daarom is toegang tot gebouwen vereist om toegang tot de gateways te krijgen. Dit vormt een eerste barrière.
Toegang tot een gateway verkrijgen met de bedoeling gegevens te stelen of om te leiden wordt beschouwd als (fysieke) inbraak en hacking en is strafbaar. Dit vormt een tweede barrière.
-
Na het verkrijgen van fysieke toegang tot het apparaat: Het wachtwoord van het apparaat staat vaak op de achterkant van het apparaat en dit wachtwoord wordt vaak niet gewijzigd. Op verzoek van de klant kunnen de wachtwoorden van de gateways worden gewijzigd en kan de sticker aan de achterkant worden verwijderd. Het is echter belangrijk op te merken dat:
Het de nodige IT-kennis vereist om toegang te krijgen tot de configuratie-interface van de gateway: men moet verbonden zijn met de kabel, het IP-adres van de laptop moet worden aangepast, enzovoort.
Toegang tot de configuratie-interface van de gateway stelt een gebruiker in staat om de gateway verkeerd te configureren, bijvoorbeeld door een ander “serveradres” in te voeren. Vanaf dat moment worden er geen gegevens meer doorgestuurd naar de IoT-cloud, waardoor het effect vergelijkbaar is met het uitschakelen van de gateway. Aangezien dit de gegevenscommunicatie naar de Spacewell-cloud beïnvloedt, wordt dit opgemerkt door de veranderende / verslechterende sensorconnectiviteitsstatus.
In extreme gevallen zou men ook een rogue firmware-update kunnen uitvoeren op de gateways om de verzamelde gegevens direct te onderscheppen. Echter, een hacker kan ook zijn eigen LoRa-gateway aanschaffen of andere apparatuur gebruiken om gegevens op de 868 MHz LoRa-frequentieband te onderscheppen en hetzelfde resultaat bereiken. Dit is ook de reden waarom een gateway-wachtwoord geen relevante bescherming biedt om gegevensonderschepping te voorkomen.
De logs die beschikbaar zijn op de gateway bevatten alleen informatie zoals signaalsterkte, SNR (signaal-ruisverhouding), een tijdstempel, de uplink-frequentie en dergelijke. Er worden geen kritieke gegevens opgeslagen, dus gateway-logs geven geen inzicht in Device IDs, applicatienamen, LoRa-adressen of sensormetingen.
2. LoRa sensor
Zelfs als een hacker de gegevens tussen de sensor en de gateway zou kunnen onderscheppen (door de gateway over te nemen of door een ander apparaat te laten meeluisteren), is het belangrijk te beseffen dat, zoals genoemd in Hoe LoRa uw gegevens beschermt | 3. Encryptie met AppSKey en NwkSKey, een LoRaWAN-bericht tweemaal versleuteld is dankzij het gebruik van twee verschillende lagen encryptie
Encryptie op netwerkniveau (AES-128): Dit beschermt de communicatie tussen de sensor en de netwerkserver (TTN). Het stelt de netwerkserver in staat te verifiëren dat het bericht van een geldig apparaat afkomstig is en niet is gewijzigd.
Encryptie op applicatieniveau (AES-128): Deze laag versleutelt de daadwerkelijke payload van het bericht (= de gemeten bezetting). Alleen de applicatieserver (= de Spacewell-cloud) kan deze gegevens ontsleutelen met de AppSKey (Application Session Key). Dit betekent dat zelfs de netwerkserver (TTN) geen toegang heeft tot de inhoud van de payload.
LoRa-gateways fungeren alleen als doorgeefluik en slaan geen gebruikers- of payloadgegevens op. Dit betekent dat een gecompromitteerde gateway geen toegang geeft tot kritieke gegevens of encryptiesleutels.
Als een hacker een onderschept bericht wil ontsleutelen dat met twee AES-128-sleutels is versleuteld, zou het 158 miljoen jaar (!!) duren om het bericht te ontcijferen met de huidige algemene rekenkracht van een computer. En dit geldt voor elk afzonderlijk verzonden bericht.
Zelfs als het bericht zou worden ontsleuteld, zouden de gegevens nog steeds vrijwel irrelevant zijn: De door de sensor verzonden gegevens bestaan voornamelijk uit de gemeten bezetting (0 of 1), een tijdstempel en het apparaat-ID. Om iets met die gegevens te kunnen doen, moet men weten welk apparaat-ID is gekoppeld aan welke werkplek (of vergaderruimte). Om deze informatie te verkrijgen, moet men elke sensor afzonderlijk inspecteren of toegang hebben tot de back-end van het Spacewell-platform (waar apparaat-ID's aan een locatie zijn gekoppeld).
LoRa-technologie maakt het moeilijk om gegevens te onderscheppen
Zoals hierboven beschreven: fysiek onderscheppen en ontsleutelen van LoRa-berichten is vrijwel onmogelijk. Daarnaast biedt LoRa ook mechanismen die intrinsiek zijn aan de technologie en het moeilijk maken om gegevens te onderscheppen.
Langeafstandsprotocol maar met beperkingen: LoRa werkt in een ongecontroleerde frequentieband (868 MHz in Europa), maar de laagvermogen- en lagebandbreedtekenmerken van LoRa beperken de mogelijkheid tot grootschalige onderschepping en manipulatie.
Spread Spectrum-technologie: LoRa gebruikt Chirp Spread Spectrum (CSS), waardoor signalen zeer moeilijk te onderscheiden zijn van achtergrondruis. Dit bemoeilijkt pogingen tot onderschepping of verstoring.
LoRaWAN gebruikt frame-tellers in uplink- en downlink-berichten. Dit voorkomt dat onderschepte en opnieuw verzonden berichten (replay attacks) worden geaccepteerd door het netwerk of de applicatieserver.