Sunteți pe pagina 1din 47

PGP (Pretty Good Privacy)

Lorenzo Manuel Martnez Bravo Ingeniera Telemtica DISIT Uex

Contenidos
Introduccin
Qu es PGP Historia y versiones Funciones Aplicaciones y utilidades

LMMB, 2007. PGP

Contenidos
Introduccin
Qu es PGP Historia y versiones Funciones Aplicaciones y utilidades

Manejo de PGP
Instalacin Generacin de claves: Tipos Firma de un mensaje Cifrado de un mensaje Firmado y cifrado Gestin de Claves

LMMB, 2007. PGP

Contenidos
Introduccin
Qu es PGP Historia y versiones Funciones Aplicaciones y utilidades

Manejo de PGP
Instalacin Generacin de claves: Tipos Firma de un mensaje Cifrado de un mensaje Firmado y cifrado Gestin de Claves

Funcionamiento de PGP
Algoritmos utilizados Confidencialidad Compresin Segmentacin y reensamblaje Anillos de claves

Autenticacin Confidencialidad y Autenticacin Compatibilidad email Claves de sesin Gestin de Claves Pblicas
LMMB, 2007. PGP

Introduccin. Qu es PGP ? Es una herramienta de proteccin de informacin, que utiliza las tcnicas ms modernas de cifrado. Caractersticas:
Hay versiones libres, disponible para diversas plataformas, y su cdigo es pblico. Usa los mejores algoritmos criptogrficos:
AES, 3DES, IDEA, RSA, DiffieHellman MD5, SHA,

Se puede utilizar en todo tipo de aplicaciones. Es especialmente til para e-mail.

LMMB, 2007. PGP

Introduccin. Historia y versiones

En 1991, Phil Zimmermann desarroll la primera versin por iniciativa propia, y lo distribuy por Internet. El programa tuvo mucho xito, y recibi numerosas contribuciones, sugerencias y mejoras:
Extensin a otras plataformas Soporte para claves mayores,

Los propietarios de RSA meten baza:


Dos versiones de PGP: una libre y otra comercial (ViaCrypt)

El MIT estandariza una versin (2.6.2 y 2.6.3). Se separan las versiones libre (GPG) y comercial (PGP).

LMMB, 2007. PGP

Introduccin. Funciones de PGP Cifrado de un fichero Firma sobre un fichero Firma + cifrado de un fichero Operaciones inversas:
Descifrado Comprobacin de firma

Gestin de claves completa

LMMB, 2007. PGP

Introduccin. Aplicaciones y utilidades PGP PGP bsico Front Ends para entornos grficos Aplicaciones PGP sobre entornos grficos Aplicaciones de email + PGP Libreras ...

LMMB, 2007. PGP

Contenidos
Introduccin
Qu es PGP Historia y versiones Funciones Aplicaciones y utilidades

Manejo de PGP
Instalacin Generacin de claves: Tipos Firma de un mensaje Cifrado de un mensaje Firmado y cifrado Gestin de Claves

Funcionamiento de PGP
Algoritmos utilizados Confidencialidad Compresin Segmentacin y reensamblaje Anillos de claves

Autenticacin Confidencialidad y Autenticacin Compatibilidad email Claves de sesin Gestin de Claves Pblicas
LMMB, 2007. PGP

Manejo de PGP. Ficheros (2.6.x)


PGPESP.ZIP PGP-PGPA.ZIP PGP.EXE ES.HLP CONFIG.TXT LANGUAGE.TXT PGPDOC1.TXT PGPDOC2.TXT LEEME.TXT PGPASIIU.EXE LANGUAGE.IDX
LMMB, 2007. PGP

Pgp -h

10

Manejo de PGP. Instalacin de PGP. Cifrado simtrico Crear un directorio \PGP Copiar los ficheros
Pgp.exe, pgp.hlp, languaje.txt, config.txt, es.hlp, ...

Aadir PATH
En el Autoexec.bat set PGPPATH=C:\pgp /*o lo que sea*/ set TZ=MET-1DST

Aadir zona horaria


En el autoexec.bat

Generar las claves Probar

(Esto lo posponemos)

LMMB, 2007. PGP

11

Manejo de PGP. Cifrado simtrico


Vamos a usar el cifrado simtrico, basado en passwd.

LMMB, 2007. PGP

12

Generacin de Claves (I) Generacin del par de claves RSA/D-H:


Clave Privada Clave Pblica

Algoritmo:
RSA / D-H

Tamao (seguridad):
1024 - 4096 bits

Identificacin y proteccin de las claves:


Identificador: nombre<email@address> Frase de paso

LMMB, 2007. PGP

