Introducción
En este post vamos a ver cómo funciona el microchip ATECC608A. Es un microprocesador utilizado para la seguridad de la red y la autentificación. Por ello, es muy importante proporcionar seguridad a todos aquellos dispositivos que no la tienen en sus versiones de stock.
Enlaces relacionados
Computer Networking: A top Down Approach, Jim Kurose, Keith Ross (bibiliografía de las imágenes y es interesante para información relacionada)
Microchip
Tiene todos los mecanismos para proporcionar una gama completa de seguridad, como la confidencialidad, la integridad de los datos y la autentificación a los sistemas con MCU o MPU que ejecutan algoritmos de cifrado/descifrado. Emplea un almacenamiento ultra seguro de claves criptográficas basado en hardware y contramedidas criptográficas que eliminan posibles puertas traseras relacionadas con las debilidades del software.
El dispositivo es agnóstico de cualquier microprocesador o microcontrolador y es compatible con los MCU o MPU de Microchip AVR/ARM. Ofrece un consumo de energía extremadamente bajo, requiere solo una única GPIO en un amplio rango de voltaje y tiene un factor de forma diminuto, lo que lo hace ideal para una variedad de aplicaciones que requieren una mayor duración de la batería y factores de forma flexibles.
Características clave
Coprocesador criptográfico con almacenamiento seguro de claves basado en hardware.
Almacenamiento protegido para hasta 16 claves, certificados o datos.
Soporte de hardware para firma asimétrica, verificación, acuerdo de claves - ECDSA.
Soporte de hardware para algoritmos simétricos.
Soporte de gestión de claves en red.
Soporte de arranque seguro.
Etc.
Sistemas de seguridad
Curva elíptica Diffie Hellman (ECDH)
Es un protocolo ultra seguro que proporciona un acuerdo de clave para el cifrado/descifrado. Se basa en el establecimiento de claves, totalmente anónimo, que permite a las dos partes (cada una tiene un par de claves de curva elíptica privadas-públicas) establecer un secreto compartido en un canal inseguro. Este secreto compartido puede ser usado directamente como clave o para derivar otra clave. La clave, o la clave privada, puede utilizarse para cifrar comunicaciones sucesivas utilizando la clave simétrica. La parte de la curva elíptica se basa en que ambas partes tienen un par de claves de criptografía especializadas (una pública y otra privada, como vimos anteriormente). La encriptación de clave pública y privada es un método en el que podríamos profundizar mucho más, así como la función hash, que se suele aplicar al secreto con el fin de eliminar los bits débiles debidos al intercambio Diffie-Hellman.
En esta imagen podemos ver un ejemplo de la criptografía de clave simétrica, pero hay que tener en cuenta que ésta es sólo una parte, en ausencia de la clave Privada-Pública y de las partes de hash si son necesarias. (No es exactamente el mecanismo ECDH, es sólo para fines de explicación).
Algoritmo de firma digital de la curva elíptica (ECDSA)
Es una autentificación de verificación de signos para el mercado de Internet de las cosas. La principal ventaja de este sistema es que requiere números más pequeños para proporcionar el mismo nivel de seguridad que la DSA o la RSA. Todo el proceso consiste en generar las claves (sistema de claves previas Privado-Público), hacer el signo y hacer la verificación (usando algoritmos matemáticos).
Aquí puedes ver otro ejemplo y, como en el anterior, las dos partes están representadas por Bob y Alice. Bob envía un mensaje firmado digitalmente; por un lado, el mensaje grande se envía en el formato original y, por otro lado, se aplica un hash al mensaje para asegurar su integridad, se firma digitalmente (encriptado) con la clave privada de Bob y se envía también. Después de eso, Alice verifica la firma y la integridad del mensaje firmado digitalmente; por un lado, aplica una función de hash al mensaje y, por otro lado, descifra el mensaje cifrado con la clave pública de Bob. Tiene dos mensajes cifrados con la misma función de control y los compara para verificar la autentificación de Bob. (No es exactamente el mecanismo de la ECDSA, es sólo para fines explicativos).