Kerberos

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 ataques de Replay.

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.

Contenido

Historia y desarrollo

El Instituto Tecnológico de Massachusetts (MIT) desarrolló Kerberos para proteger los servicios de red proporcionados por el proyecto Athena. El proyecto recibió el nombre debido al personaje mitológico griego Kerberos (o Can Cerbero), el perro guardián de tres cabezas de Hades. Existen varias versiones del protocolo. Las versiones 1 a 3 se desarrollaron sólo dentro del ambiente del MIT.

Steve Miller y Clifford Neuman, los principales diseñadores de la versión 4 de Kerberos, publicaron esa versión al final de la década de 1980, aunque la había orientado principalmente para el proyecto Athena.

La versión 5, diseñada por John Kohl y Clifford Neuman, apareció como la RFC 1510 en 1993 (que quedó obsoleta por la RFC 4120 en 2005), con la intención de eliminar las limitaciones y problemas de seguridad presentes en la versión 4.

El MIT distribuye una implementación de Kerberos libremente bajo una licencia similar a la de BSD.

Autoridades de los Estados Unidos clasificaron a Kerberos como munición y prohibieron su exportación porque usa el algoritmo de cifrado DES (con clave de 56 bits). Una implementación no estadounidense de Kerberos 4, KTH-KRB, desarrollada en Suecia, puso el sistema a disposición fuera de los Estados Unidos antes de que éste cambiara sus políticas de exportación de criptografía (alrededor del año 2000). La implementación sueca se basó en una versión llamada eBones, la cual se basaba en la versión exportada MIT Bones (a la que se le habían quitado las funciones de cifrado y las llamadas a ellas), basada a su vez en Kerberos 4, nivel de corrección 9. El australiano Eric Young, autor de numerosas bibliotecas criptográficas, puso nuevamente las llamadas a funciones y usó su biblioteca de cifrado libdes. Esta versión algo limitada de Kerberos se llamó versión eBones. Una implementación de Kerberos en su versión 5, Heimdal, se lanzó por básicamente el mismo grupo de gente que lanzó KTH-KRB.

Windows 2000, Windows XP y Windows Server 2003 usan una variante de Kerberos como su método de autenticación por defecto. Algunos agregados de Microsoft al conjunto de protocolos de Kerberos están documentados en la RFC 3244 "Microsoft Windows 2000 Kerberos Change Password and Set Password Protocols" (Protocolos de cambio y establecimiento de clave de tipo Kerberos en Microsoft Windows 2000). Mac OS X de Apple también usa Kerberos tanto en sus versiones de cliente y de servidor.

Hasta el año 2005, el grupo de trabajo de Kerberos de la IETF se encuentra actualizando las especificaciones [1]. Actualizaciones recientes incluyen:

  • "Especificación de cifrado y código de chequeo de errores" (RFC 3961),
  • Cifrado por "AES para Kerberos 5" (RFC 3962),
  • Una nueva versión de la especificación de Kerberos 5: "El servicio de autenticación Kerberos (V5)" (RFC 4120). Esta versión hace obsoleta a la RFC 1510, clarifica aspectos del protocolo y de su uso esperado en mayor detalle y una explicación más clara,
  • Una nueva edición de la especificación de la interfaz de programa de aplicación de servicios de seguridad genéricos: "El mecanismo de interfaz de programa de aplicación de servicios de seguridad genéricos (GSS-API) de Kerberos Version 5: Version 2." (RFC 4121).

Descripción

Kerberos se basa en el Protocolo de Needham-Schroeder. Usa un tercero de confianza, denominado "centro de distribución de claves" (KDC, por sus siglas en inglés: Key Distribution Center), el cual consiste de dos partes lógicas separadas: un "servidor de autenticación" (AS o Authentication Server) y un "servidor emisor de tiquets" (TGS o Ticket Granting Server). Kerberos trabaja sobre la base de "tickets", los cuales sirven para demostrar la identidad de los usuarios.

Kerberos mantiene una base de datos de claves secretas; cada entidad en la red —sea cliente o servidor— comparte una clave secreta conocida únicamente por él y Kerberos. El conocimiento de esta clave sirve para probar la identidad de la entidad. Para una comunicación entre dos entidades, Kerberos genera una clave de sesión, la cual pueden usar para asegurar sus interacciones.

Motivación

Internet no es un lugar seguro. Muchos de los protocolos usados en Internet no proporcionan características de seguridad. Es habitual que piratas informáticos maliciosos empleen herramientas para rastrear y conseguir contraseñas de la red. Por lo tanto, las aplicaciones que envían una contraseña no cifrada por la red son sumamente vulnerables. Peor aún, algunas aplicaciones de cliente/servidor dependen de la honestidad del usuario que las está usando acerca de su identidad .

Algunos sitios intentan solucionar los problemas de seguridad de la red con cortafuegos. Desafortunadamente, el uso exclusivo de cortafuegos se basa en la suposición de que los "villanos" están en el exterior, lo que es a menudo una suposición incorrecta y peligrosa. Un buen número de los más graves delitos informáticos son ejecutados desde dentro de la propia corporación atacada. Los cortafuegos también adolecen de una desventaja importante, ya que restringen cómo pueden usar Internet los usuarios de la red por ellos protegida. Después de todo, los cortafuegos son sólo un ejemplo menos extremista del dictamen de que no hay nada más seguro que una computadora que está desconectada de la red. Pero en muchos casos, estas restricciones son simplemente imposibles de asumir.

Kerberos fue creado por el MIT como una solución para estos problemas de seguridad de la red. El protocolo de Kerberos usa una criptografía fuerte con el propósito de que un cliente pueda demostrar su identidad a un servidor (y viceversa) a través de una conexión de red insegura. Después de que un cliente/servidor han conseguido a través de Kerberos demostrar su identidad, también pueden cifrar todas sus comunicaciones para garantizar la privacidad y la integridad de los datos intercambiados.

Kerberos está disponible gratuitamente en el MIT, bajo permisos de derechos de autor muy similares a aquellos que usaron para el sistema operativo de BSD y el X Window System. El MIT provee el código fuente de Kerberos con el propósito de que quienquiera que desee usarlo pueda estudiar el código y así asegurarse de que el código es digno de confianza. Además, para aquellos que prefieren depender de un producto con un soporte profesional, Kerberos está disponible a través de muchos distribuidores diferentes como producto comercial.

En resumen, Kerberos es una solución para ciertos problemas de seguridad de la red. Provee las herramientas de autenticación y criptografía reforzada a través de la red para ayudar a asegurar que los sistemas de información de una empresa o corporación están bien resguardados.

Cómo funciona

Funcionamiento de Kerberos.

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 del 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. Nota: ni la clave secreta ni el password son enviados, solo la petición del servicio.
  4. El AS comprueba si el cliente está en su base de datos. Si es así, el AS genera la clave secreta utilizando la función hash con la password del cliente encontrada en su base de datos. Entonces 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.

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Kerberos — /kɛərbərəs/  сетевой протокол аутентификации, позволяющий передавать данные через незащищённые сети для безопасной идентификации. Ориентирован , в первую очередь , на клиент серверную модель и обеспечивает взаимную аутентификацию  оба… …   Википедия

  • Kerberos — est un protocole d authentification réseau qui repose sur un mécanisme de clés secrètes (chiffrement symétrique) et l utilisation de tickets, et non de mots de passe en clair, évitant ainsi le risque d interception frauduleuse des mots de passe… …   Wikipédia en Français

  • Kerberos — may refer to:* the hound of Hades, also known as Cerberus * Kerberos (saga), a science fiction series by Mamoru Oshii * Kerberos (protocol), a computer security protocol * Kerberos Dante, an anime character * Kerberos, a more common name for… …   Wikipedia

  • Kerbĕros — (lat. Cerberus), im griech. Mythus der dreiköpfige, schlangenhaarige Hund, der die Unterwelt bewachte und jedermann hinein , aber niemand herausließ, nach Hesiod Sohn des Typhaon und der Echidna. Herakles schleppte ihn gefesselt auf die Oberwelt …   Meyers Großes Konversations-Lexikon

  • Kerberos — {{Kerberos}} Der riesige Hund, der den Eingang zur Unterwelt hütet. Er stammt von Typhon* und Echidna* ab und wird in der Regel dreiköpfig dargestellt; Hesiod gibt ihm gar fünfzig Köpfe und nennt ihn »fies und grausam«: Jeden, der den Hades*… …   Who's who in der antiken Mythologie

  • Kerberos — ist: Kerberos (Mythologie), der Höllenhund in der griechischen Mythologie, der den Eingang zur Unterwelt bewacht Kerberos (Informatik), ein Netzwerkauthentifikationsprotokoll in der Informatik Diese Seite ist eine Begriffsklärung …   Deutsch Wikipedia

  • Kerbĕros — Kerbĕros, 1) Höllenhund, Sohn des Typhon u. der Echidna, mit drei Köpfen, 100 Schlangen statt der Haare, mit Drachenschwanz, giftigem Athem u. Geifer. Er ist ein Bild des unterirdischen Dunkels u. ewigen Verschlusses, bewachte in einer Höhle… …   Pierer's Universal-Lexikon

  • Kerberos — Kerbĕros (grch.; lat. Cerberus), der den Eingang der Unterwelt bewachende riesige Hund mit Schlangenmähne und Schweif und mehrern Köpfen …   Kleines Konversations-Lexikon

  • Kerberos —    A network security system developed as a part of Project Athena at MIT. Kerberos is used to authenticate a user who is asking for permission to use a particular network service.    Kerberos can be used to control the initial connection to a… …   Dictionary of networking

  • Kerberos — Kẹrberos,   Cẹrberus, Zẹrberus, griechischer Mythos: Sohn des Typhon und der Echidna, der Höllenhund, der den Eingang zur Unterwelt bewachte und keinen der Eingetretenen mehr herausließ. Er wurde nur zweimal überwunden: durch Orpheus und sein… …   Universal-Lexikon

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”