Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Incrustado

Diseñar con Bluetooth Mesh:privacidad y seguridad

En la Parte 1 y la Parte 2 de esta serie de artículos, discutimos la arquitectura Bluetooth Mesh y cómo se comunican los mensajes a través de la red Bluetooth Mesh. En el mundo conectado de hoy, la seguridad es un elemento clave en todo diseño. Por lo tanto, es importante que una aplicación de IoT impulsada por Bluetooth Mesh sea absolutamente segura y proporcione una funcionalidad confiable.

La implementación de seguridad en un dispositivo Bluetooth Mesh es un requisito obligatorio del Bluetooth SIG y no se puede deshabilitar. Tenga en cuenta que en una conexión de punto a punto BLE sin malla, la implementación de seguridad es opcional. El proceso de aprovisionamiento mediante el cual el dispositivo se agrega a la red Bluetooth Mesh y el intercambio de datos dentro de la red Bluetooth Mesh está meticulosamente diseñado con la seguridad como máxima prioridad. El protocolo Bluetooth Mesh protege la red contra varias posibles amenazas en múltiples capas, como:

La topología de Bluetooth Mesh se crea con el requisito de claves de seguridad obligatorias que protegen la red en varias capas de la pila. Repasemos cada característica de seguridad y privacidad una por una.

Aprovisionamiento:agregar un dispositivo no aprovisionado a la red de malla Bluetooth

Se agrega un dispositivo Bluetooth Mesh a una red mesh mediante el proceso de aprovisionamiento. El dispositivo de malla aprovisionado se denomina nodo y el dispositivo que realiza el aprovisionamiento se denomina aprovisionador. Normalmente, un teléfono móvil actúa como aprovisionador. Crea una red de malla, asigna una clave de red y otras claves necesarias. Los dispositivos de malla no aprovisionados se agregan a la red de malla de Bluetooth mediante el proceso de aprovisionamiento. El aprovisionador también configura los nodos de malla aprovisionados y controla la funcionalidad de los nodos de malla de Bluetooth en la red de malla.

El protocolo de aprovisionamiento puede utilizar dos portadores de aprovisionamiento diferentes:PB-ADV (portador de ADV) o PB-GATT (portador de GATT). Los dispositivos móviles actuales aún no son compatibles con el portador de PB-ADV. Por esta razón, el proceso de aprovisionamiento se realiza a través del portador PB-GATT.

Un dispositivo de malla no aprovisionado comienza a anunciarse después de que se enciende. El aprovisionador busca dispositivos no aprovisionados y establece una conexión BLE estándar (asumiendo PB-GATT) con el dispositivo no aprovisionado. Luego comparte claves usando el protocolo Elliptical Curve Diffie-Hellman (ECDH). Por lo tanto, el intercambio de claves mediante ECDH es muy seguro.

Luego, ambos dispositivos crean una clave de sesión utilizando las claves intercambiadas. La clave de sesión se utiliza para cifrar la clave de red, la clave del dispositivo (los tipos de clave se analizan en las siguientes secciones de este artículo), el índice IV y una dirección de unidifusión, todos los cuales se envían al nodo Bluetooth Mesh provisto. Después de un aprovisionamiento exitoso, el nodo de malla pasa por el proceso de configuración donde la capacidad del nodo de malla se comparte con el aprovisionador. El aprovisionador asigna claves de aplicación al nodo configurado. Cada nodo de malla puede tener varias claves de aplicación, por lo que cada clave de aplicación debe vincularse con un modelo de malla específico mediante el proceso denominado enlace de claves. De esta manera, la pila de mallas sabe qué claves de aplicación usar para un modelo de malla específico.

La Figura 1 muestra la secuencia de aprovisionamiento cuando un teléfono inteligente con la aplicación auxiliar de malla de iOS intenta aprovisionar una bombilla regulable implementada con el kit de evaluación CYBT-213043-MESH.

haz clic para ampliar la imagen

Figura 1:El proceso de aprovisionamiento de una bombilla regulable. (Fuente:Cypress)

Como se puede ver en la figura, la bombilla regulable transmite balizas de dispositivos no aprovisionados. Cuando el proveedor intenta agregar un dispositivo, la bombilla regulable aparece en la lista de dispositivos no aprovisionados. Cuando el usuario hace clic en el dispositivo Dimmable Light en la aplicación de malla de iOS, se inicia el proceso de aprovisionamiento.

El teléfono envía una invitación de aprovisionamiento y la bombilla regulable responde con capacidades como la cantidad de elementos admitidos, algoritmos de seguridad admitidos, disponibilidad de clave pública fuera de banda (OOB) y capacidad de entrada / salida para ingresar / mostrar valor de usuario. Según las capacidades de la bombilla regulable, las claves públicas ECDH se intercambian mediante un método OOB o mediante el enlace Bluetooth. Luego se realiza la autenticación.

Una vez que se autentica la bombilla de luz regulable, el aprovisionador envía los datos de aprovisionamiento a través del enlace cifrado AES-CCM. Una vez que los datos de aprovisionamiento (clave de red, clave de dispositivo, índice IV, dirección de unidifusión, etc.) se envían a la bombilla regulable, el proceso de aprovisionamiento está completo. El proveedor ahora puede configurar la bombilla regulable (no se muestra en este diagrama de secuencia).

Clave de red, clave de aplicación y clave de dispositivo

La posesión de la clave de red permite que un nodo descifre y autentique hasta la capa de red que hace posible retransmitir mensajes dentro de una red. Las claves de cifrado de red y las claves privadas se derivan de la clave de red. Es importante tener en cuenta que, aunque todos los nodos de la red reciben y reenvían mensajes de retransmisión de malla, los datos reales de la aplicación no se pueden descifrar mediante las claves de red. Los datos de la aplicación solo se pueden descifrar si el dispositivo posee la clave de aplicación adecuada.