13

Generacin de Claves (II)


Orden
pgp -kg

Anillos de claves:
pubring secring Almacen de claves pblicas Almacen de claves privadas

Probar el uso de claves pblicas y privadas:


Cifrado de ficheros.

LMMB, 2007. PGP

14

Cifrado de un mensaje. Resumen


Cifrado de un fichero. Simtrico:
Se usa algoritmo simtrico (AES, ) Clave aleatoria de un solo uso generada a partir de passwd.

Cifrado Asimtrico:
Se protege con la clave pblica del receptor.

LMMB, 2007. PGP

15

Firma de un fichero (I). Caractersticas No se puede robar la firma digital de un mensaje en trnsito.
Pues aunque se pueda generar una firma hash del mismo no se podra cifrar ya que no se conoce la clave privada del emisor

No se puede eliminar o modificar el contenido de un mensaje con firma digital.


Porque el nuevo mensaje tendr una firma hash diferente que el viejo y fallar la verificacin.

S se puede ver el contenido del mensaje


La firma digital proporciona autentificacin y garanta de integridad, pero no confidencialidad.
LMMB, 2007. PGP

16

Firma de un fichero (II)


Resuelve los problemas de autentificacin e integridad. Se genera un resumen del fichero (digest), mediante un algoritmo hash (MD5, SHA,...). Se cifra el resumen con la clave privada del emisor, usando el algoritmo RSA. Ejercicio:
Generacin y verificacin de firmas.

LMMB, 2007. PGP

17

Gestin de claves. Posibilidades que tenemos...


Anillos de claves:
Anillo de claves privadas Anillo de claves pblicas

Generacin de un nuevo par de claves Adicin de claves pblicas Eliminacin de claves Copia de claves ...

LMMB, 2007. PGP

18

Contenidos
Introduccin
Qu es PGP Historia y versiones Funciones Aplicaciones y utilidades

Manejo de PGP
Instalacin Generacin de claves: Tipos Firma de un mensaje Cifrado de un mensaje Firmado y cifrado Gestin de Claves

Funcionamiento de PGP
Algoritmos utilizados Confidencialidad Compresin Segmentacin y reensamblaje Anillos de claves

Autenticacin Confidencialidad y Autenticacin Compatibilidad email Claves de sesin Gestin de Claves Pblicas
LMMB, 2007. PGP

19

Algoritmos utilizados
Cifrado de mensajes: Firma digital: Compresin: Compatibilidad email: AES + RSA MD5 + RSA ZIP Radio64

Segmentacin (obsoleto)

LMMB, 2007. PGP

20

Autenticacin (firma digital) (1)


Funcin: Emisor enva mensaje firmado al Receptor

Emisor

El mensaje viene del emisor y no ha sido modificado?

Mensaje Receptor

LMMB, 2007. PGP

21

Autenticacin (firma digital) (1)


Proceso de creacin de una firma digital: 1. Mensaje original M 2. Se calcula un cdigo hash de 128 bits (usando el algoritmo MD5) de M: h(M) 3. Se cifra el cdigo hash con RSA, con la clave privada del emisor, KRemisor: EKRemisor(h(M)) 4. Se aade la firma al mensaje original: M + EKRemisor(h(M)) 5. El resultado se comprime con ZIP: ZIP(M + EKRemisor(h(M)))
LMMB, 2007. PGP

22

Autenticacin (firma digital) (1)


Proceso de creacin de una firma digital:
Emisor
M MD5 RSA || ZIP

C = ZIP(M || EKRemisor(h(M)))

KRemisor

LMMB, 2007. PGP

23

Autenticacin (firma digital) (2)


Proceso de comprobacin de la firma digital: 1. Receptor recibe mensaje de emisor, C. 2. Descomprime el mensaje con ZIP. 3. Descompone el mensaje en sus dos componentes: M y Firma 4. Descifra la firma, usando la clave pblica del emisor (KUemisor), usando RSA. 5. Calcula el cdigo hash del mensaje, usando MD5. 6. Compara los valores obtenidos en los pasos 4 y 5.

LMMB, 2007. PGP

24

Autenticacin (firma digital) (2)


Proceso de comprobacin de la firma digital:
Receptor C ZIP M Firma MD5 RSA iguales ? C Emisor KUemisor

LMMB, 2007. PGP

25

Confidencialidad (1) Proceso de cifrado de un mensaje: 1. El emisor genera un mensaje, M. 2. Comprime el mensaje con ZIP. 3. Genera una clave de sesin, KS. 4. Cifra el mensaje con el algoritmo AES. 5. Cifra la clave de sesin con el algoritmo RSA, usando la clave pblica del receptor, KUreceptor. 6. Concatena el mensaje cifrado y la clave cifrada.

