Controle de Acesso Kerberos. Considerações iniciais Um processo de autenticação tem como...
Transcript of Controle de Acesso Kerberos. Considerações iniciais Um processo de autenticação tem como...
Controle de Acesso Kerberos
Considerações iniciais Um processo de autenticação tem como
objetivo garantir o acesso à uma rede, e seus serviços, por usuários legítimos, e impedindo qualquer acesso não autorizado.
Por isso muitos sistemas requerem que o usuário primeiramente passe por um processo de autenticação para que esteja devidamente identificado e habilitado a utilizar o sistema, antes de permitir o acesso deste usuário à rede
Introdução
Kerberos é um protocolo de redes desenvolvido pelo MIT (Massachusetts Institute of Technology) em meados dos anos 80, que tem por objetivo prover uma autenticação forte através da utilização de criptografia simétrica
Introdução
Ao ser construído, foram designados a ele quatro principais requisitos:
A segurança - Evitando espionagem ou modificação dos dados
A confiabilidade - Que diz respeito a questão da mútua autenticação
A escalabilidade - Que refere-se ao fato de que deve ser um sistema capaz de funcionar tanto com redes pequenas quanto com redes muito grandes
A transparência - Permitir que as operações ocorram automaticamente
Funcionamento BásicoO funcionamento básico consiste em autenticar os usuários para aplicações de redes, utilizando:
- Um ticket - Um autenticador - Um centro de distribuição de chaves
Autenticação através da máquina cliente Problemas - Um usuário pode obter acesso a uma determinada
máquina cliente e fingir ser outro usuário, operando através daquele cliente
- Um usuário pode alterar o endereço da máquina cliente na rede, de forma que as mensagens de request provenientes desta máquina sejam vistas como vindas de uma outra máquina.
- Um usuário pode obter acesso a um servidor ou desfazer operações.
Funcionamento O Kerberos trabalha baseado em Tickets, que
identificam os usuários. Usuários realizem um cadastro no Authentication Server (AS), a função deste é fornece o Ticket Granting Ticket(TGT).
Este ticket deve ter como conteúdo dados que identifiquem o usuário como uma senha e uma estampa de tempo, usada para dar uma proteção contra o roubo e uso posterior do ticket
Ticket
Os tickets são como credenciais para o Kerberos. Eles possuem um grupo de informações eletrônicas que permitem verificar a identidade do cliente
Esse ticket é criptografado pelo servidor que o emitiu com a chave do servidor para o qual ele será enviado
Estrutura de um Ticket
Servidor de Autenticação ( Authentication Server – AS )
É responsável por receber um pedido de autenticação de um usuário e verificar se a identidade deste usuário é autêntica. Sendo válida esta identidade, o AS fornece um ticket e uma chave de sessão, que vai permitir o contato com outro servidor, o TGS.
Servidor de Concessão de Tickets ( Ticket Granting Server -TGS ) Responsável por fornecer tickets para
serviços específicos requeridos pelo usuário. O contato com o TGS é feito após a autenticação pelo AS. O usuário tem seu ticket avaliado, e uma vez validado pelo TGS, recebe um novo ticket, agora para obter algum serviço disponível.
Servidor de Administração (KADM) Este servidor é o responsável por controlar
as chaves secretas (informações criptografadas). Antes de realizar o processo de autenticação, é preciso que o usuário cadastre seus dados através do KADM, para que possua um login e uma senha
Centro de distribuição de Chaves (KDC) É um servidor centralizado também
responsável pela autenticação dos usuários Ao receber de uma máquina cliente uma
requisição por um ticket, o KDC cria o chamado Ticket Granting Ticket (TGT), o criptografa utilizando a senha secreta do usuário, criando a chamada chave secreta, e o envia para o cliente que fez a solicitação
Centro de distribuição de Chaves (KDC) O processo de autenticação inicia-se com um
pedido do cliente a este servidor central, o KDC, onde estão registradas as chaves secretas dos usuários. Cada máquina cliente compartilha uma chave secreta com o KDC, o qual é o responsável por gerar chaves para serem usadas por um pequeno período de tempo durante uma determinada conexão. O KDC, então, gera uma mensagem incluindo duas componentes: Uma chave de sessão (session key), a qual é codificada
com uma chave secreta do usuário. O ticket-granting ticket, (TGT), que inclui uma cópia da
chave de sessão.
Funcionamento
Figura extraída de: www.conectiva.com
Chave Secreta
Uma chave secreta é associada a cada cliente, com a finalidade de autenticar o usuário ao Kerberos. É obtida a partir da senha fornecida pelo cliente no momento de seu cadastramento, e sua chave secreta fica armazenada na Base de Dados do Kerberos.
Chave de Sessão
É uma informação encriptada e segura, gerada pelo Authentication Server, que permite identificar se quem está apresentando o ticket é o mesmo cliente para quem o ticket foi concedido, e não uma outra pessoa que possa ter interceptado ticket pelo caminho
Benefícios da autenticação Kerberos
Autenticação mútua. O cliente pode validar a identidade da entidade de servidor e o servidor pode validar o cliente. Com essa documentação, as duas entidades são denominadas "cliente" e "servidor" mesmo que seja possível estabelecer conexões seguras de rede entre servidores.
Permissões de autenticação seguras. São utilizadas somente permissões criptografadas, e as senhas nunca são incluídas na permissão.
Autenticação integrada. Uma vez que o usuário faça logon, ele não precisa efetuar logon novamente para acessar algum serviço que suporte a autenticação Kerberos pois a permissão do cliente não expira. Todas as permissões têm um prazo de validade determinado pelas diretivas do Kerberos que geram a permissão.
Benefícios da autenticação Kerberos Múltiplos domínios: pode ser criada uma
estrutura hierarquizada de autenticação, de forma que usuários de um domínio possam se autenticar em outro.
Limitações do Protocolo
Único ponto de falha Praticamente toda a segurança reside no servidor
que guarda a base de dados dos clientes e servidores. Se este servidor estiver comprometido, o funcionamento da rede também estará
O Kerberos necessita que os relógios internos dos clientes estejam sincronizados com o dele, devido o uso de timestamps para o controle dos tempos de expiração dos tickets
Referência Bibliografica
http://pt.wikipedia.org/wiki/Kerberos http://msdn.microsoft.com/pt-br/library/
cc280744.aspx http://www.conectiva.com/doc/livros/online/10
.0/servidor/pt_BR/ch13s04.html http://www.gta.ufrj.br/grad/04_1/kerberos/ker
beros/funcionamento.html http://www.gta.ufrj.br/grad/07_1/kerberos/
ChaveSecretaeChavedeSessao.html#Topic13