Salas Seguras

Verificación del cifrado: número de seguridad y firmas

El cifrado de extremo a extremo funciona sin pasos manuales, pero además puedes verificar que hablas con la persona correcta y que el código que cifra es el código que publicamos.

Número de seguridad (fingerprint)

Cada usuario de las Salas Seguras tiene un número de seguridad: una huella corta calculada a partir de sus claves públicas (BLAKE2b), mostrada en grupos de 4 caracteres. Puedes ver tu propio número en la página «Seguridad» y los números de los demás participantes en el panel de miembros de la sala.

Para verificar un contacto, compara los números de seguridad por un canal en el que ya confíes (en persona, por teléfono, por un canal verificado existente). Si los números coinciden, las claves no han sido sustituidas ni por el servidor ni por nadie más. El modelo de confianza es «confianza en el primer uso + verificación manual»: las claves se fijan automáticamente y la verificación confirma que la clave fijada pertenece a la persona correcta.

«Firma no verificada»

Cada mensaje está firmado por el remitente (Ed25519), y cada entrega de clave de sala también está firmada, de modo que el servidor no puede sustituir una clave sin ser detectado. Si la comprobación de la firma falla, el mensaje se marca con una etiqueta roja «firma no verificada». Trata esos mensajes con cautela: puede indicar un cambio de clave, un mensaje dañado o un intento de manipular la entrega.

Auditoría de la criptografía

Todo el código de cifrado vive en un repositorio público independiente y en el paquete npm @wparts/secure-rooms-crypto:

https://github.com/wpartscom/secure-rooms-crypto

El repositorio contiene la especificación del formato (SPEC.md), el modelo de amenazas (THREAT-MODEL.md), vectores de prueba y el archivo sha256sums.txt de cada release. El frontend carga la biblioteca como un chunk separado con Subresource Integrity (SRI), y la página «Seguridad» muestra la versión y el hash de compilación de la biblioteca cargada, que puedes comparar con los hashes publicados del release.