Seguridad Informática Básica - ::WEB DEL...

135
Seguridad Informática Básica Reinaldo Mayol Arnao Centro de Tecnologías de Información Universidad de Los Andes 2006

Transcript of Seguridad Informática Básica - ::WEB DEL...

Seguridad  Informática Básica 

Reinaldo Mayol ArnaoCentro de Tecnologías de InformaciónUniversidad de Los Andes 2006

Temario

Criptografía Simétrica

Criptografía Asimétrica

Infraestructuras de Clave Pública (PKI)

Redes Virtuales Privadas

Bibliografía Básica

Ramio Jorge, Libro Práctico de Criptografía. http:// www.criptored.upm.es

Stallings William, Criptography and Network Security.

Stallings William, Fundamentos de Seguridad en Redes.

23/10/06 Reinaldo Mayol Arnao

La autenticación: Proporciona certeza de la identidad de la fuente de la información, servicios, servidores o clientes.

La confidencialidad: Protege contra el descubrimiento desautorizado de la información

La integridad: Protege de la alteración desautorizada de la información .

El No Repudio: Protege contra negar haberlo hecho.

Objetivos 

23/10/06 Reinaldo Mayol Arnao

Se utilizan tres bloques básicos: El cifrado se usa para proporcionar confidencialidad, 

puede proporcionar autenticación y protección de integridad.

Las firmas digitales se usan para proporcionar  autenticación, integridad, y no repudio.

Mecanismos 

23/10/06 Reinaldo Mayol ArnaoC= E    (P)

K

P= D    (C)K K

Como funciona 

23/10/06 Reinaldo Mayol Arnao

Clasificación

Si se utiliza una misma clave para cifrar y descifrar se habla de Cifrado Simétrico o de Clave Privada

Si se utilizan 2 claves diferentes; una para cifrar y otra para descifrar se habla de Cifrado Asimétrico o de Clave Pública

23/10/06 Reinaldo Mayol Arnao

Cifrado por Sustitución Consiste en remplazar un símbolo por otro según 

determinada clave.Ejemplo: Sistema de Julio de CesarA 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

Técnicas de cifrado tradicionales 

23/10/06 Reinaldo Mayol Arnao

Cifrado por Transposición El objetivo no es sustituir sino cambiar el orden en que 

aparecen los caracteres del texto plano en el texto cifrado

Cont...

L T I A OA O A L MC G H M ER R A U JI A C N OP F E D R

23/10/06 Reinaldo Mayol Arnao

Cifrado Simétrico

23/10/06 Reinaldo Mayol Arnao

Importancia del Tamaño 

2.15 ms232 = 4.3 x 10932

5.9 x 1030 años2168 = 3.7 x 1050168

5.4 x 1018 años 2128 = 3.4 x 1038128

10 horas256 = 7.2 x 101656

Ttiempo de prueba a 106 Operaciones /µs

Número de llavesTamaño de la Llave (bits)

23/10/06 Reinaldo Mayol Arnao

La importancia del Tamaño cont...

23/10/06 Reinaldo Mayol Arnao

Algoritmos DES (Digital Encryption Standard)

clave de 56 bits ⇒ Espacio de claves = 256

realiza una serie de operaciones de permutación, sustitución y recombinación en bloques de 64 bits

3DES consiste en encadenar 3 etapas DES clave de 112 bits

Cifrado Simétrico cont...

23/10/06 Reinaldo Mayol Arnao

Blowfish Optimizado para alta velocidad de ejecución Llave de 448 bits

CAST 128 Utilizada en PGP 5.x Llave de 128 bits

AES (Advanced Encryption Standard) Norma de cifrado actual del gobierno norteamericano En realidad AES son solo siglas. El protocolo de cifrado se 

llama Rijndael Reemplazo para el  DES

Cifrado Simétrico cont...

23/10/06 Reinaldo Mayol Arnao

RC5 Disponible para cifradores en hardware y 

software El tamaño 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 clave de 128 bits ⇒ Espacio de claves = 2128

Cifrado Simétrico cont...

23/10/06 Reinaldo Mayol Arnao

Data Encryption Standard(DES)

