Seguridad en Redes LoRaWAN ™

Encriptación de punto a punto para las aplicaciones de IoT

Introducción

LoRaWAN ™     es un protocolo de red de área amplia de baja potencia (LPWAN) que admite comunicaciones bidireccionales seguras, móviles y de bajo costo para Internet de las cosas (IoT), máquina a máquina (M2M), ciudad inteligente e industrial.

El protocolo LoRaWAN ™ está optimizado para un bajo consumo de energía y está diseñado para admitir grandes redes con millones de dispositivos.

Las características innovadoras de LoRaWAN ™ incluyen soporte para operaciones redundantes, de geolocalización, de bajo costo y de bajo consumo.

Los dispositivos pueden incluso funcionar con tecnologías de captación de energía que permiten la movilidad y la facilidad de uso de IoT. Esto es muy importante como hemos mencionado en el artículo anterior para utilizar soluciones menos contaminantes al momento de no utilizar baterías y pilas recargables.

Como la seguridad es una necesidad fundamental en todas las aplicaciones mencionadas, se ha diseñado en la especificación LoRaWAN ™ desde el principio. Sin embargo, el tema de la seguridad abarca múltiples propiedades y, en particular, los mecanismos criptográficos utilizados para implementar la seguridad en LoRaWAN merecen una explicación cuidadosa. Este documento técnico tiene como objetivo presentar la seguridad de la especificación actual de LoRaWAN ™. Primero, presentaremos las propiedades de seguridad incorporadas en las especificaciones de LoRaWAN ™, luego los detalles de su implementación y finalmente algunas explicaciones sobre el diseño de seguridad de LoRaWAN ™. La seguridad de LoRaWAN está diseñada para ajustarse a los criterios generales de diseño de LoRaWAN ™: bajo consumo de energía, baja complejidad de implementación, bajo costo y alta escalabilidad.

A medida que los dispositivos se despliegan en el campo, por períodos largos de tiempo (años), la seguridad debe ser a prueba de cambios futuros. El diseño de seguridad de LoRaWAN se ajusta a los principios del estado del arte: uso de algoritmos estándar, bien examinados, y seguridad de punto a punto. Más adelante, describiremos las propiedades principales: autenticación mutua, protección de integridad y confidencialidad. Se establece autenticación mutua entre un dispositivo final LoRaWAN y la red LoRaWAN como parte del procedimiento de conexión a la red. Esto garantiza que solo los dispositivos auténticos y autorizados se unirán a redes auténticas y genuinas. La MAC LoRaWAN y los mensajes de la aplicación son autenticados desde su origen, su integridad es protegida, respuesta protegida y encriptada. Esta protección, combinada con la autenticación mutua, garantiza que el tráfico de la red no sea alterado, y que provenga de un dispositivo legítimo, y que los datos no sean comprensibles para los intrusos y sea capturado y reproducido fraudulentamente. La seguridad de LoRaWAN implementa además el encriptado de punto a punto para la aplicación en comunicaciones con aplicaciones en servidores o entre dispositivos.

LoRaWAN ™es una de las pocas redes de IoT que implementa el encriptado de extremo a extremo. En algunas redes celulares tradicionales, el tráfico se encripta a través de la interfaz aérea, pero se transporta como texto simple en la red central del operador. En consecuencia, los usuarios finales se sienten agobiados al seleccionar, implementar y administrar una capa de seguridad adicional (generalmente implementada por algún tipo de VPN o seguridad de encriptación de la capa de aplicación, como TLS).Este enfoque no es adecuado para las LPWAN donde las capas de seguridad superiores agregan un considerable consumo de energía adicional, complejidad y costo.

Implementación de la seguridad

Los mecanismos de seguridad mencionados anteriormente se basan en los algoritmos criptográficos AES1 los cuales son bien probados y estandarizados. Estos algoritmos han sido analizados por la comunidad criptográfica durante muchos años, están aprobados por el NIST y son tomados como la mejor práctica de seguridad para redes y nodos restringidos. La seguridad LoRaWAN utiliza la primitiva criptografía AES combinada con varios modos de operación: CMAC2 para protección de integridad y CTR3 para encriptación. Cada dispositivo LoRaWAN se personaliza con una clave AES de 128 bits (llamada AppKey) y un identificador único global (DevEUI basado en EUI-64), ambos se utilizan durante el proceso de autenticación del dispositivo. La asignación de identificadores EUI-64 requiere que el asignador  tenga un Identificador Único de la Organización (OUI) de la Autoridad de Registro IEEE. De manera similar, las redes LoRaWAN se identifican mediante un identificador único global de 24 bits asignado por LoRa Alliance ™.

Los datos de la aplicación LoRaWAN ™ siempre están cifradas de punto a punto entre el dispositivo final y el servidor de aplicaciones. La protección de integridad se proporciona en una naturaleza de salto por salto: un salto por el aire a través de la protección de integridad proporcionada por el protocolo LoRaWAN y el otro salto entre la red y el servidor de aplicaciones mediante el uso de soluciones de transporte seguro como HTTPS y VPN.

Autentificación mutua

La Activación por aire (a.k.a. Procedimiento de conexión) demuestra que tanto el dispositivo final como la red tienen el conocimiento de la AppKey. Esta prueba se realiza mediante el cálculo de un AES-MAC4 (usando la AppKey) en la solicitud de conexión del dispositivo y por el último receptor. Luego se derivan dos claves de sesión MUTUAL AUTHENTICATION, una para proporcionar protección de integridad y encriptación de los comandos MAC de LoRaWAN y la carga de la aplicación (la NwkSKey), y otra para la encriptación de punto a punto de la carga de la aplicación (la AppSKey). La NwkSKey se distribuye a la red LoRaWAN para probar / verificar la autenticidad de los paquetes y su integridad. La AppSKey se distribuye al servidor de aplicaciones para cifrar / descifrar la carga útil de la aplicación.AppKey y AppSKey se pueden ocultar del operador de red para que no pueda descifrar las cargas útiles de la aplicación.

Integridad de datos y protección

Todo el tráfico de LoRaWAN está protegido usando las dos claves de sesión. Cada carga útil (payload) está encriptada por AES-CTR y lleva un contador de cuadros (para evitar la reproducción del paquete) y un Código de integridad del mensaje (MIC) calculado con AES-CMAC (para evitar la manipulación indebida de paquetes). Vea al lado de la estructura de un paquete LoRaWAN y su protección:

Seguridad física de un dispositivo LoRaWAN

AppKey y las claves de las sesión se almacenan de forma persistente en un dispositivo LoRa Alliance ™ y su protección depende de la seguridad física del dispositivo. Si el dispositivo está sujeto a amenazas físicas, las claves se pueden proteger en un almacenamiento a prueba de manipulaciones (a.k.a. Secure Element), donde serán extremadamente difíciles de extraer.

Criptografía

Algunas fuentes afirman que la criptografía LoRaWAN ™ solo usa XOR y no AES. De hecho, como ya se mencionó, AES se usa en el modo CTR estandarizado que utiliza las operaciones criptográficas XOR (como muchos otros modos como CBC5). Esto fortalece el algoritmo AES mediante el uso de una clave AES única para cada cifrado de bloque.

Distribución de la llave (key) de sesión

Como AppSKey y NwkSKey se generan a partir de la misma AppKey, se podría argumentar que si el operador LoRaWAN tiene la AppKey, puede derivar la AppSKey y, por lo tanto, descifrar el tráfico. Para evitar esta situación, el servidor que gestiona el almacenamiento de AppKey, la autenticación mutua y la obtención de claves pueden ser ejecutadas por una entidad fuera del control del operador. Para dar a los operadores flexibilidad adicional, una versión futura de la especificación LoRaWAN (1.1) definira dos claves maestras independientes: una para la red (NwkKey) y otra para las aplicaciones (AppKey).

Seguridad de interfaces del lado servidor

Las interfaces de backend implican el control y señalización de datos entre los servidores de red y de las aplicaciones. Las tecnologías HTTPS y VPN se utilizan para asegurar la comunicación entre estos elementos críticos de la infraestructura, de manera muy similar a la que se realiza en cualquier otro sistema de telecomunicaciones.

 

 


Fuentes:

Esta nota fue publicada gracias a la autorización de LoRa Alliance™.

 

Gustavo Reimondo
Acerca de Gustavo Reimondo 29 Artículos
Gerente de Tecnología Humanizada. Coordinador del proyecto Realidad Empoderada. Un proyecto de realidad virtual para la concientización en una praxis solidaria. Miembro del grupo: "La familia de la calle", organización conformada por personas indigentes y no indigentes en una relación igualitaria. Coordinador de proyectos de Infraestructura Física de Telecomunicaciones. Experto en Robótica, Instrumentación & Control, IoT, Sensórica y sistemas microcontrolados.

Sé el primero en comentar

Dejá un Comentario

Tu dirección de correo no será publicada.


*