Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Módulo 06 Seguridad en Redes (Pt. 1)
2
Copyright Copyright © 2010-2017 A. G. Stankevicius
Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, versión 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delantera o trasera. Una copia de esta licencia está siempre disponible en la página La versión transparente de este documento puede ser obtenida de la siguiente dirección: Redes de Computadoras - Mg. A. G. Stankevicius
3
Contenidos Introducción a la seguridad en redes.
Principios de la criptografía. Autenticación. Integridad. Distribución de claves y de certificados. Seguridad multinivel. Sistemas de detección de intrusos. Redes de Computadoras - Mg. A. G. Stankevicius
4
Seguridad en Redes La seguridad en redes abarca un conjunto heterogéneo de objetivos: Confidencialidad: sólo el emisor y el receptor deben ser capaces de entender el contenido del mensaje. Autenticación: tanto emisor como receptor desean poder verificar la identidad de su interlocutor. Integridad de los mensajes: emisor y receptor también desean poder comprobar que el mensaje no ha sido alterado durante el transporte. Acceso y disponibilidad: los servicios provistos por la red deben estar a disposición de los usuarios. Redes de Computadoras - Mg. A. G. Stankevicius
5
Actores Usaremos la siguiente analogía para ilustrar los principales actores en la seguridad en redes: Supongamos que Homero y Marge desean poder comunicarse de manera segura. Es posible que existan terceros, por caso Moe, interesados en intrometerse en esa relación. emisor seguro emisor seguro receptor seguro canal inseguro intruso Redes de Computadoras - Mg. A. G. Stankevicius
6
Actores ¿A quién representan Homero y Marge en el mundo real?
A los navegadores y servidores HTTP utilizados en las transacciones electrónicas. A los clientes DNS (resolvers) y a la jerarquía de servidores DNS. A los routers cuando intercambian mensajes de actualización de sus tablas de ruteo. Redes de Computadoras - Mg. A. G. Stankevicius
7
Actores ¿Qué daño pueden causar los “Moes”?
Escuchas ilegales: interceptando mensajes privados. Adulteración: agregar o modificar los mensajes que se intercambian en una comunicación. Personificación: alterando la dirección de origen (o cualquier otro campo) de los paquetes. Secuestro: tomar una conexión activa y reemplazar al emisor o receptor de manera unilateral. Negación de servicio: impedir que un cierto servicio pueda ser accedido por sus usuarios legítimos. Redes de Computadoras - Mg. A. G. Stankevicius
8
Principios de la criptografía
KH clave de encriptado de Homero KM clave de desencriptado de Marge mensaje codificado mensaje original emisor seguro emisor seguro receptor seguro canal inseguro mensaje original intruso Redes de Computadoras - Mg. A. G. Stankevicius
9
Principios de la criptografía
El proceso de encriptado y de desencriptado dependen de tres parámetros de entrada: El mensaje a ser enviado/que acaba de ser recibido. La clave de encriptado y/o desencriptado (ya que puede o no ser la misma). El algoritmo de encriptado y/o desencriptado. La resistencia del esquema de encriptación depende de mantener secreta la clave usada. El algoritmo de encriptado y desencriptado, en contraste, puede ser algo conocido por todos. Redes de Computadoras - Mg. A. G. Stankevicius
10
Principios de la criptografía
Los distintos esquemas de encriptado se diferencian entre sí en la manera elegida para distribuir las claves: Clave simétrica: tanto emisor como receptor hacen uso de la misma clave para encriptar y desencriptar el mensaje. Clave asimétrica: el emisor hace uso de la clave pública del receptor para encriptar el mensaje y el receptor desencripta el mensaje con su clave privada. No usa clave: por caso, una función hash. No brinda secreto, pero si resulta de utilidad en ciertos casos. Redes de Computadoras - Mg. A. G. Stankevicius
11
Clave simétrica El cifrado por substitución es uno de los ejemplos más sencillos de clave simétrica. Julio César codificaba las órdenes que enviaba a sus generales usando este esquema de encriptado. El cifrado monoalfabético consiste en encontrar un único mapeo entre las letras del alfabeto. Por caso: alfabeto original: abcdefghijklmnopqrstuvwxyz alfabeto codificado: bcdefghijklmnopqrstuvwxyza Redes de Computadoras - Mg. A. G. Stankevicius
12
Clave simétrica mapeo utilizado mensaje original: Hola Marge!
abc...xyzABC...XYZ bcd...yzaBCD...YZA mensaje original: Hola Marge! mensaje codificado: Ipmb Nbshf! mapeo utilizado abcdefghijklmnopqrstuvwxyz mnbvcxzasdfghjklpoiuytrewq mensaje original: odio a flanders mensaje codificado: kvsk m xgmjvcoi Redes de Computadoras - Mg. A. G. Stankevicius
13
Clave simétrica Hace unos 500 años se mejoró este esquema adoptando un cifrado polialfabético. La idea es usar n cifrados monoalfabéticos aplicados en un cierto orden cíclico. Se usan n cifradores: M1, M2, …, Mn. Y un patrón cíclico: por caso, con n = 3, un patrón podría ser M1, M3, M2; M1, M3, M2; y así sucesivamente. Luego, para cada nuevo símbolo se usa el cifrador monoalfabético que aparezca a continuación en el patrón cíclico. Redes de Computadoras - Mg. A. G. Stankevicius
14
Criptoanálisis El criptoanálisis consiste en el estudio de los métodos que permiten descifrar el contenido de un mensaje encriptado. El uso ilegal del criptoanálisis posibilita sacar provecho de la información contenida en el mensaje encriptado. El uso legal del criptoanálisis, en contraste, permite identificar las vulnerabilidades de los distintos algoritmos de encriptado y/o claves empleadas antes de que la información protegida sea comprometida. Redes de Computadoras - Mg. A. G. Stankevicius
15
Criptoanálisis ¿Qué tan difícil resulta romper en encriptado basado en la substitución monoalfabética? Para cifrar las letras del alfabeto de a a z, existen tantas claves como permutaciones, esto es, 26!. Si ciframos mayúsculas y minúsculas la cantidad de claves crece a 52!. Eventualmente, la cantidad de claves puede ser lo suficientemente grande como para hacer inviable al análisis por fuerza bruta (en tiempo o costo). No obstante, existen otras estrategias, por caso el ataque basado en diccionarios. Redes de Computadoras - Mg. A. G. Stankevicius
16
Clave simétrica ¿¿cómo hacen para ponerse de acuerdo Homero y Marge acerca de qué clave usar?? KH-M KH-M mensaje codificado KH-M(m) mensaje original m emisor seguro emisor seguro receptor seguro mensaje original m = KH-M(KH-M(m)) canal inseguro intruso ¿¿KH-M(m)?? Redes de Computadoras - Mg. A. G. Stankevicius
17
Esquemas simétricos En la actualidad se han explorado dos grandes familias de esquemas de cifrado simétrico: Cifradores de flujo de bits. Cifradores en bloques de bits. Los crifradores de flujo de bits encriptan de a un bit a la vez. Los cifradores en bloques de bits encriptan de a grupos de bits a la vez. Redes de Computadoras - Mg. A. G. Stankevicius
18
Cifrador de flujo de bits
Idea central: combinar cada uno de los bits del flujo de claves con los bits del mensaje original para obtener los bits de mensaje en encriptado. Sean m(i), ks(i) y c(i) el i-ésimo bit del mensaje original, del flujo de claves y del mensaje encriptado, respectivamente. En este contexto, c(i) = ks(i) Å m(i) y para recuperar el mensaje original m(i) = ks(i) Å c(i). clave flujo de claves generador de flujo de claves Redes de Computadoras - Mg. A. G. Stankevicius
19
Cifrador en bloque de bits
El mensaje a ser encriptado se procesa en bloques de k bits. Se adopta un mapeo que convierta los k bits del mensaje original en los k bits del texto encriptado. Por caso, para k = 3: ¿Cómo se codifica el mensaje ? original 000 001 010 011 encriptado 110 111 101 100 Redes de Computadoras - Mg. A. G. Stankevicius
20
Cifrador en bloque de bits
¿Cuántos mapeos se podrán construir para el ejemplo anterior donde k = 3? ¿Cuántas entradas tiene la tabla? ¿Cuántas permutaciones se pueden postular? En general, se pueden postular 2k! mapeos. La tabla de un cifrador en bloques de 64 bits necesita de 264 entradas. Una alternativa es hacer uso de una función que simule la aplicación de este mapeo. Redes de Computadoras - Mg. A. G. Stankevicius
21
valor intermedio (64-bit)
Función prototípica entrada (64-bit) S1 8 bits S2 S3 S4 S7 S6 S5 S8 valor intermedio (64-bit) salida (64-bit) mapeo de 8 bits a 8 bits repetir n veces Redes de Computadoras - Mg. A. G. Stankevicius
22
Data Encription Standard
El algoritmo de encriptado DES (Data Encription Standard) es un estándar de encriptado adoptado por Estados Unidos. Surgió de una competencia organizada por el gobierno norteamericano en la década del 70'. Hace uso de una clave simétrica de 56 bits y codifica iterativamente de a bloques de 64 bits de datos. Resultó un estándar bastante controversial, se sugirió que la NSA contaba con un acceso oculto que les posibilitaba desencriptar la información protegida de manera directa, incluso sin conocer la clave. Redes de Computadoras - Mg. A. G. Stankevicius
23
Data Encription Standard
El proceso aplicado al mensaje a ser codificado es el siguiente: 1) Permutación inicial. 2) 16 rondas de alteraciones, cada una usando una clave de 48 bits diferente, que se derivan de la clave original. 3) Permutación final. Redes de Computadoras - Mg. A. G. Stankevicius
24
Data Encription Standard
¿Qué tan seguro es DES hoy en día? El primer “Desafío DES” tomó en 1997 unos cuatro meses en ser quebrado usando fuerza bruta (tomaron parte unas computadoras hogareñas). El segundo tomó sólo 41 días en 1998, y la variante usando hardware especializado tomó sólo 56 horas. El tercer desafío, que combinó hardware especializado con computadoras hogareñas quebró la clave DES es apenas 22 horas, 15 minutos. Evidentemente a esa altura los 56 bits de seguridad provistos por DES… ¡resultaban escasos! Redes de Computadoras - Mg. A. G. Stankevicius
25
Triple DES El algoritmo triple DES (3DES) extiende la cantidad de bits de la clave: La idea es en esencia aplicar tres veces el algoritmo DES a cada bloque de datos. Sean K1, K2 y K3 las tres claves DES y m el mensaje original; el mensaje encriptado se obtiene haciendo la siguiente conversión: EK3(DK2(EK1(m))) Luego, para desencriptar se computa la reversa: DK1(EK2(DK3(m))) Redes de Computadoras - Mg. A. G. Stankevicius
26
Advanced Encription Standard
El algoritmo de clave simétrica AES (Advanced Encription Standard) es el nuevo estándar que reemplaza los ya añejos DES y triple DES. Procesa el mensaje a ser codificado de a bloques de 128 bits. Existen tres versiones, AES-128, AES-192 y AES- 256, con claves de 128, 192 y 256 bits respectivamente. Cuando el desencriptado de un mensaje DES tome tan sólo 1 segundo, el desencriptado de una mensaje AES seguiría tomando años. Redes de Computadoras - Mg. A. G. Stankevicius
27
Clave asimétricas Para hacer uso de un esquema de clave simétrica es necesario que emisor y receptor acuerden qué clave privada usar. Esto es especialmente complicado de organizar si emisor y receptor no pueden reunirse “en persona”. La alternativa es hace uso de un esquema radicalmente diferente, donde emisor y receptor no usen la misma clave. Este tipo de esquema se denomina clave asimétrica (también criptografía de clave pública). Redes de Computadoras - Mg. A. G. Stankevicius
28
RSA El algoritmo RSA (propuesto por Rivest, Shamir y Adleman), implementa el citado esquema de criptografía basada en claves públicas. Emisor y receptor no necesitan tener acceso a la misma clave privada. El emisor hace uso de la clave pública del receptor, la cual es conocida por todos, ¡incluso por los potenciales intrusos! El receptor hace uso de su clave privada para desencriptar el mensaje. Redes de Computadoras - Mg. A. G. Stankevicius
29
la clave pública de Marge
RSA clave pública privada Homero hace uso de la clave pública de Marge K+M K-M K+M mensaje codificado K+M(m) mensaje original m emisor seguro emisor seguro receptor seguro mensaje original m = K-M(K+M(m)) canal inseguro ¿¿K+M(m)?? intruso ¿¿K+M(K+M(m))?? Redes de Computadoras - Mg. A. G. Stankevicius
30
RSA Para poder hacer uso del esquema de clave asimétrica basado en una clave pública y otra privada se deben satisfacer dos condiciones: Sea K+ y K- el par de claves pública y privada respectivamente. En este contexto, la primer condición es un tanto evidente: m = K-(K+(m)) La segunda condición es que la clave privada K- no debe poder ser derivada a partir de la clave pública. Redes de Computadoras - Mg. A. G. Stankevicius
31
RSA Nociones básicas: Un mensaje es en esencia una secuencia de bits.
Toda secuencia de bits representa un único entero positivo. Es decir, encriptar un cierto mensaje consiste en encriptar un número. Ejemplo: Para el mensaje m = , m representa al número 145; encriptar este número consiste en encontrar un segundo número que lo codifique. Redes de Computadoras - Mg. A. G. Stankevicius
32
¿Cómo elegir las claves?
Mecanismo para determinar una clave privada y otra pública que satisfagan las dos condiciones: 1) Elegir dos número primos p y q bien grandes (por ejemplo, de unos 1000 dígitos cada uno). 2) Computar n = pq y z = (p-1)(q-1). 3) Elegir un e < n que no comparta factores en común con z (e y z deben ser primos entre sí). 4) Elegir un d tal que ed-1 sea divisible de manera exacta por z (es decir, de mod z = 1). 5) La clave pública será (n,e) y la privada (n,d). Redes de Computadoras - Mg. A. G. Stankevicius
33
Encriptado y desencriptado
Sean (n,e) y (n,d) las claves pública y privada, obtenidas de la forma indicada. Para encriptar un patrón de bits m, se calcula c = me mod n (el resto de dividir me por n). Para desencriptar un patrón de bits c, se calcula m = cd mod n (el resto de dividir cd por n). Reemplazando iguales por iguales, nos queda que necesariamente m = (me mod n)d mod n. Redes de Computadoras - Mg. A. G. Stankevicius
34
Ejemplo Supongamos que se parte de elegir p = 5 y q = 7, por lo que n = 35 y z = 24. Eligiendo e = 5, e y z resultan primos entre sí. Luego, d = 29 para que ed - 1 sea divisible por z. Encriptado usando la clave pública: Desencriptado usando la clave privada: m = “x” = 24 me = 245 = c = me mod n = mod 35 = 19 c = 19 cd = 1929 = m = cd mod n = mod 35 = 24 Redes de Computadoras - Mg. A. G. Stankevicius
35
Teoría de números ¿Por qué razón se verifica que las claves se complementan tan bien? Un resultado obtenido en la teoría de números resulta práctico para demostrar esa relación: Si p y q son primos y n = pq, entonces se verifica que xy mod n = xy mod (p-1)(q-1) mod n. En base a este resultado se puede demostrar el correcto funcionamiento del algoritmo RSA: (me mod n)d mod n = med mod n = med mod (p- 1)(q-1) mod n = m1 mod n = m propiedad anterior ed - 1 es múltiplo de z Redes de Computadoras - Mg. A. G. Stankevicius
36
Propiedad a tener en cuenta
La forma en la que se eligen las claves pública y privada permiten demostrar otra propiedad muy interesante: K-(K+(m)) = m = K+(K-(m)) En otras palabras, no importa cuál apliquemos primero, ya sea la clave pública o la clave privada, puesto que son intercambiables. Este resultado será usado más adelante al abordar el proceso de autenticación y de firma digital. Redes de Computadoras - Mg. A. G. Stankevicius
37
Propiedad a tener en cuenta
Esta propiedad se demuestra apelando a una característica de los módulos. La aritmética de módulos verifica que: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a mod n) - (b mod n)] mod n = (a-b) mod n [(a mod n) * (b mod n)] mod n = (a*b) mod n En consecuencia, se puede demostrar que: (a mod n)d mod n = ad mod n Redes de Computadoras - Mg. A. G. Stankevicius
38
Propiedad a tener en cuenta
Finalmente, podemos demostrar la propiedad antes enunciada, apelando a la definición de encriptado y de desencriptado. Sea m el mensaje, e la clave privada y d la pública, entonces se verifica que: (me mod n)d mod n = med mod n = mde mod n = (md mod n)e mod n Redes de Computadoras - Mg. A. G. Stankevicius
39
¿Qué tan seguro es RSA? Un cierto atacante logra acceso a nuestra clave pública (n,e)... ¿qué probabilidad tiene de descubrir nuestra clave privada (n,d)? Es decir, necesita factorizar n sin conocer previamente los valores p y q. Por suerte, encontrar los factores primos de un número arbitrario es un problema bastante complejo. Recientemente se ha propuesto un algoritmo de factorización altamente eficiente: Eso si, ¡sólo corre en computadoras cuánticas! Redes de Computadoras - Mg. A. G. Stankevicius
40
RSA en la práctica Debemos tener en cuenta que la función de exponenciación es computacionalmente intensiva. DES es al menos 100 veces más veloz que RSA, corriendo sobre el mismo hardware. Idea brillante: ¡usar RSA para intercambiar la clave simétrica a ser usada durante el resto del intercambio cifrado! Redes de Computadoras - Mg. A. G. Stankevicius
41
Autenticación La autenticación tiene por objeto verificar la identidad de los eventuales interlocutores. Volviendo a nuestro ejemplo, la primer aproximación sería que Homero le diga a Marge “Soy Homero”. Protocolo v1.0: “Soy Homero” ¿Qué tan seguro es este protocolo? Redes de Computadoras - Mg. A. G. Stankevicius
42
Engaño Debemos tener en cuenta que en una red los interlocutores suelen no estar cara a cara. Al protocolo v1.0 se lo puede hacer fallar con suma facilidad: “Soy Homero” Moe puede embaucar a Marge con facilidad Redes de Computadoras - Mg. A. G. Stankevicius
43
Autenticación de la fuente
El protocolo v1.0 se lo puede refinar, revisando que el mensaje venga dentro de un datagrama que se origine en la dirección IP de Homero. Protocolo v2.0: dir. IP de Homero “Soy Homero” ¿Qué tan seguro es este nuevo protocolo? Redes de Computadoras - Mg. A. G. Stankevicius
44
Adulteración de la fuente
Moe puede usar una aplicación que adultere la dirección IP de origen de los datagramas. Esto permite hacer fracasar al protocolo v2.0: IP spoofing dir. IP de Homero “Soy Homero” Redes de Computadoras - Mg. A. G. Stankevicius
45
Uso de una clave personal
Claramente el protocolo es demasiado simple, quizás expandiendo la interacción se corrijan las falencias identificadas: Protocolo v3.0: dir. IP de Homero “Soy Homero” clave personal de Homero dir. IP de Marge “OK” ¿una vez más, qué tan seguro es este protocolo? Redes de Computadoras - Mg. A. G. Stankevicius
46
Ataque por reproducción
Moe puede interceptar el datagrama inicial y reproducirlo cuando sea necesario. Este tipo de ataque, denominado “ataque por reproducción”, permite quebrar al protocolo v3.0: dir. IP de Homero “Soy Homero” clave personal de Homero dir. IP de Homero “Soy Homero” clave personal de Homero Moe crea un registro para reproducirlo posteriormente dir. IP de Marge “OK” Redes de Computadoras - Mg. A. G. Stankevicius
47
Clave personal encriptada
Una alternativa para hacer más robusto al protocolo es enviar la clave personal pero esta vez encriptada: Protocolo v3.1: dir. IP de Homero “Soy Homero” clave personal encriptada dir. IP de Marge “OK” ¿mejorará en algo la robustez? Redes de Computadoras - Mg. A. G. Stankevicius
48
Ataque por reproducción
El ataque por reproducción también registra y reproduce la clave encriptada. El mismo “ataque por reproducción” también hace fracasar al protocolo v3.1: dir. IP de Homero “Soy Homero” clave personal encriptada dir. IP de Homero “Soy Homero” clave personal encriptada dir. IP de Marge “OK” Redes de Computadoras - Mg. A. G. Stankevicius
49
Ataque por reproducción
Para desactivar los ataques por reproducción basta con incorporar un componente dinámico: Este mecanismo se lo conoce como de “desafío- respuesta” (challenge-response). Denominaremos nonce (number used once) a un número al azar que ha de ser usado sólo una vez. Protocolo v4.0 (con desafío-respuesta): Homero para comprobar su identidad recibe un nonce generado por Marge, el cual meramente se agrega al mensaje que le quiere enviar originalmente. Redes de Computadoras - Mg. A. G. Stankevicius
50
Intercambio de nonces Intercambio de mensajes de acuerdo al protocolo v4.0: “Soy Homero” R KH-M(R) ¿resiste el ataque por reproducción? Marge verifica que el nonce sea el correcto haciendo uso del secreto compartido con Homero ¿qué se le puede criticar a este protocolo? Redes de Computadoras - Mg. A. G. Stankevicius
51
Uso de una clave pública
¿Se podrá adaptar la criptografía de clave pública al proceso de autenticación? Protocolo v5.0: “Soy Homero” R K-H(R) “Dame tu clave pública” K+H a prueba de hackers... ¿¿o no?? Marge comprueba si R = K+H(K-H(R)) ya que sólo Homero cuenta con K-H Redes de Computadoras - Mg. A. G. Stankevicius
52
Ataque “man in the middle”
El protocolo v5.0 también resulta vulnerable: “Soy Homero” “Soy Homero” R R K-Moe(R) K-H(R) “Dame tu clave pública” “Dame tu clave pública” K+Moe K+H K+Moe(m) K+H(m) Moe primero recupera m usando su clave privada y luego usa la clave pública de Homero para volver a codificar el mensaje de Marge Redes de Computadoras - Mg. A. G. Stankevicius
53
Ataque “man in the middle”
El ataque “man in the middle” consiste en interceptar y adulterar los mensajes en tránsito. El atacante gana acceso a la totalidad de la información intercambiada a través del canal. Resulta bastante difícil de detectar: En el ejemplo Marge recibe absolutamente todo lo que Homero envía (es decir, si posteriormente se juntan podrán recordar lo conversado). El problema es que Moe también accede a la totalidad de esta información. Redes de Computadoras - Mg. A. G. Stankevicius
54
Firma digital La firma digital es una técnica criptográfica que brinda una funcionalidad análoga a la firma manuscrita. Por caso, al firmar digitalmente un documento queda perfectamente claro quién fue su autor. Más aún, considerando que la firma digital no es falsificable, cualquier persona puede probar a un tercero que aquel que firmó digitalmente un cierto documento es en efecto su autor o responsable. Redes de Computadoras - Mg. A. G. Stankevicius
55
Firma digital La criptografía de clave pública permite llevar adelante un modelo directo de firma digital. Por caso, Homero para firmar digitalmente un mensaje m sólo tiene que encriptarlo con su clave K- H. K-H Marge, manda los niños a lo de tus hermanas que esta noche vuelvo jalao mensaje original m mensaje de Homero firmado (encriptado) con su clave privada mensaje firmado K-H(m) RSA Redes de Computadoras - Mg. A. G. Stankevicius
56
Análisis Supongamos que Marge recibe el mensaje m y su firma digital K-H(m). Marge puede comprobar dos cosas, que el mensaje no haya sido adulterado y que de hecho provenga de Homero. Para esto, aplica la clave pública de Homero K+H a la firma digital K-H(m) para verificar si m = K+H(K- H(m)). De ser así, quien firmó digitalmente necesariamente tuvo acceso a la clave privada de Homero (es decir, fue Homero, salvo mediar alguna situación anómala). Redes de Computadoras - Mg. A. G. Stankevicius
57
Digesto de un mensaje El mecanismo de firma digital propuesto sólo es viable para encriptar mensajes cortos. Recordemos que el proceso de encriptado es computacionalmente costoso. Para el caso de los mensajes de gran tamaño, sólo se firma digitalmente el digesto del mismo. El digesto de un mensaje viene a ser la “huella digital” (fingerprint) del mismo. Es en realidad una función fácil de computar, que retorna un resultado de tamaño fijo denominado hash. Redes de Computadoras - Mg. A. G. Stankevicius
58
Función hash La función hash debe cumplir un conjunto de requisitos:
Usualmente múltiples mensajes pueden compartir el mismo digesto. Da como resultado un digesto del mensaje de tamaño fijo denominado “huella digital” (fingerprint). Por último, dados un mensaje m y su correspondiente función hash H, tiene que ser computacionalmente inviable encontrar otro mensaje m' con el cual colisione, esto que, que H(m) = H(m'). Redes de Computadoras - Mg. A. G. Stankevicius
59
Checksum como función hash
El checksum utilizado en el stack de protocolos TCP/IP aparenta satisfacer los requisitos de una función hash: Genera un digesto de mensaje de tamaño fijo (por caso, para TCP es una cadena de 16 bits). Múltiples mensajes comparten el mismo digesto. No obstante, para un dado mensaje es sencillo encontrar otros mensajes con el mismo hash. original T E D E B O $ 1 2 3 , 4 5 . digesto F 20 2C E E9 EC D6 C5 modificado T E D E B O $ 4 5 3 , 1 2 . digesto F 20 2C E E9 EC D6 C5 Redes de Computadoras - Mg. A. G. Stankevicius
60
El rol del hash mensaje m (de gran tamaño) K-H(H(m)) firma digital
original H(m) función hash H encriptado RSA K-H clave privada de Homero fingerprint Redes de Computadoras - Mg. A. G. Stankevicius
61
El rol del hash ? ¿ K-H(H(m)) H(m) desencriptado RSA K+H clave pública
de Homero ? mensaje m (de gran tamaño) firma digital H(m) función hash H mensaje original fingerprint Redes de Computadoras - Mg. A. G. Stankevicius
62
MD5 En la actualidad la función hash MD5 (Message Digest v5) es una de las más difundidas: Se define formalmente en el RFC 1321. Ideada por Rivest para reemplazar la ya obsoleta función hash MD4. Computa un digesto de mensaje de 128 bits en un proceso de cuatro fases de 16 operaciones. Para un digesto arbitrario x parece ser bastante difícil construir un mensaje m cuyo hash MD5 sea x. Redes de Computadoras - Mg. A. G. Stankevicius
63
SHA-1 También está disponible la función hash alternativa SHA-1:
Se basa en el mismo principio de MD4 y MD5. Se trata de un estándar sancionado por el NIST (National Institute of Standards and Technology). Computa un digesto de mensaje de 160 bits en un proceso de cuatro etapas. De requerir una función hash más robusta (esto es, más difícil de quebrar por fuerza bruta), se puede optar por SHA-2, cuyo tamaño de digesto en bits es de 256 o 512. Redes de Computadoras - Mg. A. G. Stankevicius
64
Intermediarios confiables
Tanto la criptografía de clave simétrica como asimétrica se beneficiarían al disponer de un tercero que haga de intermediario confiable. En la criptografía de clave simétrica la dificultad consiste en compartir la clave privada. El centro de distribución de claves (KDC) se encarga de esto. En cambio, en la criptografía de clave pública la dificultad consiste en compartir esa clave. La autoridad de certificación (CA) se encarga de esto. Redes de Computadoras - Mg. A. G. Stankevicius
65
Key Distribution Center
Supongamos que Homero y Marge necesitan acordar una nueva clave compartida. El centro de distribución de claves mantiene diferentes claves personales, una para cada uno de sus usuarios registrados. De manera análoga, los usuarios también conocen sus respectivas claves personales. KH-KDC KH-KDC KF-KDC KF-KDC KM-KDC KM-KDC KDC Redes de Computadoras - Mg. A. G. Stankevicius
66
Key Distribution Center
El KDC facilita el proceso de distribución de una nueva clave compartida. Cuando Homero y Marge quieran comunicarse de manera segura, el KDC les genera una nueva clave compartida, válida sólo durante esa interacción. KH-KDC(H, M) KH-KDC(R, KM-KDC(R)) KM-KDC(R) Homero y Marge reciben la clave compartida R, la cual es usada para intercambiar mensajes de forma segura Redes de Computadoras - Mg. A. G. Stankevicius
67
Certification Authority
El CA se encarga de la distribución de las claves públicas al usar criptografía de clave pública. El CA vincula una cierta entidad E a su clave pública. La entidad E (por caso, una persona, un server, etc.) suministra al CA una prueba de identidad. De resultar aceptable, el CA vincula a E con su clave pública a través de un certificado. Este certificado es en esencia la clave pública de E firmada digitalmente por el CA. Redes de Computadoras - Mg. A. G. Stankevicius
68
Certification Authority
K+H encriptado RSA K+H clave pública de Homero K-CA clave privada del CA certificado del CA garantizando clave pública de Homero prueba de identidad de Homero Redes de Computadoras - Mg. A. G. Stankevicius
69
Certification Authority
Cualquier interesado puede extraer la clave pública contenida en un certificado. Por caso, Marge a partir de la certificación de clave pública de Homero puede recuperar la clave con la certeza de que no ha sido adulterada. K+H desencriptado RSA K+H K+CA clave pública del CA Redes de Computadoras - Mg. A. G. Stankevicius
70
Estructura de un certificado
El certificado suele contener información extra aparte de la clave pública: Un número de serie, único para cada CA. Otros datos relativos al dueño del certificado. Redes de Computadoras - Mg. A. G. Stankevicius
71
¿Preguntas? Redes de Computadoras - Mg. A. G. Stankevicius
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.