En nuestra industria se ha hecho mucho para garantizar que los usuarios de bitcoin puedan mantener sus monedas de manera segura. Trabajamos para asegurarnos de que incluso los escenarios de ataque más improbables sean inviables para un atacante.

Sin embargo, hay una parte en la experiencia del usuario donde la seguridad aún no ha alcanzado un estándar que podamos calificar como “seguro”.

Exchanges

Para adquirir bitcoin, la mayoría de los usuarios actualmente utilizan exchanges centralizados como Coinbase, Kraken o Bitstamp. Crean una cuenta, completan un proceso KYC, hacen una transferencia bancaria y compran sus primeros satoshis.

Como no quieren confiar su dinero al exchange, lo retiran a su propia billetera de hardware.

El proceso actual de retiro

Durante el proceso de retiro, la mayoría de los exchanges piden al usuario que indique la cantidad de bitcoin que desea retirar y una dirección de bitcoin a la cual enviarlos. El usuario utiliza su billetera de hardware para generar una nueva dirección de bitcoin, copia esa dirección en la interfaz del exchange y verifica que coincida con la mostrada en la pantalla de su billetera antes de hacer clic en “Retirar”.

El proceso habitual de retiro en los exchanges

Algunos exchanges luego requieren que el usuario confirme el retiro mediante un correo electrónico o un código 2FA. Una vez que el usuario ha confirmado la transacción, el exchange envía los bitcoin a la dirección proporcionada.

Por qué no es seguro

El usuario sabe qué dirección envió al exchange, pero ¿cómo puede saber qué dirección recibió realmente el exchange? ¿Está realmente enviando el dinero a la dirección correcta?

En un dispositivo comprometido, un atacante puede inyectar su propia dirección de bitcoin

Un complemento malicioso del navegador o algún tipo de virus podría fácilmente simular que está enviando la dirección correcta al exchange, cuando en realidad está enviando una dirección controlada por un atacante.

Es suficiente con que el complemento del navegador reemplace automáticamente la dirección de bitcoin enviada al exchange en segundo plano, mientras sigue mostrando la dirección que el usuario pegó. Dado que la mayoría de los complementos del navegador se actualizan automáticamente, las probabilidades de una actualización maliciosa son razonablemente altas.

Una solución incómoda

ara confirmar que el exchange ha recibido los datos auténticos del retiro, el usuario debería verificarlos en un segundo dispositivo. Como la mayoría de los exchanges no incluyen los detalles del retiro (como montos y direcciones) en los correos electrónicos por motivos de privacidad, el usuario necesita iniciar sesión por segunda vez en otro dispositivo y comprobar que la información en su cuenta coincida con la de su billetera de hardware.

Confirmar tu dirección en un segundo dispositivo es fácil con el widget de Pocket

Lamentablemente, debido a lo engorroso del proceso, la mayoría de los usuarios no lo hacen. En algunos exchanges, ¡incluso es imposible retirar tus monedas de forma segura!

Por esta razón, el widget de Pocket Bitcoin dentro de la BitBoxApp ofrece una forma bastante sencilla de confirmar tu dirección de bitcoin “fuera de banda”. Recibes un correo de confirmación que contiene un enlace al sitio web de Pocket. Este enlace muestra la dirección de retiro de bitcoin y es fácil de abrir en un segundo dispositivo, como tu teléfono.

Pero incluso con esta implementación más práctica del proceso de retiro de Pocket, la mayoría de las personas simplemente abre el correo en el mismo dispositivo y no verifica la dirección en un segundo dispositivo.

Una solución conveniente

Entonces, ¿cómo podríamos hacer este proceso más seguro y al mismo tiempo más conveniente?

Por supuesto, ¡utilizando criptografía!

Comunicación

¿Qué pasaría si nuestra billetera de hardware pudiera comunicarse directamente con el exchange sin que nadie pudiera manipular la información? Este tipo de comunicación segura es muy común hoy en día: el cifrado de extremo a extremo es el estándar en la mayoría de las aplicaciones de mensajería directa, servicios VPN e incluso en el sitio web que estás navegando ahora mismo.

Cifrado

Si la billetera de hardware del usuario puede cifrar su dirección de retiro (o incluso su xpub) de forma que solo el exchange pueda descifrarla, el usuario puede estar seguro de que nadie podrá alterarla. Al almacenar la clave pública del exchange (pubkey) en su firmware, la billetera puede crear un mensaje cifrado que contenga todos los datos que el exchange necesita para procesar el retiro.