LMMB, 2007. PGP

26

Confidencialidad (1) Proceso de cifrado de un mensaje:


Emisor
M Ks

C = AESKs(ZIP(M)) || RSAKUreceptor(Ks)
KUreceptor

RSA ZIP AES ||

LMMB, 2007. PGP

27

Confidencialidad (2) Proceso de descifrado de un mensaje: 1. El receptor recibe un mensaje, C. 2. Separa el mensaje cifrado de la clave cifrada. 3. Descifra la clave con RSA, usando su clave privada (KRreceptor) y obtiene la clave de sesin, Ks. 4. Descifra el mensaje con AES, usando la clave de sesin. 5. Descomprime el mensaje.

LMMB, 2007. PGP

28

Confidencialidad (2) Proceso de descifrado de un mensaje:


Receptor C M Clave RSA C KRreceptor Ks Emisor

AES

ZIP

LMMB, 2007. PGP

29

Confidencialidad y Autenticacin
Se pueden utilizar ambos servicios al mismo tiempo Se combinan las operaciones anteriores Orden:
1 Firma digital 2 Cifrado

por qu ?
seguridad, facilidad de verificacin por terceros.

LMMB, 2007. PGP

30

Confidencialidad y Autenticacin
C = AESKs(ZIP(M||RSAKRemisor(MD5(M)))) || RSAKUreceptor(Ks)

Emisor
M MD5 RSA || ZIP AES

KRemisor

KUreceptor
Ks RSA

||
LMMB, 2007. PGP

C
31

Compresin
PGP comprime el mensaje. De esta forma se ahorra espacio de almacenamiento y de transmisin. Se utiliza el algoritmo ZIP. La compresin se realiza despus de la firma y antes del cifrado:
fcil verificacin de la firma sobre el mensaje original distintas versiones del compresor ZIP, generan compresiones distintas (cdigos hash distintos) la compresin elimina redundancia, y por lo tanto complica el criptoanlisis.
LMMB, 2007. PGP

32

Compatibilidad email Algunos sistemas de email slo trabajan con caracteres ASCII imprimibles Problema con el texto cifrado o firmado Solucin PGP:
Convertir todo el mensaje a caracteres imprimibles, Algoritmo de conversin Radio 64, Idea bsica: Cada grupo de 3 bytes se convierte en un grupo de 4 caracteres ASCII imprimibles, Se produce una expansin del texto de un 33%, que se compensa con la compresin previa, Se realiza al final de todo.
LMMB, 2007. PGP

33

Compatibilidad email
X = Fichero Si Conversin desde R64 X = R64-1(X) Si Descifrar clave, X K=DRKUb(Ks) X=DIK(X)

Necesita Firma? No Comprimir X = Z(X)

Generar Firma X = firma || X

Necesita Secreto? No Descomprimir X = Z-1(X)

Necesita Secreto? No Convertir a Radio 64 X = R64(X)

Si

Cifrar clave, X X=ERKUb(Ks) || EIKs(X)

Necesita Firma? No

Si

Obtener Firma de X Comprobar firma

(a) Diagrarma de transmisin genrica (desde A)

(b) Diagrarma de recepcin (hacia B)

LMMB, 2007. PGP

34

Compatibilidad email
X = Fichero Si Conversin desde R64 X = R64-1(X) Si Descifrar clave, X K=DRKUb(Ks) X=DIK(X)

Necesita Firma? No Comprimir X = Z(X)

Generar Firma X = firma || X

Necesita Secreto? No Descomprimir X = Z-1(X)

Necesita Secreto? No Convertir a Radio 64 X = R64(X)

Si

Cifrar clave, X X=ERKUb(Ks) || EIKs(X)

Necesita Firma? No

Si

Obtener Firma de X Comprobar firma

(a) Diagrarma de transmisin genrica (desde A)

(b) Diagrarma de recepcin (hacia B)

LMMB, 2007. PGP

35

Segmentacin y reensamblaje (obsoleto) La mayora de los sistemas de email limitan la longitud mxima de los mensajes, Solucin PGP:
PGP segmenta y reensambla los mensajes automticamente, Esta operacin se realiza al final de todo (despus de la conversin R64).

LMMB, 2007. PGP

36

Claves de sesin
Claves de un solo uso, de 128-256 bits, que se utilizan con AES para cifrar un mensaje, Se envan junto con el mensaje, protegidas con la clave pblica del receptor Se generan de forma aleatoria:
Algoritmo ANSI X9.17 ( AES realimentado), Se usa el tiempo, el retardo de pulsacin de teclas, las teclas pulsadas, y la ltima clave generada.

