Vous êtes sur la page 1sur 78

Sistemas de Comunicacin

3 Seguridad de Redes
Prof. Javier Caas R.
Universidad Tcnica Federico Santa Mara
Departamento de Informtica

Temario
1 Introduccin
2 Algoritmos de Criptografa
3 Mecanismos de Seguridad
4 Cortafuegos
5 Arquitecturas Seguras

Javier Caas 2002

Introduccin
Las redes son recursos compartidos, usados por
muchas aplicaciones y personas con propsitos
diferentes.
Existen oportunidades en las cuales los datos deben
confidenciales, por ejemplo transmitir nmeros de
tarjetas de crdito.
En este captulo exploraremos alguna tcnicas como
criptografa, servicios de autenticacin e integridad.
Los algoritmos se vern en forma aislada, pero en la
prctica la construccin de sistemas seguros requieren
complejas combinaciones de protocolos y algoritmos

Javier Caas 2002

Fundamentos de Criptografa
Cualquier sistema mantiene datos sensibles para la
organizacin.
A travs de las redes viaja esta informacin. Es
posible entonces accesar o interceptar informacin
sensible.
Para proteger informacin sensible se necesitan
mecanismos de proteccin.

Javier Caas 2002

Mecanismos de Encriptacin
El mecanismo bsico trabaja de la siguiente
manera:
La informacin (texto) es encriptada desde su
forma legible (texto claro o texto plano) a una
forma interna (texto cifrado). El texto cifrado no
es posible de entender.
El texto cifrado se puede almacenar en archivos
sin proteccin de lectura o transmitido sobre
canales inseguros
Para leer el texto cifrado se necesita desencriptar
la informacin para volverla a transformar en texto
claro.
Javier Caas 2002

Propiedades de la Encriptacin
Sea:

E: algoritmo general de encriptacin


D: algoritmo general de desencriptacin
k: clave de encriptacin
m: mensaje

Se debe cumplir que:


Dk(Ek(m)) = m
Ek y Dk se calculen en forma eficiente
La seguridad debe depender de k y no de los algoritmos E y
D

Javier Caas 2002

2 Algoritmos de Criptografa
La criptografa es utilizada cuando los datos
que viajan por la red pueden ser ledos por
personas no autorizadas por ejemplo el
nmero de una tarjeta de crdito en una
transaccin de comercio electrnico.
En trminos generales, existen tres tipos de
algoritmos de criptografa:
Clave secreta (simtricos)
Clave pblica (asimtricos)
Hashing
Javier Caas 2002

Criptografa con Claves Secretas: Encriptacin Simtrica

Texto plano

Texto plano

Decriptacin con
Clave secreta

Encriptacin con
Clave secreta
Texto cifrado
Javier Caas 2002

Criptografa con Claves Pblicas: Encriptacin Asimtrica

Texto plano

Texto plano

Decriptacin con
Clave privada

Encriptacin con
Clave Pblica
Texto cifrado
Javier Caas 2002

Hash (Massage Digest)


El tercer tipo de criptografa se denomina Hash o
Message Digest y a diferencias de las anteriores
tcnicas no utiliza llave.
La idea es mapear mensajes grandes en nmeros
pequeos de largo fijo. La funcin de hash genera un
checksum criptogrfico sobre el mensaje para proteger
su integridad.
En otras palabras, dado un checksum criptogrfico, es
virtualmente imposible saber que mensaje lo gener lo
que significa la imposibilidad computacional de
encontrar dos mensajes que generen el mismo
checksum
Javier Caas 2002

10

Taxonoma de Sistemas de Seguridad


Los algoritmos de criptografa son slo
bloques constructivos mediante los cuales se
construyen sistemas seguros
Algoritmos de Criptografa:
Clave Secreta (DES)
Clave Pblica (RSA)
Servicios de Seguridad:
Privacidad
Autenticacin
Integridad de Mensajes
Javier Caas 2002

11

...Taxonoma de Sistemas de Seguridad

Seguridad

Algoritmos
Criptogrficos

Clave
secreta
(ej.DES)

Clave
Pblica
(ej. RSA)

Servicios
Seguridad

Message
digest
(ej. MD5)

Privacidad Autenticacin

Javier Caas 2002

Integridad
de mensajes

12

Requerimientos de Algoritmos
Debe ser capaz de transformar texto plano en texto
cifrado. Slo el poseedor de la clave puede recuperar
el texto plano.
Los mtodos de criptografa deben ser seguros
frente a ataques de personas que no poseen la clave
El algoritmo es conocido. Slo la llave es secreta.
Por qu razn?. Toma mucho tiempo elaborar un
buen algoritmo!.
Es interesante considerar tambin que un texto
cifrado contiene valiosa informacin que permite
extraer claves: frecuencia de letras, palabras claves,
etc...
Javier Caas 2002

13

...Requerimientos de Algoritmos
Por ejemplo, el algoritmo DES es tan complicado, que
prcticamente ninguna estructura del texto plano
permite recuperar la clave. La nica forma de obtener
la clave es mediante pruebas exhaustivas.
El algoritmo RSA tiene su base en la matemtica. Es
posible quebrarlo al encontrar los factores de un
nmero que es producto de dos nmeros primos
grandes. Este problema tiene alto costo computacional.
El requerimiento para Message Digest es diferente. Se
requiere de una funcin que opere en un sentido y sea
virtualmente imposible a partir de la salida, encontrar la
entrada.
Javier Caas 2002

14

...Requerimientos de MD
Dado un mensaje m, al aplicar MD(m), es imposible
encontrar un muevo mensaje m1 m tal que
MD(m1)==MD(m).
Para que esto se pueda cumplir, se requiere que las
salidas estn bien distribuidas aleatoriamente. Si el
mensaje tiene 128b, existen 2128 posibles salidas, lo
cual significa calcular MD a 264 mensajes en promedio
antes de encontrar dos que lleven al mismo valor.
Otro requerimiento para Message Digest es que se
pueda calcular en forma razonablemente eficiente.

Javier Caas 2002

15

Algoritmo DES (Data Encryption Standard)


DES encripta bloques de 64bits de texto
plano usando una llave de 64 bits.
Actualmente se usan 56b y los ltimos bit de
cada 8 bit de la llave de 64 se usan como bits
de paridad.
DES tiene 3 fases:
Se permutan los 64 bits del bloque
Se aplica 16 veces una misma operacin usando
la clave. Esta operacin es una seleccin
Al resultado se aplica la operacin inversa a la
permutacin original
Javier Caas 2002

16

Algoritmo DES
Permutacin
inicial P
op1

op2
Llave de
56bits
op16
Permutacin
final P-1

Para qu sirven
las permutaciones?
Javier Caas 2002

17

Permutacin Inicial
La siguiente tabla muestra en forma parcial la
permutacin inicial
Posicin entrada: 1 2 3 4 5

60 61 62 63 64

Posicin salida :40 8 48 16 56 .

9 49 17 57 25

En cada una de las 16 operaciones, el bloque


de 64b es separado en dos mitades de 32b y
se seleccionan 48b de la llave de 56b.
Las mitades izquierda y derecha en la etapa
i se denominan Li y Ri respectivamente. La
llave de 48b en la etapa i se denomina Ki
Javier Caas 2002

18

Seleccin
Las tres partes se combinan acorde a la
siguiente regla:
Li = Ri-1
Ri = Li-1 F(Ri-1, Ki) ( es el OR exclusivo)

F es una funcin
Li

Ri

Ki

+
Li

Ri
Javier Caas 2002

19

La funcin F
Se necesita definir la funcin F y mostrar como cada
Ki se deriva de la llave de 56b.
Se comienza con la llave. Inicialmente la llave de 56b
se permuta inicialmente acorde a la Tabla siguiente:
Posicin entrada: 1 2 3 4 5

59 60 61 62 63

Posicin salida : 8 16 24 56 52 .

17 25 45 37 29

Se puede notar que cada ocho bits, el bit es ignorado


(hasta 63), reduciendo la llave de 64b a 56b. En cada
etapa los 56b se dividen en dos mitades de 28b y
cada mitad es rotada en forma independiente a la
izquierda en una o dos posiciones dependiendo de la
etapa
Javier Caas 2002

20

10

