Document details

Resilient authentication service

Author(s): Malichevskyy, Oleksandr

Date: 2013

Persistent ID: http://hdl.handle.net/10451/9411

Origin: Repositório da Universidade de Lisboa

Subject(s): Tolerância a faltas distribuidas; Resiliência; Serviços de autenticação; RADIUS; EAP-TLS; Teses de mestrado - 2013


Description

A grande maioria dos sistemas online depende dos serviços básicos de autenticação e autorização. Estes são responsáveis por prover os recursos necessários para evitar acessos indevidos ou não autorizados a aplicações, dados ou redes. Para aceder aos recursos por norma os utilizadores usam um nome de utilizador e uma prova, que geralmente é uma senha, ou seja, uma informação teoricamente conhecida unicamente pelo respectivo utilizador. Nos últimos anos o uso de redes sem fios sofreu um grande aumento. A maioria destes serviços necessita de algum tipo de autenticação e mecanismos de autorização para dar ou não o acesso ao serviço e verificar os direitos e permissões dos utilizadores. Para isso o utilizador tem de se autenticar perante o serviço. É comum os utilizadores terem um par de nome de utilizador/palavra chave para cada serviço que usam. Isso traz problemas de gestão tanto para os utilizadores, que têm de memorizar as suas credenciais, como para os administradores, que têm de gerir um grande número de utilizadores. O utilizador não só tem de memorizar as credenciais para os serviços que usa como também passa a ter várias identidades, uma vez que identidades não são partilhadas entre serviços. Para resolver o problema de múltiplas identidades apareceu o modelo de identidade federada. As contas de utilizadores são agregadas num único provedor de identidade, a escolha de cada utilizador. Assim os utilizadores têm os seus dados num só local em que eles confiam e só tem de memorizar uma credencial. Isso permite usar as suas credenciais para acesso a vários serviços. Como exemplo podemos dar a rede sem fios eduroam. Esta dissertação vai se focar nos serviços de autenticação para redes sem fios com grande número de utilizadores. Com as identidades federadas os utilizadores podem aceder aos serviços de rede usando as suas credenciais a partir de qualquer local. No caso de serviço eduroam, um utilizador tendo credencias de uma instituição de ensino pode deslocar-se a outra instituição da federação em qualquer parte do mundo e ter acesso a rede usando as credenciais da sua instituição. Para isso os pontos de acesso usam um servidor de autenticação AAA (autenticação, autorização e responsabilidade), que no caso de eduroam é RADIUS. AAA é uma arquitectura que permite uso de protocolos de autenticação dos utilizadores nas redes de grande porte e é baseada em três componentes base, suplicante, NAS (e.g., router Wi-Fi) e o servidor de autenticação. Quando suplicante quer aceder a rede, ele manda as suas credenciais ao NAS e este usa o servidor de autenticação para validá-las. Ao longo da existência de arquitectura AAA foi dado mais enfase à segurança dos protocolos de autenticação do que a resiliência das componentes, tais como o NAS e o servidor de autenticação. No caso de falha do NAS o suplicante pode escolher outro e voltar tentar autenticar. Se o servidor de autenticação falhar, sofrer um ataque ou mesmo uma intrusão o atacante consegue negar acesso a rede aos utilizadores legítimos, ou roubar as credenciais dos mesmos e fazer um ataque à rede. No caso de uma federação, em que os utilizadores usam uma credencial para aceder a vários serviços, esse problema torna-se ainda mais grave, visto que o atacante consegue atacar não só um servidor de autenticação como toda a federação e os serviços prestados na rede da mesma. O grande objectivo desta dissertação é desenvolver um servidor de autenticação para redes sem fios resiliente, tolerante a faltas e as intrusões. Para cumprir estes objectivos foi escolhido o protocolo RADIUS devido a seu alargado uso (e.g., eduroam, provedores de Internet) e a sua simplicidade. As garantias de tolerância a faltas e a intrusões foram conseguidas através do uso de replicação activa, com máquinas de estados em conjunto com uma componente segura. A replicação de um serviço, por norma, obriga a uma mudança de cliente, neste caso seria o NAS, de modo a suportar a replicação. Durante o desenho de arquitectura teve-se o cuidado de evitar a mudança nas componentes mais próximas do suplicante, de modo a possibilitar a integração de novo serviço resiliente nas redes actuais. O protocolo RADIUS suporta, na sua definição base, mecanismos de autenticação fracos baseados em nome de utilizador/password, porque foi projectado para redes com fios. Em redes sem fios, geralmente é mais fácil escutar a comunicação e, assim, roubar credenciais dos utilizadores. A solução para este problema foi a adição de suporte de métodos de autenticação EAP (Extensible Authentication Protocol). Com a utilização de EAP, podemos adicionar métodos de autenticação fortes a fim de conseguir as propriedades de segurança durante a autenticação. A principal razão para usar EAP é eliminar a necessidade de mudar os componentes intermédios da rede, tais como NAS. Precisamos mudar apenas o suplicante e o servidor de autenticação. Os pacotes EAP são transportados através dos componentes de rede do suplicante para o servidor de autenticação através de, por exemplo, o protocolo 802.1X entre suplicante e NAS e RADIUS entre NAS e servidor de autenticação. O método de autenticação EAP escolhido foi EAP-TLS visto que é um padrão aberto e um dos mais robustos protocolos de autenticação. Permite uma autenticação fim-afim e a geração de chaves simétricas entre o suplicante e o servidor de autenticação de forma secreta. Apesar de ser um sistema de autenticação forte existe uma dificuldade em distribuição de credenciais. Ao contrário das credenciais baseadas em nome de utilizador/palavra chave, este método necessita de geração de um certificado para cada servidor de autenticação e para cada utilizador do sistema. O sistema desenhado e desenvolvido é composto por quatro componentes: suplicante (pede acesso a rede), NAS (no nosso caso é um router de rede sem fios), gateway (elimina a necessidade de alterarmos os clientes RADIUS existentes e funciona como cliente do nosso servidor de autenticação replicado) e servidor de autenticação RADIUS replicado (um serviço replicado tolerante a faltas bizantina e a intrusões). Para implementação do servidor de autenticação replicado e do seu cliente (gateway) foi usada biblioteca de replicação BFT-SMaRt. Cada servidor de autenticação tem a sua componente segura, que providencia a tolerância a intrusão escondendo os dados sensíveis do servidor, tais como seu certificado e chaves partilhadas com o NAS. Se o servidor necessitar de usar esses dados a componente segura providencia um interface que permite o servidor executar todas as operações necessárias que envolvem esses dados. Para validar o desempenho do sistema foram feitos vários testes de latência e de débito comparando o protótipo concretizado a uma implementação bastante popular de FreeRADIUS. Notaram-se algumas diferenças em termos de desempenho de serviço de RADIUS replicado em relação ao FreeRADIUS. Os testes mostraram que o RADIUS replicado tem uma latência superior e o débito inferior ou de FreeRADIUS. Isso deve-se, em especial, pelo facto do primeiro ser um sistema replicado e necessitar uma maior troca de mensagens devido aos protocolos BFT e replicação de máquina de estados. Apesar do RADIUS replicado ser um sistema replicado, consegue mostrar uma latência razoável e aceitável em ambientes de redes locais.

