Seguridad en SistemasDistribuidos · desde tres puntos de vista: – Ataques a la seguridad de un...

95
Ingeniería de Seguridad en Sistemas Distribuidos Eduardo Jacob Grupo de Ingeniería Telemática Dpto. Electrónica y Telecomunicaciones. Eduardo Jacob - © 2001 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.

Transcript of Seguridad en SistemasDistribuidos · desde tres puntos de vista: – Ataques a la seguridad de un...

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.

95

Edua

rdo

Jaco

b -©

200

1

Conclusiones• La seguridad es un proceso continuo, al que

hay dedicarle tiempo.• Propuesto y soportado por la Dirección.• La tecnología, está relativamente madura.

(En muchos aspectos, muy madura)• Tiene que implicar a los usuarios si quiere

ser eficaz.