...La funcin F
La rotacin de la llave en cada etapa se indica en la
siguiente Tabla
Etapa

: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Rotacin

:1 1 2 2 2 2 2 2 1 2

El resultado del corrimiento de la llave es una llave


de 56b que se usa para la entrada de la siguiente
etapa y para la seleccin de los siguientes 48b que
se utilizarn para la construccin de la llave en la
siguiente etapa

Javier Caas 2002

21

...La funcin F
La siguiente Tabla muestra como se seleccionan 48b
de los 56. Se puede ver que simultneamente son
seleccionados y permutados
Posicin Entrada: 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17
Posicin Salida : 5 24 7 16 6 10 20 18 12 3 15 23 1 9 19 2
Posicin Entrada: 19 20 21 23 24 26 27 28 29 30 31 32 33 34 36 37
Posicin Salida : 14 22 11 13 4 17 21 8 47 31 27 48 35 41 46 28
Posicin Entrada: 39 40 41 42 44 45 46 47 48 49 50 51 52 53 55 56
Posicin Salida : 39 32 25 44 37 34 43 29 36 38 45 33 26 42 30 40
Javier Caas 2002

22

11

La funcin F
La funcin F combina el resultado de los 48b de Ki
con la parte derecha del bloque de datos despus de
la etapa i-1 (Ri-1) de la siguiente manera, (para
simplificar Ki y Ri-1 se denominarn K y R).
En primer lugar F expande R de 32b a 48b para
poder combinar con la llave K de 48b. Para esto se
separa R en 8 grupos de 4b. Cada grupo de 4b, se
expande a 6b, robando los bits que estn ms a la
izquierda y ms a la derecha de los bloques
adyacentes de 4b. Esta expansin se muestra en la
siguiente figura donde R se trata en forma circular
para efectos del robo de bits
Javier Caas 2002

23

Grupo de 4-bit

Se expande a 6b robando

un bit de los grupos de la izquierda y de la derecha

Javier Caas 2002

24

12

La Funcin F
Posteriormente, los 48b de K se dividen en 8 grupos
de 6b. A cada grupo se aplica OR-EX con los bits
correspondientes de R que fueron expandidos en la
etapa anterior.
Finalmente cada grupo resultante de 6b se hace
pasar por una caja de sustitucin (Caja S) que
vuelve a reducir los grupos de 6b a 4b.
Existen 8 diferentes cajas S, una para cada grupo de
6b. Es posible imaginar una caja S como una funcin
que hace un mapeo de 6b a 4b

Javier Caas 2002

25

Operacin de Sustitucin
Parte de las Cajas S se muestra en la siguiente
tabla:

Entrada: 000000 000001 000010 000011 000100 000101


Salida : 1110

0100

1101

0001

0010

Javier Caas 2002

1111

26

13

Encriptacin y Desencriptacin
La discusin anterior no considera diferencias entre
encriptar y desencriptar. Ambos lados del algoritmo
DES funciona de la misma forma. La nica diferencia
es que las llaves se aplican en orden inverso K16,
K15, K1.
Cmo encriptar mensajes ms largos de 64b?.Para
esto se utiliza una tcnica llamada CBC (Cipher
Block Chaining).
La idea es simple: al texto cifrado para el bloque i se
aplica OR-EX con el texto plano para el bloque i+1
antes de aplicar DES. Un vector de inicializacin (VI)
se usa como para reemplazar al texto cifrado
inexistente para el bloque 0
Javier Caas 2002

27

...Encriptacin y Desencriptacin
El Vector de inicializacin es un nmero generado
aleatoriamente por el transmisor y se enva con el
mensaje de forma tal de poder recuperar el primer
bloque de texto plano.
La siguiente figura muestra un bloque CBC para el
lado del transmisor.

Javier Caas 2002

28

14

VI

Block1

Block2

Block3

Block4

DES

DES

DES

DES

Cipher1

Cipher2

Cipher3

Cipher4

Javier Caas 2002

29

Discusin
Es seguro DES?
No hay ninguna prueba matemtica

Como quebrar DES?


Examinar exhaustivamente todas las posibles
claves (hay 256). En promedio se necesita 255, o
sea, 3.6 1016 claves
En una mquina de 200MIPS puede tomar 4000
aos

Considerando la Ley de Moore, es posible


acortar significativamente estos tiempos
Javier Caas 2002

30

15

Hardware para desencriptar DES

DES Cracker Project


http://www.eff.org/descracker.html
Javier Caas 2002

31

El Algoritmo RSA
Cmo distribuir la clave k?
Este es un problema muy serio que tiene el
algoritmo DES.
Una solucin a este problema es la utilizacin
de claves pblicas y claves privadas.
Cada usuario tiene dos claves una pblica y
una privada. Ambos se pueden comunicar
conociendo slo la clave pblica del otro
El Algoritmo RSA es asimtrico en el sentido
que trabajo con claves pblicas y privadas.
Javier Caas 2002

32

16

Algoritmo RSA (Rivest


(Rivest,, Shamir y Adleman

Clave pblica: <E,n>


Clave privada: <D,n>
E,D,n: enteros positivos
cada mensaje se representa como un entero entre 0
y n-1 (mensajes largos de descomponen en
mensajes cortos . Cada uno se representa por un
entero)
Se definen E y D como:
E(m) = mE mod n = C
D(C) = CD mod n = m
Javier Caas 2002

33

Propiedades del Algoritmo RSA


Sea:
E: Llave pblica para codificar
D: Llave privada para decodificar
m: mensaje

Se debe cumplir que:


1) D (E (m)) = m
2) E y D se calculan en forma fcil
3) Si se publica E, no hay forma de calcular D
4) E(D(m))=m

Javier Caas 2002

34

17

Algoritmo RSA
Cmo se obtiene D y E?
Hay que obtener p y q: nmeros enteros, primos y
muy grandes
Se calcula n= p x q
Se elige E <n tal que E y (p-1)x(q-1) son primos
relativos (no tienen factores comunes mayores
que 1)
Se calcula D tal que E x D mod ((p-1)x(q-1))=1
La Llave pblica es <E,n>
La Llave privada es <D,n>

Javier Caas 2002

35

Codificacin RSA
Dado un texto, se separa en grupo de caracteres de
tamao fijo y se transforman a nmeros enteros.
Por ejemplo:
abra cadabra ABRA CADABRA Abra Cadabra
X1

X2

X3

Xi es entero tal que Xi < n-1. Desde xi


debe ser posible volver al string

Javier Caas 2002

36

18

Codificacin RSA
Codificar:
xiE mod n = yi

Decodificar:
yiD mod n = xi

Ejemplo:

Sea p=2 y q=5 (p y q son primos)


Sea n=10
(p-1)x(q-1)=4
E < n y 4 deben ser primos relativos. Elijo E=3
Clculo de D: E x D mod ((p-1)x(q-1))=1
Javier Caas 2002

37

Codificacin RSA

Clculo de D: E x D mod ((p-1)x(q-1))=1


O sea, E x D mod 4 = 1, E x D= 4 k +1
E x D= 4k +1. Existe k?
3 x D= 4k +1. D= (4k+1)/3. Si k=2, D=3. Si k=5, D=7
21 mod 4=1 Funciona!

Sea x=2 el nmero a encriptar. 2E=23=8 mod 10=8,


y=8
Ahora desencriptaremos. 8D=87=2097152 mod 10=2
Funciona!

Javier Caas 2002

38

19

Cmo se eligen las claves?


La seguridad depende del nmero de bits:
Netscape y Explorer usan RSA con 48 bits
mejor seguridad se obtiene con 128 y 1024 bits, pero el
clculo se vuelve muy difcil

Se puede quebrar RSA?


En 1977 se lanz el reto de quebrar un string de 129 dgitos
(430 bits)
Se pensaba que era inviolable ya que los algoritmos de
factorizacin de grandes nmeros estimaban 40 cuadrillones
de aos de computacin para quebrarlo

Javier Caas 2002

39

Se puede quebrar RSA?