LMMB, 2007. PGP

37

Anillos de claves (1)


PGP guarda las claves RSA en dos estructuras de datos denominadas anillos (llaveros):
Anillo de claves privadas Anillo de claves pblicas

Cada usuario puede tener varios pares de clave privada/clave pblica Cada par de claves tiene un ID

LMMB, 2007. PGP

38

Anillos de claves (2)


Anillo de claves privadas:
Almacena los pares de claves pblica/privada del usuario local La clave privada est protegida cifrada con AES, mediante una frase de paso. Componentes:
Timestamp Ti ID de la clave KUi mod 264 Clave pblica KUi Clave privada cifrada AES(KRi) ID de usuario Usuario i

LMMB, 2007. PGP

39

Anillos de claves (3)


Anillo de claves pblicas:
Almacena las claves pblicas de otros usuarios, con el objeto de que el usuario local las pueda utilizar, Componentes:

Timestamp Ti

ID de clave Kui mod 264

Clave pblica KUi

Certificado de propietario flag

ID de usuario Usuario i

Legitimacin de clave flag

Firma(s)

Certificado de firmas

LMMB, 2007. PGP

40

Gestin de Claves Pblicas (1)


PGP proporciona un mecanismo abierto para la gestin de las claves pblicas, y de la legitimidad de las mismas. Problema de la gestin de claves pblicas:
A obtiene una clave pblica KU, que pertenece a B, cmo puede A estar seguro y en qu grado, de que realmente pertenece a B? Si la clave no es legtima, se pueden presentar problemas muy serios.

LMMB, 2007. PGP

41

Gestin de Claves Pblicas (2)


Fuentes de obtencin de una clave pblica:
Obtenerla fsicamente del propietario:
mediante un disco, etc. problemas prcticos.

Transmisin remota y verificacin por telfono:


la clave se enva de forma remota (email, ftp, etc.), se verifica su autenticidad por telfono mediante un resumen, poco prctico para uso general.

Obtener la clave a partir de un tercero:


se debe confiar en el tercero, se puede aadir una firma para verificarla, Autoridad de Certificacin.

LMMB, 2007. PGP

42

Gestin de Claves Pblicas (3)


Legitimidad de claves en PGP:
PGP asigna valores a la credibilidad de las claves pblicas. Unos usuarios dan credibilidad a otros (Cerificados) Campos de legitimacin en cada clave pblica:
Campo Legitimacin de Clave (KEYLEGIT):

Valor que indica el grado de credibilidad que se le asigna a la clave pblica (0-1)
Campo Certificacin de Propietario (OWNERTRUST):

Valor que indica el grado de credibilidad de esta clave pblica para firmar otras claves pblicas
Campo Certificacin de Firma (SIGTRUST):

Valor que indica el grado de credibilidad de una firma concreta que firma a esta clave pblica (copia cache de OWNERTRUST)
LMMB, 2007. PGP

43

Gestin de Claves Pblicas (4)


Valores de legitimidad de KEYLEGIT:
No definido o desconocido Propietario no certificado Propietario certificado parcialmente Propietario certificado totalmente No definido Desconocido Normalmente no certificado para firmar otras claves Normalmente certificado para firma otras claves Certificado siempre para firmar otras claves Certificacin total (usuario propietario o local)
LMMB, 2007. PGP

Valores de legitimidad de OWNERTRUST:


44

Gestin de Claves Pblicas (5)


Valores de legitimidad de SIGTRUST:
No definido Usuario desconocido Normalmente certificado para firmar otras claves Certificado siempre para firmar otras claves Certificado totalmente para firmar otras claves

Nueva KU, (Clculo de KEYLEGIT):


La clave debe llevar una o ms firmas de certificacin Se tiene en cuenta cada firma: Si alguna firma tiene un SIGTRUST total se asigna el mismo valor a KEYLEGIT En otro caso, se calcula la expresin:
Certificacin n Firmas _ Certificadas _ Siempre n Firmas _ Certificadas _ Normalment e X Y
LMMB, 2007. PGP

45

Gestin de Claves Pblicas (6)


Usuario Local a ?

? ? l g h i j k ?
? : firma desconocida A --> B: B firma a A Clave certificada totalmente Clave certificada parcialmente Clave legtima

o ?

LMMB, 2007. PGP

46

Gestin de Claves Pblicas (7)


Servidores de claves:
keyserver.pgp.com Permiten: Enviar, obtener, actualizar, buscar claves, Certifican las claves.

LMMB, 2007. PGP

47

S-ar putea să vă placă și