O Kerberos é um protocolo de autenticação de segurança de domínio público
designado para uso em redes de computadores. A questão central baseia-se em
um ambiente aberto e distribuído em que usuários em suas estações de trabalho
desejam obter acesso à serviços disponibilizados por servidores distribuídos pela
rede. A proposta do protocolo é oferecer as seguintes características:
Segurança: Impedir a obtenção das informações necessárias que permitam que
alguém se identifique como outra pessoa.
Confiabilidade: Os serviços que possuem o acesso controlado pelo protocolo só
estarão disponíveis se o Kerberos também estiver. Para ser altamente confiável, o
protocolo utiliza uma arquitetura distribuída de servidores, com os sistemas
habilitados a fazerem backup de outros.
Transparência: O usuário não deve tomar conhecimento do processo de
autenticação em si, a não ser pela requisição de uma senha.
Escalabilidade: Capacidade de suportar um grande número de clientes e
servidores.
O funcionamento básico consiste em autenticar os usuários para aplicações de
redes, utilizando:
- Um ticket: um tipo de certificado que informa, com segurança, a identidade
do usuário para quem o ticket foi originalmente concedido.
- Um autenticador: uma credencial gerada pelo cliente com informações que
são comparadas com as informações do ticket, para garantir que o cliente que
está apresentando o ticket é o mesmo para o qual o ticket foi concedido.
- Um centro de distribuição de chaves: para acessar uma aplicação, o
usuário obtém temporariamente tickets válidos através do centro de
distribuição de chaves e ratificam os tickets com o autenticador. A aplicação
examina o ticket e o autenticador quanto à validade e concede acesso caso
sejam válidos.
Uma estação de trabalho, caracterizada como uma máquina cliente, não é
confiável para a correta identificação de seus usuários para a utilização de
serviços disponíveis na rede. As principais ameaças podem são descritas a
seguir:
- Um usuário pode obter acesso a uma determinada máquina cliente e fingir ser
outro usuário, operando através daquele cliente.
- Um usuário pode alterar o endereço da máquina cliente na rede, de forma que
as mensagens de request provenientes desta máquina sejam vistas como
vindas de uma outra máquina.
- Um usuário pode obter acesso a um servidor ou desfazer operações.
Ao invés de construir um protocolo de autenticação para cada servidor, O
Kerberos utiliza um servidor de autenticação central, responsável pela
autenticação de usuários para servidores e vice-versa.