¿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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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(); } },
}) }); }
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…