Document details

Zás. An Aspect-Oriented Access Control Framework

Author(s): Zenida, Paulo

Date: 2008

Persistent ID: http://hdl.handle.net/10071/668

Origin: Repositório do ISCTE-IUL

Subject(s): Access control; Authorization; Aspect oriented programming; Controlo de acesso; Autorização; Programação orientada para aspectos


Description

Traditionally, access control system architectures are based on the abstract reference monitor model proposed by Anderson, which tries to separate the access control logic from the logic of applications. The implementation of this model has been difficult since access control presents itself as a crosscutting concern, i.e., it crosscuts the functionalities of aplications. However, the developments of the techniques that support the separation of concerns, particularly aspect oriented programming, have been enabling the development of systems in which the access control code is not scattered through the code of the application. Nevertheless, these solutions are still too specific to a given application. This work presents an access control framework for Java applications, named Z´as, which can be reused and that applies the abstract reference monitor proposed by Anderson. This framework supports access control policies using different kinds of context information and allows them to be changed at runtime. Z´as was developed in the aspect oriented programming language AspectJ and it uses Java 5 annotations. We used Z´as in several small applications since its inception, so as to gain experience and insight from its application. Nevertheless, to evaluate the performance and applicability of the final version of the Z´as framework prototype, we integrated it in a very large Web application called F´enix, which brought us very interesting results, such as showing the easiness of applicating Z´as to already existing applications, and also the main caveats and limitations of Z´as.

As arquitecturas dos sistemas de controlo de acesso são tradicionalmente baseadas no modelo abstracto de monitor de referência proposto por Anderson, o qual visa separar a lógica do controlo de acesso da lógica das aplicações. A concretização deste modelo tem sido dificultada pelo facto de o controlo de acesso se apresentar como uma faceta transversal às funcionalidades das aplicações. No entanto, os progressos verificados nas técnicas que suportam a separação de facetas, em particular a programação orientada para aspectos, têm permitido desenvolver sistemas em que o c´odigo de controlo de acesso não é disseminado pelo código das aplicações. Porém, estas soluções são ainda concretizações específicas, para uma determinada aplicação. Este trabalho apresenta uma plataforma de controlo de acesso para aplicações Java, designada por Z´as, que é reutilizável e que aplica o modelo abstracto de monitor de referência proposto por Anderson. Esta plataforma suporta políticas de controlo de acesso fazendo uso de diferentes tipos de informação de contexto e permitindo a sua alteração em tempo de execução. O Z´as foi desenvolvido na linguagem de programação orientada para aspectos AspectJ e recorrendo às anotações do Java 5. Nós aplicámos o Z´as a várias aplicações pequenas desde o seu começo, de forma a ganhar experiência e conhecimento através da sua aplicação. No entanto, para avaliar o desempenho e aplicabilidade da versão final do protótipo da plataforma Z´as, nós integrámo-lo numa aplicação Web muito grande chamada Fénix, a qual nos trouxe resultados muito interessantes, tais como mostrar a facilidade da aplicação do Z´as a aplicações já existentes, e os principais problemas e limitacções do Z´as.

Document Type Master thesis
Language English
Advisor(s) Sequeira, Manuel Menezes de; Domingos, Dulce
Contributor(s) Zenida, Paulo
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents