Sei sulla pagina 1di 135

Seguridad Informtica Bsica

Reinaldo Mayol Arnao Centro de Tecnologas de Informacin Universidad de Los Andes 2006

Temario

Criptografa Simtrica Criptografa Asimtrica Infraestructuras de Clave Pblica (PKI) Redes Virtuales Privadas

Bibliografa Bsica

Ramio Jorge, Libro Prctico de Criptografa. http:// www.criptored.upm.es Stallings William, Criptography and Network Security. Stallings William, Fundamentos de Seguridad en Redes.

Objetivos

La autenticaci n: Proporciona certeza de la identidad de la fuente de la informacin, servicios, servidores o clientes. La confidencialidad: Protege contra el descubrimiento desautorizado de la informacin La integridad: Protege de la alteracin desautorizada de la informacin . El No Repudio: Protege contra negar haberlo hecho.

23/10/06

Reinaldo Mayol Arnao

Mecanismos
Se utilizan tres bloques bsicos: El cifrado se usa para proporcionar confidencialidad, puede proporcionar autenticacin y proteccin de integridad. Las firmas digitales se usan para proporcionar autenticacin, integridad, y no repudio.

23/10/06

Reinaldo Mayol Arnao

Como funciona

23/10/06

C= E
K

(P)

Reinaldo Mayol Arnao

P= D
K

(C)

Clasificacin

Si se utiliza una misma clave para cifrar y descifrar se habla de Cifrado Simtrico o de Clave Privada Si se utilizan 2 claves diferentes; una para cifrar y otra para descifrar se habla de Cifrado Asimtrico o de Clave Pblica

23/10/06

Reinaldo Mayol Arnao

Tcnicas de cifrado tradicionales

Cifrado por Sustitucin

Consiste en remplazar un smbolo por otro segn determinada clave. Ejemplo: Sistema de Julio de Cesar A B C D E F G ...... Alfabeto de Entrada
D E F G H I J ..... Alfabeto de Salida

Ejemplo:Sea K= la clave de cifrado (K=3) CADA=FDGD

23/10/06

Reinaldo Mayol Arnao

Cont...
L A C R I P T O G R A F I A H A C E A L M U N D O M E J O R

Cifrado por Transposicin

El objetivo no es sustituir sino cambiar el orden en que aparecen los caracteres del texto plano en el texto cifrado
Reinaldo Mayol Arnao

23/10/06

Cifrado Simtrico

23/10/06

Reinaldo Mayol Arnao

Importancia del Tamao


Tamao de la Nmero de llaves Llave (bits) Ttiempo de prueba a 106 Operaciones /s

32 56 128 168
23/10/06

232 = 4.3 x 109 256 = 7.2 x 1016 2128 = 3.4 x 1038 2168 = 3.7 x 1050

2.15 ms 10 horas 5.4 x 1018 aos 5.9 x 1030 aos

Reinaldo Mayol Arnao

La importancia del Tamao cont...

23/10/06

Reinaldo Mayol Arnao

Cifrado Simtrico cont...

Algoritmos

DES (Digital Encryption Standard)


clave de 56 bits Espacio de claves = 256 realiza una serie de operaciones de permutacin, sustitucin y recombinacin en bloques de 64 bits consiste en encadenar 3 etapas DES clave de 112 bits
Reinaldo Mayol Arnao

3DES

23/10/06

Cifrado Simtrico cont...

Blowfish

Optimizado para alta velocidad de ejecucin Llave de 448 bits Utilizada en PGP 5.x Llave de 128 bits Norma de cifrado actual del gobierno norteamericano En realidad AES son solo siglas. El protocolo de cifrado se llama Rijndael Reemplazo para el DES
Reinaldo Mayol Arnao

CAST 128

AES (Advanced Encryption Standard)


23/10/06

Cifrado Simtrico cont...


RC5 Disponible para cifradores en hardware y

software
El tamao de la clave puede ser variado Simple Bajo requerimiento de memoria Rotaciones dependientes de la data a cifrar IDEA (International Data Encryption Algorithm) cifra mensajes que son picados en bloques

de 64 bits
23/10/06 Reinaldo Mayol Arnao clave de 128 bits Espacio de claves = 2128

Algoritmos de LLave Simtrica


Data Encryption Standard (DES)

23/10/06

Reinaldo Mayol Arnao

Introducci n

El DES naci como consecuencia del criptosistema LUCIFER, creado por Horst Feistel quien trabajaba en IBM, este criptosistema trabajaba sobre bloques de 128 bits, teniendo la clave igual longitud . Tras las modificaciones introducidas por el NSA (National Security Agency), consistentes bsicamente en la reduccin de la longitud de clave y de los bloques, DES cifra bloques de 64 bits, mediante permutacin y sustitucin y usando una clave de 56 bits.

23/10/06

Reinaldo Mayol Arnao

Funcionamiento General
64 bits de texto plano 64 bits de la clave
Permutacin Inicial EPi Permutacin Selectiva EP1x

