Protocolos Seguros Camada de Aplicação

Slides:



Advertisements
Apresentações semelhantes
Alex Coletta Rafael Curi
Advertisements

Redes de comunicação Aspectos de segurança de redes Aula 16
Redes II Comércio Eletrônico
Agentes Inteligentes e Sistemas Cooperativos
Bruno Rafael de Oliveira Rodrigues
Segurança em Redes - Código Seguro
Configuração de um servidor FTP
Interoperabilidade de hardware e software
Conceituação de Assinatura e Certificação Digital
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Segurança da Camada de Transporte
Protocolos de Segurança
Criptografia e segurança de redes Chapter 14
Criptografia e segurança de redes Capítulo 17
SSL (Secure Sockets Layer) SET (Secure Eletronic Transactions)
Segurança de Sistemas e Redes
Criptografia II.
TCP/IP básico e outros protocolos
Introdução às Redes Privadas Virtuais - VPN
Protocolos Criptográficos
Sistemas Distribuídos
Modelo de Segurança para Ambientes Cooperativos
SSL/TLS Universidade Federal do Rio de Janeiro Escola Politécnica
Segurança na Web SSL - Secure Socket Level TLS - Transport Layer Security SET – Secure Electronic Transaction.
Autenticação de Mensagens
Aula 9 - Camada de aplicação
Redes de Computadores I
KERBEROS Trabalho de Redes de Computadores I Autores:
Public Key Infrastructure PKI
Segurança de Aplicações na Web
TRABALHO 6: Tecnologias e Ferramentas para Garantir a Segurança
Hash HTTPS SSL Certificados.
Secure Sockets Layer (SSL) e Transport Layer Security (TLS)
Funcionalidade e Protocolos da Camada de Aplicação
O Modelo OSI Guilherme Guimarães.
Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012.
Confidencialidade usando Criptografia Simétrica
LUCAS DE ANDRADE VINICIUS BERNARDINO DA SILVA
Segurança e Auditoria de Sistemas
SISTEMAS OPERACIONAIS I
Sistemas Seguros Criptografia Simétrica e Assimétrica
IIS Web Server.
Protocolos Básicos Autenticação. Protocolos Básicos Esquemas de autenticação São métodos através dos quais alguém pode provar sua identidade, sem revelar.
Exercícios IPsec e LDAP
Controle de Acesso Kerberos
PGP – Pretty Good Privacy Privacidade Bastante Boa
Tópicos Avançados em Redes de Computadores Prof. Fabiano Sabha.
Tópicos Avançados em Redes de Computadores
MODELO DE REFERÊNCIA TCP/IP
Segurança Online Entenda e aprenda a driblar os perigos de compartilhar informações pessoais online.
Autenticação de Mensagens
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
Arquitetura de redes ISSO/OSI Liane Tarouco UFRGS.
Execícios de Revisão Redes de Computadores Edgard Jamhour
3. Criptografia Assimétrica
SRC Prof. Luciano Brandão 5° Semestre ( UFA!!!)
Criptografia Assimétrica e Autenticação de Mensagens
Execícios de Revisão Redes de Computadores Edgard Jamhour
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Análise de estratégias para implantação de segurança em arquiteturas orientadas a serviços Dezembro/2010 Itabaiana/SE Universidade Federal de Sergipe –
Segurança de Redes de Computadores
SSL / TLS.
Segurança na Internet – SSL/TLS
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Protocolos de Comunicação e Passagem de Mensagens
Conceituação de Assinatura e Certificação Digital
FTPS E SFTP. FTPS e SFTP são dois protocolos distintos que trabalham em portas de comunicação diferentes e oferecem o compartilhamento remoto de arquivos.
Segurança em Comércio Eletrônico Comércio tradicional realizado de maneira centralizada cercado de restrições legais Comércio eletrônico realização de.
Segurança de Rede Prof. Sales Filho Pretty Good Privace - PGP.
Transcrição da apresentação:

Protocolos Seguros Camada de Aplicação Erika Carlos Medeiros

O que é Secure Sockets Layer? É uma tecnologia de segurança que é utilizada para codificar os dados transmitidos entre o computador do usuário e um Website; Foi desenvolvido pela Netscape Communications em sua versão inicial em julho de 1994; Em abril de 1995 foi lançada a referência para implementação da versão 2 (sendo distribuído junto os Browsers Netscape e Internet Explorer e os servidores web mais comuns - Apache, NCSA httpd, IIS, Netscape Server etc); Apoiado pela Verisign e Sun, transformou-se em um padrão em e- commerce, tendo a sua especificação submetida ao grupo de trabalho W3C (especificação disponível em um “draft” do IETF) com o nome de TLS - Transaction Layer Security – rfc2246;

