Universidade Federal de Santa Catarina Departamento de Automação e Sistemas Grupo de Estudos de Agentes Móveis e Segurança RELATÓRIO TÉCNICO

Tamanho: px
Começar a partir da página:

Download "Universidade Federal de Santa Catarina Departamento de Automação e Sistemas Grupo de Estudos de Agentes Móveis e Segurança RELATÓRIO TÉCNICO"

Transcrição

1 Universidade Federal de Santa Catarina Departamento de Automação e Sistemas Grupo de Estudos de Agentes Móveis e Segurança RELATÓRIO TÉCNICO Java RMI over SSL no Aglets Galeno Augusto Jung Florianópolis, junho de

2 1 - Introdução Este relatório tem como objetivo descrever, de forma sucinta, os passos necessários para tornar segura a comunicação entre plataformas Aglets utilizando o protocolo SSL (Secure Socket Layer). É importante esclarecer que a plataforma Aglets suporta o Java RMI (Remote Method Invocation) e o ATP (Agent Transfer Protocol) como infra-estrutura de comunicação e que, neste projeto, adotou-se o Java RMI como protocolo de comunicação. Além disto, deve-se ressaltar que o isasilk 1, da IAIK, foi a implementação do protocolo SSL escolhida. Mostra-se muito simples usar RMI sobre SSL. São pequenas as mudanças necessárias nos códigos do cliente e do servidor, porém, um serviço de nomes modificado se faz necessário. A cada inicialização de uma aplicação que utilize RMI sobre SSL, as políticas SSL precisam ser ativadas via SSLContexts e uma fábrica de sockets padrão precisa ser ativada. Para isto deve-se assumir que se esteja utilizando SSL em todas as chamadas e também que estejam sendo usados parâmetros SSL idênticos para todas as chamadas. Levando em conta as mudanças acima citadas, a seguinte estrutura das Camadas de Comunicação é estabelecida para a plataforma Aglets: Figura 1: Camadas de Comunicação No Java RMI existem três entidades ativas: o servidor, que disponibiliza serviços aos programas remotos; o cliente, que usufrui destes serviços; e o serviço de nomes, que ajuda os clientes a encontrarem os servidores. Estas entidades se comunicam usando sockets e toda esta troca de informações pode ser feita de modo seguro utilizando o SSL. Assim, todas as comunicações entre estas entidades são criptografadas. Segue abaixo uma descrição detalhada destas três entidades: 1 - Serviços de Nomes RMI: - ServerSockets: o Serviço de Nomes usa um ServerSocket, originalmente na porta Espera por pedidos de servidores e de clientes que querem localizar servidores. -ClientSockets: o Serviço de Nomes usa ClientSockets para poder estabelecer comunicações com servidores já registrados. 2 - Servidores RMI: - ServerSockets: originalmente uma porta local aleatória. São usados pelo Servidor para aceitar conexões de clientes, receber pedidos e enviar respostas 1 2

3 - ClientSockets: usado pelo Servidor para comunicação com o Serviço de Nomes RMI, em particular para registrar a implementação do servidor. 3 - Clientes RMI: - ServerSockets: não são usados. - ClientSockets: usados pelo Cliente para comunicação com o Serviço de Nomes RMI (para achar a implementação do servidor requerido) e para realizar chamadas para o servidor. 2 Integrando o SSL na Camada de Comunicação do Aglets Na plataforma Aglets, as três entidades descritas acima estão representadas na Figura 2: Figura 2: Esquema da comunicação SSL+RMI Serviço de Nomes: com.ibm.maf.rmi.maffinder_rmiimpl.java Cliente: com.ibm.maf.rmi.mafagentsystem_rmiclient Servidor: com.ibm.maf.rmi.handler Cada uma destas classes foi modificada de maneira a suportar a comunicação segura via SSL. Estas modificações estão descritas a seguir: com.ibm.maf.rmi.handler (Servidor) Método startmafagentsystem: as alterações neste método foram no sentido de ativar a fábrica de sockets SSL SSLSocketFactory caso esteja sendo usado SSL. A SSLSocketFactory é configurada para trabalhar tanto com clientsockets quanto com serversockets. Isto acontece pois um servidor passa a usar um clientsocket quando este está se comunicando com o Serviço de Nomes e é um serversocket quando está recebendo um pedido de um cliente. 3

4 Properties props = System.getProperties();// Obtém as propriedades definidas no arquivo aglets-props String ssl = props.getproperty("ssl"); // verifica se a flag SSL está habilitada if (ssl.equalsignorecase("true")){ SSLRMIUtil.setSSLSocketFactory(true, true); // ativando a SocketFactory para ClientSockets e ServerSockets } Obs.: O método SSLRMIUtil.setSSLSocketFactory() utilizado acima e em todas as classes citadas neste relatório faz parte da classe SSLRMIUtil.Java. Este método utiliza também a classe SSLRMISocketFactory.Java. Ambas as classes anteriormente citadas foram obtidas de um demo que vem no pacote do isasilk com.ibm.maf.rmi.mafagentsystem_rmiclient (Cliente) Método find_maf_agentsystem: este método foi modificado para, quando o SSL estiver sendo usado, ativar a SSLSocketFactory apenas para cliente. Properties props = System.getProperties(); String ssl = props.getproperty("ssl"); if (ssl.equalsignorecase("true")){ SSLRMIUtil.setSSLSocketFactory(true, false); // ativando a SocketFactory para ClientSockets com.ibm.maf.rmi.maffinder_rmiimpl.java (Serviço de Nomes) Método main(string[] args): este método foi modificado para verificar se na sua chamada o pedido de utilização do SSL é solicitado. Este pedido deve ser feito via linha de comando, digitando -ssl após a chamada do método em questão. Em caso afirmativo, o valor da variável ssl é alterado para true. Assim, o MAFFinder habilita uma porta SSL para receber requisições. boolean ssl = false; if (args.length > 0) { for (int i = 0; i < args.length; i++) { if (args[i].equalsignorecase("-help")) { } else if (args[i].equalsignorecase("-verbose")) { _verbose = true; } else if (args[i].equalsignorecase("-port")) { port = Integer.parseInt(args[i + 1]); i++; } else if (args[i].equalsignorecase("-name")) { name = args[i + 1]; i++; } else if (args[i].equalsignorecase("-ssl")){ // acrescentado para usar RMI over SSL ssl = true; } else { 4

