El DS28C22 es un autenticador seguro DeepCover® con una interfaz I²C que utiliza el algoritmo SHA-256 para la autenticación bidireccional. Combinado con funciones adicionales, como una matriz de EEPROM de usuario de 3 Kb, múltiples métodos de protección de memoria y seguridad física avanzada, proporciona lo último en protección IP rentable, prevención de clones y autenticación. Este documento describe el principio de funcionamiento del dispositivo, sus características especiales y su entorno de aplicación típico.
prólogo
En un mundo donde casi todas las transacciones y actividades están conectadas en línea, las ciberamenazas y otros ataques que comprometen la seguridad del sistema limitan el proceso. Es muy importante implementar un enfoque de sistemas que garantice la seguridad en estos casos. Además, sería de gran ayuda que se utilizaran técnicas para proteger los procesos en línea de posibles riesgos, evitando así molestias y pérdidas.
Durante más de una década, los certificados SHA-1 se han utilizado para proteger eficazmente la propiedad intelectual (PI) de la falsificación y la piratería. Pero ahora, a medida que la tecnología informática avanza en el procesamiento de la información, los clientes exigen un mayor nivel de seguridad.
Un nuevo autenticador seguro y el coprocesador seguro que lo acompaña ahora implementan la autenticación SHA-256. Esta nueva tecnología ofrece seguridad física avanzada y protección IP de bajo costo sin igual, anti-clonación y autenticación periférica. Este artículo describe la logística general de los sistemas de seguridad basados en SHA-256 y describe las funciones de autenticación bidireccional que utilizan los autenticadores.
El DS28C22 es un autenticador seguro DeepCover® con una interfaz I²C que utiliza el algoritmo SHA-256 para la autenticación bidireccional. Combinado con funciones adicionales, como una matriz de EEPROM de usuario de 3 Kb, múltiples métodos de protección de memoria y seguridad física avanzada, proporciona lo último en protección IP rentable, prevención de clones y autenticación. Este documento describe el principio de funcionamiento del dispositivo, sus características especiales y su entorno de aplicación típico.
Sistema de autenticación seguro
Para implementar un sistema de autenticación seguro, el sistema host debe estar vinculado con el sensor/módulo periférico. El sistema que se muestra en la Figura 1 consta de un autenticador seguro SHA-256 y un coprocesador seguro SHA-256. El host se comunica con el autenticador y el coprocesador a través de un bus I2C estándar de la industria.
Sistema de autenticación segura SHA-256
El autenticador seguro SHA-256 en este sistema admite un tamaño de desafío de 256 bits y utiliza un secreto de 256 bits. El autenticador de la Figura 1 es un esclavo I2C con una ID de ROM de 64 bits única que sirve como elemento de datos básico para los cálculos de autenticación. Los diseñadores de sistemas deben colocar EEPROM de usuario de 3 Kb en áreas de acceso abierto (sin protección), áreas donde los maestros deben autenticarse para acceso de escritura y áreas donde el acceso de lectura y escritura incluye cifrado de datos. Puede combinar el cifrado con la autenticación para que sus datos sean aún más seguros. La figura 2 muestra los modos de protección disponibles.
**El valor predeterminado del sistema es sin protección con RP, WP, EM, AP y EP no activados. La protección es acumulativa.
logística de seguridad
La seguridad basada en SHA se basa en un código de autenticación de mensajes (MAC) calculado a partir de datos abiertos y un secreto. Para verificar la autenticidad, tanto el host o el coprocesador como el autenticador deben conocer un secreto, que nunca se expone. Además, el secreto de cada autenticador debe ser único para lograr la máxima seguridad. De esta forma, aunque se comprometa el secreto de un solo autenticador, la seguridad de todo el sistema no se verá afectada.
A primera vista, cumplir estos requisitos puede parecer imposible. Sin embargo, hay una solución simple. Calcule un secreto a partir de “ingredientes” conocidos e instálelo en un sistema de autenticación seguro en un entorno de fabricación confiable/controlado. El material secreto único es el secreto maestro. datos vinculantes. secreto parcial; ID de ROM del autenticador seguro; relleno/formato (“otros datos”). La Figura 3 muestra el proceso. Por ejemplo, en un entorno de fabricación confiable, los ingredientes se publican en algún momento, pero los secretos calculados nunca se publican y siempre se ocultan.
Por razones de seguridad y espacio de almacenamiento, todos los secretos exclusivos de la memoria segura en el sistema no se pueden almacenar en el coprocesador o host seguro. En cambio, el coprocesador almacena solo secretos maestros y datos vinculantes en secciones de memoria protegidas. Un secreto parcial es una constante del sistema que se puede codificar en el firmware del procesador host y comunicar abiertamente. Después de leer la ID de ROM del autenticador, el coprocesador puede calcular un secreto único, como se muestra en la Figura 2. Ahora que tanto el autenticador como el coprocesador comparten un secreto único, el sistema está listo para funcionar.
seguridad de datos
Más allá de probar la autenticidad, es muy deseable saber que se puede confiar en los datos almacenados en un sistema de autenticación seguro. Para este propósito, parte o la totalidad de la EEPROM dentro del autenticador seguro puede estar protegida por autenticación. Cuando se activa la protección de autenticación, el acceso de escritura en la memoria requiere que el host presente una prueba de su autenticidad proporcionando el MAC de autenticación del host al autenticador seguro (Figura 4).
El MAC de autenticación del host se calcula a partir de nuevos datos de memoria. Datos de memoria existentes. Un secreto único y una ID de ROM para un autenticador seguro. Otros datos que en conjunto conforman el mensaje. Un autenticador seguro calcula el MAC de la misma manera.
Un host autenticado puede recrear el secreto del autenticador seguro y generar una MAC de acceso de escritura válida. Al recibir el MAC del host, el autenticador seguro lo compara con su propio resultado. Los datos se escriben en la EEPROM solo si ambas MAC coinciden. Las regiones de memoria de usuario protegidas contra escritura no se pueden modificar incluso si el MAC es correcto.
Seguridad de datos (lectura y escritura encriptada)
Más allá de los autenticadores SHA-256 típicos donde los secretos nunca se exponen, el autenticador seguro DS28C22 se puede configurar para que ni siquiera exponga los datos de la memoria durante el acceso de lectura y escritura de la memoria. Esta protección mejorada se logra mediante el cifrado de datos en tránsito. Dentro del chip, los datos necesarios para la autenticación se almacenan en texto sin formato.
El cifrado de acceso de escritura utiliza un pad de un solo uso (OTP) calculado a partir de una semilla de cifrado proporcionada por el host. El secreto de un autenticador seguro. Parte del ID de ROM del autenticador. y otros datos (relleno, formato y datos relacionados con la dirección de datos).
Como se muestra en la Figura 5, estos elementos de datos forman un mensaje que se procesa de acuerdo con el algoritmo SHA-256. El código de autenticación del mensaje resultante es OTP. El host realiza un XOR de los datos correspondientes en la OTP con los nuevos datos de la memoria antes de enviarlos al autenticador. El autenticador vuelve a hacer XOR para restaurar los datos originales programados en la EEPROM del usuario. El host proporciona una semilla de cifrado que debe ser un número aleatorio. De esta manera, incluso si el host escribe los mismos datos una y otra vez a alguien que escucha a escondidas en el bus I2C, los datos cifrados siempre se verán diferentes.
El cifrado de acceso de lectura es más similar al cifrado de acceso de escritura. Los elementos de datos de los mensajes son esencialmente los mismos, pero hay una diferencia en los “otros datos” que hace que una OTP de acceso de lectura difiera de una OTP de acceso de escritura, incluso si los demás componentes son idénticos.
Como se muestra en la Figura 6, el autenticador seguro recupera datos de la memoria del usuario, realiza OTP y XOR, y los pone a disposición para acceso de lectura desde el host. Luego, el host realiza un XOR utilizando esa versión de OTP. Si el host puede calcular el secreto del autenticador seguro y la OTP utilizada para el cifrado, el paso XOR descifrará correctamente los datos. Una vez más, el host proporciona una semilla de cifrado, que debe ser un número aleatorio. Incluso si el host lee repetidamente los mismos datos a alguien que escucha a escondidas en el bus I2C, los datos siempre se verán diferentes.
resumen
Con tamaños de secreto, desafío y MAC de 256 bits cada uno, SHA-256 es una mejora significativa con respecto a la antigua autenticación SHA-1. Este artículo presentó un autenticador seguro moderno que coincide con el sistema host (controlador host con coprocesador seguro SHA-256) y el módulo de sensor/periférico (autenticador seguro SHA-256). La seguridad SHA-256 nunca ha sido tan fácil.