Controle de Acesso Kerberos. Considerações iniciais Um processo de autenticação tem como...

Preview:

Citation preview

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

Recommended