Sécurité LoRaWAN
LoRaWAN est un protocole réseau à longue portée et pourtant de faible puissance (Low Power, Wide Area - LPWA) conçu pour connecter sans fil des appareils alimentés par batterie à Internet local ou mondial et fournir des exigences clés pour l'Internet des objets (IoT - Internet des objets) telles que communication bidirectionnelle, sécurité des connexions, mobilité, etc.
La sécurité est une priorité absolue pour tout développement IoT. La spécification LoRaWAN définit deux niveaux de protection cryptographique:
- une clé de session réseau 128 bits unique partagée entre le terminal et le serveur réseau;
- clé de session d'application 128 bits unique (AppSKey - Application Session Key) commune de bout en bout au niveau de l'application.
Les algorithmes AES sont utilisĂ©s pour fournir l'authentification et l'intĂ©gritĂ© des paquets dans un serveur rĂ©seau et pour le chiffrement de bout en bout au niveau du serveur d'applications. La fourniture de ces deux niveaux vous permet d'implĂ©menter des rĂ©seaux partagĂ©s multi-locataires, oĂč l'opĂ©rateur rĂ©seau n'a pas la possibilitĂ© de voir les donnĂ©es de charge utile des utilisateurs.
Les clĂ©s peuvent ĂȘtre activĂ©es via la personnalisation (ABP - Activated By Personalization) sur la ligne de production ou lors de la mise en service, ou peuvent ĂȘtre activĂ©es via un rĂ©seau (OTAA - Over-The-Air Activated) sur le terrain. La mĂ©thode d'activation OTAA permet Ă l'appareil de changer les clĂ©s selon les besoins.
FAQ sur la sécurité
OĂč sont dĂ©crits les mĂ©canismes de sĂ©curitĂ© du protocole LoRaWAN?
Tous les mĂ©canismes de protection sont dĂ©crits dans les spĂ©cifications de la LoRa Alliance, qui peuvent ĂȘtre tĂ©lĂ©chargĂ©es Ă partir de leur site Web. Pour le moment, vous pouvez tĂ©lĂ©charger la version 1.0.x et ces rĂ©ponses sont basĂ©es sur celle-ci. La version 1.1 est en cours de dĂ©veloppement.
Comment la spécification LoRa Alliance sécurise-t-elle les réseaux LoRaWAN?
LoRaWAN prend en charge l'authentification d'origine, l'intégrité et la protection contre la relecture sur l'ensemble de la trame MAC (Media Access Control). Il permet également le chiffrement de bout en bout de la charge utile de l'application entre le terminal et sa réponse cÎté réseau (appelé serveur d'applications dans la version 1.1). LoRaWAN prend en charge un mode de fonctionnement qui vous permet de crypter les commandes MAC.
Toutes ces procédures reposent sur la norme de chiffrement avancé AES et utilisent des clés et des algorithmes cryptographiques à 128 bits.
Existe-t-il des différences entre les modes ABP et OTAA en termes de sécurité de l'information?
LoRaWAN utilise des clés racine statiques et des clés de session générées dynamiquement.
Les clés racine sont fournies uniquement dans les appareils OTAA. Ils sont utilisés pour obtenir des clés de session lorsque le terminal OTAA exécute la procédure de jointure. Un terminal en mode OTAA, lorsqu'il est installé sur le terrain, peut se connecter à n'importe quel réseau qui a une sortie vers un serveur clé (dans la version 1.1, Rejoindre un serveur) avec lequel le terminal est connecté. Les clés de session ainsi obtenues sont déjà utilisées par les terminaux pour protéger le trafic aérien.
Les appareils ABP n'utilisent pas de clés racine. Au lieu de cela, ils sont fournis avec un ensemble de clés de session pour un réseau présélectionné. Les clés de session restent inchangées pendant toute la durée de vie du périphérique ABP.
La possibilité de modifier les clés de session rend les appareils OTAA plus adaptés aux applications nécessitant un niveau de sécurité plus élevé.
Quelle est l'identité de LoRaWAN?
Chaque terminal est identifiĂ© par un numĂ©ro unique global 64 bits (EUI - Extended Unique Identifier), attribuĂ© soit par le fabricant, soit par le propriĂ©taire du terminal. L'attribution de numĂ©ros EUI nĂ©cessite que le cĂ©dant ait un OUI unique (Organizationally Unique Identifier) ââde l'autoritĂ© d'enregistrement IEEE.
Chaque serveur Join qui utilise l'authentification de terminal est également identifié par un EUI global 64 bits, attribué par le propriétaire ou l'opérateur de ce serveur.
Les réseaux LoRaWAN ouverts et les réseaux privés qui «communiquent» avec les LoRaWAN ouverts sont identifiés par un identifiant unique de 24 bits attribué par la LoRa Alliance.
Lorsque le terminal est correctement connecté au réseau, il reçoit l'adresse temporaire 32 bits attribuée par le réseau.
Puis-je attribuer des numéros à mes appareils ou réseaux de maniÚre aléatoire?
Non. La question prĂ©cĂ©dente dĂ©crit les rĂšgles d'affectation pour chaque type d'identifiant. Si vous ne suivez pas ces rĂšgles, il peut y avoir une coĂŻncidence de nombres et un comportement imprĂ©visible pendant le dĂ©ploiement de votre rĂ©seau (similaire Ă ce qui pourrait se produire si vous utilisez les mĂȘmes adresses MAC Ethernet sur diffĂ©rents appareils connectĂ©s au mĂȘme LAN).
Tous les terminaux qui ne sont plus en production ont-ils la mĂȘme clĂ© cryptographique «par dĂ©faut»?
Non. LoRaWAN n'a pas le concept de «clĂ© par dĂ©faut» ou de «mot de passe par dĂ©faut». Tous les terminaux ont des clĂ©s uniques, mĂȘme en sortie de production. Ainsi, une seule clĂ© compromise d'un pĂ©riphĂ©rique terminal n'affectera en aucun cas les autres pĂ©riphĂ©riques.
Quel type de clés cryptographiques sont utilisées?
Les points de terminaison OTAA ont des clĂ©s racine appelĂ©es AppKeys (Application Root Keys). CĂŽtĂ© rĂ©seau, les clĂ©s AppKey se trouvent sur le serveur Join, qui peut ĂȘtre ou non un serveur rĂ©seau en mĂȘme temps.
Les points de terminaison ABP ont deux clés de session AppSKey et NwkSKey (Network Session Key). CÎté réseau, NwkSKey est situé sur le serveur réseau et AppSKey sur le serveur d'applications.
Les procédures utilisées pour fournir aux clés répertoriées tous les éléments de réseau requis (périphérique terminal, serveur Join, serveur réseau, serveur d'applications) n'entrent pas dans le cadre de la spécification LoRaWAN.
Quels algorithmes de cryptographie sont utilisés?
L'algorithme AES-CMAC décrit dans la RFC4493 est utilisé pour l'authentification d'origine et la protection de l'intégrité. L'algorithme AES-CCM décrit dans IEEE 802.15.4-2011 est utilisé pour le chiffrement.
Comment LoRaWAN vous empĂȘche-t-il d'Ă©couter?
Les données MAC sont cryptées entre le terminal et le réseau au moment de la transmission par voie hertzienne. De plus, la charge utile est cryptée entre le terminal et le serveur d'applications (ce que l'on appelle le cryptage de bout en bout). Cela garantit que seuls les objets autorisés contenant des clés de chiffrement peuvent accéder au contenu du paquet.
Comment LoRaWAN empĂȘche-t-il l'usurpation de donnĂ©es?
L'intégrité et l'authentification des données MAC sont protégées par le champ paquet, qui contient le code MIC (Message Integrity Code) connu du terminal et du réseau. Cela garantit que seuls les objets autorisés qui contiennent des clés d'intégrité (c'est-à -dire le terminal et le serveur réseau) peuvent générer des messages valides.
Comment LoRaWAN décourage-t-il les retransmissions?
La protection de l'intégrité des données MAC utilise des compteurs de messages pour garantir que le destinataire n'accepte pas un message déjà reçu (c'est-à -dire potentiellement retransmis).
LoRaWAN prend-il en charge la protection de la charge utile des applications?
LoRaWAN assure le chiffrement de la charge utile des applications de bout en bout entre le terminal et le serveur d'applications. La protection de l'intĂ©gritĂ© est assurĂ©e dans sa structure bond par bond: un bond en direct via la protection de l'intĂ©gritĂ© LoRaWAN et un autre bond entre le serveur rĂ©seau et le serveur d'applications Ă l'aide de technologies de transmission sĂ©curisĂ©es telles que HTTPS et VPN. Les applications nĂ©cessitant une protection de l'intĂ©gritĂ© de bout en bout sont encouragĂ©es Ă faire de mĂȘme avec leur charge utile.
Comment les interfaces backend sont-elles protégées?
Les interfaces dorsales sont impliquĂ©es dans la gestion et l'Ă©change de donnĂ©es entre les serveurs rĂ©seau, les serveurs Join et les serveurs d'applications. Les technologies HTTPS et VPN sont recommandĂ©es pour protĂ©ger l'Ă©change de donnĂ©es entre ces Ă©lĂ©ments d'infrastructure critiques, dans la mĂȘme mesure qu'elle est mise en Ćuvre dans d'autres systĂšmes de tĂ©lĂ©communications. Les interfaces dorsales n'entrent pas dans le cadre de la spĂ©cification LoRaWAN.
LoRaWAN prend-il en charge la protection matérielle?
L'amĂ©lioration de la sĂ©curitĂ© des terminaux et des plates-formes de serveurs en termes de matĂ©riel (Ă©lĂ©ments de sĂ©curitĂ© ou modules de sĂ©curitĂ©) fait rĂ©fĂ©rence Ă des problĂšmes de mise en Ćuvre des Ă©quipements et n'est pas liĂ©e Ă l'interopĂ©rabilitĂ© des protocoles visant la qualitĂ© de la communication, notamment LoRaWAN. Cependant, l'utilisation de ces solutions techniques est compatible avec la spĂ©cification LoRaWAN et peut ĂȘtre mise en Ćuvre par le dĂ©veloppeur conformĂ©ment aux exigences de l'application.
Que dois-je faire si je découvre un risque pour la sécurité?
En général, un risque pour la sécurité peut survenir pour l'une des trois raisons, ou leurs combinaisons:
- spécification (par exemple, manque de protection contre les répétitions),
- l'implémentation (par exemple, extraire une clé d'un appareil),
- Déploiement (par exemple, le manque d'écrans de protection).
La premiÚre étape consiste à établir la cause. Si la raison se trouve dans la spécification, écrivez l'aide dans la LoRa Alliance pour l'envoyer. Pour toute question concernant la vente d'équipement, contactez le fabricant.
Et les problÚmes de déploiement sont décidés par les opérateurs de réseau LoRaWAN.
Source