Qué pasó
En Kryfo, la gente te reconoce por tus tres palabras y tu cara. Nunca demostraron quién es alguien, y se podían copiar. Alguien podía poner tus tres palabras en un enlace de invitación, un código QR o una página de perfil que llevaba a sus propias claves. Quien lo añadía veía lo que parecía un chat contigo, pero era un chat con otra persona. Si esa persona también te escribía a ti en nombre de quien la añadió, podía ponerse entre los dos y leer lo que pasaba.
En 0.4.1 y anteriores iba más allá: un nombre copiado también podía quedarse con un chat que ya existía. 0.4.2 corrigió esa parte.
No sabemos de nadie contra quien se haya usado.
A quién afectó
A cualquiera con 0.5.0 o anterior que añadiera a alguien con un enlace, un nombre de usuario, un código de emparejamiento, una solicitud, o un código QR que no escaneó del propio teléfono de esa persona.
No afectados:
- Los contactos que añadiste escaneando en persona el código QR de su propio teléfono.
- El número de seguridad. Se calcula a partir de las claves que un chat usa de verdad, así que siempre mostró la diferencia.
Qué cambiamos
En 0.5.1:
- Los códigos de emparejamiento muestran un número de clave en los dos teléfonos, calculado a partir de la clave que usará el chat.
- Los chats añadidos de cualquier forma que no sea un escaneo en persona muestran una tarjeta que te pide comparar el número de seguridad.
- Cuando una presentación o un grupo nombra a alguien que ya tienes, pero con otra clave, Kryfo mantiene a los dos separados.
- La página del número de seguridad te pide comparar los 12 grupos.
0.5.2 sustituyó la marca «Sin comprobar» por la tarjeta para comparar y el botón No es esa persona. Si los números de seguridad no coinciden, elimina ese contacto de tu teléfono y bloquea su clave.
Qué hacer
- Actualiza a 0.5.2. Ya está en kryfo.app y GitHub, y llega a F-Droid en unos días.
- Compara el número de seguridad con tus contactos importantes, en persona: abre su página, toca Verificar claves y revisa los 12 grupos.
- Si los números no coinciden, toca No es esa persona. Luego vuelve a añadir a la persona con un enlace o código QR que te dé en persona, y compara el número en el chat nuevo.
Lo que viene
La solución completa llega con el rediseño de la identidad en 0.6, construido sobre la biblioteca oficial de Signal. Aun así, el número de seguridad sigue siendo la comprobación real.
Corrección anterior
0.3.2 y 0.4.1 corrigieron un toque en una notificación que podía abrir un chat saltándose el bloqueo de la app en un teléfono desbloqueado.
Gracias
Gracias a Ami (SleepingAmi) y sooox (sooox-cc), que lo encontraron, lo comprobaron en sus propios teléfonos y nos lo contaron en privado.
Si encuentras un problema, cuéntanoslo primero en privado: kryfo.app/security.