Interface Básica para um Servidor Universal
Flávia Linhalis
Orientação: Prof. Dr. Dilvan de Abreu Moreira
Roteiro da Apresentação
Introdução
Objetivo
Tecnologias de Desenvolvimento
Visão Geral
Conclusões e Trabalhos Futuros
Introdução

Servidor Universal



banco de dados/servidor
capaz de armazenar os mais diversos tipos de
objetos
Vantagens


Informações em apenas um formato fornecidas de
maneiras diferentes
Evita redundância de informações
Roteiro da Apresentação
Introdução
Objetivo
Tecnologias de Desenvolvimento
Visão Geral
Conclusões e Trabalhos Futuros
Objetivo
Usuário
Aplicação
BD
Servidor universal é necessário porque as aplicações são agentes
de software e podem trabalhar com variados tipos de objetos.
Interface entre aplicações e banco de dados do servidor universal
se torna necessária.
A Interface

Funções da Interface Básica para um Servidor
Universal




receber e verificar a autenticidade dos agentes
executar os agentes de forma segura
controlar o tempo de vida dos agentes
Vantagens


Java como linguagem de consulta.
Proporciona abertura, pois os agentes podem carregar
objetos no banco de dados e se conectarem a recursos
externos.
Roteiro da Apresentação
Introdução
Objetivo
Tecnologias de Desenvolvimento
Visão Geral
Conclusões e Trabalhos Futuros
Criptografia
Proporciona confidencialidade de dados.
Mensagem
Método de
Criptografia
(Codificação)
Mensagem
Criptografada
Método de
Criptografia
(Decodificação)
Pode utilizar chave privada ou pública.
Mensagem
Assinatura Digital
Chave privada é evidência de identidade.
Mensagem
Hash
Codificação
Mensagem
Mensagem
Assinada
+
Mensagem
Hash
+
Mensagem
Assinada
Decodificação
=
OK
Certificados


Chave pública recebida é autêntica?
Um certificado é uma declaração
assinada pelo possuidor de uma chave
privada dizendo que uma chave pública
é autêntica.
Assinaturas Digitais em Java




API de segurança para assinatura de dados.
Arquivos JAR podem ser assinados.
Ferramenta keytool para manipulação de
chaves e certificados.
Ferramenta jarsigner para assinar JARs.
Assinaturas Digitais em Java
Aplicação
jar
Keytool
- gerar
Aplicação.jar
keystore
jarsigner
AplicaçãoAss.jar
ch. Privada
certificado
ch. pública
Keytool
- exportar
certificado
Assinaturas Digitais em Java
Arquivos do JAR
______
______
______
______
hashes
manifest
______
.SF
hashes
______
.DSA
Assinatura
+ certificado
Assinaturas Digitais em Java
.DSA
Assinatura
+ certificado
=
.SF
manifest
JAR
______
______
______
______
______
______
______
______
______
______
______
______
=
hashes
OK
OK
novos
hashes
=
hashes
OK
novos
hashes
O Agente Gateway
Desenvolvido para garantir a autenticidade dos agentes.
conexão
ServerFTP
ClientFTP
JAR
JarVerifier
JAR OK
Certificate
Verifier
Controle de Acesso
Autorização para acesso aos roots do
banco de dados e aos recursos do
sistema.
Interface com o Banco de Dados
 SecurityManager

A Interface com o BD
Definição de métodos para acesso ao BD


Manipulação de roots
Manipulação de grupos



permissões de acesso entre roots e grupos
dois grupos criados: superusers e commonusers
Controle de threads

controle de acesso durante a execução dos
agentes
O SecurityManager
É uma classe de Java que controla o acesso aos
recursos do sistema.
Políticas de segurança em Java



Permissões são explicitadas em um policyfile
Podem ser associadas a um certificado e a uma URL
SecurityManager monitora o policyfile
automaticamente
Execução Segura
certificado
Keytool
- importar
AplicaçãoAss.jar
keystore
JVM
SecurityManager
Policy
files
certificado
válido
O Pool de Agentes
Agentes autenticados pelo Gateway poderão ser
executados pelo Pool.
Pool
JarRunner
TimeCounter
Agente
Gateway
Agente
1
Agente . . .
2
Agente
N
Conexão com outros hosts
Roteiro da Apresentação
Introdução
Objetivo
Tecnologias de Desenvolvimento
Visão Geral
Conclusões e Trabalhos Futuros
Visão Geral da IBSU
Root 1
Root 2
...
Root N
Interface com o BD
BD Universal
Security
Manager
Pool de Agentes
Agente 2
...
Agente 1
Gateway
Agente N
Agente 1
Roteiro da Apresentação
Introdução
Objetivo
Tecnologias de Desenvolvimento
Visão Geral
Conclusões e Trabalhos Futuros
Conclusões

Pool é um ambiente para a execução
aberta e segura de agentes.


Gateway, SecurityManager e Interface com
o BD proporcionam segurança.
Java proporciona abertura e flexibilidade.



Agentes possuem todos os recursos da
plataforma à sua disposição.
Agentes podem carregar objetos no BD.
Consultas mais flexíveis feitas em Java.
Trabalhos Futuros



Implementar a Interface com o BD para
SGBDs comerciais.
Implementar uma subclasse do Security
Manager ao invés de um policy file.
Implementar a Interface com o BD para
trabalhar com JavaSpaces.


Armazenamento de objetos compartilhados por
uma rede de recursos Java.
Interface entre agentes e os serviços e dados.
Obrigada
Download

Interface Básica para um Servidor Universal