Você está na página 1de 6

Protocolo Kerberos

Bruno Azevedo1, Janio L. Antunes1, Marcel V. Kohls1, Robson F. da Veiga1


1

Instituto de Informtica Instituto Federal Catarinense Campus Cambori (IFC) Rua Joaquim Garcia s/n Caixa Postal 16 88.340.000 Cambori SC Brasil
{bruno.azevedo_,janioantunes}@hotmail.com, marcel@degratis.com.br, robsonfveiga@gmail.com

Resumo. Um dos grandes problemas ao implementar um sistema de segurana em uma organizao a parte interna da rede, e no a parte externa ou a Internet. Para as conexes externas, existem vrios softwares e tcnicas que implementam firewalls e proxies seguros. Mas para a rede interna da organizao mais complicado, pois neste ambiente trabalham pessoas ligadas organizao, ou seja, confiveis. Por descuido ou por vontade prpria, uma pessoa da organizao pode instalar um software malicioso que libere acesso para fora da rede, deixando a rede interna, seus servidores e demais hosts desprotegidos. Ou seja, este software pode ser algum tipo de spyware, que mande informaes sigilosas para fora da organizao. Para evitar esse tipo de software e controlar este tipo de usurio descuidado, pode-se utilizar o Kerberos. Este artigo aborda as caractersticas de funcionamento e aplicabilidade do protocolo Kerberos.

1. Introduo
A Internet um lugar inseguro. A maioria dos protocolos utilizados por ela possuem poucos ou at mesmo no possuem recursos de segurana. Ferramentas para interceptar senhas na rede so utilizadas frequentemente por hackers maliciosos. Alm disso, aplicaes que enviam senhas desprotegidas pela rede so extremamente vulnerveis a ataques. Os servidores das aplicaes cliente/servidor normalmente acreditam que a estao cliente honesta suficiente ao informar qual o usurio que o est utilizando. Alguns sites de Internet tentam utilizar firewalls para resolver seus problemas de segurana. Infelizmente, os firewalls assumem que "os maus" esto do lado de fora, o que no uma ttica infalvel, pois a maioria dos incidentes de segurana so feitos por pessoas dentro das empresas, normalmente funcionrios. Firewalls tambm possuem a desvantagem de restringir a maneira como seus usurios podem utilizar a Internet. O Kerberos um protocolo desenvolvido para fornecer uma poderosa autenticao em aplicaes usurio/servidor, onde ele funciona como a terceira parte neste processo, oferendo autenticao ao usurio. O Kerberos foi desenvolvido como parte do Projeto Athena, do Massachussets Institute of Technology (MIT). Seu nome vem da mitologia, onde Cerberus (Kerberus para os gregos) um co com trs cabeas que tem por misso proteger a entrada do inferno de Hades. Utiliza criptografia forte de maneira que um usurio pode provar sua identidade um servidor (e vice e versa) atravs de uma conexo de rede insegura. Aps o cliente e o servidor utilizarem o protocolo, eles ainda podem criptografar toda a sua comunicao garantindo assim privacidade e integridade da informao, fatores chaves indispensveis no mundo dos negcios.

2. Funcionamento do Kerberos
Nesta seo ser abordado o funcionamento do processo de autenticao do Kerberos assim como as criptografias disponveis no mesmo. 2.1. Como o Kerberos funciona Para que o processo de autenticao do Kerberos funcione, so necessrios trs servios essenciais (MATTHEWS, 2010): a) Um centro de distribuio de chaves (KDC), que um servidor que tem dois componentes: um servidor de autenticao e um bilhete de Concesso de Servio; b) O cliente (usurio); c) O servidor, que o cliente quer acessar. A figura 1 ilustra o processo de autenticao com o Kerberos.

Figura 1: Processo de autenticao do Kerberos

O mtodo de autenticao apresentado na figura 1 funciona da seguinte forma: 1. Para fazer login na rede, o usurio fornece um nome de conta e senha; 2. O servidor de autenticao (AS), componente do KDC, acessa as informaes da conta do usurio no Active Directory para verificar as credenciais. 3. A KDC concede uma permisso (TGT), que permite ao usurio obter bilhetes de sesso para acessar servidores do domnio, sem ter que digitar as credenciais novamente (o TGT ativo por 10 horas, por padro, o perodo de validade pode ser configurado pelo administrador). 4. Quando o usurio tenta acessar recursos em um servidor no domnio, o TGT usado para fazer o pedido. O cliente apresenta o TGT para o KDC para obter uma permisso de servio.

