CLICK HERE FOR THOUSANDS OF FREE BLOGGER TEMPLATES

martes, 8 de abril de 2008

que es kerberos

Kerberos es un protocolo de autenticación de redes de ordenador que permite a dos computadores en una red insegura demostrar su identidad mutuamente de manera segura. Sus diseñadores se concentraron primeramente en un modelo de cliente-servidor, y brinda autenticación mutua: tanto cliente como servidor verifican la identidad uno del otro. Los mensajes de autenticación están protegidos para evitar eavesdropping y ques de Replaatay.

Kerberos se basa en criptografía de clave simétrica y requiere un tercero de confianza. Además, existen extensiones del protocolo para poder utilizar criptografía de clave asimétrica.

Como funciona?

A continuación se describe someramente el protocolo. Se usaran las siguientes abreviaturas:

  • AS = Authentication Server
  • TGS = Ticket Granting Server
  • SS = Service Server.

En resumen el funcionamiento es el siguiente: el cliente se autentica a sí mismo contra el AS, así demuestra al TGS que está autorizado para recibir un ticket de servicio (y lo recibe) y ya puede demostrar al SS que ha sido aprobado para hacer uso del servicio kerberizado.

En más detalle:

  1. Un usuario ingresa su nombre de usuario y password en el cliente
  2. El cliente genera una clave hash a partir de la password y la usará como la clave secreta del cliente.
  3. El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del usuario.
  4. El AS comprueba si el cliente está en su base de datos. Si es así, el AS envía dos mensajes al cliente:
    1. Mensaje A: Client/TGS session key cifrada usando la clave secreta del usuario
    2. Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y el Client/TGS session key) cifrado usando la clave secreta del TGS.
  5. Una vez que el cliente ha recibido los mensajes, descifra el mensaje A para obtener el client/TGS session key. Esta session key se usa para las posteriores comunicaciones con el TGS. (El cliente no puede descifrar el mensaje B pues para cifrar éste se ha usado la clave del TGS). En este momento el cliente ya se puede autenticar contra el TGS.
  6. Entonces el cliente envía los siguientes mensajes al TGS:
    1. Mensaje C: Compuesto del Ticket-Granting Ticket del mensaje B y el ID del servicio solicitado.
    2. Mensaje D: Autenticador (compuesto por el ID de cliente y una marca de tiempo), cifrado usando el client/TGS session key.
  7. Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador) usando el client/TGS session key y envía los siguientes mensajes al cliente:
    1. Mensaje E: Client-to-server ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y una Client/Server session key) cifrado usando la clave secreta del servicio.
    2. Mensaje F: Client/server session key cifrada usando el client/TGS session key.
  8. Cuando el cliente recibe los mensajes E y F, ya tiene suficiente información para autenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes:
    1. Mensaje E del paso anterior.
    2. Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de tiempo y que está cifrado usando el client/server session key.
  9. El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al cliente para confirmar su identidad:
    1. Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del cliente más uno, cifrado el client/server session key.
  10. El cliente descifra la confirmación usando el client/server session key y chequea si la marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en el servidor y podrá comenzar a usar el servicio que este ofrece.
  11. El servidor provee del servicio al cliente.

ventajas kerveros

La mayoría de las redes usan esquemas de autenticación basados en contraseñas. Tales esquemas requieren que cuando un usuario necesita una autenticación en un servidor de red, debe proporcionar un nombre de usuario y una contraseña. Lamentablemente, la información de autenticación para muchos servicios se transmite sin estar encriptada. Para que un esquema de este tipo sea seguro, la red tiene que estar inaccequible a usuarios externos, y todos los usuarios de la red deben ser de confianza.

Aún en este caso, una vez que la red se conecte a la Internet, ya no puede asumir que la red es segura. Cualquier intruso del sistema con acceso a la red y un analizador de paquetes puede interceptar cualquier contraseña enviada de este modo, comprometiendo las cuentas de usuarios y la integridad de toda la infraestructura de seguridad.

El primer objetivo de Kerberos es el de eliminar la transmisión a través de la red de información de autenticación. Un uso correcto de Kerberos erradica la amenaza de analizadores de paquetes que intercepten contraseñas en su red.


Desventajas de Kerberos

A pesar de que Kerberos elimina una amenaza de seguridad común, puede ser difícil de implementar por una variedad de razones:

La migración de contraseñas de usuarios desde una base de datos de claves estándar UNIX, tal como /etc/passwd o /etc/shadow, a una base de datos de contraseña Kerberos puede ser tediosa y no hay un mecanismo rápido para realizar esta tarea.

Manejo de kerberos desde el punto de vista del sistema

Kerberos presupone que usted está utilizando hosts fiables en una red no fiable. Su primer objetivo es el de prevenir que las contraseñas en texto plano sean enviadas a través de la red. Sin embargo, si cualquier otro aparte del usuario adecuado tiene acceso físico a cualquiera de los hosts, especialmente el que emite tickets usados para la autenticación — llamado Centro de distribución de contraseñas (KDC) —, todo sistema de autenticación de Kerberos corre el riesgo de transigir.


Finalmente, si decide usar Kerberos en su red, debe darse cuenta de que es una elección de todo o nada. Si decide usar Kerberos en su red, debe recordar que si se transmite cualquier contraseña a un servicio que no usa Kerberos para autenticar, se corre el riesgo de que el paquete pueda ser interceptado. Así, su red no obtendrá ningún beneficio de usar Kerberos. Para asegurar su red con Kerberos, debe kerberizar (hacer trabajar con Kerberos) todas las aplicaciones que mandan las contraseñas en texto plano o parar el uso de estas aplicaciones en la red.

imagen kerberos





0 comentarios: