miércoles, 10 de mayo de 2017

4.1.6 PGP, GPG

PGP

Pretty Good Privacy o PGP (privacidad bastante buena) es un programa desarrollado por Phil Zimmermann y cuya finalidad es proteger la información distribuida a través de Internet mediante el uso de criptografía de clave pública, así como facilitar la autenticación de documentos gracias a firmas digitales.

PGP originalmente fue diseñado y desarrollado por Phil Zimmermann en 1991. El nombre está inspirado en el del colmado Ralph's Pretty Good Grocery de Lake Wobegon, una ciudad ficticia inventada por el locutor de radio de Minnesota Garrison Keillor.


Resultado de imagen para PGP


PGP es un criptosistema híbrido que combina técnicas de criptografía simétrica y criptografía asimétrica. Esta combinación permite aprovechar lo mejor de cada uno: El cifrado simétrico es más rápido que el asimétrico o de clave pública, mientras que éste, a su vez, proporciona una solución al problema de la distribución de claves en forma segura y garantiza el no repudio de los datos y la no suplantación.

Cuando un usuario emplea PGP para cifrar un texto en claro, dicho texto es comprimido. La compresión de los datos ahorra espacio en disco, tiempos de transmisión y, más importante aún, fortalece la seguridad criptográfica ya que la mayoría de las técnicas de criptoanálisis buscan patrones presentes en el texto claro para romper el cifrado. La compresión reduce esos patrones en el texto claro, aumentando enormemente la resistencia al criptoanálisis.

Después de comprimir el texto, PGP crea una clave de sesión secreta que solo se empleará una vez. Esta clave es un número aleatorio generado a partir de los movimientos del ratón y las teclas que se pulsen durante unos segundos con el propósito específico de generar esta clave (el programa nos pedirá que los realicemos cuando sea necesario), también puede combinarlo con la clave anteriormente generada. Esta clave de sesión se usa con un algoritmo simétrico (IDEA, Triple DES) para cifrar el texto claro.

Una vez que los datos se encuentran cifrados, la clave de sesión se cifra con la clave pública del receptor (criptografía asimétrica) y se adjunta al texto cifrado, y el conjunto es enviado al receptor.


Resultado de imagen para PGP


El descifrado sigue el proceso inverso. El receptor usa su clave privada para recuperar la clave de sesión, simétrica, que PGP luego usa para descifrar los datos. Las claves empleadas en el cifrado asimétrica se guardan cifradas protegidas por contraseña en el disco duro. PGP guarda dichas claves en dos archivos separados llamados llaveros; uno para las claves públicas y otro para las claves privadas.

PGP ofrece autenticación de mensajes y la comprobación de su integridad. Esta última es usada para descubrir si un mensaje ha sido cambiado luego de ser completado (la propiedad de integridad del mensaje), y la anterior para determinar si realmente fue enviado por la persona/entidad que reclama ser el remitente (una firma digital). En PGP, estas operaciones son usadas por defecto junto con la codificación o cifrado del mensaje, pero pueden ser aplicadas a texto simple también. El remitente usa PGP para crear una firma digital para el mensaje con algoritmos de firma RSA o DSA.

Para hacer esto, PGP calcula un condensado (también llamado resumen o - en inglés - "hash" del mensaje) del texto simple, y luego crea la firma digital de aquel condensado usando las llaves privadas del remitente.

PGP es el acrónimo de Pretty Good Privacy (Privacidad Bastante Buena), un programa desarrollado por Phil Zimmermann que sirve para cifrar contenido y acceder a él mediante una clave pública y firmar documentos digitalmente para autentificarlos. El programa vio la luz en 1991, y desde entonces se ha convertido en una herramienta imprescindible para el cifrado de toda clase de archivos, ya que, a pesar de sus más de 20 años de vida, sigue siendo una tecnología de cifrado muy segura. En la actualidad, la tecnología es propiedad de Symantec, pero está disponible a través de una gran cantidad de programas distintos para diferentes plataformas. Además, existe una versión de código abierto cuyo principal representante es la aplicación GnuPG.

Cómo funciona PGP

Intentando no ser demasiado técnico, hay que decir que PGP (Pretty Good Privacy) utiliza cuatro procesos distintos de cifrado (hashing, compresión de datos, cifrado de clave simétrica y cifrado de clave pública) que garantizan la seguridad desde el momento en que cifras un archivo, mensaje o documento y lo descifras. En el proceso de cifrado, se comprime el documento o archivo y se genera una clave aleatoria. Al enviar el paquete de datos se adjunta una clave cifrada con la clave del receptor, que en el momento de descifrar el archivo o documento, realiza el proceso inverso.

Usos de PGP

El cifrado se puede aplicar a cualquier elemento virtual, como mensajes, comunicaciones, archivos y documentos. PGP tiene muchas utilidades, como por ejemplo, adjuntar una firma digital a un documento o archivo, lo que le da veracidad y permite al receptor cerciorarse de que ese fichero ha sido enviado por quien dice ser y no por un impostor. Por otro lado, PGP también sirve para crear certificados seguros para, por ejemplo, servicios online.