Clave de red :Un nodo puede poseer una o más claves de red. Esto permite la creación de múltiples subredes dentro de una sola red de malla Bluetooth. Por ejemplo, considere un sistema de estacionamiento de varios niveles. Puede resultar beneficioso dividir cada nivel en su propia subred. Esta partición evita la transmisión de mensajes en todos los niveles y limita los mensajes transmitidos al nivel deseado.

Clave de aplicación :Las claves de la aplicación se comparten entre un subconjunto de dispositivos dentro de una red de malla. Generalmente, estos dispositivos tienen una funcionalidad similar. Por ejemplo, todas las bombillas de la sala de estar pueden compartir la misma clave de aplicación, mientras que un sensor de movimiento o una cerradura tendrán una clave de aplicación independiente. El mensaje de malla para cambiar el estado de la bombilla solo puede ser descifrado por las bombillas en la sala de estar (es decir, estos son los únicos dispositivos que contienen la clave de aplicación requerida).

Clave de dispositivo: El aprovisionador asigna las claves de dispositivo a cada nodo de malla aprovisionado. Esto permite una identificación única de los nodos de malla. El aprovisionador usa la clave de dispositivo solo durante el proceso de configuración del nodo.

Eliminación de nodos (actualización de claves, listas negras)

Es importante evitar que un pirata informático monte un ataque en una red de malla específica utilizando claves de seguridad obtenidas de un nodo de malla defectuoso o eliminado que formaba parte de la red de malla de destino. Este tipo de ataque se conoce comúnmente como ataque Trashcan. Para evitar este tipo de ataques, Bluetooth SIG ha definido un procedimiento de actualización de claves. El proveedor puede iniciar este procedimiento para poner un nodo específico en la lista negra. El procedimiento de actualización de claves emite nuevas claves de red, claves de aplicación y toda la información necesaria para todos los dispositivos de la red en malla, excepto los dispositivos de la lista negra. Las claves que tenía el dispositivo en la lista negra ya no se pueden usar para acceder a la red en malla.

Privacidad (ofuscación del mensaje):

La privacidad es un aspecto importante para todos. La privacidad en Bluetooth Mesh se aborda mediante la clave de privacidad. Como se mencionó anteriormente, la clave de privacidad se deriva de la clave de red. Bluetooth Mesh utiliza esta clave de privacidad para ocultar los valores del encabezado del mensaje, como la dirección de origen. Si la dirección de origen está ofuscada, esto evitará que un atacante rastree los mensajes en función de su dirección de origen.

Repetir ataques

Un atacante puede optar por interrumpir una red de malla capturando mensajes por aire y reenviando el mismo paquete varias veces. Imagine a un atacante capturando mensajes para desbloquear la cerradura de la puerta. Si un atacante puede capturar con éxito mensajes por aire para desbloquear la puerta, esto proporcionaría acceso a la puerta. Claramente, esto sería una gran amenaza para las personas y sus propiedades. Para abordar este problema, Bluetooth SIG proporcionó dos campos como parte de cada mensaje de red:el índice del vector de inicialización (índice IV) y el número de secuencia (SEQ).

El número de secuencia se incrementa cada vez que un nodo publica un mensaje. Los nodos de malla descartarán los mensajes de malla con un número de secuencia igual o menor que el último mensaje de malla válido procesado. Para cambiar el número de secuencia, un atacante debe poseer todas las claves necesarias para decodificar y luego cifrar el mensaje. Estas claves están disponibles solo para el dispositivo previsto. Por lo tanto, incluso si un atacante intenta responder el mensaje, el nodo de destino lo descartará. El índice IV es un campo separado en el mensaje de la red de malla. El valor del índice IV en los mensajes debe ser igual o mayor que el último mensaje de malla válido procesado; de lo contrario, el mensaje se descartará.

En pocas palabras, el proceso de aprovisionamiento en Bluetooth Mesh permite que solo se agreguen dispositivos confiables a la red y evita cualquier ataque de intermediario. Las claves de seguridad, como la clave de red, permiten la creación de subredes, mientras que las claves de aplicación permiten que los mensajes de malla sean decodificados solo por una aplicación específica. Los procedimientos de actualización clave implementan la eliminación segura de nodos y protegen contra los ataques de Trashcan. Los ataques de repetición se evitan agregando un número de secuencia a cada mensaje. La ofuscación de mensajes protege la identidad del remitente. Todas estas características hacen que Bluetooth Mesh sea muy seguro y privado.

En la siguiente parte de esta serie de artículos, hablaremos sobre los puntos a considerar al seleccionar un dispositivo Bluetooth Mesh para su aplicación.


Incrustado

  1. Agregue SaaS y seguridad en la nube con pruebas y automatización
  2. Synopsys habilita diseños de múltiples matrices con HBM3 IP y verificación
  3. Diseñar con Bluetooth Mesh:¿Chip o módulo?
  4. Cypress:las MCU Bluetooth ofrecen redes de malla con conectividad ubicua para teléfonos inteligentes
  5. Future Electronics firma un nuevo acuerdo de asociación global con Silvair
  6. Contrinex:sensores inteligentes y cortinas ópticas de seguridad listos para la nube con interfaz Bluetooth
  7. Swissbit:soluciones de seguridad basadas en hardware para proteger datos y dispositivos
  8. Bluetooth MCU mejora la seguridad de IoT
  9. Sistema de seguridad para el hogar Raspberry Pi con cámara y sensor PIR
  10. Liderando con persistencia y perseverancia
  11. ¿La seguridad y la privacidad están frenando a IoT?