Como se señalaba en el artículo anterior 802.15.4 frente a ZigbeeLa capa MAC del IEEE implementa varias funciones que el protocolo Zigbee utiliza en las capas de red y aplicación. Una de estas características son los servicios de seguridad.
IEEE 802.15.4 establece el algoritmo de cifrado que se va a utilizar para cifrar los datos que se van a transmitir, sin embargo, la norma no especifica cómo hay que gestionar las llaves o qué tipo de políticas de autenticación deben aplicarse. Estas cuestiones se tratan en las capas superiores, que son gestionadas por tecnologías como ZigBee.

 

Vista global de la seguridad 802.15.4:

El algoritmo de cifrado utilizado es AES (Estándar de cifrado avanzado) con un 128b longitud de la clave (16 Bytes). Es realmente importante contar con un único tipo de método de encriptación debido a que la mayoría de los 802.15.4/ZigBee transceptores tienen un específico diseño de hardware para hacer frente a este trabajo a nivel electrónico (dispositivos empotrados de bajos recursos).

El algoritmo AES no sólo se utiliza para cifrar la información, sino también para validar los datos enviados. Este concepto se denomina Integridad de los datos y se consigue utilizando un Código de integridad del mensaje (MIC) también llamado Código de autenticación de mensajes (MAC) que se adjunta al mensaje. Este código garantiza la integridad de la cabecera MAC y de los datos de carga útil adjuntos. Se crea encriptando partes de la trama MAC IEEE utilizando la Clave de la red, por lo que si recibimos un mensaje de un nodo no fiable veremos que la MAC generada para el mensaje enviado no se corresponde con la que se generaría utilizando el mensaje con la Clave secreta actual, por lo que podemos descartar este mensaje. La MAC puede tener diferentes tamaños: 32, 64, 128 bits, sin embargo siempre se crea utilizando la 128b AES algoritmo. Su tamaño no es más que la longitud en bits que se adjunta a cada trama. Cuanto más grande, más seguro (aunque menos carga útil puede llevar el mensaje). Seguridad de los datos se realiza encriptando el campo de carga útil de datos con la Clave 128b.

Información sobre seguridad 802.15.4:

Hay tres campos en la trama MAC de IEEE 802.15.4 que están relacionados con cuestiones de seguridad:

 

 

La Marco de seguridad auxiliar sólo se activa si Seguridad activada subcampo de la Marco Marco de control está activada. Esta cabecera especial tiene 3 campos:

La Control de seguridad es el lugar donde nuestro Política de Seguridad está activado. Utilizando los 2 primeros bits (Nivel de seguridad campo) elegimos lo que vamos a cifrar y la longitud de la Clave:

0x00 Sin seguridad Los datos no están encriptados. No se valida la autenticidad de los datos.
0x01 AES-CBC-MAC-32 MIC-32 Los datos no se cifran. Se valida la autenticidad de los datos.
0x02 AES-CBC-MAC-64 MIC-64 Los datos no se cifran. Se valida la autenticidad de los datos.
0x03 AES-CBC-MAC-128 MIC-128 Los datos no se cifran. Se valida la autenticidad de los datos.
0x04 AES-CTR ENC Los datos están encriptados. No se valida la autenticidad de los datos.
0x05 AES-CCM-32 AES-CCM-32 Los datos se cifran. Se valida la autenticidad de los datos.
0x06 AES-CCM-64 AES-CCM-64 Los datos se cifran. Se valida la autenticidad de los datos.
0x07 AES-CCM-128 AES-CCM-128 Los datos se cifran. Se valida la autenticidad de los datos.

La 0x00 no establece ningún cifrado, por lo que ni se cifran los datos (no hay confidencialidad de los datos) ni se valida la autenticidad de los datos. Desde el 0x01 a 0x03 los datos se autentican mediante el Código de Autenticación de Mensaje cifrado (MAC). El valor 0x04 encripta la carga útil garantizando Confidencialidad de los datos. En 0x05 a 0x07 gama garantiza ambos confidencialidad y autenticidad de los datos.

 

La Modo de identificador de clave establece el tipo de clave (implícita o explícita) que deben utilizar el emisor y el receptor. Los valores posibles son:

Como ya se ha señalado, el Identificador clave se activa cuando Modo de identificador de clave no es cero. El Fuente clave especifica el creador de la clave de grupo. En Índice de claves subcampo ayuda a identificar las diferentes Claves de un Fuente clave.

La Carga útil de datos puede tener tres configuraciones diferentes en función de los campos de seguridad previamente definidos:

Hemos probado con éxito el AES-CTR modo en ambos Waspmote y SquidBee dispositivos sensores. El hardware de cifrado específico de los transceptores utilizados permite cifrar la información sin casi aumentar el consumo de energía. Como se ha señalado anteriormente es importante contar con un transceptor que tenga hardware específico para el proceso de cifrado. En XBee módulos integrados en Waspmote y SquidBee funcionan así.

La lista de control de acceso:

Cada Transceptor 802.15.4 tiene que gestionar un lista para controlar su "hermanos de confianza" junto con la política de seguridad . Por esta razón, cada nodo tiene que controlar su propia Lista de control de acceso (ACL) que almacena los siguientes campos:

Cuando un nodo quiere enviar un mensaje a un nodo específico o recibe un paquete, mira el ACL para ver si se trata de un hermano de confianza o no. En caso afirmativo, el nodo utiliza los datos de la fila específica para aplicar las medidas de seguridad. En el caso de que el nodo no esté en la lista o su mensaje sea rechazado se inicia un proceso de autenticación.

 

Seguridad ZigBee:

ZigBee implementa dos capas de seguridad adicionales sobre el de 802.15.4: el Red y Aplicación capas de seguridad. Todas las políticas de seguridad se basan en el algoritmo de cifrado AES 128b, por lo que la arquitectura de hardware desplegada anteriormente para el nivel de enlace (capa MAC) sigue siendo válida. Existen tres tipos de claves: maestra, de enlace y de red.

Cada par de dispositivos puede tener ambos Claves de red y de enlace. En este caso se utiliza siempre la clave Link (más seguridad aunque más se necesita memoria). Existen dos tipos de políticas de seguridad que puede seguir el Centro de confianza:

Hemos podido analizar tanto IEEE 802.15.4 y ZigBee pilas de protocolos de seguridad en las plataformas de sensores  Waspmote y SquidBee debido a que admiten dos transceptores diferentes compatibles "pin a pin". El XBee OEM 802.15.4 implementa el protocolo IEEE a través del Freescale plataforma de chipset. Por otro lado, la pila ZigBee se ha estudiado utilizando el XBee ZB transceptor que utiliza de Ember solución de chipset.