modelo de ativa§£o multi-dom­nios de pap©is rbac usando controle de...

Download Modelo de ativa§£o multi-dom­nios de pap©is RBAC usando controle de .2016-07-07  Por exemplo,

Post on 09-Oct-2018

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Modelo de ativao multi-domnios de papis RBAC usando controle de acesso baseado em atributos

    Vilmar Abreu Junior, Altair Olivo Santin

    Pontifcia Universidade Catlica do Paran (PUCPR) Programa de Ps-Graduao em Informtica (PPGIa)

    Curitiba Paran Brasil {Vilmar.abreu,santin}@ppgia.pucpr.br

    Resumo. Este artigo apresenta um modelo de controle de acesso baseado em atributos (ABAC) com ativao nica (SRA) de papis RBAC em mltiplos domnios. A ativao de papis entre os domnios transparente para o usurio, anloga ao Single Sign-On da autenticao. A autonomia do administrador na definio das permisses de cada papel mantida em cada domnio. Foi implementado um prottipo integrando XACML com papis, separaes de tarefas e sesses do RBAC, utilizando autorizaes OAuth em ambiente de web services RESTFul. As avaliaes do prottipo mostraram o mnimo de impacto no tempo de resposta do SRA em relao a um domnio nico, observado em requisies simultneas de acesso. Abstract. This paper presents an attribute based access control (ABAC) model with single role activation (SRA) on a multi-domain RBAC. The role activation among domains is transparent to the user, similar to Single Sign-On authentication. The administrator autonomy on defining each role permissions is kept on each domain. We implemented a prototype integrating XACML with roles, separation of duties and sessions from RBAC, using OAuth authorizations in a RESTFul web services environment. The prototype evaluation showed a minimal impact on SRA response time, compared against a single domain, observed in simultaneous access requests.

    1. Introduo O acesso no autorizado, principalmente por pessoas internas a um domnio, representa um problema potencial para aplicaes [Power 2000]. Esse problema agravado, devido a exposio da aplicao, quando h operaes multi-domnios. O controle de acesso um mecanismo de segurana que cobe o acesso de usurios no autorizados. A autenticao precede a autorizao, que usa polticas para limitar o acesso a usurios autorizados e legtimos [Sandhu e Samarati 1994]. Os controles de acesso mais recentes so baseados em papis ou em atributos.

    O controle de acesso baseado em papis (RBAC, Role-Based Access Control) agrega vantagens ao controle de acesso tradicional (discricionrio e mandatrio) [Osborn e Sandhu 2000], porque os papis RBAC intermedeiam a associao entre o usurio e as permisses, onde as restries de acesso esto definidas.

    No controle de acesso baseado em atributo (ABAC, Atribute-Based Access Control) no h associao de permisses sujeitos ou papis, mas associao de

  • permisses atributos. A avaliao de polticas efetuada em tempo real, baseada nos atributos, constituindo-se uma vantagem em relao ao RBAC.

    O XACML (eXtensible Access Control Markup Language), padro criado pela OASIS, define uma arquitetura e uma linguagem declarativa de controle de acesso [Sinnema e Wilde 2013]. O profile RBAC para o XACML define como usar polticas baseadas em papis no XACML. Por ser stateless, o XACML no consegue contemplar todas as caractersticas do RBAC, e.g. ativao e conflitos de papis, consideradas muito importantes para o RBAC.

    Tradicionalmente o RBAC foi concebido para operar em um nico domnio, alguns autores [Freudenthal 2002][Li 2006][Shafiq e Bertino 2005] apresentam propostas para utilizar o RBAC em ambientes multi-domnios. A principal dificuldade nas operaes multi-domnios a semntica dos papis, pois um papel ter permisses com diferentes significados em diferentes domnios, mesmo sendo designada com o mesmo nome. Por exemplo, o papel mdico no domnio de um hospital A no possuir necessariamente as mesmas permisses que o papel mdico ter no domnio do hospital B. Alm disso, os recursos e operaes entre domnios podem no ser compatveis, necessitando uma taxonomia para fornecer-lhes interoperabilidade [Li 2006][Shafiq e Bertino 2005].

    Modelos de autenticao e autorizao multi-domnios para web oferecem autenticao nica (SSO, Single Sign-On), mas no oferecem controle de acesso fino, como o OAuth [Hardt 2012]. OAuth limita o acesso a um path (URL) protegido, mas no suporta polticas que regrem as operaes permitidas nos recursos daquele path.

    Nossa proposta criar um controle de acesso multi-domnios que considere as diferentes semnticas de um papel, permitindo a ativao nica de papis (SRA, Single Role Activation). Trabalhamos com a hiptese que a arquitetura XACML e o RBAC, integrados as restries de autorizao de acesso do OAuth em um ambiente multi-domnios, oferecero o suporte para o provimento de SRA. O resultado final que um usurio acessar diferentes domnios sem precisar ativar papis, no conflitantes, que j tenha ativado em seu domnio de origem. O restante do trabalho est organizado da seguinte forma: a seo 2 apresenta a fundamentao; a seo 3 aborda os trabalhos relacionados; a seo 4 descreve a arquitetura proposta; a seo 5 apresenta o prottipo e testes e a seo 6 conclui o trabalho.

    2. Fundamentao Nesta seo sero apresentados o OAuth/OpenID Connect, Role-Based Access Control, Attribute-Based Access Control e eXtensible Access Control Markup Language. 2.1 OAuth e OpenID Connect OAuth um framework open source para autorizao de acesso em ambiente web, seu objetivo permitir que uma aplicao, como terceira parte confivel (relying party - RP), tenha acesso restrito a um servio, sem a necessidade de compartilhamento de credenciais [Hardt 2012]. O OAuth usa um token de acesso que define parmetros para restringir as aes que o usurio pode realizar no domnio do token, por exemplo: escopo de acesso, tipo do token, tempo de expirao, token de refresh (referencia um novo token quando o atual expirar).

  • OpenID Connect (OIDC) um protocolo de autenticao e identidade construdo sobre o OAuth 2.0, ou seja, uma extenso que permite ao RP verificar a identidade de um usurio [Sakimura 2014]. O OIDC usa um token de identidade (ID Token) que contm informaes sobre a autenticao e atributos do usurio. O processo de obteno dos tokens pelo OIDC ilustrado na Figura 1. Primeiramente a RP solicita a autenticao do usurio no provedor OIDC (evento i). O usurio fornece suas credenciais, caso sejam vlidas o usurio questionado se autoriza que a RP acesse suas informaes definidas no escopo do token (evento ii). O OIDC responde ao RP sobre o processo de autenticao e autorizao de acesso do usurio (evento iii). Finalmente, o RP pode obter do OIDC o token de autorizao de acesso e o token de identidade do usurio (eventos iv e v, respectivamente).

    Figura 1. Viso geral das trocas do protocolo OIDC

    2.2 RBAC (Role-based Access Control) RBAC um modelo de controle de acesso baseado em papis, que permite limitar aes ou operaes que determinado usurio (humano ou mquina) pode realizar sobre um recurso [Ferraiolo e Kuhn 2003]. O Modelo de Referncia do RBAC composto por quatro componentes: (i) Core RBAC, (ii) Hierarchical RBAC, (iii) Static Separation of Duty e (iv) Dynamic Separation of Duty. O Core RBAC define os elementos bsicos do RBAC (usurio, papel, recurso, permisso e operao) e o relacionamento entre os mesmos (Figura 2).

    Figura 2. Modelo do RBAC adaptado de [Ferraiolo e Kuhn 2003]

    O Hierarchical RBAC define um meio natural de estruturar os papis para refletir as linhas de autoridade e responsabilidade de uma organizao. A separao de deveres (tarefas) determina que uma operao crtica deve ser realizada por dois ou mais usurios (diferentes pessoas) para que um usurio individualmente no possa comprometer o sistema. A separao de deveres pode ser efetuada de forma esttica ou dinmica. A abordagem esttica (Static Separation of Duty Relations - SSoD) implementada na associao de usurio a papis e tem como objetivo limitar a ao conflitante de dois

  • papis controlados pelo mesmo usurio. Por outro lado, a abordagem dinmica (Dynamic Separation of Duty - DSoD) se aplica a ativao de papel, onde um usurio pode ter dois papis possivelmente conflitantes associados a si, desde que no ative ambos ao mesmo tempo. 2.3 ABAC (Attribute-Based Access Control) ABAC um modelo de controle de acesso que adota polticas expressas em forma de predicados, utilizando atributos [Ferraiolo e Kuhn 2014]. O ABAC evita a necessidade de que as permisses sejam ligadas diretamente a um usurio ou papel. Assim, quando uma requisio de acesso solicitada, uma engine realiza a deciso baseado nos atributos do usurio, recurso, ambiente, entre outros. possvel utilizar papis no ABAC, se for considerado que os papis so atributos do sujeito. 2.4 XACML (eXtensible Access Control Markup Language) XACML define uma linguagem, baseada em XML, para escrita de polticas de controle de acesso, requisies, respostas e uma engine de avaliao das polticas [Parducci e Lockhart 2013]. Por padro, o modelo de avaliao do XACML baseado em ABAC, entretanto o XACML possui um profile para RBAC, onde os papis so atributos do sujeito. As principais entidades do XACML so (Figura 3): (i) PAP (Policy Administration Point), que permite criar e armazenar as polticas; (ii) PEP (Policy Enforcement Point), responsvel por encaminhar as requisies de acesso dos usurios ao Context Handler, atuando como guardio dos recursos; (iii) PIP (Policy Information Point), atua como a fonte de atributos para o Context Handler; (iv) PDP (Policy Decision Point), avalia as polticas e gera a deciso de acesso, que podem ser: permitido ou negado, em nosso caso; e (v) Context Handler, que realiza a coordenao, adequao e interoperabilidade de atributos, requisies e credenciais entre as entidades do XACML.

    Figura 3. Arquitetura simplificada das entidades XACML

    3. Trabalhos Relacionados Diversos trabalhos objetivaram resolver o problema do RBAC distribudo em multi-domnios. Shafiq e seus colegas (2005) prope um algoritmo que centraliza os papis e os mapeia globalmente atravs de uma operao de juno (merge de papis). Tal operao verifica em cada papel se existe

Recommended

View more >