From b008e677de8f72ad35155f647210d5a967a6fdcf Mon Sep 17 00:00:00 2001 From: dev Date: Thu, 1 Oct 2026 14:26:53 +0200 Subject: [PATCH] Spec v0.11 plan: the .dkk says where the .dkc is, encrypted for the date Co-Authored-By: Claude Opus 5.5 --- HANDOFF.md | 2 +- PLAN_firma_go.md | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/HANDOFF.md b/HANDOFF.md index c1d2700..4f88ea6 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -22,7 +22,7 @@ Estado al parar la sesión del 26 por el límite semanal de uso. Se actualizó e - Dan una identidad X25519 que entra como un destinatario más, así que el formato no cambia. - Está en la página (`b617007` y `67d626e`) y en la CLI de Go, con `-words` y `-words-file` en `encrypt` y `decrypt` (`5b3d2d4`, rama `v0.11`). Las dos comparten un vector, y la CLI abrió una cápsula hecha en la página. El detalle está en [spec_v0.11/llave_palabras.md](spec_v0.11/llave_palabras.md). - **Firma de autor:** el [plan](PLAN_firma_go.md), con los cambios que pidió el autor: firma con certificado reconocido (`alg` 2, CAdES separada), hecha fuera de la web y nativa en escritorio, móvil y CLI; escritor en dos tiempos; sello RFC 3161 de una autoridad cualificada; OpenTimestamps en estudio. -- **Nota pública:** decidida para la v0.11, con una copia, junto con la fecha, en la `.dkk`. Los ficheros fuera de la cápsula quedan como propuesta. Las dos, en el [plan de la firma](PLAN_firma_go.md). +- **Nota pública:** decidida para la v0.11, con una copia, junto con la fecha, en la `.dkk`. La `.dkk` dirá también dónde está el `.dkc`, cifrado para la fecha. Los ficheros fuera de la cápsula quedan como propuesta. Las dos, en el [plan de la firma](PLAN_firma_go.md). - **El área de firmas y sellos:** el autor no está convencido de fijar su tamaño. La consulta para Fable y Astra está en [spec_v0.11/area_firmas_para_revision.md](spec_v0.11/area_firmas_para_revision.md) y en un artefacto privado, https://claude.ai/artifact/8hVZGDWpv6ZqzzxcWVS7Rc. **Siguiente:** diff --git a/PLAN_firma_go.md b/PLAN_firma_go.md index af45a73..e1a2507 100644 --- a/PLAN_firma_go.md +++ b/PLAN_firma_go.md @@ -62,5 +62,10 @@ Por eso: - **La nota y la fecha, también en la `.dkk`**, como pidió el autor, en una extensión no crítica (§44), para reconocer una llave suelta. - Es informativa, porque nada la ata a la cápsula. La `.dkk` se empareja con su cápsula por `capsule_id` y `capsule_digest`, que ya escriben Go y TypeScript, nunca por la nota. - Si la cápsula y la llave traen notas distintas, manda la de la cápsula y se avisa de la diferencia. +- **Dónde está el `.dkc`, también en la `.dkk` y cifrado para la fecha**, como pidió el autor: una o varias direcciones (`https://…`, `ipfs://…`), dentro de un fichero `age` con un stanza tlock para la ronda de la cápsula, en la misma extensión que la nota. + - Nadie las lee antes de la fecha, tampoco el destinatario. En la fecha, la misma firma de drand descifra las direcciones y abre la cápsula. + - `capsule_digest` va dentro, con las direcciones, y el escritor omite entonces `verification_metadata`. En IPFS, con CIDv1 y bloques raw, un `.dkc` de menos de 256 KiB tiene como dirección su propio SHA-256, y el digest en claro la delataría. La `.dkk` se sigue emparejando con su cápsula por `capsule_id`. + - Cifrar hacia una ronda no exige ningún secreto, así que las direcciones se pueden añadir a la `.dkk` después de subir la cápsula. + - Lo que se acepta: nadie puede bajar ni guardar la cápsula antes de la fecha, ni comprobar que sigue ahí; si el enlace muere, se pierde; y quien robe la `.dkk` leerá la dirección en la fecha. Quien crea la cápsula tiene que guardar su propia copia. - **Código:** en Go, las dos extensiones y `-note` en la CLI, con el paso 5; en la página, con su propio plan. - **Ficheros fuera de la cápsula**, propuesta pendiente de que el autor la confirme. Cada fichero iría dentro, como hoy, o fuera (IPFS, Drive, una URL), cifrado con la misma clave, con su hash, su tamaño y sus direcciones en una extensión crítica del head. Sus riesgos: que el fichero dure, que se pueda borrar antes de la fecha, que el cifrado quede público y que la web no pueda descargarlo de cualquier sitio.