5. O Bilhete de Concesso Servio, componente (TGS) do KDC autentica o TGT e, em seguida, concede uma permisso de servio. O bilhete de servio consiste em um bilhete e uma chave de sesso. A permisso de servio criada para o cliente e o servidor que o cliente quer acessar. 6. O cliente apresenta a permisso de servio para criar uma sesso com o servio no servidor. O servidor usa sua chave para descriptografar as informaes dos TGS, e o cliente autenticado para o servidor. 7. Se a autenticao mtua habilitada, o servidor tambm autentica para o cliente. A figura 2 ilustra o funcionamento descrito acima:

Figura 2: Funcionamento do processo de autenticao do Kerberos

2.2. Criptografias do Kerberos O Kerberos, em sua verso 5, suporta vrios tipos de codificao (enctypes). O tipo usado em uma determinada instncia automaticamente negociado entre o cliente e os servidores Kerberos KDC, com base no cliente e no servidor, bem como os tipos de criptografia usadas para criptografar a senha para o usurio e os principais servios. importante que os prestadores de servios utilizadores de Kerberos

(fornecedores de servios de computador, tais como LDAP, CIFS, HTTP, etc, que foi configurado para aceitar bilhetes Kerberos) configurem novas diretrizes de servio na KDCs com os enctypes corretos e que possam ser suportados pelo servidor para que os clientes do Kerberos no tentem usar uma criptografia que o servidor no possa suportar, o que normalmente feito durante a criao do principal servio Kerberos e do arquivo keytab, como com o Gerador de keytab. A tabela 1 apresenta as criptografias disponveis no Kerberos:

Tabela 1: Criptografias Disponveis no Kerberos

3. Aplicabilidade do Kerberos
Sero apresentados nesta seo, algumas caractersticas do Kerberos que fortalecem os motivos para sua adoo, assim como algumas caractersticas sobre sua implementao. 3.1. Por que integrar o Kerberos? Kerberos um componente chave para fornecer controle de acesso nas empresas atuais. No inicio do dia, o usurio loga dentro do Kerberos, obtendo credencias uma nica vez e utilizando diversas aplicaes atravs do dia. O Kerberos fornece uma segurana apropriada para troca de informaes e garante que essas aplicaes no precisem requisitar o usurio e a senha novamente. O usurio tem a convenincia de no ficar precisando constantemente realizar login para acessar cada aplicao onde, cada uma possui uma forma de nomear os usurios. A organizao tem como garantir a poltica de segurana em um nico ponto. Outros componentes da estratgia de controle de acesso de uma organizao normalmente so um diretrio para armazenar informaes de autorizao e atributos sobre o usurio, como tambm a infraestrutura gerencial. Entretanto, o Kerberos disponibiliza o link que permite s aplicaes participarem na estratgia de controle de acesso da empresa. Apesar desse modelo ser comum em grandes corporaes, ele vem se expandindo para grupos de trabalhos e configuraes peer-to-peer (Ponto-a-Ponto) pelo fato de o Kerberos estar cada vez mais integrado com as plataformas dos sistemas operacionais. Sabe-se que existem muitos elementos para estratgia de controle de acesso dentro de uma empresa. O Kerberos permite que aplicaes usem os elementos de controle de acesso da organizao ou da plataforma ao invs de solicitar que cada aplicao fornea uma estratgia de controle de acesso. Mesmo se as aplicaes tivessem capacidade de fornecer um controle de acesso completo, a integrao com outros sistemas de autenticao e autorizao de servios seria essencial para evitar o custo de gerenciar mltiplos elementos de controle de acesso. Como um exemplo desta integrao, se uma conta desabilitada ela estar impossibilitada de usar qualquer outra aplicao que esteja integrada com a autenticao e gerenciamento dessa conta.