Algoritmos de LLave Simétrica

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 básicamente en la reducción de la longitud de clave y de los bloques, DES cifra bloques de 64 bits, mediante permutación y sustitución y usando una clave de 56 bits.

23/10/06 Reinaldo Mayol Arnao

Funcionamiento General 

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 bitsSe obtiene 64 bits de texto cifrado 

Permutación Inicial EPi

64 bits de texto plano

Ronda 1

Ronda 16

Intercambio de 

32 bits

Permutación Final EPi­1

…….64 bits de texto cifrado

Permutación 

Selectiva EP1x

64 bits de la clave

Permutación 

Selectiva EP2

Rotación 

a la Izquierda

K1

Rotación a la 

IzquierdaPermutación 

Selectiva EP2

K16

56 bits

48 bits

23/10/06 Reinaldo Mayol Arnao

Permutación Inicial (Pi)

715233139475563

513212937455361

311192735435159

19172533414957

816243240485664

612223038465462

412202836445260

210182634425058

23/10/06 Reinaldo Mayol Arnao

Permutación Final (Pf ó Pi­1)

25571749941133

265818501042234

275919511143335

286020521244436

296121531345537

306222541446638

316323551547739

326424561648840

23/10/06 Reinaldo Mayol Arnao

Red de Feistel

Li = Ri­1

Ri = Li­1  ⓧf (Ri­1,Ki)          para i<n 

Ln = Ln   ⓧf (Rn­1, Kn)Rn = Rn­1                          para i=n

23/10/06 Reinaldo Mayol Arnao

La Función f (Ri , Ki )

6bits

4 bits

23/10/06 Reinaldo Mayol Arnao

Función de Expansión E

32313029

28272625

24232221

20191817

16151413

1211109

8765

4321

1

29

25

21

17

13

9

5

28

24

20

16

12

8

4

32

23/10/06 Reinaldo Mayol Arnao

La Función f (Ri , Ki )

primer paso

6bits

4 bits

23/10/06 Reinaldo Mayol Arnao

Las cajas S (ejemplo para S1)

Caja S

0 1 1 1 0 1

01= fila 1

Entrada=13

14=columna14

0   1   0   1

MATRIZ DE SUSTITUCION

23/10/06 Reinaldo Mayol Arnao

Las Cajas S

FILA 01COLUMNA 14VALOR DE SALIDA=3

23/10/06 Reinaldo Mayol Arnao

La Función f (Ri , Ki )  segundo paso 

6bits

4 bits

23/10/06 Reinaldo Mayol Arnao

Permutación P

25411226301319

932732142482

10311852623151

172812292120716

23/10/06 Reinaldo Mayol Arnao

La Función 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

Generación de Claves

Se calcula un total de 16 valores de Ki,, uno para cada ronda Primero se realiza una permutación selectiva EP1,, a los 64 bits de entrada desechando los bits mas significativos de cada octeto resultando en 56 bits56 bitsSe realizan desplazamientos a la izquierda de cada una de las dos mitades ­de 28 bits­ resultantes Por último se realiza una permutación selectiva (EP2) de 48 bits en cada ronda, que sería la Ki 

23/10/06 Reinaldo Mayol Arnao

Permutación Selectiva EP1

412202851321

2937455361614

2230384654627

15233139475563

3644526031119

2735435159210

1826344250581

9172533414957

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 sólo un bit. 

23/10/06 Reinaldo Mayol Arnao

Permutación Selectiva EP2

3229365042465334

5639494448334551

4030554737315241

2132027716826

41219231021615

2835124111714

23/10/06 Reinaldo Mayol Arnao

El sistema completo

Permutación Inicial EPi

64 bits de texto plano

Ronda 1

Ronda 16

Intercambio de 32 bits

Permutación Final EPi­1

…….64 bits de texto cifrado

Permutación Selectiva EP1

64 bits de la clave

Permutación Selectiva EP2

Rotación a la Izquierda

K1

Rotación a la IzquierdaPermutación Selectiva EP2

K16

56 bits

48 bits

23/10/06 Reinaldo Mayol Arnao

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 tamaño 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 técnicas actuales.

