Archivos sellados — con precisión, qué garantizarán y qué no
Próximamente
El sellado todavía no está disponible. No se ha emitido nunca ningún
certificado, de modo que jamás ha funcionado de extremo a extremo, y
no es algo que una cuenta de beta pueda hacer hoy. Esta sección
aparece de todos modos, íntegra, porque lo que se niega a afirmar es
el punto — y eso no cambia entre una función en construcción y una
función publicada.
Un archivo sellado .eaqua estará cifrado para una lista
de cuentas nombradas, y una vez que se abra para un destinatario
seguirá abriéndose — ese es el objetivo de diseño, y la razón de que
la función no se haya publicado es que todavía no lo cumple.
La construcción, que sí está hecha: el contenido va bajo AES-256-GCM
con una clave de contenido aleatoria; esa clave se envuelve para cada
destinatario mediante ECDH-ES sobre P-256, a través de HKDF-SHA-256 y
envoltura de clave AES-256, con una estrofa por destinatario y una
clave efímera nueva para cada archivo; el contenedor completo se
firma con ECDSA P-256 sobre SHA-256, y el certificado del autor —
firmado por nuestra clave raíz — viaja dentro de él y se verifica al
abrir el archivo. Es la construcción JWE
ECDH-ES+A256KW / A256GCM con firma desprendida, en un
contenedor binario compacto.
Lo que el mecanismo proporcionará
Quien no sea destinatario nombrado no podrá leer el archivo, y leer
nuestro código fuente no le servirá de ayuda, porque la clave de
descifrado no está en la aplicación: está en el dispositivo del
destinatario. La autoría es real y evidencia toda manipulación: un
archivo modificado no supera la verificación, y quien carezca de
licencia no puede producir un archivo que otras copias de la
herramienta acepten.
Lo que no proporcionará, dicho con claridad
Un destinatario legítimo podrá abrir el archivo, leerlo y volver a
escribir su contenido en la forma que prefiera. Ningún esquema que se
ejecute en el propio equipo del lector puede impedirlo, y no
afirmamos que alguno lo haga. La comprobación de licencia es una
compuerta de política dentro de una aplicación que corre en la
máquina del usuario, de modo que un usuario local determinado podría
retirarla. Hacerlo no descifra nada a lo que no estuviera ya
dirigido, ni acuña nada que otras copias vayan a aceptar — pero es
una compuerta y no un muro, y llamarlo muro ante un público de
ingenieros sería la manera más rápida de perderlo.
Una garantía más fuerte — una revocación que surta efecto, o
contenido que un lector con licencia no pueda extraer — exige que el
descifrado ocurra en un lugar que el usuario no controle, lo cual
significa un servidor. Eso no se ha construido, y el formato del
contenedor ya está conformado para admitirlo si alguna vez se hace.
Una advertencia práctica, para cuando se publique
Las claves privadas residirán en el perfil del navegador. Borrar los
datos del sitio las destruye, y un archivo sellado dirigido
únicamente a ese dispositivo quedará permanentemente ilegible, tanto
para KinetiRO como para el destinatario. La práctica que conviene
adoptar desde el principio es sellar todo lo que tenga consecuencia
también hacia una segunda cuenta, de modo que exista más de una vía
de acceso.