Implemente la autenticación segura sin ser un experto en criptografía

Actualización: 4 de abril de 2023

"La seguridad digital es uno de los temas más conocidos en Electronic diseño hoy. Cifrado es probablemente la primera palabra que les viene a la mente cuando los ingenieros piensan en seguridad, y solo unos pocos ingenieros piensan en autenticación. Sin embargo, la autenticación es una función esencial de un dispositivo o transacción segura.

"

La autenticación es importante. Gracias a las soluciones basadas en silicio existentes, podemos habilitar la autenticación sin necesidad de ser expertos en la implementación de criptografía.

introducir

La seguridad digital es uno de los temas más conocidos en el diseño electrónico en la actualidad. Cifrado es probablemente la primera palabra que les viene a la mente cuando los ingenieros piensan en seguridad, y solo unos pocos ingenieros piensan en autenticación. Sin embargo, la autenticación es una función esencial de un dispositivo o transacción segura.

Considere la verificación de identidad en términos de banca en casa. Obviamente, desea cifrar información confidencial como saldos y números de cuenta. Esto sucede cuando su navegador de Internet muestra un candado verde con https://. Es decir, lo primero que comprueba el navegador de internet al establecer una conexión segura es que la web del banco sea auténtica; en otras palabras, autentica el sitio web del banco. Sin autenticación, podría estar enviando información de inicio de sesión y contraseña a sitios de suplantación de identidad, lo que puede ser muy dañino, ya que esas credenciales pueden reutilizarse para ejecutar cualquier tipo de actividad no autorizada en nombre de una transacción del titular de una cuenta bancaria desprevenida. La navegación segura por Internet suele lograrse mediante el protocolo TLS/SSL, que, además del cifrado, garantiza la autenticidad y la confidencialidad.

La autenticación también es importante para las aplicaciones de Internet de las cosas (IoT): los puntos finales que no son de confianza pueden poner en riesgo infraestructuras enteras. Consideremos un medidor inteligente conectado a un sistema de distribución eléctrica. Una manera fácil para que los atacantes comprometan la red es cargar virus o malware en los medidores inteligentes. Los medidores infectados pueden enviar mensajes falsos a la infraestructura que reflejan un consumo de energía que es significativamente diferente del consumo de energía real, lo que a su vez puede causar que la red se desequilibre. Si la red informa en exceso, hará que el exceso de energía aparente se desvíe a otra parte, pero si la red no informa, provocará un aumento en la energía; en el peor de los casos, el ataque podría desencadenar un apagón total al interrumpir el equilibrio de la red. Para evitar esto, es necesario verificar que el hardware del medidor y su firmware sean genuinos. El proceso de verificación del firmware se denomina Arranque seguro.

Implementar un método de autenticación válido

Ahora que entendemos su importancia, analicemos cómo implementar la autenticación. El método más fácil de autenticación es usar una contraseña. En nuestro ejemplo de medidor inteligente, el dispositivo podría enviar un código al sistema de control de la red. El servidor verificará la contraseña y luego autorizará más transacciones. Si bien este enfoque es fácil de entender, no es de lejos el mejor. Un atacante puede monitorear fácilmente las comunicaciones, registrar la contraseña y reutilizarla para autenticar dispositivos no originales. Por lo tanto, consideramos que la autenticación basada en contraseña es débil.

Una mejor manera de realizar la autenticación en el mundo digital es el método de desafío-respuesta. Veamos dos tipos de métodos de desafío-respuesta: uno basado en criptografía simétrica y el otro basado en criptografía asimétrica.

Autenticación de contraseña simétrica

La autenticación basada en el cifrado simétrico se basa en un secreto compartido. El host y el dispositivo que se va a autenticar tienen el mismo código clave. El host envía un número aleatorio, el desafío, al dispositivo. El dispositivo calcula una firma digital en función de la clave y el desafío y la envía de vuelta al host. Luego, el host ejecuta el mismo cálculo y compara los resultados. Si los dos cálculos coinciden, el dispositivo se autentica (Figura 1). Para garantizar que los resultados no puedan ser imitados, se deben utilizar funciones con suficientes propiedades matemáticas. Por ejemplo, los secretos no se pueden recuperar sin forzar el cálculo del resultado. Las funciones hash seguras, como SHA-256, cumplen con estos requisitos. Para el método de desafío-respuesta, el dispositivo demuestra que conoce el secreto sin revelarlo. Incluso si un atacante intercepta la comunicación, el atacante aún no puede acceder al secreto compartido.


Figura 1. La autenticación basada en el cifrado simétrico se basa en números de clave compartidos entre el host y el dispositivo.

Autenticación criptográfica asimétrica

La autenticación basada en el cifrado asimétrico se basa en dos claves: una clave privada y una clave pública. La clave privada solo la conoce el dispositivo que se va a autenticar, mientras que la clave pública se puede revelar a cualquier entidad que desee autenticar el dispositivo. Al igual que con el método discutido anteriormente, el host envía un desafío al dispositivo. El dispositivo calcula una firma basada en el desafío y la clave privada y la envía de regreso al host (Figura 2). Pero aquí, el host usa la clave pública para verificar la firma. También es importante que la función utilizada para calcular la firma tenga ciertas propiedades matemáticas. Las funciones más utilizadas para esquemas asimétricos son RSA y ECDSA. Aquí, también, el dispositivo demuestra que conoce un secreto, la clave privada, sin revelarla.


