PGP (Pretty Good Privacy)

Documentos relacionados
Criptografía y Seguridad de Datos Seguridad en el correo electrónico

Seguridad en Correo Electrónico

Clave Pública y Clave Privada

Criptografía. Diplomado- TI (2) Criptografía. Diplomado-TI (2) 9 de enero de 2012

Conceptos sobre firma y certificados digitales

SSL: Secure Sockets Layer Kerberos PGP Millicent

Criptografía Hash para Firma Electrónica. Dr. Luis A. Lizama Pérez

Redes de comunicación

La Firma Digital. Seguridad en Redes TCP/IP. Tabla de Contenidos

Semana 12: Encriptación. Criptografía

Cifrado simétrico. Podéis probar a descifrar este archivo usando la clave qwerty.

Seguridad en Redes. Dr. Arturo Redondo Galván 1

Asignatura: Horas: Total (horas): Obligatoria Teóricas 3.0 Semana 3.0 Optativa X Prácticas Semanas 48.0 de elección

GnuPG - GNU Privacy Guard

Universidad de Antioquia. Pregrado en Ingeniería de Sistemas. Seminario de Servicios en Internet. Profesor: Camilo Zapata -

Técnicas de cifrado. Clave pública y clave privada:

Una Introducción Matemática a la Criptografía (para mis alumnos de Álgebra I)

Función HASH o Función Resumen: Es un algoritmo matemático que asocia a cada documento un valor numérico diferente. Son algoritmos de un solo

Seguridad en los sistemas de información: e-voting, e-cash y notaria digital

Lección 3: Sistemas de Cifra con Clave Pública

Cifrado y firma digital con GnuPG

Criptografía y firma digital

Seguridad y criptografía

Criptografía Básica. Alberto Escudero Pascual

Técnicas de cifrado. Clave publica y clave privada

Seguridad Informática: Criptografía (II)

CIFRADO SIMÉTRICO Y ASIMÉTRICO CON GPG

CONFIGURACIÓN DEL CERTIFICADO DIGITAL EN OUTLOOK 2013

GNUPG. Flavio Ramirez

Circular de Tecnología Pautas para el uso de Certificados Digitales Personales

Estudio, diseño y evaluación de protocolos de autentificación para redes inalámbricas

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue

Tema: Funciones Hash MD5 y SHA-1

Matemáticas para proteger la Información

Criptografía. Kerberos PGP TLS/SSL SSH

Simulaciones y resultados

REALIZADO POR: MILA LEAL

Política de Protección de llaves/claves de cifrado para usuario final Agosto 2016

TEMA 40: Criptografía: Sistemas de clave simétrica y asimétrica, certificados digitales. Legislación en materia de firma electrónica.

UD2 Documentación 3 Herramientas Cifrado

NIVEL DE SEGURIDAD SSL (Secure Sockets Layer)

Desarrollo e implementación de un prototipo de Notaría Digital

Sistema criptográfico de llave publica RSA. Análisis y diseño de algoritmos Jose F. Torres M.

ANEXO 11: ESTÁNDARES RECONOCIDOS PARA LA ACREDITACIÓN

SERVICIO SFTP (ORK-TR)

Introducción. Algoritmos

Capítulo 5. CRIPTOGRAFÍA

SICRES 3.0 Presentación Ejecutiva

Introducción a la seguridad En redes de datos - 2

FIRMA DIGITAL: Aspectos Técnicos y Legales

Aspectos Técnicos, Usos y Aplicaciones Firma y Certificado Digital. Comisión de Sistema de Gestión Documental Suscriptor de Certificado Digital

Cifrar archivos y directorios en GNU/Linux:

Introducción a la Seguridad en Sistemas Distribuidos

Matemáticas Discretas. Tema 2. Introducción a la teoría de núm

Seguridad del protocolo HTTP

10 CRIPTOGRAFÍA, PROTECCIÓN DE DATOS Y APLICACIONES c RA-MA

INTRODUCCIÓN A LA ADMINISTRACIÓN DE REDES I N G. M O I S É S A L V A R E Z H U A M Á N

Tema 11 Introducción a la Criptografía

Crear en PDF un informe sobre la práctica que hemos realizado de criptografía asimétrica con el programa de Linux GPG.

Guía de firma y cifrado de archivos utilizando PGP

a) Firma digital de un documento

Firma Electronica Avanzada

LECCIÓN 5 Firma Electrónica

Métodos Encriptación. Tópicos en Sistemas de Computación Módulo de Seguridad

ESPECIFICACIÓN TECNICA MANUAL DE INSTALACIÓN DE CERTIFICADO DIGITAL EN FORMATO PKCS#12

Tema: Funciones hash y firma digital

CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA

Firma Electrónica Avanzada

MODELOS DE SEGURIDAD EN WEB

Introducción a las Tecnologías web. Luis Marco Giménez Madrid 2003

Sistema de Seguridad para intercambio de datos en Dispositivos Móviles. Tesista: Carlos Eduardo López Peza Asesor: Dr. Francisco Rodríguez Henríquez

