Post on 05-Jun-2020
1
Ingeniería de Seguridad en Sistemas Distribuidos
Eduardo JacobGrupo de Ingeniería Telemática
Dpto. Electrónica y Telecomunicaciones.
Edua
rdo
Jaco
b -©
200
1
Conceptos de Seguridad• Estudio de la seguridad de la información
desde tres puntos de vista:– Ataques a la seguridad de un sistema
• Acciones que comprometen la seguridad de la información de una empresa.
– Servicios• Servicios que se implantan para mejorar la
seguridad de la información y su transmísión.– Mecanismos de seguridad
• Mecanismos que están diseñados para detectar, impedir o recuperarse de ataques.
2
Edua
rdo
Jaco
b -©
200
1
Ataques a la seguridad• Una Clasificación
– Ataques pasivos• Se basan en la monitorización del sistema y van
contra la confidencialidad.• Son dificiles de detectar, por no realizar
modificaciones en el sistema. Es mejor tratar de prevenir el ataque que tratar de detectarlo.
– Divulgación de información: Se difunde la información obtenida. – Análisis de tráfico: Si la infórmación transcurre encriptada, se
puede obtener información de la frecuencia y distribución del tamaño de la misma.
Edua
rdo
Jaco
b -©
200
1
Ataques a la seguridad– Ataques activos:
• Implican la modificación, o inserción de elementos en el sistema: Características opuestas a los ataques pasivos.
– Usurpación de identidad: Se simula ser una entidad distinta con otros privilegios.
– Retransmisión: Se vuelven a transmitir secuencias de información, capturadas previamente con objeto de producir un efecto desautorizado.
– Modificación de mensajes: Se modifica parte de un mensaje legítimo.
– Denegación de servicio: Trata de impedir o de degradar el funcionamiento normal del sistema.
3
Edua
rdo
Jaco
b -©
200
1
ISO 7498-2, ISO X.800• Servicios de seguridad• Mecanismos de seguridad
– Específicos y Generalizados.• Técnicas criptográficas
– Funciones hash unidireccionales.– Criptografía de clave secreta (simétrica).– Criptografía de clave pública (asimétrica).– Sistemas de autenticación.– Distribución de claves.
Edua
rdo
Jaco
b -©
200
1
Servicios• OSI define 5 clases de servicios
– Autenticación.– Control de acceso.– Confidencialidad.– Integridad de datos.– No repudio.
4
Edua
rdo
Jaco
b -©
200
1
Autenticación• Entre entidades pares:
– Verificación de que la entidad par es quien dice ser.– Fases de establecimiento y transferencia de datos.
• Autenticación del origen de datos:– No proporciona protección frente a duplicación o
modificación.– Fase de transferencia de datos.
• Se emplea en tareas de:– Autorización (concesión de derechos).– Contabilidad (control de recursos).
Edua
rdo
Jaco
b -©
200
1
Control de acceso• Protección de recursos del sistema contra
utilización no autorizada.• Para realizar el control de acceso es preciso
identificarse autenticación.• Definición de perfiles y granularidad.
5
Edua
rdo
Jaco
b -©
200
1
Confidencialidad• Protección frente a revelaciones no
autorizadas.• Cuatro tipos:
– Orientado a conexión datos transmitidos durante una conexión.
– No orientado a conexión unidades de datos simples.
– De campo selectivo Campos específicos en una conexión o una unidad de datos
– Flujo de tráfico contra análisis de tráfico.
Edua
rdo
Jaco
b -©
200
1
Integridad de datos• Protección contra modificaciones no
autorizadas.• Cinco tipos:
– Orientado a conexión con recuperación.– Orientado a conexión sin recuperación.– No orientado a conexión.– De campo selectivo orientado a conexión.– De campo selectivo no orientado a conexión.
6
Edua
rdo
Jaco
b -©
200
1
No repudio• Protección contra posibles negaciones de
acciones realizadas (repudiación).• Dos tipos:
– Con prueba de origen al receptor se le garantiza el origen.
– Con prueba de destino al emisor se le garantiza la recepción en destino.
Edua
rdo
Jaco
b -©
200
1
Mecanismos (I)• Específicos: técnicas destinadas a facilitar
un servicio.• Generalizados: Pueden considerarse como
aspectos de gestión de seguridad (relacionados directamente con el nivel de seguridad requerido).
7
Edua
rdo
Jaco
b -©
200
1
Mecanismos Específicos• Cifrado.• Firma digital.• Control de acceso.• Integridad.• Intercambio de autenticación.• Relleno de tráfico.• Control de encaminamiento.• Certificación.
Edua
rdo
Jaco
b -©
200
1
Mecanismos Generalizados• Confianza.• Etiquetas de seguridad.• Detección.• Recuperación.
8
Edua
rdo
Jaco
b -©
200
1
Introducción a la Criptografía
• Fundamentos de Criptografía– Necesaria para implementar los mecanismos de
seguridad presentados anteriormente.– Se verá:
• Introducción• Breve historia• Componentes• Algoritmos
Edua
rdo
Jaco
b -©
200
1
Historia• Desde antiguo
– Mucha seguridad por obscuridad– Ventaja estratégica en política en la Edad Media.
• En la modernidad: 1 hito fundamental– Hasta los 60: Solo se conoce la criptografía de clave
secreta o simétrica.– A partir de los 60: Aparece la criptografía de clave
pública/privada o asimétrica.
9
Edua
rdo
Jaco
b -©
200
1
Historia• Criptología: Disciplina compuesta de:
– Criptografía: Diseñar criptosistemas que utilizan problemas de solución difícil para dar funcionalidades de seguridad.
– Criptoanálisis: Estudiar las debilidades de los criptosistemas para encontrar soluciones a los problemas empleados en criptografía.
Edua
rdo
Jaco
b -©
200
1
Historia• La criptografía Clásica (simétrica) basada
en:– Transposición
• Cambiar posición de caracteres del mensaje.– hola h l o a
• Ejemplo de la cinta enrollada.– Substitución
• Cambiar una letra por otra.– hola e p m b
• Infinidad de variantes.
10
Edua
rdo
Jaco
b -©
200
1
HistoriaMétodos de substitución
Monoalfabéticos: utilizan un solo alfabeto.Monográmicos: efectúan el cifrado carácter a carácter.
Alfabeto estándar: César.
Alfabetos mixtos: poniendo modificar el alfabeto de símbolos que se utilizan para la transmisión del mensaje.
Poligrámicos: efectúan el cifrado por grupos de caracteres.Digrámicos: cifrado en grupos de dos caracteres.
Trigrámica: cifrado en grupos de tres caracteres.
…..
Poligrámicos : libros de código.
Polialfabéticos: utilizan varios alfabetos.No periódicos. Claves de cifrado no periódicas
Periódicos: claves de cifrado periódicas.Alfabetos lineales: estándar.
Alfabetos progresivos: ENIGMA.
Edua
rdo
Jaco
b -©
200
1
Introducción• Principios Clave de la criptografía moderna
– Toda la seguridad reside en la clave:• No en el algoritmo• No en el texto cifrado
– Hay que huir de la “seguridad por la obscuridad”.– En criptografía, no conviene ser “creativo”.– Principio: Donde va la gente, va Vicente...
• Claro, que no vale cualquier gente...
11
Edua
rdo
Jaco
b -©
200
1
Introducción• Estilo a emplear:
– Definiremos un criptosistema como un conjunto de cinco elementos (M, C, K, E, D), donde :
M representa el conjunto de todos los mensajes sin cifrar ( lo que se denomina texto plano, o plaintext) que pueden ser enviados.
C representa el conjunto de todos los posibles mensajes cifrados, o criptogramas.
K representa el conjunto de claves que se pueden emplear en el criptosistema.
E es el conjunto de transformaciones de cifrado o familia de funciones que se aplica a cada elemento de M para obtener un elemento de C. Existe una transformación diferente Ek para cada valor posible de la clave k.
D es el conjunto de transformaciones de descifrado, análogo a E.
– En todo criptosistema ha de cumplir la siguiente condición:
Dk{Ek’{m}}=m
Edua
rdo
Jaco
b -©
200
1
Componentes• Los bloques maestros son:
– Funciones de resumen criptográfico– Algoritmos de encriptación
• De clave secreta o simétrica.• De clave pública y privada o asimétrica.
– Generadores de números aleatorios
12
Edua
rdo
Jaco
b -©
200
1
Resumen Criptográfico
Edua
rdo
Jaco
b -©
200
1
Resumen Criptográfico• Funciones de Hash
– Son funciones que devuelven un resumen, por ejemplo 128 bits a partir de una secuencia de entrada de n bytes, de tal manera que no es posible a partir del resumen, obtener un texto que conduzca a ese resultado.
13
Edua
rdo
Jaco
b -©
200
1
Resumen Criptográfico• Características
– No se puede deducir la entrada a partir de la salida– No se puede generar una salida determinada (no
como el CRC)– No se puede encontrar 2 entradas que den la misma
salida.• Usos
– Generación de resúmenes de tamaño fijo de mensajes.
– Detección de modificaciones– Transformar “palabras de paso” en claves de
longitud fija.
Edua
rdo
Jaco
b -©
200
1
Resumen Criptográfico• Funciones de Hash en uso.
– MD2: 128 bits, – MD4: 128 bits, rota, en desuso.– MD5: 128 bits, con debilidades.– SHA-1: Secure Hash Algorithm. Producido por el
NIST y NSA como estándares para la administración americana: 160 bits de resumen. Uso en DSA.
– RIPEMD-160: 160-bit output
14
Edua
rdo
Jaco
b -©
200
1
Criptografía Simétrica
Edua
rdo
Jaco
b -©
200
1
Criptografía simétrica• De la clave de encriptación se puede obtener la clave de
desencriptación. En general eso hace que haya una sola clave para las dos operaciones.
M=DK’{EK{M}} donde K’=f(K) siendo f() conocida
15
Edua
rdo
Jaco
b -©
200
1
Criptografía simétrica• 4 bits: 24 = 16 pruebas
por fuerza bruta• Influencia de la
longitud de la clave
22.020.985.858.787.784.059 (264) años
128 bits
336.013.578.167.538 (248) años
112 bits5.127.160.311 (232) años96 bits
78.250 (216) años80 bits305 años72 bits14 meses64 bits40 horas56 bits
9 minutos48 bits2 segundos40 bits
Tiempo necesario para romper la clave
Longitud de la clave
10.000.000.000 (1010 = 234) añosEdad del planeta
100.000.000.000 (1011 = 237) añosEdad del universo
Valores de tiempo con números grandes
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica
16
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica
• Algoritmos de clave asimétrica– Hay dos claves una para encriptar y otra para
desencriptar.– Conocida K, es imposible obtener K’.– Tratan de buscar y utilizar funciones de un solo
sentido: fáciles de realizar en un sentido, difíciles en sentido contrario..
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica• Hay varios algoritmos
Algoritmo Encriptación/Desencripta.
Firma Digital Intercambio declaves
RSA Si (Lento) Si SiLUC Si (Lento) Si SiDSS No Si NoDiffie-Hellman No No Si
• RSA es probablemente el más usado• Diffie-Helman se usa para establecimiento de
claves• Los criptosistemas de clave elíptica son una
alternativa al uso de la exponenciación.• LUC es la esperanza (muy rápido)
17
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica• RSA:
– Rivest-Shamir-Adleman, 1977– Un algoritmo para encriptar y firmar– Clave privada = firma y desencripta– Clave pública = comprueba firma y encripta– Patente expirada en Septiembre del 2000– Utiliza el problema difícil de resolver de la
factorización de grandes números.
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica• Funcionamiento
Buscamos 2 números enteros positivos grandes P y QHallamos X=(P-1)(Q-1)Buscamos un número E tal que
Es primo relativo de XNo es múltiplo de XVerifica *
Calculamos N= P x QEA = N,EPara buscar DA
Calculamos D tal quemod (D x E, X) = 1 *
DA = N, D
• EjemploP = 5 y Q = 17X= (5-1)(17-1) = 64
E = 5
N = 5 x 17 = 85EA = 85,5
mod (D x 5 / 64) =1 → D = 43
DA = 85, 43
18
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica• Funcionamiento
Encriptación de MC = mod (ME,N)
Desencriptación
M = mod (CD, N)
TRUCOC = mod (ME,N)
• EjemploM=19, EA = 85,3 ,DA = 85, 43
C= mod(193, 85) = 59
M= mod(5943,85) = 19
C:=1begin for I=1 to E do
C:= mod(C x M,N)end
Claro, que 5943, tiene 77 cifras...
→
Edua
rdo
Jaco
b -©
200
1
Precauciones
• Hay que escoger n con cuidad, p y q no deben ser demasiado cercanos, porque sino n es relativamente sencillo de factorizar.
• La factorización de n no es el único ataque posible, hay otros y más eficaces.
19
Edua
rdo
Jaco
b -©
200
1
Empleo de RSA Usuario A: EA y DA
Usuario B: EB y DB
Son públicas: EA y EB
Son privadas: DA y DB
Propiedad fundamental: EA { DA {M}} = DA { EA {M}} = M
Edua
rdo
Jaco
b -©
200
1
Encriptación con RSA Si queremos que A encripte M para B
A envía a B: EB{M} A la recepción B realiza DB{EB{M}} = M
Como la encriptación RSA es lenta, se suele emplear un método mixto: Se emplea una clave aleatoria simétrica de sesión que es encriptada luego con criptografía asimétrica. Se manda EK{M}+EB{K}
DesencriptaciónEncriptación
20
Edua
rdo
Jaco
b -©
200
1
Firma Digital con RSASi queremos que A autentifique M y que cualquiera lo pueda comprobar.
A emite M+ DA{H(M)}Donde H() es una función de Hash criptográfico
Edua
rdo
Jaco
b -©
200
1
Firma Digital RSA VerificaciónVerificación de la firma digitalCualquiera que tenga la clave pública de A, EA puede comprobar el mensaje asi:
de M obtiene H(M)comprueba la firma EA{DA{H(M)}} = H(M)
Si los dos valores de H(M) son iguales, el mensaje no ha sido modificado y es de quien dice ser.
21
Edua
rdo
Jaco
b -©
200
1
Firma y encriptación RSA
Si A quiere encriptar para B y firmar además el mensaje:
A emite EB{M+ DA{H(M)}}A la recepción B lo desencripta con su privada (la de B)DB{EB{M+ DA{H(M)}}} = M+ DA{H(M)}Y comprueba la firma con la pública de A:
de M obtiene H(M)comprueba la firma EA{DA{H(M)}} = H(M)
Edua
rdo
Jaco
b -©
200
1
Resistencia a la factorización
22
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica• Algoritmos basados en Curvas Elípticas
– Alternativa a RSA– (De momento..)
• Más difícil de romper que RSA• Longitud en bits de claves menores• Mucho más rápidos
– Interesantes para:• Sistemas de cifrado de alta velocidad• Adecuado para Criptotarjetas
– Inconvenientes• Tecnología nueva (todavía no hay mucha experiencia)• Campo para patentes, patentes submarinas... Etc.
Edua
rdo
Jaco
b -©
200
1
Equivalencias
Convencional RSA ECC(40 bits) 56 bits (400 bits)64 bits 512 bits80 bits 768 bits90 bits 1024 bits 160 bits112 bits 1792 bits 195 bits120 bits 2048 bits 210 bits128 bits 2304 bits 256 bits
Equivalencia entre longitudes de clave
23
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica• Diffie-Hellman
– Basado en la dificultad de calcular logaritmos discretos en un campo finito, frente a la sencillez de cálculo de la exponenciación en el mismo campo.
– Es fácil obtener mod(MN, L), pero es difícil a partir del resultado obtener N
Edua
rdo
Jaco
b -©
200
1
Diffie-Hellman• Basada en lo visto: mod(YX,P) con Y y P
preescogido• Ejemplo:
• Y=7, P=11– A escoge a a=3– A calcula α=mod(Ya,P) α=mod(7a,11)=mod(73,11)=2– A envía α a B– B escoge b b=6– B calcula β=mod(Yb,P) β=mod(7b,11)=mod(76,11)=4– B envía β a A
• Curiosamente...– A calcula k=mod(βa,P) k=mod(βa,11)=mod(43,11)=9– B calcula k= mod(αb,P) k=mod(αb,11)=mod(26,11)=9
• No se obtiene k conociendo Y,P, α y β
24
Edua
rdo
Jaco
b -©
200
1
Criptografía Asimétrica• Firma ciega
– Persigue que B, firme un mensaje M de A pero sin que B obtenga copia del mensaje M.
– Se necesita• Algoritmo de firma para B: SB(M)• Algoritmo de blindado y desblindado f() y g() tal que:
g((SB(f(M))))=SB(M)– A envía f(M) y envía a B– B computa SB(f(M)) y lo envía a A– A computa g(SB(f(M)))=SB(M)
– Interesante para• Sistemas notariales• Dinero electrónico (asegura anonimato en gasto)
Edua
rdo
Jaco
b -©
200
1
Generación de Nos aleatorios• El generador debe ser de calidad
criptográfica.• A ser posible debe estar basado en hard-
ware, o en su defecto extraer bits del hardware del sistema local (para tratar de evitar que se puedan adivinar)– Movimientos del ratón.– Tiempo entre pulsaciones de teclado.– Movimientos del controlador del disco– Temporización de datos que llega por la red...
• Hay sistemas que tienen dispositivo:– /dev/random
25
Edua
rdo
Jaco
b -©
200
1
Utilización de algoritmos• Los bloques vistos se emplean de varias
maneras. Veremos con más detalle:– Códigos MAC– Métodos de cifrados
• En flujo• En Bloque
Edua
rdo
Jaco
b -©
200
1
Códigos MAC
Código de Autenticación de Mensaje
26
Edua
rdo
Jaco
b -©
200
1
MAC• Generación
– Función Hash + clave, para hacer que sea dependiente de la clave.
– Forma común: HMAC (Hash MAC)HMACK= H[(K+ ⊕ opad) || H(K+ ⊕ ipad) || M]
– Donde H es la función de hash.– M es el mensaje– K es la clave original– K+ es la clave original con 0 a la izda hasta totalizar el bloque que
requiere la función de hash (512 bits para MD5 y SHA-1)– ipad= 00110110 (0x36) repetido 64 veces (512 bits)– opad= 01011100 (0x5C) repetido 64 veces (512 bits)– La clave afecta al proceso al principio y al final.
– Se nombran = HMAC-hash-número de bits que se usan (los primeros)
– MD5 → HMAC-MD5-96 (96 primeros bits de HMAC-MD5)
Edua
rdo
Jaco
b -©
200
1
Métodos de Cifrado• En flujo
– Podemos pensar en una XOR de bit de Mensaje y Clave.
– Si la clave es aleatoria, de la misma longitud que el mensaje y no se reutiliza: Único cifrado seguro: Vernam (poco práctico: Teléfono Rojo)
– Se usa un generador pseudoaleatorio inicializado por la clave.
– Un ejemplo: RC4
27
Edua
rdo
Jaco
b -©
200
1
Pegas de cifrado en flujoCon dos componentes de 3 (Mensaje, Cifra, Clave), se recupera el terceroAtaque de “bit-flipping”
Edua
rdo
Jaco
b -©
200
1
Métodos de Cifrado
• En bloque– Se cifran bloques: Se define tamaño de bloque
y de clave.– Cifrado de Feistel: Inventado por IBM
28
Edua
rdo
Jaco
b -©
200
1
Cifrado de Bloque• Donde
– f() no tiene porqué ser reversible.– Cada iteración se denomina vuelta (round)– DES tiene 16 vueltas, clave de 56 bits y bloque de 64
bits (8 bytes: 4 bytes para R y 4 bytes para L)– Lo realiza IBM, “ayudado” por la NSA.– Basados en cajas S y cajas P (cambiando las cajas S,
se pueden generar DES a medida)
Edua
rdo
Jaco
b -©
200
1
Ataques a DES
• Criptoanálisis Diferencial (DES lo era resistente a esta técnica antes de que la hubieran inventado...)– Busca correlaciones entre la entrada y salida de f().– Se reducen las pruebas a 247
• Criptoanálisis Lineal– Busca correlaciones la clave y entrada/salida de cifra– Se reducen las pruebas a 243
• Criptoanálisis de claves– Busca correlaciones entre cambios de clave
• Fuerza Bruta (el único realizable/realizado)– 256 Pruebas
29
Edua
rdo
Jaco
b -©
200
1
Ataques a DES• Una ONG, hizo una máquina para romperlo
en 2,5 días...• Considerado no apropiado en muchos
países.
Edua
rdo
Jaco
b -©
200
1
Otros algoritmos• Triple DES
– Como DES no es un grupo algebraico– EK1{EK2{M}}≠EK3{M} ∀ K1, K2, K3
– Se encripta, desencripta y encripta con 2 o 3 claves:– EK1{DK2 {EK1{M}}} (112 bits)– EK1{DK2 {EK3{M}}} (168 bits)
• RC2– 1024 bits– Propietario de RSA. Puesto en Internet en fuente.
30
Edua
rdo
Jaco
b -©
200
1
Otros algoritmos• IDEA
– 128 bits– Patentado: ASCOM Tech AG– Resistente a criptoanálisis diferencial
• Blowfish– 448 bits– Adaptado a procesadores de 32 bits
Edua
rdo
Jaco
b -©
200
1
Otros algoritmos• AES (Advanced Encryption Standard)
– Estándar Americano– Elegido por procedimiento público (en propuestas y
en selección)– Se ha seleccionado Rijndael (Flamenco, .be)– Bloques y claves de 128, 192 y 256 bits.– Eficiente en software y hardware.
31
Edua
rdo
Jaco
b -©
200
1
Longitud de clave simétricaTiene que estar adaptada a la naturaleza de los datos y su vida útil.
Tipo de tráfico Tiempo de vida Longitud mínima de la claveInformación militar táctica Minutos/ horas 56-64 bitsDatos de interés, recuentos,… Días / semanas 64 bitsPlanes comerciales a largo plazo Años 64 bitsSecretos comerciales Décadas 112 bitsEl secreto de la bomba atómica Más de 40 años 128 bitsIdentidades de espías Más de 50 años 128 bitsPersonal sospechoso Más de 50 años 128 bitsCompromisos diplomáticos Más de 65 años Como mínimo 128 bitsDatos de censo Más de 100 años Como mínimo 128 bits
Edua
rdo
Jaco
b -©
200
1
Uso de cifradores de bloque
• Libro Electrónico de Códigos: – ECB: Electronic Code Book
32
Edua
rdo
Jaco
b -©
200
1
ECB– Inseguro:
• Bloques idénticos se encriptan igual.• Ataques de recorta y pega.
• Sirve para almacenamiento R/W encriptado.
Edua
rdo
Jaco
b -©
200
1
• Encadenamiento de Bloques Cifrados– CBC: Cipher Block Chaining
Uso de cifradores de bloque
33
Edua
rdo
Jaco
b -©
200
1
CBC– Se aleatoriza con el Vector de inicialización
(IV)– El IV no tiene por qué ser secreto. Sí integro.– Un bit de error en la cifra genera 2 bloques
(16 bytes en DES) erróneos.– Es autosincronizante: Después de un error en
la cifra, se vuelve a recuperar correctamente el mensaje después de 2 bloques.
– No se puede utilizar para almacenamiento R/W encriptado, porque un cambio en el mensaje modifica todo la cifra.
Edua
rdo
Jaco
b -©
200
1• Realimentación de texto cifrado
– CFB: Ciphertext Feedback
Uso de cifradores de bloque
34
Edua
rdo
Jaco
b -©
200
1
CFB– Se aleatoriza con el Vector de inicialización (IV)– El IV no tiene por qué ser secreto. Sí integro.– Un bit de error en la cifra genera 1 bloques (8
bytes en DES) erróneos.– Es autosincronizante: Después de un error en la
cifra (incluso pérdida de bloques), se vuelve a recuperar correctamente el mensaje después de 2 bloques.
– No se puede utilizar para almacenamiento R/W encriptado, porque un cambio en el mensaje modifica todo la cifra.
– Se puede modificar para que sea cifrador de flujo.
Edua
rdo
Jaco
b -©
200
1• Realimentación de Salida
– OFB: Output Feeback
Uso de cifradores de bloque
35
Edua
rdo
Jaco
b -©
200
1
OFB
– Se aleatoriza con el Vector de inicialización (IV)
– El IV ahora tiene que ser secreto: Esto dobla el tamaño de la clave.
– No propaga errores, pero no soporta pérdida de bloques.
– Se puede modificar para que sea cifrador de flujo
Edua
rdo
Jaco
b -©
200
1
Conclusiones• Hay herramientas (bloques básicos)
disponibles comercialmente y “free”.• Con estos bloques se crean los protocolos
criptográficos.• No hay que innovar a la hora de crear
bloques (y en la medida de lo posible, tampoco en los protocolos).
36
Edua
rdo
Jaco
b -©
200
1
Seguridad en capasCada capa tiene sus propios protocolos
Edua
rdo
Jaco
b -©
200
1
Temario• Modelo de Seguridad de Interred
– Nivel de Red• IPSEC
– Nivel de Transporte• SSL/TLS
– Aplicaciones• Distribución de claves
– X.509– Kerberos– Telaraña de confianza PGP
• Correo Seguro– PGP– S/MIME
37
Edua
rdo
Jaco
b -©
200
1
Temario• Modelo de Seguridad de Acceso a Red
– Routers Filtrantes– Gateway de Aplicación– Gateway de Circuito
Edua
rdo
Jaco
b -©
200
1
IPSEC• IPSEC: IP Security
– Seguridad a Nivel de IP– Proporciona autenticación y encriptación extremo a
extremo (o cortafuegos a cortafuegos)– Base estandarizada e interoperable para VPN.
• Hay otros productos: PPTP, LTP, SWIPE, CIPE...– Es requerida por IPv6– Dos partes
• Gestión de Claves IPSEC• Autenticación y encriptación IPSEC
38
Edua
rdo
Jaco
b -©
200
1
IPSEC Gestión de Claves• La gestión de claves establece una Asocia-
ción de Seguridad (SA) para una sesión.– La SA se utiliza para dar autenticación y
encriptación.– Los SA se establecen
de host a host.– Se la referencia por
un SPI, índice– Se compone de datos
que definen losparámetros de seguridad
– Identificados por SPI, IP Destino, Identificador de protocol: AH o ESP.
Edua
rdo
Jaco
b -©
200
1
Parámetros de una SA• Contador de secuencia: (en cabeceras)• Overflow en contador: Actuación de defecto• Ventana anti-repetición• Información de AH (cabecera de autenticación)
– Algoritmos de autenticación, claves e IV– Tiempo de vida de claves.
• Información de ESP (Encapsulado de seguridad de carga útil)– Algoritmos de autenticación y encriptación, claves e IV– Tiempo de vida de claves
• Tiempo de Vida de esta asociación• Modo de protocolo IPSEC
– Túnel– Transporte– Todos
• MTU del camino
39
Edua
rdo
Jaco
b -©
200
1
Selectores de SA• Se utiliza para decidir en función de las cabeceras del
paquete que SA hay que utilizar. Está compuesto por:– IP Destino: Única o lista/máscara de red (SA compartida)– IP Origen: Única o lista/máscara de red. (SA compartida)– ID de usuario: Disponible si IPSEC es nativo– Nivel de Sensibilidad de datos: Para sistemas multinivel.– Protocolo de transporte: Protocolo de IPv4 o siguiente– Protocolo IPSEC: AH, ESP o AH/ESP– Puertos Origen y Destino– Clase IPv6– Etiqueta de flujo IPv6– Tipo de Servicio (TOS) IPv4
Edua
rdo
Jaco
b -©
200
1
Modos de Protocolo IPSEC• Modo Transporte
– Autentica extremo a extremo, habitualmente cliente y servidor.
– Se usa una SA de tipo Transporte– Se autentica todo el datagrama (excepto datos mutables), se
inserta la AH entre cabecera IP y carga IP• Modo Túnel
– Se autentica un cliente frente a un servidor (firewall) que permite el acceso a diversos clientes que no tienen IPSEC o una VPN entre dos cortafuegos.
– Se una una SA de tipo Túnel– Se autentica el datagrama IP completo, se inserta la AH (que
autentica el nuevo datagrama excepto campos mutables: CRC y TTL) entre la nueva cabecera IP y el datagrama IP encapsulado.
40
Edua
rdo
Jaco
b -©
200
1
Modos de Protocolo
Edua
rdo
Jaco
b -©
200
1
Cabecera AH• Situación de la cabecera AH
41
Edua
rdo
Jaco
b -©
200
1
Cabecera AH• Formato de la cabecera
Tipo de cabecera que sigue a esta cabecera, Longitud de la cabecera AH en palabras de 32 bits - 2, Espacio reservado, Índice SPI, númerode Secuencia, campo de longitud variable número entero de palabrasde 32 bits que contiene el ICV o MAC de este paquete (HMAC-MD5-96 o HMAC-SHA-1-96, tiene que ser número entero de palabras de 32 bits)
Edua
rdo
Jaco
b -©
200
1
Cabecera ESP• Situación de la cabecera
42
Edua
rdo
Jaco
b -©
200
1
Cabecera ESP• Formato de la cabecera
Identificación de una SPI, contador de secuencia, segmento de trasporte o datagrama IP completo, relleno (para obtener nº entero de bloques, situación de los siguientes bloques en fronteras de 32 bits), nº de bytes de relleno, identificación del dato siguiente (protocolo TCP, etc...)
Edua
rdo
Jaco
b -©
200
1
Algoritmos empleados• 3DES• Blowfish• CAST-128• IDEA• RC5• Triple IDEA (!!!)
43
Edua
rdo
Jaco
b -©
200
1
Intercambio de claves Un entorno con dos componentes• ISAKMP
– Internet Security Association and Key ManagementProtocol
• Es el procedimiento genérico para permitir el intercambio de parámetros de seguridad, e información de identidades y gestión de claves.
– Dos fases:• SA: Establecimiento de canal seguro y autenticado• KMP: Negociación de parámetros.
Edua
rdo
Jaco
b -©
200
1
Intercambio de claves• Una vez intercambiados los datos:
– Oakley es un intercambio de claves basado en Diffie-Helmann, pero mejorado para eliminar deficiencias del anterior. Es obligatorio. Añade:
• Resistencia a repeticiones, ataques de hombre en medio y de denegación de servicio
• Permite negociación de los parámetros DH– SKIP desarrollado por SUN en Moscú. Cada máquina
dispone de una valor DH autenticado por PGP, X.509 o DNS seguro.
– Photuris es un sistema basado en Firefly, el algoritmo diseñado por la NSA para la utilización en los teléfonos seguros STU-III.
44
Edua
rdo
Jaco
b -©
200
1
SSL 3.0 - TLS• SSL: Secure Sockets Layer
– Capa segura de sockets: Encriptación a nivel de socket.
– Puede autenticar cliente y servidor, normalmente autentica solo servidor.
– Hay además encriptación e integridad.– Proporciona seguridad extremo a extremo.
Edua
rdo
Jaco
b -©
200
1
Historia• SSL 1.0 por Netscape, roto mientras se
presentaba en público• SSL 2.0 con Netscape 2.0
– Microsoft contraataca con PCT (no compatible)• SSL 3.0 revisado públicamente
– Propuesto para estandar IETF– El estándar será el TLS: Transport Layer Security y
se identificará como SSL 3.1
45
Edua
rdo
Jaco
b -©
200
1
Intercambio SSL• Pasos genéricos
– Negociar parámetros criptográficos.– Establecer una clave de sesión compartida.– Autenticar el servidor (opcional).– Autenticar el cliente (opcional).– Autenticar los datos intercambiados anteriormente.
Edua
rdo
Jaco
b -©
200
1
Intercambio SSL: ResumenCliente ServidorHello →
← Hello +certificado opcional
Intercambio clave cliente →Cambio algoritmo + →MAC de datos previos.
← Cambio algoritmo + MAC de datos previos.
Sesión segura ↔ Sesión segura
46
Edua
rdo
Jaco
b -©
200
1
Intercambio SSLClient hello:
– Testigo de cliente– Algoritmos disponibles (ej. RSA + RC4/40 + MD5)
Server hello:– Testigo de servidor– Algoritmos seleccionados
El servidor se adapta al cliente.Intercambio opcional de certificados para
autenticar servidor y cliente, en la práctica, sólo se usa autenticación de servidor.
Edua
rdo
Jaco
b -©
200
1
Intercambio SSLIntercambio de clave de cliente:
– Encriptado con Cert RSA de servidor( clave pre-maestra )
En ambos lados:– Clave maestra de 48-byte = hash( pre-maestra +
testigo-de-cliente + testigo-de-servidor )Cambio de algoritmos por cliente y servidor:
– Cambio al conjunto de algoritmos seleccionados y claves.
47
Edua
rdo
Jaco
b -©
200
1
Intercambio SSLPaso final para cliente y servidor
– MAC de todos los mensajes intercambiados anteriormente:
• (autentica los datos del Hello y resto de intercambios)– Utiliza una versión antigua de HMAC (TLS utiliza la
estándar)
Edua
rdo
Jaco
b -©
200
1
Intercambio de Datos• Los datos se fragmentan y envían
comprimidos, autenticados y encriptados
48
Edua
rdo
Jaco
b -©
200
1
SSL en operación• En principio puede proteger cualquier
intercambio TCP: – HTTP, SMTP, NNTP,POP3, FTP.
• Solo se suele usar para HTTP• Suele estar integrado en el navegador• Muy intensivo en CPU
– Un NT con Pentium 200: unas 12 sesiones concurrentes
– Se usan coprocesadores o servidores múltiples.
Edua
rdo
Jaco
b -©
200
1
Gestión de claves
Uno de los problemas de los sistemas distribuidos:
49
Edua
rdo
Jaco
b -©
200
1
Gestión de claves• Dos clases de claves
– Vida Corta o efímeras• Generadas de manera automática e invisible.• Se utilizan una sola vez, para una sesión o mensaje.
– Vida Larga o duraderas• Generadas explicitamente por el usuario• Utilizadas para:
– Autenticación (control de acceso, integridad, no repudio)– Confidencialidad
» Establecer claves de sesión» Proteger datos almacenados.
Edua
rdo
Jaco
b -©
200
1
Problemas• Certificación de las claves• Distribución de claves
– Obtención de la clave pública de otros– Distribución de la propia clave pública
• Establecimiento de un secreto compartido– Confidencialidad: ¿Sólo lo conoce la otra parte?– Autenticación: ¿Se la hemos dado al interesado real?
• Almacenamiento de claves– Almacenamiento seguro de claves: Las privadas suelen ir
encriptadas en el soporte (disco duro) con una encriptación simétrica. O se utilizan dispositivos especiales: tarjetas, etc.
• Revocación– Revocación de claves publicadas– Determinación de la validez de una clave.
50
Edua
rdo
Jaco
b -©
200
1
Ciclo de vida de claves• Claves de autenticación
– Las públicas pueden tener una vida muy larga (solo sirven para comprobar) (décadas)
– Las privadas/secretas deberían tener una vida más corta (un año o dos)
• Claves de encriptación– Deberían tener la vida más corta posible ya que la
pérdida ocasionada por una pérdida de clave es mayor cuanto más tiempo se ha utilizado.
Edua
rdo
Jaco
b -©
200
1
Vidas de Claves• Claves para intercambios confidenciales
– Ks: copias de seguridad para recuperación (¿custodiadas?)
• Claves para firmas (integridad + identidad)– Ks: jamás se copia; no importa que se pierda
51
Edua
rdo
Jaco
b -©
200
1
Ciclo de Vida de claves• Ejemplo
– Documento firmado a principios 2001– Clave privada válida para 10 años– Se define la validez de una firma de 25 años– El certificado debe renovarse cada año por un año.– Nota: el último certificado (comprueba firma, expira en 2035)
Edua
rdo
Jaco
b -©
200
1
Ciclo de Vida de claves.• Clave privada es
comprometida– En 2002 la privada es
comprometida.– Se pone el certificado en
la CRL– Se renueva el certificado
comprometido con vigencia hasta el 2027
– Se expide un nuevo certificado. Hay que saber cuando se compruebe una forma si la firma es anterior a la aparición en la CRL
52
Edua
rdo
Jaco
b -©
200
1
Compromiso de claves• Si se compromete (roba) la clave?
– Debería revocarse lo más rápidamente posible.
• ¿Cuales son los efectos de un compromiso de clave?– Autenticación: Los documentos firmados son inválidos a no
ser que estén dotados de marcas de tiempo.– Encriptación: Todos los datos encriptados con la dicha clave
están comprometidos.
Edua
rdo
Jaco
b -©
200
1
Ataque de hombre en medio• Se da en intercambios de claves públicas o
privadas sobre canales no protegidos.
Mallet se introduce en medio recibe pública de Alice y envía su pública a Bob. Así desencripta lo que manda Bob y reencripta a Alice.
53
Edua
rdo
Jaco
b -©
200
1
Solución: Certificación• Se emplea la certificación• Una autoridad certificadora firma con su clave privada la
pública de Alice.• Bob puede comprobar la firma de la clave pública de A.• Mallet no puede conseguir que la AC le firme una clave
suya que diga que es de Alice.
Edua
rdo
Jaco
b -©
200
1
Función de una CA• Recibir clave pública generada por el solicitante • Asegurarse de la identidad del solicitante• Asegurarse de que el solicitante realmente posee la pareja de claves
privada/pública (clave firmada por propietario)• Firmar la clave pública del solicitante• Publicar la clave pública• Pasos de la CA
• Alice debería asegurarse de que la AC no ha modificado su clave pública (y publicarla también)
• NOTA: Es posible que la AC genere la pareja privada/pública y destruya la privada o se quede con una copia (empresas...)
54
Edua
rdo
Jaco
b -©
200
1
Relación entre AC• Lo ideal es una relación jerárquica entre AC
• La realidad es más dura y suele haber certificaciones cruzadas
Edua
rdo
Jaco
b -©
200
1
Certificaciones cruzadas• ¿Cómo se establecen relaciones de confianza entre
sujetos certificados por distintas AC?
55
Edua
rdo
Jaco
b -©
200
1
Infraestructura genérica de PKI
Edua
rdo
Jaco
b -©
200
1
Infraestructura genérica• Autoridad Certificadora (CA en inglés)
– Firma los certificados – Genera los CRL– En caso de que no haya RA separada, sus funciones.
• Entidad de Registro (RA en inglés?– Entidad de confianza para su AC– Puede realizar tareas de gestión en provecho de la AC
• Verificar identidades, generar pares de claves, reportar certificados caducados o revocados...
• Almacén de Certificados– Repositorio de Certificados: X.500 y DSA, o LDAP (+ común), o
soluciones adhoc: http/ftp.
56
Edua
rdo
Jaco
b -©
200
1
Historia de X.509• Certificados originalmente diseñados para
proteger el acceso al directorio X.500• En X.500 aparece en concepto de “nombre
distinguido”
• Fuente de problemas...
Edua
rdo
Jaco
b -©
200
1
X.509v3• La versión actual es la 3: X.509v3
– Además del nombre DN, se da la posibilidad de usar otros nombres.
• Direcciones email• Nombres DNS• URL’s• Direcciones IP• Nombre EDI y X.400• Cualquier otra cosa (parejas tipo+valor)
– Se añaden extensiones: Se permite añadir información a los certificados sin tener que rehacer cada vez el estándar.
57
Edua
rdo
Jaco
b -©
200
1
Certificado X.509 v3• Formato: Campos definidos en ASN.1
Versión: 3
Número de serie único
Identificador de AC
Nombre X.500 de AC
Validez
Nombre X.500 de propietario de clave pública
Clave pública de propietario del certificado: Algoritmos y valores.
Identificadores únicos de AC y de propietario
Extensiones
Firma
Edua
rdo
Jaco
b -©
200
1
Extensiones• Formato
– Lista formada por tripletas• Tipo de extensión / Criticidad / Valor
– Tres grupos para de extensiones para certificados– Información de la política y de la clave.
– Atributos del emisor y del sujeto.
– Limitaciones del camino de certificación.
– Un grupo para extensiones de CRL
– Si el software no es capaz de tratar una extensión con bit de criticidad, debe rechazar el certificado.
– Puede ser obligatorios o optativos.
58
Edua
rdo
Jaco
b -©
200
1
Extensiones en certificados• Las extensiones de los atributos del emisor y sujeto
– Identificador de la clave de la autoridad: (si la AC tiene diversas claves de firma)
– Identificador de la clave del sujeto: (Si el sujeto tiene diversas claves)
– Uso de la clave: (firma, encriptación de datos, encriptación de claves, etc...)
– Período de uso de la clave privada (Correspondiente para aplicaciones de firma)
– Políticas del certificado: (Identificación de la política o prácticas asociada al cert.)
– Mapeo de la política: (Para equivalencias de políticas en cert. cruzados)
• Las extensiones de los atributos del emisor y sujeto– Nombre de sujeto alternativo:(permite diversos nombres para aplicaciones
distin.)
– Nombre alternativo del emisor: (permite diversos nombres)
– Atributos del directorio del sujeto:(atributos del directorio)
Edua
rdo
Jaco
b -©
200
1
Extensiones en certificados• La extensión de las limitaciones del camino de certificación
– Limitaciones básicas:(puede este certificado ser usado para certificar otros certificados?)
– Limitaciones de nombres: (restringe los nombres que pueden formar parte del camino de certificación)
– Limitaciones de política:(define un conjunto de limitaciones en lo referente a la identificación de la política del certificado y gestión de la misma)
59
Edua
rdo
Jaco
b -©
200
1
CRL X.509 v2• Formato de Lista de Certificados revocados
Versión: 2Identificador de Algoritmo de forma de ACNombre X.500 de ACFecha y hora de esta actualizaciónFecha y hora de la siguiente actualización
Número de serie de CertificadoFecha de revocaciónExtensiones de la entrada
Extensiones de la CRL
Firma
Edua
rdo
Jaco
b -©
200
1
Difusión de CRL• Modelo “push”• Modelo “pull”• Para reducir tamaños de CRL
– Se puede partir la CRL en varios “puntos de distribución”
– Se pueden mandar “delta CRL”, incrementos respecto a anterior.
– CRL indirecta, generada por otra AC distinta...
60
Edua
rdo
Jaco
b -©
200
1
Empleo de CRL• Antes de usar un certificado X.509 hay que
comprobar su validez en la CRL de la AC (que tendríamos que tener siempre disponible en la aplicación)
• No es práctico– Lento– Propenso a ataques de denegación de servicio.– Difícil de implementar.
• Alternativas– Online Certificate Status Protocol (OCSP), se pregunta en
tiempo real a la AC si el certificado es válido.
Edua
rdo
Jaco
b -©
200
1
Extensiones en CRL• Extensiones generales.
– Número CRL (Número de secuencia de CRLcreciente)
– Código de razón (Motivo por el que este certificado se revoca)
– Fecha inválida (Última fecha en que este certificado revocado era válido)
• Puntos de distribución de CRL.– Puntos de distribución de CRLs (Donde estaría la CRL de este certificado)
– Envío de puntos de distribución (Nombre del punto de distribución)
• Delta-CRL.– Indicador delta CRL (Esta CRL es una Delta)
• CRL indirecto.– Emisor del certificado (AC que envía la CRL indirecta)
• Suspensión de certificados.– Código de instrucción (Motivo por el que está en suspenso)
61
Edua
rdo
Jaco
b -©
200
1
Utilización de X.509• Prácticamente para todas las aplicaciones,
en las que se necesita asegurar una identidad:– Login en servicios/servidores– Seguridad en correo electrónico: S/MIME– Seguridad en el WWW (Certificados de servidores)– Entrega de claves para establecimiento de VPN– Identidad para servicios basados en WWW como
Hacienda o Seguridad Social
Edua
rdo
Jaco
b -©
200
1
Utilización de X.509• Muchos programas de usuario tiene
capacidad para utilizar estos certificados– Netscape– Internet Explorer, Outlook,...
• Curiosamente, no hay un formato binario estándar.... Hay que solicitar un certificado indicando con que software lo vas a utilizar.
62
Edua
rdo
Jaco
b -©
200
1
Utilización de Certificados• Dos filosofías para la utilización de
certificados:– Certificados gestionados: La gestión (aceptación,
revocación, instalación...) se realiza desde un sistema central sobre los sistemas de los clientes: Entrust
• Ventaja: Las decisiones de seguridad, no se dejan en mano de los usuarios.
• Inconveniente: Requiere aplicaciones especiales...– Certificados no gestionados: La gestión del
certificado la tiene que realizar el usuario: instalarlo, obtener uno nuevo cuando caduca, aceptar certificados... Es el modelo Netscape y Microsoft.
• Ventaja: Independiente del vendedor de la AC• Inconveniente: El usuario tiene parte activa en la
seguridad resultante.
Edua
rdo
Jaco
b -©
200
1
Y aun así...http://www.microsoft.com/technet/security/bulletin/MS01-017.asp
Technical description: In mid-March 2001, VeriSign, Inc., advised Microsoft that on January 29 and 30, 2001, it issuedtwo VeriSign Class 3 code-signing digital certificates to an individual who fraudulently claimed tobe a Microsoft employee. The common name assigned to both certificates is “Microsoft Corporation”. The ability to sign executable content using keys that purport to belong to Microsoft would clearly be advantageous to an attacker who wished to convince users to allow the content to run.
The certificates could be used to sign programs, ActiveX controls, Office macros, and otherexecutable content. Of these, signed ActiveX controls and Office macros would pose the greatestrisk.......
Y además:VeriSign has revoked the certificates, and they are listed in VeriSign’s current Certificate Revocation List (CRL). However, because VeriSign’s code-signing certificates do not specify a CRL Distribution Point (CDP), it is not possible for any browser’s CRL-checking mechanism to locate and use the VeriSign CRL....
Microsoft has developed an update that rectifies this problem.
63
Edua
rdo
Jaco
b -©
200
1
X.509• Quedarían por ver varias cosas:
– Protocolos: CMP, – Estándares: PKCS– Perfiles de uso: PKIX (una PKI basada en X.509
para Internet)– CPS Certification Practice Statement– Políticas de uso.– Decreto de Firma Electrónica– Decreto de Comercio Electrónico.
Edua
rdo
Jaco
b -©
200
1
Kerberos• Sirve para autenticar usuarios y máquinas en entornos
locales. Diseñado por el MIT.• Basado en clave secreta• Emplea clientes y servidores• Tres niveles de protección:
• Autenticación al comienzo de la conexión• Autenticación de todos los mensajes intercambiados• Autenticación y encriptación de todos los mensajes intercambiados.
• Estudiaremos Kerberos V• Hoy en día una variante empleada por Microsoft en la
autenticación de Windows 2000 en redes internas.• Se emplea ASN.1 como método para definición de
estructuras de los mensajes, en vez de una opción que indica orden de Byte.
• Es independiente del protocolo IP.
64
Edua
rdo
Jaco
b -©
200
1
Esquema General
• Kerberos: Es el certificador de autentificación, contiene id, claves secretas y fechas de validez
• TGS: Es el servidor de tickets para acceder a los diversos servicios: contiene id de servicios, claves secretas y fechas de validez
• Servidor: Servidor donde reside el servicio de red que el cliente quiereemplear.
KERBEROS TGS
Client Server
Petición deTicket paraTGS (1)
Petición deTicket paraServidor (3)
Petición deservicio (5)
Ticket paraTGS (2)
Ticket paraServidor (4)
Edua
rdo
Jaco
b -©
200
1
Paquetes intercambiados• Credenciales
– Tickets: Tc,s = s,{c,addr,times,Kc,s}Ks,
– Autentificador: Ac,s = {c,time,key}Kc,s
• Dondec = Clientes = Servidoraddr = Dirección del cliente
times = Intervalo de tiempo entre principio de validez y final de validez del ticketKerberos = Servidor de autentificaciónKx = Clave secreta de xKx,y = Clave de sesión entre x e y{m}Kx = m encriptado con la clave de xTx,y = Ticket de x para usar yAx,y = Autentificador de x para y
65
Edua
rdo
Jaco
b -©
200
1
Paquetes intercambiados• Tickets
• Válido para un solo cliente y un solo servidor, pero se puede utilizar varias veces.
• Contiene el nombre de un servidor, y encriptado con la clave secreta del servidor, el nombre del cliente, la dirección del cliente, una marca de tiempos, una llave de sesión.
• El cliente, no puede desencriptar ni modificar el ticket, ya que no tiene la clave secreta del servidor.
• No se puede modificar el ticket a su paso por la red.
• Autenticadores• Se genera un autentificador cada vez que se quiere utilizar el
servidor.• Se encripta con la clave de sesión, compartida con el servidor.• Contiene un marca de tiempo, que hace inutilizable un
autentificador antiguo.• Se utiliza una sola vez.
Edua
rdo
Jaco
b -©
200
1
1er Paso de Kerberos• Conseguir ticket inicial
El cliente solo posee algo personal: el password, y no lo va a poner en claro en la red. Con la solicitud de un ticket para ponerse en contacto con el servidor TGS manda su identificativo.
66
Edua
rdo
Jaco
b -©
200
1
2º Paso de Kerberos• Conseguir ticket del servidor
El cliente envía al TGS, el servidor con el que se quiere comunicar, el TGT encriptado que la ha dado Kerberos y un autentificador encriptado con la clave de sesión entre el cliente y el TGS.
Edua
rdo
Jaco
b -©
200
1
3er Paso de Kerberos• Obteniendo el servicio.
El cliente envía al Servidor, el ticket encriptado entregado por el TGS, y un autentificador encriptado con la clave de sesión entre el cliente y el servidor. Como el servidor conoce su propia clave secreta, es capaz de obtener el ticket, y del mismo, la clave de sesión entre cliente y servidor. A partir de este momento, puede comprobar la identidad del cliente
67
Edua
rdo
Jaco
b -©
200
1
4º Paso opcional Kerberos• Autenticación de servidor a cliente.
Permite la autenticación mutua.
Edua
rdo
Jaco
b -©
200
1
Utilización en Windows 2K• Kerberos para gestionar la autenticación en la Intranet• PKI para la extranet e Internet
Servicios de Seguridad Windows NT 4.0 Windows 2000
AutenticaciónAutenticación NTLMNTLM +Kerberos+Kerberos PublicPublic KeyKey
Control de AccesoControl de Acceso ACLsACLs ==
ComunicComunic. . EncriptadasEncriptadas SSL, SSL, SecureSecure DCOMDCOM + + IPSecIPSec PPTPPPTP
Infraestructura PKInfraestructura PK SSL, SSL, CertCert ServerServer + Active + Active DirectoryDirectory,,
GestiónGestión Windows NT 4.0 Windows NT 4.0 DirDir SvcsSvcs + AD, + AD, SmartSmart CardsCards
APIsAPIs de Seguridadde Seguridad SSPI, SSPI, CryptoAPICryptoAPI ==
AuditoríaAuditoría y y EventEvent LogLog SubsistSubsist. de . de AuditoríaAuditoría ==
Datos Datos encriptadosencriptados + + EncryptingEncrypting File SystemFile System
68
Edua
rdo
Jaco
b -©
200
1
Comparativa Kerberos/PKI• Desventajas
– Requiere on-line trusted server para autenticar– Que la seguridad de la database se comprometa implica nueva password
para cada usuario y servidor– No soporta firmas digitales
• Ventajas– Autenticación rápida, eficiente y con revocación fácil– Sin problemas de exportación ni patentes– Kerberos V5 incluye
• Autenticación entre usuarios, posibilidad de sustitución de DES,reenvío de tickets, soporte de hosts con varias direcciones IP, etc
Es posible combinar ambas tecnologías: Windows 2000
Edua
rdo
Jaco
b -©
200
1
Telaraña de confianza• PGP (Pretty Good Privacy)
– Una revolución por Phil Zimmerman (casi va a la cárcel)– Seguridad absoluta para todos (sistemas operativos) y gratis.– Cada uno es su AC– Utiliza (primeras versiones) RSA e IDEA– Compresión LZW (zip)– Claves pública/privada en formato propio– Todos los datos: claves, ficheros, etc.. pueden ser exportado a
formato base-64 (pasa bien por canales de texto...)– No hay autoridad certificadora centralizada. Yo firmo las
claves públicas (expido certificados..) a la gente cuya identidad puedo comprobar.
– Hoy es un producto comercial con versión free.
69
Edua
rdo
Jaco
b -©
200
1
Formato Clave PGP– KeyID: Identificador de la clave.– Key Trust: Cuanto me fío del propietario de la clave para
firmar claves. (la doy yo)– UserID Trust: Cuanto me fío de la correspondencia entre
propietario y clave. Lo calcula PGP.– Sig.Trust: KeyTrust de las claves que firman la clave.
Edua
rdo
Jaco
b -©
200
1
Concepto de confianza• Confianza en la identidad
– Cuanto estoy seguro de que esta clave pública pertenece a esta persona..
• Confianza en propietario de la clave– Cuanto me fío del criterio del propietario para firmar..
• Niveles:– Desconocido– Ninguno– Casual– Completo
• Ejemplo: Clave del “tonto del pueblo”– Estoy seguro de su identidad, pero no tengo confianza en su capacidad
para firmar.
70
Edua
rdo
Jaco
b -©
200
1
Confianza en identidad• La calcula PGP
• Definimos los valores de casual y ninguno– always= 1/x ( con x always tenemos confianza)– casual= 1/y ( o con y casual)
• Lógicamente, x < y
Edua
rdo
Jaco
b -©
200
1
Telaraña de Confianza• Relativamente compleja
71
Edua
rdo
Jaco
b -©
200
1
Limitaciones• Cada KeyID puede tener diversos UserID con
confianza en propietario distinta– UserID.1: “Eduardo Jacob” Confianza en propietario:
Completa – USerID.2: “Rector UPV” Confianza en propietario: Nula
• En realidad la telaraña de confianza no funciona muy bien.
• Se puede utilizar PGP de forma jerárquica como X:509
Edua
rdo
Jaco
b -©
200
1
Distribución de claves• No hay infraestructura• Originalmente:
– Por email.– Por diskette por correo ordinario.– En congresos.
• Se requiere verificación fuera de banda:– Teléfono, postal, contacto personal.
• Aparecen servidores– Inicialmente: interfaz email/http a anillo de claves pub.– Ahora Servidores LDAP adaptados.
72
Edua
rdo
Jaco
b -©
200
1
Revocaciones.• Una firma especial con esa utilización• Si comprometen la clave privada...
– Pueden revocar mi clave– En cualquier caso debería revocarla yo.
• No hay mecanismo tipo CRL. Me entero
Edua
rdo
Jaco
b -©
200
1
Y sin embargo PGP...• Es terriblemente eficaz en entornos
controlados• Está integrado con muchos programas de
correo. • Tiene versión “free” y en código fuente:
GNUPG (patrocinados por le gobierno alemán...)
• No tiene puertas traseras.• Está sometido a escrutinio público.
73
Edua
rdo
Jaco
b -©
200
1
Seguridad Perimetral• Para el modelo de seguridad de acceso a Red.• Hay un conjunto de medidas disponibles:
– Sistemas cortafuegos– Sistemas antivirus– VPNs– Sistemas de Masquerading, NAT– Sistemas de detección de intrusión.
• Hoy en día se venden combinadas.
Edua
rdo
Jaco
b -©
200
1
Tres fases en Seguridad• Prevención (tratar de evitar que ocurra)
– Sistemas cortafuegos– Sistemas antivirus– VPNs– Sistemas de Masquerading, NAT
• Detección (Detectar si a pesar de todo sucede)– Sistemas de Detección de Intrusión
• Reacción (Como hago para reparar el daño y recuperar el control)– Planificación de acciones ante ataques o desastres.
Es necesaria una política de seguridad
74
Edua
rdo
Jaco
b -©
200
1
Política de Seguridad• Una política de seguridad de red define que
servicios de red va a autorizarse y a que entidades.
• Dos planteamientos:– Lo que no está expresamente autorizado está
prohibido. El más restrictivo.– Lo que no está expresamente prohibido está
autorizado. El menos restrictivo.
Edua
rdo
Jaco
b -©
200
1
Política de Red
• Sienta una premisa, a partir de la cual hay que definir – Que es lo que hay que hacer en caso de que la
seguridad del sistema sea comprometida.– Describir que actuaciones serán toleradas y
cuales no.• Debiera poder transcribirse una política
de seguridad de red a tablas de configuración de sistemas cortafuegos.
75
Edua
rdo
Jaco
b -©
200
1
Política de Red• Suposiciones generales típicas:
– No podemos asegurar que los administradores de todas las máquinas de la red tienen máquinas seguras: No hay conectividad IP directa.
– Suponemos que los usuarios internos no va a divulgar información de la compañía.
– No nos fiamos de nadie que venga de Internet sin autentificación de alto nivel.
– Solo damos los servicios que podemos controlar, existe la posibilidad de poner máquina externa.
Edua
rdo
Jaco
b -©
200
1
Conclusiones sobre seguridad
Para acabar, unos consejos y reflexiones....
76
Edua
rdo
Jaco
b -©
200
1
Definición de Seguridad
• En Sistemas de Información implica defenderse de ataques a la:– Confidencialidad– Disponibilidad– Integridad
Edua
rdo
Jaco
b -©
200
1
Confidencialidad• Tal vez, la acepción más clásica.• El acceso a la información restringido a los
usuarios autorizados.• Incluye conceptos como
– Autenticación: Asegurar identidades de sujetos, aplicaciones y datos.
– Encriptación: Evitar capturas de datos.– Sistemas de Seguridad Perimetral: Evitar accesos
externos.
77
Edua
rdo
Jaco
b -©
200
1
Confidencialidad
• Autenticación: de sujetos, datos o aplicaciones.– PKI: Claves en tarjetas inteligentes...– Autenticación por métodos biométricos...– Acceso regulado a la información... (LPD)– Decreto sobre la Firma Electrónica...
• Encriptación:– Por medio de aplicaciones como correo Seguro
S/MIME con certificados, o SSL para Web– A bajo nivel (IPSEC) para conexiones sobre VPN.
• Sistemas de Seguridad Perimetral:– Sistemas Cortafuegos para conexión a Internet.– Y si fallan: Sistemas Detectores de Intrusión
Edua
rdo
Jaco
b -©
200
1
Disponibilidad• Los sistemas deben estar disponibles
“siempre”...– Sistemas redundantes.– Detección de fallos.
• O se recuperan de errores en tiempos finitos y preestablecidos– Planes de contingencia.– Almacén de repuestos.– Gestión de configuraciones.
78
Edua
rdo
Jaco
b -©
200
1
Integridad• La información (datos y aplicaciones) no se
deben perder ni modificar inadvertidamente.– Copias de Seguridad.– Procedimientos de recuperación.– Sistemas Antivirus.
Edua
rdo
Jaco
b -©
200
1
Regla de Oro
• La seguridad se alcanza en base a tres procesos continuos:
PrevenciónDetecciónReacción
79
Edua
rdo
Jaco
b -©
200
1
Regla de Plata• El nivel de seguridad deseado para nuestro
Sistema de Información (idealmente) debiera ser parte constituyente de los requerimientos de diseño del mismo.
“Añadir” seguridad, es mucho menos eficaz que plantear una solución segura.
Edua
rdo
Jaco
b -©
200
1
Situación Actual• Un cambio radical:
– Conexión a Internet -> Fuente de cambios que además provoca sensación de inseguridad
– Diversos contextos:• Presencia WWW• Uso de correo y acceso WWW desde dentro (Internet)• Uso de recursos internos desde dentro y fuera (Intranet)• Interconexión a través de la Red, de recursos propios (Extranet)⇓
ComplejidadPeligro
80
Edua
rdo
Jaco
b -©
200
1
Motivación
• Concepto de seguridad: En Sistemas de Información, consiste en proteger la– Confidencialidad,– Disponibilidad e– Integridad de la información.
Un mito: En Internet está el peligro
• Origen de los incidentes. (Spafford-CERIAS-1999) Complejidad...
Edua
rdo
Jaco
b -©
200
1
Políticas de Seguridad• Documento que (entre otras cosas) describe
las relaciones permitidas entre sujetos y objetos.
Sujetos(Usuarios, aplica-
ciones, equipos, etc.)
Objetos(datos, aplicacionesservicios, periféricos,
etc.)
Lectura, escritura,ejecución, etc.
81
Edua
rdo
Jaco
b -©
200
1
Políticas de Seguridad• Tipos
– Explícita (Voluntaria): Originada activamente desde la empresa.
– Implícita (Involuntaria): Contenida en la configuración del sistema de información.
• Especificada por medio de– Modelos clásicos de seguridad: (Bell-Lapadula,
etc.)– Frases: El acceso al servidor de producción...
• Originada como resultado de un trabajo– Sistemático: Análisis de riesgos, etc.– Circunstancial: Necesidades puntuales.
Edua
rdo
Jaco
b -©
200
1
Objetivos• Una técnica o metodología que permita:
– Estudiar si un sistema de información es capaz de soportar el cumplimiento de la política de seguridadasignada.
– Evaluar la calidad (entendida como capacidad para mantener las funcionalidades de seguridad) de los elementos que forman un sistema de información.
– Visualizar las interrelaciones entre los elementos del sistema y las frases que forman la política de seguridad.
– Visualizar las relaciones e interacciones entre elementos, habitualmente ocultas.
82
Edua
rdo
Jaco
b -©
200
1
Condicionantes• Tiene que ser:
– Válido para sistemas basados en elementos heterogéneos.
– Adecuado a sistemas en marcha.– Asequible en términos de esfuerzo.– Realista.– Compatible con medidas de seguridad.
Edua
rdo
Jaco
b -©
200
1
Esquema general
Técnicas para laSecurización de
Sistemas
¿Hay alguna técnicaaplicable?
¿Qué aspectos sonrelevantes?
• Criterios para Evaluación de Sistemas.• Análisis de Riesgos.• Análisis de Seguridad de Sistemas. • Herramientas para Análisis de Vulnerabilidades.
Seguridad
• Empleo de Sistemas Operativos Seguros.• Empleo de Sistemas Operativos Endurecidos.• Diseño Seguro de Aplicaciones. • Compartimentación.
Estudio
Mejora
Técnicas y Metodologías para el estudio de la
Seguridad de un Sistema
83
Edua
rdo
Jaco
b -©
200
1
Antecedentes
• Criterios para Evaluación de Sistemas.• Análisis de Riesgos.• Análisis de Seguridad de Sistemas. • Herramientas para Análisis de Vulnerabilidades.
Seguridad
Estudio
Técnicas y Metodologías para el estudio de la
Seguridad de un Sistema
Edua
rdo
Jaco
b -©
200
1
Criterios para la Evaluación de Seguridad de Sistemas• Planteamiento:
– Evaluar la seguridad de un producto, desde un doble punto de vista:
• Un estándar Internacional en vigor– CC 2.1 (2000): Internacional. El Criterio Común es
ya un estándar ISO 15408. Aparece el concepto de perfil de protección: Conjunto de funcionalidades y confianzas para cada sistema escogidas de un repositorio.
Producto
FuncionalidadesRequeridas
Calidad de laImplementación
84
Edua
rdo
Jaco
b -©
200
1
Criterios para la Evaluación de Seguridad de Sistemas (2)
– Es un proceso caro, largo y propuesto por el fabricante.
– Diseñados para comparar productos, no para dar un nivel de seguridad absoluto.
– Duda: ¿Quién vigila a los vigilantes?– No se incluye el concepto de política de seguridad.
• Comentarios– Una arquitectura a base de sistemas evaluados no es
segura automáticamente.
Edua
rdo
Jaco
b -©
200
1
Análisis de Riesgos• Filosofía
– Surgen de la imposibilidad de asegurar al 100% la seguridad de un sistema.
– Estudia todo el sistema, no sólo la infraestructura telemática, incluso el modelo de negocio.
Fuente:Magerit
85
Edua
rdo
Jaco
b -©
200
1
Análisis de Riesgos (2)
– Inconvenientes:• A veces es difícil realizar las valoraciones
económicas necesarias.• Requiere reuniones con muchos interlocutores.• Proceso caro, si se realiza a fondo.• Puede no llegar a tener a cuenta los elementos a un
nivel muy bajo.
• Comentarios– Ventajas:
• Herramientas disponibles: Magerit (MAP).• El proceso genera una Política de Seguridad y fija
las salvaguardas necesarias para asegurar su cumplimiento.
• El esquema general es sumamente válido y aplicable.
Edua
rdo
Jaco
b -©
200
1
Metodología• Estudio de Seguridad, compuesto por:
– Análisis de Riesgos
vulnerabilidades + amenazas
contramedidas = f ($) ≤ pérdida esperadas en $
• Conclusión: Todo es posible, pero también tiene su precio.
86
Edua
rdo
Jaco
b -©
200
1
Metodología y 2• Gestión de riesgos
– Implanta y mantiene las contramedidas para obtener un nivel de riesgo aceptable.
• Cortafuegos, Antivirus, Sistemas de Detección de Intrusión, Backups, escaneos de seguridad, VPN, PKI internas...
• Procedimientos de Emergencia y Recuperación.• Documento de política de seguridad: Normas de uso
de los sistemas, responsabilidades, autoridades... Normalmente, poco popular...
Edua
rdo
Jaco
b -©
200
1
Herramientas de Análisis de Vulnerabilidades
• Filosofía– Se basan en el estudio de la infraestructura buscando
los puntos débiles (las vulnerabilidades) para corregirlas.
– Buscan disminuir la ventana de vulnerabilidad (Schneier-2000).
87
Edua
rdo
Jaco
b -©
200
1
Herramientas de Análisis de Vulnerabilidades (2)
• Ventajas– Son muy eficaces: En muchos casos son las mismas
herramientas que usan los atacantes.– La mayor parte de las vulnerabilidades
• Están registradas, por tanto son detectadas.• Pueden ser eliminadas por medio de parches. • Inconvenientes
– Sólo tiene en cuenta la infraestructura telemática.– No es válido para vulnerabilidades no conocidas.– No incluye la política de seguridad en ningún
momento.
Edua
rdo
Jaco
b -©
200
1
Metodologías para el Análisis de la Seguridad de Sistemas
• Analizan la seguridad de sistemas completos, no de elementos.
• Diversas metodologías:– ISO/IEC 17799: Evolución de la BS7799.– Metodología Abierta de seguridad: GPL, Internet.
• Resumen de la metodología ISO/IEC 17799.• Fases:
– Detección de áreas relevantes.» Políticas de seguridad, Organización de la seguridad,
Clasificación y control de activos, Seguridad de personal, etc.– Definición de controles de seguridad en las áreas.– Comprobación de todos los controles finales.
88
Edua
rdo
Jaco
b -©
200
1
Metodologías para el Análisis de la Seguridad de Sistemas (2)
• Inconvenientes:– Si el objetivo es conseguir un certificado (Como
propone BS7799-2), puede convertirse en algo poco eficaz.
– No se detecta un elemento que falla sino el efecto.
• Ventajas:– Es una revisión del sistema al completo,
independiente de la implementación concreta del mismo.
Edua
rdo
Jaco
b -©
200
1
Antecedentes
Técnicas para laSecurización de
Sistemas
¿Qué aspectos sonrelevantes?
Seguridad
• Empleo de Sistemas Operativos Seguros.• Empleo de Sistemas Operativos Endurecidos.• Diseño Seguro de Aplicaciones. • Compartimentación.
Mejora
89
Edua
rdo
Jaco
b -©
200
1
Empleo de Sistemas Operativos Seguros
• ¿Qué es un sistema operativo seguro?
TCB
Monitor deReferenciaSujeto Objeto
Política de SeguridadTCB
KDS
• Requisito indispensable– Identificado como tal en referencias ya clásicas.– Soporta toda la seguridad del sistema. – Grandes esfuerzos en la investigación en este campo.
Edua
rdo
Jaco
b -©
200
1
Empleo de Sistemas Operativos Seguros (2)
• ¿Existen?– Experimentalmente sí: (Flask, DTOS)– Los sistemas operativos genéricos no lo son.
• El futuro indudablemente pasa por ellos.– La NSA (National Security Agency) ha presentado
(Enero de 2001) un “Security Enhanced Linux”, que es básicamente un Linux modificado con los conceptos de FLASK.
90
Edua
rdo
Jaco
b -©
200
1
Empleo de Sistemas Operativos “endurecidos”
• Se basan en “Añadidos” o add-on’s.– Software que se añade a los sistemas operativos.– Ofrece prestaciones adicionales: Autenticación,
encriptación, administración, gestión...: SSH, IPSEC...
Sist. Op. 1 Sist. Op. 2 Sist. Op. 3
Add-on A2Add-on A1 Add-on A3
Interfaz, Prestacionesy Admón. Comunes
Edua
rdo
Jaco
b -©
200
1
Empleo de Sistemas Operativos “endurecidos” (2)
• Ventajas:– Pueden homogeneizar prestaciones en sistemas
operativos o aplicaciones dispares.– Facilitan la administración de sistemas heterogéneos.
• Inconvenientes:– No se suelen valorar a fondo las interacciones que
puede provocar la instalación simultánea.– Provocan situaciones en las que la responsabilidad
en caso de mal funcionamiento no es fácilmente atribuible a un proveedor.
– Son un elemento adicional.
91
Edua
rdo
Jaco
b -©
200
1
– Al software propio y al adquirido.– Diversas opciones complementarias.
• Programación segura. • Metodologías de diseño seguro.• Empresas que utilicen modelo de madurez de
capacidades para Ingeniería de Seguridad CMM-SSE o un sistema de certificación como ISO/IEC 9001.
Diseño Seguro de Aplicaciones
Niv
el• Podemos exigir estas técnicas al software
que empleamos:
Edua
rdo
Jaco
b -©
200
1
Diseño Seguro de Aplicaciones (2)
• Inconvenientes:– Consume tiempo y dinero.– Imposible seguir mejorando y reprogramando de
manera segura un gran proyecto.
• Ventajas:– Reconoce importancia de los errores de
programación en seguridad.– La calidad del software que implementa las
funcionalidades es clave.
92
Edua
rdo
Jaco
b -©
200
1
• Filosofía:– Separar los elementos por barreras, en las que
practicamos pasos.– No podemos controlar todas las interacciones,
entonces sólo permitimos algunas.
Compartimentación
BA• Instalación de:
– Topologías específicas de red.– Sistemas cortafuegos.– Arquitecturas con servidores segregados.
Edua
rdo
Jaco
b -©
200
1
Compartimentación (2)
• Inconvenientes– Son a su vez un elemento más a tener en cuenta.– Requieren configuración y no solucionan todos los
problemas.
• Ventajas– Impide que la complejidad (Nº de interacciones)
crezca.
93
Edua
rdo
Jaco
b -©
200
1
No hay que olvidar que...
• “Security is a process, not a product”– Bruce Schneier
Edua
rdo
Jaco
b -©
200
1
No hay que olvidar que...• Hay que reflejar como normativa el correcto
empleo de los sistemas de información.– Ponemos un cortafuegos para aislar la red, pero
recibimos este mensaje (real e inocuo...):
94
Edua
rdo
Jaco
b -©
200
1
No hay que olvidar que...• Las pérdidas por ataques, o incidentes de
seguridad afectan a la empresa de muchas maneras:– Descenso de productividad por parada.– Mala imagen. (¿Evaluable?)– ...
Edua
rdo
Jaco
b -©
200
1
No hay que olvidar que...• Hay que ser homogéneo
– Las medidas tecnológicas deben ser correspondidas por las procedimentales o sociales.
• Después de autenticarnos, consultamos unos datos confidenciales que imprimimos en un papel que luego tiramos a la basura
– Dumpster Diving– Social Engineering.