PGP significa Pretty Good Privacy. Es un software de encriptación diseñado para proporcionar privacidad, seguridad y autenticación para los sistemas de comunicación en línea. Phil Zimmerman es el nombre detrás del primer programa PGP, y según él, se puso a disposición de forma gratuita debido a la creciente demanda social de privacidad.
Desde su creación en 1991, se crearon muchas versiones del software PGP. En 1997, Phil Zimmerman hizo una propuesta al Grupo de trabajo de ingeniería de Internet (IETF) para la creación de un estándar PGP de código abierto. La propuesta fue aceptada y condujo a la creación del protocolo OpenPGP, que define formatos estándar para claves de cifrado y mensajes.
Aunque inicialmente solo se usaba para proteger los mensajes de correo electrónico y los archivos adjuntos, PGP ahora se aplica a una amplia gama de casos de uso, incluidas las firmas digitales, el cifrado completo del disco y la protección de la red.
PGP fue inicialmente propiedad de la compañía PGP Inc, que más tarde fue adquirida por Network Associates Inc. En 2010, Symantec Corp. adquirió PGP por $300 millones, y el término ahora es una marca comercial utilizada para sus productos compatibles con OpenPGP.
¿Como funciona?
PGP se encuentra entre el primer software ampliamente disponible para implementar la criptografía de clave pública. Es un sistema criptográfico híbrido que utiliza cifrado tanto simétrico como asimétrico para lograr un alto nivel de seguridad.
En un proceso básico de cifrado de texto, un texto plano (datos que pueden entenderse claramente) se convierte en texto cifrado (datos ilegibles). Pero antes de que tenga lugar el proceso de cifrado, la mayoría de los sistemas PGP realizan la compresión de datos. Al comprimir los archivos de texto sin formato antes de transmitirlos, PGP ahorra espacio en el disco y tiempo de transmisión, mientras que mejora la seguridad.
Tras la compresión de archivos, comienza el proceso real de cifrado. En esta etapa, el archivo de texto simple comprimido se cifra con una clave de un solo uso, que se conoce como clave de sesión. Esta clave se genera aleatoriamente mediante el uso de criptografía simétrica, y cada sesión de comunicación PGP tiene una clave de sesión única.
A continuación, la clave de la sesión(1) en sí misma se encripta utilizando un cifrado asimétrico: el receptor deseado (Bob) proporciona su clave pública(2) al remitente del mensaje (Alice) para que pueda cifrar la clave de la sesión. Este paso permite a Alice compartir de forma segura la clave de sesión con Bob a través de Internet, independientemente de las condiciones de seguridad.
El cifrado asimétrico de la clave de sesión generalmente se realiza mediante el uso del algoritmo RSA. Muchos otros sistemas de cifrado utilizan RSA, incluido el protocolo de Seguridad de la capa de transporte (TLS) que protege una gran parte de Internet.
Una vez que se transmite el texto cifrado del mensaje y la clave de sesión cifrada, Bob puede usar su clave privada(3) para descifrar la clave de sesión, que luego se utiliza para descifrar el texto cifrado de nuevo a texto plano.
Aparte del proceso básico de cifrado y descifrado, PGP también admite firmas digitales, que cumplen al menos tres funciones:
- Autenticación: Bob puede verificar que el remitente del mensaje era Alicia.
- Integridad: Bob puede estar seguro de que el mensaje no se modificó.
- No repudio: después de que el mensaje esté firmado digitalmente, Alice no puede afirmar que no lo envió.
Casos de uso
Uno de los usos más comunes de PGP es proteger los correos electrónicos. Un correo electrónico protegido con PGP se convierte en una serie de caracteres que no se pueden leer (texto cifrado) y solo se pueden descifrar con la clave de descifrado correspondiente. Los mecanismos de trabajo son prácticamente los mismos para proteger los mensajes de texto, y también hay algunas aplicaciones de software que permiten la implementación de PGP sobre otras aplicaciones, lo que agrega un sistema de cifrado a los servicios de mensajería no segura.
Aunque PGP se utiliza principalmente para proteger las comunicaciones de Internet, también se puede aplicar para cifrar dispositivos individuales. En este contexto, PGP puede aplicarse a particiones de disco de una computadora o dispositivo móvil. Al cifrar el disco duro, el usuario deberá proporcionar una contraseña cada vez que se inicie el sistema.
Ventajas y desventajas
Gracias a su uso combinado de cifrado simétrico y asimétrico, PGP permite a los usuarios compartir de forma segura información y claves criptográficas a través de Internet. Como sistema híbrido, PGP se beneficia tanto de la seguridad de la criptografía asimétrica como de la velocidad del cifrado simétrico. Además de la seguridad y la velocidad, las firmas digitales garantizan la integridad de los datos y la autenticidad del remitente.
El protocolo OpenPGP permitió el surgimiento de un entorno competitivo estandarizado y las soluciones de PGP ahora son proporcionadas por varias compañías y organizaciones. Aún así, todos los programas PGP que cumplen con los estándares OpenPGP son compatibles entre sí. Esto significa que los archivos y claves generadas en un programa pueden usarse en otro sin problemas.
En cuanto a las desventajas, los sistemas PGP no son tan fáciles de usar y comprender, especialmente para usuarios con poco conocimiento técnico. Además, muchos consideran que la larga longitud de las claves públicas es bastante inconveniente.
En 2018, la Electronic Frontier Foundation (EFF) publicó una gran vulnerabilidad llamada EFAIL. EFAIL hizo posible que los atacantes explotaran contenido HTML activo en correos electrónicos encriptados para obtener acceso a las versiones de texto plano de los mensajes.
Sin embargo, algunas de las preocupaciones descritas por EFAIL ya eran conocidas por la comunidad de PGP desde fines de los años 90 y, de hecho, las vulnerabilidades están relacionadas con las diferentes implementaciones de los clientes de correo electrónico, y no con PGP en sí. Entonces, a pesar de los titulares alarmantes y engañosos, PGP no se rompe y sigue siendo altamente seguro.
En conclusión
Desde su desarrollo en 1991, PGP ha sido una herramienta esencial para la protección de datos y ahora se utiliza en una amplia gama de aplicaciones, proporcionando privacidad, seguridad y autenticación para varios sistemas de comunicación y proveedores de servicios digitales.
Si bien el descubrimiento en 2018 de la falla de EFAIL generó importantes preocupaciones sobre la viabilidad del protocolo, la tecnología central todavía se considera robusta y criptográfica. Vale la pena señalar que las diferentes implementaciones de PGP pueden presentar diferentes niveles de seguridad.