Billeteras de hardware: ¿son realmente seguras?

¿Las billeteras de hardware, también llamadas billeteras frías y supuestamente la opción de almacenamiento criptográfico más segura, son realmente seguras?

billeteras de hardware son seguras

Para responder a esta pregunta, debemos entender cómo funcionan las billeteras de hardware. Por supuesto, no todas las billeteras de hardware tienen el mismo diseño, pero con suerte, después de leer esto, tendrás una mejor idea de lo que hace a una billetera de hardware y qué tipo de seguridad ofrecen.

Los usuarios expertos en criptomonedas hablan de «verificar, no confiar», lo que en realidad significa que prefieren poder ver el código fuente por si mismos para poder verificar que una blockchain, un smart contract o un dispositivo, hacen lo que se supone que debe hacer (y que no es malicioso) sin tener que confiar a ciegas en la palabra de otro.

Pero muchas billeteras de hardware mantienen su código privado para que no podamos ver cómo funcionan realmente. Esto se debe a dos razones: 1) les preocupa que las personas puedan hackearlo más fácilmente si supieran el código, y 2) parte del firmware que usan no es suyo y están obligados a no compartirlo.

¿Qué es el firmware? Tomemos un minuto para definir algunos términos que usaremos a lo largo de esta explicación.

Terminología

Una billetera de hardware es un dispositivo físico que se usa para crear direcciones de criptomonedas y firmar transacciones (algunas de ellas no crean la dirección de la billetera, pero hablaremos de eso un poco más adelante).

Se requieren tres cosas para que una billetera de hardware funcione. Van en el siguiente orden:

  • Hardware – dispositivo físico
  • Firmware – código
  • Software – código

Para que el hardware funcione, debe haber un código que le diga qué hacer. El tipo de código más fundamental que da instrucciones al hardware se llama firmware. Es necesario para que el dispositivo funcione y no se cambia ni actualiza regularmente. El firmware suele ser una parte del sistema operativo (SO) de un dispositivo, pero a veces es el sistema operativo completo. Te explicamos por qué un poco más adelante.

¿Alguna vez has comprado una computadora que no tenía un sistema operativo ya instalado? Aún en este caso necesitas poder encenderlo y ejecutar el programa que instalará el sistema operativo, y el firmware es el código que le permite hacerlo.

Otras partes de un sistema operativo son el software que describe los códigos que permiten que los programas funcionen. Cuando usamos una computadora u otro dispositivo electrónico, generalmente interactuamos con el software, como Microsoft Office o Discord. El firmware se ejecuta en segundo plano.

Seguridad de las billeteras de hardware

Cuanto más complejo es un dispositivo, más software necesita. El firmware proporciona instrucciones realmente básicas, por lo que si deseas poder usar múltiples cadenas de bloques o ver tus NFT en tu dispositivo, eso requiere software.

Cuanto más software tiene algo, más posibilidades hay de que sea pirateado. El código es complicado y solo se necesita un error para poner en riesgo la seguridad del dispositivo. Cuanto más código haya, más errores podría haber.

El código también necesita ser actualizado. Imagina que tienes un montón de software en tu dispositivo y alguien se da cuenta de que hay una vulnerabilidad: un error en el código. El código debe actualizarse para corregir el error.

Algunas personas argumentan que el firmware no debería poder actualizarse. Para las billeteras de hardware, el firmware es (la mayoría de las veces) lo que genera la clave privada para tu billetera. Algunas personas dicen que no debería poder hacer nada más que decir cuáles son las claves públicas y privadas. No debería poder conectarse a Internet ni enviar o recibir información.

Para que cualquier software (firmware incluido) se actualice, debe poder conectarse a Internet, o al menos conectarse a una fuente externa que contenga el nuevo código. Si el firmware se puede actualizar, eso significa que alguien con malas intenciones podría impulsar una actualización que les permita obtener su clave privada. Pero imagina que el firmware se envió originalmente con una vulnerabilidad. Si alguien descubre la vulnerabilidad y quiere solucionarla, debe poder actualizar el firmware.