En abril de 1994, slo 17 aos mas tarde, cuatro cientficos
reportaron que haban quebrado el cdigo. El mensaje
encriptado era:
THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
Se utiliz un mtodo de factorizacin que requera 5000
MIPS-ao. Se dividi el problema en pequeas partes que
se distribuyeron por correo electrnico a todo el mundo. En
la prctica no se requieren 5000 MIPS-ao ya que las claves
no siempre se eligen de manera ptima

Javier Caas 2002

40

20

Observaciones
La premisa de RSA es que factorizar
nmeros grandes es computacionalmente
una tarea compleja.
Si se puede factorizar n, se obtiene p y q y
por lo tanto D.
Previendo mayor capacidad computacional,
se estn usando llaves de 768 y 1024 bits
El estndar RSA es el RFC2473

Javier Caas 2002

41

Message Digest (MD)


Existen varios algoritmos del tipo Message Digest.
Estos se conocen como MDn, con n=1,2,3,4,5. El
ms usado es MD5. Otro algoritmo del mismo tipo es
SHA (Secure Hash Alghorithm).
MD se parece ms a DES que RSA ya que no tiene
un fundamento matemtico formal y su seguridad se
basa en la complejidad para generar una salida
aleatoria en funcin de la entrada.
MD5 es un estndar IETF (RFC 1321)
Las operaciones bsicas se muestran en la siguiente
transparencia:

Javier Caas 2002

42

21

digestinicial
(constante)

Mensaje (se rellena)


512 bits

512 bits

512 bits

Transformacin

Transformacin

Transformacin

Message digest

Javier Caas 2002

43

...Message Digest (MD)


De la figura anterior, se aprecia que el algoritmo
opera sobre bloques de 512b. Esto implica rellenar el
mensaje a un mltiplo de 512b:
m.mensajem10000000.00000nnnnnnnn
10000000.00000nnnnnnnn: relleno
nnnnnnnn: nmero entero de 64bit que representa el largo del
mensaje original

El clculo comienza utilizando un valor inicial


constante (valor digest). Este valor es combinado
con los primeros 512b para generar un nuevo valor
digest que es nuevamente combinado con los
siguientes 512b para generar un nuevo valor digest.
Javier Caas 2002

44

22

...Message Digest (MD)


MD5 opera con cantidades de 32b para ser
manejados en forma eficiente por procesadores de
32b.
El valor digest es un nmero de 128b. Se representa
con 4 palabras de 32b: d0, d1, d2, d3.
Cada pedazo de mensaje es de 512b. Se consideran
16 palabras de 32b: m0, m1, .., m15.
Las transformaciones bsicas se dividen en 4 pasos.
En cada paso, se calcula un nuevo valor del digest
a partir del valor anterior y de las 16 palabras del
mensaje. Cada paso tiene 16 etapas.
Javier Caas 2002

45

...Message Digest (MD)


Los primeros 6 de las 16 etapas son:
d0=(d0+F(d1,d2,d3) + m0 +T1) 7
d3=(d3+F(d0,d1,d2) + m1 +T2) 12
d2=(d2+F(d3,d0,d1) + m2 +T3) 17
d1=(d1+F(d2,d3,d0) + m3 +T4) 22
d0=(d0+F(d1,d2,d3) + m4 +T5) 7
d1=(d3+F(d0,d1,d2) + m5 +T6) 12
F(a,b,c) es una combinacin de operadores de bit
(OR, AND, NOT) sobre los argumentos.
Ti son constantes. n es un operador que rota el
operando en n bits
Javier Caas 2002

46

23

...Message Digest (MD)


El proceso contina hasta consumir las 16 palabras
del mensaje. Cada etapa implica volver a escribir una
de las palabras que constituyen el digest, es decir:
d0, d1, d2, d3
El segundo paso es similar al primero. Las
diferencias son:
Se reemplaza F por una funcin G
Las constantes T1, , T16 se reemplazan por otro conjunto:
T17, , T32.
Se cambian los valores de rotacin: {5, 9, 14, 20, 5, 9, }
En vez de tomar los pedazos de mensaje en el orden m0,
m1, , m15, el pedazo de mensaje que se usa en la etapa i
es m(5i+1)mod16.
Javier Caas 2002

47

...Message Digest (MD)


El tercer paso:
Se reemplaza G por una funcin H. H realiza slo el OR-EX
de sus argumentos.
Se usa otro conjunto de cosntantes: T33, , T48.
Se cambian los valores de rotacin: {4,11, 16, 23, 4, 11, }
En orden en que se toman los mensajes es: m(3i+5)mod16.

Por ltimo, el cuarto paso:


Se reemplaza H por una funcin I. I es una combinacin de
OR-EX, OR y NOT de sus argumentos
Se usa otro conjunto de cosntantes: T49, , T64.
Se cambian los valores de rotacin: {6,10, 16, 21, 6, 10, }
En orden en que se toman los mensajes es: m(7i)mod16.
Javier Caas 2002

48

24

Observaciones
Al finalizar el cuarto paso se ha logrado cambiar los
128b del disgest original por otro valor que depende
slo de los 512b de la primera parte del mensaje.
Este nuevo valor del digest sirve ahora como entrada
para los siguientes 512b de mensaje.
MD5 es razonablemente eficiente debido a que las
operaciones de bit: AND, OR, NOT y OR-EX; las
rotaciones y sumas son fcilmente implementables
en procesadores modernos.

Javier Caas 2002

49

Desempeo de DES, RSA y MD5


DES y MD5 son rdenes de magnitud ms rpidos que
RSA al ser implementados en software.
Por ejemplo, en una estacin de trabajo Alpha (1998):
DES: 36Mbps
MD5: 85Mbps
RSA: 1Kbps

Al implementar en hardware (VLSI): DES y MD5


registran cientos de Mbps mientras que RSA llega a
64kbps.
Por esta razn RSA se usa para encriptar mensajes
pequeos: nmeros de tarjetas de crdito, password,
etc..
Javier Caas 2002

50

25

3 Mecanismos de Seguridad
Los algoritmos de criptografa son slo una
parte de una idea ms global que es
proporcionar seguridad en una red.
Estudiaremos un conjunto de mecanismos y
protocolos que buscan resolver varios
problemas, por ejemplo:
Autenticar personas
Asegurar la integridad de mensajes
Distribuir claves pblicas.

Comenzaremos estudiando protocolos de


autenticacin
Javier Caas 2002

51

Autenticacin
Antes que dos participantes establezcan un canal
seguro (usando DES o RSA), deben estar seguros
que la otra parte es efectivamente quien dice ser.
Este es el problema de la autenticacin.
Ejemplo un servidor de archivo recibe la orden de
eliminar un determinado archivo de su dueo. Es
efectivamente el dueo del archivo?
Veremos tres protocolos de autenticacin:
Handshake de Tres Saltos (Usa DES)
Tercera Parte Confiable (Usa DES)
Autenticacin de Llave Pblica (Usa RSA)

Javier Caas 2002

52

26

Handshake de tres Saltos


Lo ms simple es pensar en dos partes como
cliente y servidor que comparten una llave
secreta.
El Cliente y el Servidor se autentifican cada
uno usando un handshake de tres saltos.
Sea E(m,k) la encriptacin del mensaje m
usando la llave k.
Sea D(m,k) la desencriptacin del mensaje m
usando la llave k
Javier Caas 2002

53

Handshake de Tres Saltos


Cliente

Servidor
Id-Cliente

, E(x, CHK

K), E
E(x+1, SH

(y, SHK)

E(y+1, CH

E(SK, SH

K)

K)

Javier Caas 2002

54

27

Algoritmo Handshake de Tres Saltos


1) El Cliente elige un nmero aleatorio x, lo encripta
con su llave secreta CHK (CHK es la llave de
handshake del Cliente
2) El cliente enva E(x, CHK) junto con una
identificacin de cliente (Id-Cliente)
3) El Servidor usa la Llave que el piensa corresponde al
Cliente (SHK) y desencripta el nmero aleatorio. Le
suma 1 y lo vuelve a enviar al cliente. Tambin
genera un nmero aleatorio y que lo encripta con
SHK
Javier Caas 2002

55

Algoritmo Handshake de Tres Saltos


4) El Cliente verifica si el nmero encriptado
corresponde a x+1. Si es asi, ya tiene autentificado al
servidor
5) El Cliente desencripta y usando SHK, le suma 1 y lo
devuelve al servidor
6) despus del tercer mensaje, ya estn ambos
autentificados.
7) En el cuarto mensaje, el servidor le enva una Llave
de sesin (SK) encriptada con SHK que usan
posteriormente para intercambiar datos
Javier Caas 2002

56

28

Protocolo de Tercera Parte Confiable


El escenario ms probable es que ninguna de las dos
partes sepa algo de la otra. En este caso una tercera parte
puede ser de utilidad. La tercera parte es un Servidor de
Autenticacin
Existen muchos protocolos de este tipo. Se presenta el
protocolo Kerberos, basado en TCP/IP y desarrollado en
el MIT.
Los dos participantes se llamarn A y B. El servidor de
autenticacin se llamar S.
Kerberos asume que A y B en forma independiente
comparten una clave secreta con S

Javier Caas 2002

57

Kerberos
Sean KA y KB las llaves que A y B respectivamente
comparten con S.
Sea E(m,K) el mensaje m encriptado con la llave K
Inicialmente A enva a S un mensaje que identifica a
A y a B.
El servidor genera un valor de tiempo T (similar al
nmero aleatorio x) un tiempo de vida L y una llave
K. T y L permiten establecer una validez temporal a
K. Si el tiempo expira A y B deben recurrir
nuevamente a S a solicitar una nueva llave.

Javier Caas 2002

58

29

...Kerberos
S responde a A con un mensaje que contiene dos
partes.
La primera encripta T, L y K junto con la identificacin de B
usando la Llave KA
La segunda encripta T, L y K junto con la identificacin de A
usando la Llave KB

Cuando A recibe el mensaje slo puede desencriptar


la primera parte pero no la segunda. Le pasa la
segunda parte intacta a B junto con A y T encriptado
con la nueva Llave K.
Finalmente B desencripta la parte que A le enva
intacta y recupera T, K y A
Javier Caas 2002

59

...Kerberos
B usa K para desencriptar la primera parte del
mensaje que le llega desde A y verifica si hay
consistencia con los valores de A y K
B enva a A usando K el valor T+1
A y B pueden ahora comunicarse tranquilos usando
K que asegura su privacidad
La siguiente diapositiva muestra el protocolo en
diagrama de lneas de tiempo

Javier Caas 2002

60

30

...Kerberos
B

S
A, B
E((T,L,K,B

), KA),

E((T,L,K,A

), KB)

