Um Sistema de Controle de Acesso Utilizando Agentes e
Ontologia
Pedro Ricardo Oliveira1 , João Carlos Gluz1
1
Programa Interdisciplinar de Pós Graduação Em Computação Aplicada (PIPCA)
Universidade do Vale do Rio dos Sinos (UNISINOS)
Caixa Postal 275 - 93.022-000 - São Leopoldo - RS - Brasil
[email protected], [email protected]
Abstract. The increase use of learning objects and content platforms that perform the functions of storage, creation, modification and query of these objects
on a managed and controlled manner, creates the need for mechanisms to control the access to these platforms. This paper aims to present a model of management and access control for a domain of a platform that supports the complete
lifecycle of learning objects, using intelligent software agents and a base of ontological data.
Resumo. A utilização crescente de objetos de aprendizagem e plataformas de
conteúdo que realizam as funções de armazenamento, criação, modificação e
consulta de forma gerenciada e controlada destes objetos de aprendizagem, cria
a necessidade de mecanismos de software com a função de gerência e controle
de acesso a estas plataformas. O presente trabalho tem por objetivo apresentar
um modelo de gerência e controle de acesso para um domı́nio de uma plataforma que suporta o ciclo de vida completo de objetos de aprendizagem com
uso de agentes inteligentes de software e uma base de dados ontológica.
1. Introdução
Tarefas de gerenciamento e administração são fundamentais em qualquer tipo de sistema
de gerenciamento da informação. Assim, um ambiente de ensino composto por objetos de aprendizagem, usuários e aplicações que são modelados por perfis e ontologias,
integrados através de agentes de software, também requer métodos e mecanismos para
realização destas tarefas. A plataforma OBAA-MILOS [Vicari and Gluz 2011], que tem
por objetivo criar uma infraestrutura baseada em agentes e capaz de suportar o ciclo de
vida completo de um objeto de aprendizagem, de acordo com a proposta de metadados
OBAA [Vicari et al. 2010], é constituı́da por vários sistemas multi-agente capazes de auxiliarem nas atividades de autoria, busca, uso e gerência de objetos de aprendizagem.
Inserido no projeto OBAA-MILOS, este trabalho propõe um modelo de
autenticação e autorização de usuários e agentes para a infraestrutura MILOS
[Gluz 2010], fazendo uso das tecnologias já utilizadas, como agentes inteligentes e ontologias. O resultado esperado será um modelo e uma arquitetura capaz de suportar o
controle de acesso aos recursos da plataforma, levando em consideração todas as interfaces, agentes (usuários e aplicações) e recursos.
2. Trabalhos Relacionados
Trabalhos e ferramentas relacionados ao tema foram analisados onde destacamos que o
uso de bases ontológicas já representa um importante tema de pesquisa, com resultados positivos em diversas áreas. Ferramentas para controle de acesso tradicionais, como
Spring Security [Spring Security 2014] e OpenLDAP [OpenLDAP 2014] foram estudadas e observou-se que não apresentaram um grau satisfatório de integração com o ambiente da infraestrutura MILOS. Ainda, o mecanismo de autorização com e sem o uso
de sessão, para ambas ferramentas teria de ser desenvolvido tal qual apresentado neste
trabalho. Estes fatores foram analisados e decidiu-se descartar tais ferramentas.
Dentre os trabalhos selecionados, Onto-ACM [Choi et al. 2014] apresenta um modelo de análise semântica que propõe resolver as questões que envolvem controle de
acesso em ambientes de computação em nuvem, onde prestadores de serviços e usuários
precisam ser tratados de forma diferente em relação ao acesso às informações, sem causar um grande impacto ou complexidade na configuração de seus papéis. O resultado é
um modelo de controle de acesso sensı́vel ao contexto, baseado em processamento de
ontologia e método de análise semântica.
Em [Katal et al. 2013] encontramos um modelo de autenticação e autorização baseado em ontologia. O trabalho implementa RBAC (Role-Based Access Control) em
um domı́nio especı́fico, neste caso uma universidade, utilizando uma ontologia para
representação do acesso. Os papéis são apresentados em forma de classes da ontologia com permissões associadas a estas classes. O acesso é realizado em duas etapas,
autenticação e autorização.
O estudo destes trabalhos permitiu observar que a criação de uma ontologia de
acesso utilizando um modelo RBAC, armazenada em base local ou distribuı́da, utilizando a base ontológica já existente na infraestrutura MILOS, em conjunto com a
implementação de algoritmos para controle de acesso utilizando agentes de software, representa a estratégia ideal para atingir os objetivos definidos neste trabalho.
3. A Infraestrutura OBAA-MILOS
O padrão de metadados OBAA proposto por [Vicari et al. 2010], tem como objetivo fornecer mecanismos de interoperabilidade de objetos de aprendizagem em plataformas
heterogêneas, como: TV Digital, dispositivos móveis e Web. Este objetivo é atingido
através do uso de tecnologias de agentes, sistemas multi-agente, objetos de aprendizagem e computação ubı́qua, que permitem a especificação de padrões para OA (Objetos de
Aprendizagem), possibilitando a autoria, o armazenamento e a recuperação destes objetos. A infraestrutura MILOS (Multiagent Infraestrutucture for Learning Object Support)
[Gluz and Vicari 2010] é constituı́da por um conjunto de tecnologias que oferecem suporte aos requisitos do padrão OBAA.
4. Modelos de Controle de Acesso
Composto por uma etapa de autenticação e outra de autorização, de acordo com
[Ramachandran 2002], um modelo de controle de acesso deve fornecer uma referência
de alto nı́vel, independente de domı́nio e de implementação para a arquitetura e projeto
de mecanismos de acesso.
O modelo de controle de acesso baseado em papéis ou funções (RBAC), é o modelo dominante tanto na pesquisa acadêmica como em produtos comerciais. Teve sua
aceitação generalizada devido à sua arquitetura simplificar a administração de segurança,
incluindo herança semântica de papéis e permitindo uma definição de polı́tica de
segurança abrangente, com fácil revisão das atribuições agente-papel e papel-permissão
[Ferraiolo et al. 2003].
5. Modelo para Gerência e Controle de Acesso à Infraestrutura MILOS
Segundo [Wooldridge 2008], um sistema multi-agente é formado por dois ou mais agentes, interagindo entre si através de comunicação. A MILOS representa uma infraestrutura
tı́pica de um sistema multi-agente. Nestes sistemas, caracterı́sticas como dados e controle
distribuı́dos, diversidade de conhecimento, objetivo global decomposto em objetivos a ser
atingidos por cada agente, multiplicidade de funções e um certo grau de autonomia devem
ser encontradas.
O modelo para gerência e controle de acesso utilizado neste trabalho é o modelo
RBAC. A tarefa de pesquisa e análise dos trabalhos relacionados e suas contribuições,
permitiu selecionar as tecnologias mais adequadas e compatı́veis para integração à MILOS. O modelo oferece gerência de usuários, recursos e perfis de usuários, autenticação
de fator único e informações de autorização modeladas em uma ontologia. De acordo
com as diretrizes da infraestrutura MILOS, o modelo apresenta a arquitetura em camadas
onde um ou mais agentes implementam as funcionalidades definidas. Estas camadas são:
Interface, manutenção e controle de acesso, agentes de acesso às informações e a camada
de base de conhecimento.
Na camada de manutenção e controle de acesso estão os agentes responsáveis
pelas operações de inclusão, alteração e exclusão das informações de acesso. Também
estão nesta camada os agentes de controle de acesso responsáveis pela autenticação e
autorização. Para acesso aos dados do modelo, os agentes de manutenção e controle de
acesso fazem uso dos serviços oferecidos pelos agentes Query e Update, que compõem a
camada de acesso às informações. A base de conhecimento é modelada por uma ontologia, apresentada na Figura 1.
A classe Access realiza o relacionamento entre um agente usuário (Agent), um
recurso e um modo de acesso permitido. O agente usuário (Agent) poderá ser um User
ou uma Application, um recurso poderá ser um Learning Object ou uma Application As
Resource quando desejarmos tratar uma aplicação como um objeto que poderá ou não ser
executado. Os modos de acesso foram definidos como Control, Read, Write, Delete e
Execute.
A base de dados ontológica [da Silva and Gluz 2012] da infraestrutura MILOS,
suportada por uma camada TDB de JENA [JENA 2013] foi estendida de forma a armazenar também os elementos da ontologia de acesso. Esta base de dados TDB poderá ser
distribuı́da em um ou mais servidores, de acordo com a necessidade da plataforma.
O modelo suporta solicitações de acesso dentro de uma sessão (exigindo um
prévio login) ou sem necessidade de sessão. Solicitações sem sessão serão utilizadas
por serviços externos ao ambiente e que estejam previstos na ontologia de acesso. Estas
solicitações realizam a autenticação e autorização em um único passo.
Figura 1. Ontologia de Acesso
O modelo suporta ainda controle de acesso federado, isto é, caso um agente não
consiga validar o acesso por não localizar o usuário solicitante na sua base de dados,
reenvia a solicitação aos demais agentes de controle de acesso do ambiente, a fim de que
todas as bases distribuı́das sejam pesquisadas para a validação do acesso. Mensagens de
configuração permitem especificar ao agente seus parâmetros de funcionamento e uma
mensagem de logout encerra uma sessão. O modelo possui um mecanismo de logout
automático por inatividade em um espaço de tempo configurável.
6. Experimentos e Validações
Como metodologia para realização dos experimentos e suas validações, foram criados
cenários de configurações (usuários, perfis e recursos) e casos de uso (ações de acesso),
verificando se o modelo apresentava o resultado esperado. Tanto os experimentos de
acesso com e sem uso de sessão, quanto o acesso federado, obtiveram resultados positivos,
indicando a implementação correta do modelo.
Também foram realizados testes de desempenho, com o objetivo de medir o tempo
médio de resposta do modelo, procurando dimensionar o impacto da sua implementação
no ambiente atualmente em uso da infraestrutura MILOS.
7. Medidas de Desempenho
Com o objetivo de observar a escalabilidade do modelo, foram criados e executados lotes de requisições, medindo-se o seu tempo de execução. Foram utilizados lotes de 500,
1000, 2000, 4000 e 8000 acessos sucessivos, com respostas de ”Permitido”e ”Não Permitido”separadamente. Também foram utilizados os mesmos lotes para acessos com e
sem sessão. A cada execução de lote, foi iniciado um container local JADE e encerrado
logo em seguida, desta forma, buffers que eventualmente tenham sido criados, não interferiram nas execuções subsequentes. O resultado final é composto da média aritmética
de três execuções de cada lote definido. A Figura 2 apresenta um gráfico comparativo
destas medições, apresentando uma tendência de crescimento linear, o que indica uma
boa escalabilidade do modelo.
Figura 2. Tempo Médio para Execução de Acessos
Estes experimentos foram executados em uma máquina com a seguinte
configuração:
• 2 Processadores Intel Xeon E5-2420 de 6 núcleos a 1.9 Gigahertz de frequência
• 32 Gigabytes de memória RAM
• Sistema Operacional Mac OS X Versão 10.9.4
8. Considerações Finais
Neste trabalho foi apresentado um modelo destinado à gerência e controle de acesso para
a infraestrutura MILOS. Como o resultado final pode facilmente ser adaptado para uso
em outros domı́nios, com ou sem a utilização de agentes, podemos dizer que se trata
de um modelo abstrato, formal para controle de acesso utilizando bases ontológicas,
posicionando-se em uma área de pesquisa recente, relacionada a ambientes e plataformas
onde o tratamento semântico está inerentemente integrado à sua operação. Os experimentos de funcionalidade e desempenho realizados apresentaram resultados positivos e,
demonstraram a viabilidade de sua aplicação.
Os trabalhos relacionados encontrados, que utilizam abordagem semântica não
definem funcionalidades de autenticação e autorização em um ambiente federado, que é
uma caracterı́stica do modelo apresentado, no contexto de sistemas de controle de acesso
baseados em ontologias e também um requisito do ambiente da infraestrutura MILOS.
Com relação ao uso de agentes, os principais benefı́cios são a independência proporcionada, facilitando a implementação do acesso federado e a distribuição multiplataforma,
uma caracterı́stica do domı́nio onde o trabalho foi aplicado.
Como trabalho futuro, a utilização de mecanismos de coleta de dados de
localização e contexto, com o processamento de inferências da ontologia de acesso, permitirá avançar o estudo do modelo tornando-o ainda mais dinâmico.
Referências
Choi, C., Choi, J., and Kim, P. (2014). Ontology-based access control model for security
policy reasoning in cloud computing. J. Supercomput., 67(3):711–722.
da Silva, L. R. J. and Gluz, J. C. (2012). MSSearch: Busca Semântica de Objetos de
Aprendizagem OBAA com Suporte a Alinhamento Automático de Ontologias. Universidade do Vale do Rio dos Sinos (UNISINOS) - São Leopoldo/RS.
Ferraiolo, D., Kuhn, D., and Chandramouli, R. (2003). Role-based Access Control. Artech
House computer security series. Artech House.
FIPA (2002). FIPA - Communicative Act Library Specification. Disponı́vel em:
http://www.fipa.org/specs/fipa00037/SC00037J.pdf. Acesso em: 3 jul. 2014.
Gluz, J. C. (2010).
Introdução à infraestrutura MILOS.
http://obaa.unisinos.br/. Acesso em: 18 out. 2013.
Disponı́vel em:
Gluz, J. C. and Vicari, R. M. (2010). MILOS: Infraestrutura de Agentes para Suporte a
Objetos de Aprendizagem OBAA.
JENA (2013). Framework for Building Semantic Web Applications. Disponı́vel em:
http://jena.apache.org/. Acesso em: 9 dez. 2013.
Katal, A., Gupta, P., Wazid, M., Goudar, R., Mittal, A., Panwar, S., and Joshi, S. (2013).
Authentication and authorization: Domain specific role based access control using ontology. In Intelligent Systems and Control (ISCO), 2013 7th International Conference
on, pages 439–444.
Lampson, B. W. (1974). Protection. Operating Systems Review, pages 18–24.
OpenLDAP (2014). Open Source Implementation of the Lightweight Directory Access
Protocol. Disponı́vel em: http://www.openldap.org/. Acesso em: 28 jun. 2014.
Polleres, A., Gearon, P., and Passant, A. (2013). SPARQL 1.1 update. W3C recommendation, W3C. http://www.w3.org/TR/2013/REC-sparql11-update-20130321/.
Ramachandran, J. (2002). Designing Security Architecture Solutions. Wiley Desktop
Editions Series. Wiley.
Seaborne, A. and Harris, S. (2013). SPARQL 1.1 query language. W3C recommendation,
W3C. http://www.w3.org/TR/2013/REC-sparql11-query-20130321/.
Spring Security (2014). Framework for Authentication and Authorization to Java Applications. Disponı́vel em: http://projects.spring.io/spring-security/. Acesso em: 28 jun.
2014.
Vicari, R. M., Bez, M., da Silva, J. M. C., Ribeiro, A., Gluz, J. C., Santos, E., Primo, T.,
and Bordignon, A. (2010). Proposta de Padrão de Objetos de Aprendizagem Baseados
em Agentes (OBAA). Disponı́vel em: http://www.portalobaa.org/padrao-obaa/artigospublicados/. Acesso em: 24 out. 2013.
Vicari, R. M. and Gluz, J. C. (2011). Infraestrutura OBAA-MILOS: Infraestrutura Multiagente para Suporte a Objetos de Aprendizagem OBAA.
Wooldridge, M. (2008). An Introduction to MultiAgent Systems. Wiley.
Download

Um Sistema de Controle de Acesso Utilizando Agentes e