56 bits

Ronda 1

K1 48 bits

Permutacin Selectiva EP2

Rotacin
a la Izquierda

Ronda 16

K16
Permutacin Selectiva EP2

Rotacin a la Izquierda

Intercambio de 32 bits

El algoritmo codifica bloques de 64 bits empleando claves de 56 bits. Esta constituido por: Dos permutaciones, una que se aplica al principio (Pi) y otra que se aplica al final (Pf), tales que Pi = Pf-1 Red de Feistel de 16 rondas El manejo de las claves se realiza manipulando un valor inicial de 64 bits hasta obtener una clave por cada ronda (K1..K16) de 48 bits Se obtiene 64 bits de texto cifrado

Permutacin Final EPi-1

. 64 bits de texto cifrado

23/10/06

Reinaldo Mayol Arnao

Permutacin Inicial (Pi)


58 60 62 64 57 59 61 63 50 52 54 56 49 51 53 55 42 44 46 48 41 43 45 47 34 36 38 40 33 35 37 39 26 28 30 32 25 27 29 31 18 20 22 24 17 19 21 23 10 12 12 16 9 11 13 15 2 4 6 8 1 3 5 7

23/10/06

Reinaldo Mayol Arnao

Permutacin Final (Pf -1 Pi )


40 39 38 37 36 35 34 33 8 7 6 5 4 3 2 1 48 47 46 45 44 43 42 41 16 15 14 13 12 11 10 9 56 55 54 53 52 51 50 49 24 23 22 21 20 19 18 17 64 63 62 61 60 59 58 57 32 31 30 29 28 27 26 25

23/10/06

Reinaldo Mayol Arnao

Red de Feistel
Li = Ri-1 Ri = Li-1f (Ri-1,Ki) Ln = Ln f (Rn-1, Kn) Rn = Rn-1 para i<n

para i=n

23/10/06

Reinaldo Mayol Arnao

La Funcin f (Ri , Ki )

6bits 4 bits

23/10/06

Reinaldo Mayol Arnao

Funcin de Expansin E
32 4 8 12 16 20 24 28
23/10/06

1 5 9

2 6

3 7 11 15 19 23 27 31

4 8 12 16 20 24 28 32

5 9 13 17 21 25 29 1

10 14 18 22 26 30

13 17 21 25 29

Reinaldo Mayol Arnao

La Funcin f (Ri , Ki )
primer paso

6bits 4 bits

23/10/06

Reinaldo Mayol Arnao

Las cajas S (ejemplo para S1)


0 1 1 1 0 1

Entrada=13

Caja S
01= fila 1

0 1 0 1
14=columna14

MATRIZ DE SUSTITUCION

23/10/06

Reinaldo Mayol Arnao

Las Cajas S
FILA 01 COLUMNA 14 VALOR DE SALIDA=3

23/10/06

Reinaldo Mayol Arnao

La Funcin f (Ri , Ki )
segundo paso

6bits 4 bits

23/10/06

Reinaldo Mayol Arnao

Permutacin P
16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

24

14

32

27

19

13

30

22

11

25

23/10/06

Reinaldo Mayol Arnao

La Funcin f (Ri , Ki )
tercer paso

6bits 4 bits

23/10/06

Reinaldo Mayol Arnao

Red de Feistel
32 bits

23/10/06

Reinaldo Mayol Arnao

Generacin de Claves
Se calcula un total de 16 valores de Ki,, uno para cada ronda Primero se realiza una permutacin selectiva EP1,, a los 64 bits de entrada desechando los bits mas significativos de cada octeto resultando en 56 bits Se realizan desplazamientos a la izquierda de cada una de las dos mitades -de 28 bits- resultantes Por ltimo se realiza una permutacin selectiva (EP2) de 48 bits en cada ronda, que sera la Ki

23/10/06

Reinaldo Mayol Arnao

Permutacin Selectiva EP1


57 1 10 19 63 7 14 21 49 58 2 11 55 62 6 13 41 50 59 3 47 54 61 5 33 42 51 60 39 46 53 28 25 34 43 52 31 38 45 20 17 26 35 44 23 30 37 12 9 18 27 36 15 22 29 4

23/10/06

Reinaldo Mayol Arnao

Desplazamientos

Los desplazamientos a la izquierda son de dos bits, salvo para las rondas 1, 2, 9 y 16, en las que se desplaza slo un bit.

23/10/06

Reinaldo Mayol Arnao

Permutacin Selectiva EP2


14 15 26 41 51 34 17 6 8 52 45 53 11 21 16 31 33 46 24 10 7 37 48 42 1 23 27 47 44 50 5 19 20 55 49 36 3 12 13 30 39 29 28 4 2 40 56 32

23/10/06

Reinaldo Mayol Arnao

64 bits de texto plano Permutacin Inicial EPi

64 bits de la clave
Permutacin Selectiva EP1

Ronda 1

K1
48 bits

56 bits Permutacin Selectiva EP2


Rotacin a la Izquierda

Ronda 16
Intercambio de 32 bits Permutacin Final EPi-1

K16

Permutacin Selectiva EP2

Rotacin a la Izquierda

El sistema completo
Reinaldo Mayol Arnao

64 bits de texto cifrado


23/10/06

Descifrado de DES
El centro del algoritmo lo constituyen las redes de Feistel Cualquier Red de Feistel utiliza el mismo algoritmo para cifrar que para descifrar, excepto que el orden de las claves (Ki) debe ser invertido

23/10/06

Reinaldo Mayol Arnao

Debilidades de DES

El tamao de la clave (56 bits) es insuficiente para detener un ataque de fuerza bruta (con un poco de suerte y bajo algunas condiciones) con las tcnicas actuales. La estructura interna de las cajas S no ha sido publicada hasta la actualidad, por lo que se sospecha podran contener algn tipo de sorpresa incluida por sus diseadores
Reinaldo Mayol Arnao Lentitud de Aplicaciones por Software

23/10/06

Aumentando el tamao de la clave


K1 K2
X Si el problema es el tamao de la clave porque no aumentarla. Una forma sera disear un nuevo algoritmo Otra forma sera incluir una etapa adicional de cifrado DES cada una con claves diferentes K1 y K2 tal que: C=Ek2[Ek1[P]] P=Dk1[Dk2[C]] La nueva clave es de 56x2=112 bits

K2

K1
X

C
23/10/06

Reinaldo Mayol Arnao

El problema del punto medio


K1 K2
X
Si C=Ek2[Ek1[P]] entonces: X=Ek1[P]=Dk2[C] [1] Dado un par conocido C, P el ataque funciona de la siguiente forma: Se cifra P con cada una de las posibles 256 claves k1 Se descifra C con cada una de las posibles 256 claves k2 Por [1] tiene que existir un valor de X que haga vlida la ecuacin. Como se conocen las claves K1 y K2 que hicieron posible [1] se viola el algoritmo sin mayor esfuerzo que el destinado a violar DES.

K2

K1
X

C
23/10/06

Reinaldo Mayol Arnao

Ataque de punto medio (cont)


K11 P C K2,1

K1n P

C X K2m

K1256 P
23/10/06

Las claves utilizadas fueron K1n y K2m

K2 256

Reinaldo Mayol Arnao

Triple DES 3DES


Obviamente una forma de vencer al ataque de punto medio es colocar en cadena 3 etapas DES con claves diferentes, pero esto hace que el trabajo para manejar las claves, ahora de 56X3=168 bits se vuelva complicado

K1 P
E

K2
D

K1 K3
E

Una solucin es colocar tres etapas DES pero solo utilizar 2 claves diferentes de forma que: C=Ek1[Dk2[Ek1[P]]] De esta forma tambin se garantiza compatibilidad con sistemas DES tradicionales ya que si k1=k2 entonces: C=Ek1[Dk2[Ek1[P]]]=Ek1[P]

23/10/06

Reinaldo Mayol Arnao

3DES

3DES con dos claves es una alternativa relativamente popular al DES y ha sido adoptada para el uso de las normas de manejo de claves ANS X9.17 y ISO 8732. Sin embargo existen un grupo de aplicaciones que han optado por utilizar 3DES con 3 claves diferentes para aumentar la seguridad del sistema.
Reinaldo Mayol Arnao

23/10/06

Rijndael

Mecanismo de cifrado por bloques de 128, 192 y 256 bits Utiliza claves simtricas de igual tamao Utiliza una serie de r etapas Las primeras r-1 etapas son similares y utilizan una serie de operaciones especiales La ltima etapa realiza solo un subconjunto de las operaciones de las etapas anteriores
Reinaldo Mayol Arnao

23/10/06

Rijndael: Operaciones por Etapas

r-1 Etapas Byte Sub: Sustitucin de


bytes

Etapa r Byte Sub ShiftRow AddRoundKey

ShiftRow:
Desplazamiento de filas

MixCol: Multiplicacin de
columnas

23/10/06

AddRoundKey: Xor
con la llave
Reinaldo Mayol Arnao

Rijndael:
Texto Plano
Etapa Inicial
AddRoundKey

Las transformaciones son efectuadas a una matriz B que contiene cada bloque de los datos de entrada. Se generan Kr subclaves La longitud de las Kr yel valor de r dependen del tamao de los bloques y de la clave inicial

Etapas r-1
ByteSub ShiftRow MixCol AddRoundKey

wi...wi+4

Etapa Final
ByteSub ShiftRow AddRoundKey
23/10/06 Reinaldo Mayol Arnao

Texto Cifrado

Rijndael cont...

En cada ronda solo la etapa AddRoundKey depende de la clave. Por lo tanto cada etapa puede ser vista como un proceso de desorden de bits seguido por un XOR con la clave. El algoritmo comienza y termina con etapas Add RoundKey
Reinaldo Mayol Arnao

