Descargar

Sistemas distribuidos. Seguridad (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Amenazas en sistemas clienteservidor DoOperation (wait) (continuación) Cliente Cliente impostor? GetRequest execute request SendReplay Servidor Servidor impostor? Request Message Replay Message Replay Escucha Alteración

edu.red

Sistemas 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

edu.red

Sistemas 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

edu.red

Implementación de políticas de seguridad Políticas de seguridad Encriptación Control acceso Servicios autenticación y distribución de claves

edu.red

Criptografí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) = {M}K Desencriptación ? se usa una función inversa: F-1K({M}K)=M ? Puede ser simétrica (basada en clave secreta conocida por ambas partes) ? o asimétrica (basada en clave pública)

edu.red

Clave 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

edu.red

Clave secreta Comunicación segura con encriptación de clave secreta Emisor A Receptor B 1 Adquiere K 2 f(K,M)?{M}K 3 Envía {M}K 1 Adquiere K 2 Recibe {M}K 3 f-1(K,{M}K)?M {M}K

edu.red

Algoritmo 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

edu.red

Clave 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

edu.red

Algoritmos 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

edu.red

Clave pública Emisor A Receptor B 1 Adquiere Ke 2 E(Ke,M)?{M}Ke 3 Envía {M}Ke 1 Adquiere Ke, Kd 2 Publica Ke 3 Recibe {M}Ke 4 D(Kd,{M}Ke)?M {M}Ke Base de datos Clave pública Ke Ke Requiere Ke

edu.red

RSA Creado por Rivest, Shamir y Adelman en 1978 Basado en el problema de factorización (trap-door) Información privada: ? p, primo grande (>10200) ? q, primo grande (>10200) ? ?(n)=(p-1)(q-1) ? d, entero primo con ?(n) Información pública: ? n=p*q ? e, inverso de d módulo ?(n)

edu.red

RSA

edu.red

RSA: pasado, presente y futuro En 1978: ? Se pensó que la factorización de números primos >10200 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)

edu.red

Comparació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

edu.red

Autenticació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

edu.red

Needham 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) ? {M}K Mensaje M encriptado con clave K

edu.red

Needham 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, A}KB}KA mensaje encriptado con KA conteniendo una nueva clave KAB y un “ticket” encriptado con KB

edu.red

Needham y Schroeder con clave secreta Encabezado Mensaje Notas 3. A?B: {KAB, A}KB A envía el “ticket” a B 4. B?A: {NB}KAB B desencripta el ticket y usa la clave nueva KAB para encriptar otro testigo NB 5. A?B: {NB-1}KAB A demuestra a B que fue el emisor del mensaje previo, retornando una transformación acordada de NB.

edu.red

Needham 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,t}KB ) o un testigo.

edu.red

Needham 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

edu.red

Needham 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, B}SKS S envía a A la clave pública de B, encriptada usando su clave secreta. A puede desencriptarlo usando PKS.

edu.red

Needham y Schroeder con clave pública Encabezado Mensaje Notas 3. A?B: {NA, A}PKB 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

edu.red

Needham y Schroeder con clave pública Encabezado Mensaje Notas 5. S?B: {PKA, A}SKS S envía a B la PKA, encriptada usando su clave secreta SKS 6. B?A: {NA, NB}PKA B envía a A un par de testigos encriptados con PKA 7. A?B: {NB}PKB A envía a B el testigo, probando “frescura” y que “habla” con A.

edu.red

Needham 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

edu.red

Caso 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

edu.red

Kerberos – 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

edu.red

Kerberos – 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

edu.red

Arquitectura del sistemaKerberos Servidor S Cliente C HacerOperación Base de datos de autenticación Comienzo de sesión Servicio de concesión de tickets Centro de distribución de claves Kerberos Establecimiento de sesión del servidor Servicio de autenticación A 1. Solicitud de Ticket al TGS 2. Ticket TGS 3. Petición de un ticket de servidor 4. Ticket de servidor 5.

Solicitud de servicio

Solicitud encriptada con la clave de sesión Respuesta encriptada con la clave de sesión Función de servicio Paso B Paso A Paso C

edu.red

Kerberos 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, KCS}KS?{ticket(C,S)}KS

edu.red

Secuencia 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

edu.red

Secuencia de mensajes en Kerberos Obtener una clave de sesión, una vez por login de sesión 1. C?A C, T, n 2. A?C clave sesión TGS, n ticket (C, T) Obtener ticket del server, una vez por sesión cliente-server 3. C?T Auth(C) ticket (C, T) server, n 4. T?C clave sesión CS, n ticket (C, T)

edu.red

Secuencia 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

edu.red

Firmas 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 (resumen=D(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

edu.red

Firma 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

edu.red

Firma digital con clave pública {h} Kpri M Firmado Verificación E(K pri , h) 128 bits H(M) h M h H(doc) D(K pub ,{h}) {h} Kpri h' ¿h = h '? M Documento firmado

edu.red

Firma 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

edu.red

Firma digital con clave secreta Encabezado Mensaje Notas 2. S?A: {A, {D(M),t}KS 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.

edu.red

Firma digital con clave secreta Encabezado Mensaje Notas 3. A?B: M, {A, D(M), t}KS A envía el mensaje original y el certificado en un mensaje a B 4. B?S: B, {A, D(M), t}KS B guarda una copia del mensaje y el certificado y envía éste al server de autenticación para desencriptarlo

edu.red

Firma digital con clave secreta Encabezado Mensaje Notas 5. S?B: {A, D(M), t}KB El server desencripta el certificado, usa KB para encriptar el texto plano resultante y lo envía a B y éste lo desencripta.

edu.red

Firma 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.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente