kerberos.ppt

Upload: gontatto

Post on 30-Oct-2015

18 views

Category:

Documents


0 download

TRANSCRIPT

  • KerberosIng. Fabin CalveteFundacin Proydesa

  • Fue creado por el Instituto de Tecnologa de Massachusetts (MIT) a comienzos de los aos 80. La versin actual de Kerberos es la 5, la misma est publicada por el IETF. Autenticacin: Probar que usted es quien dice ser. Integridad: Asegurar que los datos no son modificados en su trnsito. Privacidad: Asegurar que los datos no son ledos por personas ajenas. Kerberos puede proporcionar tres servicios de seguridad: Kerberos utiliza la encripcin para proporcionar cada servicio. Todas las implementaciones de la versin 5 deben soportar DES-CBC-MD5, aunque se permiten otros algoritmos. Fundacin Proydesa

  • Terminologa Secreto Compartido: La tcnica de autenticacin se basa en secretos compartidos. Si un secreto es conocido slo por dos entidades, cualquiera de ellas puede verificar la identidad de la otra confirmando que su par conoce dicho secreto. Autenticador: Consiste en una serie de datos encriptados por medio del secreto compartido. Esta informacin debe ser distinta cada vez que se ejecute el protocolo. Bsicamente consiste de una marca temporal extrada del clock de la estacin de trabajo del cliente, dicha marca slo puede diferir en un lapso predeterminado con el clock del servidor que autentica a dicho cliente (Por defecto son cinco minutos). Fundacin Proydesa

  • KDC: Resulta necesario encontrar una manera de que ambas entidades conozcan el secreto compartido cuando inician una transaccin. Kerberos utiliza un "intermediario de confianza" para esta actividad conocido como "Centro de Distribucin de Claves" (KDC). El KDC es un servicio que se ejecuta en un server seguro fsicamente. Clave de Sesin: Cuando un cliente solicita al KDC el acceso a un servidor, ste genera en forma aleatoria una clave denominada "Clave de Sesin" que ser utilizada por el cliente y el servidor para encriptar el dilogo que mantendrn. Fundacin Proydesa

  • TGT: Cuando un cliente inicia una sesin, solicita al KDC un boleto especial que le permita solicitar posteriormente otros boletos (boletos de servicio), los cuales posibilitarn el acceso a distintos servidores. Este boleto especial recibe el nombre de "Boleto de Concesin de Boletos" (Ticket Granting Ticket). Boleto de Servicio: Es aquel que solicita el cliente al KDC para poder acceder a un servicio que reside en un servidor que implementa Kerberos como protocolo de autenticacin. Tambin se lo conoce como "Ticket Granting Service". Fundacin Proydesa

  • NomenclaturaKx: Es la clave secreta (Resumen producido por una funcin Hash de la contrasea) de x, donde x es un cliente (c), una aplicacin de servidor (s) o el KDC (k). {datos}Kx: Cualquier dato encriptado con la clave secreta de x. {T}Ks: Boleto encriptado con la clave secreta del servidor s (Tener en cuenta que no todo el boleto se encripta). Kx,y: Clave de sesin utilizada por las instancias x , y. {datos}Kx,y: Cualquier dato encriptado con la clave de sesin compartida entre x , y. Fundacin Proydesa

  • Kerberos en un ejemplo Cuando un usuario inicia la sesin, la parte cliente del protocolo enva un mensaje al KDC solicitando un TGT. El mensaje contiene informacin de autenticacin que consiste en un marca temporal, encriptada mediante el resumen de la funcin de hash de la contrasea del usuario. {marca_temporal}Kc El KDC busca el registro asociado al usuario, donde encontrar el resumen de su clave, y procede a desencriptar el mensaje. Si este proceso es exitoso y la marca temporal es reciente, el usuario es autenticado. Fundacin Proydesa

  • El KDC genera en forma aleatoria un clave de sesin que compartir con el usuario, Kc,k. El KDC enva al usuario un TGT encriptado con su clave privada {TGT}Kk. Este ticket contiene entre otros el tiempo de validez del boleto, algunas banderas, datos de autorizacin del cliente y la clave de sesin entre ambos, Kc,k . Tambin enva esta clave en forma separada, encriptada con la clave del propio usuario. {Kc,k}Kc. El usuario desencripta la clave de sesin, almacena el TGT y est listo para solicitar boletos de servicio cuando haga falta. Fundacin Proydesa

  • Cuando el usuario necesita acceder a un servidor que ejecuta Kerberos, solicita un boleto de servicio al KDC para dicho servidor.Esta peticin contiene entre otras cosas el TGT del usuario, el nombre del servidor que se pretende acceder y una marca temporal encriptada usando la clave de sesin entre el KDC y el usuario {marca_temporal}Kc,k.Cuando el KDC recibe la peticin desencripta el TGT, luego extrae la clave de sesin necesaria para desencriptar el autenticador. Si dicho proceso es exitoso y la marca temporal es reciente, se verifica la identidad del usuario. Fundacin Proydesa

  • El KDC prepara el boleto de servicio copiando algunos campos contenidos en el TGT, agrega un clave de sesin para el cliente y el servidor, Kc,s generada aleatoriamente, establece el tiempo de vida y encripta dicho boleto usando la clave del servidor {T}KsPosteriormente el KDC enva el boleto al cliente y una copia de la clave de sesin recin generada, encriptada con la clave que comparte con el cliente {Kc,s}Kc,kFundacin Proydesa

  • Cuando recibe los mensajes, el cliente desencripta y obtiene la clave de sesin que usar con el servidor Kc,s y enva el boleto de servicio a dicho server {T}Ks, junto con un autenticador encriptado con esta nueva clave de sesin {marca_temporal}Kc,s.El servidor desencripta el boleto, obtiene la clave de sesin Kc,s y desencripta el autenticador. Si este proceso fue exitoso y la marca temporal es reciente, se autentica al usuario como vlido. Posteriormente los datos de autorizacin contenidos en el boleto determinarn si este usuario puede acceder a los servicios que desea.

    Fundacin Proydesa

  • Formato de un TicketExisten tres campos que no estn encriptados, el resto se encripta para proteccin usando la clave del servidor donde el ticket ser presentado. Fundacin Proydesa

  • Campos no encriptados tkt-vno: Versin del formato del ticket. Aqu la 5.Realm: Nombre del reino (dominio) donde el ticket fue emitido. Sname: Nombre del servidor Fundacin Proydesa

  • Campos encriptados Flags: Se usan banderas para indicar diferentes condiciones del ticket.Key: Clave de sesin compartida entre el cliente y el servidor.Crealm: Nombre del reino (dominio) del cliente.Cname: Nombre del cliente.Authtime: Marca temporal que el KDC especifica cuando emite un TGT.Fundacin Proydesa

  • Startime: Tiempo a partir del cual el ticket es vlido.Endtime: Tiempo en que el ticket expira.Renew-till: (Opcional) Mximo endtime que puede tener un ticket con la bandera RENEWABLE activada.Caddr: (Opcional) Una o ms direcciones desde las cuales el ticket puede ser utilizado. Si se omite, el ticket puede usarse desde cualquier direccin.

    Authorization-data: Privilegios del usuario. Kerberos no interpreta este campo, su comprensin corre por cuenta del servicio donde el ticket se presentar.

    Fundacin Proydesa

  • Ing. Fabin [email protected] Proydesa