Cómo restringir las memorias Flash con autenticación para evitar robos

La seguridad es la principal prioridad hoy en día. Los actuales productos de microcontroladores y sistemas en chip están diseñados con funcionalidades de seguridad. Sin embargo, las memorias Flash en serie tradicionalmente han estado más expuestas a los piratas informáticos. Este documento técnico explica cómo las memorias Flash con autenticación pueden vincularse de manera única y segura a un controlador host autorizado para poder evitar el robo de propiedad intelectual.

 1017_Authentication_Flash_Banner

Flash con autenticación: Cómo cerrar la brecha de seguridad que dejan los IC NOR Flash convencionales

En respuesta a la demanda de los OEM conscientes de las cuestiones de seguridad, los fabricantes de microcontroladores y sistemas en chip (SoC) modernos suelen equipar sus productos con una amplia gama de funcionalidades de seguridad: los MCU estándares de 32 bits listos para usar orientados a aplicaciones tradicionales no financieras a menudo incluirán un acelerador criptográfico de hardware, un generador de números aleatorios (RNG) y ubicaciones seguras de memoria.

No obstante, las memorias Flash en serie —donde se guarda gran parte de la valiosa propiedad intelectual (IP) de un OEM— tradicionalmente han sido más vulnerables que los SoC o microcontroladores. Los puntos débiles de seguridad en las memorias Flash complementarias de un MCU o SoC exponen a los OEM a riesgos perjudiciales desde el punto de vista comercial por el robo de productos debido a la clonación de diseños de PCB sometidos a ingeniería inversa. Este artículo explica cómo las memorias Flash con autenticación pueden vincularse de manera única y segura a un controlador host autorizado.

El vacío de seguridad actual

Un requisito de seguridad fundamental para todos los OEM de buena reputación es evitar la posibilidad de robo o clonación de su IP, lo que incluye el código de la aplicación que se almacena en una memoria Flash NOR en serie externa.

Por supuesto, gran parte del valor integrado en un producto final de electrónica no es un secreto. Tomemos el ejemplo de un termostato doméstico inteligente de Internet de las cosas (IoT): si analizamos de forma minuciosa el montaje de la placa del termostato, podremos identificar todos los componentes con precisión y el diseño de la placa puede replicarse fielmente en cualquier fábrica que desee clonar el producto. El diseño del hardware tampoco es un secreto.

El código de la aplicación es secreto —o bien, debería serlo. Sin embargo, un sistema electrónico es tan fuerte como su enlace más débil. En la actualidad, los SoC o MCU principales por lo general están fuertemente protegidos por funcionalidades de cifrado, antimanipulación y almacenamiento seguro implementadas en hardware y software. Por lo tanto, si un atacante desea clonar el código de la aplicación del producto, lo más probable es que el punto de entrada sea un IC de memoria Flash externa.

Por esta razón, en la actualidad, los OEM a menudo "protegen" su hardware de almacenamiento de código mediante un identificador único (UID) almacenado en el espacio de memoria particionado del IC Flash. En verdad, un UID solo ofrece una barrera trivial ante los ataques. Cualquier ingeniero con algunos conocimientos de seguridad podrá ubicar e identificar el UID e inhabilitar fácilmente la sincronización entre MCU y el hardware de almacenamiento de código. Una vez que se elimina la sincronización, la raíz de confianza del OEM queda vulnerada. El código almacenado en el dispositivo puede copiarse, y ya se puede comenzar con la clonación del diseño del termostato.

El punto débil en este sistema de seguridad Flash es que el UID en sí no es seguro. Se trata de un número de código permanente e invariable, por lo que una vez que se lee de la memoria, puede utilizarse nuevamente por un host no autorizado.

La solución: Autenticación dinámica y segura

La solución a este problema es fácil de diseñar en teoría: el UID debe ser diferente cada vez que el host haga una llamada a la memoria. Pero la ventaja del UID fijo que se usa hoy en día es su facilidad de implementación: solo debe programarse una vez en la memoria Flash y una vez en el controlador de host. Por lo tanto, ambos valores pueden compararse de forma sencilla para autenticar el dispositivo Flash.

