A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Protocolos Seguros Camada de Aplicação

Apresentações semelhantes


Apresentação em tema: "Protocolos Seguros Camada de Aplicação"— Transcrição da apresentação:

1 Protocolos Seguros Camada de Aplicação
Erika Carlos Medeiros

2 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;

3 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;

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

5 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)

6 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;

7 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 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.

8 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.

9

10 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

11 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;

12 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

13 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.

14 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

15 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

16 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

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

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

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

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

21 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)

22 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.

23 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).

24 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

25 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 MD Assinatura digital: RSA e DSA. 

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

27 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.

28 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).

29 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.

30 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;

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

32 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;

33 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);

34 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.

35 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.

36 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.

37 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.

38 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.

39 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.

40 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.


Carregar ppt "Protocolos Seguros Camada de Aplicação"

Apresentações semelhantes


Anúncios Google