Aprender · 6 min de lectura
Las subclaves de OpenPGP explicadas
Las claves modernas de OpenPGP son una clave principal más subclaves. Aquí está lo que hace cada una y por qué importa la separación.
Una "clave" OpenPGP moderna es un paquete: una clave principal más subclaves. La principal firma y certifica. Las subclaves realizan el cifrado y la firma diarios. Esta separación es una de las pocas prácticas operacionales inequívocamente buenas en PGP.
Por qué existen las subclaves
La principal lleva tu identidad — su huella digital es lo que otros verifican, publican y firman en fiestas de firma de claves. Rotar la principal pierde toda la confianza acumulada.
Usas las claves en dispositivos donde pueden estar expuestas. Si las claves de uso diario son la principal, un dispositivo comprometido lo quema todo.
Las subclaves resuelven esto. La principal se mantiene fría (sin conexión). Las subclaves van en los dispositivos diarios. Si una subclave es comprometida, la revocas solo a ella; la principal firma un reemplazo; la identidad continúa.
Los tres roles de las subclaves
- Firmar (S) — firmas en mensajes, archivos, commits, versiones.
- Cifrar (E) — recibe mensajes cifrados.
- Autenticar (A) — se usa como clave SSH a través de gpg-agent. Opcional.
Cada rol puede tener múltiples subclaves, diferentes algoritmos y fechas de caducidad independientes.
Comportamiento predeterminado
La mayoría de herramientas (GPG, OpenPGP.js, esta aplicación) te dan automáticamente principal + subclave de cifrado + subclave de firma.
Para un usuario casual, el predeterminado está bien. Para higiene a largo plazo: principal fría (solo Certificar), subclave de firma en línea, subclave de cifrado en línea, subclave de autenticación opcional.
Flujo de trabajo práctico con GPG
Patrón de principal sin conexión:
gpg --quick-generate-key "Alice <[email protected]>" ed25519 cert never
gpg --edit-key [email protected]
> addkey # firmar
> addkey # cifrar
> addkey # autenticar
> save
Exporta la principal a USB, guárdala sin conexión, elimínala del llavero diario. Las operaciones diarias usan solo las subclaves.
Rotar una subclave
- Conecta la principal sin conexión.
- addkey para crear una subclave nueva.
- Opcionalmente revkey la antigua.
- gpg --send-keys para publicar. Los destinatarios recogen la nueva subclave.
Los mensajes antiguos siguen descifrándose con la subclave antigua. Los mensajes nuevos usan la nueva automáticamente.