Kerberos

Introducción

En la antiguedad se tenía un sólo ordenador compartido entre varias personas, para ayudar a mantener los archivos individuales privados, se desarrolló el concepto de contraseña, para que los usuarios solo pudieran acceder a sus propios contenidos. Fue Fernando Corbató quien introdujo la idea mientras trabajaba en el Massachusetts Institute of Technology (MIT) en 1960.
En aquellos tiempos, el uso de contraseñas con este fin era bastante limitado, principalmente reducido a personas como Corbató y su equipo, que estaban entre los primeros que realmente exploraron el poder de las computadoras, por lo que no era importante o preocupante el hecho de que las contraseñas fueran simples y por lo tanto vulnerables.
En la actualidad, en un entorno de computación de red abierta, una estación de trabajo no es confiable para identificar correctamente a sus usuarios en los servicios de red. Kerberos proporciona un enfoque alternativo por el que se utiliza un servicio confiable de autenticación de terceros para verificar las identidades de los usuarios.

¿A qué se le denomina Kerberos?

Es un servicio de autentificación que se desarrolló como parte del Proyecto Athena en el MIT. Fue diseñado para abordar el problema que plantea el hecho de que en un entorno abierto distribuido, los usuarios de las estaciones de trabajo quieran acceder a servicios de servidores distribuidos por toda la red.

¿Cómo funciona?

Su principal objetivo es evitar solicitudes/respuestas fraudulentas entre servidores y usuarios que deben tener índole confidencial y en grupos de al menos un usuario y un servicio.
Para esto el cliente que desea contactar con un servidor para que le dé un servicio, debe pedir primero un ticket de una tercera parte de mutua confianza, el KAS("Kerberos Authentication Server"). Este ticket se obtiene como una función en la que uno de los componentes es una llave privada conocida sólo por el servicio y el KAS, de modo que el servicio puede estar seguro de que el ticket procede sólo de Kerberos. El KAS conoce al cliente por su nombre principal(c). La llave privada(K(c)) es la llave de autentificación conocida sólo por el usuario y el KAS.  

Ventajas y Desventajas

Ventajas
  • Elimina la transmisión a través de la red de información de autenticación.
  • Erradica la amenaza de analizadores de paquetes que intercepten contraseñas en la red.
Desventajas
  • El sistema Kerberos se vuelve vulnerable cada vez que un usuario en la red se valida contra un servicio no kerberizado y envía una contraseña en la red en texto plano.
  • La migración de contraseñas de usuarios desde una base de datos de contraseñas estándar UNIX a una base de datos de contraseñas Kerberos puede ser complicada.
  • Para que una aplicación use Kerberos, el código debe ser modificado para hacer las llamadas apropiadas a las librerías de Kerberos. Las aplicaciones que son modificadas de esta forma son consideradas kerberizadas.

Conclusión

Los sistemas que utilizan kerberos ofrecen muchas ventajas, por ejemplo, que en vez de crear protocolos elaborados de autentificación en cada servidor, proporciona un servidor centralizado de autentificación cuya función es la de autentificar los usuarios al servidor y los servidores a los usuarios, por esta razón es un método muy utilizado.
Sin embargo, existen otras opciones de autenticación que probablemente seguirán mejorando, por lo que es recomendable probar todas las consideradas confiables para saber manejar alternativas en caso de que este llegue a fallar.

Bibliografía 

- MIT. (12 de 11 de 2017). MIT. Recuperado el 12 de 11 de 2017, de Kerberos: http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-kerberos.html
- Servicio Kerberos (2011)
https://docs.oracle.com/cd/E24842_01/html/E23286/intro-5.html

Comentarios

Entradas más populares de este blog

Cifrado Asimétrico

Proceso de depuración

Sockets