23/10/06

Rinjndael cont...

La clave inicial se expande a 44 palabras de 32 bits. 4 palabras (128 bits) entran a cada etapa A diferencia de los algoritmos basados en redes de Feistel todo el bloque de datos es procesado en paralelo.

23/10/06

Reinaldo Mayol Arnao

Mecanismos de intercambio de llaves

Para que el Cifrado Simtrico funcione ambas partes tienen que conocer la clave:
A

puede elegir una clave y entregarla fsicamente a B. tercero puede elegir la llave y entregarla fsicamente a A y B

Un Si Si

anteriormente A y B han intercambiado una llave podran usarla para cifrar una nueva llave y enviarla por la red. A y B poseen una conexin cifrada a C podran intercambiar llaves con C usando la conexin

23/10/06

Reinaldo Mayol Arnao

Nmero de llaves necesarias

A nivel IP con N nodos: [N (N-1)] Si el cifrado es realizado a nivel de aplicacin cada aplicacin de cada usuario requiere un par de claves.

23/10/06

Reinaldo Mayol Arnao

Nmero de llaves necesarias


109 Nmero de 108 llaves 107 106

103
23/10/06

104 Nmero de puntos finales Aplicaciones)


Reinaldo Mayol Arnao

105

Hasta Ahora...

Quien no tenga la llave no puede acceder a los datos Si confiamos en que la llave solo la tiene quien debe ser podemos confiar en la autenticidad.

23/10/06

Reinaldo Mayol Arnao

pero...

Como se mantiene la clave segura en un ambiente distribuido? Como se distribuye la clave sin poner en riesgo su confidencialidad? Si existen n puntos finales involucrados en una conversacin se requieren ~ n2 llaves Como se garantiza la integridad de la informacin ( incluyendo las llaves)?
Reinaldo Mayol Arnao

23/10/06

Cifrado Asimtrico

23/10/06

Reinaldo Mayol Arnao

Cifrado Asimtrico: Reglas de Juego

23/10/06

El sistema funciona con un par de claves, una para cifrar y otra para descifrar Una clave es secreta y nunca es transmitida La otra clave es pblica y puede ser difundida por la red sin peligro Si un documento es cifrado con una clave solo puede ser descifrado con su pareja Si un documento puede ser descifrado satisfactoriamente con una clave solo puede haber sido cifrado con su pareja
Reinaldo Mayol Arnao

El sistema completo
Texto Plano ( P) Ku
destino

Texto Cifrado (C) Kp


destino

C=E (P) Ku

P=D (C) Kp

23/10/06

Reinaldo Mayol Arnao

Cifrado Asimtrico (V)

RSA (Rivest-Shamir-Adleman), 1977

Firmas Digitales y Cifrado en un solo algoritmo.

La patente expir en el ao 2000 El texto plano es cifrado en bloques Matemticamente basado en los teoremas de Euler y Fermat Es el protocolo ms utilizado para cifrado asimtrico La fortaleza se basa en la imposibilidad de factorizar el producto de 2 nmeros Reinaldo Mayol grandes ( miles de Arnao bits)

23/10/06

Algoritmo RSA
1.

Seleccionar dos nmeros aleatorios primos y grandes (mas de 500 digitos ) p y q n=pq Escoger un entero pequeo E que sea relativamente primo a (p-1)x(q-1), es decir a (n). Calcular D tal que DE1mod (n)

2. 3.

4.

Entonces: E y n constituyen la clave pblica. D y n constituyen la clave privada.


23/10/06 Reinaldo Mayol Arnao

Nmeros relativamente Primos

Dos nmeros son relativamente primos si el GCD es 1. Ej. 8 y 15 son relativamente primos porqu:

Los divisores de 8 son 1,2,4 y 8 Los divisores de 15 son 1,3,5 y 15 1 es el nico divisor comn

23/10/06

Reinaldo Mayol Arnao

Aritmtica modular

Todo nmero entero a puede ser escrito como


a=qn+r r= a mod n Ej. a=11 n=7 11= 1x7+4 a=-11 n=7 -11=(-2)x7+3

23/10/06

Reinaldo Mayol Arnao

Congruencia en Mdulo

Dos nmeros A y B son congruentes en m dulo p si:


A mod p = B mod p A y B son congrentes en mdulo p si:

p | (A-B) Ej. 238 mod 5 porque 23-8=15 y 5|15

23/10/06

Reinaldo Mayol Arnao

Algoritmo RSA cont...

Sean M* el texto plano y C el texto cifrado tenemos:


Para Cifrar: C=M E mod n Para Descifrar: M=C D mod n=(ME)D mod n= MED mod n

23/10/06

Reinaldo Mayol Arnao

Sirve RSA?

Es posible encontrar E, D y n que satisfagan que MED= M mod n para todo M < n Es relativamente fcil calcular ME y CD Para obtener D a partir de E y N hay que factorizar N, el mejor algoritmo conocido para hacer factorizaciones corre en tiempo ln(n) ln ln(n)

