Una cookie de autenticación de tkt es un hash seguro de varias piezas de información, incluido el nombre de usuario y, opcionalmente, una marca de tiempo, pero no la contraseña de usuario. Una vez autenticado, le da una cookie al usuario, y cada vez que el usuario regresa simplemente extrae el nombre de usuario y sabe que es el mismo usuario.
Para mantener esta cookie segura, debe tener un secreto del lado del servidor, sin embargo. Solo un servidor en posesión de ese secreto puede crear estas cookies; si un atacante alguna vez se apoderó de él, podría generar cookies de autenticación para usuarios arbitrarios sin necesidad de conocer las contraseñas de estos usuarios.
El parámetro secret
para la política es ese secreto del lado del servidor; es como una contraseña maestra para su servidor. Si ejecuta más de un proceso para su sitio (y con WSGI, por lo general lo hace), debe hacer que sea coherente en todos sus procesos, para asegurarse de que cada proceso pueda verificar las cookies. Puede especificarlo en su archivo de configuración, en su código fuente o en su base de datos; depende de la flexibilidad que necesite, sus políticas de seguridad y si necesita compartir o no el secreto con otros sistemas.
Puede compartir el secreto con otros sistemas en su dominio que también necesitan autenticar a sus usuarios, utilizando el mismo estándar. Apache tiene un módulo mod_auth_tkt
, por ejemplo, Plone usa el mismo estándar y, al compartir el secreto, puede proporcionar un inicio de sesión único para sus usuarios en diferentes aplicaciones web.
Tenga en cuenta que cambiar el secreto significa que las sesiones existentes dejan de ser válidas y los usuarios tendrían que volver a autenticarse.
En cualquier caso, las cookies existentes pueden tener una vida útil limitada; la marca de tiempo incrustada limita cuánto tiempo se aceptará como válida si configura el parámetro timeout
en la política. Es una buena política establecer un tiempo de espera, combinado con un tiempo de reedición; cualquier usuario que vuelva a visitar su aplicación dentro del tiempo de espera se volverá a emitir una nueva cookie con una nueva marca de tiempo para mantener su sesión fresca. De esta forma, las cookies de sesión expiran automáticamente si los usuarios no regresan y el atacante no puede volver a utilizarlas en otro momento. El parámetro reissue
le permite controlar la rapidez con que se emite un nuevo token; vuelva a visitar su servidor dentro de reissue
segundos no produciría un nuevo token.