 
 
 
 
 
 
 
  
 Siguiente: Arquitectura de Kerberos
 Subir: Kerberos
 Anterior: Kerberos
     Índice General 
Durante 1983 en el M.I.T. (Massachussetts Institute of Technology) 
comenzó el proyecto Athena con el objetivo de crear un entorno de
trabajo educacional compuesto por estaciones gráficas, redes de alta velocidad
y servidores; el sistema operativo para implementar este entorno era Unix 
4.3BSD, y el sistema de autenticación utilizado en el proyecto se denominó 
Kerberos ([MNSS87]) en honor al perro de tres cabezas que en la 
mitología griega vigila la puerta de entrada a Hades, el infierno.
Hasta que se diseñó Kerberos, la autenticación en redes de 
computadores se realizaba principalmente de dos formas: o bien se aplicaba la
autenticación por declaración (Authentication by assertion), en la que
el usuario es libre de indicar el servicio al que desea acceder (por ejemplo,
mediante el uso de un cliente determinado), o bien se utilizaban contraseñas
para cada servicio de red. Evidentemente el primer modelo proporciona un nivel
de seguridad muy bajo, ya que se le otorga demasiado poder al cliente sobre el
servidor; el segundo modelo tampoco es muy bueno: por un lado se obliga al
usuario a ir tecleando contínuamente su clave, de forma que se pierde 
demasiado tiempo y además la contraseña está viajando contínuamente
por la red. Kerberos trata de mejorar estos esquemas intentando por un
lado que un cliente necesite autorización para comunicar con un servidor
(y que esa autorización provenga de una máquina confiable), y por otro
eliminando la necesidad de demostrar el conocimiento de información privada
(la contraseña del usuario) divulgando dicha información.
Kerberos se ha convertido desde entonces en un referente obligatorio a
la hora de hablar de seguridad en redes. Se encuentra disponible para la 
mayoría de sistemas Unix, y viene integrado con OSF/DCE (Distributed 
Computing Environment). Está especialmente recomendado para sistemas 
operativos distribuidos, en los que la autenticación es una pieza fundamental 
para su funcionamiento: si conseguimos que un servidor logre conocer la 
identidad de un cliente puede decidir sobre la concesión de un servicio o la 
asignación de privilegios especiales. Sigue vigente en la actualidad (en su
versión V a la hora de escribir este trabajo), a pesar del tiempo 
transcurrido desde su diseño; además fué el pionero de los sistemas 
de autenticación para sistemas en red, y muchos otros diseñados 
posteriormente, como KryptoKnight ([MTHZ92], [JTY97]...), SESAME 
([PPK93]) o Charon ([Atk93]) se basan en mayor o menor 
medida en Kerberos.
El uso de Kerberos se produce principalmente en el login, en el 
acceso a otros servidores (por ejemplo, mediante rlogin) y en el acceso
a sistemas de ficheros en red como NFS. Una vez que un cliente está
autenticado o bien se asume que todos sus mensajes son fiables, o si se desea
mayor seguridad se
puede elegir trabajar con mensajes seguros (autenticados) o privados
(autenticados y cifrados). Kerberos se puede implementar en un 
servidor que se ejecute en una máquina segura, mediante un conjunto de 
bibliotecas que utilizan tanto los clientes como las aplicaciones; se trata de
un sistema
fácilmente escalable y que admite replicación, por lo que se puede utilizar
incluso en sistemas de alta disponibilidad (aunque como veremos al final del
capítulo está fuertemente centralizado).
 
 
 
 
 
 
 
  
 Siguiente: Arquitectura de Kerberos
 Subir: Kerberos
 Anterior: Kerberos
     Índice General 
2003-08-08