Modelagem do ACROSS: Um Arcabouço de A&A Baseado em
Polı́ticas e Atributos para Organizações Virtuais
Edelberto F. Silva1 , Débora Muchaluat-Saade1 e Natalia C. Fernandes1
1
Universidade Federal Fluminense (UFF)
Laboratório Mı́diaCom
Niterói, RJ – Brasil
Resumo. Ao longo dos últimos anos acompanha-se um crescente interesse,
principalmente no âmbito acadêmico, das soluções para criação de ambientes federados. Tais federações visam desde facilitar o ingresso de usuários até o
compartilhamento de recursos entre as diversas entidades parceiras, formando
uma organização virtual. Neste trabalho, apresentamos a proposta e a modelagem do arcabouço ACROSS, Attribute-based access ContROl and diStributed
policieS, que tem como objetivo facilitar a gestão de identidade em uma nova
organização virtual. Propõe-se um arcabouço genérico que simplifique, principalmente para usuários não especializados, a autenticação federada e o controle de acesso a recursos para a organização virtual. O ACROSS dá suporte a
configuração de requisitos e polı́ticas particulares a cada instituição e também
genéricos à organização virtual, além de permitir que funcionalidades comuns
às organizações virtuais, e também às federações, envolvendo questões sobre
Autenticação e Autorização (A&A). Esses podem ser integradas facilmente a
uma nova organização virtual por meio de uso de um arcabouço de A&A.
Abstract. Over the past few years there is a growing interest for solutions to create federated environments, especially in the academic environment. The main
goal is to facilitate the entry of users in a collaborative environment and resource sharing among various partner entities, creating a virtual organization.
In this work, we present the proposal and modeling of the ACROSS framework,
Attribute-based access ContROl and diStributed policieS, which aims at facilitating the identity management in a new virtual organization. We propose a
generic framework to simplify, especially for non-specialized users, federated
authentication and resource access control for a virtual organization. ACROSS
supports particular configuration of requirements and policies for each institution and also generic to the virtual organization, and allows common functionality to virtual organizations and also to federations, involving issues about
Authentication and Authorization (A&A). They can be easily integrated into a
new virtual organization through use of an A&A framework.
1. Introdução
O termo gestão de identidade (GId) vem sendo usado para descrever os mecanismos e processos de Autenticação e Autorização (A&A) utilizados para garantir o uso
seguro de recursos arbitrários. A comunidade acadêmica apresenta requisitos especiais
de compartilhamento de recursos, dada a necessidade de colaboração e integração gerada
por projetos, intercâmbios, cursos remotos e outras atividades. Há alguns anos, a comunidade acadêmica vem utilizando identidades federadas, que permitem regular o acesso
a recursos disponı́veis para todos os membros de uma instituição ou para toda a comunidade, como, por exemplo, repositórios de periódicos, sem a necessidade de duplicação
de informações e de bases de dados. No entanto, há também recursos que devem ser
compartilhados apenas por determinados membros de diferentes instituições, como por
exemplo os participantes de um projeto interinstitucional. Esses grupos são muitas vezes
chamados de Organizações Virtuais (OV).
Um exemplo prático de uma OV é o projeto FIBRE (Future Internet Testbeds
Experimentation Between Brazil and Europe) [Sallent et al. 2012] para experimentação e
validação de soluções para a Internet do Futuro (IF), que conta com diversas instituições
no Brasil e em diversos outros paı́ses que, juntas, têm um interesse em comum. O objetivo principal do FIBRE é a interconexão de ambientes de experimentação geograficamente distribuı́das, chamados de testbeds, com a finalidade de oferecer suporte para
a experimentação em IF, criando assim um ambiente de testes de larga escala e grande
diversidade de equipamentos. Neste ambiente, um pesquisador pode realizar seu experimento alocando recursos de diferentes testbeds em diferentes instituições. Para tanto,
é necessário tratar o compartilhamento de recursos, de tal forma que um pesquisador
possa verificar quais são os recursos disponı́veis em todos os testbeds, assim como aplicar soluções de A&A para o uso desses recursos. Nesse caso, é preciso garantir que a
autenticação de um usuário de uma rede de testes sirva como identificação para o uso dos
recursos de qualquer outra rede de teste federada, desde que o usuário atenda às polı́ticas
locais de controle de acesso de cada um dos ambientes (instituições/ilhas) envolvidos e às
polı́ticas globais do projeto (que representa a OV neste cenário) como um todo.
Contudo, apesar da forte demanda por organizações virtuais, criar tais
organizações apresenta grande complexidade. De fato, além de questões práticas especı́ficas de cada OV, sobre como gerenciar recursos ou estabelecer cooperações, por
exemplo, o gerente de uma OV precisa também ter grande conhecimento na área de gestão
de identidade para estabelecer formas de autenticação e controle de acesso que atendam
a todos os requisitos da OV e também de cada instituição participante. Uma vez que,
em geral, os potenciais gerentes de OV possuem apenas conhecimento especı́fico sobre
o ambiente que desejam criar, acabam sendo desestimulados a criar a OV devido ao alto
grau de dificuldade para estabelecer uma gestão de identidade complexa.
Para simplificar a criação de OVs genéricas, este artigo propõe o arcabouço
ACROSS (Attribute-based access ContROl and diStributed policieS), que trata a
federação de identidade e o estabelecimento de polı́ticas de forma fortemente automatizada para o gerente da OV. O ACROSS é descrito por meio da modelagem geral da
arquitetura do arcabouço para controle de acesso baseado em polı́ticas e atributos para
OVs acadêmicas, e respeita o padrão de arcabouço genérico para controle de acesso,
o “X.812 — ISO/IEC 10181-3:1996” [ISO 1996], ou simplesmente ISO/IEC 10181-3.
Este modelo, que pode ser visto na Figura 1, mostra o iniciador, aquele que inicia o
contato/requisição de acesso, e deseja acessar um alvo em um domı́nio especı́fico de recursos. Na figura, é possı́vel ver a presença de dois componentes essenciais, o Access
Control Enforcement Functions (AEF), equivalente ao Policy Enforcement Point (PEP)
do ABAC (Attribute-Based Access Control) [Hu et al. 2014], e o Access Control Decision Functions (ADF), que equivale ao Policy Decision Point (PDP) no ABAC. A ideia
principal do arcabouço de autorização é que o AEF garanta que todos os pedidos de acesso
passem pelo ADF e o ADF decida sob a autorização com base em um conjunto de regras
ou polı́ticas. O arcabouço ACROSS também se baseia neste padrão.
Figura 1. Arcabouço de controle de acesso do padrão X.812 – ISO/IEC 10181-3. Traduzida de [ISO 1996].
O ACROSS trata tanto da autenticação dentro da OV quanto do controle de acesso,
através da especificação de polı́ticas locais e globais que regem a utilização de recursos. Na parte de autenticação, o ACROSS permite tanto o uso de federações de identidade quanto a criação da identidade dentro da OV através da agregação de atributos. O
arcabouço garante uma instalação e configuração de todos os serviços de forma simplificada para quem quer montar uma OV, criando uma abstração de detalhes de gestão de
identidade que não interessam diretamente ao responsável pela OV. Todos esses passos
serão detalhados na modelagem UML proposta para o arcabouço.
Sendo assim, o artigo está organizado como descrito a seguir. A Seção 2 apresenta
a proposta do arcabouço e a definição de cada um dos módulos envolvidos. A modelagem
é apresentada na Seção 3, e logo após temos a Seção 4, que compara o ACROSS com
outras propostas de gestão de identidade em OVs. O artigo é finalizado na Seção 5, que
apresenta as considerações finais e trabalhos futuros.
2. Proposta
Nesta seção, são apresentadas as motivações para esta proposta e a arquitetura
geral do ACROSS, com seus módulos, vista em um nı́vel mais alto de abstração.
2.1. Motivação
É interessante ressaltar os pontos a que levaram à proposta do ACROSS, traçando
um histórico de outros trabalhos que colaboraram tanto na autenticação quanto na
autorização para OVs. É o caso de [Silva et al. 2014], onde foi tratado o problema da
integração da federação de recursos do FIBRE com a federação de identidade CAFe (Comunidade Acadêmica Federada), sendo proposta uma solução de autorização para o controle de acesso aos recursos que pode ser aplicada a uma OV qualquer.
Em [Silva et al. 2015], é realizada a validação de um controle de acesso especificamente para o ambiente de IF. Como resultado deste trabalho, a integração de uma
federação de identididade (CAFe) baseada em Shibboleth 1 traz outra vantagem, que é a
de que a gerência de identidade, nesse modelo, disponibiliza atributos de cada usuário,
1
https://shibboleth.net/
o que permite o uso de esquemas de autorização baseados em atributos, como o ABAC.
Normalmente, em uma OV, é necessário manter atributos adicionais, além daqueles que
já são disponibilizados pela instituição de origem do usuário, que atua como provedor
de identidade. Em [Silva et al. 2015], é proposto um provedor de atributos, que pode ser
mantido pela OV, armazenando somente os atributos adicionais necessários somente no
contexto da própria OV. Com isso, não é necessário que o ambiente de recursos federado
mantenha grandes bases de dados com usuários e listas de controle de acesso por usuário,
já que os atributos necessários para a autenticação podem ser providos pela instituição de
origem do usuário e os necessários para autorização são complementados pelo provedor
de atributos. Porém, para a criação de uma OV o processo de entrada de cada instituição
é algo custoso, em geral. É necessário, além de um corpo técnico especializado para
implantação das tecnologias envolvidas, ter também conhecimento para a elaboração e
desenvolvimento de métodos de controle de acesso que auxiliem no papel desempenhado
por cada instituição. Nota-se que o esforço para a criação da OV e o ingresso de novas
instituições a essa organização pode determinar sua aceitação bem-sucedida ou não. É
exatamente este o principal ponto motivador desta proposta.
2.2. Arquitetura do ACROSS
Em um modelo de controle de acesso baseado em polı́ticas, uma camada de controle de acesso se integra à arquitetura de gestão de identidade. Porém, idealmente, esse
modelo deve ser genérico, de forma que seja possı́vel incorporá-lo aos mais diversos
cenários de OVs, como, por exemplo, testbeds de experimentação para IF e cenários
de grades computacionais, além de ambientes de computação em nuvem. Para tanto,
o arcabouço ACROSS é proposto. O ACROSS é um arcabouço genérico para OVs que
desejam utilizar recursos de uma federação de identidade baseada em SAML 2 , realizar o
controle de acesso baseado em atributos para seus usuários e recursos, além de se beneficiar de uma integração a essas funcionalidades de forma facilitada. A Figura 2 mostra os
módulos principais do arcabouço.
Figura 2. Arcabouço ACROSS e seus módulos.
O módulo de Federação de Identidade se comunica diretamente com a federação
de identidade SAML/Shibboleth. Outro componente importante deste módulo é o de
transposição de credenciais [Silva et al. 2014], que deverá atender aos requisitos e particularidades da OV. A transposição de credenciais está também ligada ao módulo Provedor
2
http://saml.xml.org/
de Atributos, uma vez que, para gerar credenciais especı́ficas ao ambiente da OV, podem
ser necessários atributos também especı́ficos.
O módulo de Provedor de Atributos é relativamente independente dos demais
módulos quanto à instalação e configuração. Este módulo deverá ser capaz de criar
uma árvore de diretórios LDAP (Lightweight Directory Access Protocol) 3 para armazenamento dos atributos adicionais particulares à OV. A OV deverá ter uma forma de se
comunicar com esse provedor de atributos adicionais e resgatar tais atributos, que serão
oferecidos através de uma interface de comunicação via webservices [Erl 2004], facilitando a comunicação entre o módulo e o provedor de serviços (Service Provider – SP) da
OV.
Já o módulo de Controle de Acesso se baseia no modelo ABAC e permite ao
administrador da OV e da instituição configurar as polı́ticas para o controle de acesso,
que serão tanto no nı́vel global quanto local à instituição. Conforme a proposta de
[Silva et al. 2015], o administrador da OV será capaz de estabelecer pesos relativos aos
atributos dos usuários daquela OV e esses pesos serão responsáveis por associar cada
usuário a um nı́vel, que por sua vez será usado para o controle de acesso considerando
polı́ticas globais e locais. Este submódulo, chamado de Controle de Nı́veis de Usuários,
implementa a proposta validada em [Silva et al. 2015]. Outros dois submódulos deverão
permitir que os administradores, global e locais, gerenciem suas polı́ticas de forma simplificada, através de uma interface de gerência. Sabe-se que para cada ambiente de recursos distribuı́dos, há uma forma de buscar e alocar esses recursos (geralmente com arquivos baseados em XML), que apresentam, porém, suas particularidades. Dessa forma,
o módulo de controle de acesso deverá facilitar o desenvolvimento de wrappers para sua
comunicação com a federação de recursos em questão.
3. Modelagem
O ACROSS foi modelado de acordo com o padrão UML (Unified Modeling
Language) 4 . A seguir, alguns dos diagramas mais relevantes são apresentados como
ilustração do desenvolvimento deste arcabouço.
Com a finalidade de mostrar o funcionamento e relação entre as entidades do
arcabouço e as federações de identidade e recursos, é apresentado o diagrama de atividade do ACROSS pelo usuário da OV, exposto pela Figura 3. Nele, observa-se desde
os passos da autenticação do usuário na OV até a alocação de recursos. Naturalmente, o
ACROSS é utilizado, inicialmente, para a instalação de configuração de todos os módulos.
O diagrama apresentado mostra a autenticação de um usuário e a solicitação de alocação
de recursos especı́ficos em uma OV que é baseada no ACROSS.
Os passos no diagrama são, primeiramente, a autenticação do usuário, onde o
usuário solicita acesso e é encaminhado por meio do Módulo de Federação de Identidade,
ao seu provedor de identidade da federação de identidade. O usuário, então, é requisitado
pelo seu IdP (Identity Provider – Provedor de Identidade) a enviar suas credenciais. Uma
vez feito isso, essas credenciais serão validadas e seus atributos retornados ao Módulo de
Federação de Identidade, que fica responsável por enviar ao Módulo Provedor de Atributos a requisição dos atributos adicionais do usuário (especı́ficos da OV), então o Módulo
Provedor de Atributos resgatará esses atributos adicionais e os agregará, enviando-os ao
3
4
https://tools.ietf.org/rfc/rfc4516.txt
http://www.uml.org/
Figura 3. Diagrama de atividade do usuário da OV para utilização do ACROSS.
Módulo Federação de Identidade. Por sua vez, o Módulo de Federação de Identidade
armazenará todos os atributos e permitirá o acesso do usuário. O passo seguinte é referente à requisição da listagem de recursos disponı́veis na federação de recursos. Uma vez
recuperadas essas informações, a federação de recursos envia esta lista ao usuário, que a
receberá e selecionará aqueles que deseja reservar. Então, o Módulo Federação de Identidade fica responsável por enviar ao Módulo Controle de Acesso todos os atributos do
usuário junto com o pedido de recurso a ser alocado. O Módulo Controle de Acesso então
realiza a tarefa de classificar este usuário em um nı́vel especı́fico, conforme os pesos de
seus atributos [Silva et al. 2015], e verificará na polı́tica global se o pedido do usuário é
permitido, levando em consideração o nı́vel ao qual ele foi alocado. Caso o usuário atenda
a todos os requisitos, o pedido do usuário é enviado a cada ilha da federação de recursos
que faça parte do pedido de alocação de recursos do usuário, onde a ilha, por sua vez,
irá verificar a polı́tica local de alocação através do Módulo Controle de Acesso (local).
Caso o usuário também obtenha sucesso nesta verificação, os recursos são alocados e a
atividade é finalizada.
3.1. Módulo Federação de Identidade
O diagrama de sequência para a instalação do Módulo Federação de Identidade é
detalhado pela Figura 4, onde há três componentes: o “VO Installation”, responsável pela
instalação e configuração do módulo de federação de identidade do arcabouço ACROSS;
o “Shibboleth Client”, que deverá ser configurado como Provedor de Serviço (SP –
Service Provider); e o componente “Identity Federation”, que representa a federação
CAFe/Shibboleth. Neste diagrama, apresentam-se as atividades de instalação dos serviços
básicos necessários a este módulo e também de configuração, realizando desde o suporte
a atributos necessários para a OV quanto gerando o metadado necessário para entrada
deste serviço na federação de identidade.
Figura 4. Diagrama de sequência para instalação e configuração do módulo.
Para este diagrama é necessário, a princı́pio, ter o metadado da federação de identidade, e seguindo o diagrama tem-se: o inı́cio da instalação pelo administrador da OV,
através do “Start VO Install”, passando pela instalação dos pacotes necessários para os
serviços de servidor web e cliente Shibboleth, onde, para tanto o administrador deverá
preencher algumas informações; em seguida é solicitado ao administrador o metadado da
federação, que será configurado no cliente shibboleth do módulo e então gerado o metadado da OV, enviado ao administrador; por sua vez, o administrador deve entrar em
contato com a federação de identidade para inserir o metadado de sua OV, a fim de iniciar efetivamente sua participação naquela federação; logo após realizados tais passos o
administrador deverá selecionar quais atributos, da lista de possı́veis atributos, ele necessita suportar, e então é feita a sua configuração e confirmada ao administrador; por fim, o
administrador utiliza o módulo para realizar sua autenticação na federação de identidade,
com o objetivo de validar a configuração realizada, e então finaliza a configuração.
O passo citado no diagrama da Figura 4 como “User Authentication Test”, será
visto com mais detalhes na Figura 5, assim como a agregação de atributos realizada para
um usuário que se autentica na OV utilizando o ACROSS.
3.1.1. Módulo Provedor de Atributos
O Módulo Provedor de Atributos provê um diretório adicional para armazenamento dos atributos especı́ficos da OV. Este diretório é uma base LDAP. Há ainda o agregador de atributos, responsável pela união dos atributos vindos da federação de identidade
com os atributos adicionais do provedor de atributos da OV. 5
É interessante documentar que, durante a configuração do agregador de
atributos e a criação das entradas de cada usuário no provedor de atributos adicionais, um atributo opaco é utilizado como identificador do usuário.
A entrada no provedor de atributos terá uma forma similar ao exemplo:
uid=%$OPAQUE ID%,dc=%$ORGANIZATION%,dc=across
O identificador opaco se baseia no trabalho [Silva et al. 2015] e serve como uma
forma de fortalecer a privacidade do usuário da OV, dificultando sua associação aos valores de atributos adicionais. Como forma de geração do atributo opaco utilizando o atributo
mail6 e um número aleatório escolhido para ACROSS, temos:
δ ← Attru (mail) ∪ $salt
(1)
AttrU (opaque) ← hash(δ)
(2)
A Figura 5 é um diagrama UML voltado para a utilização, que trata do momento
da autenticação do usuário, onde os atributos adicionais da OV são recuperados do provedor de atributos (a partir do atributo opaco), agregados e disponibilizados ao serviço
associado da OV através do módulo A&A do usuário (“User A&A”).
Figura 5. Diagrama de sequência do acesso do usuário com agregação de atributos.
5
Por conta da limitação de espaço deste trabalho os diagramas de instalação e configuração para o
Agregador de Atributos e o Provedor de Atributos foram suprimidos.
6
Attr u(mail) é dependente do schema inetOrgPerson.
3.1.2. Módulo de Controle de Acesso
O Módulo Controle de Acesso é configurado pelo administrador da OV em quatro
diferentes gerenciadores, referentes à pontuação (score), nı́vel (level), o recurso (resource)
e a polı́tica (polı́tica)7 . Sucintamente, a configuração da pontuação para cada um dos atributos existente na OV, inclusive consultando aqueles do provedor de atributos adicionais,
é a primeira a ser realizada. Logo após, o intervalod de pontuação para cada nı́vel deve
ser configurado, informando sempre o menor valor para um dado nı́vel, e começando do
nı́vel mais alto (a fim de garantir que intervalos não irão se sobrepor). Destaca-se que,
para a classificação do usuário em certo nı́vel, é levada em consideração a sua pontuação
e essa pontuação é normalizada, seguindo a proposta validade em [Silva et al. 2015]. Já
para a configuração do recurso, o administrador informa o tipo e uma breve descrição
daquele recurso.
Figura 6. Configuração de polı́ticas de acesso.
Todos os registros são armazenados em arquivos XML e poderão ser consultados
posteriormente por outras entidades do ACROSS. A Figura 6 ilustra a configuração da
polı́tica em si, e, portanto, levará em conta tanto o nı́vel quanto aos tipos de recursos que
poderão ser autorizados àquele nı́vel. Esta configuração deverá ser feita para cada uma
das polı́ticas criadas.
A configuração das polı́ticas será realizada tanto em nı́vel global da OV como em
nı́vel local, e os demais módulos e configurações serão executados apenas no nı́vel global
pelo administrador da OV.
7
Os diagramas para a configuração da pontuação, nı́vel e recurso foram suprimidos por conta da
limitação de espaço.
4. Trabalhos Relacionados
Nesta seção são comparados os trabalhos relacionados ao ACROSS, ainda que
estes tratem apenas da autenticação ou apenas do controle de acesso.
4.1. VOMS - Virtual Organization Membership Service
O VOMS [Alfieri 2003] é um arcabouço para autenticação e controle de acesso
desenvolvido, inicialmente, para o contexto de grade computacional. Essa proposta tem
sua autorização baseada em papéis e polı́ticas, o que pode-se comparar ao ACROSS na
utilização de uma polı́tica global e local. No VOMS, a polı́tica global se refere à polı́tica
da OV, que é uma polı́tica geral de autorização, que avalia se o usuário tem credenciais
válidas ou pertence a um certo grupo, e a polı́tica local é realizada pelo RP (Resource Provider) – responsável por oferecer o recurso em si. Para utilizar o VOMS, o usuário deve
reapresentar suas credenciais ao RP (local) junto com uma autorização pré-concedida
pela OV (global). A ideia é que o usuário, mesmo sendo autorizado pela OV, possa ter
seu acesso restringido localmente.
Basicamente, o VOMS é baseado em papéis, que por sua vez são expressos por
grupos e subgrupos. Pensando na hierarquia de controle de acesso baseado em papéis do
VOMS, a ideia é que haja uma raiz e abaixo dela os vértices sejam grupos e subgrupos,
que existam como arestas orientadas, herdando regras dos nı́veis superiores, como em
um grafo acı́clico. No VOMS, o usuário é representado por papéis (roles) e recursos
(capabilities), onde um papel está intimamente relacionado ao usuário naquele grupo, ou
seja, o papel que ele possui dentro daquele grupo. Esse papel é utilizado para a tomada
de decisão.
No ACROSS, as polı́ticas global e local funcionam de forma diferente. Como
para o ACROSS o ambiente da OV é pensado como uma federação de recursos, a polı́tica
global valida e classifica o usuário conforme seus atributos, atribuindo a ele um nı́vel
especı́fico de acordo com a configuração do administrador global da OV. Já no nı́vel local,
de cada ilha, apenas o nı́vel de acesso do usuário é fornecido, uma forma mais geral para
tratar a requisição do usuário ao recurso. O ACROSS também mantém a privacidade dos
atributos do usuário no nı́vel local das ilhas, uma vez que apenas um atributo genérico,
o nı́vel, é enviado para a tomada de decisão na polı́tica local, mantendo os valores de
atributos, cálculos e tomadas de decisão centralizados à federação no nı́vel global.
O ACROSS trabalha de forma dinâmica, classificando usuários em nı́veis criados
pelo administrador global da OV. Diferentemente do VOMS, o ACROSS permite que sejam criados, a partir de atributos especı́ficos suportados pela OV, classificações dinâmicas
de alocação de recursos. A alocação de recursos, assim como realizada pelo VOMS, é
feita no nı́vel local.
Outra diferença entre VOMS e ACROSS é que o VOMS propõe um serviço de
gerência para várias OVs distintas no mesmo serviço, a partir da geração de credenciais
X.509 do tipo proxy (formato herdado de sua motivação de ser um arcabouço para a
gerência de acesso à grade computacional). O ACROSS deve ser usado individualmente
por cada OV que deseja facilitar a gestão de identidade de seus usuários, considerando as
funcionalidades de autenticação e autorização, integradas a uma federação de identidade
baseada em Shibboleth.
4.2. CAS - Community Authorization Service
O CAS (Community Authorization Service) [Pearlman et al. 2002] tem como ideia
principal que um certo nı́vel de controle de acesso a recursos, ou parte das polı́ticas locais,
sejam delegados ao administrador da OV, a fim de permitir que este administrador aplique
polı́ticas gerais da OV no ambiente distribuı́do. Essa gerência de controle de acesso é
realizada pelo administrador da OV através do servidor CAS, que funciona de forma
intermediária entre o requisitante do acesso e o recurso em si. Seu modelo de autorização
é baseado em papéis (RBAC - Role-Based Access Control), associando a qual papel é
permitido que tipo de acesso a qual o recurso.
É possı́vel traçar um paralelo entre polı́tica global e local no CAS, onde o controle
de acesso de nı́vel global existe quando o usuário apresenta suas credenciais e é verificado
junto à base de polı́ticas global da OV, associando a ele uma certa permissão conforme
seu papel na OV. Já a polı́tica local pode ser vista no acesso, quando a instituição dona
do recurso aplica uma polı́tica restritiva conforme o papel do usuário. Comparado ao
ACROSS, o CAS possui polı́ticas globais e locais claramente mais simples e limitadas,
uma vez que se baseia em uma implementação simples do RBAC. Porém, o CAS visa
se integrar ao middleware para grades computacionais, Globus Toolkit [Foster 2005] e
utilizar seus serviços para acesso aos recursos, permitindo gerar credenciais no formato
de certificados X.509 proxy e a delegação de credenciais. Também é interessante citar a
diferença básica entre o CAS e o VOMS, onde no VOMS o usuário pertence a um grupo
que por sua vez é mapeado em um direito somente no domı́nio do recurso (na instituição,
por exemplo). Já o CAS envia os direitos baseados nos papéis diretamente através do
acesso à OV.
4.3. PERMIS - PrivilEge and Role Management Infrastructure Standard
O PERMIS (PrivilEge and Role Management Infrastructure Standard)
[Chadwick et al. 2003] é o que se chama de PMI (Privilege Management Infrastructure),
baseada em X.509. Análoga a uma ICP (Infraestrutura de Chave Pública) [ITU-T 2012],
o PMI apresenta uma AA (Attribute Authority), responsável por emitir certificados de atributos X.509 (Attribute Certificates – ACs) [Farrell and Housley 2002] para os usuários, e
uma AC (Autoridade Certificadora) é responsável por armazenar a ligação entre a credencial do usuário, seu DN (Distinguished Name) e os atributos de privilégios do usuário. A
raiz de confiança do PMI é chamada de SOA (Source of Authority).
Diferentemente do CAS, o PERMIS, assim como o ACROSS, utiliza o ABAC a
partir dos certificados de atributos do usuário. Em geral, as principais diferenças entre
o PERMIS e o ACROSS estão na facilidade de instalação e integração oferecida pelo
ACROSS à OV. Sabemos que o PERMIS é um arcabouço maduro, difundido e bem estruturado no padrão X.509, assim como o VOMS. Porém, o PERMIS e também o VOMS
acabam por se tornar um tanto quanto engessados na estrutura de grade computacional
principalmente pelo tipo de credencial suportado, além de ambos terem como herança o
foco na integração do Globus Toolkit, o que pode dificultar a adoção deste arcabouço ou
exigir um grande esforço de desenvolvimento.
5. Considerações Finais e Trabalhos Futuros
O presente trabalho apresentou tanto a motivação e embasamento teórico por meio
da comparação com trabalhos relacionados de outros arcabouços de controle de acesso
para OV, quanto a arquitetura e alguns diagramas de exemplo utilizados para o desenvolvimento do ACROSS. É interessante deixar claro que os assistentes de instalação e
configuração de cada um dos módulos que estão sendo desenvolvidos, facilitarão a criação
de novas OVs e irão agilizar o ingresso de novas instituições tanto na CAFe como na
adesão à utilização de conceitos de controle de acesso.
O arcabouço atualmente encontra-se em desenvolvimento, e o próximo passo será
sua validação por meio de testes e nos ambientes de experimentação em IF do projeto
FIBRE e de nuvem, utilizando OpenStack. Almeja-se ainda a validação da instalação,
configuração e utilização do arcabouço ACROSS por uma OV diferente das pensadas
inicialmente, com a finalidade de validar quão genérica esta solução realmente se tornou.
Referências
Alfieri, R. e. a. (2003). Managing dynamic user communities in a grid of autonomous
resources. CoRR, cs.DC/0306004.
Chadwick, D., Otenko, A., and Ball, E. (2003). Role-based access control with x.509
attribute certificates. Internet Computing, IEEE, 7(2):62–69.
Erl, T. (2004). Service-Oriented Architecture: A Field Guide to Integrating XML and Web
Services. Prentice Hall PTR, Upper Saddle River, NJ, USA.
Farrell, S. and Housley, R. (2002). An Internet Attribute Certificate Profile for Authorization. RFC 3281 (Proposed Standard).
Foster, I. (2005). Globus toolkit version 4: Software for service-oriented systems. In
Proceedings of the 2005 IFIP International Conference on Network and Parallel Computing, NPC’05, pages 2–13, Berlin, Heidelberg. Springer-Verlag.
Hu, V. C., Ferraiolo, D., Kuhn, R., Schnitzer, A., Sandlin, K., Miller, R., and Scarfone,
K. (2014). Guide to attribute based access control (abac) definition and considerations.
NIST Special Publication, 800:162.
ISO (1996). ISO/IEC 10181-3:1996 - information technology – open systems interconnection – security frameworks for open systems: Access control framework.
ITU-T (2012). The directory: Public-key and attribute certificate frameworks. Technical
Report X.509, ITU-T SG17, Geneva, Switzerland.
Pearlman, L., Welch, V., Foster, I., Kesselman, C., and Tuecke, S. (2002). A community
authorization service for group collaboration. In Policies for Distributed Systems and
Networks, 2002. Proceedings. Third International Workshop on, pages 50–59.
Sallent, S., Abelem, A., Machado, I., Bergesio, L., Fdida, S., Rezende, J., Simeonidou, D.,
Salvador, M., Ciuffo, L., Tassiulas, L., and Bermudo, C. (2012). FIBRE project: Brazil
and Europe unite forces and testbeds for the Internet of the future. In Proceedings of
TridentCom 2012.
Silva, E., Fernandes, N. C., and Muchaluat-Saade, D. (2015). ACROSS-FI: AttributeBased Access Control with Distributed Policies for Future Internet Testbeds. In 14th
International Conference on Networking, pages 198–204, Barcelona/Spain.
Silva, E., Fernandes, N. C., Rodriguez, N., and Muchaluat-Saade, D. (2014). Credential
Translations In Future Internet Testbeds Federation. In NOMS/ManFI 2014, Krakow,
Poland.
Download

Modelagem do ACROSS: Um Arcabouço de A&A Baseado em