El fabricante de una billetera de hardware proporciona el firmware que maneja tus claves privadas, por lo que sigue siendo necesario confiar en él en cierta medida. BitBox reduce esa dependencia mediante firmware de código abierto, compilaciones reproducibles e investigación de seguridad independiente. Estas medidas permiten examinar cómo está implementado el producto, pero no garantizan que se descubran todas las vulnerabilidades o puertas traseras introducidas deliberadamente.
Poder examinar un diseño no equivale a demostrar que no tiene puntos débiles. Entender qué permite comprobar cada medida te ayuda a valorar la confianza que sigue siendo necesaria.
El código abierto permite examinar las funciones de la billetera
BitBox publica el código fuente del firmware de la billetera y de la BitBoxApp. Los investigadores pueden revisar cómo genera y maneja los secretos el firmware, cómo deriva las claves y cómo firma las transacciones. El historial público de cambios también permite examinar qué se ha modificado entre versiones.
No necesitas revisar todo ese código por tu cuenta para beneficiarte de las investigaciones independientes. Sin embargo, que el código sea público no demuestra que se haya revisado cada parte ni que el software ejecutado en un dispositivo concreto corresponda a ese código.
Las compilaciones reproducibles vinculan el código con el programa publicado
Una compilación reproducible permite compilar el código fuente publicado de una versión del firmware y comparar el programa resultante con el firmware distribuido. Si coinciden, el resultado ayuda a comprobar que el programa publicado se ha generado a partir de ese código fuente.
Esta comprobación es distinta de verificar la firma oficial del firmware. La firma identifica el firmware autorizado por el fabricante; la reproducibilidad permite que otras personas comprueben la correspondencia entre el código fuente y el programa publicado. Ninguna de las dos demuestra que el programa esté libre de errores o de comportamiento malicioso: un código dañino también podría ser público y compilarse de forma reproducible.
Un chip seguro no sustituye al firmware de código abierto
BitBox combina un microcontrolador, que ejecuta el firmware de código abierto de la billetera, con un chip seguro independiente. La semilla —el punto de partida secreto del que se derivan las claves de la billetera— se almacena cifrada en el microcontrolador. El chip seguro aporta protección al desbloquearla y limita y ralentiza los intentos de adivinar la contraseña del dispositivo, sin recibir la semilla ni las claves privadas.
La derivación de claves y la firma de transacciones se realizan en el microcontrolador mediante el firmware de código abierto. Esta separación permite utilizar un chip seguro para reforzar la protección física y mantener las funciones de la billetera abiertas a revisión. Reduce la dependencia del chip seguro, pero no elimina la necesidad de evaluar el firmware, el diseño del hardware y sus limitaciones.
Para conocer los principios generales del diseño, lee qué hace segura a una billetera de hardware. El artículo del blog de BitBox sobre cómo combinar un chip seguro con firmware de código abierto ofrece más detalles técnicos sobre la arquitectura. La versión actualizada en inglés también explica las diferencias entre modelos.
La investigación independiente ayuda a descubrir vulnerabilidades
BitBox fomenta la investigación de seguridad independiente mediante su programa de recompensas por encontrar vulnerabilidades (en inglés). Las investigaciones y los informes de vulnerabilidades pueden revelar problemas que la publicación del código y las compilaciones reproducibles no detectan por sí solas. Su utilidad depende del alcance y de los resultados de cada revisión; la existencia de un programa no demuestra que se hayan encontrado todos los puntos débiles.
Estas medidas reducen la necesidad de depender únicamente de las garantías del fabricante, pero no eliminan por completo la confianza necesaria al utilizar una billetera de hardware. El modelo de amenazas de BitBox (en inglés) describe los supuestos y los límites del diseño. Para conocer los posibles ataques y las responsabilidades que siguen siendo tuyas, lee ¿Se puede hackear una billetera de hardware?