Introducción a las Redes de Computadoras Capítulo 8 ...
Transcript of Introducción a las Redes de Computadoras Capítulo 8 ...
![Page 1: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/1.jpg)
1
Int. Redes de Computadoras – Seguridad en la Red 8-1
Introducción a lasRedes deComputadoras
Capítulo 8Seguridad en la RedNota acerca de las transparencias del curso:
Estas transparencias están basadas en el sitio web que acompaña el libro y han sido modificadas por los docentes del curso.
All material copyright 1996-2007J.F Kurose and K.W. Ross, All Rights Reserved
Computer Networking: A Top Down Approach ,4th edition. Jim Kurose, Keith RossAddison-Wesley, July 2007.
![Page 2: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/2.jpg)
2
Int. Redes de Computadoras – Seguridad en la Red 8-2
Capítulo 8: Seguridad en la Red
Objetivos:
❒ Entender los principios de la seguridad en la red:❍ criptografía y sus varios usos más allá de la
“confidencialidad”
❍ integridad de los mensajes
❍ autenticación
❒ seguridad en la práctica:❍ Seguridad en las capas de aplicación, transporte,
red, enlace
❍ firewalls e Intrusion Detection Systems
![Page 3: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/3.jpg)
3
Int. Redes de Computadoras – Seguridad en la Red 8-3
Capítulo 8: Agenda
8.1 ¿Qué es seguridad en la red?
8.2 Principios de la criptografía
8.3 Integridad de los mensajes
8.4 Autenticación del end point8.5 e-mail seguro
8.6 Asegurando las conexiones TCP: SSL
8.7 Seguridad en la capa de red: IPsec
8.8 Asegurando las redes LAN inalámbricas
8.9 Seguridad Operacional: firewalls e IDS
![Page 4: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/4.jpg)
4
Int. Redes de Computadoras – Seguridad en la Red 8-4
Terminología y definiciones
Encriptar Cifrar
❒ “Disfrazar” la información paratransmitirla por un canal inseguro
Desencriptar Descifrar
❒ Obtener el mensaje original a partir de la información “disfrazada”
![Page 5: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/5.jpg)
5
Int. Redes de Computadoras – Seguridad en la Red 8-5
¿Qué es seguridad en la red?
Confidencialidad: sólo el emisor y el receptor deberían “entender” el contenido del mensaje❍ el emisor cifra el mensaje❍ el receptor descifra el mensaje
Autenticación: el emisor y el receptor buscanconfirmar la identidad del otro
Integridad del mensaje: el emisor y el receptor buscan asegurar que el mensaje no ha sido alterado(en tránsito o después) sin ser detectado
Disponibilidad: los servicios deben estar disponiblespara los usuarios
No repudio: no poder negar la autoría de un mensaje
![Page 6: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/6.jpg)
6
Int. Redes de Computadoras – Seguridad en la Red 8-6
Amigos y enemigos: Alice, Bob, Trudy
❒ muy bien conocidos en el mundo de la seguridad en redes
❒ Bob, Alice (¡amantes!) se quieren comunicar de manera “segura”
❒ Trudy (intruso) podría interceptar, borrar, agregar mensajes
emisorseguro
receptorseguro
canalinseguro mensajes de
datos y control
datos datos
Alice Bob
Trudy
![Page 7: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/7.jpg)
7
Int. Redes de Computadoras – Seguridad en la Red 8-7
Ataques pasivos y activos
❒ Pasivos
❍ Escuchar el tráfico
❒ Activos
❍ Desviar el tráfico
❍ Desviar el tráfico, modificarlo y enviarlo al destino
❍ Inyectar tráfico
![Page 8: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/8.jpg)
8
Int. Redes de Computadoras – Seguridad en la Red 8-8
¿Quiénes pueden ser Bob y Alice?
❒ Web browser/server para transaccioneselectrónicas (p.e., compras on-line)
❒ Cliente/servidor en banca on-line
❒ servidores DNS
❒ Cliente/Servidor DNS
❒ routers intercambiando actualizaciones de tablasde routing
❒ …
![Page 9: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/9.jpg)
9
Int. Redes de Computadoras – Seguridad en la Red 8-9
¡Hay chicos malos (y chicas)!P: ¿Qué puede hacer un “chico malo”?R: ¡mucho!, por ejemplo:
❍ eavesdrop: interceptar mensajes❍ insert: mensajes en la conexión❍ impersonation: puede falsificar (spoof) la dirección
origen de un paquete (o cualquier campo de un paquete)
❍ session hijacking: secuestrar una sesión asumiendoel rol del emisor o del receptor
❍ denial of service: evitar que el servicio se utilizadopor sus usuarios legítimos (p.e., sobrecargando los recursos)
❍ replay attack: escuchar una secuencia de mensajes(puede ser inentendible para el intruso) y luegorepetirla
![Page 10: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/10.jpg)
10
Int. Redes de Computadoras – Seguridad en la Red 8-10
Capítulo 8: Agenda
8.1 ¿Qué es seguridad en red?
8.2 Principios de la criptografía
8.3 Integridad de los mensajes
8.4 Autenticación del end point8.5 e-mail seguro
8.6 Asegurando las conexiones TCP: SSL
8.7 Seguridad en la capa de red: IPsec
8.8 Asegurando las redes LAN inalámbricas
8.9 Seguridad Operacional: firewalls e IDS
![Page 11: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/11.jpg)
11
Int. Redes de Computadoras – Seguridad en la Red 8-11
Conceptos
❒ Criptografía❍ “Escribir secreto”
❒ Criptoanálisis❍ Técnicas para conocer la información cifrada
❍ Lo ideal, descubrir la clave involucrada
❒ Criptología = Criptografía + Criptoanálisis
![Page 12: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/12.jpg)
12
Int. Redes de Computadoras – Seguridad en la Red 8-12
El lenguaje de la criptografía
criptografía de clave simétrica: el emisor y el receptor tienen la misma clave
criptografía de clave pública: clave de cifrado (pública), clave de descifrado secreta (privada)
texto plano texto planotexto cifrado
KA
algoritmode cifrado
algoritmode
descifrado
KB
![Page 13: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/13.jpg)
13
Int. Redes de Computadoras – Seguridad en la Red 8-13
Más conceptos
❒ Criptosistema❍ Quíntupla
• M: conjunto de todos los mensajes sin cifrar (texto claro o texto plano)
• C: conjunto de todos los posibles mensajes cifrados (textocifrado)
• K: conjunto de claves involucradas
• E: conjunto de transformaciones de cifrado o funciones de cifrado que se aplica a cada elemento de M para obtenerun elemento de C. Existe una transformación diferentepara cada valor posible de k
• D: conjunto de transformaciones de descifrado
❒ Dos tipos de criptosistema: simétricos o de clave privada, asimétricos o de clave pública
![Page 14: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/14.jpg)
14
Int. Redes de Computadoras – Seguridad en la Red 8-14
Más conceptos (II)
❒ En la práctica, se suelen utilizar combinados(simétricos y asimétricos), pues los asimétricos son más costososcomputacionalmente
❒ Asimétricos para codificar la clave simétrica a utilizar
❒ A veces el tiempo hacer perder relevancia a la información que protegemos❍ Por ejemplo: una primicia
![Page 15: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/15.jpg)
15
Int. Redes de Computadoras – Seguridad en la Red 8-15
Criptografía de clave simétrica (los códigos)cifrado por sustitución: sustituir unos símbolos por
otroscifrado monoalfabético: sustituye una letra por otra (César)
texto plano:abcdefghijklmnopqrstuvwxyz
texto cifrado:mnbvcxzasdfghjklpoiuytrewq
texto plano: bob. i love you. bob. i love you. bob. i love you. bob. i love you. alicealicealicealicetexto cifrado: nknnknnknnkn. s . s . s . s gktcgktcgktcgktc wkywkywkywky. . . . mgsbcmgsbcmgsbcmgsbc
P.e.:
cifrado polialfabético: varios monoalfabéticos y un patrón a seguir
cifrado por transposición: cambia el orden de los símbolos dentro del texto. n columnas, se escribe en horizontal y permutación a seguir para cifrar
![Page 16: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/16.jpg)
16
Int. Redes de Computadoras – Seguridad en la Red 8-16
Criptoanálisis
❒ Posibles ataques❍ Sólo texto cifrado
• El intruso conoce sólo una porción del texto cifrado
• Análisis estadístico
❍ Texto cifrado conocido• El intruso conoce una porción del texto plano y su
correspondiente texto cifrado
❍ Texto plano elegido• El intruso elige texto plano y ve la salida (texto cifrado)
❍ Fuerza bruta
![Page 17: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/17.jpg)
17
Int. Redes de Computadoras – Seguridad en la Red 8-17
Un poco de historia
❒ Origen de la criptografía: contexto militar
❒ Ahora también el ámbito civil (investigadoresuniversitarios)❍ Impactos comerciales importantes
• Comercio electrónico
• Telefonía celular
❒ La seguridad basada en la oscuridad (security through obscurity), por lo menos en lo querespecta a los algoritmos de cifrado, no ha sido una buena elección
![Page 18: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/18.jpg)
18
Int. Redes de Computadoras – Seguridad en la Red 8-18
Criptografía de clave simétrica
criptografía de clave simétrica: Bob y Alice compartenla misma clave (simétrica): K
❒ En los de sustitución como el de César no hay clave, sólo hay un algoritmo secreto
❒ P: ¿cómo Bob y Alice acuerdan un valor de clave?
texto planotexto cifrado
KA-B
algoritmode cifrado
algoritmode
descifrado
A-B
KA-B
mensaje en texto plano, m
K (m)A-B
K (m)A-B
m = K ( )A-B
![Page 19: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/19.jpg)
19
Int. Redes de Computadoras – Seguridad en la Red 8-19
Clases de cifrado
❒ Cifrado por bloques (block cipher)❍ Procesa el mensaje en bloques de largo fijo (en
general, de 64 ó 128 bits)
❒ Cifrado por flujo (stream cipher)❍ Trata al mensaje a procesar como si fuera una
fuente continua de bits
![Page 20: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/20.jpg)
20
Int. Redes de Computadoras – Seguridad en la Red 8-20
Cifrado en Bloques
❒ Una sola pasada: 1 bit de entradaafecta 8 bits de salida
64-bit input
T1
8bits
8 bits
8bits
8 bits
8bits
8 bits
8bits
8 bits
8bits
8 bits
8bits
8 bits
8bits
8 bits
8bits
8 bits
64-bit permutados
64-bit output
loop para
n pasadas T2 T3 T4 T6T5T7
T8
❒ Múltiples pasadas: cada bit de entrada afecta a (casi) todos los bits de salida
❒ Ejemplos de algoritmos de cifrado por bloques: DES, 3DES, AES
![Page 21: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/21.jpg)
21
Int. Redes de Computadoras – Seguridad en la Red 8-21
Criptografía de clave simétricaDES: Data Encryption Standard❒ estándar de cifrado de USA (1977 – FIPS 46)
❒ clave simétrica de 56 bits; texto plano de entrada de 64 bits, 16 rondas, cada una con una clave distinta
❒ ¿Qué tan seguro es DES?
❍ Desafío DES: frase descifrada con fuerza bruta• 1977: 4 meses, 1988: 41 días, 1988: 56 horas, 1999: 22
horas
❒ “haciendo DES más seguro”: DES múltiple (1979)
❍ usar 3 claves secuencialmente (triple-DES) en cadadato
![Page 22: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/22.jpg)
22
Int. Redes de Computadoras – Seguridad en la Red 8-22
Criptografía de clave simétricaAES: Advanced Encryption Standard
❒ nuevo (Nov. 2001) estándar del NIST (FIPS PUB 197) de clave simétrica, reemplazando a DES
❒ Llamado público internacional: algoritmo ganadorRijndael (“reindal”)
❒ procesa datos en bloques de 128 a 256 bits en saltos de a 32 bits
❒ claves de 128, 192, o 256 bits
❒ Descifrado de fuerza bruta que tome 1 seg. en DES con clave de 56 bits, toma 149 trillones de años en AES con clave de 128 bits
![Page 23: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/23.jpg)
23
Int. Redes de Computadoras – Seguridad en la Red 8-23
Modos de operación para algoritmosde cifrado por bloques
❒ Para mensajes más largos que un bloque
❍ ECB: Electronic Code Book
❍ CBC: Cipher Block Chaining
❍ CFB: Cipher FeedBack
❍ OFB: Output FeedBack
![Page 24: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/24.jpg)
24
Int. Redes de Computadoras – Seguridad en la Red 8-24
Cipher Block Chaining (CBC)
❒ ECB: si el bloque de entrada es repetido, produce el mismotexto de cifrado:
t=1m(1) = “HTTP/1.1” block
cipherc(1) = “k329aM02”
…
❒ XOR del bloque de entrada i-ésimo, m(i), con el bloque previo del texto cifrado, c(i-1)
❍ c(0) = IV, transmitido en claro
❍ ¿qué ocurre en el escenario “HTTP/1.1” de más arriba?
+
m(i)
c(i)
t=17m(17) = “HTTP/1.1” block
cipherc(17) = “k329aM02”
blockcipher
c(i-1)
K
![Page 25: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/25.jpg)
25
Int. Redes de Computadoras – Seguridad en la Red 8-25
Criptografía de clave pública
criptografía de clave simétrica
❒ Requiere que tanto el emisor como el receptor conozcan la clave secretacompartida
❒ P: ¿Cómo puedenacordar la clave si porejemplo nunca se vieron?
criptografía de clave pública
❒ enfoque radicalmentedistinto (Diffie-Hellman, 1976; RSA, 1978)
❒ el emisor y el receptor nocomparten una clave secreta
❒ Cada uno tiene dos claves, la clave pública la conocentodos, la clave privada la conoce sólo su dueño
![Page 26: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/26.jpg)
26
Int. Redes de Computadoras – Seguridad en la Red 8-26
Aplicaciones de algoritmosasimétricos
❒ Cifrado de la información con la clave pública, para que viaje en canales inseguros, sin tener que transmitir nunca la clave de descifrado
❒ Autenticación de mensajes, con la clave privada, a partir de funciones que nospermiten obtener una firma o resumen del mensaje
![Page 27: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/27.jpg)
27
Int. Redes de Computadoras – Seguridad en la Red 8-27
Criptografía de clave pública
mensajetexto plano, m
texto cifradoalgoritmode cifrado
algoritmode
descifrado
clave públicade Bob
mensajetexto planoK (m)
B+
K B
+
clave privadade Bob
K B
-
m = K (K (m))B
+B-
![Page 28: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/28.jpg)
28
Int. Redes de Computadoras – Seguridad en la Red 8-28
Algoritmos de cifrado de clave pública
necesitamos K ( ) y K ( ) tal queB B
. .
Dada la clave pub K , deberíaser imposible computar la clave privada K , aúnconociendo el algoritmo
B
B
Requerimientos:
1
2
Algoritmo RSA: Rivest, Shamir, Adleman
+ -
K (K (m)) = mBB
- +
+
-
.
![Page 29: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/29.jpg)
29
Int. Redes de Computadoras – Seguridad en la Red 8-29
RSA: números primos y aritméticamodular
❒ Un entero N es primo sii sólo es divisible entre N y 1.
❒ Todo entero se puede descomponer en un producto único de factores primos
❒ Fortaleza de RSA: dificultad parafactorizar números grandes
![Page 30: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/30.jpg)
30
Int. Redes de Computadoras – Seguridad en la Red 8-30
RSA
❒ Las claves pública y privada se calculan a partir de un número que se obtiene comoproducto de dos números primos grandes
❒ El atacante, si quiere recuperar un textoclaro a partir del texto cifrado y de la clave pública, se enfrentará a un problemade factorización. No se conocepúblicamente otro mecanismo
❒ Debería conocer los nros. primos, lo cual esun problema computacionalmente imposible
![Page 31: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/31.jpg)
31
Int. Redes de Computadoras – Seguridad en la Red 8-31
RSA: Seleccionando las claves
1. Seleccione dos números primos largos p, q.(p.e., de 512 o 1024 bits cada uno)
2. Calcule n = pq y z = (p-1)(q-1)
3. Seleccione e (con e < n) que no tenga factores comunescon z. (e y z son “primos relativos”).
4. Seleccione d tal que ed-1 es exactamente divisible entrez (en otras palabras: ed mod z = 1 ).
5. La clave pública es (n,e). La clave privada es (n,d).
KB+ K
B-
![Page 32: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/32.jpg)
32
Int. Redes de Computadoras – Seguridad en la Red 8-32
RSA: Cifrado, descifrado
0. Dados (n,e) y (n,d) calculados como vimos antes
1. Para cifrar un patrón de bits, m, calcular
c = m mod ne (resto de cuando m es dividido entre n)e
2. Para descifrar un patrón de bits recibido, c, calcular
m = c mod nd (resto de cuando c es dividido por n)d
m = (m mod n)e mod nd
c
![Page 33: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/33.jpg)
33
Int. Redes de Computadoras – Seguridad en la Red 8-33
RSA ejemplo:Bob selecciona p=5, q=7. Entonces n=35, z=24.
e=5 (entonces e y z son primos relativos).d=29 (entonces ed-1 es exactamente divisibleentre z).
letra m me c = m mod ne
l 12 1524832 17
c m = c mod nd
17 481968572106750915091411825223071697 12cd
letra
l
cifrado:
descifrado:
![Page 34: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/34.jpg)
34
Int. Redes de Computadoras – Seguridad en la Red 8-34
RSA: ¿Por qué funciona?m = (m mod n)e mod nd
(m mod n)emod n = m mod nd ed
Teoría de números: Si p,q son primos y n = pq, entonces:
x mod n = x mod ny y mod (p-1)(q-1)
= m mod ned mod (p-1)(q-1)
= m mod n1
= m
(dado que elegimos ed divisible por(p-1)(q-1) con resto 1 )
![Page 35: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/35.jpg)
35
Int. Redes de Computadoras – Seguridad en la Red 8-35
Capítulo 8: Agenda
8.1 ¿Qué es seguridad en red?
8.2 Principios de la criptografía
8.3 Integridad de los mensajes
8.4 Autenticación del end point8.5 e-mail seguro
8.6 Asegurando las conexiones TCP: SSL
8.7 Seguridad en la capa de red: IPsec
8.8 Asegurando las redes LAN inalámbricas
8.9 Seguridad Operacional: firewalls e IDS
![Page 36: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/36.jpg)
36
Int. Redes de Computadoras – Seguridad en la Red 8-36
Integridad de los mensajes(autenticación de los mensajes)Bob recibe un mensaje (cifrado o no) de Alice y quiere
asegurarse:❒ que el mensaje viene efectivamente de Alice ❒ que el mensaje no fue cambiado desde que Alice lo envió
Funciones de Hash (resumen) Criptográfico:❒ Un hash o message digest es una función unidireccional que
toma una entrada m (mensaje), produce un valor de longitudfija, y de muchos menos bits, s=H(m). Esta es la propiedad de compresión
❒ Unidireccional: computacionalmente imposible invertir a la función o sea, dado s encontrar m tal que s=H(m)
![Page 37: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/37.jpg)
37
Int. Redes de Computadoras – Seguridad en la Red 8-37
Propiedades de las funciones hash
❒ dado m, es fácil calcular s = H(m)
❒ dado s = H(m), (m desconocido), escomputacionalmente imposible determinar m
❒ es computacionalmente imposible encontrar m y m’tal que H(m) = H (m’)
❒ hashes “randómicas”❍ el H(m) debe tener aproximadamente la mitad de sus bits en 1
❍ Dadas varias entradas, cada bit de sus hashes debe estar en 1 con probabilidad 0.5
❒ mensajes muy parecidos deben tener “hashes” muy diferentes. “ El cambio en 1 bit debe producir un cambio en aproximadamente la mitad de los bit”. Propiedad de difusión
![Page 38: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/38.jpg)
38
Int. Redes de Computadoras – Seguridad en la Red 8-38
Funciones de hash en la práctica
❒ Función de hash ampliamente utilizada: MD5
❍ Message Digest “versión 5”
❍ Ron Rivest, RFC 1321
❍ Procesa el mensaje de entrada en bloques de 512 bits y produce una salida de 128 bits
❍ ataques recientes (2005) a MD5
❒ SHA-1: también muy utilizada
❍ Security Hash Algorithm❍ US standard [NIST, FIPS PUB 180-1]
❍ Procesa el mensaje de entrada en bloques de 512 bits y produce una salida de 160 bits
![Page 39: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/39.jpg)
39
Int. Redes de Computadoras – Seguridad en la Red 8-39
Message Authentication Code
m
s (secreto compartido)
(mensaje)
H(.) H(m+s)
Internetappend
m H(m+s)
s
compara
m
H(m+s)
H(.)H(m+s)
(secreto compartido)
Bloque de información que junto con el mensaje permite evaluarsu integridad. Debe depender del mensaje “m” y de un secreto “s”que es la clave de autenticación
¿Requiere confidencialidad?
Ejemplo de MAC: HMAC (tanto con MD5 con SHA-1)
![Page 40: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/40.jpg)
40
Int. Redes de Computadoras – Seguridad en la Red 8-40
Firmas digitales
Técnica criptográfica análoga a las firmas manuscritas.
❒ Combina cifrado asimétrico con funciones hash
❒ el emisor (Bob) firma digitalmente un documento, estableciéndose que él es el creador/dueño del documento.
❒ Para ser:❍ verificable: el receptor (Alice) debe convencerse que lo envió Bob;
❍ no falsificable: el receptor (Alice) debe convercerse que sólo Bob lo pudo haber enviado
❍ no repudiable: el receptor (Alice) debe convencer a otro (un juez) que sólo Bob pudo haber firmado el documento.
❒ ¿MAC sirve como técnica de firma digital?
![Page 41: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/41.jpg)
41
Int. Redes de Computadoras – Seguridad en la Red 8-41
Firmas digitales
firma digital simple para un mensaje m:❒ Bob “firma” m cifrándolo con su clave privada KB,
creando un mensaje “firmado”, KB(m)
--
QueridaQueridaQueridaQuerida AliceAliceAliceAlice
¡Cómo te extraño! ¡Pienso en tí todoel tiempo! …(blabla bla)
BobBobBobBob
Mensaje de Bob, m
algoritmo de cifrado de
clave pública
clave privadade Bob
K B-
mensajemensajemensajemensaje de Bob, de Bob, de Bob, de Bob, m, m, m, m, firmadofirmadofirmadofirmado
((((cifradocifradocifradocifrado) con ) con ) con ) con susususuclave clave clave clave privadaprivadaprivadaprivada
K B-(m)
-
![Page 42: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/42.jpg)
42
Int. Redes de Computadoras – Seguridad en la Red 8-42
Firmas digitales
❒ suponga que Alice recibe m y la firma digital KB(m)
❒ Alice verifica que m está firmado por Bob aplicando la clave pública de Bob, KB , a KB(m); entonces chequea KB( KB(m) ) = m.
❒ si KB( KB(m) ) = m, quien haya firmado m debe tener la clave privada de Bob.
++++ ++++
-
----
---- ----
+
Por lo tanto Alice verifica que:� Alguien que conoce la clave privada de Bob
firmó m.� Esa persona (Bob) firmó m y no m’
(integridad del mensaje)No repudio:
� Alice toma m, y la firma KB(m) y puedeprobar ante la justicia que Bob firmó m.
-
![Page 43: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/43.jpg)
43
Int. Redes de Computadoras – Seguridad en la Red 8-43
mensajelargo,
mH: función
de hash H(m)
firmadigital
(cifrado)
claveprivadade Bob K B
-
+
Bob envía el mensaje firmadodigitalmente:
Alice verifica la firma y la integridad del mensajefirmado digitalmente:
KB(H(m))-
digestdel mensaje,
cifrado
KB(H(m))-
digestdel mensaje,
cifrado
mensajelargo,
m
H: funciónde hash
H(m)
firmadigital
(cifrado)
H(m)
clave públicade Bob K B
+
¿iguales?
Firma digital con hash (por la crisis… ☺)
![Page 44: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/44.jpg)
44
Int. Redes de Computadoras – Seguridad en la Red 8-44
Certificación de clave pública
Problema de las claves públicas:
❒ Cuando Alice obtiene la clave pública de Bob (de sitio web, e-mail, …), ¿cómo ella sabe que es la clave pública de Bob y no de Trudy?
Una solución:
❒ Certification Authority (CA) confiable❍ Validan identidades y gestionan certificados❍ Certificados X.509
![Page 45: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/45.jpg)
45
Int. Redes de Computadoras – Seguridad en la Red 8-45
Autoridades de Certificación
❒ Certification Authority (CA)❍ vinculan una clave pública a una entidad particular, E.
❒ E registra su clave pública con la CA.❍ E brinda “prueba de identidad” a la CA.
❍ CA crea un certificado que es un binding de E con su clave pública.
❍ El certificado contiene (entre otras cosas) la clave públicade E y está firmado digitalmente por la CA: la CA dice “Esta es la clave pública de E”
![Page 46: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/46.jpg)
46
Int. Redes de Computadoras – Seguridad en la Red 8-46
Autoridades de Certificación
K B+
Información de identificación
de Bob
firmadigital
(cifrado)
clave privada
de CA K CA-
K B+
certificadopara la
Clave públicade Bob,
firmado porla CA
-K CA(K ) B
+
clave públicade Bob
CA
![Page 47: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/47.jpg)
47
Int. Redes de Computadoras – Seguridad en la Red 8-47
Autoridades de Certificación
❒ cuando Alice quiere la clave pública de Bob:
❍ obtiene el certificado de Bob.
❍ aplica la clave pública de la CA al certificado de Bob, chequea su validez y así obtiene la clave pública de Bob
clave públicade BobK B
+
firmadigital
clave pública de la CA K CA
+
K B+
-K CA(K ) B
+
![Page 48: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/48.jpg)
48
Int. Redes de Computadoras – Seguridad en la Red 8-48
Campos principales de un certificado:
❒ Número de serie (único para el emisor)❒ info acerca del dueño del certificado, incluyendo el
algoritmo y el valor de la clave pública (no mostrada) ❒ info acerca
del emisor
❒ validez
❒ Firma digital porparte del emisor
![Page 49: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/49.jpg)
49
Int. Redes de Computadoras – Seguridad en la Red 8-49
Capítulo 8: Agenda
8.1 ¿Qué es seguridad en red?
8.2 Principios de la criptografía
8.3 Integridad de los mensajes
8.4 Autenticación del end point8.5 e-mail seguro
8.6 Asegurando las conexiones TCP: SSL
8.7 Seguridad en la capa de red: IPsec
8.8 Asegurando las redes LAN inalámbricas
8.9 Seguridad Operacional: firewalls e IDS
![Page 50: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/50.jpg)
50
Int. Redes de Computadoras – Seguridad en la Red 8-50
Autenticación
Objetivo: una entidad busca que otra le pruebe su identidad
Alice dice “Soy Alice”
“Soy Alice”
“Soy Alice”
![Page 51: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/51.jpg)
51
Int. Redes de Computadoras – Seguridad en la Red 8-51
Autenticación: otro intento
Alice dice “Soy Alice” en un paquete IPconteniendo su dirección IP origen
“Soy Alice”Alice’s
IP address
“Soy Alice”Alice’s
IP address
![Page 52: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/52.jpg)
52
Int. Redes de Computadoras – Seguridad en la Red 8-52
Autenticación: otro intento
Alice dice “Soy Alice” y envía su password secreta parademostrarlo.
“Soy Alice”Alice’s IP addr
Alice’s password
OKAlice’s IP addr
“I’m Alice”Alice’s IP addr
Alice’s password
OKAlice’s IP addr
“Soy Alice”Alice’s IP addr
Alice’s password
![Page 53: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/53.jpg)
53
Int. Redes de Computadoras – Seguridad en la Red 8-53
Autenticación: otro intento
Alice dice “Soy Alice” y envía su password secretacifrada para probarlo.
¿Escenario de falla?
“Soy Alice”Alice’s IP addr
encrypted password
OKAlice’s IP addr
![Page 54: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/54.jpg)
54
Int. Redes de Computadoras – Seguridad en la Red 8-54
Autenticación: otro intento
Objetivo: evitar el playback attack
Nonce: número (R) utilizado una sola vez
para probar que Alice “está viva”, Bob le envía a Alice un nonce, R. Alice debe retornar R, cifrado con la clave
secreta compartida“Soy Alice”
R
K (R)A-B
Alice está viva, y sólo Alice conoce
la clave paracifrar el nonce, entonces debe
ser Alice!
![Page 55: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/55.jpg)
55
Int. Redes de Computadoras – Seguridad en la Red 8-55
Autenticación
Lo visto en el slide anterior requiere una clave secretacompartida
❒ ¿Podemos autenticar utilizando técnicas de clave pública?
utilizar nonce y criptografía de clave pública
“Soy Alice”
RBob calcula
K (R)A-
“envíame tu clave pública”
K A
+
(K (R)) = RA
-K A
+
y sabe que sólo Alice debería tener la clave privada, que cifró a R
tal que
(K (R)) = RA
-K A
+
![Page 56: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/56.jpg)
56
Int. Redes de Computadoras – Seguridad en la Red 8-56
Hueco de seguridadAtaque Man (“Woman”) in the Middle: Trudy
(¡ufa!) es Alice para Bob y Bob para Alice
Soy Alice Soy Alice
R
TK (R)
-
Envíame tu clave pública
TK
+A
K (R)-
Envíame tu clave pública
AK
+
TK (m)+
Tm = K (K (m))
+
T
-Trudy obtiene
envía m a Alice cifrado con la
clave pública de Alice
AK (m)+
Am = K (K (m))
+
A
-
R
![Page 57: Introducción a las Redes de Computadoras Capítulo 8 ...](https://reader036.fdocuments.net/reader036/viewer/2022072701/62df9541a6359505d77e80b4/html5/thumbnails/57.jpg)
57
Int. Redes de Computadoras – Seguridad en la Red 8-57
Hueco de seguridadAtaque Man (“Woman”) in the Middle: Trudy
(¡ufa!) es Alice para Bob y Bob para Alice
Dificultades para detectarlo:
�Bob recibe todo lo que Alice le envía, y viceversa.
�¡El problema es que Trudy recibe todos los mensajetambién!