La estructura interna de las cajas S no ha sido publicada hasta la actualidad, por lo que se sospecha podrían contener algún tipo de  “sorpresa” incluida  por sus diseñadores

Lentitud de Aplicaciones por Software

23/10/06 Reinaldo Mayol Arnao

Aumentando el tamaño de la clave

Si el problema es el tamaño de la clave porque no aumentarla.Una forma sería diseñar un nuevo algoritmoOtra forma sería 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 

K1 K2

P CX

K2 K1

C PX

23/10/06 Reinaldo Mayol Arnao

El problema del punto medio

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 válida la ecuación. 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.

K1 K2

P CX

K2 K1

C PX

23/10/06 Reinaldo Mayol Arnao

Ataque de punto medio (cont…)

P

P

P

K11

K1256

K1n

C

C

C K2,1

K2 256

K2m

X

Las claves utilizadas fueron K1n  y K2m

23/10/06 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

Una solución es colocar tres etapas DES pero solo utilizar 2 claves diferentes de forma que:

C=Ek1[Dk2[Ek1[P]]]

De esta forma también se garantiza compatibilidad con sistemas DES tradicionales ya que si k1=k2 entonces:

C=Ek1[Dk2[Ek1[P]]]=Ek1[P]

CP

K1 K2 K3

K1

E D E

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.

23/10/06 Reinaldo Mayol Arnao

Rijndael

Mecanismo de cifrado por bloques de 128, 192 y 256 bits

Utiliza claves simétricas de igual tamaño 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

23/10/06 Reinaldo Mayol Arnao

Rijndael: Operaciones por 

Etapas r­1 Etapasr­1 Etapas Byte Sub: Sustitución de 

bytes

ShiftRow: Desplazamiento de filas

MixCol: Multiplicación de columnas

AddRoundKey: Xor  con la llave

Etapa rEtapa r Byte Sub ShiftRow AddRoundKey

23/10/06 Reinaldo Mayol Arnao

Rijndael: 

Texto Plano

Etapa InicialAddRoundKey

Etapas r­1ByteSubShiftRowMixColAddRoundKey

Etapa FinalByteSubShiftRowAddRoundKey

Texto Cifrado

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 tamaño de los bloques y de la clave inicial

wi...wi+4

23/10/06 Reinaldo Mayol Arnao

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” 

23/10/06 Reinaldo Mayol Arnao

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 Simétrico funcione ambas partes tienen que conocer la clave:

−A  puede elegir una clave y entregarla físicamente a B. −Un tercero puede elegir la llave y entregarla físicamente a A y B−Si anteriormente A y B han intercambiado una llave podrían usarla para cifrar una nueva llave y enviarla por la red.−Si A y B poseen una conexión cifrada a C podrían intercambiar llaves con C usando la conexión

23/10/06 Reinaldo Mayol Arnao

Número de llaves necesarias

A nivel IP con N nodos: ½ [N (N­1)]

Si el cifrado es realizado a nivel de aplicación cada aplicación de cada usuario requiere un par de claves. 

23/10/06 Reinaldo Mayol Arnao

Número de llaves necesarias 

103 104 105

106

107

108

109

Número dellaves

Número de puntos finales  Aplicaciones)  

23/10/06 Reinaldo Mayol Arnao

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 “conversación” se requieren  ~  n2  llaves

Como se garantiza la integridad de la información ( incluyendo las llaves)?

23/10/06 Reinaldo Mayol Arnao

Cifrado Asimétrico

23/10/06 Reinaldo Mayol Arnao

Cifrado Asimétrico: Reglas de Juego

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 pública y puede ser difundida por 

la red sin peligro Si un documento es cifrado con una clave solo Si un documento es cifrado con una clave solo 

puede ser descifrado con su parejapuede ser descifrado con su pareja Si un documento puede ser Si un documento puede ser descifrado descifrado 

satisfactoriamentesatisfactoriamente con una clave solo puede haber  con una clave solo puede haber sido cifrado con su parejasido cifrado con su pareja

23/10/06 Reinaldo Mayol Arnao

El sistema completo

Ku destino

