¿Qué es un ticket de autenticación?

Un vale de autenticación es un componente de seguridad del protocolo de seguridad de red Kerberos. Actúa como una especie de token, una pequeña colección de datos, que se pasa entre una computadora cliente y un servidor, para que las dos computadoras puedan probarse la identidad entre sí. Más allá de esta identificación de red mutua, el ticket también detalla los permisos que tiene el cliente para acceder al servidor y sus servicios, así como el tiempo asignado para la sesión.

Básicamente, existen dos tipos de ticket de autenticación. Un boleto de concesión de boletos (TGT), también conocido como boleto para obtener boletos, es el boleto principal emitido cuando la computadora cliente establece por primera vez su identidad. Este tipo de boleto generalmente dura un período prolongado, más de 10 horas o más, y se puede renovar en cualquier momento durante el período en el que el usuario está conectado a la red. Con un TGT, el usuario puede solicitar tickets de autenticación individuales para acceder a otros servidores de la red.

Un ticket de cliente a servidor, también conocido como ticket de sesión, es la segunda forma de ticket de autenticación. Suele ser un ticket de corta duración que se entrega cuando un cliente desea acceder a un servicio en un servidor en particular. El ticket de sesión contiene la dirección de red de la computadora cliente, la información del usuario y la duración en la que el ticket es válido. En algunas implementaciones de Kerberos, como Microsoft® Active Directory®, también se puede utilizar un tercer tipo de ticket, llamado ticket de referencia. Este tipo de ticket se otorga cuando un cliente desea acceder a un servidor que reside en un dominio separado del suyo.

La forma en que funciona el sistema de concesión de tickets de Kerberos es mediante el uso de un servidor separado, conocido como centro de distribución de claves (KDC), que proporciona todo el sistema de tickets de autenticación. Esta máquina tiene dos subcomponentes en ejecución, el primero de los cuales se conoce como servidor de autenticación (AS). El AS conoce todas las demás computadoras y usuarios de la red y mantiene una base de datos de sus contraseñas. Cuando un usuario inicia sesión en la red, el AS le otorga un TGT.

En el punto en el que un usuario necesita acceder a un servidor en algún lugar de la red, usa el TGT proporcionado anteriormente y solicita un ticket de servicio de la segunda parte del KDC, llamado servidor de otorgamiento de tickets (TGS). El TGS envía un ticket de sesión al usuario, quien luego puede usarlo para acceder al servidor que solicitó. Cuando el servidor recibe el ticket de sesión, envía otro mensaje al usuario verificando su identidad y que el usuario puede acceder al servicio solicitado. En el caso de un ticket de referencia, se requiere un paso adicional en el que el KDC del dominio de origen crea un ticket de referencia que permite al cliente solicitar tickets de sesión de otro KDC en un dominio de red diferente. Todo este proceso de generación e intercambio de tickets se cifra en cada paso del camino para proteger contra un atacante que espía o se hace pasar por un usuario.

El principal inconveniente del método del ticket de autenticación es la estructura centralizada de todas las autorizaciones. Si un atacante logra acceder al KDC, esencialmente obtiene acceso a todas las identidades y contraseñas de los usuarios y luego puede hacerse pasar por cualquiera. Además, si el KDC dejara de estar disponible, nadie podría utilizar la red. Otro problema son los ciclos de vida detallados de los tickets, que requieren que todas las computadoras de la red tengan sus relojes sincronizados.