Arquitetura Cross-Plataforma para
Autenticação e Autorização de Aplicações
Comerciais
Projeto Rasea
Cleverson Sacramento
[email protected]
Mestrado em Sistemas e Computação
Agenda
•
•
•
•
Introdução
Motivação
Objetivos
Arquitetura Rasea
–
–
–
–
Independência de Plataforma
Integração
Gateway
Agent
• Modelo de Segurança
• Referências
Mestrado em Sistemas e Computação
Introdução
• Citações
– “Pouca ou nenhuma segurança deixa a sua empresa vulnerável, mas
uma ênfase exagerada (...) inibe o crescimento e prosperidade da
empresa. O desafio é atingir um equilíbrio entre a segurança e a
produtividade” (MITNICK, 2003, pg. 8)
– “A segurança da aplicação não é apenas tecnologia (...)” (BUEGE, 2003, pg.
106)
– Colocar citação sobre reuso
– Colocar citação sobre SOA
Mestrado em Sistemas e Computação
Introdução
• A quem se destina?
– Empresas de Desenvolvimento de Software e Profissionais
Autônomos
• Produtividade no desenvolvimento de novos sistemas.
• Aumento da competitividade.
– Organizações clientes
•
•
•
•
•
Unificação da base de usuários e do controle de acesso às aplicações.
Redução de custo na manutenção do controle de acesso.
Maior controle na autorização às aplicações.
Apenas uma conta para acessar todos os sistemas.
Login único
Mestrado em Sistemas e Computação
Introdução
• Conceito
– Autenticação
• Identificação do usuário
– Autorização
• O que o usuário pode fazer na aplicação
– Segurança da Aplicação
• Vertical
• Horizontal
Mestrado em Sistemas e Computação
Escopo
Introdução
Aplicação
-Telas de negócio
-Banco de negócio
-Telas de segurança
-Banco de segurança
Aplicação =
regra de
negócio
+
regra de
segurança
Mestrado em Sistemas e Computação
Introdução
Responsabilidades
Aplicação
-Telas de negócio
- Banco de negócio
Segurança
-Telas de segurança
-Banco de segurança
regra
de
segurança
regra
de
negócio
Mestrado em Sistemas e Computação
Introdução
Segurança
-Filtro de acesso
-DP: Controller
-Auditoria
-Regras de acesso
-Telas da cadastro
-Acesso ao banco
-Negócio
-Autenticação
-Autorização
regra
de
acesso
regra
de
negócio
Mestrado em Sistemas e Computação
Introdução
• Glossário
– Aplicação: software implantado em uma organização.
– Aplicação parceira: é uma aplicação que deseja usufruir dos
benefícios do Rasea.
– Agent: componente Rasea, que acessa o gateway, e deve ser
conectado a uma aplicação parceira.
– Gateway: servidor Rasea que possui toda a regra de segurança.
– Single Sign-On: após logar em uma aplicação, o processo não
precisará se repetir para as demais.
Mestrado em Sistemas e Computação
Motivação
Descentralização
-Re-implementação
-Bases redundantes
-Dificuldade na
implantação de
melhorias do modelo
de segurança
(A)
(B)
(C)
(E)
(D)
Mestrado em Sistemas e Computação
Motivação
• Soluções existentes
– JAAS
• Framework para autorização e autenticação de uma aplicação
– Seam Security e jGuard
• Implementação do JAAS
– Josso
• Solução de Single Sign-On
– Drools
• Criação de regras de segurança
– Sentinel
• Biblioteca para controle de acesso
Mestrado em Sistemas e Computação
Objetivos
• Primário
– Definir uma Arquitetura Orientada à Serviço que suporte o controle centralizado
de autorização e a autenticação unificada dos usuários às aplicações
comerciais.
• Secundários
– Garantir que a arquitetura proposta beneficie aplicações comerciais em
diferentes plataformas, tais como Java e .NET.
– Implementar a solução proposta e disponibilizá-la à comunidade, regida por uma
licença Open Source.
– Reduzir o custo no desenvolvimento de software a partir do reuso do serviço de
segurança.
Mestrado em Sistemas e Computação
Arquitetura Rasea
• Rasea?
cRoss-plAtaform
Security for Enterprise Applications
Arquitetura Cross-Plataforma para Segurança de Aplicações Comerciais
Mestrado em Sistemas e Computação
Arquitetura Rasea
Elementos da Arquitetura
-PIM (Platform-Independent
Model): garantia de
independência de
plataforma.
-Integração: possibilidade
de integrar com aplicações
parceiras e com a infra.
-Gateway: provê telas de
administração e serviços
de segurança para as
aplicações parceiras.
Integração
Platform-Independent Model
Rasea
Gateway
-Agents: são instalados
nas aplicações parceiras e
consomem o serviço do
gateway.
Mestrado em Sistemas e Computação
Agents
Arquitetura Rasea
Economia
(A)
Investimento
(F)
(B)
(C)
(E)
(D)
Mestrado em Sistemas e Computação
Arquitetura Rasea PIM
• PIM: Platform-Independent Model
– Utilização de WebService para integração das
aplicações parceiras.
– Para o cliente, os detalhes tecnológicos do servidor
são abstraídos.
– Aplicação dos conceitos SOA.
Mestrado em Sistemas e Computação
Arquitetura Rasea PIM
Serviço de Segurança
-O gateway provê
WebService para garantir a
integração independente
de plataforma
gateway
aplicação
parceira
Mestrado em Sistemas e Computação
Arquitetura Rasea PIM
Agents
-Implementação em
diversas tecnologias
-Java
-.NET
-PHP
-etc.
SOAP
gateway
Java
.NET
PHP
Mestrado em Sistemas e Computação
etc.
Arquitetura Rasea Integração
• Frameworks
– Integração com tecnologias de mercado
– JAAS, jGuard, JBoss Seam, JSF, Struts, ASP, .NET,
etc.
• Single Sign-On
– Josso: Single Sign-On Open Source
Mestrado em Sistemas e Computação
Arquitetura Rasea Integração
Autenticação
-Integração com o legado
-LDAP
-SGBD
-Utilização da base
embutida
autorização
gateway
LDAP
autenticação
SGBD
Mestrado em Sistemas e Computação
etc.
Embedded
Arquitetura Rasea Integração
(colocar referência)
Mestrado em Sistemas e Computação
Arquitetura Rasea Integração
Single Sign-On
-Integração com o JOSSO
-Compartilhamento da
base de autenticação
(A)
Rasea
LDAP
(C)
aplicação
parceira
Mestrado em Sistemas e Computação
(B)
JOSSO
Arquitetura Rasea Gateway
• Rascunho!!!
– Utiliza o JBoss Seam
– I18N
– Escolha da base de autenticação
– WebServices
– Telas de cadastro
– Concessão de Permissão
Mestrado em Sistemas e Computação
Arquitetura Rasea Agent
• Rascunho!!!
– Agent JBoss Seam
– Agent .NET
– WS Proxy
Mestrado em Sistemas e Computação
Modelo de Segurança
• Rascunho!!!
– Modelo de segurança do Windows
– UML
– Comparação com o modelo RBAC
Mestrado em Sistemas e Computação
Referências
•
BUEGE, Brian et al. Segurança Contra Hackers J2EE e Java: desenvolvendo aplicações seguras com a tecnologia Java. São Paulo: Futura.
2003.
•
MITNICK, Kevin D.; SIMON, Willian L., A Arte de Enganar: controlando o fator humano na segurança da informação. São Paulo: Pearson
Makron Books. 2003.
•
http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/JAASRefGuide.html
•
http://www.josso.org/confluence/display/JOSSO1/Architecture+Overview
26
Download

aplicação - rasea.sourceforge.net.