Entonces, ¿cómo puede la respuesta a una llamada del host ser diferente cada vez que se produzca y, aun así, ser reconocida por el host?

Cifrado simétrico del ID de memoria

Este es el problema que Winbond se ha propuesto resolver con su familia W74M de IC Flash con autenticación (consulte la Figura 1). Winbond es mejor conocido por su amplia cartera de IC de memoria Flash NOR y NAND en serie: es el principal productor mundial de memorias Flash en serie y tiene una cuota de mercado de alrededor del 30 % En 2016, Winbond vendió 2100 millones de unidades de sus IC Flash en serie SpiFlash®.

Ahora también está abordando los problemas que enfrentan los clientes con la vulnerabilidad de la seguridad en la porción de memoria Flash de sus diseños, y este es el motivo de la presentación de la familia W74M. El método básico mediante el cual Winbond protege la identidad de una memoria es a través del cifrado simétrico: tanto el host como la memoria conocen el mismo secreto; es decir, una "clave raíz".

 

1017_Figure1_Winbond_Article1_1 

Fig. 1: La arquitectura del paquete de múltiples chips W74M

 

No obstante, la clave raíz nunca se transmite directamente entre el host (que hace la llamada) y la memoria (que brinda la respuesta). En su lugar, se genera un mensaje cifrado (un código de autenticación de mensajes basado en hash, HMAC) mediante una combinación de la clave raíz y un elemento dinámico; por ejemplo, un número aleatorio. Luego, esta combinación se procesa a través de un algoritmo de cifrado, el SHA-256. SHA-256 significa algoritmo de hash seguro y tiene un tamaño de resumen de 256 bits. Esta es una función de hash criptográfica publicada por el Instituto Nacional de Estándares y Tecnología (NIST) de EE. UU. como Estándar de Procesamiento de Información Federal (FIPS). Se trata de una función criptográfica utilizada para procesar transacciones financieras y, por lo general, se considera inquebrantable en la práctica.

Ver Productos relacionados

W74M25JVZEIQ

Winbond Electronics Flash Ver

Para autenticar la memoria W74M, el controlador de host compara el valor del HMAC de la memoria con el valor que calcula mediante su clave raíz y el mismo número aleatorio procesado a través de SHA-256. Si los valores coinciden, las operaciones normales de la memoria pueden continuar.

Debido a que el HMAC se genera en parte por un elemento dinámico (por ejemplo, un número aleatorio), el valor del HMAC es diferente cada vez que se genera. Esto significa que los ataques completados correctamente contra una memoria Flash con un UID fijo convencional, tal como se describió anteriormente, no tendrán éxito cuando se lleven a cabo contra una memoria W74M. Y como la función SHA-256 es tan segura, en la práctica no existe el riesgo de que un atacante pueda descifrar el HMAC para revelar el valor de la clave raíz.

La Figura 1 también muestra otras dos características interesantes del W74M. En primer lugar, el contador monotónico no volátil proporciona una verificación adicional a la autenticidad de la memoria. El contador comienza en cero cuando se establece la clave raíz, y se agrega un único incremento en respuesta a un comando emitido por el controlador de host, lo que significa que el contador tiene un valor único conocido solo por la memoria y el host. Si el valor del contador proporcionado por la memoria al recibir la llamada del host no coincide con el valor del contador del host, el valor del HMAC de la memoria no será el mismo que el computado por el host. Esto le indica al procesador del host que el dispositivo de autenticación W74M ha sido manipulado.

Ver Productos relacionados

W74M01GVZEIG

Winbond Electronics Flash Ver

El procesador puede usar este conocimiento para proteger el sistema de host; por ejemplo, evitando que el dispositivo que ha sido manipulado obtenga acceso a los recursos del sistema de host. Esto protege contra el riesgo de que un atacante reemplace la unidad W74M montada en la placa por el OEM con una W74M diferente para piratearla.

Esta capacidad de protección es relevante para la segunda característica de la nota que se muestra en la Figura 1: existen cuatro instancias de combinación de clave raíz, HMAC y contador monotónico en cada dispositivo W74M. Una instancia se usará para autenticar el controlador del dispositivo de host. Los otros tres "canales" de autenticación se utilizarán —por ejemplo— en dispositivos de IoT, los cuales deben verificar su identidad para obtener acceso a los servicios de red (ver Figura 2). Tal como se muestra aquí, puede almacenarse una clave raíz diferente de forma segura para cada canal de autenticación, y compartirse con el dispositivo host correspondiente. Esto significa que las claves raíz del dispositivo host, de la puerta de enlace de Internet y del servicio de nube siguen siendo secretas, ya que un dispositivo no puede conocer la clave raíz del otro.

 

 1017_Figure2_Winbond_Article1_2

Fig. 2: Autenticación multicapa habilitada por W74M

 

Otro caso de uso para esta capacidad de autenticación multicapa es el de un sistema complejo, como un dron, que se compone de múltiples elementos. Puede usarse un dispositivo W74M en alguno de estos elementos para autenticar:

– el procesador principal del dron
– el módulo de batería extraíble
– el control remoto
– una cámara

La autenticación segura y encriptada permite que el fabricante del dron se asegure de que solo se utilicen cámaras y baterías de reemplazo de una determinada marca, y evita la posibilidad de que un control remoto no autorizado piratee el dron durante el vuelo.

Protección y seguridad en la implementación

Tal como se describió anteriormente, las funciones criptográficas de W74M son muy seguras. Además, las claves raíz se almacenan en el espacio de memoria OTP que un dispositivo externo no puede leer.

El dispositivo W74M en sí mismo es intrínsecamente seguro. La implementación segura también requiere un aprovisionamiento seguro a fin de garantizar que las claves raíz programadas en cada unidad W74M y cada controlador o SoC de host en producción sigan siendo un secreto del OEM. Por lo general, esto depende de los propios procesos de producción y aprovisionamiento del OEM, aunque Winbond puede encargarse opcionalmente del aprovisionamiento de claves raíz del W74M en nombre del cliente.

La familia W74M de dispositivos Flash con autenticación está disponible en varias densidades que van desde 32 Mb hasta 1 Gb en paquetes estándares. Esto significa que los diseños de dispositivos seguros que actualmente incorporen un IC Flash NOR/NAND para almacenamiento de código y un IC de autenticación externo pueden reemplazar ambos chips por un único paquete W74M que cabe en un enchufe Flash estándar. Como resultado, se obtendrá una disminución en la cantidad de componentes y el costo de la lista de materiales y, al mismo tiempo, contará con el nivel más seguro de autenticación.

El W74M también está disponible como un dispositivo de autenticación pura de múltiples capas sin capacidad de memoria Flash NOR. Los números de piezas son W74M00AVSSIG y W74M00AVSNIG.

Por CS Lin
Ejecutivo de marketing, Winbond Electronics Corporation America 

Últimas noticias

Lo sentimos, pero su selección de filtros no devolvió resultados.

Hemos actualizado nuestra política de privacidad. Por favor tome un momento para revisar estos cambios. Al hacer clic en Acepto, usted está de acuerdo con la Politica de Privacidad de Arrow Electronics y sus condiciones de uso.

Nuestro sitio Web coloca cookies en su dispositivo para mejorar su experiencia y nuestro sitio. Lea más sobre las cookies que utilizamos y cómo desactivarlas aquió. Es posible que se utilicen las cookies y tecnologías de seguimiento con fines de marketing.
Al hacer clic en "Aceptar", usted está consintiendo la colocación de cookies en su dispositivo y el uso de tecnologías de seguimiento. Haga clic en "Leer más" a continuación para obtener más información e instrucciones sobre cómo desactivar las cookies y tecnologías de seguimiento. Si bien la aceptación de cookies y tecnologías de seguimiento es voluntaria, la desactivación de estos puede resultar en que el sitio web no funcione correctamente, y es posible que ciertos anuncios sean menos relevantes para usted.
Respetamos su privacidad. Lea nuestra política de privacidad aquió