Seguridad en redes LoraWAN (Parte I)

LoRAWAN es una especificación técnica de una red LPWAN (Low Power Wide Area Network) propuesta por la Lora Alliance. Esta red nace para cubrir la necesidad de comunicar dispositivos IoT o M2M, de bajo coste y bajo consumo energético a grandes distancias (aproximádamente 10Km) y que necesidad de transmitir poca cantidad de información.

internet-of-things-blog-image

 

Uno de sus principales precursores es Orange quien comenzó su proyecto IoT en 2011 para estudiar el potencial de conectividad de esos objetos, los sistemas radio, etc. Una red de prueba en Grenoble ha convencido plenamente a los desarrolladores de Orange de adoptar la tecnología LoRa.

Métodos de acceso a una red LoRaWAN.

Los dispositivos de la red LoRaWAN puede unirse a la red mediante dos métodos:

  • ABP: Activation by Personalization (ABP). En este método de acceso a la red, tanto las claves de sesión como la dirección física del nodo (DevAddr) son conocidas tanto por el nodo como por el servidor. Es la forma más rápida de comenzar a trabajar en la red ya que el dispositivo se entrega pre-configurado con los riesgos que eso entraña y que veremos más adelante.
  • OTAA: Over-the-Air-Activation. En este método, el nodo y el servidor negocian las claves de cifrado a través del interface aire-aire en el momento el nodo se conecta a la red. El dispositivo trata de activarse nada más encenderse enviando un “join request” a la red, espeando una respuesta del tipo “join accept“.

En ambos casos las claves utilizadas deben ser almacenadas para su consumo:

  • En OTAA: AppKey
  • En OTAA y ABP: DevAddr, NwkSkey, AppSkey

Seguridad en LoRaWAN

En este tipo de redes, la seguridad forma un papel fundamental, sobretodo cuando hablamos de despliegues en ciudades (SmartCities), los cuales pueden contener información sensible que debe ser protegida. Por esta razón, LoRaWAN proporciona varias capas de cifrado, que hacen uso del algoritmo de cifrado AES-128 (Aunque OWASP recomienda en sus guías el uso de AES-256 para IoT)para proteger las comunicaciones de datos:

  • Network Session Key: Clave de 128 bits que garantiza seguridad a nivel de red
  • Application Session Key: Clave de 128 bits que garantiza seguridad extremo-extremo
  • Application Key: clave de 128 bits que se utiliza para despliegues OTAA.
lorawan_keys

Source: LoRaWAN Alliance

Pero desde el punto de vista de la seguridad debemos plantearnos:

  • ¿Existe un procedimiento seguro para la introducción de las keys?
  • ¿Cómo se garantiza que las claves están almacenadas de forma segura?
  • ¿Es seguro el proceso de cambio de las claves? ¿estas claves se cambian? ¿cada cuánto tiempo?

Consideraciones de seguridad a la hora de desplegar dispositvos:

Es muy común cuando se despliegan dispositivos no considerar ciertos aspectos que pueden provocar riesgos. En muchas ocasiones las prácticas comunes no son las más recomendadas:

  • No es recomendable provisionar las mismas claves para todos los dispositivos
  • Enviar un fichero con las claves al fabricante para que aprovisione los dispositivos antes de la entrega final

Por el contrario se recomienda:

  • Generar de forma aleatoria las claves de cada uno de los dispositivos
  • Aprovisionar las claves en un entorno seguro y confiable
  • Utilizar una capa adicional de cifrado

lorawan_keys2

En una siguiente entrega hablaremos de cuáles son los riesgos y los ataques a los que se pueden ver afectados nuestros dispositivos IoT, y explicaremos qué medidas se pueden adoptar para mejorar la seguridad de nuestros dispositivos IoT.

Anuncios
Tagged with: , ,
Publicado en Blog, Spanish (ES)
Twitter
A %d blogueros les gusta esto: