KERBEROS TRABALHO DE REDES DE COMPUTADORES I AUTORES: BERNARDO DE CAMPOS VIDAL CAMILO DIEGO XIMENES MENDES PEDRO PAIVA MIRANDA ROTEIRO • Introdução • Funcionamento • Implementações • Utilização • Limitações • Aplicações • Conclusão • Dúvidas • Perguntas INTRODUÇÃO • Kerberos • o cão e o protocolo • Projeto Athena • o que é? • cenário • Possíveis problemas • um usuário pode fingir ser outro • um usuário pode alterar o endereço de rede de uma máquina • eavesdropping • ataque de negação de serviço • … INTRODUÇÃO • A história em versões • MIT Kerberos versões de 1 a 3 • MIT Kerberos versão 4 • MIT Kerberos versão 5 • KTH-KRB • Kerberos Consortium • missão • continuar o desenvolvimento • apoio • E hoje? FUNCIONAMENTO Conceitos Iniciais • • • • • Usuário e cliente Serviço e servidor Kerberos principal Domínio Kerberos KDC (Key Distribution Center) FUNCIONAMENTO Credenciais do Kerberos versão 4 FUNCIONAMENTO Obtendo o ticket de concessão de ticket (TGT) – Kerberos 4 (1) Legenda: Cliente envia solicitação do TGT ao AS. (2) Legenda: AS envia resposta de solicitação do TGT ao cliente. FUNCIONAMENTO Obtendo tickets dos servidores – Kerberos 4 (3) Legenda: Cliente envia solicitação de ticket ao TGS. (4) Legenda: TGS envia resposta de solicitação do ticket ao cliente FUNCIONAMENTO Solicitando um serviço – Kerberos 4 (5) Legenda: Cliente envia solicitação de serviço ao servidor V (6) Legenda: Servidor V envia resposta ao pedido de autenticação do servidor perante o cliente FUNCIONAMENTO Solicitando serviço em outro domínio – Kerberos 4 • Um domínio compartilha uma chave diferente com cada domínio existente → n*(n-1)/2 chaves compartilhadas • Mensagens trocadas: • • • • (1) Cliente solicita TGT local ao AS local. (2) AS local envia TGT local ao cliente. (3) Cliente solicita TGT remoto ao TGS local (4) TGS local envia TGT remoto ao cliente FUNCIONAMENTO Solicitando serviço em outro domínio – Kerberos 4 (5) Legenda: Cliente solicita ticket ao TGS remoto (6) TGS remoto envia ticket do servidor remoto ao cliente (7) Cliente solicita serviço ao servidor remoto FUNCIONAMENTO Kerberos versão 5 – comparação com a versão 4 • • • Endereços de rede Algoritmo de criptografia Credenciais Ticket (Reutilizável) Autenticador (Utilizado apenas 1 vez, Pouco tempo de vida) FUNCIONAMENTO • Tempo de vida dos Tickets • • Máximo 1280 min na versão 4, arbitrário na versão 5 Solicitando serviço em outro domínio • • Possibilidade dos domínios serem estruturados em forma de árvore → n-1 chaves compartilhadas Propriedade fundamental: se o domínio B confia no domínio A, e o A confia no domínio C, então automaticamente B confia em C. IMPLEMENTAÇÕES Nome MIT Kerberos Heimdal Kerberos Active Directory TrustBroker Shishi Descrição Implementação original, desenvolvido para o projeto Athena. Tem 5 versões desenvolvidas, sendo as três primeiras usadas exclusivamente dentro do MIT. Devido a restrições na exportação (aproximadamente até os anos 2000) da tecnologia de criptografia, outra implementação foi desenvolvida na Suécia: o KTH-KRB. Atualmente, não existem restrições para sua exportação. Feita basicamente pelo mesmo grupo de desenvolveu o KTH-KRB, ainda em um cenário em que a exportação do MIT Kerberos estava banida. Baseado na versão 5 do Kerberos. Compatível com a versão do MIT. Coexiste com a versão do MIT em grande escala atualmente. Não é uma implementação do Kerberos propriamente dita, é um serviço de diretório criado pela Microsoft utilizado em ambientes Windows. No entanto, o protocolo Kerberos é um dos fundamentos para a autentição nesse serviço. É uma implementação comercial do Kerberos, desenvolvido pela CyberSafe. Suporta vários sistemas operacionais (Windows, Unix, Linux, ...) Oferece interoperalidade com várias outras implementações, do MIT até o Microsoft Active Directory. É a implementação GNU do Kerberos 5. É considerada uma implementação recente (A versão 0.0.0 foi lançada em 2003). IMPLEMENTAÇÕES Nome MIT Kerberos Heimdal Kerberos Active Directory TrustBroker Shishi Descrição Implementação original, desenvolvido para o projeto Athena. Tem 5 versões desenvolvidas, sendo as três primeiras usadas exclusivamente dentro do MIT. Devido a restrições na exportação (aproximadamente até os anos 2000) da tecnologia de criptografia, outra implementação foi desenvolvida na Suécia: o KTH-KRB. Atualmente, não existem restrições para sua exportação. Feita basicamente pelo mesmo grupo de desenvolveu o KTH-KRB, ainda em um cenário em que a exportação do MIT Kerberos estava banida. Baseado na versão 5 do Kerberos. Compatível com a versão do MIT. Coexiste com a versão do MIT em grande escala atualmente. Não é uma implementação do Kerberos propriamente dita, é um serviço de diretório criado pela Microsoft utilizado em ambientes Windows. No entanto, o protocolo Kerberos é um dos fundamentos para a autentição nesse serviço. É uma implementação comercial do Kerberos, desenvolvido pela CyberSafe. Suporta vários sistemas operacionais (Windows, Unix, Linux, ...) Oferece interoperalidade com várias outras implementações, do MIT até o Microsoft Active Directory. É a implementação GNU do Kerberos 5. É considerada uma implementação recente (A versão 0.0.0 foi lançada em 2003). UTILIZAÇÃO Para o Cliente: • Funciona de forma transparente UTILIZAÇÃO Para o Administrador: • Instalar o(s) Key Distribution Center(s) (KDC) e o servidor de administração. • Propagar a base de dados entre os KDCs escravos • Criar políticas para senhas • Sincronizar relógio dos computadores. • Adicionar, modificar e deletar principals na base de dados • Adicionar as chaves secretas nos servidores de aplicação LIMITAÇÕES • O usuário tem que confiar no seu computador • O funcionamento depende da sincronização dos relógios • A segurança depende da força da senha do usuário • É necessário que as aplicações sejam compatíveis com Kerberos APLICAÇÕES • Apache e Apache 2 • Postfix • Mac OSX • Microsoft Windows (2000 e posteriores) utiliza como protocolo de autenticação padrão • OpenSSH (com Kerberos v5 ou posterior) • Samba • O suíte de aplicativos Kerberos já vem com os clientes e servidores habilitados para rsh, FTP, e Telnet CONCLUSÃO • Autenticação robusta em ambientes distribuídos • Solução de segurança confiável • Kerberos é maduro • Kerberos atende os requisitos de sistemas distribuídos modernos • Kerberos é sólido • Kerberos já tem seu espaço DÚVIDAS? PERGUNTAS Por que o relógio dos computadores da rede tem que estar sincronizados? PERGUNTAS Por que o relógio dos computadores da rede tem que estar sincronizados? Porque os tickets e autenticadores do Kerberos tem validade para evitar que tickets roubados sejam usados posteriormente. PERGUNTAS Por que o relógio dos computadores da rede tem que estar sincronizados? Porque os tickets e autenticadores do Kerberos tem validade para evitar que tickets roubados sejam usados posteriormente. O que é um Domínio? PERGUNTAS Por que o relógio dos computadores da rede tem que estar sincronizados? Porque os tickets e autenticadores do Kerberos tem validade para evitar que tickets roubados sejam usados posteriormente. O que é um Domínio? Um conjunto de principals gerenciados que compartilham o mesmo banco de dados Kerberos. MAIS PERGUNTAS O que caracteriza o Kerberos como um mecanismo de criptografia de chave simétrica? MAIS PERGUNTAS O que caracteriza o Kerberos como um mecanismo de criptografia de chave simétrica? O fato das chaves serem compartilhadas entre duas ou mais entidades e elas serem usadas pra criptografar e decriptografar uma mensagem. MAIS PERGUNTAS O que caracteriza o Kerberos como um mecanismo de criptografia de chave simétrica? O fato das chaves serem compartilhadas entre duas ou mais entidades e elas serem usadas pra criptografar e decriptografar uma mensagem. Qual a vantagem e a desvantagem do tempo de validade do TGT ser curto? MAIS PERGUNTAS O que caracteriza o Kerberos como um mecanismo de criptografia de chave simétrica? O fato das chaves serem compartilhadas entre duas ou mais entidades e elas serem usadas pra criptografar e decriptografar uma mensagem. Qual a vantagem e a desvantagem do tempo de validade do TGT ser curto? A desvantagem é que o usuário provavelmente vai ter que redigitar sua senha muitas vezes, facilitando que ela seja roubada. A vantagem é que caso ele seja roubado o tempo de ação de alguém mal-intencionado será menor. E UMA ÚLTIMA PERGUNTA O fato do funcionamento do Kerberos ser de conhecimento público o torna mais inseguro? E UMA ÚLTIMA PERGUNTA O fato do funcionamento do Kerberos ser de conhecimento público o torna mais inseguro? Não, pois quando se trata de segurança em redes um mecanismo é considerado confiável quando conhecido, usado, estudado amplamente e não é burlado de forma eficaz.