Para resolver este problema, algunas billeteras de hardware usan otra capa de seguridad llamada chip seguro. Este es un chip de computadora que está destinado a ser seguro tanto física como digitalmente.

Por supuesto, si alguien obtiene tu billetera de hardware, hay formas de piratearla sin saber tu contraseña. Se necesita habilidad, pero hay formas de «fuerza bruta» para entrar en la tecnología de alguien. Los chips seguros están destinados a proteger contra estos ataques físicos.

El cifrado se utiliza para protegerse contra los ataques digitales, pero parte del código y la información no deben cifrarse para poder usar aplicaciones y recibir actualizaciones.

Resumen

Bien, esto ya es mucha información. Recapitulemos.

Una billetera de hardware requiere al menos dos cosas: el dispositivo físico y el firmware. El software para aplicaciones es opcional (aunque común).

Hay dos tipos de seguridad por los que debemos preocuparnos, en general: física y digital.

La seguridad física significa que alguien podría obtener el dispositivo real y entrar para obtener acceso a su billetera.

La seguridad digital es si alguien no tiene acceso físico a tu dispositivo, por lo que está tratando de piratearlo a través del software (y/o firmware).

Si un dispositivo usa cifrado, agrega otra capa de seguridad porque incluso si alguien obtiene acceso físico o digital a tu dispositivo, aún necesita saber cómo descifrar la información. Por lo general, son sus claves privadas las que están encriptadas.

Cifrado

Es importante saber que incluso si tus claves privadas están encriptadas, si alguien obtiene acceso a tu dispositivo, es posible que no necesite conocer las claves privadas, siempre que pueda forzar el paso de las firmas.

Cuando realiza una transacción, firma la aprobación en tu dispositivo. La transacción no conoce tu clave privada, por lo que si alguien puede forzar la aprobación, no es necesario que descifre tu clave privada.

Mejores prácticas para proteger tu billetera de hardware

Ahora que tienes una idea de lo que se incluye en una billetera de hardware, podemos hablar sobre cómo organizarla mejor.

Lo ideal es que desees un hardware que no se pueda comprometer físicamente y un software que sea de código abierto y tenga cifrado incorporado. También debes asegurarte de que la clave privada nunca tenga la posibilidad de salir de tu dispositivo o de que alguien pueda acceder a ella a través de internet o de un software malicioso.

Hasta ahora, la mayoría de las empresas tienen que dejar de lado una de estas cosas para que funcione. Por ejemplo, la mayoría de los chips seguros son de código cerrado por naturaleza, por lo que en realidad no sabemos qué código se usa o cómo funcionan.

Una forma de lograr todas estas cosas sin comprometer la seguridad podría ser tener una billetera de hardware que:

  • usa un programa encriptado para generar aleatoriamente la dirección de la billetera
  • encripta la dirección de la billetera y la divide en tres partes
  • almacena una parte en un chip seguro, una bajo protección de contraseña y la tercera solo se desbloquea si las otras dos se desbloquean con éxito (lo que significa que el dispositivo físico se ha desbloqueado y la contraseña desbloqueó la segunda parte)
  • descifra las tres piezas juntas con una contraseña diferente
  • se asegura de que el chip no pueda acceder a Internet y se ejecuta mediante un firmware que no se puede actualizar
  • limita la cantidad de intentos de acceder al dispositivo antes de que se reinicie automáticamente
  • código fuente abierto

De esta manera, el dispositivo solo se puede usar si alguien tiene acceso al dispositivo físico, al software a través de una contraseña y al descifrado a través de otra contraseña. Eso significa que un pirata informático necesitaría piratear tres cosas separadas, y las posibilidades de que eso suceda en una cantidad limitada de intentos son escasas (aunque no imposibles).

Esto no es perfecto, pero permitiría que el código sea de código abierto mientras mantiene su billetera lo más segura posible.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.