La seguridad en la red: verdades, mentiras y consecuencias · 2014. 3. 2. · Seguridad...
Transcript of La seguridad en la red: verdades, mentiras y consecuencias · 2014. 3. 2. · Seguridad...
Seguridad InformáticaGabriel Díaz Orueta
1
La seguridad en la red: verdades, mentiras y consecuencias
Aproximación práctica a la criptografía aplicada
Gabriel Díaz Orueta
Seguridad InformáticaGabriel Díaz Orueta
2
Seguridad InformáticaGabriel Díaz Orueta
3
Aproximación práctica a la criptografía aplicada
1- ¿Qué es la criptografía aplicada2- Propiedades: autenticación, integridad, confidencialidad3- Algoritmos: simétricos, asimétricos y hash4- Protocolos criptográficos
Seguridad InformáticaGabriel Díaz Orueta
4
1- ¿Qué es la criptografía aplicada?
• La criptografía es la ciencia de la ocultación del significado de un mensaje– No oculta la existencia del propio mensaje
(estenografía)– Lo consigue mediante el cifrado o codificación– La criptografía se usa para guardar secretos– Viene del griego "kryptos", que significa
"escondido“
• La criptografía aplicada es el uso de la criptografía en las TIC.
Seguridad InformáticaGabriel Díaz Orueta
5
• Lo opuesto a la criptografía es el criptoanálisis– Consiste en descubrir los mensajes secretos– Siempre ha habido una batalla entre
criptógrafos (que inventan nuevos métodos) y criptoanalistas, que tratan de obtener el significado de los mensajes secretos
– El criptoanálisis puede ser sencillo (descifrar el método César) o casi imposible
Seguridad InformáticaGabriel Díaz Orueta
6
• Elementos básicos de cualquier sistema criptográfico actual:
– Algoritmos criptográficos– Texto "en claro" o texto legible– Texto cifrado– Claves– Generadores de números aleatorios y
semillas
Seguridad InformáticaGabriel Díaz Orueta
7
• Algoritmos criptográficos– La primera aproximación histórica se basaba en tener
un algoritmo secreto conocido por un grupo• El problema era la "traición" de uno de los miembros
del grupo– Actualmente:
• El algoritmo es público, todo el mundo lo conoce– Cuando se empieza a usar, todo el mundo lo ataca
(control de calidad). Si sobrevive, es muy seguro• El algoritmo depende (al menos) de una clave, que en
principio es secreta y se cambia periódicamente– Si existe traición, es más fácil cambiar la clave que el
algoritmo– Muchos grupos distintos pueden usar los mismos
algoritmos, pero con diferentes claves
Seguridad InformáticaGabriel Díaz Orueta
8
• Texto legible y texto cifrado– Al texto legible se le aplica un algoritmo de cifrado
• El cual, en general, depende de una clave• Por lo tanto, el algoritmo es una función matemática
f()– El resultado es el texto cifrado, que es el que se envía
o guarda• Este proceso se llama cifrado o encriptación
– Si al texto cifrado se le aplica el mismo algoritmo, dependiente de la misma u otra clave (según métodos), se obtiene el texto legible original
• Este proceso se llama descifrado o desencriptación
Seguridad InformáticaGabriel Díaz Orueta
9
Seguridad InformáticaGabriel Díaz Orueta
10
Seguridad InformáticaGabriel Díaz Orueta
11
• Principios fundamentales de la gestión de algoritmos criptográficos– La seguridad de un algoritmo criptográfico
moderno reside en su clave– Si las claves son débiles, la transmisión
secreta tendrá una seguridad débil• Hay que generar y usar claves seguras• Hay que cambiar tales claves con frecuencia
Seguridad InformáticaGabriel Díaz Orueta
12
• La criptografía puede implementarse...– Por software
• Permite actualizaciones y modificaciones sencillas• Es más lento, dependiendo del procesador y memoria• Atacable por virus, troyanos, vulnerabilidades, etc.
– Por hardware• Más rápido
– Combinación de software/hardware• Labores repetitivas por hardware y resto por software
Seguridad InformáticaGabriel Díaz Orueta
13
Seguridad InformáticaGabriel Díaz Orueta
14
Seguridad InformáticaGabriel Díaz Orueta
15
2- Propiedades de seguridad
Palabras clave…
Integridad
Privacidad
Autenticación
Seguridad InformáticaGabriel Díaz Orueta
16
La criptografía hace mucho más difícil esto:
Seguridad InformáticaGabriel Díaz Orueta
17
Seguridad InformáticaGabriel Díaz Orueta
18
3- Algoritmos criptográficos
• Criptografía simétrica o de clave privada
• Criptografía asimétrica o de clave pública
• Funciones de una sola vía o “one way hash”
Seguridad InformáticaGabriel Díaz Orueta
19
Criptografía simétrica Son los más populares y utilizados
históricamente Hasta el punto que muchas personas creen
que sólo existen estos métodos para cifrar y descifrar
Lo esencial es la clave "K" Sirve tanto para cifrar un texto como para
descifrarlo Por eso se dice que el algoritmo es simétrico
Es compartido sólo entre emisor y receptor Por eso se dice que la clave es privada
Seguridad InformáticaGabriel Díaz Orueta
20
Seguridad InformáticaGabriel Díaz Orueta
21
• Ventajas:– Son más rápido que los algoritmos de clave pública
(1000 veces más rápidos)– Sirven bien para sistemas criptográficos hardware
• Inconvenientes:– ¿Cómo se distribuye de forma segura la clave entre
emisor y receptor? Es la "gestión de administración de claves"
– La clave no puede caer en manos no autorizadas (o no puede haber "traición")
– Es necesaria una clave por cada pareja de usuarios.• Una red de n usuarios necesita n(n-1)/2 claves
Seguridad InformáticaGabriel Díaz Orueta
22
Seguridad InformáticaGabriel Díaz Orueta
23
• Algoritmo DES (cont.)– Existen gran cantidad de dispositivos hardware
(cortafuegos, routers, etc.) que utilizan DES– También lo usan protocolos como SSL o IPSec– Del total de claves posible (2 elevado a 56), existen 64
claves inseguras, pero es improbable elegirlas– 56 bits de clave resulta insuficiente hoy en día para
muchos usos• Se puede descifrar usando un software de fuerza
bruta
Seguridad InformáticaGabriel Díaz Orueta
24
Seguridad InformáticaGabriel Díaz Orueta
25
Seguridad InformáticaGabriel Díaz Orueta
26
Funciones de una sola vía
Seguridad InformáticaGabriel Díaz Orueta
27
Seguridad InformáticaGabriel Díaz Orueta
28
• Debido a su naturaleza, han estado siendo usadas en informática desde hace mucho tiempo, con diferentes nombres:– Función de compresión– Message digest– Checksum criptográfico– Message integrity check (MIC)– Etc.
Seguridad InformáticaGabriel Díaz Orueta
29
• Utilización:– Estas funciones son públicas
• Su seguridad no reside en el proceso, sino en la naturaleza unidireccional del mismo
– Su uso más habitual es garantizar integridad• Ej: que un fichero no ha sido modificado
– El hash de un fichero será distinto si se modifica. Si se tiene almacenado el hash del fichero sin modificar, éste resulta modificado y se vuelve a calcular el hash, se obtendrá un hash distinto al primero
– Si se quiere verificar que alguien tiene el mismo fichero, bastará con pedir que se calcule el hash. Ambos resúmenes deben ser idénticos
Seguridad InformáticaGabriel Díaz Orueta
30
• Utilización con clave:– En general se usan sin clave, para que cualquiera
pueda verificar el hash• Pero si esta propiedad no es deseada, se puede
utilizar también funciones de una sola vía que dependan de una clave
– Código de autenticación de mensaje o MAC (MessageAuthentication Code) es usarlo con clave
• El hash es una función tanto del texto original como de la clave
• Sólo aquél que disponga de la clave puede verificar el valor resumen
Seguridad InformáticaGabriel Díaz Orueta
31
• Algoritmos más utilizados:– MD5 (Message Digest version 5)
• Usado especialmente en su modalidad con clave (HMAC MD5)
• Usado en IPSec, SSL, PGP y en guardado cifrado de contraseñas (por ejemplo, en foros phpBB)
• Produce un hash de 128 bits– SHA-1 (Secure hash algorithm)
• El más utilizado en entornos profesionales• Produce un hash de 160 bits• Usado también en su modalidad con clave (HMAC
SHA-1)
Seguridad InformáticaGabriel Díaz Orueta
32
• Autenticación– Las funciones de una sola vía pueden ser
usadas para autenticación• Para encriptar contraseñas para guardarlas
(/etc/passwd) o transmitirlas (SSL, IPSec), y luego compararlas con las introducidas
• Se usa una operación MAC con una función de una sola vía (HMAC MD5 ó HMAC SHA-1)
– Crea un resumen dependiente de una clave privada
Seguridad InformáticaGabriel Díaz Orueta
33
Criptografía asimétrica • La criptografía asimétrica o de clave pública consiste
en lo siguiente:– Cada participante genera, según un algoritmo, una
pareja de claves relacionadas entre sí:• Una clave pública• Una clave privada
– Deducir la privada, conociendo la pública, debe ser computacionalmente muy complicado
– La pública debe ser conocida por todo el mundo (se transmite libremente)
– La privada sólo la conoce su propietario, es secreta• Suelen ser muy grandes, por lo menos de 1024 bits o
mayores, lo cual no es fácil de recordar o mantener
Seguridad InformáticaGabriel Díaz Orueta
34
• Encriptación:– Cualquiera que conozca la clave pública
del participante A, puede cifrar un mensaje utilizando dicha clave
– Sólo el participante A, utilizando su clave privada, podrá descifrar el mensaje
• La encriptación es sencilla, pero la desencriptación es muy complicada, e imposible sin la clave privada
Seguridad InformáticaGabriel Díaz Orueta
35
Seguridad InformáticaGabriel Díaz Orueta
36
Seguridad InformáticaGabriel Díaz Orueta
37
Seguridad InformáticaGabriel Díaz Orueta
38
• Firma digital– El participante A tiene un mensaje que quiere enviar a
otra serie de participantes, incluido el participante B– A cifra el mensaje mediante su clave privada. Como
ésta es sólo suya, el propio mensaje cifrado es la firma del participante A
– Cualquiera, incluído B, puede descifrar el mensaje, utilizando la clave pública de A
• Así todos se aseguran de que el mensaje proviene de A, pues sólo él conoce su clave privada y por lo tanto sólo él pudo cifrar el mensaje
Seguridad InformáticaGabriel Díaz Orueta
39
• Algoritmo RSA– El más popular, y se crea estándar sobre él, llamado
PKCS (Public Key Cryptographic Standards)– Muy seguro– Muy usado en firma digital– Viene de las siglas de sus creadores, que además
crearon la empresa "RSA Data Security" para explotar el algoritmo
– RSA se basa en la factorización de grandes números• Multiplicando dos números primos muy
grandes– Las claves pueden ser desde 768 bits (se recomienda
al menos 1024)– Recuperar algunos bits del mensaje original es tan
difícil como descifrar el mensaje completo
Seguridad InformáticaGabriel Díaz Orueta
40
Seguridad InformáticaGabriel Díaz Orueta
41
Seguridad InformáticaGabriel Díaz Orueta
42
Las AC emiten certificados, y los firman digitalmente con su propia clave privada
La entidad "A", que tenga un certificado emitido por la AC, se autentica ante otra entidad participante con la que quiere comunicarse ("B"), presentando el certificado en el que aparece la clave pública de "A", certificada por la AC
Así, si "A" enseña su certificado, "B" puede "confiar" en que la clave pública de "A" que aparece en dicho certificado es verdadera
Seguridad InformáticaGabriel Díaz Orueta
43
Seguridad InformáticaGabriel Díaz Orueta
44
Una PKI o infraestructura de clave pública es: El conjunto de hardware, software, personas,
políticas y procedimientos necesarios para crear, almacenar, distribuir, gestionar y revocar certificados digitales
Con una PKI es posible generar y distribuir claves en un entorno seguro, así como que las autoridades de certificación emitan claves, certificados y CRL de manera segura
Dos modelos de PKI: central y jerárquico
Seguridad InformáticaGabriel Díaz Orueta
45
Firma digital
• Con la firma digital se asegura que el origen de un mensaje es quien realmente dice ser
• Requisitos que debe cumplir:– Fácil de generar– Irrevocable, no rechazable por el firmante– Única, sólo el emisor debe ser capaz de generarla– Fácil de reconocer por cualquier receptor de un
mensaje– Debe depender del mensaje y del emisor
• Los requisitos de la firma digital son más fuertes que los que se impone a una firma manuscrita
Seguridad InformáticaGabriel Díaz Orueta
46
• Una firma digital está compuesta por una serie de datos, asociados a un mensaje que permiten asegurar:– La identidad del firmante– La integridad del mensaje
• El mensaje puede estar cifrado o no– Es independiente del uso de la firma digital
Seguridad InformáticaGabriel Díaz Orueta
47
Seguridad InformáticaGabriel Díaz Orueta
48
Seguridad InformáticaGabriel Díaz Orueta
49
4. Protocolos criptográficos• Un protocolo criptográfico es:
– Un protocolo...– ... que usa métodos y algoritmos
criptográficos para que la comunicación sea segura
• Los protocolos criptográficos se crean utilizando algoritmos criptográficos y sirven, a su vez, de piezas fundamentales con las que construir sistemas criptográficos más complejos
Seguridad InformáticaGabriel Díaz Orueta
50
Seguridad InformáticaGabriel Díaz Orueta
51
SSL (Secure socket layer) es un protocolo del nuevo nivel mencionado entre la capa de aplicación y la de TCP Se encarga de encriptar mensajes del nivel de
aplicación y pasárselo al nivel de transporte Desencripta lo que proviene del nivel de
transporte y se lo pasa al nivel de aplicación Por lo tanto SSL será utilizado por protocolos de
aplicación como SSH, HTTPS, etc.
Seguridad InformáticaGabriel Díaz Orueta
52
• Transparencia de SSL– Transparencia desde el punto de vista del
usuario que navega por internet– Si la web a donde vamos usa HTTPS,
entonces el navegador utiliza automáticamente SSL para lograr una comunicación confidencial entre el usuario y el servidor de la página web
• Sin que el usuario tenga que hacer nada especial
Seguridad InformáticaGabriel Díaz Orueta
53
• Capacidades de seguridad que proporciona SSL:– Autenticación– Privacidad
• Extremos:– Cliente SSL
• Suele ser un navegador web• Inicia la comunicación segura• Ofrece al servidor SSL una propuesta de algoritmos
de seguridad a usar por ambos para la futura comunicación segura
– Servidor SSL• Normalmente un servidor web (ej: Apache)• Elije entre los algoritmos propuestos por el cliente
Seguridad InformáticaGabriel Díaz Orueta
54
• Definición de IPSec– Conjunto de protocolos para aportar
seguridad a IPv6– Definidos en los RFC 1825 a 1829, y
redefinido en RFC 2401 al 2412…– Se ha conseguido implementar también en
IPv4– Son muy potentes– Se utilizan para implementar todo tipo de
redes privadas virtuales
Seguridad InformáticaGabriel Díaz Orueta
55
• Características de seguridad que ofrece IPSec:– Integridad de los datos– Autenticación del origen de los datos– Privacidad de los datos
Seguridad InformáticaGabriel Díaz Orueta
56
• Los protocolos IPSec son:– AH (Authentication Header)
• Proporciona autenticación e integridad– ESP (encapsulating Security Payload)
• Proporciona confidencialidad, así como, opcionalmente, integridad y autenticación
– KMP (Key Management Protocol)• Proporciona intercambio seguro de claves y
administración de todo el proceso criptográfico de claves
Seguridad InformáticaGabriel Díaz Orueta
57
• Protocolo AH– Se aplica una función hash HMAC (cifrado hash del
mensaje y una clave secreta) al paquete de datos– El hecho de que usemos una función hash nos
proporciona integridad de los datos– El hecho de que sea HMAC con una clave secreta
compartida por los dos extremos significa que se garantiza la autenticación de los mensajes
• Pues sólo el otro extremo conoce la clave secreta y por lo tanto ha podido realizar el hash correctamente
– Se usa MD5-HMAC o SHA-1-HMAC– La clave secreta se suele realizar y transmitir mediante
Diffie-Hellman
Seguridad InformáticaGabriel Díaz Orueta
58
Seguridad InformáticaGabriel Díaz Orueta
59
• Protocolo ESP– Es independiente de AH (se puede usar a
la vez con él o no)– Proporciona privacidad
• Para ello, se usa DES, 3DES o AES– Opcionalmente proporciona integridad y
autenticación• Para ello, los algoritmos son los mismos que
AH
Seguridad InformáticaGabriel Díaz Orueta
60
• ESP puede operar en dos modos diferentes:– Modo transporte
• Se protege todo el paquete excepto la cabecera IP• Se usa cuando entre los dos extremos no hay ningún
encaminador– Las direcciones IP de los extremos son de la misma red
– Modo túnel• Se protege todo el paquete, incluyendo la cabecera IP• Para ello, utilizamos una nueva cabecera IP, una
pseudo-cabecera de IP– En ella ponemos las direcciones IP origen y destino para
que los routers intermedios puedan realizar su función• Es el caso típico de las redes privadas virtuales
Seguridad InformáticaGabriel Díaz Orueta
61
Seguridad InformáticaGabriel Díaz Orueta
62
• Protocolo KMP– Permite la administración y el intercambio
seguro de todas las claves involucradas en IPSec
– Proporciona también una autenticación básica entre extremos
• Basada en mecanismos HMAC con clave secreta
• O basada en certificados X.509, como parte de una PKI
– Funcionamiento definido en el estándar IKE (Internet Key Exchange), en el RFC 2409
Seguridad InformáticaGabriel Díaz Orueta
63
Seguridad InformáticaGabriel Díaz Orueta
64
¿Alguna pregunta?
Gabriel Díaz Orueta, Dpto. Ingeniería Eléctrica Electrónica y de Control
Seguridad InformáticaGabriel Díaz Orueta
65
Referencias • “Procesos y herramientas para la seguridad de redes”, G Díazy otros, ed. UNED, 2013.
• “Riesgo y seguridad de los Sistemas Informáticos”, Julián Marcelo Cocho, ed. Univ. Politécnica de Valencia, 2003.
• “Secrets and Lies”, Bruce Schneier, ed. John Wiley, 2000.
• “Designing Network Security”, Merike Kao, Cisco Press, 1999.
• “Security Engineering”, Ross Anderson, ed. John Wiley & Sons, 2001
• “