Programas para utilizar PGP


Hoy en día hay multitud de aplicaciones web y programas de Escritorio o móviles que utilizan la tecnología PGP para cifrar comunicaciones y archivos. Entre la gran variedad disponible, he procurado mencionar los más representativos.

PGP Desktop (ahora Symantec Encryption): El primer programa para usar PGP era PGP Desktop. Sin embargo, tras la adquisición de PGP por parte de Symantec, este programa desapareció, dando paso a una serie de aplicaciones variadas de pago, enfocadas sobre todo a la empresa, y que están enfocadas a distintas posibilidades de PGP, como cifrado de correos electrónicos, cifrado de datos en redes locales o cifrado de discos duros locales.

GnuPG o GPG: Paralelamente al desarrollo de PGP, el mundo open source decidió crear su alternativa libre y gratuita, GnuPG (Gnu Privacy Guard). Esta herramienta, disponible para varias plataformas, incluyendo OS X a través de GPG Suite. Aunque por defecto funciona desde línea de comandos, en su página oficial encontrarás programas con entorno gráfico para usar GPG, acrónimo de GnuPG.

GPGshell: Uno de los programas más populares que utiliza GnuPG para cifrar archivos. Su aspecto es muy simple pero ofrece todas las opciones de GPG pero con menús, ventanas y sin tener que abrir la línea de comandos.

Enigmail: Una extensión para Thunderbird y Seamonkey que permite cifrar mensajes de correo electrónico usando el estándar OpenPGP. Se integra muy bien en estos gestores de correo y permite crear claves distintas por cada cuenta de usuario, entre otras opciones.
GNUPGK: Otro programa que se basa en GnuPG para cifrar y descifrar toda clase de archivos. Entre otras cosas, ofrece soporte para PGP, y además se integra en el menú contextual de Windows para ejecutar las acciones más sencillas directamente desde el botón derecho del ratón.

GPG

GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarrollado por Werner Koch, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP.


Resultado de imagen para GPG


GPG es estable, calificado como un software para el uso en producción y es comúnmente incluido en los sistemas operativos como FreeBSD, OpenBSD, NetBSD y GNU/Linux.

Aunque básicamente el programa tiene una interfaz textual, actualmente hay varias aplicaciones gráficas que utilizan recursos de GPG. Por ejemplo, ha sido integrado dentro de Kmail y Evolution, también hay un plugin llamado Enigmail que se integra con Mozilla y Thunderbird que trabajan en Windows, GNU/Linux y otros sistemas operativos. 

Debido a que los plugins no forman parte del mecanismo de GPG y no están especificados en los estándares OpenPGP, ni sus respectivos desarrolladores están vinculados con los proyectos de plugins, se podría pensar que las ventajas de seguridad de GPG puedan estar comprometidas o incluso perdiendo su efectividad como resultado de esta falta de coordinación y apoyo, pero al ser las herramientas de código abierto o scripts interpretados (como en el caso de los plugins en Thunderbird), se garantiza un funcionamiento fiable con la herramienta GPG.

GPG también puede ser compilado en otras plataformas como Mac OS X y Windows. En Mac OS X hay portada una aplicación libre llamada MacGPG, que ha sido adaptada para usar el ambiente del usuario y sus definiciones de clases nativas. La compilación cruzada no es un ejercicio trivial, por lo menos en parte debido a que las provisiones de seguridad cambian con el sistema operativo y su adaptación a menudo se vuelve difícil, pero los compiladores de alta calidad deben producir ejecutables que interactúen correctamente con otras implementaciones GPG.


Resultado de imagen para GPG


GPG cifra los mensajes usando pares de claves individuales asimétricas generadas por los usuarios. Las claves públicas pueden ser compartidas con otros usuarios de muchas maneras, un ejemplo de ello es depositándolas en los servidores de claves. Siempre deben ser compartidas cuidadosamente para prevenir falsas identidades por la corrupción de las claves públicas. También es posible añadir una firma digital criptográfica a un mensaje, de esta manera la totalidad del mensaje y el remitente pueden ser verificados en caso de que se desconfíe de una correspondencia en particular.

.GPG no usa algoritmos de software que están restringidos por patentes, entre estos se encuentra el algoritmo de cifrado IDEA que está presente en PGP casi desde sus inicios. En su lugar usa una serie de algoritmos no patentados como ElGamal, CAST5, Triple DES (3DES), AES y Blowfish.



GPG es un software de cifrado híbrido que usa una combinación convencional de criptografía de claves simétricas para la rapidez y criptografía de claves públicas para el fácil compartimiento de claves seguras, típicamente usando recipientes de claves públicas para cifrar una clave de sesión que es usada una vez. Este modo de operación es parte del estándar OpenPGP y ha sido parte del PGP desde su primera versión.

Ver las conclusiones del equipo

No hay comentarios.:

Publicar un comentario

PORTADA