Cifrado PGP
Pretty Good Privacy cumplirá 35 años en 2026, y todavía no hay nada más que haga lo que hace: cifrado de extremo a extremo para datos arbitrarios, con un modelo de clave que no depende de ninguna autoridad central. La experiencia del usuario es terrible, la arquitectura de seguridad moderna la ha superado y, sin embargo, para algunas tareas específicas, PGP sigue siendo la respuesta.
El cuerpo completo del artículo se proporciona en inglés a continuación.
PGP (Pretty Good Privacy) fue creado por Phil Zimmermann en 1991, originalmente como una forma de cifrar el correo electrónico de activistas bajo la amenaza de un procesamiento por control de exportaciones en Estados Unidos. Después de batallas legales y la estandarización en el IETF como OpenPGP (RFC 4880, actualizado en RFC 9580 en 2024), se convirtió en el estándar de facto para datos cifrados no en tiempo real. La implementación de GnuPG de código abierto se encuentra esencialmente en todas las distribuciones de Linux y en muchos otros lugares.
Qué le ofrece PGP
Cuatro capacidades, utilizadas de forma independiente o conjunta:
- Cifrado: cifra un archivo/mensaje con las claves públicas de uno o más destinatarios; sólo sus claves privadas lo descifran.
- Signing: produce una firma criptográfica sobre un archivo con su clave privada; cualquier persona con su clave pública puede verificar la autenticidad e integridad del archivo.
- Cifrado y firma combinados, ambos a la vez.
- Certificación de clave: firme la clave pública de otra persona para expresar su creencia de que la clave realmente pertenece a esa persona, creando una red de Trust.
Cómo se ve realmente una clave OpenPGP
Una clave OpenPGP es un blob estructurado que contiene:
- Una clave principal (a largo plazo, utilizada para certificación)
- Una o más subclaves (a medio plazo, utilizadas para cifrado y firma) día a día)
- ID de usuario (direcciones de correo electrónico y nombres vinculados a esta clave)
- Autofirmas y firmas de terceros que vinculan todo lo anterior
La división en subclaves principales + permite a los usuarios mantener la principal fuera de línea y rotar las subclaves con regularidad. La mayoría de los usuarios no se molestan. Los modos de generación de claves predeterminados hacen todo esto automáticamente.
El modelo de identidad de Web of Trust
PGP está descentralizado: no existe una autoridad central. En cambio, los usuarios firman las claves de los demás en "fiestas de firma de claves" o mediante verificación en persona. Si Alice firma la clave de Bob, Carol, que confía en la firma de Alice, puede extender su confianza a la clave de Bob. La Web of Trust conecta a los usuarios a través de cadenas de firmas mutuas.
En la práctica, la Web of Trust nunca funcionó a escala fuera de pequeñas comunidades de cypherpunks. Para la mayoría de los usuarios, el modelo de confianza se reduce a "Confío en esta clave porque alguien me la envió por correo electrónico" o "Confío en esta clave porque la descargué de la página oficial de claves". Las alternativas modernas como Web Key Directory (WKD) automatizan la obtención de la clave correcta del dominio del destinatario.
Por qué es difícil usar PGP
Las fallas en la experiencia del usuario son famosas:
- La administración de claves requiere comprender las claves públicas/privadas, las subclaves, la caducidad, la revocación y la clave servidores.
- Las herramientas predeterminadas (gpg, kleopatra) tienen superficies diseñadas para criptógrafos.
- El correo electrónico cifrado es lo suficientemente raro como para que los destinatarios a menudo no tengan claves, no puedan descifrar su mensaje o no sepan cómo configurar su cliente.
- El soporte móvil es deficiente.
- La revocación de claves es voluntaria y rara vez sucede; Las antiguas claves comprometidas permanecen en los servidores de claves durante décadas.
El documento EFAIL de 2018 mostró errores de implementación generalizados en clientes de correo compatibles con PGP que podrían explotarse para filtrar texto sin formato. Los errores fueron solucionados; la lección más amplia se quedó estancada: las herramientas de correo electrónico cifrado son realmente difíciles de hacer bien.
Donde PGP todavía gana
A pesar de las críticas, PGP sigue siendo la respuesta para varios casos de uso:
- Firma de versiones de software. Las distribuciones de Linux, los administradores de paquetes y muchos proyectos de código abierto utilizan firmas PGP en las versiones. La infraestructura es madura, las firmas viajan con los archivos y verificarlas no requiere un viaje de ida y vuelta en la red.
- Firma de confirmaciones de Git. GitHub, GitLab y Gerrit verifican firmas PGP en confirmaciones y etiquetas. El modelo es el mismo que para las versiones.
- Transferencia confidencial de archivos a un destinatario conocido. Cifrar un archivo confidencial con la clave PGP de un colega y enviarlo a través de cualquier canal funciona, de forma asincrónica, sin terceros involucrados.
- Denuncia de irregularidades y periodismo. SecureDrop y sistemas similares todavía usan OpenPGP para comunicación entre la fuente y el periodista donde los modelos de amenazas superan los de Signal.
- Copias de seguridad cifradas. Hacer una copia de seguridad en una nube que no es de confianza y cifrar con PGP a una clave que usted controla es uno de los pocos usos comunes donde la fricción es aceptable.
Los esfuerzos de reforma modernos
Varios proyectos han intentado hacer PGP utilizable. Web Key Directory (WKD) permite a los usuarios publicar claves en https://example.com/.well-known/openpgpkey/..., que los clientes pueden consultar automáticamente. Sequoia-PGP es una reimplementación Rust de OpenPGP con criptografía moderna y una API más limpia. Proton Mail usa OpenPGP internamente pero oculta la complejidad detrás de una interfaz de usuario de correo web. Mailvelope lleva OpenPGP al correo web normal. Las reformas han mejorado la situación; PGP rara vez es la herramienta adecuada para la comunicación informal.
OpenPGP frente a Signal Protocol
Para mensajería en tiempo real donde los usuarios están en línea, Signal Protocol es muy superior: mejor secreto de reenvío, mejor UX y clientes móviles maduros. Para el cifrado asincrónico de archivos/datos con identidades persistentes y casos de uso fuera de línea, OpenPGP todavía no tiene un competidor real. Los dos resuelven problemas adyacentes pero diferentes.
Preguntas frecuentes
- ¿Debo usar PGP para el correo electrónico?
- Probablemente no sea su opción predeterminada. Si sus corresponsales ya utilizan PGP y su modelo de amenazas lo requiere (periodistas, abogados, investigadores de seguridad, activistas), sí. Para la comunicación ordinaria, Signal u otro mensajero cifrado moderno es más útil. Para la transferencia de archivos asincrónica con modelos de amenazas fuertes, PGP sigue siendo apropiado.
- ¿Cuál es la diferencia entre PGP y OpenPGP?
- PGP es el software comercial original de Phil Zimmermann (posteriormente vendido a Symantec). OpenPGP es el estándar abierto acordado por la comunidad en general, definido en los RFC del IETF. GnuPG (GPG) es la implementación gratuita de OpenPGP más utilizada. En el uso informal, "PGP" normalmente significa "software compatible con OpenPGP".
- ¿Es PGP cuánticamente seguro?
- Los conjuntos de cifrado OpenPGP actuales (RSA, ECDH) no lo son. La actualización RFC 9580 de OpenPGP agregó modos híbridos poscuánticos; La adopción es lenta porque nada obliga a la rotación de claves. "Cosechar ahora, descifrar después" es una preocupación real para los datos cifrados con PGP con valor a largo plazo.
- ¿Por qué EFAIL rompió PGP?
- No rompió la criptografía: rompió los clientes de correo que descifraban mensajes PGP y luego automáticamente renderizaban HTML y cargaban imágenes remotas. Un mensaje elaborado podría engañar al cliente para que envíe contenido descifrado a un atacante a través de URL de imágenes. El sobre criptográfico estaba bien; La capa de aplicación se filtró. Desde entonces, los clientes de correo han solucionado las vulnerabilidades.
- ¿Puedo utilizar la misma clave PGP para varias direcciones de correo electrónico?
- Sí, una clave OpenPGP puede tener múltiples ID de usuario, uno por dirección de correo electrónico. Puede agregar o revocar ID de usuario con el tiempo sin cambiar la clave. Herramientas como Web Key Directory esperan esto; Algunos clientes todavía se confunden, especialmente si se revocan algunas ID de usuario.