260 likes | 348 Views
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
E N D
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
Usuário Aplicação BD Objetivo Interface entre aplicações e banco de dados do servidor universal se torna necessária. Servidor universal é necessário porque as aplicações são agentes de software e podem trabalhar com variados tipos de objetos.
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. A Interface
Roteiro da Apresentação Introdução Objetivo Tecnologias de Desenvolvimento Visão Geral Conclusões e Trabalhos Futuros
Pode utilizar chave privada ou pública. Proporciona confidencialidade de dados. Criptografia Método de Criptografia (Codificação) Mensagem Criptografada Método de Criptografia (Decodificação) Mensagem Mensagem
Chave privada é evidência de identidade. Mensagem Assinada Mensagem Hash Codificação + Mensagem Hash + Mensagem Assinada Decodificação = OK Assinatura Digital 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 Aplicação Keytool jar - gerar Aplicação.jar keystore Keytool ch. Privada jarsigner - exportar certificado ch. pública certificado AplicaçãoAss.jar
manifest Arquivos do JAR .SF .DSA hashes hashes ________________________ ______ ______ Assinatura + certificado Assinaturas Digitais em Java
= = = novos hashes novos hashes hashes hashes OK OK OK Assinaturas Digitais em Java manifest JAR .SF .DSA ________________________ ________________________ ________________________ Assinatura + certificado
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 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 certificado Keytool - importar AplicaçãoAss.jar keystore Policy files JVM certificado válido SecurityManager
Agente 2 Agente Gateway Agente N Agente 1 O Pool de Agentes Agentes autenticados pelo Gateway poderão ser executados pelo Pool. Pool JarRunner TimeCounter . . . Conexão com outros hosts
Roteiro da Apresentação Introdução Objetivo Tecnologias de Desenvolvimento Visão Geral Conclusões e Trabalhos Futuros
BD Universal Root 1 Root 2 ... Root N Security Manager Interface com o BD Pool deAgentes Agente 1 Visão Geral da IBSU Agente 2 Gateway ... Agente 1 Agente N
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.