Compartilhar via


Exchange do Serviço de Autenticação

O usuário começa a fazer logon na rede digitando um nome de logon e uma senha. O kerberos cliente na estação de trabalho do usuário converte a senha em uma chave de criptografia e salva o resultado em uma variável de programa.

Em seguida, o cliente solicita credenciais para o TGS (serviço de concessão de tíquetes) do KDC (Key Distribution Center) enviando ao serviço de autenticação do KDC uma mensagem de tipo KRB_AS_REQ (Solicitação do Serviço de Autenticação Kerberos). A primeira parte dessa mensagem identifica o usuário e o serviço TGS que está sendo solicitado. A segunda parte dessa mensagem contém dados de pré-autenticação destinados a provar que o usuário conhece a senha. Essa é simplesmente uma mensagem de autenticador criptografada com a chave mestra derivada da senha de logon do usuário.

Quando o KDC recebe KRB_AS_REQ, ele pesquisa o usuário em seu banco de dados, obtém a chave mestra do usuário associado, descriptografa os dados de pré-autenticação e avalia o carimbo de data/hora dentro. Se o carimbo de data/hora for válido, o KDC poderá ter certeza de que os dados de pré-autenticação foram criptografados com a chave mestra do usuário e, portanto, que o cliente é genuíno.

Depois que o KDC verifica a identidade do usuário, ele cria credenciais que o cliente pode apresentar ao TGS, da seguinte maneira:

  1. O KDC inventa um logon chave de sessão e criptografa uma cópia com a chave mestra do usuário.
  2. O KDC inscreve outra cópia da chave de sessão de logon e os dados de autorização do usuário em um TGT (tíquete de concessão de tíquete) e criptografa o TGT com a própria chave mestra do KDC.
  3. O KDC envia essas credenciais de volta ao cliente respondendo com uma mensagem do tipo KRB_AS_REP (Resposta do Serviço de Autenticação Kerberos).
  4. Quando o cliente recebe a resposta, ele usa a chave derivada da senha do usuário para descriptografar a nova chave de sessão de logon.
  5. O cliente armazena a nova chave em seu cache de tíquetes.
  6. O cliente extrai o TGT da mensagem e armazena isso em seu cache de tíquetes também.