Kerberos
Origem: Wikipédia, a enciclopédia livre.
Kerberos é um protocolo de autenticação do Projeto Athena, criado pelo Massachusetts Institute of Technology - MIT, em meados dos anos 80.
Recebeu esse nome em alusão ao protetor dos portões de entrada do inferno de Hades, Cérbero, cachorro da mitologia grega que possuía três cabeças e rabo de serpente, tendo como sua principal missão, evitar a entrada de pessoas ou de coisas indesejáveis.
O nome deste protocolo, está baseado no fato de usar três servidores e possuir uma função de defesa que só permite a entrada de clientes autorizados.
Para garantir a segurança, ele usa criptografia de chave simétrica, com o DES.
Para fazer a autenticação com maior segurança, o Kerberos necessita de três servidores, o de autenticação, o de concessão e o de administração. Esses servidores trabalham de forma independente. O Kerberos é um serviço de autenticação distribuído, devido à independência entre os servidores.
[editar] Os servidores
Servidor de Autenticação (SA) é o responsável pela autenticação do usuário. A partir de um pedido a este servidor, ele receberá um ticket e uma chave de sessão, podendo assim continuar tentando se conectar com o sistema.
- Servidor de Concessão de Ticket (TGS) é o responsável pela concessão dos tickets para os serviços que utilizam o Kerberos.
- Servidor de Administração (KADM) é o responsável pelo controle das chaves secretas. Essas chaves são cadastradas no cliente e no servidor. O usuário precisa fazer o seu cadastramento, escolhendo um username e uma senha.
- Para a autenticação de clientes e servidores, o Kerberos cria mensagens, as quais possuem a chave secreta do usuário e o nome do TGS (Servidor de Concessão de Tickets) correspondente, que vai enviar para o usuário o ticket, que foi requisitado por ele, cifrado com a sua chave secreta.
No caso de acessar um serviço, o ticket que será requisitado pelo cliente ao TGS será um ticket correspondente a este serviço. Caso esteja correto, este ticket é enviado para o cliente, que agora vai se relacionar com o servidor Kerberos apresentando o ticket. Este ticket é comparado com as informações que o cliente possui, entre elas o seu nome, chave secreta e timestamp (horário da conexão). Caso coincida esta comparação, os usuários podem se comunicar, pois evita que a mesma mensagem seja mandada várias vezes.
Portanto, a autenticação básica do Kerberos implica o conhecimento da chave secreta do cliente, a obtenção de um ticket e de uma chave de sessão.
[editar] Funcionamento
O Kerberos funciona da seguinte forma:
- Conexão ao Servidor de Autenticação, onde o usuário é autenticado, recebendo um ticket e uma chave de sessão, os quais são criptografados com uma chave secreta, e são relacionadas entre o cliente e o servidor;
- Solicitação de ticket ao TGS, onde esse ticket e a chave de sessão são novamente gerados de forma diferente e estão relacionados entre o cliente e os serviços que serão realizados com essas informações, sendo enviadas para o cliente também criptografadas;
- Acesso ao Servidor, no qual o ticket recebido no passo anterior é enviado na comunicação com o servidor. Como esse ticket está criptografado com a chave secreta do servidor, ele deverá descriptografá-lo e assim terá acesso à chave de sessão que durará um tempo limitado.
- Base de Dados, onde é feito o cadastramento e a manutenção das chaves secretas do cliente e do servidor.
Algumas das aplicações que utilizam o Kerberos para fazer autenticação: Windows 2000, Windows .Net, Telnet, Solaris (desde a versão 2.6), Linux.