Ir al contenido principal

Mecanismo de Seguridad de OneKey Transfer

Actualizado hoy

OneKey Transfer es una función dentro de la OneKey App que mueve de forma segura las claves privadas de tu billetera de software entre tus dispositivos. Esta guía explica las múltiples capas de seguridad que protegen tus datos.

Nota sobre Billeteras: Esta función es actualmente solo para billeteras de software. El soporte para billeteras de hardware es más complejo y se agregará en una versión futura.


Principios Fundamentales

Nuestra seguridad se basa en tres promesas clave:

  • Código Abierto y Confiable

    El código de nuestra aplicación y servidor es público. Cualquiera puede revisarlo para verificar nuestras afirmaciones de seguridad.

  • Cifrado de Extremo a Extremo (E2EE)

    Tus datos se cifran en tu dispositivo y solo se descifran en el dispositivo de destino. Nadie en el medio, ni siquiera OneKey, puede leerlos.

  • Conocimiento Cero del Servidor

    Nuestro servidor solo actúa como un controlador de tráfico para conectar tus dispositivos. No tiene acceso ni conocimiento de los datos que se transfieren.


Cómo se Construye la Clave de Cifrado

Tus datos se bloquean con una clave compuesta por múltiples partes independientes. Un atacante necesitaría robar todas las partes de diferentes lugares simultáneamente para intentar descifrar el cifrado.

1. Clave Compartida Dinámica (ECDHE)

  • Qué es: Una clave compartida temporal y de un solo uso creada directamente entre tus dos dispositivos al inicio de la sesión.

  • Punto Clave: Esta clave nunca se transmite ni la ve el servidor. Hace que la conexión sea segura incluso si tu Código de Emparejamiento es interceptado (por ejemplo, a través de grabación de pantalla).

2. El Código de Emparejamiento

  • Primeros 10 Caracteres: Se envían al servidor para identificar qué dispositivos desean conectarse.

  • Últimos 40 Caracteres: Se utilizan como un ingrediente secreto para la clave de cifrado final. Esta parte nunca se envía al servidor.

3. Ingredientes Secretos Adicionales

  • De Tu Dispositivo (Local): La contraseña de bloqueo de tu dispositivo, un número aleatorio para la transferencia, un ID único para tu instancia de aplicación y un secreto de aplicación incorporado (salt).

  • De la Nube (Servidor): Un ID de conexión temporal y otro número aleatorio generado por el servidor para la sesión.

En resumen, esta composición de claves de múltiples fuentes crea una barrera de seguridad increíblemente alta. Para tener alguna posibilidad de descifrar tus datos, un atacante tendría que violar simultáneamente el servidor (para secuestrar datos, obtener partes de la clave del lado de la nube y manipular la clave ECDHE a través de un ataque de intermediario) Y grabar la pantalla de tu aplicación (para robar el código de emparejamiento y otras partes de la clave local).


Defensas y Verificaciones

Utilizamos varias medidas activas para bloquear ataques y garantizar que tengas el control.

Protección del Lado del Servidor

  • Anti-Brute-Force:

    • Limitación de Tasa: Un solo dispositivo solo puede realizar una solicitud cada 3 segundos, lo que evita ataques de fuerza bruta.

    • Límites de Intentos: El Código de Emparejamiento solo se puede intentar 10 veces. Después de 10 fallos, la sesión se termina.

Verificación Controlada por el Usuario

  • Verificación de Contraseña de Bloqueo de Pantalla

    • Qué Haces: Debes ingresar la contraseña de tu teléfono para autorizar la transferencia.

    • Por Qué Importa: Asegura que alguien que tome tu teléfono desbloqueado no pueda robar tus claves.

  • Verificación Física de 6 Dígitos

    • Qué Haces: Después de emparejar, debes confirmar físicamente que un código de 6 dígitos coincide en las pantallas de ambos dispositivos.

    • Por Qué Importa: Esto detiene un ataque de intermediario. Un hacker no puede completar la transferencia porque no puede ver el código en tu segundo dispositivo.

  • Código de Emparejamiento de Uso Único

    • Qué es: El Código de Emparejamiento caduca después de un uso exitoso.

    • Por Qué Importa: Esto presenta una defensa de "conexión preventiva". Si un hacker roba tu código y se conecta primero, tu propio intento de conexión legítima desconectará forzosamente al hacker, asegurando que solo tú puedas proceder.

Opciones Avanzadas

Gracias a nuestro código de código abierto, puedes mejorar aún más la seguridad y privacidad de tus transferencias de datos:

  • Auto-Alojar Tu Servidor: Implementa nuestro código de servidor en tu propio servidor, luego conéctate a él seleccionando la opción "Servidor Personalizado" en la aplicación. Esto te da un control total sobre tus datos.

  • Transferencia por LAN (Próximamente): En una versión futura, la aplicación de escritorio de OneKey podrá actuar como un relé de Red de Área Local (LAN). Esto permitirá que tus dispositivos transfieran datos sin tocar nunca Internet público, logrando un verdadero aislamiento físico.

¿Ha quedado contestada tu pregunta?