5 } } usage(); } O laço if then else abaixo foi criado para ativar a SSLSocketFactory, caso o SSL esteja sendo usado. A fábrica de sockets é configurada para criar tanto ClientSockets como ServerSockets. If (ssl==true){ SSLRMIUtil.setSSLSocketFactory(true, true); // ativando a SocketFactory para ClientSockets e ServerSockets MAFFinder_RMIImpl finder = new MAFFinder_RMIImpl(); finder.startsslfinder(name, port); } else { MAFFinder_RMIImpl finder = new MAFFinder_RMIImpl(); finder.startfinder(name, port); } Modificação no arquivo AGLET_HOME\cnf\aglets.props - A variável ssl foi criada com valor true para sinalizar o uso se SSL na inicialização do Tahiti. 3 - Geração das Chaves e dos Certificados Utilizados no Protótipo Para a geração das chaves e das cadeias de certificados utilizadas pelo SSL para comunicação segura entre plataformas, foram criadas duas classes: CertManager.Java e CreateCerts.Java. Estas classes criam as seguintes chaves e certificados: Par de chaves de 1024 bits RSA para a Autoridade Certificadora; Par de chaves de 1024 bits RSA para o Cliente; Par de chaves de 1024 bits RSA para o Servidor; Par de chaves de 1024 bits RSA para o Serviço de Nomes; Certificado de 1024 bits [RSA/RSA] auto-assinado para a Autoridade Certificadora (AC); Certificado de 1024 bits [RSA/RSA] para o Cliente (emitido pela AC); Certificado de 1024 bits [RSA/RSA] para o Servidor(emitido pela AC); Certificado de 1024 bits [RSA/RSA] para o Serviço de Nomes(emitido pela AC); A classe CreateCerts.Java, que propriamente cria os certificados e as chaves, utiliza o padrão X509 para a criação dos certificados e o algoritmo RSA para criar os pares de chaves assimétricas. Além disto, esta classe usa outras funcionalidades fornecidos pelo Java para este tipo de aplicação. As chaves e os certificados são armazenados num arquivo com extensão.der, que é colocado num diretório especificado para posterior utilização. 4 - Cenário de testes 5

6 Seguirão abaixo as ações realizadas pelo Serviço de Nomes, Plataforma A (rmi://floyd:4000) e Plataforma B (rmi://floyd:4001) na tentativa de enviar um agente da Plataforma A para a Plataforma B. Serviço de Nomes * * * Welcome to the Aglets with RMIoverSSL * * SSL_RSA_WITH_DES_CBC_SHA // cipher suites definidas para o SSLClientContext client SSL_RSA_WITH_DES_CBC_SHA // cipher suites definidas para o SSLServerContext server Creating new SSL server socket on port 0... Creating new SSL server socket on port SSLMAFFinder bound in local registry name: MAFFinder SSlport: 4435 // socket aberto para plataformas poderem se registrar no MAFFinder ssl_debug(1): Starting handshake (isasilk 3.05 Evaluation Version)... ssl_debug(1): Received v3 client_hello handshake message. ssl_debug(1): Client requested SSL version 3.1, selecting version 3.1. ssl_debug(1): Creating new session CB:D4:C8:A2:5E:42:45:69... ssl_debug(1): CipherSuites supported by the client: ssl_debug(1): SSL_RSA_WITH_DES_CBC_SHA ssl_debug(1): CompressionMethods supported by the client: ssl_debug(1): NULL ssl_debug(1): Sending server_hello handshake message. ssl_debug(1): Selecting CipherSuite: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(1): Selecting CompressionMethod: NULL ssl_debug(1): Sending certificate handshake message with server certificate... ssl_debug(1): Sending certificate_request handshake message... ssl_debug(1): Sending server_hello_done handshake message... ssl_debug(1): Received certificate handshake message with client certificate. ssl_debug(1): Client sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(1): Received client_key_exchange handshake message. ssl_debug(1): Received certificate_verify handshake message. ssl_debug(1): ChainVerifier: Found a trusted certificate, returning true ssl_debug(1): Received change_cipher_spec message. ssl_debug(1): Received finished message. ssl_debug(1): Sending change_cipher_spec message... ssl_debug(1): Sending finished message... ssl_debug(1): Session added to session cache. ssl_debug(1): Handshake completed, statistics: ssl_debug(1): Read 1388 bytes in 5 records, wrote 1202 bytes in 3 records. register_agent_system: name: 92f9f31e2e1a8799 location: rmi://floyd:4000 register_place: name: rmi://floyd:4000/ location: rmi://floyd:4000/ register_agent: name: 050b56308d2e5dac location: rmi://floyd:4000/ ssl_debug(2): Starting handshake (isasilk 3.05 Evaluation Version)... ssl_debug(2): Received v3 client_hello handshake message. ssl_debug(2): Client requested SSL version 3.1, selecting version 3.1. ssl_debug(2): Creating new session BC:7A:1F:3B:0F:0B:4A:E3... ssl_debug(2): CipherSuites supported by the client: ssl_debug(2): SSL_RSA_WITH_DES_CBC_SHA ssl_debug(2): CompressionMethods supported by the client: ssl_debug(2): NULL ssl_debug(2): Sending server_hello handshake message. ssl_debug(2): Selecting CipherSuite: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(2): Selecting CompressionMethod: NULL ssl_debug(2): Sending certificate handshake message with server certificate... ssl_debug(2): Sending certificate_request handshake message... ssl_debug(2): Sending server_hello_done handshake message... ssl_debug(2): Received certificate handshake message with client certificate. ssl_debug(2): Client sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(2): Received client_key_exchange handshake message. ssl_debug(2): Received certificate_verify handshake message. ssl_debug(2): ChainVerifier: Found a trusted certificate, returning true ssl_debug(2): Received change_cipher_spec message. ssl_debug(2): Received finished message. ssl_debug(2): Sending change_cipher_spec message... ssl_debug(2): Sending finished message... 6

7 ssl_debug(2): Session added to session cache. ssl_debug(2): Handshake completed, statistics: ssl_debug(2): Read 1388 bytes in 5 records, wrote 1202 bytes in 3 records. register_agent_system: name: c0d2b0737e3879bb location: rmi://floyd:4001 register_place: name: rmi://floyd:4001/ location: rmi://floyd:4001/ register_agent: name: 050b56308d2e5dac location: rmi://floyd:4001/ Plataforma A rmi://floyd:4000 * * * Welcome to the Aglets with RMIoverSSL * * SSL_RSA_WITH_DES_CBC_SHA // cipher suites definidas para o SSLClientContext client SSL_RSA_WITH_DES_CBC_SHA // cipher suites definidas para o SSLServerContext server Creating new SSL server socket on port Creating new SSL client socket connected to floyd: //iniciando a conexão ao MAFFinder ssl_debug(1): Starting handshake (isasilk 3.05 Evaluation Version)... ssl_debug(1): Sending v3 client_hello message, requesting version ssl_debug(1): Received v3 server_hello handshake message. ssl_debug(1): Server selected SSL version 3.1. ssl_debug(1): Server created new session E9:1E:FC:17:7E:08:A7:50... ssl_debug(1): CipherSuite selected by server: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(1): CompressionMethod selected by server: NULL ssl_debug(1): Received certificate handshake message with server certificate. ssl_debug(1): Server sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(1): ChainVerifier: Found a trusted certificate, returning true ssl_debug(1): Received certificate_request handshake message. ssl_debug(1): Accepted certificate types: RSA, DSA ssl_debug(1): Accepted certificate authorities: ssl_debug(1): CN=AgletsSec,OU=DAS,O=UFSC,C=BR ssl_debug(1): Received server_hello_done handshake message. ssl_debug(1): Sending certificate handshake message with RSA client certificate... ssl_debug(1): Sending client_key_exchange handshake message (1024 bit)... ssl_debug(1): Sending certificate_verify handshake message... ssl_debug(1): Sending change_cipher_spec message... ssl_debug(1): Sending finished message... ssl_debug(1): Received change_cipher_spec message. ssl_debug(1): Received finished message. ssl_debug(1): Session added to session cache. ssl_debug(1): Handshake completed, statistics: //terminando a conexão ao MAFFinder ssl_debug(1): Read 1202 bytes in 3 records, wrote 1388 bytes in 5 records. Aglets server started Creating new SSL client socket connected to floyd: // conectando-se à plataforma B ssl_debug(2): Starting handshake (isasilk 3.05 Evaluation Version)... ssl_debug(2): Sending v3 client_hello message, requesting version ssl_debug(2): Received v3 server_hello handshake message. ssl_debug(2): Server selected SSL version 3.1. ssl_debug(2): Server created new session 01:21:53:62:1C:D2:CF:BB... ssl_debug(2): CipherSuite selected by server: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(2): CompressionMethod selected by server: NULL ssl_debug(2): Received certificate handshake message with server certificate. ssl_debug(2): Server sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(2): ChainVerifier: Found a trusted certificate, returning true ssl_debug(2): Received certificate_request handshake message. ssl_debug(2): Accepted certificate types: RSA, DSA ssl_debug(2): Accepted certificate authorities: ssl_debug(2): CN=AgletsSec,OU=DAS,O=UFSC,C=BR ssl_debug(2): Received server_hello_done handshake message. ssl_debug(2): Sending certificate handshake message with RSA client certificate... ssl_debug(2): Sending client_key_exchange handshake message (1024 bit)... ssl_debug(2): Sending certificate_verify handshake message... ssl_debug(2): Sending change_cipher_spec message... ssl_debug(2): Sending finished message... ssl_debug(2): Received change_cipher_spec message. ssl_debug(2): Received finished message. ssl_debug(2): Session added to session cache. ssl_debug(2): Handshake completed, statistics: // conectado à plataforma B ssl_debug(2): Read 1202 bytes in 3 records, wrote 1388 bytes in 5 records. ssl_debug(3): Starting handshake (isasilk 3.05 Evaluation Version)... //recebendo requisição ssl_debug(3): Received v3 client_hello handshake message. ssl_debug(3): Client requested SSL version 3.1, selecting version

8 ssl_debug(3): Creating new session 87:25:A2:3E:E0:B6:EE:C8... ssl_debug(3): CipherSuites supported by the client: ssl_debug(3): SSL_RSA_WITH_DES_CBC_SHA ssl_debug(3): CompressionMethods supported by the client: ssl_debug(3): NULL ssl_debug(3): Sending server_hello handshake message. ssl_debug(3): Selecting CipherSuite: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(3): Selecting CompressionMethod: NULL ssl_debug(3): Sending certificate handshake message with server certificate... ssl_debug(3): Sending certificate_request handshake message... ssl_debug(3): Sending server_hello_done handshake message... ssl_debug(3): Received certificate handshake message with client certificate. ssl_debug(3): Client sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(3): Received client_key_exchange handshake message. ssl_debug(3): Received certificate_verify handshake message. ssl_debug(3): ChainVerifier: Found a trusted certificate, returning true ssl_debug(3): Received change_cipher_spec message. ssl_debug(3): Received finished message. ssl_debug(3): Sending change_cipher_spec message... ssl_debug(3): Sending finished message... ssl_debug(3): Session added to session cache. ssl_debug(3): Handshake completed, statistics: ssl_debug(3): Read 1388 bytes in 5 records, wrote 1202 bytes in 3 records. Plataforma B rmi://floyd:4001 * * * Welcome to the Aglets with RMIoverSSL * * SSL_RSA_WITH_DES_CBC_SHA // cipher suites definidas para o SSLClientContext client SSL_RSA_WITH_DES_CBC_SHA // cipher suites definidas para o SSLServerContext server Creating new SSL server socket on port Creating new SSL client socket connected to floyd: //iniciando a conexão ao MAFFinder ssl_debug(1): Starting handshake (isasilk 3.05 Evaluation Version)... ssl_debug(1): Sending v3 client_hello message, requesting version ssl_debug(1): Received v3 server_hello handshake message. ssl_debug(1): Server selected SSL version 3.1. ssl_debug(1): Server created new session C7:D9:CD:C6:F5:BC:E2:3F... ssl_debug(1): CipherSuite selected by server: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(1): CompressionMethod selected by server: NULL ssl_debug(1): Received certificate handshake message with server certificate. ssl_debug(1): Server sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(1): ChainVerifier: Found a trusted certificate, returning true ssl_debug(1): Received certificate_request handshake message. ssl_debug(1): Accepted certificate types: RSA, DSA ssl_debug(1): Accepted certificate authorities: ssl_debug(1): CN=AgletsSec,OU=DAS,O=UFSC,C=BR ssl_debug(1): Received server_hello_done handshake message. ssl_debug(1): Sending certificate handshake message with RSA client certificate... ssl_debug(1): Sending client_key_exchange handshake message (1024 bit)... ssl_debug(1): Sending certificate_verify handshake message... ssl_debug(1): Sending change_cipher_spec message... ssl_debug(1): Sending finished message... ssl_debug(1): Received change_cipher_spec message. ssl_debug(1): Received finished message. ssl_debug(1): Session added to session cache. ssl_debug(1): Handshake completed, statistics: //terminando a conexão ao MAFFinder ssl_debug(1): Read 1202 bytes in 3 records, wrote 1388 bytes in 5 records. Aglets server started ssl_debug(2): Starting handshake (isasilk 3.05 Evaluation Version)... // recebendo requisição da plataforma A ssl_debug(2): Received v3 client_hello handshake message. ssl_debug(2): Client requested SSL version 3.1, selecting version 3.1. ssl_debug(2): Creating new session 01:21:53:62:1C:D2:CF:BB... ssl_debug(2): CipherSuites supported by the client: ssl_debug(2): SSL_RSA_WITH_DES_CBC_SHA ssl_debug(2): CompressionMethods supported by the client: ssl_debug(2): NULL ssl_debug(2): Sending server_hello handshake message. ssl_debug(2): Selecting CipherSuite: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(2): Selecting CompressionMethod: NULL ssl_debug(2): Sending certificate handshake message with server certificate... ssl_debug(2): Sending certificate_request handshake message... ssl_debug(2): Sending server_hello_done handshake message... ssl_debug(2): Received certificate handshake message with client certificate. ssl_debug(2): Client sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(2): Received client_key_exchange handshake message. 8

9 ssl_debug(2): Received certificate_verify handshake message. ssl_debug(2): ChainVerifier: Found a trusted certificate, returning true ssl_debug(2): Received change_cipher_spec message. ssl_debug(2): Received finished message. ssl_debug(2): Sending change_cipher_spec message... ssl_debug(2): Sending finished message... ssl_debug(2): Session added to session cache. ssl_debug(2): Handshake completed, statistics: ssl_debug(2): Read 1388 bytes in 5 records, wrote 1202 bytes in 3 records. Creating new SSL client socket connected to : ssl_debug(3): Starting handshake (isasilk 3.05 Evaluation Version)... ssl_debug(3): Sending v3 client_hello message, requesting version ssl_debug(3): Received v3 server_hello handshake message. ssl_debug(3): Server selected SSL version 3.1. ssl_debug(3): Server created new session 87:25:A2:3E:E0:B6:EE:C8... ssl_debug(3): CipherSuite selected by server: SSL_RSA_WITH_DES_CBC_SHA ssl_debug(3): CompressionMethod selected by server: NULL ssl_debug(3): Received certificate handshake message with server certificate. ssl_debug(3): Server sent a 1024 bit RSA certificate, chain has 2 elements. ssl_debug(3): ChainVerifier: Found a trusted certificate, returning true ssl_debug(3): Received certificate_request handshake message. ssl_debug(3): Accepted certificate types: RSA, DSA ssl_debug(3): Accepted certificate authorities: ssl_debug(3): CN=AgletsSec,OU=DAS,O=UFSC,C=BR ssl_debug(3): Received server_hello_done handshake message. ssl_debug(3): Sending certificate handshake message with RSA client certificate... ssl_debug(3): Sending client_key_exchange handshake message (1024 bit)... ssl_debug(3): Sending certificate_verify handshake message... ssl_debug(3): Sending change_cipher_spec message... ssl_debug(3): Sending finished message... ssl_debug(3): Received change_cipher_spec message. ssl_debug(3): Received finished message. ssl_debug(3): Session added to session cache. ssl_debug(3): Handshake completed, statistics: ssl_debug(3): Read 1202 bytes in 3 records, wrote 1388 bytes in 5 records. 9

Universidade Federal de Santa Catarina Departamento de Automação e Sistemas Grupo de Estudos de Agentes Móveis e Segurança RELATÓRIO TÉCNICO

Universidade Federal de Santa Catarina Departamento de Automação e Sistemas Grupo de Estudos de Agentes Móveis e Segurança RELATÓRIO TÉCNICO Universidade Federal de Santa Catarina Departamento de Automação e Sistemas Grupo de Estudos de Agentes Móveis e Segurança RELATÓRIO TÉCNICO Testes de Desempenho do protocolo SSL over RMI no Aglets-2.0.2

Leia mais

Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 05/Jan/2010 Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-2.2.

Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 05/Jan/2010 Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-2.2. Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 05/Jan/2010 Segurança em Sistemas e Redes

Leia mais

Criptografia e Segurança das Comunicações. TLS Transport Layer Security

Criptografia e Segurança das Comunicações. TLS Transport Layer Security Criptografia e Segurança das Comunicações TLS Transport Layer Security TLS : 1/21 Introdução (1) SSL- Secure Socket Layer, desenvolvido em 1995 pela Netscape para garantir segurança na transmissão de documentos

Leia mais

Segurança da Informação. Prof. Gleison Batista de Sousa

Segurança da Informação. Prof. Gleison Batista de Sousa Segurança da Informação Prof. Gleison Batista de Sousa Ao longo do tempo e com a evolução tecnologia surgiram uma quantidade enorme de problemas desafiadores relacionados a segurança da informação. Quais

Leia mais

Segurança da Informação

Segurança da Informação INF-108 Segurança da Informação ICP e Certificados Digitais Prof. João Henrique Kleinschmidt Santo André, junho de 2013 Criptografia de chave pública Oferece criptografia e também uma maneira de identificar

Leia mais

PROTOCOLO SSL UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS

PROTOCOLO SSL UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria no 577/2000 MEC, de 03/05/2000 CST EM REDES DE COMPUTADORES PROTOCOLO SSL Uberlândia 2006 LISTA

Leia mais

Segurança de Sessão. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1 SSL/TLS

Segurança de Sessão. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1 SSL/TLS Segurança de Sessão Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1 SSL/TLS 1 SSL/TLS Introdução Netscape desenvolveu SSL (Secure Socket Layer) Versões 2 e 3 IETF TLS 1.0 (Transport

Leia mais

Segurança de Sessão. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1

Segurança de Sessão. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1 Segurança de Sessão Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1 SSL/TLS SSL/TLS Introdução Netscape desenvolveu SSL (Secure Socket Layer) Versões 2 e 3 IETF TLS 1.0 (Transport Layer

Leia mais

Segurança em Redes SSL (Secure Sockets Layer)

Segurança em Redes SSL (Secure Sockets Layer) Segurança em Redes SSL (Secure Sockets Layer) Redes de Comunicação de Dados Departamento de Engenharia da Electrónica e das Telecomunicações e de Computadores Instituto Superior de Engenharia de Lisboa

Leia mais

Protocolos Básicos e Aplicações. Segurança e SSL

Protocolos Básicos e Aplicações. Segurança e SSL Segurança e SSL O que é segurança na rede? Confidencialidade: apenas remetente e destinatário pretendido devem entender conteúdo da mensagem remetente criptografa mensagem destinatário decripta mensagem

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

Autorização. Controlo de direitos de acesso

Autorização. Controlo de direitos de acesso Autorização 2/28/2007 Sistemas Distribuídos Controlo de direitos de acesso Modelo conceptual Os objectos são protegidos por um monitor de controlo de referências Cada agente, antes de poder efectuar um

Leia mais

Camada de Transporte. Bruno Silvério Costa

Camada de Transporte. Bruno Silvério Costa Camada de Transporte Bruno Silvério Costa Serviços Oferecidos à camada superior Camadas de rede, transporte e aplicação. Primitivas do Serviço de Transporte As primitivas para um serviço de transporte

Leia mais

Threads e Sockets em Java. Threads em Java. Programas e Processos

Threads e Sockets em Java. Threads em Java. Programas e Processos Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

Monografia sobre SSL para o Curso de Extensão Segurança em Redes de Computadores

Monografia sobre SSL para o Curso de Extensão Segurança em Redes de Computadores UnB - UNIVERSIDADE DE BRASÍLIA INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Monografia sobre SSL para o Curso de Extensão Segurança em Redes de Computadores (5 a Turma) por Luiz Aristides

Leia mais

Universidade Estadual de Campinas Instituto de Computação

Universidade Estadual de Campinas Instituto de Computação Universidade Estadual de Campinas Instituto de Computação Mestrado Profissional em Computação 2º. Semestre / 2003 O Protocolo 6ecure 6ockets /ayer (66/) Segurança da Informação MP 202 Prof. Ricardo Dahab

Leia mais

Criptografia. Módulo III Aplicações Correntes da Criptografia. M. B. Barbosa mbb@di.uminho.pt. Departamento de Informática Universidade do Minho

Criptografia. Módulo III Aplicações Correntes da Criptografia. M. B. Barbosa mbb@di.uminho.pt. Departamento de Informática Universidade do Minho Criptografia Módulo III Aplicações Correntes da Criptografia M. B. Barbosa mbb@di.uminho.pt Departamento de Informática Universidade do Minho 2005/2006 Online Certificate Status Protocol (OCSP) Pedidos

Leia mais

FTP FILE F TRANSFER PROTOCOL. Tópicos

FTP FILE F TRANSFER PROTOCOL. Tópicos FTP FILE F TRANSFER PROTOCOL Tópicos Revisão da aplicação FTP Implementação simples em Java de uma conexão FTP Implementação simples em Java de um comando de transferência de arquivo Descrição dos exercícios

Leia mais

Rede Segura Usando Serviços de Segurança Distribuída Windows 2000

Rede Segura Usando Serviços de Segurança Distribuída Windows 2000 Sistema Operacional Rede Segura Usando Serviços de Segurança Distribuída Windows 2000 Documento Técnico Resumo Grandes empresas precisam de flexibilidade para delegar administração de contas e gerenciar

Leia mais

Sistemas Distribuídos Introdução a Segurança em Sistemas Distribuídos

Sistemas Distribuídos Introdução a Segurança em Sistemas Distribuídos Sistemas Distribuídos Introdução a Segurança em Sistemas Distribuídos Departamento de Informática, UFMA Graduação em Ciência da Computação Francisco José da Silva e Silva 1 Introdução Segurança em sistemas

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets

Leia mais

UNIP UNIVERSIDADE PAULISTA

UNIP UNIVERSIDADE PAULISTA UNIP UNIVERSIDADE PAULISTA GERENCIAMENTO DE REDES Segurança Lógica e Física de Redes 2 Semestre de 2012 SEGURANÇA LÓGICA: Criptografia Firewall Protocolos Seguros IPSec SSL SEGURANÇA LÓGICA: Criptografia

Leia mais

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1 TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1 FABIO HAIDER 2008 C O N T E Ú D O : 1 HTTP Client...3 1.1 Arquitetura...3 1.2 Usando HTTP Client...3 1.2.1 Usuário...3 1.2.2 Implementação HTTP

Leia mais

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus Java ME e suas principais tecnologias de conectividade Gracieli Begia Mateus Telefones Celulares no Mundo Fonte: UIT e Wireless Intelligence (Ovum/GSM Association) Posição do Brasil no Mundo Principais

Leia mais

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

fonte: http://www.nit10.com.br/dicas_tutoriais_ver.php?id=68&pg=0

fonte: http://www.nit10.com.br/dicas_tutoriais_ver.php?id=68&pg=0 Entenda o que é um certificado digital SSL (OPENSSL) fonte: http://www.nit10.com.br/dicas_tutoriais_ver.php?id=68&pg=0 1. O que é "Certificado Digital"? É um documento criptografado que contém informações

Leia mais

1.264 Aula 17. Segurança na Internet: Criptografia (chave pública) SSL/TLS Assinaturas cegas (SET)

1.264 Aula 17. Segurança na Internet: Criptografia (chave pública) SSL/TLS Assinaturas cegas (SET) 1.264 Aula 17 Segurança na Internet: Criptografia (chave pública) SSL/TLS Assinaturas cegas (SET) Premissas para a segurança na Internet Navegador-rede-servidor são os 3 principais componentes Premissas

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

Conexão Socket na MIDP

Conexão Socket na MIDP Conexão Socket na MIDP A comunicação entre diferentes sistemas é comum na programação, e esta regra não desaparece na construção de aplicativos para pequenos dispositivos e, consequentemente, com o Java

Leia mais

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA Disciplina: Redes de Computadores Ano: 2007 Professor: Luiz Antonio Trabalho 1º Bimestre Cliente/Servidor

Leia mais

Luiz Fernando Rust. INMETRO Tel. (021) 2679-9072. e-mail: rust@nce.ufrj.br lfrust@inmetro.gov.br. Segurança na Internet IPSEC SSL SET

Luiz Fernando Rust. INMETRO Tel. (021) 2679-9072. e-mail: rust@nce.ufrj.br lfrust@inmetro.gov.br. Segurança na Internet IPSEC SSL SET Segurança em Redes Aula 9 Luiz Fernando Rust e-mail: INMETRO Tel. (021) 2679-9072 rust@nce.ufrj.br lfrust@inmetro.gov.br 111 Segurança na Internet IPSEC SSL SET 2 1 IPSec IPSec não é um único protocolo

Leia mais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota

Leia mais

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP SSL - Secure Socket Layer Protocolos criptográfico que provê comunicação segura na Internet para serviços como: Telnet, FTP, SMTP, HTTP etc. Provê a privacidade

Leia mais

Olho por olho, e o mundo acabará cego. Mohandas Gandhi

Olho por olho, e o mundo acabará cego. Mohandas Gandhi Sockets Olho por olho, e o mundo acabará cego. Mohandas Gandhi Conectando-se a máquinas remotas. Protocolo Da necessidade de dois computadores se comunicarem surgiram diversos protocolos que permitissem

Leia mais

Passagem de Mensagens

Passagem de Mensagens Passagem de Mensagens Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 22 de novembro de 2011 Francisco Silva (UFMA/LSD)

Leia mais

Linguagem de Programação III Aula 2 Revisão Parte II

Linguagem de Programação III Aula 2 Revisão Parte II Linguagem de Programação III Aula 2 Revisão Parte II Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Revisão de PHP

Leia mais

Criptografia de chaves públicas

Criptografia de chaves públicas Marcelo Augusto Rauh Schmitt Maio de 2001 RNP/REF/0236 Criptografia 2001 RNP de chaves públicas Criptografia Introdução Conceito É a transformação de um texto original em um texto ininteligível (texto

Leia mais

Aula Prática - Criptografia. MD5 hash de 128 bits = 16 bytes muito utilizado por softwares com protocolo P2P, verificação de integridade e logins.

Aula Prática - Criptografia. MD5 hash de 128 bits = 16 bytes muito utilizado por softwares com protocolo P2P, verificação de integridade e logins. Redes de Computadores Unioeste Prof. Luiz Antonio 1. Algoritmos MD5 e SHA-1 Aula Prática - Criptografia MD5 hash de 128 bits = 16 bytes muito utilizado por softwares com protocolo P2P, verificação de integridade

Leia mais

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU Auditoria e Segurança da Informação GSI536 Prof. Rodrigo Sanches Miani FACOM/UFU Revisão Criptografia de chave simétrica; Criptografia de chave pública; Modelo híbrido de criptografia. Criptografia Definições

Leia mais

Autenticação: mais uma tentativa. Autenticação: mais uma tentativa. ap5.0: falha de segurança. Autenticação: ap5.0. Assinaturas Digitais (mais)

Autenticação: mais uma tentativa. Autenticação: mais uma tentativa. ap5.0: falha de segurança. Autenticação: ap5.0. Assinaturas Digitais (mais) Autenticação: mais uma tentativa Protocolo ap3.1: Alice diz Eu sou Alice e envia sua senha secreta criptografada para prová-lo. Eu I am sou Alice encrypt(password) criptografia (senha) Cenário de Falha?

Leia mais

Manual de Transferência de Arquivos

Manual de Transferência de Arquivos O Manual de Transferência de Arquivos apresenta a ferramenta WebEDI que será utilizada entre FGC/IMS e as Instituições Financeiras para troca de arquivos. Manual de Transferência de Arquivos WebEDI Versão

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local

Leia mais

SSL. Rafael Sarres. Rede de Computadores com ênfase em Segurança

SSL. Rafael Sarres. Rede de Computadores com ênfase em Segurança SSL Rafael Sarres Rede de Computadores com ênfase em Segurança SSL Secure Sockets Layer Protocolo genérico para segurança em trocas eletrônicas Independente de SO ou plataforma Amplamente usado em e-commerce

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Walter Cunha Tecnologia da Informação Segurança

Walter Cunha Tecnologia da Informação Segurança Walter Cunha Tecnologia da Informação Segurança ESAF 2008 em Exercícios 37 (APO MPOG 2008) - A segurança da informação tem como objetivo a preservação da a) confidencialidade, interatividade e acessibilidade

Leia mais

Software de Telecomunicações. Segurança na pilha de protocolos

Software de Telecomunicações. Segurança na pilha de protocolos Segurança nas camadas Internet Segurança Internet : 1/42 Segurança na pilha de protocolos Segurança pode ser aplicada a vários níveis na pilha de protocolos Rede IPSec Transporte SSL-Sockets Secure Layer/

Leia mais

Introdução às Redes Privadas Virtuais - VPN. Conceituação, Protocolos,...

Introdução às Redes Privadas Virtuais - VPN. Conceituação, Protocolos,... Introdução às Redes Privadas Virtuais - VPN Conceituação, Protocolos,... VPN - Virtual Private Network O conceito de VPN surgiu a partir da necessidade de se utilizar redes de comunicação não confiáveis

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

Capítulo 8 Segurança na Rede Prof. Othon Marcelo Nunes Batista Mestre em Informática

Capítulo 8 Segurança na Rede Prof. Othon Marcelo Nunes Batista Mestre em Informática Capítulo 8 Segurança na Rede Prof. Othon Marcelo Nunes Batista Mestre em Informática slide 1 Capítulo 8: Esboço 8.1 O que é segurança na rede? 8.2 Princípios de criptografia 8.3 Integridade de mensagem

Leia mais

WatchKey. WatchKey USB PKI Token. Versão Windows. Manual de Instalação e Operação

WatchKey. WatchKey USB PKI Token. Versão Windows. Manual de Instalação e Operação WatchKey WatchKey USB PKI Token Manual de Instalação e Operação Versão Windows Copyright 2011 Watchdata Technologies. Todos os direitos reservados. É expressamente proibido copiar e distribuir o conteúdo

Leia mais

Introdução. Criptografia. Aspectos de segurança em TCP/IP Secure Socket Layer (SSL) Rd Redes de Computadores. Aula 28

Introdução. Criptografia. Aspectos de segurança em TCP/IP Secure Socket Layer (SSL) Rd Redes de Computadores. Aula 28 Introdução Inst tituto de Info ormátic ca - UF FRGS Rd Redes de Computadores td Aspectos de segurança em /IP Secure Socket Layer (SSL) Aula 28 Na Internet, ninguém sabe que você é um cachorro. Peter Steiner,

Leia mais

Programação de Sockets

Programação de Sockets Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets API de Sockets introduzida no BSD4.1 UNIX, 1981 sockets são explicitamente criados, usados

Leia mais

Java Cryptography Architecture (JCA)

Java Cryptography Architecture (JCA) UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA MSDPA Data Warehousing Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados Java Cryptography Architecture (JCA) Rui Manuel Coimbra Oliveira

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

O espaço de nomes DNS Registros de recursos de domínio Servidores de nome

O espaço de nomes DNS Registros de recursos de domínio Servidores de nome DNS Sistema de Nomes de Domínio O espaço de nomes DNS Registros de recursos de domínio Servidores de nome Camada de Aplicação DNS Telnet e SSH SNMP SMTP, POP e IMAP WWW FTP O espaço de nomes DNS Parte

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II Prof. Celio Trois portal.redes.ufsm.br/~trois/redes2 Criptografia, Certificados Digitais SSL Criptografia Baseada em Chaves CRIPTOGRAFA Texto Aberto (PlainText) Texto Fechado (Ciphertext)

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/3 Como construir um compilador utilizando ferramentas Java Aula 5 Análise Léxica com JavaCC Prof. Márcio Delamaro delamaro@icmc.usp.br Como

Leia mais

Introdução. Iremos procurar ver aqui alguns mecanismos de proteção mais utilizados como: criptografia e SSL. 1.0 Criptografia

Introdução. Iremos procurar ver aqui alguns mecanismos de proteção mais utilizados como: criptografia e SSL. 1.0 Criptografia Introdução Atualmente no mundo internacional das redes e com o comércio eletrônico, todo sistema de computador se tornou um alvo em potencial para intrusos. O problema é que não há como saber os motivos

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Invocação de Objetos

Leia mais

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua. 7 Animação Animações é um dos quesitos muito importantes em jogos, você não acha? Para isso o JPlay tem uma classe específica para lidar com animações. Essa classe se chama Animation. Bem sugestivo o nome

Leia mais

Sistemas Distribuídos Java Sockets

Sistemas Distribuídos Java Sockets Sistemas Distribuídos Java Sockets Departamento de Informática, UFMA Graduação em Ciência da Computação Francisco José da Silva e Silva 1 Introdução a Java Sockets Socket é o ponto final de um enlace de

Leia mais

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Sistemas Distribuídos PPGCC PUCRS Abril/2007 Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues Guilherme Montez Guindani Leonardo Albernaz Amaral Fábio Delamare Cronograma

Leia mais

Serviços Remotos Xerox Um passo na direção certa

Serviços Remotos Xerox Um passo na direção certa Serviços Remotos Xerox Um passo na direção certa Diagnóstico de problemas Avaliação dos dados da máquina Pesquisa de defeitos Segurança garantida do cliente 701P41699 Visão geral dos Serviços Remotos Sobre

Leia mais

Os exercícios desta prática devem ser executados no servidor espec.

Os exercícios desta prática devem ser executados no servidor espec. Criptografia com Open SSL OpenSSL é um toolkit que implementa o Secure Sockets Layer (SSL v2/v3) e o Transport Layer Security (TLS v1). Além de fornecer uma biblioteca em C para suportar o desenvolvimento

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

Plataforma para Agentes

Plataforma para Agentes Plataforma para es JATLite - Java Template, Lite O que é o JATLite? http://java.stanford.edu/ http://www.fe.up.pt/~eol/aiad/jatlite/doc/index.html Pacote de programas em Java permitindo: rápida criação

Leia mais

Redes de Computadores - 2010/1

Redes de Computadores - 2010/1 Redes de Computadores - 2010/1 Miniprojeto Universidade Federal do Espírito Santo - UFES Professor: Magnos Martinello 20 de maio de 2010 1 1 Proposta A proposta do trabalho é reforçar o compreendimento

Leia mais

Tipos de Servidores. Servidores com estado

Tipos de Servidores. Servidores com estado Tipos de Servidores Com Estado X Sem Estado Sequenciais X Concorrentes Com Conexão X Sem Conexão Servidores com estado Servidores com estado armazenam informação sobre cada cliente. Operações podem ser

Leia mais

Utilizamos uma rede Oracle para estabelecer conexões entre a aplicação e o servidor Oracle em um ambiente de rede, considerando os seguintes fatores:

Utilizamos uma rede Oracle para estabelecer conexões entre a aplicação e o servidor Oracle em um ambiente de rede, considerando os seguintes fatores: CONFIGURANDO REDE Conexões na Rede Oracle Utilizamos uma rede Oracle para estabelecer conexões entre a aplicação e o servidor Oracle em um ambiente de rede, considerando os seguintes fatores: A configuração

Leia mais

Conceitos de Segurança em Sistemas Distribuídos

Conceitos de Segurança em Sistemas Distribuídos Conceitos de Segurança em Sistemas Distribuídos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br 30 de novembro de 2011

Leia mais

Sockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet.

Sockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet. Sockets Programando para redes em Java Introdução n O URLs e URLConnections fornecem um mecanismo de alto nível para acessar recursos na Internet. n Em aplicações de servidor de cliente, o servidor fornece

Leia mais

Segurança na Internet partes 3 & 4. Criptografia com Chave Pública. Distribuição da Chave Secreta

Segurança na Internet partes 3 & 4. Criptografia com Chave Pública. Distribuição da Chave Secreta Segurança na Internet partes 3 & 4 Prof. Elias P. Duarte Jr., Ph.D. DInfo UFPR Itaipu 11/07/2003 Criptografia com Chave Pública Distribuição da Chave Secreta O maior problema é a chave DEIXAR de ser secreta

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral

Leia mais

Manual de Instalação do Agente Citsmart

Manual de Instalação do Agente Citsmart 16/08/2013 Manual de Instalação do Agente Citsmart Fornece orientações necessárias para efetuar a instalação do Agente Citsmart. Versão 1.9 21/11/2014 Visão Resumida Data Criação 21/11/2014 Versão Documento

Leia mais

Segurança. Sistemas Distribuídos. ic-sod@mega.ist.utl.pt 09/05/2005 1

Segurança. Sistemas Distribuídos. ic-sod@mega.ist.utl.pt 09/05/2005 1 Segurança Sistemas Distribuídos ic-sod@mega.ist.utl.pt 1 Tópicos abordados I - Mecanismos criptográficos Cifra simétrica, cifra assimétrica, resumo (digest) Assinatura digital Geração de números aleatórios

Leia mais

Criptografia e Segurança de Sistemas Informáticos

Criptografia e Segurança de Sistemas Informáticos Criptografia e Segurança de Sistemas Informáticos Gestão da Segurança da Informação Aplicações Correntes da Criptografia M. B. Barbosa mbb@di.uminho.pt Departamento de Informática Universidade do Minho

Leia mais

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande

Leia mais

Programação de sockets com TCP

Programação de sockets com TCP Programação de sockets Objetivo: aprender a construir aplicações cliente-servidor que se comunicam usando sockets SOCKET = API (Application Program Interface) Introduzida no BSD4.1 UNIX, 1981 * Explicitamente

Leia mais

2Arquitetura cliente-servidor

2Arquitetura cliente-servidor Redes de computadores e a Internet Capítulo Camada de aplicação Nossos objetivos: Conceitual, aspectos de implementação de protocolos de aplicação de redes Paradigma cliente-servidor Paradigma peer-to-peer

Leia mais

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2 Victor Amorim - vhca Pedro Melo pam2 Arquitetura de BDs Distribuídos Sistemas de bds distribuídos permitem que aplicações acessem dados de bds locais ou remotos. Podem ser Homogêneos ou Heterogêneos: Homogêneos

Leia mais

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes

Leia mais

Segurança na Web. Programação para a Internet. Prof. Vilson Heck Junior

Segurança na Web. Programação para a Internet. Prof. Vilson Heck Junior Segurança na Web Programação para a Internet Prof. Vilson Heck Junior Males São inúmeros os males existentes no universo online: Vírus; Trojan; Spyware; Adware; Invasão; Keyloggers; Phishing; Golpes; Spam;

Leia mais

GUIA RÁPIDO PARA CERTIFICADOS SSL/TLS FAÇA A MELHOR ESCOLHA AO AVALIAR SUAS OPÇÕES DE SEGURANÇA DE SITES

GUIA RÁPIDO PARA CERTIFICADOS SSL/TLS FAÇA A MELHOR ESCOLHA AO AVALIAR SUAS OPÇÕES DE SEGURANÇA DE SITES GUIA RÁPIDO PARA CERTIFICADOS SSL/TLS FAÇA A MELHOR ESCOLHA AO AVALIAR SUAS OPÇÕES DE SEGURANÇA DE SITES Introdução Seja você um indivíduo ou uma empresa, sua abordagem de segurança online deve ser idêntica

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

Universidade Federal de Pernambuco Centr o de Infor mática. Utilizando classes das bibliotecas Java na aplicação de conceitos de segurança

Universidade Federal de Pernambuco Centr o de Infor mática. Utilizando classes das bibliotecas Java na aplicação de conceitos de segurança Universidade Federal de Pernambuco Centr o de Infor mática Ciências da Computação Criptografia Utilizando classes das bibliotecas Java na aplicação de conceitos de segurança Equipe: Jorge Ferraz (jfof)

Leia mais

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado 5 Avaliação Decidimos avaliar a arquitetura de componentes para o OiL proposta neste trabalho em duas dimensões diferentes. Na primeira, demonstramos a capacidade de configuração do middleware com alguns

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Aula 5 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Estrutura básica Uma aplicação

Leia mais

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 3 Prof. ISVega Fevereiro de 2004 Estilo de Codificação CONTEÚDO 3.1 Regras

Leia mais

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Java 2 Enterprise Edition. Helder da Rocha www.argonavis.com.br

Java 2 Enterprise Edition. Helder da Rocha www.argonavis.com.br Java 2 Enterprise Edition Helder da Rocha www.argonavis.com.br 1 O que é JavaMail? API genérica para construir aplicações que manipulam correio eletrônico (não necessariamente Internet e-mail) e messaging

Leia mais