Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Jailson Volnei dos Santos
Título: Middleware para Autorização Distribuída utilizando XACML
 
Introdução:
Após a explosão da Internet em 1993, uma referência para computação descentralizada que ficou muito popular foram os sistemas distribuídos. A principal motivação na construção de um sistema distribuído é o compartilhamento de recursos tais como: arquivos, páginas web, hardwares diversos, acesso a banco de dados distribuídos, entre muitos outros. Mas não basta citar apenas isso, pois um sistema distribuído é um conjunto de processos concorrentes acessando recursos distribuídos, os quais podem ser compartilhados ou replicados, através de troca de mensagens em um ambiente de rede (MARTINEZ, 2010).
Devido as limitações encontradas na capacidade de processamento que impõem restrições aos muitos tipos de software como: programas de escritório, programas de manipulação de imagens, jogos, científicos e servidores utilizados nas organizações, técnicas que possibilitassem o processamento distribuído para contornar as limitações de processamento começaram a ser aderidas(DANTAS, 2005, p. 3; 4).
Com o aumento exponencial de processamento de tarefas, alta disponibilidade e por apresentar maior tolerância a falhas, os sistemas distribuídos passaram a ser considerados sistemas de alto desempenho ou alta disponibilidade e começaram a atender como solução para sistemas conhecidos como críticos. A necessidade de aumento da capacidade de processamento de informações, compartilhamento de dados e sem grandes custos são fatos que sugerem que esta abordagem seja utilizada por trazer boas vantagens (PIGATTO, 2009, p. 16).
Na implementação de um sistema distribuído surge a dúvida sobre possibilidade de desenvolvimento da escalabilidade e a abertura de sistema de operacional da rede juntamente com transparência e facilidade relacionada ao uso do sistema operacional distribuído. Esta solução deve ser encontrada em uma camada adicional de software que é utilizado no sistema operacional de rede mais ou menos heterogênea de esconder o conjunto de plataformas subjacentes, mas também para melhorar a transparência da distribuição. Muitos sistemas distribuídos modernos são construídos por meio de desta camada adicional chamada de midddleware (TANENBAUM; STEEN, 2006, p. 36). Esta solução é uma camada mediadora que facilita a comunicação e alto nível de abstração entre uma aplicação e sistema operacional de rede.
Atualmente os sistemas distribuídos são muito utilizados em ambientes que necessitam ter escalabilidade, alto desempenho, tolerância a falhas e heterogeneidade. Com isso necessita-se de segurança. Entretanto não é aceito que sistemas robustos que trocam informações entre cliente e servidores possam ser interceptados, modificados ou até que apresentem falta de controle e autorização de acesso e modificação a recursos.
Segundo Rosset (2004, p. 17 apud GOLLMMAN, 1999), “A segurança trata essencialmente de recursos”, por isso devem-se conhecer os recursos e seus valores para melhor proteção. A prevenção, a detecção e a reação são os princípios da segurança computacional.
A segurança das informações em qualquer sistema é importante, pois garante que o sistema conseguirá executar os objetivos para que seja projetado de maneira correta e para os usuários corretos. O mecanismo responsável por garantir que apenas usuários autorizados consumam os recursos protegidos de um sistema computacional nos sistemas de informação (arquivos, programas de computador, dispositivos de hardware e funcionalidades disponibilizadas por aplicações) é a autorização.
A autorização é uma necessidade da segurança para proporcionar diferentes níveis de acesso (por exemplo, negar / permitir) para diferentes partes ou operações em um sistema de computação. O tipo de acesso é definido pela identidade da pessoa e pelo tipo de operação ou parte do sistema requisitado (LEANDRO, 2012, p. 49).
A autorização de acesso e modificação a recursos é estipulada através de políticas de controle de acesso. As políticas de controle de acesso são um meio de restringir o acesso a objetos protegidos e são elaboradas considerando o ambiente em que se está trabalhando, para que as regras e critérios estabelecidos sejam de acordo com as práticas e realidade de segurança vivenciada pela empresa (LIMA, 2008, p. 27).
As políticas de controle de acesso são um meio de especificar ou modificar o comportamento de gerência em um sistema, para isso definem como os serviços em sistemas computacionais podem ser usados (LIMA, 2008, p. 27 apud LORCH et al. 2003)
Geralmente cada sistema utiliza uma linguagem ou padrão próprio para definição de suas políticas de acesso, com isso se torna limitada levando em vista a concepção de sistemas distribuídos e abertos. Visando a transparência entre diversos sistemas o órgão Organization for the Advancement of Structured Information Standards (OASIS) lançou a eXtensible Access Control Markup Language (XACML), uma linguagem padrão para especificação de políticas de controle de acesso de proposito geral em eXtensible Markup Language (XML) (MELLO et al., 2006).
A utilização do padrão XACML para especificação de políticas de controle de acesso em XML proporciona alto poder de flexibilidade na definição de regras de autorização, que permitem tanto a definição de políticas globais genéricas quanto totalmente individuais, além de prover interoperabilidade com aplicações que possam estar em domínios diferentes, proporcionando a capacidade de executar controle de acesso distribuído (ROSSET, 2004, p. 14).
A partir dos cenários abordados até o momento, percebeu-se problemas em relação a preocupação nos dias atuais com a segurança da informação e a autorização ligada ao compartilhamento e distribuição de recursos encontrados nos sistemas distribuídos juntamente a sua capacidade de escalabilidade. Também foi observado que a alta flexibilidade e genericidade do XACML requer um alto conhecimento das funcionalidades e sintaxes utilizadas para ser utilizado.
Diante do exposto, neste trabalho propõe-se o desenvolvimento de um middleware para implementar a comunicação entre recursos e aplicativos distribuídos para autorização de acesso em XACML, para tanto o middleware poderá manter políticas de controle de acesso que serão alocadas em um repositório e através destas políticas o referido middleware disponibilizará autorização distribuída a partir de solicitações de acesso e geração de respostas de autorização