Clifford Neuman e Steve Miller são os principais responsáveis pelo protocolo Kerberos. O Kerberos foi criado em meados dos anos 80, no instituto de tecnologia de Massachusetts.
Ele foi desenvolvido durante durante o Projeto Athena, usando como base o protocolo Needham-Schroeder.
A razão de seu nome peculiar é porque foi nomeado baseado no guardião dos portões de Hades, Cerberus.
Qual o objetivo do protocolo Kerberos
Eles definiram como objetivo para o protocolo autenticar usuários e criptografar informações, criando uma rede em que nenhum momento a senha possa ser furtada ou que um computador estranho possa invadi-la durante a comunicação sem a necessidade de ficar recolhendo dados constantemente durante o processo.
Como funciona o protocolo Kerberos
O funcionamento, de maneira geral, se baseia inicialmente em autenticar com base nas credenciais do usuário, com depois a criação e envio de pacotes de informação chamados tickets entre os clientes e seus servidores. No Kerberos são usados três servidores para isso: AS, servidor de autenticação, TGS, o servidor de tickets e o servidor do serviço (SS) desejado.
A primeira fase, autenticação, se baseia em o cliente enviar um pedido para o AS com suas credenciais registradas e o pedido relacionado ao servidor desejado, que serão verificadas com base nos dados armazenados já no servidor AS.
Em caso positivo, o AS irá enviar um TGT, conhecido como ticket granting ticket e uma chave criptográfica Cliente/TGS. O TGT seria um pacote de informações especiais, que carrega as informações tanto do cliente como da própria rede que estavam contidos no servidor AS. Elas serão necessárias posteriormente pelo TGS, o servidor de tickets. Dentro deste ticket existirá um timestamp.
Timestamp nada mais é que uma marcação do tempo atual do servidor. A razão deste procedimento é cortar a comunicação se ela ficar inativa por muito tempo, por exemplo, 5 minutos. Isto também serve pelo fato de o Kerberos contar os segundos entre um envio de uma mensagem para a outra, com o intuito de verificar se houve invasão ou se um dos parceiros na rede foi clonado ou derrubado.
A chave de sessão criada dependerá de cada situação, com base na criptografia e na configuração padrão do Kerberos. É importante notar que em oito horas ela perderá seu valor, dessa forma se um cracker capturar um pacote, ele não terá tempo de descobrir a informação através de um ataque de força bruta. O cliente envia o TGT recebido para o servidor TGS, conhecido como ticket granting server, juntamente a outro pacote, este contendo suas credenciais. O objetivo deste servidor é ser o intermediador entre o servidor de autenticação e os servidores que ofereceram serviços. Para isso, ele analisará as informações e criará o service ticket, o ticket que contêm informações do serviço desejado, junto de outra chave com base no timestamp recebido. Este ticket estará trancado com uma chave que somente o servidor de serviços poderá abri-lo.
Depois, o cliente irá receber o ticket junto da chave de sessão Cliente/Servidor. Ele irá descriptografar a chave recebida e depois avisar o servidor TGS que acabou de fazê-lo. Feito isso, ele irá mandar o ticket de serviço para o serviço desejado, que irá descriptografá-lo e verificar se o timestamp ainda será válido. Se estas informações estiverem corretas, o serviço enviará uma mensagem para o KDC, centro de distribuição de chaves para receber uma chave sessão. Ela será direcionada ao cliente, que irá descriptografá-la e se tudo estiver correto, a comunicação será iniciada e continuará até o cliente interrompê-la ou a validade da sessão se esgotar.
Conclusão
O método desenvolvido por Neuman e Miller é, ainda hoje, importante não só no uso mas para o desenvolvimento de novas tecnologias para a segurança, sendo que todos nós profissionais de TI, especialmente os de vínculo com a área de segurança da informação, precisamos compreender o uso e funcionamento deste protocolo.
Por fim, vale a pena lembrar que existem situações que nem mesmo o Kerberos poderá nos proteger, como em ataques de negação de serviço, engenharia social ou perda de senhas.
Referência
- NEUMAN C.; RAEBURN K.; HARTMAN S.. RFC 4120. Disponível em: <http://www.ietf.org/rfc/rfc4120.txt>. Acesso em: 30 set 2011.
Autores: Alan Baldani Campos Luz, Fadir Salmen e Sergio Castilho
4 Comentários
OTIMO POST AMIGO VO ADD ESSE SITE EM FAVORITOS E CONTINUE POSTANDO.
OBRIGADO
Excelente post, ajudou legal.
Gostei muito do post, ajudou bastante. Mas mesmo assim ainda sou um novato no assunto. Gostaria de saber se o Kerberos poderia ser utilizado para autenticar duas pessoas, por exemplo. É como se o servidor fosse uma outra pessoa e o usuário quisesse estabelecer uma comunicação segura com essa segunda pessoa. Isso poderia ser feito?
Pingback: Protocolo Kerberos - 3Way Networks