LoRaWAN Security
LoRaWAN es un protocolo de red de largo alcance y sin embargo de baja potencia (baja potencia, área amplia - LPWA) diseñado para conectar de forma inalámbrica dispositivos alimentados por batería a Internet local o global y proporcionar requisitos clave para Internet de las cosas (IoT - Internet de las cosas) como comunicación bidireccional, seguridad de conexión, movilidad, etc.
La seguridad es una prioridad para cualquier desarrollo de IoT. La especificación LoRaWAN define dos niveles de protección criptográfica:
- una clave de sesión de red única de 128 bits compartida entre el dispositivo terminal y el servidor de red;
- clave de sesión de aplicación exclusiva de 128 bits (AppSKey - Clave de sesión de aplicación) común de extremo a extremo a nivel de aplicación.
Los algoritmos AES se utilizan para proporcionar autenticación e integridad de paquetes en un servidor de red y para el cifrado de extremo a extremo en el nivel del servidor de aplicaciones. Proporcionar estos dos niveles le permite implementar redes compartidas de múltiples inquilinos, donde el operador de red no tiene la capacidad de ver los datos de carga útil del usuario.
Las claves se pueden activar a través de la personalización (ABP - Activado por personalización) en la línea de producción o durante la puesta en marcha, o se pueden activar a través de una red (OTAA - Activado por aire) en el campo. El método de activación OTAA permite que el dispositivo cambie las claves según sea necesario.
Preguntas frecuentes de seguridad
¿Dónde se describen los mecanismos de seguridad del protocolo LoRaWAN?
Todos los mecanismos de protección se describen en las especificaciones de LoRa Alliance, que se pueden descargar desde su sitio web. Por el momento, puede descargar la versión 1.0.xy estas respuestas se basan en ella. En desarrollo está la versión 1.1.
¿Cómo asegura la especificación LoRa Alliance las redes LoRaWAN?
LoRaWAN admite autenticación original, integridad y protección de reproducción en todo el marco MAC (Control de acceso a medios). También permite el cifrado de extremo a extremo de la carga útil de la aplicación entre el terminal y su respuesta en el lado de la red (llamado servidor de aplicaciones en la versión 1.1). LoRaWAN admite un modo de operación que le permite encriptar comandos MAC.
Todos estos procedimientos se basan en el Estándar de cifrado avanzado AES y utilizan claves y algoritmos criptográficos de 128 bits.
¿Hay alguna diferencia entre los modos ABP y OTAA en términos de seguridad de la información?
LoRaWAN utiliza claves raíz estáticas y claves de sesión generadas dinámicamente.
Las claves de raíz se proporcionan solo en dispositivos OTAA. Se utilizan para obtener claves de sesión cuando el terminal OTAA realiza el Procedimiento de unión. Un dispositivo terminal en modo OTAA, cuando se instala en el campo, puede conectarse a cualquier red que tenga una salida a un servidor clave (en la Versión 1.1, Unirse a un servidor) con el que está conectado el dispositivo terminal. Las claves de sesión obtenidas de esta manera ya son utilizadas por los dispositivos terminales para proteger el tráfico aéreo.
Los dispositivos ABP no usan claves raíz. En cambio, se les proporciona un conjunto de claves de sesión para una red preseleccionada. Las claves de sesión permanecen sin cambios durante la vida útil del dispositivo ABP.
La capacidad de cambiar las claves de sesión hace que los dispositivos OTAA sean más adecuados para aplicaciones que requieren un mayor nivel de seguridad.
¿Cuál es la identidad de LoRaWAN?
Cada dispositivo terminal se identifica mediante un número único global de 64 bits (EUI - Identificador único extendido), que es asignado por el fabricante o por el propietario del dispositivo terminal. La asignación de números EUI requiere que el cedente tenga un OUI (Identificador Único Organizacional) único de la autoridad de registro IEEE.
Cada servidor Join que usa autenticación de terminal también se identifica mediante un EUI global de 64 bits, que es asignado por el propietario u operador de este servidor.
Las redes LoRaWAN abiertas y las redes privadas que "se comunican" con LoRaWAN abiertas se identifican mediante un identificador único de 24 bits asignado por LoRa Alliance.
Cuando el dispositivo terminal se ha conectado con éxito a la red, recibe la dirección temporal de 32 bits asignada por la red.
¿Puedo asignar números a mis dispositivos o redes al azar?
No La pregunta anterior describía las reglas de asignación para cada tipo de identificador. Si no sigue estas reglas, puede haber una coincidencia de números y un comportamiento impredecible durante el despliegue de su red (similar a lo que podría suceder si usa las mismas direcciones MAC Ethernet en diferentes dispositivos conectados a la misma LAN).
¿Todos los dispositivos terminales que están fuera de producción tienen la misma clave criptográfica "predeterminada"?
No LoRaWAN no tiene el concepto de una "clave predeterminada" o una "contraseña predeterminada". Todos los dispositivos terminales tienen claves únicas, incluso a la salida de la producción. Por lo tanto, una sola clave comprometida de un dispositivo terminal no afectará a otros dispositivos de ninguna manera.
¿Qué tipo de claves criptográficas se utilizan?
Los puntos finales de OTAA tienen claves raíz llamadas AppKeys (claves de raíz de aplicación). En el lado de la red, las claves de AppKey se encuentran en el servidor Join, que puede o no ser un servidor de red al mismo tiempo.
Los puntos finales ABP tienen dos claves de sesión AppSKey y NwkSKey (clave de sesión de red). En el lado de la red, NwkSKey se encuentra en el servidor de red y AppSKey en el servidor de aplicaciones.
Los procedimientos utilizados para proporcionar las claves enumeradas con todos los elementos de red requeridos (dispositivo terminal, servidor de unión, servidor de red, servidor de aplicaciones) están fuera del alcance de la especificación LoRaWAN.
¿Qué algoritmos de criptografía se usan?
El algoritmo AES-CMAC descrito en RFC4493 se utiliza para la autenticación original y la protección de integridad. El algoritmo AES-CCM descrito en IEEE 802.15.4-2011 se utiliza para el cifrado.
¿Cómo le impide LoRaWAN escuchar?
Los datos MAC se cifran entre el dispositivo terminal y la red en el momento de la transmisión por el aire. Además, la carga útil se cifra entre el dispositivo terminal y el servidor de aplicaciones (el llamado cifrado de extremo a extremo). Esto garantiza que solo los objetos autorizados que contengan claves de cifrado puedan acceder al contenido del paquete.
¿Cómo evita LoRaWAN la suplantación de datos?
La integridad y la autenticación de los datos MAC están protegidas por el campo del paquete, que contiene el código del Código de integridad de mensajes (MIC) conocido por el dispositivo terminal y la red. Esto garantiza que solo los objetos autorizados que contengan claves de integridad (es decir, dispositivo terminal y servidor de red) puedan generar mensajes válidos.
¿Cómo desalienta LoRaWAN las retransmisiones?
La protección de integridad de datos MAC utiliza contadores de mensajes para garantizar que el destinatario no acepte un mensaje ya recibido (es decir, potencialmente retransmitido).
¿LoRaWAN admite la protección de la carga útil de la aplicación?
LoRaWAN proporciona cifrado de carga útil de aplicaciones de extremo a extremo entre el dispositivo terminal y el servidor de aplicaciones. La protección de integridad se proporciona en su estructura de salto por salto: un salto por aire a través de la protección de integridad LoRaWAN y otro salto entre el servidor de red y el servidor de aplicaciones utilizando tecnologías de transmisión seguras como HTTPS y VPN. Se alienta a las aplicaciones que requieren protección de integridad de extremo a extremo a hacer lo mismo con su carga útil.
¿Cómo se protegen las interfaces de back-end?
Las interfaces de back-end están involucradas en la gestión e intercambio de datos entre servidores de red, servidores de unión y servidores de aplicaciones. Se recomiendan las tecnologías HTTPS y VPN para proteger el intercambio de datos entre estos elementos críticos de la infraestructura, en la misma medida en que se implementa en otros sistemas de telecomunicaciones. Las interfaces de back-end están fuera del alcance de la especificación LoRaWAN.
¿LoRaWAN admite protección de hardware?
Mejorar la seguridad de los dispositivos terminales y las plataformas del servidor en términos de hardware (elementos de seguridad o módulos de seguridad) se refiere a problemas de implementación de equipos y no está relacionado con la interoperabilidad de protocolos dirigida a la calidad de la comunicación, incluido LoRaWAN. Sin embargo, el uso de tales soluciones técnicas es compatible con la especificación LoRaWAN y puede ser implementado por el desarrollador de acuerdo con los requisitos de la aplicación.
¿Qué debo hacer si encuentro un riesgo de seguridad?
En general, un riesgo de seguridad puede surgir por una de tres razones, o combinaciones de las mismas:
- especificación (por ejemplo, falta de protección contra repeticiones),
- implementación (por ejemplo, extraer una clave de un dispositivo),
- Despliegue (por ejemplo, la falta de pantallas protectoras).
El primer paso es establecer la causa. Si el motivo está en la especificación, escriba ayuda en LoRa Alliance para enviar por correo. Para preguntas sobre la venta de equipos, comuníquese con el fabricante.
Y los problemas de implementación son decididos por los operadores de red LoRaWAN.
Fuente