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 Vantagens 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 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. 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. Método de Criptografia (Codificação) Mensagem Criptografada Método de Criptografia (Decodificação) Mensagem Mensagem Pode utilizar chave privada ou pública.
Chave privada é evidência de identidade. Assinatura Digital Chave privada é evidência de identidade. Mensagem + Mensagem Assinada Mensagem Hash Codificação Mensagem Assinada + Hash = OK Decodificação
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 Keytool jar - gerar Aplicação.jar keystore ch. Privada Keytool jarsigner certificado - exportar ch. pública certificado AplicaçãoAss.jar
Assinaturas Digitais em Java Arquivos do JAR ________________________ manifest ______ .SF ______ hashes hashes .DSA Assinatura + certificado
Assinaturas Digitais em Java manifest .SF JAR .DSA ________________________ ________________________ ________________________ Assinatura + certificado hashes novos hashes hashes hashes novos = OK OK = = OK
O Agente Gateway Desenvolvido para garantir a autenticidade dos agentes. ServerFTP JarVerifier CertificateVerifier JAR JAR OK conexão ClientFTP
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 Keytool certificado - importar AplicaçãoAss.jar keystore Policy files JVM certificado válido SecurityManager
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 BD Universal Root 1 Root 2 Root N ... Interface com o BD Security Manager Pool de Agentes Agente 2 Gateway ... Agente 1 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