PublicidadPretty Good Privacy es un programa desarrollado por Phil Zimmermann para cifrar y firmar datos. PGP utiliza el llamado método de clave pública, en el que hay un par de claves asignadas de forma única. Utiliza una clave pública, que cualquiera puede utilizar para cifrar los datos del destinatario y verificar sus firmas, y una clave secreta privada, que sólo el El destinatario es propietario y suele estar protegido por una contraseña. Los mensajes dirigidos a un destinatario se cifran con su clave pública y luego solo pueden descifrarse utilizando su clave privada. Estos métodos también se denominan métodos asimétricos porque el remitente y el receptor utilizan dos claves diferentes. La primera versión se escribió en 1991 y utilizó un algoritmo RSA para cifrar los datos. Las versiones posteriores utilizaron el algoritmo Elgamal. Sin embargo, PGP no cifra todo el mensaje de forma asimétrica, porque esto sería demasiado intensivo desde el punto de vista computacional y no sería práctico enviar el mismo mensaje a varios destinatarios. En cambio, el mensaje real se cifra simétricamente y sólo la clave utilizada se cifra de forma asimétrica (cifrado híbrido). Para hacer esto, cada vez se genera aleatoriamente una clave simétrica (clave de sesión). Esta clave simétrica luego se cifra con la clave pública del destinatario, por ejemplo, a través del criptosistema RSA o Elgamal, y se agrega al mensaje. Esto hace posible cifrar un mensaje para varios destinatarios al mismo tiempo. PGP se basa en la llamada Web de Confianza, en la que no existe una autoridad de certificación central, pero la confianza la administran los propios usuarios. Debido a que PGP está diseñado para descifrar mensajes permanentemente, si un atacante logra obtener una clave privada, el todo el historial de comunicación de esa clave se verá comprometido. Para la mensajería instantánea, se ha desarrollado la mensajería off-the-record (OTR) como alternativa al PGP; incluso si la clave privada se ve comprometida en una fecha posterior, la comunicación cifrada sigue siendo ilegible para el atacante (pero también para el propietario legítimo de la clave). El programa GNU GPL GnuPG fue la primera implementación de OpenPGP y fue desarrollado como una alternativa gratuita a PGP. . En la actualidad existen muchas extensiones del estándar OpenPGP que van más allá de la funcionalidad de PGP, por lo que no siempre se garantiza el intercambio fluido de datos y claves. Cómo funciona PGP Puede utilizar PGP para firmar un mensaje únicamente, cifrarlo únicamente o firmarlo y cifrarlo al mismo tiempo. La firma sirve para garantizar la autenticidad del mensaje, es decir, que procede del remitente reclamado (autenticidad) y no ha sido alterado tras la firma (integridad). En la práctica, si cifra mensajes, normalmente los firmará. Crear una firma digital Para poder estar seguro más adelante de que un mensaje recibido no ha sido manipulado ni reemplazado (integridad) y también proviene del remitente reclamado (autenticidad) , el remitente debe generar una firma digital para el mensaje (o partes del mismo). Se aplica una función hash criptográfica al mensaje de texto sin formato (a menudo SHA-1 en el pasado, pero ahora obsoleto y reemplazado por SHA-256, entre otros). Esto crea un resumen del mensaje (huella digital única) del mensaje que es mucho más corto que el mensaje en sí, lo que simplifica la generación de la firma digital. Luego se genera una firma a partir del resumen del mensaje utilizando la clave privada del remitente. Cifrado Como segundo paso (o primero, si no desea firmar), el remitente ahora puede cifrar el mensaje. Aquí, el mensaje de texto plano y la firma digital del primer paso se combinan en un conjunto de datos y se comprimen, lo que reduce el tamaño y complica el criptoanálisis. Estos datos comprimidos ahora se cifran simétricamente en texto cifrado utilizando la clave de sesión KM generada aleatoriamente. Dado que se trata de una clave única generada aleatoriamente, debe comunicarse al destinatario. Para hacer esto, la clave KM se cifra asimétricamente con la clave pública del destinatario y se antepone al mensaje cifrado. Por lo tanto, un mensaje cifrado es tan seguro como el elemento más débil que consiste en la clave asimétrica para la que se realiza el cifrado y la clave de sesión. Finalmente, los bytes del texto cifrado y la clave cifrada deben ser compatibles con el correo electrónico. Para ello, estos (al igual que otros datos binarios en los correos electrónicos) se codifican en determinados caracteres ASCII imprimibles utilizando una variante Base64 (Radix-64). Ahora se puede enviar el mensaje PGP al destinatario. Además de usarse para correo electrónico, PGP también se puede usar para otros canales de mensajería firmando y/o cifrando archivos o texto (existe un procedimiento de firma separado para esto debido a la codificación inconsistente de final de línea entre los sistemas operativos). ).DecryptionAl principio, el receptor tiene que decodificar los caracteres ASCII existentes con Base64 para obtener el texto cifrado y la clave de sesión cifrada. Ahora la clave de sesión se puede descifrar mediante la clave privada del destinatario y el texto cifrado se puede volver a descifrar en la combinación comprimida de mensaje de texto sin formato y firma digital. Para finalmente llegar al mensaje, todo lo que tienes que hacer es descomprimirlo. Sin embargo, también se debe garantizar la autenticidad del remitente y la integridad del mensaje. Para ello, se aplica al texto plano la misma función hash que el remitente y se descifra la firma digital con la clave pública del remitente. Si la clave privada correspondiente se utilizó realmente para crear la firma, los dos textos sin formato del resumen del mensaje coinciden; y se puede suponer que el mensaje no ha sido alterado. Se puede suponer que también proviene de un remitente específico, si la clave de firma se puede asignar de forma segura a un remitente, lo que es independiente del procesamiento de mensajes individuales. Seguridad Un posible ataque resulta del procedimiento de firmar primero los mensajes y luego cifrarlos. El destinatario puede reenviar el mensaje firmado a una tercera persona después de descifrarlo con un remitente falsificado. Si el destinatario no figura en el mensaje, la firma válida puede dar la impresión de que fue enviada directamente por el remitente original a ese tercero. Además, se criticó que las claves públicas a menudo se almacenan en servidores a los que cada persona tiene acceso de lectura y escritura. De esta manera se guardaron allí claves erróneas.