O que é Secure Sockets Layer? É utilizado para proteger ligações do tipo TELNET, FTP e HTTP e o seu funcionamento baseia-se em sessões estabelecidas entre um cliente e um servidor; O protocolo SSL provê a privacidade, autenticidade e a integridade de dados entre duas aplicações que estejam se comunicando pela Internet; Isto ocorre através da autenticação das partes envolvidas e da criptografia dos dados transmitidos entre as partes; Esse protocolo ajuda a prevenir que intermediários entre as duas pontas da comunicação tenham acesso indevido ou falsifiquem os dados sendo transmitidos; O SSL age como uma camada suplementar, permitindo assegurar a segurança dos dados, situada entre a camada aplicação e a camada transporte;

Arquitetura do SSL Basicamente o SSL é constituído por dois sub-protocolos: 1. SSL Handshake protocol; 2. SSL Record protocol.

Arquitetura SSL Autenticação (critptografia assimétrica) e negociação de chave de seção para o SSLRecord Conexão sigilosa (cifagem simétrica) e conexão confiável (integridade)

SSL Handshake Protocol Parte mais complexa do protocolo SSL Permite que servidor e cliente se autentique (autenticação mútua) Negocia algortimos de cifragem e negocia chaves criptográficas de sessão (segredo compartilhado) Usado antes de qualquer dado da aplicação ser transmistido Apesar de o SSL Handshake Protocol incluir todos os mecanismos de segurança necessários para estabelecer uma ligação segura ao servidor, isto pode não ser suficiente;

Cenário SSL Handshake Protocol Consideremos o seguinte cenário: Um cliente pretende realizar um pagamento referente a uma compra efetuada através da Internet. Para isso, envia o número do seu cartão de crédito através de uma ligação https://. Neste caso, a ligação é segura mas o servidor não é necessariamente seguro; Caso o número de cartão de crédito do cliente for armazenado sem cuidados adicionais numa base de dados, esta informação pode ser acessada por terceiros; Assim, procedimentos de segurança complementares, devem ser utilizados.

SSL Handshake Protocol Faz a autenticação entre cliente e servidor, cuidando da inicialização da comunicação; Permite, pois, a negociação do algoritmo de encriptação e as chaves criptográficas iniciais; Utiliza as chaves assimétricas para fazer a negociação inicial, abrindo um canal seguro para o envio da chave simétrica de sessão, criada de forma aleatória; Opera sobre o Record Layer.

SSL Handshake – Passo 1 Hello Message Do Cliente para o Servidor Versão do SSL Identificação da sessão; Configuração de criptografia (Cipher Suite e Método de Compressão) SSL 1

Negociação da criptografia no Passo 1 O conjunto criptográfico negociado define três algoritmos: Um algoritmo para troca de chaves; Um algoritmo para cifragem de dados, e Um algoritmo para inserção de redundância nas mensagens;

SSL Handshake – Passo 2 e 3 Do Servidor para o Cliente Versão do SSL Configuração de criptografia Certificado do servidor (opcionalmente, requisita o certificado do cliente) SSL 2

SSL Handshake - Passo 4 Cliente extrai a chave publica do servidor; Usa as informações recebidas para autenticar o servidor Se a autenticação falhar, o usuário é alertado sobre o problema e a conexão é abortada.

SSL Handshake - Passo 5 Do Cliente para o Servidor Se o servidor for autenticado, o cliente: Cria um segredo (será usada para criar uma chave de sessão) Cifra o segredo com a chave pública do servidor. OPCIONAL - se o servidor requisitou autenticação do cliente: o cliente inclui o seu certificado SSL 5

SSL Handshake - Passo 6 O servidor usa sua chave privada para decifrar o segredo e segue uma série de procedimentos para gerar a chave de sessão

SSL Handshake – Passo 6 (Opcional) Do Servidor para o Cliente: OPCIONAL: se o certificado do cliente foi solicitado, o servidor autentica o cliente Se a autenticação falhar, a sessão é terminada. SSL 6

SSL Handshake - Passo 7 O servidor gera a chave de sessão. O cliente gera a chave de sessão;

SSL Handshake - Passo 8 Servidor e cliente informa um ao outro que completaram a chave de sessão. SSL 8