Texto Texto Cifrado (C)Cifrado (C)

Kpdestino

C=E    (P)                         P=D    (C)Ku Kp

Texto Texto Plano ( P)Plano ( P)

23/10/06 Reinaldo Mayol Arnao

RSA (Rivest­Shamir­Adleman), 1977   Firmas Digitales y Cifrado en un solo algoritmo.  

La patente expiró en el año 2000 El texto plano es cifrado en bloques Matemáticamente basado en los teoremas 

de Euler y Fermat Es el protocolo más utilizado para cifrado 

asimétrico    La fortaleza se basa en la imposibilidad de 

factorizar el producto de 2 números grandes ( miles de bits)

Cifrado Asimétrico (V)

23/10/06 Reinaldo Mayol Arnao

Algoritmo RSA1. Seleccionar dos números aleatorios primos y grandes 

(mas de 500 digitos ) p y q 2. n=pq3. Escoger un entero pequeño E que sea relativamente 

primo a (p­1)x(q­1), es decir a Φ (n).

4. Calcular D tal que DEΞ1mod Φ (n) Entonces:E y n constituyen la clave pública.D y n  constituyen la clave privada.

23/10/06 Reinaldo Mayol Arnao

Números relativamente Primos

Dos números 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 común

23/10/06 Reinaldo Mayol Arnao

Aritmética modular

Todo número 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 Módulo

Dos números A y B son congruentes en módulo p si:

− A mod p = B mod p

− A y B son congrentes en módulo p si: p | (A­B) Ej. 23Ξ8 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 fácil 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 ≈pequeño 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,91 6≈

Además 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 = (p ­⇒q)/2. 

Por lo tanto rompemos el valor n: p = (x+y); q = (x­y).

23/10/06 Reinaldo Mayol Arnao

Ejemplo “podado” *1. Seleccionar dos números primos, p=7 y q=172. Calcular n=pq=119

3. Calcular Φ (n) =(p­1)(q­1)=96

4. Seleccionar E para que sea relativamente primo a Φ (n)  y menor que el , E=5

5. Determinar D tal que DEΞ1mod 96 con D<96. D=77− DxE=385 y 96 | 385

* PODADO porque 7 y 17 no son números grandes y ....

23/10/06 Reinaldo Mayol Arnao

RSA ejemplo sencillo

 19    = 2476009/119 =20807 con resto 665

Ku= 5 119 CM

CIFRANDO

66    =1.27....x 10      /119 = 1.06...X 10  con resto 1977140 138

C Kp= 77 119M

DESCIFRADO

23/10/06 Reinaldo Mayol Arnao

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 generación de llaves RSA.

En todo sistema RSA siempre existen claves parejas.

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.

  

23/10/06 Reinaldo Mayol Arnao

Números no cifrables

− Dentro de los números posibles {0 a 34} serán no cifrables: {6, 14,15, 20, 21, 29, 34} además de los obvios {0, 1}. El valor n­1 (en este caso 34) será también siempre no cifrable.

La cantidad de números 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 !!!!

23/10/06 Reinaldo Mayol Arnao

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 más 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 HashAlgoritmos Hash  

23/10/06 Reinaldo Mayol Arnao

Algoritmos Hash Algoritmos Hash 

Una función 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 Algoritmos Hash 

23/10/06 Reinaldo Mayol Arnao

Algoritmos HashAlgoritmos Hash 

Algoritmos MAC (Message Authentication Code) Algoritmo hash + llave = hacen que el hash dependa de la 

llave El mas común es HMAC La llave afecta ambos procesos de creación del hash (de 

entrada y de salida) Mayor protección. Principio de funcionamiento de las firmas digitales

23/10/06 Reinaldo Mayol Arnao

Algoritmos HashAlgoritmos Hash 

Algoritmos MD2: 128­bit de salida, obsoleto   MD4: 128­bit de salida, roto   MD5: 128­bit de salida, débil   SHA­1: 160­bit de salida, diseñado por la NSA  como 

algoritmo hash seguro, compañero 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­1Procesamiento de 512 bits

A=67452301B=EFCDAB89C=98BADCFED=10325476E=C3D2E1F0

