Gratis, sin cuenta, cifrado de extremo a extremoSolicitar un secreto →

El principio

Su secreto se cifra en su navegador con una clave aleatoria de 256 bits. Esa clave se coloca en el enlace, después del signo #. Los navegadores nunca envían esa parte de la dirección: nuestros servidores solo reciben un bloque cifrado que no pueden descifrar. Incluso con acceso total a nuestros servidores y a nuestra base de datos, nadie puede leer un secreto sin el enlace completo.

Anatomía de un enlace

https://eclair.kayzen-lyon.com/s/35fZoy72KMhzS86v9fUxog#v1.p.8BJ3ft…
  • /s/{id}: Identificador aleatorio de 128 bits, enviado al servidor para encontrar el texto cifrado.
  • #v1: Versión del formato.
  • n o p: Sin o con PIN.
  • {key}: Clave de 256 bits. Nunca se envía ni se registra.

Primitivas criptográficas

UsoConstrucciónImplementación
ContenidoAES-256-GCM, IV aleatorio de 96 bits, datos asociados vinculados al identificador del secretoWebCrypto
DerivaciónHKDF-SHA-256, cadenas de contexto con el prefijo «eclair v1»WebCrypto
PINArgon2id (64 MiB, 3 pasadas) y después HKDF; verificador HMAC-SHA-256 derivado de la clave del enlacehash-wasm
LongitudContenido rellenado por niveles (1, 4, 16, 64 KiB…) para ocultar su tamaño real—

Por qué el servidor no puede probar sus PIN

El verificador enviado al servidor se calcula a partir del código Y de la clave del enlace. Sin la clave, el servidor no puede ni comprobar un código ni probar uno. Solo cuenta los fallos y destruye el secreto al quinto intento.

Contra qué protegemos

  • Una filtración de nuestra base de datos o de nuestro proveedor de alojamiento: Solo contiene bloques cifrados y unas pocas fechas.
  • Previsualizadores de enlaces (Slack, Teams, Outlook): La página del enlace no contiene el secreto; este solo se entrega tras un clic, mediante una solicitud POST.
  • Dos aperturas simultáneas: La lectura y la eliminación se realizan en una única operación atómica, probada con 100 lecturas simultáneas.
  • Enumeración de enlaces: 128 bits aleatorios, limitación de solicitudes, respuesta idéntica para enlaces desconocidos, caducados o ya leídos.
  • Un script manipulado: Sin scripts de terceros, política de seguridad de contenidos estricta basada en nonces, dependencias fijadas y auditadas.

Los límites, con franqueza

  • Un atacante que tenga a la vez el enlace y una copia de nuestra base de datos puede probar PIN cortos sin conexión. Para un secreto crítico, elija una frase de contraseña.
  • El cifrado en una página web presupone que el código servido por nuestro sitio está intacto. La extensión y las aplicaciones firmadas, en preparación, reducirán este riesgo.
  • Vemos metadatos: fechas, nivel de tamaño, número de lecturas.
  • Un destinatario siempre puede copiar el secreto después de leerlo.
  • El servicio aún no ha sido auditado por un tercero. La auditoría está prevista antes de la versión 1.0 y su informe se publicará.

Compruébelo usted mismo

Ver la solicitud enviada al servidor

Informar de una vulnerabilidad

Escríbanos siguiendo nuestro archivo security.txt. Nunca emprenderemos acciones contra quien informe de buena fe de un fallo. security.txt · contact@kayzen-lyon.fr

Traducción automática, en revisión.