PGP es un programa cuya funcionalidad es la de proteger la información mediante el uso de una criptografía de clave pública (Ya entraremos más en detalle en esto exactamente). Además de proteger dicha información, también sirve para la autenticación de documentos la cual se realiza a través de firmas digitales y certificados.
El acrónimo proviene de la frase “Pretty Good Privacy”, lo cual se traduce por algo como “privacidad bastante buena” o una frase similar. Quizás el nombre no inspire mucha confianza ya que algo “bastante bueno” no tiene por qué ser bueno, pero en este caso, no es así ya que el programa como podemos ver lleva mucho tiempo en funcionamiento y sigue siendo usado a día de hoy por mucha gente y empresas. Ya sé que alguno pensará que esto tampoco significa nada, pero al final, se traduce en un montón de profesionales haciendo uso de una herramienta que durante años ha estado ahí. Además, mencionar que la Internet Engineering Task Force (entidad que regula/crea los estándares de Internet) se basó en el diseño de PGP para crear el estándar OpenPGP que es una especificación estándar de cifrado de emails, firmas y certificados digitales a través de claves públicas.
Decir que está disponible para casi todas, si no todas las plataformas y que además tiene pluggins para su integración con muchas plataformas de correo utilizadas habitualmente tanto a nivel personal como profesional.
Entrando en materia, deberemos decir que, estrictamente hablando PGP es un sistema de cifrado híbrido. Ya conocéis los tres tipos: público, privado e híbrido.
Básicamente y resumido en una sola frase, PGP es un sistema híbrido donde la clave pública cifra una clave privada que a su vez cifra un mensaje. Esto nos permite el cifrado o firmado de un documento y el descifrado o verificación de dicho documento.
PGP utiliza dos formas diferentes de clave pública. Por un lado RSA con una función hash MD5 y una longitud de clave de 2048, y Diffie- Hellman con un hash SHA-1 y una longitud de clave 4096. A día de hoy creo que la RSA se considera deprecated. En cuanto a los algoritmos de clave simétrica tenemos CAST, IDEA y TripleDES.
Otra de las funcionalidades que nos ofrece PGP es la de borrado seguro de datos, que consiste en la eliminación y sobreescritura de un archivo para que, de esta forma sea imposible de recuperar mediante software especializado. (Opinión personal: ¿Alguien dijo imposible? Yo no, esa palabra no existe en el ámbito de la seguridad y la computación).
Pero, ¿cómo funciona todo esto? Pues a la hora de la verdad, es bastante simple. El proceso de cifrado es el siguiente:
- El usuario escribe un texto plano.
- PGP realiza una compresión del fichero: Reduce espacio del fichero y robustece el cifrado ya que la compresión vuelve el archivo más complejo y dificulta su criptoanálisis.
- PGP crea una clave de sesión que será una clave de uso único y que consistirá en una cifra aleatoria generada en base a los movimientos del ratón y de las teclas pulsadas durante unos pocos segundos.
- El fichero comprimido se cifrará con esta clave simétrica.
- Tras esto el fichero resultado del primer cifrado y dicha clave de sesión se cifrarán mediante el sistema de clave pública
- Tras esto podremos enviar el archivo.
El proceso de descifrado, consistirá en seguir los pasos de forma inversa.
Además, de textos o emails, PGP también puede cifrar ficheros en nuestro disco duro si queremos guardar información sensible y que no peligre en caso de pérdida o robo de los dispositivos
Y ya como últimos comentarios, PGP nos permite por un lado tener varias claves y por otro enviar estas a un servidor de claves, de forma que sean fácilmente localizables por otros usuarios a la hora de escribirnos.
Como últimos apuntes decir que existe una alternativa libre llamada GnuPG, que si no recuerdo mal viene en muchas distribuciones como paquete.
Si tenéis alguna duda o creéis que algún punto debe ser mejor explicado comentadlo. Nos vemos.