Figura 2. La autenticación de clave asimétrica se basa en claves públicas y privadas.

Por qué los circuitos integrados seguros son buenos para la autenticación

La autenticación de desafío-respuesta siempre requiere que el objeto se autentique para preservar el secreto. En el cifrado simétrico, este es un secreto compartido entre el host y el dispositivo. Para el cifrado asimétrico, esta es la clave privada. De todos modos, la seguridad que brinda la autenticación de desafío-respuesta se rompe cuando se filtran los secretos. Aquí es donde los circuitos integrados de seguridad pueden ayudar. Una propiedad esencial de un valor IC es proporcionar una fuerte protección de claves y secretos.

Máxima ofrece tres familias de soluciones habilitadas para la autenticación:

Circuitos integrados de autenticación: estos son dispositivos configurables pero de función fija que brindan la forma más rentable de implementar la autenticación de desafío-respuesta, junto con un conjunto compacto de operaciones criptográficas.

Microcontroladores seguros: además de admitir la autenticación de desafío-respuesta, estos dispositivos brindan un conjunto completo de funciones criptográficas, incluido el cifrado.

Microcontroladores de bajo consumo: si bien estos productos no están específicamente destinados a la seguridad, tienen todos los componentes básicos necesarios para permitir una autenticación sólida.

CI certificado

Entre los circuitos integrados de autenticación, los productos basados ​​en SHA-256 admiten la autenticación mediante un secreto compartido (Figura 3), mientras que los circuitos integrados basados ​​en ECDSA utilizan pares de claves privadas/públicas (Figura 4). Además del motor de cifrado, estos productos también tienen una memoria EEPROM integrada. Esta memoria es configurable y se puede usar para almacenar datos de usuarios autenticados, como información de calibración para sensores.

Los productos basados ​​en SHA-256 son la solución más rentable. Si bien permiten la autenticación mutua, la distribución de la clave compartida requiere algunas precauciones para que la clave no quede expuesta durante la fabricación y configuración del dispositivo. Este secreto se puede programar en la fábrica de Maxim para sortear esta deficiencia.


Figura 3. La autenticación segura SHA-256 se basa en un secreto compartido.

Los circuitos integrados DS28E15/DS28E22/DS28E25 de Maxim se basan en SHA-256 la tecnología y tener diferentes tamaños de memoria interna. Dado que la misma clave se almacena en el lado del host y en el lado del dispositivo, se recomienda utilizar un coprocesador como el DS2465 en el lado del host.

Los productos basados ​​en el cifrado asimétrico (como DS28C36 y DS28E35) brindan una solución más flexible porque no es necesario proteger la clave de la divulgación del lado del host. Sin embargo, para descargar matemáticas de clave pública y proporcionar operaciones de seguridad adicionales, se puede usar un coprocesador del lado del host como el DS2476 (un IC complementario del DS28C36) para simplificar el desarrollo de la solución del sistema.


Figura 4. La autenticación basada en ECDSA se basa en pares de claves pública/privada.

Microcontrolador seguro que admite cifrado simétrico y asimétrico

Maxim ofrece microcontroladores seguros que van desde los procesadores de grado de aplicación MAX32590 (ARM9 que funcionan a 384 MHz) que pueden ejecutar sistemas operativos de alto nivel como Linux, hasta coprocesadores de factor de forma pequeño como MAX32555 o MAXQ1061.

Estos microcontroladores admiten cifrado simétrico y asimétrico y algoritmos criptográficos para firmas digitales y autenticación. Cuentan con aceleradores de hardware para SHA, RSA, ECDSA y AES, así como una biblioteca criptográfica completa, que proporciona una API llave en mano que cumple con los estándares. Tienen una función de arranque seguro incorporada, por lo que la autenticidad del firmware siempre está garantizada. Pueden manejar una amplia variedad de esquemas de autenticación debido a su completo conjunto de funciones de cifrado.

El MAXQ1061 es un coprocesador que no solo admite autenticación, sino que también maneja los pasos más críticos en el protocolo de comunicación IP seguro estándar TLS/SSL. El procesamiento del protocolo TLS en el chip aumenta el nivel de seguridad y descarga al procesador principal de las tareas informáticas intensivas. Esto es muy valioso para los sistemas integrados con recursos limitados.

microcontrolador de baja potencia

Los microcontroladores de baja potencia como el MAX32626 están destinados a dispositivos portátiles y, por lo tanto, no son circuitos integrados "centrados en la seguridad". Sin embargo, el producto está diseñado teniendo en cuenta los futuros desafíos de seguridad a medida que los ataques se vuelven más frecuentes. Por lo tanto, el MAX32626 tiene una unidad de protección de confianza de hardware que admite autenticación, así como AES de hardware para cifrado y arranque seguro integrado.