The increasing use of the wireless networks in the last years has created the demand for authentication and authorization for these networks. The basic model usually requires a user, to access the network, authenticate itself before the authentication server using its credentials. Authentication and authorization in networks with the large number of users is usually achieved using the WPA-Enterprise mode. WPA-Enterprise allows the use of the external authentication server to validate user credentials and determinate his rights. Most common and widely used protocol for WPA-Enterprise is RADIUS, which follows AAA architecture. Normally RADIUS servers are running in a single machine and in a single process. If RADIUS server stops users are unable to authenticate and access the network. To solve this problem, most RADIUS servers are replicated for redundancy and load management. AAA architecture and RADIUS protocol fail completely in case of server Byzantine behavior, i.e., if a failure makes the system present arbitrary behavior. In case of intrusion on authentication server, the attacker is able to access user credentials and other sensible data, such as server certificates. The major focus of this work is to develop a resilient, fault- and intrusion-tolerant authentication server for WPA-Enterprise wireless networks, without changing existent systems. To meet these objectives we implemented a replicated RADIUS-compliant protocol, which uses EAP-TLS as its authentication method. Fault and intrusion tolerance is ensured using state machine replication, together with a tamper-proof component used for storing cryptographic keys related with user credentials. The service was evaluated and compared with a popular non-fault-tolerant solution, which is used in the eduroam network, FreeRADIUS. Initial results demonstrate the applicability of the proposed solution.

Tese de mestrado em Engenharia Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2013

Document Type Master thesis
Language English
Advisor(s) Bessani, Alysson Neves, 1978-; Pasin, Marcelo, 1967-
Contributor(s) Malichevskyy, Oleksandr
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents