Ingressos para sessão

Em vez de enviar as chaves de sessão criptografadas para ambas as entidades de segurança, o KDC envia cópias do cliente e do servidor da chave de sessão para o cliente. A cópia do cliente da chave de sessão é criptografada com a chave mestra do cliente e, portanto, não pode ser descriptografada por nenhuma outra entidade. A cópia da chave de sessão do servidor é inserida, juntamente com dados de autorização sobre o cliente, em uma estrutura de dados chamada tíquete. O tíquete é totalmente criptografado com a chave mestra do servidor e, portanto, não pode ser lido ou alterado pelo cliente ou por qualquer outra entidade que não tenha acesso à chave mestra do servidor. É responsabilidade do cliente armazenar o tíquete com segurança até entrar em contato com o servidor.

Observação

O KDC fornece apenas um serviço de concessão de tíquetes. O cliente e o servidor são responsáveis por manter suas respectivas chaves mestras seguras.

 

Quando o cliente recebe a resposta do KDC, ele extrai o tíquete e sua própria cópia da chave de sessão, colocando ambos de lado em um cache seguro. Para estabelecer uma sessão segura com o servidor, ele envia ao servidor uma mensagem que consiste no tíquete, ainda criptografado com a chave mestra do servidor e uma mensagem de autenticador criptografada com a chave de sessão. Juntos, o tíquete e a mensagem do autenticador são as credenciais do cliente para o servidor.

Quando o servidor recebe credenciais de um cliente, ele descriptografa o tíquete com sua chave mestra, extrai a chave de sessão e usa a chave de sessão para descriptografar a mensagem autenticadora do cliente. Se tudo der certo, o servidor saberá que as credenciais do cliente foram emitidas pelo KDC, uma autoridade confiável. Para autenticação mútua, o servidor responde criptografando o carimbo de data/hora da mensagem autenticadora do cliente usando a chave de sessão. Essa mensagem criptografada é enviada ao cliente. Em seguida, o cliente descriptografa a mensagem. Se a mensagem retornada for a mesma que o carimbo de data/hora na mensagem do autenticador original, o servidor será autenticado.

Como benefício adicional, o servidor não precisa armazenar as chaves de sessão que usa com seus clientes. É responsabilidade de cada cliente gerenciar o tíquete do servidor em seu cache de tíquetes e apresentar esse tíquete sempre que ele acessar o servidor. Sempre que o servidor recebe um tíquete de um cliente, ele usa sua chave mestra para descriptografar o tíquete e extrair a chave de sessão. Quando o servidor não precisa mais da chave de sessão, a chave é excluída.

O cliente não precisa acessar o KDC sempre que quiser acesso a esse servidor específico. Os ingressos podem ser reutilizados. Como precaução contra a possibilidade de roubo de tíquetes, os tíquetes têm um tempo de validade, especificado pelo KDC na estrutura do tíquete. Quanto tempo um tíquete é válido depende da política Kerberos para o realm. Normalmente, os tíquetes são bons por não mais do que oito horas, sobre a duração de uma sessão de logon normal. Quando o usuário de uma estação de trabalho do cliente faz logon, o cache do tíquete do cliente é liberado e todos os tíquetes e chaves de sessão do cliente são destruídos.