Loading AI tools
Da Wikipédia, a enciclopédia livre
Kerberos[1] é um Protocolo de rede, que permite comunicações individuais seguras e identificadas, em uma rede insegura. Para isso o Massachusetts Institute of Technology (MIT) disponibiliza um pacote de aplicativos que implementam esse protocolo. O protocolo Kerberos previne Eavesdropping e Replay attack, e ainda garante a integridade dos dados. Seus projetistas inicialmente o modelaram na arquitetura cliente-servidor, e é possível a autenticação mutua entre o cliente e o servidor, permitindo assim que ambos se autentiquem.
Kerberos utiliza Criptografia simétrica e necessita de um sistema de confiança tripla.
[2] Kerberos é um protocolo de autenticação do Projeto Athena. Tem esse nome em alusão ao Cão guarda de três cabeças (Cérbero) do deus Hades da Mitologia grega. Diversas versões do protocolo já existiram, as versões 1 até a 3 foram utilizadas somente dentro da MIT. Steve Miller e Clifford Neuman, foram os principais projetistas da versão 4 do Kerberos, publicada nos anos 80, ainda com foco no Projeto Athena.
A versão 5 foi projetada por John Kohl e Clifford Neuman e publicada em 1993 no RFC 1510 (Ficou obsoleto ao RFC 4120 de 2005), e teve como intenção melhorar a segurança e as limitações relativas a versão 4.
A MIT disponibilizou uma implementação livre sob licença BSD.
Autoridades Norte-americanas/Estadundenses proibiram o uso do Kerberos, pois esse utiliza um algoritmo de criptografia com uma chave de 56-bit, chamado DES. Eles consideraram que o protocolo prejudica a segurança nacional, porque impede que mensagens interceptadas sejam entendidas (Assim como qualquer aplicativo que utilize criptografia com chave maior que 40-bit). Uma implementação não americana do Kerberos, KTH-KRB foi desenvolvida pela Royal Institute of Technology na Suécia, tornando assim o sistema disponível fora dos EUA, até a mudança da regulamentação de exportação de criptografias. A implementação Sueca é baseada em uma versão chamada eBones. eBones é baseado em um release da versão eBones da MIT (Retirado a criptografia e as chamadas a mesma) que por sua vez foi baseado na versão 4 do Kerberos atualização 9. Esse Kerberos limitado é chamado hoje como eBones. Uma implementação chamada Heimdal, foi feita basicamente, pelo mesmo grupo de pessoas e é baseada na versão 5 do Kerberos.
Windows 2000, Windows XP e o Windows Server 2003 utilizam uma variante do Kerberos, como seu método de autenticação padrão. As adições feitas no conjunto de protocolos do Kerberos pela Microsoft são documentadas no RFC 3244 chamado “Microsoft Windows 2000 Kerberos change Password and Set Password Protocols”. O Mac OS X da Apple também usa o Kerberos, tanto o cliente como o servidor.
Em 2005, o grupo chamado IETF “IETF Kerberos Workgroup” atualizou as especificações Kerberos. As atualizações incluem:
[2] O Kerberos utiliza basicamente o protocolo Needham-Schroeder. O sistema de confiança tripla é chamado de Centro de Distribuição de Chaves (CDC), que é composta por duas partes separadas: um Servidor de Autenticação (SA) e Servidor de Concessão de Ticket (SCT). O Kerberos trabalha baseado em Tickets, que identificam os usuários.
O CDC mantém um banco de dados de chaves secretas; toda entidade de rede – tanto clientes como servidores – compartilham uma chave secreta que é apenas conhecido por eles mesmos e pelo CDC. O conhecimento da chave secreta pelo CDC é necessário para a identificação das entidades de rede. Para a comunicação entre as entidades o CDC gera uma chave de sessão temporária, que serve para garantir a privacidade das informações.
Os seguintes softwares podem utilizar Kerberos para a autenticação:
Qualquer um pode especificar o protocolo utilizando a notação de protocolo de segurança, onde Alice (A) se autentica com Bob (B) utilizando um servidor S. Onde:
Percebemos que a segurança do protocolo se baseia em marcas temporais T e “lifespans” L como indicadores de quão recente é a comunicação. E em relação à operação do Kerberos, é importante salientar que o servidor S é utilizado por ambos como o Servidor de Autenticação (SA), e como Servidor de Concessão de Ticket (SCT). Sendo , é o Ticket do cliente para o servidor, é o autenticador, e confirma a veracidade da identificação de B e se o mesmo é reconhecido por A. Isso é necessário para uma autenticação mutua.
A seguir, é descrito fluxo simplificado do funcionamento do protocolo.
As seguintes nomenclaturas serão usadas:
Em uma sentença: o cliente se autentica no SA, então demonstra para o SCT que está autorizado a receber um Ticket para utilizar em um serviço (e o recebe), então demonstra ao SS que ele está aprovado para receber um serviço.
Em mais detalhes:
Ponto de falha único: É necessária uma disponibilidade contínua do servidor central. Quando o servidor do Kerberos está indisponível, ninguém pode mais se autenticar na rede. Isso pode ser resolvido utilizando diversos servidores Kerberos.
O Kerberos necessita que os relógios internos dos clientes estejam sincronizados com o dele. Os Tickets têm um tempo de vida, e se o relógio do cliente não estiver sincronizado com o do servidor, a autenticação irá falhar. Na configuração padrão, é necessário que os relógios dos clientes não tenham uma diferença maior do que 10 minutos. Na prática, servidores NTP são utilizados para manter os relógios do servidor e dos clientes sincronizados.