Documentation Index
Fetch the complete documentation index at: https://docs.zerokeyusb.com/llms.txt
Use this file to discover all available pages before exploring further.
Arquitectura de firma segura
Para proteger la clave secreta BLAKE2s (ZK_SECRET_KEY) y mantener la WebTool pública, ZeroKeyUSB usa un proceso de firma offline.
🔑 El secreto: clave de firma
- Residencia: La clave secreta de 32 bytes existe solo dentro de la herramienta de firma offline privada y en el propio bootloader del dispositivo.
- Función: La clave se usa para calcular el MAC BLAKE2s del firmware.
- Seguridad: Como la WebTool es pública, este enfoque garantiza que ningún usuario o atacante puede extraer la clave de firma para crear su propio firmware oficial.
✍️ Proceso de firma (offline)
- Entrada: El binario del firmware (
firmware.bin) listo para release. - Cálculo: La herramienta calcula el CRC32 y el MAC BLAKE2s (16 bytes) del fichero.
- Creación del footer: Ensambla la estructura del footer de seguridad con el Magic Number, la longitud del código, el CRC32 y el MAC.
- Concatenación: El footer se concatena al final del binario del firmware.
- Salida: Se produce un único fichero binario pre-firmado (
firmware_signed_footer.bin), listo para ser subido por la WebTool pública.
📦 Reproducibilidad y transparencia
Aunque la clave de firma es secreta, el firmware sigue siendo open source y auditable. El proceso garantiza que:- Solo el equipo de desarrollo puede crear un binario que el bootloader acepta como oficial (saltándose el retraso de 15 segundos).
- Se mantiene el principio de que no hay mecanismos de firma o actualización remota.