interface básica para um servidor universal flávia linhalis orientação: prof. dr. dilvan de...
TRANSCRIPT
Interface Básica para um Servidor Universal
Flávia Linhalis
Orientação: Prof. Dr. Dilvan de Abreu Moreira
Roteiro da Apresentação
Tecnologias de Desenvolvimento
Visão Geral
Objetivo
Introdução
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
Tecnologias de Desenvolvimento
Visão Geral
Objetivo
Introdução
Conclusões e Trabalhos Futuros
Objetivo
Interface entre aplicações e banco de dados do servidor universal se torna necessária.
BD
Usuário
Aplicação
Servidor universal é necessário porque as aplicações são agentes de software e podem trabalhar com variados tipos
de objetos.
A Interface Funções da Interface Básica para um
Servidor Universal receber e verificar a autenticidade dos agente
s
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
Tecnologias de Desenvolvimento
Visão Geral
Objetivo
Introdução
Conclusões e Trabalhos Futuros
Criptografia
Mensagem MensagemMensagem
Criptografada
Método de Criptografia
(Codificação)
Método de Criptografia
(Decodificação)
Pode utilizar chave privada ou pública.
Proporciona confidencialidade de dados.
Mensagem+
Assinatura DigitalChave privada é evidência de identidade.
Mensagem Assinada
+
Mensagem Hash
= OK
Hash CodificaçãoMensagem Assinada
Decodificação
Mensagem
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
keystore
ch. Privadacertificadoch. pública
Keytool- exportar
certificado
jarsigner
jar
Aplicação
Aplicação.jar
AplicaçãoAss.jar
Keytool- gerar
Assinaturas Digitais em Java
Arquivos do JAR
________________________
hashes
manifest
______
.SF
______.DSA
Assinatura + certificado
hashes
Assinaturas Digitais em Java
JARmanifest.SF
.DSA
hashesnovoshashes
________________________
novoshashes
hashes
OK
= =
OK
=
OK
________________________
Assinatura + certificado
________________________
O Agente Gateway
JarVerifierJarVerifier CertificateVerifier
CertificateVerifier
ServerFTPServerFTP JAR
ClientFTPClientFTP
con
exão
JAR OK
Desenvolvido para garantir a autenticidade dos agentes.
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
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
É uma classe de Java que controla o acesso aos recursos do sistema.
Execução Segura
keystore
certificadoválido
certificado
AplicaçãoAss.jar
Keytool- importar
JVM
SecurityManager
Policyfiles
O Pool de Agentes
Agentes autenticados pelo Gateway poderão ser executados pelo Pool.
AgenteN
. . .
AgenteGateway
Conexão com outros hosts
Pool
JarRunner TimeCounter
Agente1
Agente2
Roteiro da Apresentação
Tecnologias de Desenvolvimento
Visão Geral
Objetivo
Introdução
Conclusões e Trabalhos Futuros
Visão Geral da IBSUBD Universal
Root 1 Root 2 Root N...
Pool de Agentes
Gateway
Agente 1
Agente 2
Agente N
...
Interface com o BDSecurityManager
Agente 1
Roteiro da Apresentação
Tecnologias de Desenvolvimento
Visão Geral
Objetivo
Introdução
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