23/10/06 Reinaldo Mayol Arnao

Función de Compresión de SHA­1

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

t),A,S30(B),C,D

Paso t FUNCIÓN f0­19 5A827999 (B&C)+(B&D)20­39 6ED9EBA140­59 8F1BBCDC (B&C)+(B&D)+(C&D)60­79 CA62C1D6

Kt

B  xor C xor D

B  xor C xor D

23/10/06 Reinaldo Mayol Arnao

Mecanismo que sirve para verificar: que el autor de un mensaje es quien dice ser 

(autenticación) que no ha existido ninguna manipulación posterior de los 

datos (integridad).  Para firmar un documento digital, su autor utiliza su 

propia llave secreta. El receptor utiliza la llave pública del remitente para 

realizar la verificación.

FIRMAS DIGITALES

23/10/06 Reinaldo Mayol Arnao

FIRMAS DIGITALESFIRMAS DIGITALES

¿Cómo 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

¿Cómo se verifica? El receptor descifra  el “resumen del mensaje” 

con la llave pública 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 CUMPLEAÑOS (LPC)

− Dada una función hash H, con n posibles salidas y un valor específico 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?

23/10/06 Reinaldo Mayol Arnao

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 función hash de longitud m el valor de k que cumple LPC es k=2m/2 

23/10/06 Reinaldo Mayol Arnao

Ataque de Cumpleaños 

Entonces el tamaño de la función hash es importante para la fortaleza ante ataques de cumpleaños. 

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 difícil como leer 

M Kp y Ku deben ser fáciles de calcular

Elgamal Variante de DH, un algoritmo para cifrado y otro para firmas 

digitales. No patentado, alternativa para RSA

23/10/06 Reinaldo Mayol Arnao

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 públicos.

• A genera un número aleatorio a y envía a B αa mod p

• B genera un número aleatorio b y envía 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 sesión 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 envía a B.• B calcula αb mod p = 33117 mod 1.999 = 1.991 y se lo envía 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

*ejemplo tomado del  Prof. Jorge Ramío, UPM

23/10/06 Reinaldo Mayol Arnao

Cuan fuerte es DH?

Un intruso que conozca las claves públicas 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, diseñado por la NSA 

como  el estándar 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 dela Criptografía

23/10/06 Reinaldo Mayol Arnao

Aplicaciones de la Criptografía

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

SSH (Secure Shell)     www.ssh.com openSSH                  www.openssh.com

 Cifrado del correo y ficheros, firma      

    digital de documentos PGP (Pretty Good Privacy)          www.pgpi.com GnuPG (Gnu Privacy Guard)       www.gnupg.com

23/10/06 Reinaldo Mayol Arnao

SSH (Secure Shell)

SSH utiliza: Criptografía de clave asimétrica:

 para autenticar sesiones de trabajo. (RSA, DSA)

Criptografía de clave simétrica:  para cifrar los datos que se transmiten por la red. (IDEA, DES, 

3DES)

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

Todavía nos quedan cosas pendientes..

Como hacemos para que todos tengan nuestras claves públicas?

Como informamos si hemos perdido nuestra clave privada?

Cuando alguien nos envía su clave pública, 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 más 

Hablaremos más tarde ...

   

PKI

   

Por que?

● Existe un mecanismo criptográfico 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 Básica

Usuario

Autoridades

   

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 certificación

● La autoridad no es responsable de la creación de los K

   

Certificados X.509 

   

Obtención 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 versión 3 de X.509

● Incluye una serie  de extensiones adicionales para resolver deficiencias de la versión 2:– El campo Sujeto no era adecuado para acomodar 

algunos nombres de usuarios y aplicaciones– Existía la necesidad de indicar información de las 

Políticas 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 extensión tiene un campo de riesgo que define si la extensión puede ser ignorada o no.

● Las extensiones se dividen en:– Información sobre claves y políticas– Atributos de Sujeto y emisor– Limitaciones de la Ruta de Certificación

   

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

23/10/06   113

VPN

23/10/06   114

Redes Privadas VirtualesVirtual Private Networks

● Proporcionan una red de datos privada sobre infraestructuras de telecomunicaciones públicas, como Internet.