E((A,T), K
E((T,L,K,A

), KB)

E(T+1, K)

Javier Caas 2002

61

Autenticacin de Llave Pblica


Este protocolo usa un sistema de criptografa
de clave pblica, por ejemplo RSA.
Ambas partes slo necesitan conocer las
claves pblicas del otro.
El participante A encripta un nmero aleatorio
x usando la clave pblica de B.
B demuestra ser quien es desencriptando x
con su clave secreta y enviando x encriptado
con la clave pblica de A.
De la misma forma A se puede autenticar
ante B
Javier Caas 2002

62

31

Autenticacin con Claves Pblicas


A

B
E(x, K

Bpublico )

Javier Caas 2002

63

Protocolos de Integridad de Mensajes


Un aspecto de la seguridad es evitar leer
mensajes que fluyen por una red, pero otro
aspecto es evitar que sea una impostora la
que est enviando mensajes. Se requiere
asegurar la integridad de los mensajes.
Cmo asegurar la integridad de los
mensajes?
Una posibilidad es encriptar el mensaje usando
CBC (Cipher Block Chaining), y usar el residuo
(ltimo bloque) como un cdigo de integridad de
mensaje (MIC: message integrity code)
Javier Caas 2002

64

32

VI

Block1

Block2

Block3

Block4

DES

DES

DES

DES

Cipher1

Cipher2

Cipher3

Cipher4

MIC
Mensaje transmitido: Texto plano+MIC
Javier Caas 2002

65

Observacin
Se puede usar DES con CBC para
criptografiar y al mismo tiempo generar MIC
para integridad?
NO, ya que significara duplicar el ltimo bloque y
cualquiera lo podra hacer

Adems de este mtodo examinaremos tres


alternativas para asegurar integridad de
mensajes:
Firmas digitales
MD5 con claves
MD5 con firma digital
Javier Caas 2002

66

33

Firma Digital
Una firma digital es un caso especial de MIC,
donde el cdigo de integridad ha podido ser
generado solo por un participante.
Es fcil hacerlo usando RSA ya que un
participante es el nico que conoce su propia
llave privada. Se usa la llave privada para
generar la firma digital. Cualquier otro
participante puede verificar la firma usando
su correspondiente llave pblica.
Problema: generar una firma digital es tan
lento como RSA, es decir 2 a 3 rdenes de
magnitud respecto a DES
Javier Caas 2002

67

Integridad usando MD5


MD5 genera un checksum criptogrfico a un
mensaje. Este checksum no depende de
ninguna llave, y cualquier impostor puede
generar un mensaje con un checksum
correcto.
Hay dos formas de implementar integridad
usando MD5 y mejorando desempeo
respecto a RSA. Uno de ellos es el MD5 con
llave

Javier Caas 2002

68

34

MD5 con llave


Supongamos que el transmisor y receptor de
mensajes comparten una llave secreta k.
Esto es posible hacerlo en forma dinmica
por ejemplo usando kerberos:
El transmisor enva:
m + MD5(m+k)
m: mensaje
k: clave
+: operador de concatenacin de strings

Javier Caas 2002

69

...MD5 con llave


El receptor del mensaje le aplica MD5 a m+k.
Si coincide el checksum con el mensaje, hay
seguridad que el mensaje lo haya enviado
slo el participante que posee la llave.
Una alternativa es agregar llave pblica para
simplificar la tarea de obtener pares de llave
entre el transmisor y receptor

Javier Caas 2002

70

35

MD5 con llave+ llave pblica


El transmisor elige una llave k en forma
aleatoria y la encripta usando RSA con su
llave privada. La llave criptografiada puede
ahora ser enviada al receptor junto al
mensaje original y el checksum MD5:
m + MD5(m+k) + E(k, llave_privada)

El receptor ahora recupera la llave k usando


su llave RSA pblica y procede a correr MD5
sobre la concatenacin de el mensaje m y k.
Si el resultado coincide, hay seguridad que el
mensaje lo envi el que dice ser.
Javier Caas 2002

71

MD5 con firma RSA


El transmisor corre el algoritmo MD5 sobre el
mensaje que quiere proteger generando un
checksum MD5. Este checksum se encripta
usando la llave RSA privada del transmisor.
El mensaje original no es criptografiado, sino slo
el checksum. Se transmite:
m + E(MD5(m) , llave_privada)

Javier Caas 2002

72

36

...MD5 con firma RSA


El receptor verifica el mensaje:
corriendo MD5 sobre el mensaje recibido
desencriptando el checksum con la llave pblica del
transmisor
comparando los dos checksum

Javier Caas 2002

73

Distribucin de Claves Pblicas


La criptografa con claves pblicas es una
tecnologa muy til, pero depende de la
distribucin de las llaves pblicas.
Cmo saber que una clave pblica es
legtima?
Supongamos que A quiere compartir una clave pblica
con B.
Al usar e-mail, B no tiene forma de estar seguro de
saber que la llave viene de A.
C podra enviar la clave pblica a B y decir que
proviene desde A.
Javier Caas 2002

74

37

...Distribucin de Claves Pblicas


Si A y B son seres humanos podran intercambiar
juntndose en una misma pieza y tal vez poniendo sus
claves pblicas en sus tarjetas de visita

La nica forma es intercambiar claves pblica


mirndose a los ojos.
Hay otra solucin?
Si!, usando certificados digitales

Javier Caas 2002

75

Certificados
La idea se basa en firmas digitales: el dueo de
alguna llave puede criptogrficamente firmar un
conjunto de datos.
La firma digital aseguran que los datos fueron
generados por el propietario de alguna llave y
que esta informacin no ha sido modificada
desde el momento que se firm digitalmente.

Javier Caas 2002

76

38

...Certificados
Un certificado no es otra cosa que un caso
especial de un documento firmado que dice:
Certifico que la llave pblica que aparece en este
documento, pertenece a la entidad que aqu se
menciona.
X
_____
Firma
X podra ser cualquiera que tenga una clave
pblica, per lo ms comn es que sea alguna
autoridad certificadora (CA:certificate authority).
Javier Caas 2002

77

...Certificados
Una autoridad certificadora es una empresa que
est en el negocio de generar certificados
Es claro que el certificado slo es til a
participantes que tengan la llave pblica de X,
porque es la nica forma de verificar la firma.
Los certificados por si mismos no resuelven el
problema de la distribucin de las llaves, pero
permiten hacerlo.
Teniendo la llave pblica de X, es posible juntar
llaves pblicas de otros participantes que tengan
certificados de X
Javier Caas 2002

78

39

Cadenas de confianza
La idea de los certificados es construir cadenas
de confianza:
Si X certifica que alguna llave pblica pertenece a Y, e
Y certifica que otra llave pblica pertenece a Z, existe
una cadena de certificados desde X a Z, aunque es
posible que X y Z nunca se hayan encontrado.
Si Z desea pasar su llave pblica a A, podra pasar la
cadena completa, es decir, el certificado para la llave
pblica de Y generado por X, y el certificado para Z
generado por Y. Si A tiene la llave pblica de Z, podra
usar la cadena para verificar que la llave pblica de Z
es legtima
Javier Caas 2002

79

...Cadenas de confianza
Con la construccin de cadenas de confianza, la
distribucin de claves pblicas resulta tratable.
Normalmente se organizan en una estructura de
rbol tal como se muestra en la siguiente
transparencia.
Si todos tienen la llave pblica de la raz,
cualquier participante puede proporcionar una
cadena de certificados a otros participantes y
saber que sera suficiente construir una cadena
de confianza para ese participante
Javier Caas 2002

80

40

CA

CA

CA

User

CA

CA

CA

User

CA

CA

CA

CA

CA

User

User

User

CA

User

User

User

Javier Caas 2002

81

Construccin de Cadenas de Confianza


Si se tiene la llave pblica de la raz de CA,
es necesario estar seguro que cada CA de la
raz a las hojas est haciendo seriamente su
trabajo. Por ejemplo si algn CA emite
certificados a individuos sin verificar
previamente su identidad, la cadena de
certificados resulta invalidada.
Un aspecto importante es: Qu se certifica?.
En realidad lo que se hace es crear un
enlace entre una identidad y una llave
pblica.
Javier Caas 2002

82

41

...Construccin de Cadenas de Confianza


Por ejemplo, un certificado dice: Esta llave
pblica pertenece a Vernica Gonzlez.
Cuntas Vernicas Gonzlez existen?.

Esto significa que los certificados deben


utilizar un espacio de nombres de
identidades muy bien definidos, por ejemplo,
si se distribuyen por e-mail: Esta llave
pblica pertenece a veronica@yeah.cl
<Vernica F. Gonzlez>.

Javier Caas 2002

83

X.509
Uno de los principales estndares de
certificacin es X.509.
X.509 especifica una estructura bsica para
certificados.
Los componentes de un certificado deben
incluir:

El nombre de la entidad que es certificada


La llave pblica de la entidad
El nombre de la autoridad certificadora (CA)
La firma digital
Javier Caas 2002

84

42

X.509
Aspectos importantes:
La posesin de un certificado no dice nada
respecto a la identidad del que lo posee
Los certificados pueden ser libremente copiados y
distribuidos.
Para probar la identidad que aparece en el
certificado, la unica forma es a travs de la llave
privada que corresponde a la llave pblica que
aparece en el certificado (este es un problema de
autenticacin)

Javier Caas 2002

85

Ejemplos de Sistemas Seguros


Hemos visto los principales componentes
que se requieren para construir sistemas
seguros:
criptografa
protocolos de autenticacin
mecanismos de distribucin de llaves.

Veremos sistemas que utilizan estos


componentes. Se pueden categorizar acorde
a la capa de protocolo en las cuales operan

Javier Caas 2002

86

43

...Ejemplos de Sistemas Seguros


IPSEC: IP seguro, opera en la capa IP
PEM: Privacy Enhaced Mail, opera en la capa
de aplicacin.
PGP: Pretty Good Privacy, opera en la capa
de aplicacin.
TLS: Transport Layer Security, opera en la
capa de transporte. TLS se deriva de SSL
SSL: Secure Socket Layer, opera en la capa
de transporte

Javier Caas 2002

87

PEM: Privacy Enhanced Mail


PEM es un esfuerzo del IETF para proveer
mecanismos que den soporte a la
criptografa, autenticacin e integridad de
mensajes de correo electrnico.
PEM especifica:

formatos de mensajes
jerarqua de CA
jerarqua de algoritmos de criptografa
Formatos de mensajes para pedir y revocar
certificados

Javier Caas 2002

88

44

...PEM: Privacy Enhanced Mail


PEM utiliza llaves pblicas RSA para
criptografa y autenticacin, y por lo tanto
necesita mecanismos para distribuir en forma
confiable la llave pblica a todos los
participantes.
Por ejemplo, cuando el participante A desea
obtener la llave pblica de B, una manera de
hacerlo es va un certificado de alguien en
quien A confe (CA) que diga: La llave
pblica de B es K. Firma CA.
Javier Caas 2002

89

...PEM: Privacy Enhanced Mail


En vez de buscar en una autoridad central
(limita escalabilidad), PEM especifica una
jerarqua de rbol como la vista
anteriormente para que el proceso de
certificacin sea ms escalable..
La autoridad PEM puede delegar su
autoridad a otro CA que est ms bajo en el
rbol. Esto significa que CA1 en vez de firmar
certificados para individuos, firma certificados
para otro CA, como por ejemplo CA2.
Javier Caas 2002

90

45

...PEM: Privacy Enhanced Mail


Asumiendo que conoc la llave pblica de CA1,
puedo ahora en forma confiable aprender la
clave pblica de CA2.
Ahora si CA2 firma un certificado para B, se
puede confiar que se trata de la llave pblica de
B. Delegando repetidamente la autoridad, es
posible construir un rbol como el que se indica
en la siguiente transparencia.
Comenzando con la llave pblica de la raz, se
puede a travs de un conjunto de certificados,
conocer la llave pblica de cualquier hoja.
Javier Caas 2002

91

IPRA = Internet Policy


Registration Authority (root)
PCA n = policy certification authority
CA = certification authority

IPRA

PCA1

CA

User

PCA3

PCA2

CA

User

CA

CA

CA

CA

CA

User

User

User

CA

User

User

User

Javier Caas 2002

92

46

...PEM: Privacy Enhanced Mail


El problema con este tipo de delegacin es la
delegacin de confianza de un CA a otro.
El hecho que CA1 firme el certificado de CA2 me
da bastante confianza en que tengo la clave
pblica legtima de CA2 (ya que confo en que
CA1 hace muy bien su trabajo), pero no me da
confianza en los certificados que emite CA2 ya
que CA2 podra ser sobornado por dinero.
Qu hacer?

Javier Caas 2002

93

...PEM: Privacy Enhanced Mail


La autoridad raz (IPRA), conoce ms respecto
a cada CA, y no slo su identidad, por ejemplo
los procedimientos que utiliza para generar
certificados.
La jerarqua PEM permite diferentes tipos de CA
los cuales son certificados por diferentes
autoridades (PCA). Cada PCA tiene un conjunto
de polticas pblicas que utiliza para delegar
autoridad. Por ejemplo PCA1 podra tener un
conjunto de polticas muy estrictas y PCA2
menos estrictas.
Javier Caas 2002

94

47

...PEM: Privacy Enhanced Mail


Los certificados PEM siguen el estndar X.509.
Cuando A necesita entregar su clave pblica a
B, le incluye suficientes certificados para
convencer a B que la llave es correcta.
Si A y B pertenecen a la misma organizacin y
comparten el mismo CA, basta que A le enve el
certificado firmado por CA local.
Si A y B no saben nada uno de otro, A le enva
una cadena completa de certificados desde la
raz (IPRA) hasta A .
Javier Caas 2002

95

...PEM: Privacy Enhanced Mail


Cuando A desea autenticar un mensaje y
enviarlo a B, A calcula el cheksum criptogrfico
del mensaje (MD5) y luego firma el checksum
usando su llave privada. O sea, A enva:
m + E(MD5(m), privadaA)
donde m es el mensaje original
El receptor utiliza la llave pblica de A para
desencriptar el checksum. Tambin calcula el
checksum MD5 sobre el mensaje recibido.
El procedimiento se indica a continuacin:
Javier Caas 2002

96

48

Si el cheksum coincide
Se confirma la identidad e
Integridad del mensaje

Calcular checksum MD5


Sobre contenido del mensaje

Calcular checksum MD5 sobre


mensaje recibido y comparar
con el recibido

firmar checksum usando RSA


con la llave privada del transmisor

Desencriptar checksum firmado


con la llave privada del transmisor

Mensaje Transmitido

Javier Caas 2002

97

...PEM: Privacy Enhanced Mail


Para criptografiar un mensaje, A primero debe
conocer la llave pblica de B, la cual ha sido
enviada a A va un e-mail usando los
certificados apropiados.
Despus A elige una llave aleatoria con la cual
encripta la llave pblica de B y se incluye en el
mensaje.
La llave generada se utiliza para criptografiar el
mensaje usando DES en el modo CBC. Al
recibir, B usa su llave privada para extraer la
llave generada. El proceso se indica:
Javier Caas 2002

98

49

Mensaje Original

Crear una llave secreta k random

Desencriptar mensaje usando


DES con llave k

Criptografiar mensaje usando


DES con llave secreta k

Criptografiar k usando RSA con


La llavepblica del receptor

Desencriptar E(k) usando RSA


Con mi llave privada. Obtener k

codificar message +E(k)


en ASCII para transmisin

Convertir mensaje ASCII

Mensaje Transmitido

Javier Caas 2002

99

Estructura de un mensaje PEM


----BEGIN PRIVACY-ENHANCED MESSAGE---PEM header; incluye modos (MIC-CLEAR, MIC-ONLY, ENCRYPTED)
vector inicializacin para DES-CBC
Certificado de emisor (firmado por emisor CA)

Cerificado de emisor (firmado por el siguiente nivel emisor CA

Certificado de PCA firmado por IPRA


Cdigo de integridad de mensaje MIC
Llave k de mensaje encriptada con la llave pblica del receptor
Cuerpo del mensaje (Claro, encriptado o codificado (transito por routers)
----END PRIVACY-ENHANCED MESSAGE---
Javier Caas 2002

100

50

PGP: Pretty Good Privacy


PGP cumple la misma funcin que PEM. Difiere
en pequeos detalles. Los ms significativos
estn en la forma como se manejan certificados:
PEM fuerza una jerarqua estricta y PGP admite
mallas arbitrarias de CA.
Es necesario recordar que el problema de
distribuir llaves est en el establecimiento de
una cadena de confianza.
PGP parte de la base que cada usuario maneja
sus propios criterios.
Javier Caas 2002

101

...PGP: Pretty Good Privacy


Por ejemplo si una persona A, que conozco muy
bien me entrega personalmente su llave pblica,
confo que pertenece a ella.
Si A me da un certificado de B firmado por A
puedo dudar. Tambin puedo confiar que A me
pueda dar certificados de personas que trabajan
con ellas.
PGP reconoce que el problema de la confianza
es de ndole personal y entrega a los usuarios
material suficiente para que ellos tomen sus
propias decisiones .
Javier Caas 2002

102

51

...PGP: Pretty Good Privacy


Phil Zimmerman desarrollador de PGP: PGP es
para personas que prefieren ellas mismas
doblar su propio paracadas
La operacin es similar a PEM, pero permite
que diferentes algoritmos sean usados en
distintas funciones (Se indican en los headers).

Javier Caas 2002

103

Transport Layer Security (TLS, SSL, HTTPS)


La motivacin original de TLS fue la de hacer
transacciones confiables a travs de www, es
decir, la necesidad de privacidad, integridad y
autenticacin.
La primera solucin fue SSL, la base del
estndar IETF TLS.
El transmisor puede abrir una conexin y
entregar bytes para que sean transmitidos. TLS
se encarga de transportarlos en forma segura.
Corriendo TLS sobre TCP permite mantener
todas las caractersticas de TCP.
Javier Caas 2002

104

52

Aplicacin (ej. HTTP)


Secure transport layer
TCP
IP
Subred

Javier Caas 2002

105

TLS: HTTPS
Cuando HTTP se usa de esta manera, se
conoce como HTTPS.
HTTP no cambia.
Lo nico que ocurre es que HTTP en vez de
recibir datos de TCP, recibe de TLS. Por
conveniencia se asigna a HTTPS la puerta 443.
La diferencia entre TLS y por ejemplo PEM est
en la posibilidad de negociacin en tiempo real.
Por ejemplo TLS contempla la posibilidad de en
medio de una transmisin cambiar el algoritmo
de criptografa.
Javier Caas 2002

106

53

...TLS
TLS se separa en dos partes:
Handshake para negociar parmetros de comunicacin
Protocolo para transferencia de datos

El handshake busca suficientes estados


compartidos en ambos extremos para asegurar
comunicacin segura:
algoritmos de criptografa con sus respectivos
parmetros.
Los estados compartidos se representan por una
identificacin de sesin que se almacena en ambos
extremos
Javier Caas 2002

107

...TLS
Cliente

Servidor
Hello

es,
, llav
icado oListo
if
t
r
e
[C
ell
Hello equest] H
R
.
t
r
e
C
[Verif [Certifica
do] ll
icaci
aves
n
Cert
.] Fin
aliza
do
ado
z
li
a
Fin
Dato
s

Javier Caas 2002

108

54

...TLS
Si se requiere, el protocolo de handshake es
responsable del intercambio de certificados entre
los participantes.
Ejemplo: compra con tarjeta de crdito
el cliente necesita saber si est conectado con el
servidor real, pero el mismo no necesita ser autenticado
El servidor puede entregar un certificado o una cadena
de certificados como parte del handshake inicial
proporcionando al cliente una copia confiable de su
llave pblica.
El servidor puede autenticar sucesivos mensajes
firmndolos con su llave privada
Javier Caas 2002

109

...TLS
El cliente es capaz ahora de encriptar sus mensajes
con la llave pblica del servidor.
Lo primero que hace con esta llave es encriptar y enviar
al servidor una llave secreta con la cual se pueden
derivar sucesivos secretos.

Protocolo de transferencia de datos: define un


conjunto de formatos y procedimientos que
permiten manejar los mensajes a la capa de
aplicacin. Por ejemplo: fragmentacin,
compresin, proteccin de integridad (MD5),
encriptacin
Javier Caas 2002

110

55

IP Security: IPSEC
IPSEC es un esfuerzo que busca integrar la
seguridad al nivel IP.
IPSEC es ms que un protocolo. Es un marco
para proporcionar diversos servicios de
seguridad.
Como arquitectura IPSEC proporciona 3 grados
de libertad:
los administradores de sistema pueden elegir una
variedad de algoritmos criptogrficos y diversos
protocolos especializados

Javier Caas 2002

111

...IP Security: IPSEC


Los usuarios pueden seleccionar una gran variedad de
servicios de seguridad como control de acceso,
integridad, autenticacin y privacidad.
Los usuarios pueden controlar la granularidad en la
forma como los diversos servicios son aplicados. Esto
significa controlar desde flujos TCP hasta flujos entre
gateways.

Javier Caas 2002

112

56

...IP Security: IPSEC


Desde una perspectiva de alto nivel, IPSEC
consiste en dos piezas:
La primera pieza es un par de protocolos que
implementan los servicios de seguridad disponibles:
AH: Authentication Header que proporciona control
de acceso, integridad de mensajes sin conexin,
autenticacin, proteccin anti-replay
ESP: Encapsulating Security Payload. Soporta los
mismos servicios que AH, pero agrega
confidencialidad.
Ambos protocolos se pueden usar mezclados o
independientes
Javier Caas 2002

113

...IP Security: IPSEC


La segunda pieza es el soporte para la administracin
de llaves. Este soporte est bajo el paraguas que
proporciona el protocolo ISAKMP (Internet Security
Association and Key Management Protocol)

Ambas piezas de IPSEC se unen por medio de


una abstraccin llamada security association
(SA).
Un SA es una conexin simplex (en un sentido)
protegida por uno o ms servicios de seguridad.
Un SA se puede establecer entre pares de host,
entre un host y un Gateway seguro (con IPSEC)
o entre pares de Gateway seguros.
Javier Caas 2002

114

57

...IP Security: IPSEC


Por ejemplo, una conexin TCP segura
(bidireccional) entre pares de host requieren de
dos SA, uno para cada direccin.
Desde una perspectiva local, una SA dada
contiene toda la informacin que se requiere para
ejecutar los servicios de seguridad AH y ESP.
Al crearse, una SA es asignada a un ndice de
parmetro de seguridad (SPI) por la mquina
receptora. La combinacin de SPI con La IP
destino identifica unvocamente la asociacin de
seguridad (SA). Tanto AH como ESP ponen el SPI
en sus respectivos headers.
Javier Caas 2002

115

ISAKMP
ISAKMP es un protocolo para establecer
asociaciones de seguridad y llaves de criptografa
entre dos o ms nodos de una red
El rol de ISAKMP es definir procedimientos y
formatos de paquetes para establecer, negociar,
modificar y destruir asociaciones de seguridad
(SA).
ISAKMP slo provee un marco general, aunque
sugiere posibildades

Javier Caas 2002

116

58

AH: Authentication Headers


AH proporciona integridad sin conexin y
autenticacin del origen para datagramas IP.
El header AH es:
NextHdr

PayloadLength
Reservado para uso futuro
SPI
SeqNum
AuthenticationData

Este header viene a continuacin del header


IPv4 o una extensin de IPv6
Javier Caas 2002

117

...AH: Authentication Headers


NextHdr: tipo de la siguiente carga til despus
de AH
PayloadLength: Largo de AH en palabras de
32b
Reservado: para uso futuro. Valor actual es
cero
SPI: valor de 32 bits que junto a la direccin IP
determina la asociacin de seguridad para el
datagrama

Javier Caas 2002

118

59

...AH: Authentication Headers


SeqNum: contador que se incrementa
monotnicamente. Protege contra replay. En el
transmisor y recepto se inicializan en cero.
Antes de transmitir el paquete 232, se establece
una nueva SA
AuthenticationData: contiene nel MIC para este
paquete, mltiplo de 32b. Puede usarse cualquier
algoritmo como DES o MD5

Javier Caas 2002

119

ESP: Encapsulating Security Payload


Este header est diseado para proveer una
mezcla de servicios de seguridad tanto para
IPv4 como para IPv6. Se puede aplicar solo o
en conjunto con AH.
Se inserta despus del header IP y antes del
header de transporte.
ESP proporciona confidencialidad,
autenticacin de origen, integridad de conexin
y servicio antireplay

Javier Caas 2002

120

60

...ESP: Encapsulating Security Payload


El formato del header ESP es:
SPI
SeqNum
PayloadData
Padding (0 255 bytes)
PadLength

NextHdr

AuthenticationData

Javier Caas 2002

121

...ESP: Encapsulating Security Payload


SPI: la misma funcin que AH
SeqNum: protege contra ataques de replay
PayloadData: Datos descritos en el header
NextHdr. Si se selecciona confidencialidad
se encriptan los datos acorde a algn
algoritmo que fue asociado con el SA. El
relleno (padding) es necesario segn el
algoritmo utilizado.

Javier Caas 2002

122

61

...ESP: Encapsulating Security Payload


AuthenticationData: contiene el MIC para
este paquete al igual que AH. Este campo es
necesario ya que ESP soporta mezclas de
integridad, privacidad y autenticacin.
Una de las formas ms frecuentes de utilisar
ESP es a travs la construccin de un tunes
IPSEC entre dos routers. Este tunel se
puede configurar para proveer
confidencialidad y autenticacin, previniendo
accesos no autorizados a los datos que
pasan por los links virtuales
Javier Caas 2002

123

Ejemplos de uso: Autenticicacin+privacidad

IP-H

AH

ESP -H

Segmento de Transporte
Encriptado

IP-H ESP -H

IP-H

AH

Segmento de Transporte
Encriptado

Javier Caas 2002

124

62

4 Cortafuegos
Conceptualmente un cortafuegos es un
router programado en forma especial y que
se ubica entre un sitio que se desea proteger
y el resto de la red, tal como se muestra:

Resto de la Red

Cortafuego

Javier Caas 2002

Sitio

125

Cortafuegos
La programacin consiste en filtrar los paquetes
que fluyen a travs de l.Por ejemplo puede
descartar todos los paquetes que van hacia una
IP particular o a alguna puerta TCP.
Este filtraje resulta til cuando se desea evitar
que usuarios externos tengan acceso a algn
host o servicio particular dentro de una empresa.

Javier Caas 2002

126

63

...Cortafuegos
Tambin resulta muy til filtrar paquetes que
tienen alguna IP fuente, para prevenir que un
host sea inundado por un flujo de paquetes
de un host externo. Este tipo de ataque se
denomina falla de servicios.
Si se usaran todas la tcnicas de seguridad
ya estudiadas, no seran necesarios los
cortafuegos. Por ejemplo al usar IPSEC, es
necesario una autentificacin antes de usar
una conexin.
Javier Caas 2002

127

...Cortafuegos
Por qu los cortafuegos son tan utilizados
entonces?
Los mecanismos de seguridad no estn tan
difundidos
Permiten a los Administradores de Sistemas
establecer polticas de seguridad en forma
centralizada.

Los Cortafuegos son elementos muy simples


que se clasifican en dos tipos:
Basados en Filtros
Basados en Proxy
Javier Caas 2002

128

64

Cortafuegos basados en Filtros


Este es el tipo ms simple de cortafuegos.
Se configuran mediante una tabla de
direcciones que determinan si los paquetes
deben o no ser despachados.
Cada elemento de la Tabla corresponde a
una 4-tupla: IP y nmero de puerta TCP tanto
de la fuente como del destino.
Por ejemplo un cortafuego se puede
configurar para filtrar la siguiente descripcin:
<192.12.13.14, 1234, 128.6.7.5, 80>
Javier Caas 2002

129

...Cortafuegos basados en Filtros


<192.12.13.14, 1234, 128.6.7.5, 80>
El filtro indica que se deben filtrar todos los
paquetes que vienen de la puerta 1234 del host
192.12.14.1234, y que se dirigen a la puerta 80
del host 128.6.7.5.
Como no resulta prctico enumerar cada host
que se desea flitrar, se utilizan comodines *.
Por ejemplo: <*,*,128.6.7.5, 80> significa filtrar
todos los paquetes que se dirigen a la puerta 80
(http) del host 128.6.7.5, independiente de
donde vengan.
Javier Caas 2002

130

65

...Cortafuegos basados en Filtros


Es interesante observar que para filtrar y
despachar, es necesario tomar decisiones
basndose en nmero de puertas. Como estos
nmeros corresponden a la capa de transporte,
los cortafuegos se denominan tambin switches
de nivel 4.

Javier Caas 2002

131

Criterios de Filtraje
Dejar pasar todo, excepto algunos paquetes
que se deben filtrar?
No dejar pasar nada, excepto algunos
paquetes que se deben despachar?
En el diseo de sistemas seguros, esta es una
pregunta fundamental, o sea, hay que ser
explcito respecto a lo que se deja pasar o
respecto a lo que se prohbe:
Prohibir todo o estrategia pesimista
Permitir todo o estrategia optimista
Javier Caas 2002

132

66

...Criterios de Filtraje
Prohibir todo o estrategia pesimista
Esta es la estrategia ms segura, pero requiere de
atencin en el momento de escribir las reglas para no
dejar fuera algunos servicios (ej. DNS).
Nuevos servicios indeseables no implican cambios

Permitir todo o estrategia optimista


Como es ms facil saber que servicios negar, es la
ms simple, pero no es tan segura como la estrategia
pesimista.
Nuevos servicios indeseables implican introducir
nuevas reglas
Javier Caas 2002

133

...Criterios de Filtraje
Por ejemplo, si en vez de bloquear el acceso a la
puerta 80 del host 128.6.7.5, el cortafuegos
instruye que el nico acceso permitido es a la
puerta 25 (SMTP) de algn servidor de correo, y
bloquea cualquier otro trfico. Por ejemplo:
<*,*,128.19.20.21, 25>

Qu estrategia utiliza?
Otro aspecto es cuando especificar los filtros:
en la partida del cortafuegos, o se pueden
incorporar dinmicamente nuevos filtros?
Javier Caas 2002

134

67

...Criterios de Filtraje
Cundo se requiere filtraje dinmico?
Es posible que no se conozca la puerta que utilizar
alguna conexin hasta el ltimo momento. Por
ejemplo ftp establece una nueva conexin TCP por
cada archivo que transfiere. Las puertas utilizadas en
ambos extremos no se conocen hasta el momento de
la transferencia, lo cual significa que las plantillas de
filtraje se deben extender dinmicamente para incluir
estas puertas. Un cortafuegos con esta capacidad se
dice que provee seleccin de puertas dinmicas

Javier Caas 2002

135

Cortafuegos basados en Proxy


Un proxy es una tcnica general que se usa en
diversas situaciones. Una de ellas son los
cortafuegos.
Qu es un Proxy?
Bsicamente es un proceso que se ubica entre entre
un proceso cliente y un proceso servidor.
Para el cliente, el Proxy se ve como un servidor.
Para el servidor, el cliente es el Proxy
Como el Proxy imita a clientes y servidores,
necesariamente tiene conocimiento incorporado
El Proxy contiene una cach que permite responder
sin pasar la pregunta al servidor
Javier Caas 2002

136

68

...Cortafuegos basados en Proxy


Cmo implementar polticas de seguridad
mediante Proxy?
Para ejemplificar consideremos un Sevidor de
Web en una empresa
La empresa desea hacer accesibles alguna de sus
pginas a cualquier usuario externo (no servira filtrar
trfico a la puerta 80).
La empresa desea restringir el acceso a usuarios
cualquiera desde sitios remotos permitiendo el acceso
slo a sus empleados, pero no a cualquiera.
Esta situacin se expresa como:
Javier Caas 2002

137

empleado
remoto

Internet

Firewall

Red Empresa

Web
server

usuario
cualquiera

Javier Caas 2002

138

69

...Cortafuegos basados en Proxy


Cmo implementar polticas de seguridad
mediante Proxy?
No hay forma de expresar la poltica descrita
usando filtraje, porque el acceso depende del
URL contenido en cada requerimiento HTTP.
Solucin?
Poner un Proxy HTTP en el cortafuego.
Los usuarios remotos establecen una conexin
HTTP/TCP al Proxy.

Javier Caas 2002

139

...Cortafuegos basados en Proxy


Solucin?
El Proxy observa el URL contenido en el mensaje. Si
la pgina requerida est permitida permitida para el
host que hace la consulta, el Proxy establece una
segunda conexin HTTP/TCP al servidor y se
despacha el requerimeinto al servidor.
El Proxy despacha la respuesta en el sentido inverso
Firewall
Cliente
externo

Servidor

Proxy

Conexin HTTP/TCP externa

Local

Conexin HTTP/TCP interna

Javier Caas 2002

140

70

...Cortafuegos basados en Proxy


Aspectos Interesantes
Para poder responder al cliente, el Proxy debe
entender el protocolo HTTP.
Es necesario extender el Proxy con la capacidad de
decidir a cual Servidor Web enviar la consulta para
hacer un buen balance de carga entre los servidores.
Tambin dejar pginas muy consultadas en la cach.
Se debe definir tambin para otras aplicaciones como
ftp y Telnet.

Javier Caas 2002

141

...Cortafuegos basados en Proxy


Los Cortafuegos basados en Proxy pueden ser:
Transparentes: No son visibles para el transmisor (S)
ni el receptor (R). Slo interceptan mensajes que
fluyen por l.
Clsicos: El Proxy es la nica puerta del sitio, y por lo
tanto es la direccin conocida. No se conoce la
direccin del receptor R

Javier Caas 2002

142

71

Limitaciones de Cortafuegos
Los Cortafuegos tradicionales protegen los
usuarios internos de los usuarios externos, pero
no hacen nada para proteger o aislar de ataques
internos.
A pesar de restricciones y presiones sobre los
usuarios respecto a la seguridad, es posible
importar cdigo mvil e instalarlo internamente.
El cdigo mvil llega en inocentes e-mails y una
vez que se activa, el dao es ilimitado.
Otra vulnerabilidad es la que se logra con la
computacin mvil.
Javier Caas 2002

143

Discusin de diversas Arquitecturas


Existen 3 arquitecturas tpicas de
cortafuegos
Dual-Homed Host
Screened-Host
Screnned Subnet

Javier Caas 2002

144

72

Arquitectura Dual-Homed Host

In

proxy

ter
ne
t

Tarjeta red

Javier Caas 2002

145

Discusin Dual-Homed Host


Se configura el s.o. para evitar despacho IP
entre las dos tarjetas.
El despacho lo hace el Proxy
Las dos redes estn aisladas
El proxy est en el cortafuegos
Cualquier protocolo requiere de un Proxy
Por qu no es tan buena esta arquitectura?
La zona de riesgo est del cortafuegos hacia
fuera. Si falla la mquina, todo falla

Javier Caas 2002

146

73

Arquitectura Screened-Host

In
Router

ter
ne
t

proxy

Aqu se pueden poner filtros como no aceptar


telnet, etc..

Javier Caas 2002

147

Discusin Screened-Host
Los usuarios internos que deseen acceso a Internet,
deben hacerlo va el cortafuegos. El router y
cortafuegos restringen el aceso de usuarios
externos.
Esta configuracin es ms efectiva que el DualHomed-Host porque el cortafuegos no est
conectado directamente a Internet, sino detrs de un
router screening.
El router restringe acceso al cortafuegos va listas de
acceso
Problemas? Zona de riesgo entre la red interna y
el cortafuegos
Javier Caas 2002

148

74

Arquitectura Screened-Subnet

Router
R2

Router
R1

In
te
rn
et

proxy

Javier Caas 2002

149

Discusin Screened-Subnet
El router R1 controla los accesos de la red interna
y los accesos a determinadas mquinas desde
afuera.
R1, el Cortafuegos y R2, se comportan como una
tercera red, es decir, el cortafuegos tiene su
propia red que comparte con los routers.
Proporciona una muy buena defensa frente a
ataques ya que aisla el proxy en una red aparte.
Esta es la arquitectura ms segura, pero la ms
cara. El desempeo se resiente con trfico
pesado
Javier Caas 2002

150

75

5 Arquitecturas Seguras
Un buen nivel de seguridad no slo requiere
buenos protocolos y herramientas sino tambin
involucra la topologa de la red.
La topologa debe considerar los requerimientos
de seguridad de la organizacin.
La idea bsica de una arquitectura segura es la
segmentacin de trfico

Javier Caas 2002

151

Segmentacin de Trfico
Consiste en dividir a los usuarios en categoras.
Cada categora con distintos requerimientos de
seguridad.
Por ejemplo en el contexto de una universidad se
pueden establecer tres categoras:
Primera: Administracin acadmica: manejo de notas,
crditos etc..
Segunda: Profesores: docencia e investigacin
Tercera: Estudiantes

Javier Caas 2002

152

76

...Segmentacin de Trfico
Cada categora tiene requerimientos internos
Profesores con acceso a notas de estudiantes
Estudiantes no tienen acceso a cuentas de profesores
.

Requerimientos Externos
Profesores: acceso completo a Internet
..

Javier Caas 2002

153

Buena Topologa
Internet
router

Cortafuegos

web

FTP

news

Zona Desmilitarizada

DMZ

router
router

router

router

Zona Militarizada MZ

Javier Caas 2002

154

77

Links a URL relacionados


Diversos Algoritmos de Encriptacin
www.geocities.com/ResearchTriangle/4806/fyp.html

Noticias de seguridad posteados por CERT


(Computer Emergency Response Team)
ftp://cert.org/pub

Muy interesante
www.insecure.org
Tutorial de Seguridad de Xavier Bonnaire
www.labsc.inf.utfsm.cl/~bonnaire
Javier Caas 2002

155

FIN
Seguridad de Redes

78

Vous aimerez peut-être aussi