Trusted Codes
BlogOctubre de 20264 min de lecturaENDEESFRITNL

¿No es esto una app de autenticación? Mismo algoritmo, otra función

Mismo algoritmo, otra función: seis diferencias y una respuesta sincera a la pregunta de los 30 segundos.

Cuando alguien ve Trusted Codes por primera vez, los lectores con perfil técnico suelen decir: «O sea, que es una app de autenticación». Tienen media razón. En el fondo, las dos usan el mismo algoritmo. Pero un cuchillo y un tenedor también son de metal, y nadie los usa para lo mismo.

Qué es igual

Las apps de autenticación como Google Authenticator usan TOTP, el algoritmo de contraseñas de un solo uso basadas en el tiempo, publicado como estándar abierto RFC 6238. Entran un secreto compartido y la hora actual, y sale un código corto. Trusted Codes usa exactamente este estándar, con la misma función HMAC. No hemos inventado nuestra propia criptografía, y es intencionado: TOTP lleva más de una década estudiándose y usándose.

La diferencia está en todo lo demás.

1. Funciona entre personas, en cualquier canal

Una app de autenticación protege una puerta: el inicio de sesión en una web. El código pasa de tu móvil a un formulario, y un servidor lo comprueba.

Trusted Codes funciona entre dos personas. El código pasa de una persona a otra: dicho por teléfono, pronunciado en una videollamada, escrito en un chat o en un correo, o pedido en la puerta de entrada. Piensa en una contraseña que sirve en cualquier situación, mientras que la app de autenticación abre una sola puerta.

2. Palabras en lugar de cifras

Una app de autenticación muestra «482 913». Trusted Codes muestra tres palabras, por ejemplo «río vela objeción».

Las cifras están pensadas para máquinas. Lee «482 913» en voz alta por una línea con mala cobertura, con prisa, y verás cuántas veces la otra persona apunta «482 930». Las palabras son más fáciles de decir, de oír bien y de retener los pocos segundos que lleva compararlas. Por eso los centinelas piden una contraseña y no un PIN.

Además, las palabras son más fuertes que las cifras. Seis cifras permiten 1.000.000 de combinaciones. Trusted Codes toma 33 bits del mismo algoritmo y los traduce a tres palabras de una lista de 2048. Eso da 8.589.934.592 combinaciones. Un solo intento acierta con una probabilidad de aproximadamente 1 entre 8.600 millones.

Las listas de palabras existen en nueve idiomas: inglés, alemán, francés, español, italiano, neerlandés, portugués, latín y esperanto. Los dos últimos están pensados para equipos que no quieren depender de ningún idioma nacional. El idioma cambia las palabras que ves, no lo difícil que es adivinarlas.

3. El código te dice quién habla

Con una app de autenticación tienes que saber de antemano a qué cuenta pertenece un código. El código en sí no dice nada.

Con Trusted Codes también funciona al revés. Cada miembro de una conexión tiene sus propias palabras, y son distintas en cada conexión. Si alguien te dice tres palabras, las escribes o las dices, y la app te muestra quién es: «Anna, proyecto de M&A». La búsqueda se hace en tu móvil. Es como un identificador de llamadas que nadie de fuera puede falsificar.

4. Sin conocimientos técnicos

Si quisieras compartir un código de autenticación con un equipo, tendrías que generar un secreto, convertirlo en un código QR, distribuirlo de forma segura a todos y repetirlo con cada persona nueva. Solo lo haría un desarrollador, y casi nadie lo hace.

Con Trusted Codes creas una conexión, por ejemplo para una operación, para tu equipo de finanzas o para todos los pagos de más de 50.000 €, e invitas a las personas. La app hace el resto. Una app de autenticación te da las piezas de una cerradura, para el inicio de sesión en una web. Trusted Codes te da la cerradura terminada, y tú solo repartes las llaves.

5. Pensado para grupos

Un código de autenticación pertenece a una persona y a una cuenta. Una conexión de Trusted Codes puede ser de dos personas o de un equipo entero. Por defecto, cada miembro ve sus propias palabras para esa conexión y puede comprobar a cualquier otro miembro. El consejo, el equipo de finanzas y el abogado externo pueden formar una sola conexión, y una solicitud de pago dentro de ese grupo se comprueba en segundos.

6. Las palabras se calculan en tu dispositivo

Igual que una app de autenticación, Trusted Codes calcula las palabras en el móvil. No le pide a un servidor las palabras del día, así que la comprobación también funciona sin conexión a la red: en un ascensor, en el extranjero o en un edificio sin cobertura.

«Pero un código de autenticación cambia cada 30 segundos»

Es la objeción más frecuente y merece una respuesta directa.

Un código de inicio de sesión cambia cada 30 segundos porque una máquina puede atacar un formulario de acceso: un script puede probar miles de códigos, y un código robado por phishing se puede reutilizar al instante. Una ventana corta lo limita.

Una conversación entre personas es otra situación. Nadie puede probar miles de códigos en una llamada. El atacante tiene un intento, y una respuesta equivocada termina la llamada. Para lograrlo, tendría que conocer las palabras actuales de exactamente esta conexión, de exactamente esta persona, antes de que cambien. Y un código de 30 segundos no serviría entre personas: para cuando hubieras preguntado «¿cuál es nuestro código?» y la otra persona hubiera abierto la app, ya habría cambiado.

Por eso el intervalo en Trusted Codes se mide en horas, no en segundos. Para las conexiones, en los planes Business se puede fijar entre seis horas y 30 días, según lo delicada que sea la relación. Los Beacons, que el personal enciende durante una llamada con un cliente, cambian en cuestión de minutos. Y un intento al azar sigue teniendo una probabilidad de 1 entre 8.600 millones.

En pocas palabras

El algoritmo es el mismo; la función es distinta. Una app de autenticación le demuestra a un servidor que eres tú quien inicia sesión. Trusted Codes le demuestra a una persona que eres tú, en cualquier canal, con palabras que puedes decir en voz alta.

Fuentes

  • TOTP: Time-Based One-Time Password Algorithm, RFC 6238
  • HOTP: An HMAC-Based One-Time Password Algorithm, RFC 4226

Verifica a la persona, no el canal

Trusted Codes te da a ti y a tus contactos tres palabras compartidas que cambian cada cierto tiempo. Funciona en cualquier canal y basta con una pregunta.