Introducción a la seguridad y certificación digital. certificación digital

Criptografía. Por. Daniel Vazart P.

MANUAL DE CONFIGURACIÓN DEL CERTIFICADO DIGITAL EN OUTLOOK 2010

Transcripción:

PGP (Pretty Good Privacy) Dr. Luis Gerardo de la Fraga Departamento de Computación Cinvestav Correo-e: fraga@cs.cinvestav.mx Lunes 23 de junio de 2014 Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 1/32

PGP (Pretty Good Privacy) PGP es un programa de computadora para encriptar y desencriptar datos Provee los servicios de: confidencialidad, y autenticación Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 2/32

PGP se usa para firmar, encriptar y desencriptar: textos correo electrónico archivos directorios particiones de disco Fue creado por Phil Zimmermann en 1991 cuando trabajado en PKWARE, Inc. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 3/32

PGP Provee autenticación a través del uso de firmas digitales Provee confidencialidad a través de encriptación simétrica de bloques Provee compresión de datos a través del algoritmo ZIP Tiene compatibilidad con el correo electrónico usando el esquema de codificación radix-64 Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 4/32

Radix-64 es igual que la codificación base 64 usado por MIME con un CRC opcional de 24 bits. También prove herramientas para manejar llaves para la criptografía de llave pública usando certificados digitales MIME (Multipurpose Internet Mail Extensions) Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 5/32

Características de PGP 1. PGP contiene los mejores algoritmos criptográficos disponibles 2. Integra todos estos algoritmos en una herramienta de uso general independiente del sistema operativo y procesador. 3. Está formado por un conjunto pequeño de comandos 4. Los algoritmos que usa son: RSA, DSS, y Diffie-Hellman para criptografía de llave pública CAST-128, IDEA, y 3DES para criptografía de llave simétrica SHA-1 para codificación en picadillo (hash) 5. No es controlado por ninguna organización gubernamental o de estándares Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 6/32

En la documentación de PGP se usa el término llave secreta para referir la llave emparejada a la llave pública en el esquema de criptografía de llave pública Esto es confuso ya que el término llave secreta se usa para criptografía simétrica Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 7/32

Notación: Ks = llave de sesión usando en el esquema de encriptación simétrica PRa = llave privada del usuario A, usando en el esquema de encriptación de llave pública PUa = llave pública del usuario A, usando en el esquema de encriptación de llave pública EP = Encriptación de llave pública DP = Desencriptación de llave pública EC = Encriptación simétrica DC = Desencriptación simétrica H = función picadillo = concatenación Z = compresión usando el algoritmo ZIP R64 = conversión a formato ASCII raíz 64 Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 8/32

Servicio de autenticación: 1. El usuario crea un mensaje 2. Se usa SHA-1 para generar un picadillo de 160 bits del mensaje 3. Se encripta el picadillo usando RSA con la llave privada del que envía el mensaje. El resultado se agrega al mensaje 4. El que recibe usa RSA con la llave pública del que envía el mensaje para desencriptar y recuparar el picadillo 5. El que recibe genera un nuevo picadillo con el mensaje y lo compara con el picadillo desencriptado, si son iguales se considera que el mensaje es auténtico Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 9/32

M H PRa EP Z E[ PRa, H(M) ] Z 1 PUa DP H Comparar Fuente A Destinatario B Función PGP de solo autenticación Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 10/32

Servicio de confidencialidad: 1. El que envia genera su mensaje y un número aleatorio de 128 bits. Este número será usado como llave de sesión solamente para este mensaje. 2. El mensaje se encripta usando CAST-128 (o IDEA o 3DES) con la llave de sesión 3. La llave de sesión se encripta con RSA usando la llave pública del recipiente y se agrega al mensaje 4. El que recibe usa RSA con su llave privada para desencriptar y recuperar la llave de sesión. 5. La llave de sesión recuperada se usa para desencriptar el mensaje Una alternativa para RSA es el esquema de ElGamal No se necesita un protocolo de intercambo de llave de sesión porque no se inicia una sesión de salida. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 11/32

Ks PUb EP E[ PUb, Ks ] PRb DP M Z EC DC Z 1 M Fuente A Destinatario B Función PGP de solo confidencialidad Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 12/32

Confidencialidad y autenticación 1. Se crea una firma y se agrega al mensaje 2. Se encripta todo usando CAST-128 (o IDEA o 3DES) con la llave de sesión 3. Se encripta la llave de sesión usando RSA (o ElGamal) con la llave pública del recipiente Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 13/32

Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 14/32

Compresión Por defecto, PGP comprime el mensaje antes de calcular la firma y antes de encriptar Esto tiene el beneficio de ocupar menos espacio tanto para la transmisión de correo-e como para almacenamiento de un archivo. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 15/32

Compatibilidad con correo-e Si solo se usa el servicio de firma (autenticación), entonces el digesto del mensaje se encripta (con la llave privada del que envía) Se se usa el servidio de confidencialidad, se encripta el mensaje más la firma (con una llave simétrica de un solo uso) Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 16/32

Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 17/32

