Redes de Computadores I Professor: Otto Carlos Muniz Bandeira Duarte KERBEROS Autores: Lucas Medaber Jambo Alves Paes Priscila Pecchio Belmont Albuquerque 2007/1 Introdução • O que é o Kerberos? - Protocolo de Autenticação • Origem do nome: Mitologia Grega (Cerberus) • Projeto Athena – MIT (Massachusets Institute of Technology) “The Internet is an insecure place” • Não há computador mais seguro do que aquele desconectado e desligado. Propostas do Kerberos • Segurança • Confiabilidade • Transparência • Escalabilidade Funcionamento • Key Distribution Center (KDC) - Banco de dados que guarda os usuários e serviços do domínio Kerberos. - Servidor Centralizado, responsável pela autenticação do usuário. - Compartilha uma chave secreta com cada servidor. - Engloba o AS (Authentication Server) e o TGS (Ticket Granting Server) Funcionamento • Authentication Server (AS) - Fornece o Ticket Granting Ticket ao cliente. - Ticket Granting Ticket? - Chave encriptada (“Chave de Sessão”), baseada na senha do usuário. Funcionamento • Ticket Granting Ticket (TGT) - Concedido ao cliente pelo AS. - É necessário para a requisição de serviços específicos. - Expira em poucas horas, evitando falsificações. Funcionamento • Ticket Granting Ticket (TGT) Ektgs [ Kc,tgs || IDc || ADc || IDtgs || TS || Lifetime ] Onde: Ektgs : Encriptação com uma chave conhecida apenas pelo AS e pelo TGS Kc,tgs : Chave de sessão entre cliente e TGS ADc : Endereço da workstation. Previne o uso do ticket através de uma workstation diferente da que requisitou o ticket TS : Informa o tempo em que o ticket foi criado Uma Análise Visual Requisita o ticket-granting ticket Cliente TGT + Chave de Sessão Authentication Server Funcionamento • Ticket Granting Server (TGS) - Recebe um TGT do cliente para fazer a autenticação. - Concede um ticket para um serviço em particular. Funcionamento • Service Granting Ticket Ekserver [ Kc,v || IDc || ADc || IDv || TS || Lifetime ] Onde: Ekserver : Encriptação com uma chave conhecida apenas pelo TGS e pelo Servidor Kc,v : Chave de sessão entre cliente e o servidor ADc : Endereço da workstation. Previne o uso do ticket através de uma workstation diferente da que requisitou o ticket. TS : Informa o tempo em que o ticket foi criado Uma Análise Visual Requisita o service-granting ticket Envia o TGT Cliente Authentication Server SGT + Chave de Sessão Ticket-granting Server Uma Análise Visual Cliente Serviço Authentication Server Requisita o serviço Envia o SGT Ticket-granting Server Server Funcionamento • Chave de Sessão - Associada a cada cliente. - Chave temporária, para a comunicação entre as entidades e o KDC. - Fica armazenada na Base de Dados. Uma analogia com o mundo real - Evento = Serviço disponível na rede - Órgão Expedidor de Carteiras = AS - Carteira de Estudante = TGT - Bilheteria do Evento = TGS Cross Realm Authentication • Realm - Domínio Kerberos - Ambiente: Servidor + Registros de usuários e senhas (Base de Dados) + chaves secretas compartilhada com servidores. • Comunicação entre dois realms. Características • Problemas e Limitações - Senha Fraca. - Intrusos monitorando aplicações alteradas. - Segurança do Servidor responsável pela Base de Dados. Versão 4 X Versão 5 Exemplos de Diferenças: - Tipo de Criptografia - Versão 4: algoritmo DES de encriptação, baseado em chave simétrica. - Versão 5: identificador do tipo de encriptação. - Tempo de vida do Ticket - Versão 4: Poucas horas, ruim para simulações longas. - Versão 5: Tempos explícitos de início e fim, permitindo valores arbitrários. Porém...As duas versões são passíveis de ataques às senhas, por tentativas! Considerações Finais • Protocolo de autenticação third-party ( um sistema de confiança tripla). • Uma terceira entidade, o Kerberos, existe entre o cliente e o servidor, com o objetivo de garantir a segurança na comunicação entre os dois. • Oferece integridade e confiabilidade nas mensagens encaminhadas através da rede. Perguntas 1) Qual o objetivo da implantação do protocolo Kerberos em uma rede? R: O objetivo da implantação do protocolo Kerberos em uma rede é prover um processo seguro de autenticação em aplicações do tipo usuário e servidor. Perguntas 2) Para que serve o Ticket Granting Ticket? Quem o concede? R: O Ticket Granting Ticket é concedido pelo Authentication Server à máquina cliente, onde está o usuário. Serve para identificar o usuário ao Ticket Granting Server, e realizar a requisição de serviços específicos. Perguntas 3) O que é o Cross Realm Authentication? R: O cross realm authentication é a possibilidade de um usuário pertencente a um determinado realm fazer o pedido de um serviço a um servidor pertencente a um outro realm. Os servidores também podem estar dispostos a oferecerem serviços a usuários de outros realms, uma vez que estes usuários estejam autenticados. Perguntas 4) Cite 2 problemas que o Kerberos pode apresentar. R: Dois problemas que o Kerberos pode ter são: a escolha de uma senha fraca pelo usuário (uma senha facilmente dedutível), e o fornecimento de uma senha a uma aplicação anteriormente modificada e monitorada por algum intruso, a fim de coletar informações do usuário. Perguntas 5) Cite 2 diferenças entre a versão 4 e a versão 5 do protocolo. R: A dependência do tipo de encriptação do sistema: a versão 4 utiliza o DES e a versão 5 pode utilizar outro tipo de encriptação pois possui um identificador para o tipo de criptografia utilizado. O tempo de expiração dos tickets: A versão 4 possui um tempo máximo para a vida do ticket, o que é ruim para uma simulações de longa duração, por exemplo. Na versão 5, os tickets têm tempo de vida arbitrários, com tempo explícito de início e fim. Bibliografia • - STALLINGS, William. Cryptography and Network Security – Principles and Practice – Second Edition . Prentice-Hall, 1999. • - KUROSE, James F. and ROSS, Keith W. Computer Networking – A Top- Down Approach Featuring the Internet. - Third Edition . Addison-Wesley, 2000. • - TANENBAUM, Andrew S. Computer Networks - Fourth Edition. Prentice- Hall, 2002. • http://web.mit.edu/kerberos/ • http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/ch13s04.html • http://www.hitmill.com/computers/kerberos.html • http://www.linhadecodigo.com.br/ • http://www.zeroshell.net/