PGP (Pretty Good Privacy) Jacobo Bermúdez Fernández María Casanova Vázquez
INDICE Introducción a PGP Historia de PGP Software Principios básicos de PGP Modo de funcionamiento Problemas y vulnerabilidades Otras aplicaciones de PGP S/MIME, PGP/MIME Ejemplo de uso
Introducción a PGP (I) Creado en 1991 por Philip Zimmermann Aplicación de criptografía de alta seguridad Basado en criptografía de clave pública Utilidades: cifrar y firmar mensajes y ficheros y borrar “realmente” ficheros
Introducción a PGP (y II) Motivaciones Servicios Confidencialidad Integridad Autenticación No repudio
Historia de PGP Junio 1991: versión 1.0 en texto plano 1992: versión 2 (primera versión software) 1995: primera versión internacional (Stale Schumacher) para evitar leyes norteamericanas 1998: solución a problemas legales con OpenPGP. 1999: se relajan las leyes norteamericanas y desaparece la versión internacional
Software Derechos pertenecientes a PGP Corporation Proyecto Open Source: GnuPG
Principios básicos PGP (I) Sistemas de cifrado Cifrado simétrico (o de clave privada): Clave única para cifrado y descifrado Problema de la compartición de la clave
Principios básicos PGP (II) Sistemas de cifrado Cifrado asimétrico (o de clave pública): Par de claves: pública y privada. Características: Reversibles Asimétricas Se evita el problema de compartición de claves, pero es poco eficiente
Principios básicos PGP (III) Sistemas de cifrado Cifrado híbrido (usado por PGP) : Clave de sesión (simétrica) para cifrar el mensaje Clave pública (asimétrica) para cifrar la clave de sesión Solucionados los problemas de compartición de claves y de eficiencia
Principios básicos PGP (IV) Algoritmos de cifrado Simétricos, intervienen en: Cifrado de mensajes Cifrado de la clave privada para su almacenamiento Disponibles en PGP: IDEA: rondas = 8, tam. bloque = 64 bits, long. claves =128 bits Triple-DES: tam. bloque = 64 bits, long. claves =168 (3*56)bits. CAST: familia de cifradores de bloque. CAST-128: rondas = 12-16, tam. bloque = 64 bits, long. claves = 40-128 bits
Principios básicos PGP (V) Algoritmos de cifrado AES: algoritmo Rijndael ganador del concurso AES. Tam. bloque = 128 bits, long. claves = 128-192-256 bits Twofish: participante concurso AES. Tam. bloque = 128 bits, long. claves = 128-192-256 bits Se concluye: Difícil determinar cual es el mejor Ninguno ha sido roto Mayor seguridad para PGP, si se rompe uno se podrá escoger otro.
Principios básicos PGP (VI) Algoritmos de cifrado Asimétricos, intervienen en: Generación del par de claves Cifrado de las claves de sesión Cifrado del hash del mensaje para firma digital Disponibles en PGP: RSA: Basado en el problema de factorización de números grandes. Proceso de cifrado y firmado iguales. Sólo se cambia la clave a usar (pública o privada).
Principios básicos PGP (VII) Algoritmos de cifrado Algoritmo ElGamal: Basado en la dificultad del cálculo de logaritmos discretos del grupo multiplicativo en un campo finito Basado en el algortimo de intercambio de claves Diffie-Hellman Los procesos de cifrado y firmado difieren. El proceso de firma es denominado DSS (Digital Signature Standard) Comparativas: DH (ElGamal) expande el mensaje al doble del tamaño orginal DSS sólo ofrece 1024 bits para la firma, RSA hasta 4096 RSA ofrece menos seguridad por cada bit que DH/DSS DH se basa en una teoría matemática, en principio, más sólida
Principios básicos PGP (VIII) Algoritmos de cifrado Funciones Hash, intervienen en: El proceso de firma Cifrado/descifrado de la clave privada Disponibles en PGP: MD5: Diseñado por Ronald Rivest en sustitución de MD4. Salida de 128 bits. Descubiertas colisiones que se desconoce como afectarán en su seguridad. Actualmente no se recomienda por razones de seguridad.
Principios básicos PGP (IX) Algoritmos de cifrado RIPEMD-160: Diseñado por comunidad académica abierta Versión mejorada del algoritmo original RIPEMD que estaba basado en MD4 Salida de 160 bits. Existen versiones de 128, 256 y 320 bits Familia SHA: Diseñado por la agencia de seguridad nacional americana (NSA) y publicado por el instituto de estándares y tecnología (NIST) SHA-0 y SHA-1 producen salidas de 160 bits. SHA-2 salidas de 224, 256,384 y 512 bits. Fallo en SHA-0 y varios ataques conocidos contra SHA-1 Búsqueda de un algoritmo estándar que sustituya SHA-1
Principios básicos PGP (X) Algoritmos de cifrado En PGP, por defecto, vienen deshabilitados MD5, RIPEMD-160 y SHA-1. Sólo se usan las variantes de SHA-2 El poder escoger entre varias funciones proporciona mayor seguridad a PGP, igual que en el caso de los algoritmos de cifrado
Principios básicos PGP (XI) Firma Digital Soluciona los problemas de integridad y autenticidad (y no repudio por tanto) de los sistemas asimétricos e híbridos La característica más importante de una firma es que sólo pueda ser producida por un único firmante Cifrando parte del mensaje (el hash) con la clave privada se garantiza que el mensaje sólo ha sido enviado por el poseedor de dicha clave (autenticidad y no repudio). Y nadie podrá modificar el mensaje sin que se detecte (integridad)
Principios básicos PGP (XII) Firma Digital Proceso de firma Verificación de firma
Principios básicos PGP (XIII) Certificados Digitales Soluciona el problema de la suplantación de identidad a la hora de intercambiar claves públicas. Un certificado consta de las siguientes partes: Una clave pública Información del propietario Una o más firmas digitales La firma establece que la información del certificado ha sido avalada por una persona o entidad
Principios básicos PGP (XIV) Certificados Digitales Existen servidores de certificados y PKIs para intercambio de claves. Formatos: Certificados PGP. Puede ser firmado por cualquier persona y contener varias firmas Certificados X.509. Deben ser validados por una autoridad certificadora (CA)
Principios básicos PGP (XV) Certificados Digitales Validez. Propiedad que certifica que una clave pública pertenece al aparente propietario. Niveles: válido, marginalmete válido e inválido. Confianza. Es la creencia en la responsabilidad del dueño de la clave a la hora de firmar otras claves. Niveles: completa, marginal, no confianza. Confianza implícita: la que se tiene en tu propio par de claves
Principios básicos PGP (XVI) Certificados Digitales Modelos de confianza. Forma en la que se confía en la validez de los certificados. Confianza directa Jerarquía de confianza Red de confianza (el más usado en PGP) Revocación de certificados. Método para invalidar un certificado. Motivos: Expiración del periodo de validez Clave comprometida Por propia iniciativa
Principios básicos PGP (y XVII) Anillo de claves PGP guarda las claves en dos ficheros en el disco duro llamados anillos. Las claves públicas de tus receptores se almacenan en el anillo público Tus claves privadas se guardan en el anillo privado que estará cifrado. Si se pierde este anillo será imposible descifrar los mensajes recibidos
Modo de funcionamiento (I) Creación de claves Clave. Valor que trabaja con un algoritmo criptográfico para cifrar un texto El tamaño de la clave es determinante en la seguridad del algoritmo usado Cada usuario genera su par de claves. Para ello: Introduce sus datos Escoge el algoritmo a utilizar y el tamaño de las claves Escoge una frase de paso para proteger la clave privada Huella. Es un resumen (hash) de la clave pública. Es única para cada clave y por lo tanto sirve para identificarla
Modo de funcionamiento (II) Exportación e importación de claves públicas Se puede subir la clave pública a un servidor de claves para que otras personas tengan acceso a ellas Se puede modificar una clave almacenada en un servidor pero no se podrá eliminar. Sólo se podrá revocar Las claves disponibles en el servidor pueden ser importadas a nuestro anillo público. Será necesario comprobar que es válida para poder firmarla
Modo de funcionamiento (III) Funcionamiento General Proceso de firma digital
Modo de funcionamiento (IV) Funcionamiento General Proceso de compresión y cifrado
Modo de funcionamiento (V) Funcionamiento General Proceso de descifrado y descompresión
Modo de funcionamiento (VI) Funcionamiento General Verificación de la firma digital
Problemas y vulnerabilidades Fallos más importantes: ADK bug Ataque checo Problemas: Imposibilidad de comprobación satisfactoria de la firma Exigencias o limitaciones que impone PGP Vulnerabilidad de la validez de las claves (talón de Aquiles de PGP)
Otras aplicaciones de PGP Cifrado de documentos. Se cifran archivos en disco del mismo modo que el cifrado de mensajes. Borrado seguro de archivos mediante reescritura de la zona de datos donde residían los archivos.
S/MIME, PGP/MIME S/MIME PGP/MIME Estándar para criptografía de clave pública y firmado de correo electrónico encapsulado en MIME. Necesita un certificado expedido por parte de una Autoridad Certificadora Ofrece los mismos servicios que PGP PGP/MIME Integración de PGP con MIME No tuvo mucho éxito
Ejemplo de uso