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.
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.
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.
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.
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.
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
Ver las conclusiones del equipo
No hay comentarios.:
Publicar un comentario