Pretty Good Privacy

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

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.

Funcionamiento[editar]

Como funciona el cifrado de 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). [cita requerida] 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 como estándar de Internet[editar]

La Internet Engineering Task Force se ha basado en el diseño de PGP para crear el estándar de Internet OpenPGP. Las últimas versiones de PGP son conformes o compatibles en mayor o menor medida con ese estándar. La compatibilidad entre versiones de PGP y la historia del esfuerzo por estandarizar OpenPGP, se tratan a continuación.

Firmas digitales[editar]

PGP ofrece autenticación de mensajes y la comprobación de su integridad. Ésta ú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.

Red o web de confianza[editar]

Tanto codificando mensajes como verificando firmas, es crucial que la clave pública enviada a alguien o alguna entidad realmente 'pertenezca' al destinatario intencionado. Simplemente el hecho de descargar una llave pública de algún sitio perteneciente a una asociación no nos asegura que podamos confiar en dicha asociación. El PGP tiene, desde sus primeras versiones, provisiones siempre incluidas para distribuir las llaves públicas de un usuario en 'un certificado de identidad' que es construido usando criptografía asegurando de esta manera que cualquier tergiversación sea fácilmente detectable. Pero simplemente la fabricación de un certificado que es imposible modificar sin ser descubierto con eficacia es también insuficiente. Esto puede impedir la corrupción sólo después de que el certificado ha sido creado, no antes. Los usuarios también deben asegurar por algunos medios que la llave pública en un certificado realmente pertenece a la persona/entidad que lo reclama. Desde su primera publicación, los productos de PGP han incluido un certificado interno 'examen del esquema' para asistir junto a este; un modelo de confianza que ha sido llamado una web de confianza. Una llave pública dada (o más expresamente, información que liga un nombre de usuario a una llave) puede ser digitalmente firmada por un usuario tercero para dar testimonio a la asociación entre alguien (realmente un nombre de usuario) y la llave. Hay varios niveles de confianza que pueden ser incluidos en tales firmas. Aunque muchos programas lean y escriban esta información, pocos (si alguno) incluyen este nivel de certificación calculando si hay que confiar en una llave. La web del protocolo de confianza fue descrita por Zimmermann en 1992 en el manual para la versión 2.0 PGP:

Seguridad en PGP[editar]

Utilizado correctamente, PGP puede proporcionar un gran nivel de seguridad. A diferencia de protocolos de seguridad como SSL, que sólo protege los datos en tránsito (es decir, mientras se transmiten a través de la red), PGP también puede utilizarse para proteger datos almacenados en discos, copias de seguridad, etcétera.

PGP usa una función de 4 claves.

Véase también[editar]

Enlaces externos[editar]