Segura de radiofrecuencia TX, módulo RX de los ataques de repetición

1

Background

Estoy creando un sistema de automatización del hogar usando RF 315/433 Módulo transmisor-receptor de MHz , un Ethernet Shield y AT Mega AVR Micro controlador (ATMega328 PPU) que funciona de la siguiente manera.

Un conjunto de API REST se integra con una base de datos back-end. Una interfaz web y de aplicaciones móviles con esta base de datos para cambiar la configuración. Las interfaces AT Mega MC con el escudo Ethernet se conectan a mi enrutador ADSL de mi hogar.

AT Mega MC lee (HTTPS) los valores de la API a través del blindaje de Ethernet e intenta controlar los dispositivos (la puerta de mi rodillo, los interruptores de luz, la calefacción, etc.) utilizando un módulo transmisor-receptor RF 315/433 MHz. El punto final que presenta el receptor de RF y AT Mega MC envía mensajes de control utilizando el transmisor de RF.

Problema

Tengo los siguientes problemas de seguridad en esta configuración.

  1. ¿Cuál es la forma más eficiente en que puedo cifrar mis mensajes desde el transmisor de RF al receptor? En este momento hago una simple operación XOR a los mensajes de control en ambos extremos. Así que el valor del XOR es simplemente actúa como una clave compartida. Sé que esto no es seguro en absoluto! No puedo implementar un algoritmo de consumo de recursos en mi punto final (extremo receptor) porque está usando el ATtiny85 MC.

  2. Incluso si cifro el mensaje de RF TX a RX, alguien puede interceptar el mensaje saliente (usando alguna herramienta como HackRF) y volver a reproducir el mensaje más tarde. Así que pueden hacer un ataque de repetición fácilmente y abrir mi puerta en cualquier momento posterior.

Preguntas

  1. ¿Cuáles son las mejores precauciones de seguridad que puedo usar para asegurar mi transmisión de RF? Recuerde que estoy trabajando con dispositivos IoT que no tienen una gran capacidad informática.

  2. ¿Cómo puedo evitar este ataque de reproducción?

pregunta user3496510 06.01.2017 - 05:59
fuente

2 respuestas

0
  

¿Cuál es la forma más eficiente en que puedo cifrar mis mensajes del transmisor de RF al receptor?

Quizás se podría utilizar la implementación AES de axTLS:

enlace

un

  

Incluso si cifro el mensaje de RF TX a RX, alguien puede interceptar el mensaje saliente (usando alguna herramienta como HackRF) y reproducir el mensaje más tarde.

Es por eso que debe incluir un nonce y un HMAC, ya que el cifrado por sí solo no garantiza que el mensaje no haya sido manipulado. HMAC significa que necesitará una función hash. Sin embargo, si sus mensajes tienen una longitud constante, puede usar CBC-MAC (vea enlace ) como un hash Función, reutilizando así la implementación de AES. Probablemente incluso puedas incluir SHA-2 en el ATtiny85, pero por supuesto, también puedes necesitar el espacio / RAM para tu funcionalidad real.

    
respondido por el DepressedDaniel 06.01.2017 - 23:52
fuente
0

Las limitaciones de IoT serán importantes para la seguridad de su sistema. Puede ser divertido construir, pero personalmente me gustaría una fuerte seguridad para la puerta del garaje. De todos modos, algunas respuestas generales a continuación.

  1. AES es una alternativa segura común en los protocolos de comunicación modernos. XOR revelará su contraseña a los espías. Búsqueda por ejemplo "¿Qué hay de malo con el cifrado xor" en este foro?

  2. El nonce TLS es un buen ejemplo de prevención de repeticiones. Su uso se discute aquí: nonce en SSL / TLS handshake

respondido por el Risto Mononen 06.01.2017 - 07:38
fuente

Lea otras preguntas en las etiquetas