PGP usa cuatro tipos de llaves: Llaves simétricas de sesión de un solo uso Llaves públicas Llaves privadas Llaves simétricas basadas en una frase de paso Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 18/32

Tres requerimientos pueden identificarse con respecto a estas llaves: (1/2) 1. Se necesita un medio para generar llaves de sesión impredecibles 2. Se quisiese permitir a un usuario contar con múltiples pares de llave-pública/llave-privada. Una razón es que el usuario desearía cambiar su par de llaves Cuando esto sucede, cualquier mensaje en espera será construido con las llaves obsoletas. Los recipientes sabrán de la nuevo llave hasta que se pongan al día. Además el usuario quisiese multiples llaves para interactuar con grupos distintos. o mejorar la seguridad usando de forma limitada una llave para una cierta cantidad de material Entonces, no existe una relación uno a uno entre usuarios y sus llaves públicas Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 19/32

Tres requerimientos pueden identificarse con respecto a estas llaves: (2/2) 3. Cada entidad PGP debe mantener un archivo con sus propias pares de llaves públicas/privadas así como también un archivo de llaves públicas correspondientes Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 20/32

Generación de llaves de sesión Se usa la sincronización de teclado y las mismas teclas oprimidas por el usuario como texto de entrada También se usa la llave anterior generada Se usa el modo retroalimentado del cifrador CAST-128 que genera dos bloques de 64 bits Se concatenan los dos bloques y forman la llave de 128 bits De esta forma se garantiza que la llave sea única Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 21/32

Identificador de llave La llave de sesión se encripta con la llave pública del recipiente Si se usara un solo para de llaves pública/privada es fácil desencriptarla: se usa única llave privada del recipiente Pero se se tienen varios pares de llaves? Una solución sería usar un identificador para cada llave El identificador de la llave son sus últimos 64 bits Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 22/32

El mensaje consiste entonces de tres componentes: 1. El mensaje (incluye su fecha y nombre de archivo) 2. La firma (opcional) La fecha en que fue hecha El digesto del mensaje de 160 bits producido por SHA-1. Este va encriptado con la llave privada del que envía. Dos octetos para el digesto del mensaje 3. Y un componente de la llave de sesión (opcional) Incluya la llave de sessión (encriptada) y el identificador de la llave pública del recipiente Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 23/32

Anillo de llaves Se contruye con: Fecha de creación Identificador de la llave Llave pública Llave privada Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 24/32

Manejo de las llaves públicas La tarea de proteger las llaves públicas para que no sean manipuladas es el problema más dificil en las aplicaciones prácticas con llaves públicas. Es el talón de Aquiles de la criptografía de llave pública y mucha de la complejidad en el software está atado a resolver ente problema. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 25/32

Supongamos que A desea obtener una llave pública de B, los siguientes escenarios con posibles: 1. Obtener físicamente la llave de B. B podría guardar su llave pública en una memoria USB y dársela a A. A podría cargar la llave en su sistema de la memoria USB. Este es un método muy seguro pero tiene limitaciones práctivas obvias. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 26/32

2. Verificar una llave vía telefónica. Si A reconoce a B en el teléfono, A podría llamar a B preguntarle que dicte la llave, en formato radix-64. Una alternativa más práctica: B podría trasmitir su llave en un mensaje de correo-e a A. A podría tener PGP y generar un digesto SHA-1 de 160-bits de la llave y desplegarla en formato exadecimal; y este sería la huella dactilar de la llave. A podría entonces llamar a B y preguntarle que dicte la huella dactilar por teléfono. Si las dos huellas dactilares concuerdan, entonces la llave está verificada. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 27/32

3. Obtener la llave pública de un invididuo D en que ambos confíen. Para esto D crea un certificado firmado. El certifivado incluye: fecha de creación de la llave, periódo de validez de la llave, D genera un digesto de 160 bits de su certificado, lo encripta con su llave privada, y pega la firma a su certificado. Como solo D puede crear la firma, nadie más puede crear un llave pública falsa y pretender que está firmada por D. El certificado firmado podría enviarse directamente a A por B o D, o podría poderse dispobible en algún publicación. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 28/32

4. Obtener la llave pública de un autoridad certificadora confiable. De nuevo, se crea un certificado de llave pública y es firmado por la autoridad. A tendría acceso a la autoridad, proveyendo un numbre de usuario y recibiendo el certificado firmado. Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 29/32

Cúales son los comandos de pgp? https://www.gnupg.org GnuPG viene en dos sabores: 1.4.17 es la versión bien conocida y portable 2.0.23 es la versión mejorada y más dura de construir gpg2 OpenPGP encryption and signing tool El anillo de llaves se guarda por defecto en ~/.gnupg Generar una clave: gpg2 --gen-key gpg2 --list-keys gpg2 --list-secret-keys Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 30/32

Una prueba para firmar algún documento Primero hay que crear las llaves Para firmar: gpg2 -s [archivo] Para verificar la firma: gpg2 --verify [archivo] Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 31/32

Cryptography and Network Security Principles and Practice Fifth edition W. Stallings Prentice Hall Dr. Luis Gerardo de la Fraga PGP PGP (Pretty Good Privacy) 32/32