2.3.6 - Pré-Autenticação


Na descrição da resposta do servidor de autenticação (AS_REP), antes de distribuir um bilhete, o KDC simplesmente verifica se o principal do usuário solicitante e provedor de serviço existem no banco de dados. Então, particularmente, se isso envolve uma solicitação por um TGT, é ainda mais fácil, porque generico/DOMÍNIO@DOMÍNIO certamente existe e, assim, é suficiente saber se o principal de um usuário existe para obter um TGT com uma simples solicitação de autenticação inicial. Obviamente, esse TGT, se a solicitação vem de um usuário ilegítimo, não pode ser usada porque ele não sabe a senha e não pode obter a chave de sessão para criar um autenticador válido. Contudo, esse bilhete, obtido de tal forma fácil, pode sofrer um ataque de força bruta em uma tentativa de adivinhar a chave de longa duração do bilhete para o serviço a que se destina. Obviamente, adivinhar a chave de um serviço não é simples, nem mesmo com grande poder computacional, contudo, com Kerberos 5, o conceito de pré-autenticação foi introduzido para reforçar a segurança. Assim, se as políticas do KDC exigem pré-autenticação para uma solicitação inicial de cliente, o servidor de autenticação responde com um pacote de erro indicando necessidade de pré-autenticação. O cliente, em vista ao erro, pede ao usuário para digitar a senha e reenvia a solicitação, mas desta vez adicionando o momento, criptografados com a chave de longa duração do usuário, obtida pela passagem da senha + tempero não-criptografados pela função string2key. Neste momento, o KDC, uma vez que ele conhece a chave secreta do usuário, tenta descriptografar o momento (timestamp) presente na solicitação e, se bem sucedido e se o momento está na faixa de tolerância, ele decide que o usuário solicitante é autêntico e o processo de autenticação continua normalmente. É importante notar que a pré-autenticação é uma política do KDC e o protocolo não necessariamente exige isso. Em termos de implementação, o MIT Kerberos 5 e Heimdal tem pré-autenticação desativada por padrão, ao passo que o Kerberos do Active Directory do Windows exige isso.


Próximo: 2.3.7 - Autenticação Cruzada

Anterior: 2.3.5 - Solicitação de Aplicação (AP_REQ)

Voltar ao índice