O que é o Kerberos?

Kerberos é um protocolo de autenticação de rede de computadores. Ele foi desenvolvido no MIT para permitir recursos de rede de maneira segura. Neste artigo, veremos discutido o conceito Kerberos e seu trabalho com a ajuda de um exemplo.

Como funciona o Kerberos?

O Kerberos funciona em três etapas. Agora vamos discutir essas três etapas, uma por uma.

Passo 1:

Conecte-se

O cliente digita seu nome em uma estação de trabalho arbitrária. A estação de trabalho envia o nome ao servidor de autenticação em formato de texto sem formatação.
Em resposta, o servidor de autenticação executa alguma ação. Primeiro, ele cria o pacote de nome de usuário, ou seja, Cliente, e gera a chave da sessão. Ele criptografa este pacote com uma chave simétrica que o servidor de autenticação compartilha com o TGS (Ticket Granting Server). A saída desse processo é chamada de TGT (Ticket Granting Ticket). Em seguida, o servidor de autenticação combina o TGT e a chave da sessão e os criptografa usando a chave simétrica derivada da senha do cliente.

Nota: O TGT pode ser aberto apenas usando o TGS e a saída final pode ser aberta apenas pelo cliente.

Depois que essa mensagem é recebida, a estação de trabalho do usuário solicita a senha. Quando um usuário ou cliente digita sua senha, a estação de trabalho gera a chave simétrica derivada da senha de um servidor de autenticação. Essa chave é usada para extrair a chave da sessão e o TGT. Depois disso, a estação de trabalho destrói a senha do cliente de sua memória para impedir o ataque.
Nota: Os usuários não podem abrir o Ticket Granting Ticket.

Passo 2:

Obtenção de um tíquete de concessão de serviço.

Vamos supor que, após o login bem-sucedido, o usuário queira se comunicar com outros usuários através do servidor de correio. Para esse cliente, informa à sua estação de trabalho que deseja entrar em contato com outro usuário X. Portanto, o cliente precisa de um ticket para se comunicar com o X. Nesse ponto, a estação de trabalho do cliente cria uma mensagem destinada a um servidor de concessão de ticket, que contém os itens mencionados abaixo -
• Bilhete de concessão
• o ID do X em que clientes de serviços estão interessados.
• O registro de data e hora atual deve ser criptografado com a mesma chave de sessão.

Concessão de tíquete, o tíquete é criptografado apenas com a chave secreta do servidor de concessão de tíquete, portanto, apenas o servidor de concessão de tíquete pode abrir um tíquete de concessão de tíquete. Por causa desse servidor de concessão de tíquetes, acredita que a mensagem vem do cliente de fato. O ticket que concede o ticket e a chave da sessão foram criptografados pelo servidor de autenticação da sessão.

Um servidor de autenticação o criptografa usando a chave secreta derivada da senha do cliente. Portanto, o único cliente pode abrir o pacote e recuperar o ticket.
Depois que o servidor de concessão de ticket estiver satisfeito com os detalhes inseridos pelo cliente, o ticket de concessão de ticket cria uma chave de sessão KAB para o cliente executar a comunicação segura com o X. O Servidor de Concessão de Ticket o envia duas vezes ao cliente - pela primeira vez quando é combinado com o ID do X e criptografado com a chave da sessão, na segunda vez em que é enviado quando combinado com o ID do cliente e criptografado com a chave secreta do KB do X.

Nesse caso, o atacante pode tentar obter a primeira mensagem enviada pelo cliente e tentar um ataque de resposta. No entanto, isso falharia, pois a mensagem do cliente contém um carimbo de data / hora criptografado e o invasor não pode substituir o carimbo de data / hora, pois não possui a chave da sessão.

Etapa 3:

O usuário entra em contato com o X para acessar o servidor.

Um cliente envia o KAB ao X para criar uma sessão com o X. Para comunicação segura, o cliente encaminha o KAB criptografado com a chave secreta do X para o X. X pode acessar o KAB. Para se proteger de um ataque de resposta, o cliente envia um carimbo de data / hora para o X, criptografado com o KAB.

X usa sua chave secreta para obter as informações; a partir dessas informações, ele usa o KAB para descriptografar o valor do carimbo. Em seguida, o X adiciona 1 ao valor do carimbo de data e hora e o criptografa usando o KAB e o envia ao cliente. O cliente abre o pacote e verifica o carimbo incrementado por X. Nesse processo, o cliente garante que o X receba o mesmo KAB que é enviado pelo cliente.

Agora, o cliente e o X podem se comunicar com segurança. Ambos usam a chave secreta compartilhada KAB e criptografam os dados no momento do envio e descriptografam a mensagem usando a mesma chave. Suponha que o cliente queira se comunicar com outro servidor Y, nesse caso, o cliente apenas precisará de obter uma outra chave secreta do servidor de concessão de tickets. Após obter a chave secreta, ele pode se comunicar com Y da mesma forma que discutimos no caso de X. Se o cliente puder se comunicar novamente com X, ele poderá usar a mesma chave anterior, não há necessidade de gerar um ticket todas as vezes. Somente pela primeira vez, ele precisa obter o ingresso.

Vantagens e desvantagens do Kerberos

Abaixo estão as vantagens e desvantagens:

Vantagens do Kerberos

  1. No Kerberos, clientes e serviços são autenticados mutuamente.
  2. É suportado por vários sistemas operacionais.
  3. Os ingressos no Kerberos têm um período limitado. Além disso, se o ticket for roubado, é difícil reutilizá-lo devido a fortes necessidades de autenticação.
  4. As senhas nunca são enviadas pela rede sem criptografia.
  5. No Kerberos, as chaves secretas são compartilhadas, mais eficientes do que as chaves públicas.

Desvantagens do Kerberos

  1. É vulnerável a senhas fracas ou repetidas.
  2. Ele fornece autenticação apenas para serviços e clientes.

Conclusão

Neste artigo, vimos o que é o Kerberos, como ele funciona junto com suas vantagens e desvantagens. Espero que você ache este artigo útil.

Artigos recomendados

Este é um guia para o Kerberos. Aqui discutimos o que é o Kerberos, como o Kerberos funciona e suas vantagens e desvantagens. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Tipos de hospedagem na web
  2. O que é aplicativo da Web?
  3. O que é o esquema Star?
  4. Matrizes na programação Java