¿Tienes secretos y quieres mantenerlos a salvo? La mayoría de los microcontroladores no están diseñados para protegerse de los fisgones, pero se puede utilizar un chip de criptoautentificación para bloquear las claves privadas de forma segura.
Una vez guardada la clave privada en su interior, no se puede leer, lo único que se puede hacer es enviarle consultas de reto-respuesta. Esto significa que aunque alguien se haga con tu hardware y pueda leer el firmware, no podrá extraer el secreto.
El ATECC608 es el último chip criptográfico de Microchip, y utiliza I2C para enviar/recibir comandos. Una vez que "bloquees" el chip con tus datos, podrás utilizarlo para encriptar/desencriptar/firmar con ECDH y AES-128. También hay soporte de hardware para la generación de números aleatorios, y funciones hash SHA-256/HMAC para acelerar en gran medida los comandos de criptografía de un micro más lento.
Estamos empezando a ver estos chips de elementos seguros de bajo coste en varios productos, de modo que se puede utilizar un chip menos caro para manejar periféricos, sin preocuparse por la seguridad. Este chip no tiene una hoja de datos pública, pero es compatible con la versión anterior ATECC508 que sí la tiene, así que consulte esa hoja de datos completa, así como la hoja de resumen de ATECC608. La buena noticia es que, a pesar de no contar con una documentación completa, existe un soporte de software. Para el uso de Arduino, consulte la biblioteca Arduino ATECCx08. Para Python y C/C++ consulta Microchips Cryptoauthlib (sí, nosotros también pensamos que es extraño que no haya hoja de datos pero sí código publicado)
Para facilitar al máximo el trabajo con el ATECC608, Adafruit lo ha colocado en una placa de circuito impreso con los circuitos de soporte necesarios y SparkFun conectores STEMMA QT compatibles con qwiic. Esto le permite utilizarla con otras placas equipadas de forma similar sin necesidad de soldar. Este chip funcionará con micros de alimentación/lógica de 3,3V o 5V, por lo que está preparado para trabajar con una gama de placas de desarrollo.
Por favor, tenga en cuenta que la dirección I2C está fijada en 0x60 y, según Microchip, debería utilizarlo a velocidades I2C más altas, como 400KHz, si hay otros dispositivos en el bus I2C, para evitar cierta contención del bus I2C (al igual que la hoja de datos, esto no está documentado en ningún sitio todavía)
Candado transparente y cable STEMMA QT no incluidos
DETALLES TÉCNICOS
Dimensiones del producto: 25.5mm x 17.7mm x 4.7mm / 1.0" x 0.7" x 0.2"
Peso del producto: 1.8g / 0.1oz
LEARN
Guía principal: Adafruit ATECC608 Breakout - ¿Tienes secretos y quieres mantenerlos a salvo? ¡El ATECC608 lo tiene cubierto!