Please use this identifier to cite or link to this item: http://hdl.handle.net/10773/29521
Title: Access control mechanisms for an IoT platform
Other Titles: Mecanismos de controlo de acesso para uma plataforma de IoT
Author: Oliveira, Rui Filipe Dominguez de
Advisor: Zúquete, André
Keywords: Access control mechanisms
Authorization
XACML
IoT
Attribute-based access control
Policy evaluation
Defense Date: Dec-2019
Abstract: Access control mechanisms are used to ensure that privileged information and resources are not accessed by, or disclosed to, unauthorized entities. The XACML specification, in addition to being one of the most important standards, is also widely used to define access control policies. XACML was proposed by the OASIS consortium and defines an attribute-based access control policy language expressed in an XML format. The standard also defines a reference architecture and a processing model in which are described how access requests should be evaluated according to the attributes defined in access control policies. The main drawback of XACML is the verbosity of its syntax, since it uses XML. To overcome this issue, we defined an access control language in YAML upon the key concepts of XACML. Unlike XACML, the YAML language is simple, which makes access control policies easy to define and interpret by humans. The main challenge of creating an IoT access control system is the performance of the policy evaluation engine, particularly in systems with a large number of clients. Sun Microsystems’ implementation of the XACML specification is the most widely used solution for defining and evaluating access control rules, but it is not the most efficient, since it performs a brute force search for evaluating the predicates defined in the access request against the access control policies defined in the authorization system. Our solution is based on two tree data structures, the Decision Tree and the Combining Tree. The attributes defined in the access control policies are extracted, combined and then later used to build up the Decision Tree. The Decision Tree is used to find the applicable rules for a given set of attributes defined in an access request. On the other hand, the Combining Tree is used to calculate the final authorization decision according to the combining algorithms defined in the access control policies applicable to a given access request. The results show that our solution is about two orders of magnitude more efficient than the Sun Microsystems’ implementation. Finally, we also introduced two caching strategies to improve the performance of our engine. For each access request the engine creates and stores the subset of the Decision Tree that was used to calculate the authorization decision for a given request. In the first strategy, the engine creates and stores a Decision Tree subset applicable to each access request that hits the authorization system. In the second strategy, the client can define when each subtree should be cached by the engine. The experimental results showed that our first caching solution does not improve the performance of the engine, whereas the second solution improves the overall processing time.
Os mecanismos de controlo de acesso são utilizados para prevenir que entidades não autorizadas acedam a recursos protegidos. A especificação XACML, para além de ser um dos padrões mais importantes, é também o mais utilizado para definir políticas de controlo de acesso. O XACML foi criado pelo consórcio OASIS e distingue-se por definir uma linguagem de política de controlo de acesso num formato XML baseado em atributos. Ademais, a especificação também define uma arquitetura de referência e um modelo de avaliação dos pedidos de acesso de acordo com os atributos definidos nas políticas de controlo de acesso. A principal desvantagem do XACML surge através da utilização do XML para descrever políticas de controlo de acesso, uma vez que possui uma sintaxe bastante detalhada e redundante quando comparado com outras linguagens. Por este motivo, propusemos uma linguagem de descrição de políticas de controlo de acesso baseado em XACML usando a linguagem YAML. Ao contrário do XACML, a linguagem YAML evidencia-se como mais simples, tornando as políticas de controlo de acesso mais fáceis de definir e de interpretar por humanos. Um dos maiores desafios na construção de um mecanismo de controlo de acesso em IoT diz respeito à eficiência com que o sistema necessita de avaliar os pedidos de acesso, particularmente em sistemas com um grande número de clientes. A implementação da especificação XACML da Sun Microsystems é a solução mais utilizada para definir e avaliar regras de controlo de acesso; porém, não é a mais eficiente, uma vez que avalia as políticas de controlo de acesso através de uma pesquisa por força bruta. A solução apresentada neste trabalho, baseia-se em duas estruturas de dados em árvore, nomeadamente a Árvore de Decisão e a Árvore de Combinação. Os atributos definidos nas políticas de controlo de acesso são extraídos e combinados e, posteriormente, organizados na Árvore de Decisão, que é usada para descobrir as regras que se aplicam a um determinado conjunto de atributos definidos num pedido de acesso. Por outro lado, a Árvore de Combinação é utilizada para calcular a decisão de autorização final de acordo com os algoritmos de combinação definidos nas políticas de controlo de acesso aplicáveis aos atributos definidos no pedido de acesso. Os resultados mostram que a nossa solução é cerca de duas ordens de grandeza mais eficiente que a implementação da Sun Microsystems. Por último, de forma a melhorar o tempo de avaliação dos pedidos de controlo de acesso, apresentámos duas estratégias de cache que por cada pedido de acesso guardam a sub-árvore usada para calcular a decisão de autorização. Na primeira estratégia, a sub-árvore é criada e guardada por cada pedido que é avaliado pelo sistema de controlo de acesso. No que respeita à segunda estratégia, o cliente pode definir quando é que essa sub-árvore deve ser guardada para uso futuro. Os resultados experimentais mostraram que a primeira solução não apresenta melhorias na eficiência do sistema, enquanto que a segunda solução melhora o tempo de processamento geral dos pedidos.
URI: http://hdl.handle.net/10773/29521
Appears in Collections:UA - Dissertações de mestrado
DETI - Dissertações de mestrado

Files in This Item:
File Description SizeFormat 
Documento_Rui_Oliveira.pdf16.46 MBAdobe PDFView/Open


FacebookTwitterLinkedIn
Formato BibTex MendeleyEndnote Degois 

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.