Categories: NoticiasTecnología

¿Qué significa que un SoC sea seguro? Una mirada más cercana a la Wireless Gecko Series 2

¿Qué hace que un SoC seguro en realidad … sea seguro? Vea esta descripción general de las características de seguridad basadas en hardware en un IC de ejemplo del mundo real.

La seguridad es una consideración importante para los ingenieros cuando están desarrollando nuevos dispositivos, particularmente para aplicaciones IoT. La elección de componentes seguros puede hacer mucho en este proceso, pero ¿qué significa que un dispositivo sea seguro, de todos modos?

En este artículo, analizaremos más de cerca el SoC inalámbrico Gecko Series 2 EFR32xG21 inalámbrico de Silicon Labs. Este IC tiene un núcleo de seguridad y una radio implementada en el silicio junto con el procesador Arm-M33. Está diseñado para su uso con los protocolos Zigbee, Thread y Bluetooth.

Imagen de Silicon Labs.

Según Silicon Labs, el SoC Serie 2 se diferencia de su predecesor con un mayor enfoque en brindar funcionalidad para hogares inteligentes, ciudades inteligentes y aplicaciones industriales de IoT.

Presupuesto de enlace

El EFR32 Blue Gecko SoC está disponible en salida de 10 dBm o 20 dBm y, según la configuración de la radio, tiene una sensibilidad de hasta -104.5 dBm. Esto proporciona un presupuesto de enlace de hasta 124.5 dB (915 MHz 2GFSK, 0.6 kbps). Consulte el documento UG147 de Silicon Labs para ver configuraciones adicionales, rangos y documentación de enlace de presupuesto.

Seguridad dentro del EFR32

Integrado en la matriz de silicona del EFR32, junto con el procesador ARM Cortex-M33, hay un núcleo de seguridad de hardware que contiene un generador de números aleatorios reales (TRNG) y un acelerador de criptografía de hardware. El núcleo tiene puertas de silicio configuradas y optimizadas para tareas criptográficas específicas, que incluyen:

  • Estándar de cifrado avanzado (AES)
  • Criptografía de curva elíptica (ECC)
  • Algoritmo hash seguro (SHA)
  • Una verificación de redundancia cíclica de 32 bits (CRC32)

Arranque seguro, depuración segura y desbloqueo seguro de depuración

Por lo general, cuando un mal actor tiene acceso físico a su microcontrolador, pueden realizar todo tipo de acciones maliciosas, desde leer la memoria hasta cargar un nuevo firmware, hasta descubrir sus claves de seguridad privadas. Silicon Labs elimina muchos vectores de ataque con su arranque seguro con Root of Trust y Secure Loader (RTSL) y la función de depuración segura. El arranque seguro evita las inyecciones de malware ejecutando solo el código firmado correctamente.

El arranque seguro garantiza que solo se ejecutará el firmware firmado correctamente en la Wireless Gecko Series 2. Ya sea que un pirata informático intente realizar una actualización por aire (OTA) o esté conectado físicamente a los pines JTAG, lo peor que podrían hacer es "bloquear" el dispositivo.

La depuración segura garantiza que todos los datos que salen del dispositivo están totalmente encriptados. Esta característica de seguridad garantiza que solo los programadores originales del dispositivo puedan desbloquear e interpretar los datos de depuración. Por lo general, esto también significa que el fabricante del dispositivo no puede ayudar con el análisis de fallas, por lo que Silicon Labs incorporó una función de Desbloqueo de depuración seguro que permite que Silicon Labs aún funcione en el dispositivo. Los clientes proporcionan el dispositivo que se comporta mal, junto con una clave de seguridad para Silicon Labs, y los datos en el dispositivo se pueden descifrar.

Generador de números aleatorios verdaderos

Un componente clave de cualquier sistema de seguridad es un generador de números aleatorios. Este bit de hardware trabaja para crear continuamente una cadena sin patrón e impredecible de 1s y 0s. El EFR32xG21 usa un oscilador en anillo para generar números aleatorios. Los osciladores de anillo están hechos de un número impar de etapas del inversor.

Esquema de un oscilador en anillo de tres etapas. Imagen utilizada cortesía de Guerberj.

Los osciladores de anillo utilizados como generadores de números aleatorios aprovechan el hecho de que hay un retardo de transición de puerta ligeramente variable desde una etapa del oscilador a la siguiente (fluctuación de fase). Cuando la salida de la primera etapa pasa de la lógica baja a la lógica alta, la segunda etapa no cambia instantáneamente de estado. Una pequeña cantidad de capacitancia en la entrada de la siguiente etapa ralentiza el cambio de voltaje. Una vez que se alcanza la tensión de umbral, la segunda etapa cambia de estado y el proceso continúa alrededor del anillo hasta que la última etapa dispara la primera etapa y todo el ciclo se repite. El resultado es una onda cuadrada que se propaga alrededor del anillo de una manera cíclica. Si una sola etapa del oscilador se muestrea de forma asíncrona a una fracción de la frecuencia de oscilación, la salida es impredecible y aleatoria.

Y en caso de que algún mal actor encuentre la manera de manipular el oscilador en anillo, o comience a funcionar mal de alguna manera, la salida se monitorea constantemente con una serie de pruebas de integridad de 64 bits y 4096 bits que satisfacen las NITS-800-90. y AIS 31.

Filtro blanqueador

Cualquier persona que haya estudiado números aleatorios durante un período de tiempo le dirá que con un verdadero generador de números aleatorios, 0B0000000000000000 es tan probable como 0B1011010010110110, que es tan probable como 0B0000000011111111 y 0B11111111111111. Pero de esas cuatro opciones, solo una puede usarse para cifrar datos. Por lo tanto, la salida del oscilador en anillo se alimenta a un filtro de blanqueamiento de datos. El blanqueo de datos utiliza un registro de desplazamiento de retroalimentación lineal multitap para evitar cadenas largas de 1s y 0s.

Un registro de desplazamiento de blanqueo de datos

Estándar de cifrado avanzado (AES)

El Estándar de cifrado avanzado es un cifrado de bloque establecido por el NIST. Este cifrado de clave simétrica se usa para codificar y decodificar datos usando algo llamado algoritmo de Rijndael (después del apellido de uno de los criptógrafos belgas que lo inventó). Los datos se cifran / descifran en bloques de 128 bits con claves de 128, 192 o 256 bits.

Criptografía de curva elíptica

La criptografía de curva elíptica fue creada de forma independiente por Neal Koblitz y Victor Miller. Permite que dos partes que nunca se hayan reunido generen un secreto compartido a plena vista de un intruso. El secreto compartido se combina con los datos que se van a cifrar / descifrar para codificar / decodificar mensajes secretos.

Esta animación muestra cómo Alice y Bob pueden generar un secreto compartido.

Una visualización de la criptografía de curva elíptica por Mark Hughes

Alice y Bob acuerdan un punto y se agregan un número de veces al azar (aquí Alice elige α = 7, y Bob elige ß = 5) para encontrar los puntos A y B. Alice y Bob luego intercambian su valor de punto secreto y multiplica por sus números nuevamente para llegar a un secreto compartido S. (Alice hace 2α = 14 y Bob hace 2ß = 10 operaciones en total).

Lea mi artículo sobre la criptografía de curva elíptica para obtener más información.

Algoritmo de hash seguro (SHA)

El algoritmo hash seguro toma una entrada de cualquier longitud y genera una salida de longitud fija. Esto es útil para verificar la integridad de los datos, ya que cualquier cambio en la entrada afectará a la salida. Las actualizaciones de firmware se pueden entregar junto con sus valores hash a un microcontrolador de destino. Si el microcontrolador calcula un valor diferente para el hash, sabe que hay algo mal con los archivos de firmware y no los escribirá en la memoria.

Verificación de redundancia cíclica de 32 bits (CRC32)

Las verificaciones de redundancia cíclica se utilizan para garantizar la integridad de los datos durante la transmisión, el almacenamiento y la recuperación. Los valores CRC se calculan con los datos originales y se vuelven a calcular con los datos transmitidos o recuperados. Si los dos valores de CRC no coinciden, los datos están dañados.

Una animación CRC de 24 bits se muestra arriba ya que 32 bits es demasiado pequeño para leer.

Acerca del kit de desarrollo de malla individual

Este kit está destinado a permitir que los desarrolladores implementen comunicaciones inalámbricas seguras en aplicaciones de dos nodos y múltiples nodos a través de una variedad de protocolos, que incluyen malla Bluetooth, Zigbee y Thread.

El Wireless Gecko EFR32 viene en una placa secundaria que se conecta a una placa base de desarrollo. Después de la programación, la tarjeta de radio Wireless Gecko se puede separar de la placa base y alimentar a través de una batería externa.

Placa de desarrollo de Gecko Inalámbrico Silicon Labs. Imagen utilizada cortesía de Silicon Labs.

Este kit de desarrollo es un poco diferente de otros que ofrece Silicon Labs, ya que proporciona un canal de depuración / programa basado en Ethernet además de un depurador USB. Esto permite a los usuarios conectar dispositivos lejos de la computadora de programación y mantenerse conectados a ellos con la infraestructura de TI existente del edificio.

Esta característica hace que los kits sean adecuados para trabajar con interfaces inalámbricas, ya que se pueden conectar múltiples dispositivos de forma inalámbrica en los límites de su alcance de radio y aún así comunicar toda la información de depuración necesaria con la computadora de programación. Silicon Labs tiene una red de 500 nodos inalámbricos conectados a Ethernet en sus oficinas de Boston para permitirles probar el código del cliente en condiciones reales. Pueden actualizar los dispositivos de forma remota en cuestión de minutos, en lugar de las horas / días que tomaría si tuvieran que tocar físicamente cada dispositivo.

La placa base tiene múltiples opciones de entrada de energía, incluido un mini-USB que permite la conexión a una computadora, un paquete de baterías portátil o un cargador de pared de 5V. La placa principal también tiene una pantalla, dos botones de entrada de usuario, dos LED, dos botones momentáneos y un sensor de temperatura / humedad.

Diagrama de bloques del kit de desarrollo inalámbrico Gecko de Silicon Labs. Imagen de la Guía de introducción de Silicon Labs. Click para agrandar.

En esencia, la placa base permite a los usuarios programar el SoC inalámbrico EFR32xG21.


Existen innumerables razones por las que debe implementar la seguridad adecuada en sus proyectos inalámbricos. Los fabricantes están facilitando cada vez más que los ingenieros tomen las precauciones adecuadas para mantener a los malos actores fuera de sus microprocesadores.

Esto permite a los ingenieros proteger su código fuente y su propiedad intelectual, verificar las actualizaciones OTA (por aire) antes de la instalación, garantizar transmisiones de datos sin restricciones y comunicarse de manera segura con computadoras basadas en Internet.

ga('create', 'UA-1454132-1', 'auto'); ga('require', 'GTM-MMWSMVL'); ga('require', 'displayfeatures'); ga('set',{'dimension1':'security-identification,embedded,computing,embedded,security-identification'}); ga('set',{'contentGroup1':'security-identification,embedded,computing,embedded,security-identification'});

ga('set',{'dimension3':"July 24, 2019"});

ga('set',{'dimension4':"Mark Hughes"});

ga('send', 'pageview');

!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1808435332737507'); // Insert your pixel ID here. fbq('track', 'PageView'); fbq('track', 'ViewContent', { content_ids: ['security-identification','embedded','computing','embedded','security-identification'], content_type: 'category'});

_linkedin_data_partner_id = "353081"; (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); } if(jstz.determine().name().indexOf("Europe") === -1) { showSocialCode(); // NOT EU } else { showSocialCode(); window.addEventListener("load", function () { window.cookieconsent.initialise({ "palette": { "popup": { "background": "#252e39" }, "button": { "background": "#14a7d0" } }, "type": "opt-out", "content": { "message": "This website uses tracking cookies to ensure you get the best experience on our website.", "href": "https://www.allaboutcircuits.com/privacy-policy/", "dismiss": "OK, GOT IT" }, onInitialise: function (status) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },

onStatusChange: function (status, chosenBefore) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },

onRevokeChoice: function () { var type = this.options.type; if (type == 'opt-out') { console.log("eu"); //showSocialCode(); } },

}) }); }

Maria Montero

Me apasiona la fotografía y la tecnología que nos permite hacer todo lo que siempre soñamos. Soñadora y luchadora. Actualmente residiendo en Madrid.

Recent Posts

Máquina de mano Lean, Green, Raspberry Pi

Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…

2 years ago

Cómo pronosticar series de tiempo usando autorregresión

Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…

2 years ago

Aquí están todas las formas en que puede cargar su AirPods Pro

Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…

2 years ago

Las principales noticias tecnológicas del lunes: la prohibición de clientes de terceros de Twitter parece no ser un accidente

Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…

2 years ago

AirPods Max 2: aquí están las características más solicitadas

Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…

2 years ago

El remake de Dead Space continúa luciendo terriblemente genial en el nuevo tráiler de la historia

El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…

2 years ago