SSL Handshake - Passo 9 O handshake está completo: Cliente e servidor cifram suas mensagens usando a chave de sessão. SSL 9

Exercicios A cada passo descrito no handshake indetifique os pacotes no Wireshark;

Respostas 1- O cliente envia uma solicitação de conexão (Client Hello Message) 2- O servidor responde com uma aceitação (Server Hello Message) 3- Servidor envia seu Certificado (Certificate) 4- Servidor envia sua chave (Server Key Exchange Message) 5- Sercidor solicita o Certificado (Certificate) do Cliente 6- Cliente Observação¹: envia seu certificado (Certificate) ou um alerta avisando que não possue Certificado (No Certificate Alert)

Respostas 7- Cliente envia sua chave (Client Key Exchange Message) 8- Cliente manda Change Cipher Spec Message 9- Cliente envia uma mensagem dizendo que terminou o processo (Finished Message) 10- Servidor manda Change Cipher Spec Message 11- Servidor envia uma mensagem dizendo que terminou o processo (Finished Message) 12- O Handshake está completo. A conexão foi estabalecida.

SSL Record Protocol O SSL Record protocol é utilizado durante as sessões de transferência de dados entre o cliente e o servidor; Encapsula as camadas de nível mais alto (quando conjugado com o HTTP, implementa o HTTPS); Provê serviços de: Fragmentação (transforma blocos de dados em registros SSLPlaintext de, pelo menos, 224 bytes); Compressão (transforma os registros SSLPlaintext em registros SSLCompressed, utilizando os algoritmos negociados no handshake); Encriptação (as funções definidas no Handshake são definidas na mensagem SSLCipherSpec e são utilizadas para transformar o SSLCompressed em SSLCiphertext).

Camada SSL Record Transferir dados de forma segura entre cliente e servidor 1 16384 bytes 2 Provê dois serviços para conexões SSL: confidencialidade (chave secreta gerada no Handshake) integridade – MAC (chave secreta gerada no Handshake) 3 4 Crifragem Simétrica 5

Algoritmos suportados no SSL Atualmente, os algoritmos e as assinaturas digitais que são suportados pelo SSL são: - Algoritmos de cifra simétrica: DES, 3DES, AES, etc. - Algoritmos de cifra assimétrica: RSA. - Algoritmos de sumário: SHA1 e MD5. - Assinatura digital: RSA e DSA. 

Visão do usuário O SSL é transparente para o usuário; A quase totalidade dos navegadores suporta o protocolo SSL;

Funcionamento do SSL 2.0 ou TLS A segurança das transações por SSL 2.0 baseia-se numa troca de chaves entre cliente e servidor; A transação protegida por SSL faz-se de acordo com o modelo seguinte: Inicialmente, o cliente conecta-se ao site comercial protegido por SSL e pede-lhe que se autentique. O cliente envia a lista dos criptosistemas que suporta; Os criptosistemas são organizados por ordem decrescente de acordo com o comprimento das chaves.

Funcionamento do SSL 2.0 ou TLS O servidor, quando recebe o pedido, envia um certificado ao cliente, contendo a chave pública do servidor, assinado por uma autoridade de certificação (CA); O servidor também envia o nome do criptosistema o mais elevado possível na lista com o qual é compatível; O cliente verifica a validade do certificado (e, por conseguinte, a autenticidade do comerciante); Seguidamente cria uma chave secreta aleatória, criptografa esta chave com a ajuda da chave pública do servidor e envia-lhe o resultado (a chave de sessão).

Funcionamento do SSL 2.0 ou TLS O servidor está em condições de decifrar a chave de sessão com a sua chave privada; Assim, as duas entidades estão na posse de uma chave comum da qual são os únicos conhecedores; O resto das transações pode fazer-se com a ajuda da chave de sessão, garantindo a integridade e a confidencialidade dos dados trocados.

Como identificar um site seguro que utiliza um certificado digital válido? Verificar na barra de endereços do seu navegador se o site utiliza o protocolo https; Ao acessar o site não deve aparecer nenhuma mensagem de erro ou alerta referente ao certificado digital; Ao acessar um site seguro com Certificado Digital, o navegador de internet deve exibir um cadeado fechado na barra inferior direita da tela, deixar a barra de endereço em destaque ou exibir um cadeado fechado do lado direito da barra de endereço; Clicar 2 vezes no cadeado deve exibir as informações do Certificado Digital; Deve-se confirmar se o certificado exibido foi emitido para o mesmo endereço da página que se está acessando e também a validade do certificado;

Como identificar um site seguro que utiliza um certificado digital válido?

Falhas de Segurança O SSL2 tem várias falhas conhecidas de segurança; Foi lançada a versão 3 do SSL; Teve como melhorias: A diminuição no número de rodadas de negociação; A escolha das cifras e compressão por parte do servidor; Um suporte mais completo para a troca de chaves de algoritmos de cifragem; A possibiliadde de renegociação das cifras em uso; Separação das chaves de autenticação e encriptação. Embora as diferenças entre o TLSv1 e o SSL v3 não sejam grandes, são suficientes para que eles não possam interoperar diretamente. Caso seja necessário, o TLS v1 pode emular o SSL v3; Existem pouquíssimos sites que exigem que o navegador use o SSL2; A maioria usa SSL2 e SSL3, alguns apenas o 3;

Objetivos do SSL V3 Garantir segurança criptográfica para o estabelecimento de uma ligação segura entre duas máquinas/aplicativos, assegurando a privacidade na conexão, com a utilização de algoritmos simétricos (como o DES ou RC4) que negociam uma chave secreta na primeira fase do handshaking (usando chaves públicas – assimétricas); Autenticação do Servidor (e, opcionalmente do Cliente) por meio de algoritmos assimétricos como o RSA ou o DSS; Confiabilidade na conexão, conseguida com o uso de Códigos de Autenticação de Mensagens (MAC);

Objetivos do SSL V3 Como uma vantagem adicional, a questão do desempenho foi levada em consideração no projeto; Visa reduzir o número de conexões e minimizar o tráfego na rede; Pode ser usado opcionalmente um esquema de cache em memória durante o estabelecimento da sessão, com a finalidade de reduzir o número de conexões e reduzir a atividade no acesso à rede.

Vantagens da utilização do SSL Um dos protocolos mais convenientes e utilizados para implementação de transações seguras; A implementação é relativamente simples, colocando-se o SSL no topo da pilha TCP/IP e substituindo as chamadas TCP pelas chamadas SSL; Trabalha independente das aplicações utilizadas e, após o handshake inicial, comporta-se como um canal seguro que permite que se execute todas as funções que normalmente estão disponíveis no TCP/IP.

Vantagens da utilização do SSL Existem várias implementações gratuitas e comerciais, disponíveis para UNIX, Linux, Windows e outros; A maioria dos servidores e clientes (browsers) WEB já têm suporte nativo para ele, fazendo do SSL um padrão de fato; O IETF (Internet Engineering Task Force) padronizou formalmente, e o protocolo passou ser o TLS; Disponibiliza todas as primitivas necessárias para conexões seguras, a saber: Autenticação, troca de chaves de sessão com o uso de criptografia assimétrica prévia, encriptação com métodos simétricos, MAC e certificação.

Desvantagens do uso do SSL Por ser implementado no topo do TCP/IP, o programador deve conhecer bem as características do sistema operacional e as especificações do TCP para manipular as chamadas do sistema.

Análise de Segurança Dependendo dos protocolos de segurança e algoritmos escolhidos durante o handshake, o SSL pode ser alvo de tentativas de: “Quebradores” (cracking) de cifras, ataque de texto vazio, tentativa de Replay e espelhamento. Como o TLS v1 (ou SSL v3) possuem várias melhorias em relação ao SSL v2, os atacantes podem também tentar forçar uma conexão para “baixar” para o SSL v2; Este ataque acontece se (e só se) ambos os lados estejam aptos a fazer o handshake na versão 2.

Análise de Segurança O TLS aceita conexões em três modos: Servidor e Cliente autenticados; Só o Servidor autenticado; Nenhum dos dois autenticados. Quando apenas o Servidor é autenticado, o ataque por espelhamento é evitado, embora cliente completamente anônimos possam ser potencialmente perigosos. Quanto ao uso de funções de Hash, é recomendável o uso conjunto do MD5 e do SHA, para evitar que falhas em um dos dois algoritmos venha a comprometer todo o protocolo.

Exercício Faça um teste: entre em Tools, Options, Advanced e Security (ou os equivalentes em português); Desmarque a caixa “Use SSL 2.0″. Se o site (banco, loja virtual, webmail, etc.) der uma mensagem de erro ou o navegador travar, é porque ele só funciona com SSL2, que é um protocolo inseguro. O dono do site precisa ser avisado.