Seguridad Informática Básica - ::WEB DEL...
-
Upload
phungxuyen -
Category
Documents
-
view
226 -
download
0
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 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
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
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
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 = Pf1 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 EPi1
…….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 ó Pi1)
25571749941133
265818501042234
275919511143335
286020521244436
296121531345537
306222541446638
316323551547739
326424561648840
23/10/06 Reinaldo Mayol Arnao
Red de Feistel
Li = Ri1
Ri = Li1 ⓧf (Ri1,Ki) para i<n
Ln = Ln ⓧf (Rn1, Kn)Rn = Rn1 para i=n
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
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
Permutación P
25411226301319
932732142482
10311852623151
172812292120716
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 EPi1
…….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 r1 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 r1 Etapasr1 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 r1ByteSubShiftRowMixColAddRoundKey
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 (N1)]
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: 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 (RivestShamirAdleman), 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 (p1)x(q1), 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 | (AB) Ej. 23Ξ8 mod 5 porque 238=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 (pq)/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: (pq)/2 =1 y (p+q)/2=6 , n=5x7=35 y √n= 5,91 6≈
Además se cumplirá que: n = (p+q)²/4 – (pq)²/4.
− 35=(7+5)2 /4 (75)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=(pq)/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 = (xy).
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) =(p1)(q1)=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
r
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 n1 (en este caso 34) será también siempre no cifrable.
La cantidad de números no cifrables es:
− = [1 + mcd (e1, p1)][1 + mcd (e1, q1)]σ
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 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 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: 128bit de salida, obsoleto MD4: 128bit de salida, roto MD5: 128bit de salida, débil SHA1: 160bit de salida, diseñado por la NSA como
algoritmo hash seguro, compañero de DSA. RIPEMD160: 160bit de salida HMACMD5: MD5 dentro de una MAC HMACSHA: SHA1 dentro de una MAC
23/10/06 Reinaldo Mayol Arnao
SHA1Procesamiento de 512 bits
A=67452301B=EFCDAB89C=98BADCFED=10325476E=C3D2E1F0
23/10/06 Reinaldo Mayol Arnao
Función de Compresión de SHA1
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 f019 5A827999 (B&C)+(B&D)2039 6ED9EBA14059 8F1BBCDC (B&C)+(B&D)+(C&D)6079 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
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 (DiffieHellman), 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 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
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?
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
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
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
Public Key Cryptographic Standards
● PKCS #1: RSA Cryptography Standard
● PKCS #3: DiffieHellman Key Agreement Standard
● PKCS #5: PasswordBased Cryptography Standard
● PKCS #6: ExtendedCertificate Syntax Standard
● PKCS #7: Cryptographic Message Syntax Standard
● PKCS #8: PrivateKey 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 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 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 ● PointtoPoint Protocol (PPP)● PointtoPoint 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 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 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).