23/10/06

Reinaldo Mayol Arnao

Que valores deben tener p y q

Si p q ( p > q), entonces (p-q)/2 es un entero muy pequeo y (p+q)/2 ser un entero muy cercano a n. Ej. Si p=7 q=5 entonces: (p-q)/2 =1 y (p+q)/2=6 , n=5x7=35 y n= 5,916 Adems se cumplir que: n = (p+q)/4 (p-q)/4.

35=(7+5)2 /4 - (7-5)2 /4=36 -1

23/10/06

Reinaldo Mayol Arnao

Esto lo podemos escribir como n = x - y con x= (p+q)/2 y y=(p-q)/2 Entonces y = x n, Elegimos enteros x > n hasta que (x - n) sea cuadrado perfecto. En este caso x = (p+q)/2; y = (pq)/2. Por lo tanto rompemos el valor n: p = (x+y); q = (x-y).

23/10/06

Reinaldo Mayol Arnao

Ejemplo podado *
1. 2. 3. 4.

Seleccionar dos nmeros primos, p=7 y q=17 Calcular n=pq=119 Calcular (n) =(p-1)(q-1)=96 Seleccionar E para que sea relativamente primo a (n) y menor que el , E=5 Determinar D tal que DE1mod 96 con D<96. D=77 DxE=385 y 96 | 385
* PODADO porque 7 y 17 no son nmeros grandes y ....

5.

23/10/06

Reinaldo Mayol Arnao

RSA ejemplo sencillo


19 M 5 = 2476009/119 =20807 con resto 66 C

Ku= 5 119 CIFRANDO

140 138 77 66 =1.27....x 10 /119 = 1.06...X 10 con resto 19 C


23/10/06

Kp= 77 119
Reinaldo Mayol Arnao DESCIFRADO

Claves privadas parejas en RSA

Una clave pareja permite descifrar el mensaje cifrado C con valores de D que no son los originalmente calculados durante la generacin de llaves RSA. En todo sistema RSA siempre existen claves parejas. r

23/10/06

Reinaldo Mayol Arnao

Son un problema las claves parejas?

Si bien existen, el problema es encontrarlas. En la actualidad implica buscar en un espacio de llaves de 24096. ( busque su calculadora y calcule este valor!!!)

23/10/06

Reinaldo Mayol Arnao

Que pasa si...

M= C=M E mod n En este caso se dice que M es no cifrable. Esto es un verdadero problema porque el mensaje M es enviado plano. Ejemplo:

Sea el cuerpo n = 35 (p = 5, q = 7), con (n) = 24 y e = 11.


Reinaldo Mayol Arnao

23/10/06

Nmeros no cifrables

Dentro de los nmeros posibles {0 a 34} sern no cifrables: {6, 14,15, 20, 21, 29, 34} adems de los obvios {0, 1}. El valor n-1 (en este caso 34) ser tambin siempre no cifrable.

La cantidad de nmeros no cifrables es:

= [1 + mcd (e-1, p-1)][1 + mcd (e-1, q-1)]

Pero para encontrarlos hay que hacer un ataque de fuerza bruta Xe mod n !!!!
Reinaldo Mayol Arnao

23/10/06

Hasta Ahora...

Tenemos un mecanismo para mantener las claves en ambientes distribuidos divulgando solo una parte de la misma ( Ku). Si el destino no ha divulgado su Kp el remitente puede estar seguro que nadie ms puede leer y entender el mensaje

23/10/06

Reinaldo Mayol Arnao

Pero...

Como sabe el destino que el remitente es quien dice ser ? Como sabe el destino que el mensaje no ha sido cambiado?

23/10/06

Reinaldo Mayol Arnao

Algoritmos Hash

23/10/06

Reinaldo Mayol Arnao

Algoritmos Hash

Una funcin hash una entrada de longitud variable a una salida de longitud fija (96, 128 o 160 bits) Requisitos:

No puede deducir la entrada de la salida. No puede generar una salida dada sin tener la misma entrada. No puede encontrar dos entradas que produzcan la misma salida. Cualquier cambio en la entrada cambia la salida.

23/10/06

Reinaldo Mayol Arnao

Algoritmos Hash

23/10/06

Reinaldo Mayol Arnao

Algoritmos Hash

Algoritmos MAC (Message Authentication Code)

Algoritmo hash + llave = hacen que el hash dependa de la llave El mas comn es HMAC La llave afecta ambos procesos de creacin del hash (de entrada y de salida) Mayor proteccin. Principio de funcionamiento de las firmas digitales

23/10/06

Reinaldo Mayol Arnao

Algoritmos Hash

Algoritmos

MD2: 128-bit de salida, obsoleto MD4: 128-bit de salida, roto MD5: 128-bit de salida, dbil SHA-1: 160-bit de salida, diseado por la NSA como algoritmo hash seguro, compaero de DSA. RIPEMD-160: 160-bit de salida HMAC-MD5: MD5 dentro de una MAC HMAC-SHA: SHA-1 dentro de una MAC

23/10/06

Reinaldo Mayol Arnao

SHA-1

23/10/06

Reinaldo Mayol Arnao

SHA-1 Procesamiento de 512 bits


A=67452301 B=EFCDAB89 C=98BADCFE D=10325476 E=C3D2E1F0

23/10/06

Reinaldo Mayol Arnao

Funcin de Compresin de SHA-1


A,B,C,D,E (E+ f (t,B,C,D)+S5(A)+Wt+Kt),A,S30(B),C,D

Kt FUNCIN f Paso t 0-19 5A827999 (B&C)+(B&D) 20-39 6ED9EBA1 B xor C xor D 40-59 8F1BBCDC(B&C)+(B&D)+(C&D) 60-79 CA62C1D6 B xor C xor D
23/10/06 Reinaldo Mayol Arnao

FIRMAS DIGITALES
Mecanismo que sirve para verificar:

que el autor de un mensaje es quien dice ser (autenticaci n) que no ha existido ninguna manipulacin posterior de los datos (integridad).

Para firmar un documento digital, su autor utiliza su propia llave secreta. El receptor utiliza la llave pblica del remitente para realizar la verificacin.
Reinaldo Mayol Arnao

23/10/06

FIRMAS DIGITALES

Cmo se firma?:

El autor aplica un algoritmo hash sobre el mensaje a enviar, obteniendo un texto de longitud fija que representa el resumen del mensaje El resumen del mensaje es cifrado con la llave privada del remitente.

23/10/06

Reinaldo Mayol Arnao

FIRMAS DIGITALES
Cmo se verifica? El receptor descifra el resumen del mensaje con la llave pblica del remitente. Luego aplica, sobre el mensaje que recibi, el mismo algoritmo hash que aplic el remitente. Si el mensaje no fue modificado, el resultado del algoritmo hash debe ser similar al que lleg cifrado (firmado) con la llave privada del remitente.

23/10/06

Reinaldo Mayol Arnao

FIRMAS DIGITALES

23/10/06

Reinaldo Mayol Arnao

y si...

Se consiguen 2 mensajes que den el mismo hash H(x)=H(y)?


LA PARADOJA DEL CUMPLEAOS (LPC) Dada una funcin hash H, con n posibles salidas y un valor especfico de H (x), si H es aplicada a k mensajes generados aleatoriamente. Cual debe ser el valor de k para que la probabilidad de que H(x)=H(y) sea 0.5?
Reinaldo Mayol Arnao

23/10/06

LPC cont...

Para un valor simple de y la probabilidad de H(x)=H(y) es 1/n por lo que la probabilidad de H(x)<>H(y) es [1-(1/n)] Si se generan k valores de y entonces la probabilidad de que cada uno cumpla H(x)<>H(y) es [1-(1/n)]k. Para una funcin hash de longitud m el valor de k que cumple LPC es k=2m/2
Reinaldo Mayol Arnao

23/10/06

Ataque de Cumpleaos

Entonces el tamao de la funcin hash es importante para la fortaleza ante ataques de cumpleaos.

23/10/06

Reinaldo Mayol Arnao

Otros algoritmos

DH (Diffie-Hellman), 1976

Algoritmo de intercambio de llaves Todos los pares Kp,Ku son diferentes. Obtener Kp a partir de P es tan difcil como leer M Kp y Ku deben ser fciles de calcular
Variante de DH, un algoritmo para cifrado y otro para firmas digitales. No patentado, alternativa para RSA
Reinaldo Mayol Arnao

Elgamal

23/10/06

Protocolo de Intercambio de Claves de Diffie y Hellman

A y B seleccionan un grupo multiplicativo (con inverso) p y un generador de dicho primo, ambos valores pblicos. A genera un nmero aleatorio a y enva a B a mod p B genera un nmero aleatorio b y enva a A b mod p B calcula (a)b mod p = ab mod p y luego destruye b A calcula (b)a mod p = ba mod p y luego destruye a El secreto compartido por A y B es el valor ab mod p

23/10/06

Reinaldo Mayol Arnao

Ejemplo de intercambio de clave de DH*


Adela (A) y Benito (B) van a intercambiar una clave de sesin dentro del cuerpo primo p = 1.999, con = 33. El usuario A elegir a = 47 y el usuario B elegir b = 117.
Algoritmo: A calcula a mod p = 3347 mod 1.999 = 1.343 y se lo enva a B. B calcula b mod p = 33117 mod 1.999 = 1.991 y se lo enva a A. B recibe 1.343 y calcula 1.343117 mod 1.999 = 1.506. A recibe 1.991 y calcula 1.99147 mod 1.999 = 1.506.

La clave secreta compartida por (A) y (B) ser K = 1.506


23/10/06

*ejemplo tomado del Prof. Jorge Ramo, UPM

Reinaldo Mayol Arnao

Cuan fuerte es DH?


Un intruso que conozca las claves pblicas p y e intercepte el valor a mod p que ha enviado A y el valor b mod p que ha enviado B no podr descubrir los valores de a, de b y ni menos ab mod p ...

Salvo que se enfrente al Problema del Logaritmo Discreto (PLD) que se vuelve computacionalmente intratable para valores de p grandes.
23/10/06 Reinaldo Mayol Arnao

Otros ....
DSA (Digital Signature Algorithm) Variante de el Elgamal, diseado por la NSA como el estndar de la firma digital gubernamental de los Estado Unidos.

Solo pensado para firmar, pero puede ser adaptado para cifrar.

23/10/06

Reinaldo Mayol Arnao

Aplicaciones de la Criptografa

23/10/06

Reinaldo Mayol Arnao

Aplicaciones de la Criptografa

Redes Virtuales Privadas (VPN) Acceso Remoto y Transferencia de Archivos seguros


SSH (Secure Shell) openSSH

www.ssh.com www.openssh.com

Cifrado del correo y ficheros, firma digital de documentos


PGP (Pretty Good Privacy) GnuPG (Gnu Privacy Guard)

www.pgpi.com www.gnupg.com

23/10/06

Reinaldo Mayol Arnao

SSH (Secure Shell)

SSH utiliza:

Criptografa de clave asimtrica:

para autenticar sesiones de trabajo. (RSA, DSA) para cifrar los datos que se transmiten por la red. (IDEA, DES, 3DES)

Criptografa de clave simtrica:

23/10/06

Reinaldo Mayol Arnao

SSL

23/10/06

Reinaldo Mayol Arnao

Al final...

Logramos: Autenticidad Confidencialidad Integridad Pero......

23/10/06

Reinaldo Mayol Arnao

Todava nos quedan cosas pendientes..

Como hacemos para que todos tengan nuestras claves pblicas? Como informamos si hemos perdido nuestra clave privada? Cuando alguien nos enva su clave pblica, que elementos tenemos para confiar el ella? Tenemos forma de limitar el uso que se le den a las claves ? Si alguien se va de la empresa, como revocamos su clave?

23/10/06

Reinaldo Mayol Arnao

De eso y ms

Hablaremos ms tarde ...

23/10/06

Reinaldo Mayol Arnao

PKI

Por que?

Existe un mecanismo criptogrfico para obtener los objetivos fundamentales de la seguridad... Pero es necesario establecer un mecanismo para distribuir de manera segura las claves. No podemos tener las claves de todos Las claves cambian Hace falta que alguien certifique quien es quien Hace falta que alguien establezca para que se puede usar una clave

Es el nico camino?
KERBEROS

Estructura Bsica

Autoridades

Usuario

El camino de A a B

X<<W>> W<<V>> V<<Y>> Y<<Z>> Z<<B>>

X <<W>>

CERTIFICADO DE X

FIRMADO POR W

Certificados

La base del esquema X.509 es el certificado de Ku. Los certificados los crea una autoridad de certificacin La autoridad no es responsable de la creacin de los K

Certificados X.509

Obtencin de un Certificado

Por qu se revoca un certificado?

La Kp est ( o se sospecha) comprometida El usuario ya no est certificado por esa CA Se sospecha que el certificado de la CA est comprometido

La versin 3 de X.509

Incluye una serie de extensiones adicionales para resolver deficiencias de la versin 2:

El campo Sujeto no era adecuado para acomodar algunos nombres de usuarios y aplicaciones Exista la necesidad de indicar informacin de las Polticas de Seguridad Es necesario definir los usos de los certificados Es necesario poder definir diferentes claves usadas por un usuario.

Las extensiones X.509 v3

Cada extensin tiene un campo de riesgo que define si la extensin puede ser ignorada o no. Las extensiones se dividen en:

Informacin sobre claves y polticas Atributos de Sujeto y emisor Limitaciones de la Ruta de Certificacin

Ej. de extensiones

Public Key Cryptographic Standards

PKCS #1: RSA Cryptography Standard PKCS #3: Diffie-Hellman Key Agreement Standard PKCS #5: Password-Based Cryptography Standard PKCS #6: Extended-Certificate Syntax Standard PKCS #7: Cryptographic Message Syntax Standard PKCS #8: Private-Key Information Syntax Standard PKCS #9: Selected Attribute Types PKCS #10: Certification Request Syntax Standard PKCS #11: Cryptographic Token Interface Standard PKCS #12: Personal Information Exchange Syntax Standard PKCS #13: Elliptic Curve Cryptography Standard PKCS #15: Cryptographic Token Information Format Standard

VPN

23/10/06

113

Redes Privadas Virtuales Virtual Private Networks

Proporcionan una red de datos privada sobre infraestructuras de telecomunicaciones pblicas, como Internet. Permita a los participantes disfrutar de la misma seguridad y funciones que slo estn disponibles en las redes privadas.

23/10/06

114

Tipos de Conexiones VPN


Host a Red Red a Red Host a Host

23/10/06

115

Tipos de Conexiones VPN

Host a Red

23/10/06

116

Tipos de Conexiones VPN

Red a Red

23/10/06

117

Tipos de Conexiones VPN

Host a Host

23/10/06

118

Requerimientos de una VPN

Autenticacin Administracin de direcciones Cifrado de datos Administracin de llaves Soporte de mltiples protocolos

23/10/06

119

Protocolos de T nel

Point-to-Point Protocol (PPP) Point-to-Point Tunneling Protocol (PPTP) Layer Two Forwarding (L2F) Layer Two Tunneling Protocol (L2TP) Internet Protocol Security (IPSec)

23/10/06

120

IPSec (RFC 2401)


Proporciona servicios de seguridad en capa 3. Permite seleccionar protocolo de seguridad, algoritmos que se van a utilizar y las claves requeridas para dar esto servicios. Servicios de seguridad: control de acceso, integridad, autenticacin del origen de los datos, confidencialidad.

23/10/06

121

Servicios IPSec

Protocolos de seguridad

AH (Authentication Header): Integridad y autenticacin de origen ESP (Encapsulating Security Payload): Confidencialidad IKE (Internet Key Exchange): Establece la comunicacin segura

Gesti n de claves

23/10/06

122

Protocolos de seguridad: AH y ESP


Modos de funcionamiento: Modo transporte

Entre hosts La cabecera del protocolo aparece despus de la cabecera IP Entre hosts y gateways Existe una cabecera IP adicional
123

Modo tnel

23/10/06

AH (RFC 2402)

Integridad y autenticacin de origen Est insertado entre la cabecera IP y los datos del paquete IP

23/10/06

124

ESP (RFC 2406)


Confidencialidad Proporciona servicios de seguridad mixtos entre hosts y gateways Est insertado entre la cabecera IP y los datos del paquete IP cifrado

23/10/06

125

ESP (RFC 2406)

23/10/06

126

ESP vs. AH

ESP provee todo lo que ofrece AH ms confidencialidad de datos. La prin ipa! di"eren ia en#re !a au#en#i a i$n pro%is#a en#re &'P y A( #iene que %er on !a o)er#ura* &'P no pro#ege !os ampos de! en a)e+ado ,P* a menos que sean en apsu!ados por &'P -modo #une!..

23/10/06

127

ESP vs. AH

23/10/06

128

Gesti n de Claves IKE (RFC 2409)


ISAKMP Proporciona un marco de operacin para la gestin de llaves de Internet y el soporte de protocolo especfico para negociar los atributos de seguridad NO establece las claves de sesin Oakley DiffieHelman para establecer las claves de sesin en los routers o hosts Puede utilizarse solo o con el ISAKMP si necesita negociacin de atributos

23/10/06

129

IKE (RFC 2409)

El protocolo IKE se basa en el concepto central de una asociacin de seguridad (SA). SA contiene todos los parmetros necesarios para definir completamente el acuerdo de seguridad tales como:

Autenticacin Algoritmos de cifrado Longitudes de llaves Tiempo de vigencia de las llaves

23/10/06

130

Asociaciones de Seguridad (SA)

Es un acuerdo de seguridad unidireccional entre los sistemas que se estn comunicando que especifican qu tan segura es una conexin que ser establecida. Todos los parmetros SA son organizados dentro de una estructura llamada Security Parameter Index (SPI). Una SA es negociada para cada protocolo de seguridad utilizada entre los protocolos de los sistemas interconectados. Dos sistemas pueden tener mltiples SA establecidas.

23/10/06

131

Servicios de Seguridad

Confidencialidad

Terceros no pueden obtener la informacin La informacin no ha sido alterada La procedencia es verdica No puede negar haberlo hecho

Integridad

Autenticidad

No repudio

23/10/06

132

IP layer security vs session layer security

,P'e y ''L son #e no!og/as omp!emen#arias uando e! #r0"i o se res#ringe a !a 12e)3 4uando e! #r0"i o no puede ser res#ringido s$!o a (55P* y se de)en in !uir ap!i a iones omo 5e!ne#* 65P* 76' -Network File System.* ser%i ios de dire #orio* ap!i a iones de )ases de da#os* audio y %ideo en #iempo rea!* en#on es es ne esario usar e! pro#o o!o ,P'e .

23/10/06

133

Autoridad de Certificaci n

Encargada de gestionar la emisin y/o generacin de certificados y revocaciones. Se encarga de establecer las polticas de certificacin:

Tamao de claves Fechas de validez Generar las listas de certificados revocados (CRL's).
134

23/10/06

Certificados Digitales

Archivo firmado por el CA atestiguando que la identidad y la clave pblica se corresponden. El formato estndar X.509 v3 recomendado por la (ITU) Une Identidad con Clave Pblica CA acta como un notario (certifica)

23/10/06

135