Sun Guía de Sun Enterprise Authentication Mechanism

Obtención de acceso a un servicio mediante SEAM

Para que un usuario pueda acceder a un servicio específico de un servidor concreto, debe obtener dos cosas. La primera es una credencial para el servicio de obtención de cupones (conocido como TGT). Cuando éste haya desencriptado esta credencial, crea una segunda para el servidor al que el usuario solicita el acceso. A continuación, puede utilizarse esta segunda credencial para solicitar acceso al servicio del servidor. Después de que éste haya desencriptado satisfactoriamente la segunda credencial, se concederá el acceso al usuario. Este proceso se describe con más detalle más adelante.

Obtención de una credencial para el servicio de obtención de cupones

  1. Para iniciar el proceso de autenticación, el cliente envía al servidor de autenticación para un principal de usuario específico una solicitud en la que no se incluye ninguna información protegida, de forma que no es necesario utilizar la encriptación.

  2. Cuando el servicio de autenticación recibe la solicitud comprueba el nombre de principal del usuario en la base de datos del KDC. Si concuerda un principal, el servicio de autenticación obtiene su clave privada. A continuación, genera una clave de sesión para que la utilice el cliente y el servicio de obtención de cupones (llamémosla clave de sesión 1) y un cupón para el servicio de obtención de cupones (cupón 1). Este cupón también se conoce como el cupón de obtención de cupones (TGT). Tanto la clave de sesión como el cupón se encriptan mediante la clave privada del usuario y se devuelve la información al cliente.

  3. El cliente utiliza esta información para desencriptar la clave de sesión 1 y el cupón 1 mediante la clave privada del principal de usuario. Como la clave privada únicamente debería conocerla el usuario y la base de datos del KDC, la información del paquete debe ser segura. El cliente almacena la información en la antememoria de credenciales.

Normalmente, durante este proceso se solicita una contraseña al usuario. Si ésta coincide con la que se utilizó para crear la clave privada almacenada en la base de datos del KDC, el cliente puede desencriptar satisfactoriamente la información que envió el servicio de autenticación. El cliente tendrá entonces una credencial para utilizar con el servicio de obtención de cupones y estará listo para solicitar una credencial para un servidor.

Figura 7-2 Obtención de una credencial para el servicio de obtención de cupones

Graphic

Obtención de una credencial para un servidor

  1. Para solicitar el acceso a un servidor específico, primero el cliente debe haber obtenido una credencial para este servidor en el servicio de autenticación (véase "Obtención de una credencial para el servicio de obtención de cupones"); a continuación envía una solicitud al servicio de obtención de cupones, que incluye el nombre del principal de servicio, el cupón 1 y un autenticador encriptado con la clave de sesión 1. El cupón 1 fue encriptado originariamente por el servicio de autenticación mediante la clave de servicio del servicio de obtención de cupones.

  2. Como el servicio de obtención de cupones conoce la clave de servicio, es posible desencriptar el cupón 1. La información incluida en éste incorpora la clave de sesión 1, para que el servicio de obtención de cupones pueda desencriptar el autenticador. En este punto, se autentica el principal de usuario con el servicio de obtención de cupones.

  3. Si la autenticación es satisfactoria, el servicio de obtención de cupones genera una clave de sesión para el principal de usuario y el servidor (clave de sesión 2) y un cupón para el servidor (cupón 2). A continuación, se encriptan la clave de sesión 2 y el cupón 2 mediante la clave de sesión 1. Como ésta sólo la conocen el cliente y el servicio de obtención de cupones, esta información está protegida y se puede enviar de forma segura a través de la red.

  4. Cuando el cliente recibe este paquete de información, desencripta la información mediante la clave de sesión 1, que había almacenado en la antememoria de credenciales. El cliente ha obtenido una credencial para utilizarla con el servidor. Ahora, está listo para solicitar el acceso a un servicio determinado del servidor.

Figura 7-3 Obtención de una credencial para un servidor

Graphic

Obtención del acceso a un servicio específico

  1. Para solicitar el acceso a un servicio específico, primero el cliente debe haber obtenido una credencial para el servicio de obtención de cupones desde el servidor de autenticación y una credencial desde el servicio de obtención de cupones (véase "Obtención de una credencial para el servicio de obtención de cupones" y "Obtención de una credencial para un servidor"). El cliente puede enviar una solicitud al servidor que incluye el cupón 2 y otro autenticador, que se encripta mediante la clave de sesión 2.

  2. El cupón 2 lo encriptó el servicio de obtención de cupones con la clave de servicio del servicio. Como el principal de servicio conoce la clave, el servicio puede desencriptar el cupón 2 y obtener la clave de sesión 2. A continuación, puede utilizarse ésta para desencriptar el autenticador. Si éste se desencripta satisfactoriamente, se proporciona acceso al servicio al cliente.

Figura 7-4 Obtención del acceso a un servicio específico

Graphic