Contenido del mensaje cifrado

Ahora, el exchange solo necesita demostrar al usuario que efectivamente recibió la dirección correcta. Para esto, la billetera de hardware incluye un secreto aleatorio en el mensaje cifrado enviado al exchange. Para probar que recibió la dirección correcta, el exchange presenta el secreto descifrado al dispositivo del usuario.

Un atacante no puede conocer el secreto de antemano porque no tiene la clave privada necesaria para descifrar el mensaje. Solo el exchange posee esa clave.

El mensaje está cifrado para asegurar que el dispositivo anfitrión no pueda conocer su contenido

Para evitar un ataque man-in-the-middle, el mensaje cifrado también debe incluir la cuenta del usuario, por ejemplo, su dirección de correo electrónico. De lo contrario, el atacante podría simplemente usar su propia cuenta en el exchange para obtener el secreto y mostrarlo en la computadora de la víctima.

Verificación

En lugar de verificar una dirección de bitcoin, el usuario verifica el secreto y el correo electrónico

Para retirar bitcoin de forma segura del servicio, todo lo que el usuario debe hacer es comparar el secreto descifrado mostrado en el sitio web con el que aparece en la pantalla de su billetera de hardware y verificar que la dirección de correo electrónico mostrada sea la suya.

Conclusión

Por supuesto, un protocolo de retiro como este debe ser desarrollado, estandarizado e implementado tanto por los exchanges como por las billeteras de hardware. Queremos utilizar esta publicación para medir el interés en dicho protocolo, no solo por parte de los usuarios, sino también de los exchanges y brókeres de bitcoin.

Si estás interesado en hacer que la autocustodia sea más segura para tus clientes o tienes comentarios sobre esta idea, ¡ponte en contacto con nosotros!


Preguntas frecuentes (FAQ)

¿Por qué se considera inseguro el proceso actual de retiro en los exchanges?

El proceso es vulnerable a ataques en los que una entidad maliciosa puede reemplazar la dirección de bitcoin proporcionada por el usuario con la suya propia, lo que puede provocar la pérdida de fondos.

¿Cómo puede un dispositivo comprometido representar una amenaza durante un retiro?

En un dispositivo comprometido, un complemento del navegador o virus malicioso puede reemplazar la dirección de bitcoin del usuario con una controlada por un atacante sin que el usuario lo note.

¿Cuál es la “solución incómoda” para garantizar un retiro seguro?

El usuario debería confirmar los detalles del retiro en un segundo dispositivo. Sin embargo, este método es engorroso y la mayoría de los usuarios lo omite.

¿Cómo mejora el widget de Pocket Bitcoin la seguridad en los retiros?

Permite a los usuarios confirmar su dirección de bitcoin “fuera de banda”, enviando un correo de confirmación con un enlace para verificar la dirección de retiro en un dispositivo diferente.

¿Cuál es la “solución conveniente” propuesta para retiros seguros?

Mediante el uso de criptografía, una billetera de hardware puede comunicarse directamente con el exchange, garantizando que la información no sea manipulada durante el proceso de retiro.


¿Aún no tienes una BitBox?

Mantener tus criptomonedas seguras no tiene por qué ser difícil. La billetera física BitBox02 almacena las claves privadas de tus criptomonedas offline. Así podrás gestionar tus monedas de forma segura.

La BitBox02 también viene en versión sólo Bitcoin, con un firmware radicalmente enfocado: menos código significa menos superficie de ataque, lo que mejora aún más tu seguridad cuando sólo almacenas Bitcoin.

¡Hazte con una en nuestra tienda!


Shift Crypto es una empresa privada con sede en Zurich, Suiza. Nuestro equipo de colaboradores de Bitcoin, expertos en criptomonedas e ingenieros de seguridad crea productos que permiten a los clientes disfrutar de un viaje sin estrés desde el nivel de principiante hasta el nivel de maestría en la gestión de criptomonedas. La BitBox02, nuestra billetera de hardware de segunda generación, permite a los usuarios almacenar, proteger y realizar transacciones con Bitcoin y otras criptomonedas con facilidad, junto con su software complementario, la BitBoxApp.