Seguridad de una red IoT utilizando AES (LoRaWAN)

2

Estoy estudiando la seguridad de LoRaWAN. Aquí hay una arquitectura simplificada de la red:

Comopuedesver,haydosclaves:

  • unoparalaseguridaddelared(nomitm,nimodificatiofdelosmensajes).UtilizaunaclaveAESde128bitsparagenerarunMIC(códigodeintegridaddelmensaje)paracadamensaje.

  • unoparaelcifradodelacargaútildeextremoaextremo(aplicaciónaaplicación).EstaestambiénunaclaveAESde128bits.

Porlotanto,haydosclavesestáticasquesealmacenaneneldispositivoyenlapuertadeenlace.Supongoquelaseguridadesbastantebuena,perosolohastaqueunadelasclavesseveacomprometida.Conundispositivoquenoestábajovigilancia(porejemplo,enlacasadelcliente),podríaserfácilduplicarlaclave.

Otroproblemaesque,encasodeunafalla,esimposiblecambiarlasclavesAESeneldispositivo(considerandoquenohayuncanalsegurofueradebanda).

¿Mianálisisescorrecto?¿Hayotrosfallosdeseguridadquenohevisto?(probablementesí)¿Yquépodríaserunamejoraparaundesarrollador(comointegraruncifradoasimétricodeextremoaextremo)?

Enelcaso, aquí están las especificaciones de LoRaWAN .

    
pregunta Shan-x 14.06.2016 - 11:35
fuente

1 respuesta

3

Usted tiene razón en que una vez que las claves de la sesión estén comprometidas, la seguridad será inefectiva. Este es el caso en cualquier sistema. Sin embargo, hay varias buenas prácticas para mejorar la seguridad en LoRaWAN. Es un tema demasiado complejo para una respuesta corta, pero aquí hay algunas buenas prácticas:

  • Utilice el aprovisionamiento OTAA donde las claves / certificados se negocian dinámicamente entre un dispositivo y la red y los servidores de aplicaciones para cada sesión. Luego, fuerce la red nuevamente en el dispositivo periódicamente para cambiar las claves de la sesión. Esto contrasta con el método de aprovisionamiento ABP que establece permanentemente ambas claves de sesión, lo que lleva a la vulnerabilidad que usted señaló.
  • Si usa el método ABP, haga que las claves de sesión sean únicas para cada dispositivo. Si uno se ve comprometido, los demás no se ven afectados
  • Use un elemento de hardware seguro en un dispositivo para almacenar las credenciales de seguridad. Esto hará que sea muy difícil realizar una ingeniería inversa de las claves al escanear las memorias del dispositivo. Además, use el arranque seguro para garantizar la integridad del firmware del dispositivo.
  • Agregue una capa adicional de cifrado y autenticación en la capa de aplicación. Podría usar claves asimétricas que pueden ser muy efectivas.
  • Habilite siempre las comprobaciones del contador de mensajes de enlace ascendente / enlace descendente en el servidor de red para evitar ataques de repetición
  • Puede usar su propio servidor de red privada y / o servidor de aplicaciones con sus propias puertas de enlace para evitar el acceso no autorizado en el nivel de la nube

Si sigue las mejores prácticas, puede lograr un sistema que es muy difícil de piratear. LoRaWAN fue diseñado para dispositivos con limitaciones de hardware, por lo que tuvo que equilibrar muchas compensaciones. Además, tenga en cuenta que la mayoría de las aplicaciones son para enviar datos desde sensores distribuidos a la nube, no para controlar cajeros automáticos. Para aplicaciones típicas, es una solución fácil de usar, barata y segura.

    
respondido por el Roman S. 06.04.2017 - 06:39
fuente

Lea otras preguntas en las etiquetas