● Permita a los participantes disfrutar de la misma seguridad y funciones que sólo están disponibles en las redes privadas. 

23/10/06   115

Tipos de Conexiones VPN 

● Host a Red● Red a Red ● Host a Host 

23/10/06   116

Tipos de Conexiones VPN

● Host a Red

23/10/06   117

Tipos de Conexiones VPN

● Red a Red

23/10/06   118

Tipos de Conexiones VPN

● Host a Host

23/10/06   119

Requerimientos de una VPN

● Autenticación ● Administración de direcciones ● Cifrado de datos ● Administración de llaves ● Soporte de múltiples protocolos 

23/10/06   120

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   121

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, autenticación del origen de los datos, confidencialidad.

23/10/06   122

Servicios IPSec

● Protocolos de seguridad– AH (Authentication Header): Integridad y 

autenticación de origen– ESP (Encapsulating Security Payload): 

Confidencialidad● Gestión de claves

– IKE (Internet Key Exchange): Establece la comunicación segura

23/10/06   123

Protocolos de seguridad:AH y ESP

Modos de funcionamiento:●  Modo transporte

– Entre hosts– La cabecera del protocolo aparece después de 

la cabecera IP● Modo túnel

– Entre hosts y gateways– Existe una cabecera IP adicional

23/10/06   124

AH (RFC 2402)

● Integridad y autenticación de origen● Está insertado entre la cabecera IP y los datos del 

paquete IP

23/10/06   125

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   126

ESP (RFC 2406)

23/10/06   127

ESP vs. AH

● ESP provee todo lo que ofrece AH más confidencialidad de datos.

● La principal diferencia entre la autenticación provista entre ESP y AH tiene que ver con la cobertura, ESP no protege los campos del encabezado IP, a menos que sean encapsulados por ESP (modo tunel).

23/10/06   128

ESP vs. AH

23/10/06   129

Gestión de ClavesIKE (RFC 2409)

ISAKMP● Proporciona un marco de 

operación para la gestión de llaves de Internet y el soporte de protocolo específico para negociar los atributos de seguridad

● NO establece las claves de sesión

Oakley● Diffie–Helman para 

establecer las claves de sesión en los routers o hosts

● Puede utilizarse solo o con el ISAKMP si necesita negociación de atributos

23/10/06   130

IKE (RFC 2409)

● El protocolo IKE se basa en el concepto central de una asociación de seguridad (SA).

● SA contiene todos los parámetros necesarios para definir completamente el acuerdo de seguridad tales como: – Autenticación– Algoritmos de cifrado – Longitudes de llaves – Tiempo de vigencia de las llaves

23/10/06   131

Asociaciones de Seguridad (SA)

● Es un acuerdo de seguridad unidireccional entre los sistemas que se están comunicando que especifican qué tan segura es una conexión que será establecida.

● Todos los parámetros 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 múltiples SA establecidas.

23/10/06   132

Servicios de Seguridad

● Confidencialidad– Terceros no pueden obtener la información

● Integridad– La información no ha sido alterada

● Autenticidad– La procedencia es verídica

● No repudio– No puede negar haberlo hecho

23/10/06   133

IP layer security vs session layer security

● IPSec y SSL son tecnologías complementarias cuando el tráfico se restringe a la “web”

● Cuando el tráfico no puede ser restringido sólo a HTTP, y se deben incluir aplicaciones como Telnet, FTP, NFS (Network File System), servicios de directorio, aplicaciones de bases de datos, audio y video en tiempo real, entonces es necesario usar el protocolo IPSec.

23/10/06   134

Autoridad de Certificación

Encargada de gestionar la emisión y/o generación de certificados y revocaciones. Se encarga de establecer las políticas decertificación:

– Tamaño de claves– Fechas de validez– Generar las listas de certificados revocados 

(CRL's). 

23/10/06   135

Certificados Digitales

● Archivo firmado por el CA atestiguando que la identidad y la clave pública se corresponden.

● El formato estándar X.509 v3 recomendado por la (ITU) Une Identidad con Clave Pública

● CA actúa como un notario (certifica)