Title: Sistemas Distribuidos
1Sistemas Distribuidos
Seguridad
2Seguridad
- Introducción
- requerimientos, amenazas, ataques
- Criptografía
- clave privada
- clave pública
- Autenticación y distribución de claves
- Caso de estudio Kerberos
- Firmas digitales
3Requerimientos de seguridad
- Canales de comunicación con protección
- contra
- escuchas no autorizadas
- alteraciones
- Verificación de la identidad y/o autenticidad de
- clientes (por los servidores)
- servidores (por los clientes)
- autor de un mensaje (por los receptores)
4Amenazas y ataques
- Algunas amenazas son obvias. En la mayoría de
las - redes locales es fácil construir un programa
para - obtener copias de los mensajes transmitidos
entre - computadoras.
- Otras amenazas pueden ser mas sutiles si los
- clientes fallan en autenticar un servidor de
archivos, - se pueden instalar programas que actúen como
los - servidores de archivos auténticos y obtengan
copias - de información confidencial.
5Amenazas y ataques
- Para protegerse de tales amenazas deben
adoptarse - políticas de seguridad, las cuales son
implementadas - usando mecanismos de seguridad.
- La distinción entre políticas y mecanismos de
- seguridad resulta importante sin ellas no se
puede - decir que el sistema sea seguro.
- ? Las políticas de seguridad son
independientes de la tecnología usada. - ? Los mecanismos de seguridad no aseguran
por si - mismos la seguridad del sistema.
6Modelo de seguridad
- Objeto (o recurso) Destinado a ser usado por
- diferentes clientes, vía invocación remota
- Ej mailbox, sistema de archivos, parte de un
- web site comercial
- Principal
- ? usuario o proceso que tiene autoridad
(derechos) para realizar acciones - ? la identidad del principal es importante
7Modelo de seguridad
Objeto
Derechos de acceso
Invocación
Cliente
Resultado
Server
Principal (Usuario)
Red
Principal (Server)
8Amenazas
- El principal objetivo de la seguridad es
restringir el - acceso a la información y recursos, sólo a
aquellos - principales que están autorizados.
- Las amenazas caen en cuatro clases
- ? Fugas adquisición de información por
receptores no autorizados - ? Alteración no autorizada de información
- ? Robo de recursos uso sin autorización
- ? Vandalismo Interferencia con la operación
del - sistema sin ganancia para el autor de la
amenaza
9Métodos de ataque
- Escucha no autorizada
- Definición Obtención de copias de mensajes sin
- tener autoridad.
- Obtención de mensajes
- ? directamente de la red o,
- ? de información almacenada en forma
inadecuada
10Métodos de ataque
- Enmascaramiento
- Definición Envío o recepción de mensajes usando
la identidad de otro principal, sin su
autorización - Mediante
- ? obtención y uso de la identidad y password
de - otro principal
- ? usando capacidad de acceso al sistema
después que la autorización para hacerlo ha
expirado -
11Métodos de ataque
- Alteración de mensajes
- Definición Interceptación de mensajes y
- alteración de los mismos antes de pasarlos a
los - receptores esperados
- Nota
- ? Difícil en Ethernet (aunque se ha hecho)
- ? Relativamente simple en Internet
12Métodos de ataque
- Reproducción
- Definición Almacenamiento de mensajes y envío
- de los mismos un tiempo después.
- ? Por ejemplo Después que la autorización
para - usar un recurso ha sido revocada
- ? Puede ser usada para robo de recursos y
- vandalismo aún cuando los mensajes
- reproducidos no puedan ser interpretados por
- el autor
13Infiltración
- Virus programa que se autoreproduce y
- que (típicamente) infecta otros programas
- Gusano programa que se autoreproduce y
- propaga en forma independiente
- Caballo de Troya ataque oculto dentro de un
- programa benigno
14Amenazas en sistemas cliente-servidor
Replay
Cliente
Servidor
Request
DoOperation
GetRequest
Alteración
Message
execute
(wait)
request
Replay
SendReplay
(continuación)
Message
Cliente impostor?
Escucha
Servidor impostor?
15Sistemas cliente-servidor(I)
- Requerimientos de seguridad
- Asegurar los canales de comunicación contra
- escuchas no autorizadas
- Diseñar clientes y servidores de manera
- desconfiada
- ? los servidores deben ser satisfechos que
los - clientes actúen en nombre de los
principales - que proclaman ser
- ? los clientes deben garantizar que los
servidores sean quienes dicen ser
16Sistemas cliente-servidor(II)
- Asegurarse que la comunicación es fresca
- ? para evitar la reproducción de mensajes
- Imponer políticas de seguridad
- ? políticas a nivel de compañía/nacional/legal
- ? control de acceso
- ? auditorías
17Implementación de políticas de seguridad
Políticas de seguridad
Encriptación
Control acceso
Servicios autenticación y distribución de claves
18Criptografía
- Encriptación
- ? se aplican reglas para transformar texto
plano - en texto cifrado
- ? definida con una función F y una clave K
- ? un mensaje M encriptado con K se nota
- FK(M) MK
- Desencriptación
- ? se usa una función inversa F-1K(MK)M
- ? Puede ser simétrica (basada en clave secreta
- conocida por ambas partes)
- ? o asimétrica (basada en clave pública)
19Clave secreta
- La encriptación y desencriptación usan la misma
clave secreta - La clave debe ser secreta
- ? para prevenir escuchas no autorizadas
- ? para prevenir enmascaramiento
- Las funciones de encriptación y esencriptación
- no necesitan ser secretas puesto que los
resultados dependen de cuales la clave
20Clave secreta
Comunicación segura con encriptación de clave
secreta
Emisor A
Receptor B
1 Adquiere K 2 f(K,M)?MK 3 Envía MK
1 Adquiere K 2 Recibe MK 3 f-1(K,MK)?M
MK
21Algoritmo DES
- Data Encryption Standard (DES)
- ? desarrollado por IBM en 1977
- ? adoptado en USA como un estándar para
- aplicaciones gubernamentales y comerciales
- Función de encriptación
- ? mapea texto plano de 64 bits en 64 bits de
texto encriptado - ? usa una clave de 56 bits
- ? se rompe en 255 intentos (hecho en 1997)
- ? se implementa en hardware VLSI
22Clave pública
- El problema de clave privada cómo proteger la
- clave?
- Cada principal tiene 2 claves pública y privada
- La clave pública del receptor la usa el emisor
- El receptor usa clave privada para desencriptar
Pública Privada
23Algoritmos de encriptación asimétricos
- Todos dependen del uso de funciones trap-door
Una trap-door provee una vía secreta en una
habitación para salir es obvio, pero si quiere
entrar, debe conocer esta entrada secreta
24Clave pública
Requiere Ke
Base de datos Clave pública
Receptor B
Emisor A
Ke
Ke
1 Adquiere Ke, Kd 2 Publica Ke 3 Recibe MKe 4
D(Kd,MKe)?M
1 Adquiere Ke 2 E(Ke,M)?MKe 3 Envía MKe
MKe
25RSA
- Creado por Rivest, Shamir y Adelman en 1978
- Basado en el problema de factorización
(trap-door) - Información privada
- ? p, primo grande (gt10200)
- ? q, primo grande (gt10200)
- ? ?(n)(p-1)(q-1)
- ? d, entero primo con ?(n)
- Información pública
- ? npq
- ? e, inverso de d módulo ?(n)
26RSA
27RSA pasado, presente y futuro
- En 1978
- ? Se pensó que la factorización de números
- primos gt10200 tomaría 4 billones de años
- En el 2000
- ? Computadoras más rápidas, mejores métodos
- ? Números con 155 dígitos decimales (500
bits) han sido factorizados - ? Claves de 512 bits son inseguras!
- En el futuro?
- ? Se recomiendan claves con 230 dígitos(768
bits) - ? Usar 2048 bits en algunos casos (ej.
defensa)
28Comparación de performance
- En hard RSA es unas 1000 veces más lento que
- que DSE
- ? DSE 1 Gbit/seg (clave 56 bits)
- ? RSA 1 Mbit/seg (clave 512 bits)
- En soft RSA es unas 100 veces más lento que
- que DSE
- ? DSE 1Mbit/seg
- ? RSA 10 Kbit/seg
- Por tanto, cuando sea seguro use clave secreta!
- O usar algoritmos híbridos
29Autenticación
- Definición
- ? protocolo para asegurar la autenticidad del
- transmisor
- Protocolo con clave secreta (Needham-Schroeder
78) - ? basado en un servidor de claves seguro que
emite - claves secretas
- ? implementado en Kerberos
- Protocolo con clave pública (Needham-Schroeder
78) - ? no requiere un servidor de claves seguro
- ? usado en comercio electrónico
30Needham y Schroeder con clave secreta
Notación ? A Nombre del principal que inicia
la comunicación ? B Nombre del principal, socio
de A en la comunicación ? KA Clave
secreta de A (password) ? KB Clave secreta de
B (password) ? KAB Clave secreta para
comunicarse A y B ? NA Testigo generado por A
(es un entero, por ej. generado leyendo el clock
del sistema en el momento del envío del
mensaje) ? MK Mensaje M encriptado con clave K
31Needham y Schroeder con clave secreta
Encabezado Mensaje
Notas 1. A?S A, B, NA
A pide a S una
clave para
comunicarse con
B. 2. S?A NA, B, KAB,
S retorna un
KAB, AKBKA mensaje encriptado
con KA
conteniendo
una nueva clave
KAB y un
ticket
encriptado con KB
32Needham y Schroeder con clave secreta
Encabezado Mensaje
Notas 3. A?B KAB, AKB A envía el
ticket a B 4. B?A NBKAB
B desencripta el ticket y
usa la clave nueva KAB
para encriptar otro
testigo NB 5. A?B
NB-1KAB A demuestra a B que fue
el
emisor del mensaje
previo, retornando una
transformación
acordada
de NB.
33Needham y Schroeder con clave secreta -
Debilidades
- El mensaje 3 podría no ser fresco y
- un viejo valor de KAB podría estar comprometido
- en su almacenamiento en A
- Kerberos trata esta debilidad añadiendo al
- mensaje 3 un timestamp (KAB, A,tKB ) o un
- testigo.
34Needham y Schroeder con clave pública
- Las claves públicas deben distribuirse mediante
un servidor de distribución de claves seguro
para evitar la intrusión por impostores. - Notación adicional
- ? PKA clave pública de A
- ? PKB clave pública de B
- ? PKS clave pública del servidor
- ? SKS clave secreta del servidor
35Needham y Schroeder con clave pública
Encabezado Mensaje
Notas 1. A?S A, B, NA
A pide a S la
clave pública de B 2. S?A
PKB, BSKS S envía a A
la clave
pública de B,
encriptada usando
su clave secreta.
A puede
desencriptarlo
usando PKS.
36Needham y Schroeder con clave pública
Encabezado Mensaje
Notas 3. A?B NA, APKB A envía un
mensaje a B
conteniendo un testigo
encriptado con PKB. Sólo
B
puede desencriptarlo,
para obtener el nombre
de A 4. B?S
B, A B pide a S la clave
pública
de A
37Needham y Schroeder con clave pública
Encabezado Mensaje
Notas 5. S?B PKA, ASKS S envía a B
la PKA,
encriptada usando su
clave secreta SKS 6. B?A
NA, NBPKA B envía a A un par de
testigos
encriptados con
PKA 7. A?B NBPKB
A envía a B el testigo,
probando frescura y
que
habla con A.
38Needham y Schroeder con clave pública -
Debilidades
- A y B deben creer que las claves públicas que
- reciben de S son frescas
- No hay protección contra la reproducción de
- mensajes viejos.
- ? Esto puede remediarse añadiendo timestamp
- a los mensajes 2 y 5
39Caso de estudio Kerberos
- Basado en el protocolo de
- de Needham-Schroeder con
- clave secreta
- Desarrollado en el MIT
- (1988) y usado en AFS, NFS
- de Unix, RPC de Sun y
- Windows 2000
40Kerberos - Objetos de seguridad
- Ticket
- ? Registro que el cliente incluye en un
mensaje - y que permite al servidor verificar su
identidad - ? Está cifrado con clave del servidor e incluye
- entre otros
- ? identidad del cliente, clave para la sesión,
- plazo de expiración
- Autenticador
- ? Registro que el cliente incluye en un
mensaje y - que asegura que el mismo se ha generado
- recientemente y no ha sido modificado
41Kerberos - Objetos de seguridad
- Autenticador(continuación)
- ? Puede usarse una sóla vez. Contiene el
nombre - del cliente, un timestamp y está encriptado
- con la clave de sesión apropiada
- Clave para la sesión
- ? Clave secreta generada aleatoriamente por
- Kerberos y enviada al cliente para usarse en
la - comunicación con un servidor particular
- ? el encriptado no es obligatorio
42Arquitectura del sistemaKerberos
Centro de distribución de claves Kerberos
Base de datos de autenticación
Paso A
Servicio de autenticación A
Servicio de concesión de tickets
1. Solicitud de Ticket al TGS
2. Ticket TGS
Paso B
3. Petición de un ticket de servidor
Comienzo de sesión
Paso C
4. Ticket de servidor
5.
Solicitud de servicio
Establecimiento de sesión del servidor
Función de servicio
Cliente C
Servidor S
HacerOperación
Solicitud encriptada con la clave de sesión
Respuesta encriptada con la clave de sesión
43Kerberos
- Notación
- ? A nombre del servidor de autenticación
(AS) - ? T nombre del servidor de concesión de
tickets - (TGS)
- ? C nombre del cliente
- ? n un testigo
- ? t timestamp
- ? t1 tiempo de comienzo de la validez del
ticket - ? t2 tiempo de finalización de validez del
ticket - Un ticket Kerberos para que un cliente C acceda
a - S C, S, t1, t2, KCSKS?ticket(C,S)KS
44Secuencia de mensajes en Kerberos
Claves de encriptación usado en el esquema
KC clave privada de C (Password de
usuario) KT clave privada de T KCT clave de
sesión de TGS KS clave privada del
servidor KCS clave de sesión
45Secuencia de mensajes en Kerberos
- Obtener una clave de sesión, una vez por login
de sesión
1. C?A
C, T, n
clave sesión TGS, n
ticket (C, T)
2. A?C
- Obtener ticket del server, una vez por sesión
cliente-server
3. C?T
Auth(C)
ticket (C, T)
server, n
clave sesión CS, n
ticket (C, T)
4. T?C
46Secuencia de mensajes en Kerberos
- Emitir requerimientos al servidor
5. C?S
ticket (C, S)
Auth(C)
Service request, n
- Autenticación del servidor (opcional)
6. S?C
Respuesta
n
47Firmas digitales
- Por qué?
- ? mismo finalidad que una firma escrita en un
- documento en papel
- ? auténticas, difíciles de falsificar e
irrefutables - Cómo funcionan?
- ? cuentan con funciones seguras que comprimen
- el mensaje en el llamado digest
(resumenD(M)) - ? el emisor encripta el digest y lo añade al
- mensaje como una firma digital
- ? el receptor verifica la firma
- ? generalmente se usa criptografía de clave
- pública, aunque es posible usar clave
privada
48Firma digital con clave pública
- Claves
- ? El emisor envía Kpub y Kpri Kpub se hace
- pública
- Envío del mensaje firmado M
- ? el emisor envía una función digest acordada
- y segura, h, para calcular el resumen h(M)
- ? h(M) es encriptada con Kpri para producir
la - firma S h(M)Kpri se envía M y S
- Verificación del mensaje firmado
- ? la firma S es desencriptada usando Kpub, se
- calcula h(M), y se compara con la firma
- desencriptada
49Firma digital con clave pública
Documento firmado
M
h
H(M)
h
E(K
, h)
Kpri
Firmado
pri
M
128 bits
h
h'
D(K
,h)
Kpri
pub
Verificación
M
h h '?
h
H(doc)
50Firma digital con clave secreta
Encabezado Mensaje
Notas 1. A?S A, D(M)KA A
calcula D(M), el
digest del mensaje
y lo
encripta con
KA y lo envía al
server de
autenticación
51Firma digital con clave secreta
Encabezado Mensaje
Notas 2. S?A A, D(M),tKS El
server hace un
firmado y certificación
del fechado
de la firma
de A en el documento,
arma un texto
compuesto por el
nombre de A, D(M) y
un timestamp t,
lo
encripta con KS y lo
envía a A.
52Firma digital con clave secreta
Encabezado Mensaje
Notas 3. A?B M, A, D(M), tKS
A envía el mensaje
original y el
certificado en un
mensaje a B 4. B?S
B, A, D(M), tKS B guarda una copia
del mensaje y el
certificado y envía
éste
al server de
autenticación para
desencriptarlo
53Firma digital con clave secreta
Encabezado Mensaje
Notas 5. S?B A, D(M), tKB El
server desencripta
el certificado, usa KB
para encriptar el texto
plano resultante
y lo
envía a B y éste lo
desencripta.
54Firma digital con clave secreta
- A partir de 5, B tiene M, puede recalcular D(M)
- y compararlo con lo recibido del server. Si
- coinciden, B puede confiar que el mensaje es el
- producido originalmente por A y que A no será
- repudiado pues
- ? S (B confía en S) verificó la firma de A en
2 - ? sería difícil para A reclamar que su firma
fue - falsificada, B tiene una copia de un
certificado - que puede chequearse con S. A no puede
- reclamar que B falsificó el certificado ya
que - B no conoce KS.