Aplicaes tambm podem tirar vantagem de qualquer informao disponvel em um diretrio, por exemplo, pode ser possvel auxiliar usurios a usarem aplicaes quando a conta do usurio for criada dentro da organizao. 3.2. Implementaes Existem diversas implementaes do Kerberos disponveis para desenvolvedores. No sistema operacional Windows, segundo Migeon (2008), todas as verses, com exceo do Windows CE, incluem suporte ao Kerberos. O Windows suporta o mecanismo GSSAPI do Kerberos, mas no usa o GSS-API como uma interface de aplicao. Ao invs disso, as aplicaes do Windows podem acessar o Kerberos atravs do SSPI (Security Support Provider Interface). O SSPI fornece funcionalidade similar ao GSS-API, embora as chamadas especficas da API, que uma aplicao precisa fazer, sejam diferentes. Na terminologia da Microsoft, o Kerberos um dos SSPs (Security Service Providers) que pode ser usado atravs da interface SSPI. Existem poucas diferenas entre o mecanismo da Microsoft e outros mecanismos Kerberos GSS-API: O Windows no suporta a duplicao do token ou a funcionalidade gap token do GSS-API. Se a deteco sequencial ou repetitiva est ativada no Windows, ento nenhum dado disponvel se mensagens repetitivas ou fora de sequencia so desembrulhadas. O Windows suporta o modo de estilo DCE que muda o formato do token. O Windows suporta a habilidade de passar em vrios buffers quando est gerando um token; outras implementaes GSS-API no suportam. O Kerberos da Microsoft fornece o single-sign-on (autenticao nica) junto com o domnio do Windows. A credencial do domnio disponibilizada e pode ser usada para a conexo de servios da rede. O Windows tambm permite que as aplicaes obtenham as credenciais do Kerberos baseado na senha que passada dentro do SSPI. De qualquer forma, o Windows no fornece uma interface de usurio para obter credencias padres para uma identidade diferente das identidades dos usurios do domnio que pode ser usado quando se contatar com os servios da rede. O Windows fornece uma senha que permite que usurios armazenem uma senha para ser usada quando contando com servios especficos. Se o servio suporta o Kerberos, ento o Windows tentar usar essa senha para obter os tickets do Kerberos.

4. Consideraes finais
O Kerberos um servio de autenticao distribudo, que permite que um cliente prove sua identidade perante um servidor sem enviar dados confidenciais pela rede. Esse processo realizado como um servio de autenticao promovido por uma terceira entidade confivel, utilizando criptografia, e oferecendo, dessa forma, integridade e confiabilidade nas mensagens encaminhadas atravs da rede. Devido a seu funcionamento distribudo, o Kerberos conhecido como um protocolo de autenticao third-party ( um sistema de confiana tripla), onde a terceira entidade, o Kerberos, existe entre o cliente e o servio, com o objetivo de garantir a segurana na comunicao entre os dois.

Referncias
CALR FILHO, Marcos Muniz. Kerberos. Disponvel em: <http://www.gta.ufrj.br/grad/99_2/marcos/kerberos.htm>. Acesso em: 17 nov. 2012. MATTHEWS, Daren. How Kerberos Works. Disponvel em:

<http://mccltd.net/blog/?p=1053>. Acesso em: 17 nov. 2012. MICROSOFT. Autenticao Kerberos V5. Disponvel em: <http://technet.microsoft.com/pt-br/library/cc783708(v=ws.10).aspx>. Acesso em: 17 nov. 2012. MIGEON, Jean-yves. The MIT Kerberos Administrators How-to Guide: Protocol, Installation and Single Sign On. Disponvel em: <http://www.kerberos.org/software/adminkerberos.pdf>. Acesso em: 17 nov. 2012. SANDRI, Andr. O que KERBEROS? Disponvel em: <http://www.labin.unilasalle.edu.br/infoedu/siteinfoedu1_03/turmacc2_03/kerberos/i ndex.html>. Acesso em: 17 nov. 2012. SCHAEFER, Ken. IIS and Kerberos: A simple delegation scenario. Disponvel em: <http://www.adopenstatic.com/cs/blogs/ken/archive/2007/01/28/1282.aspx>. Acesso em: 17 nov. 2012.