redes de computadores i ssl (secure socket layer) tls (transport layer security) gustavo lacerda...
TRANSCRIPT
![Page 1: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/1.jpg)
Redes de Computadores I
SSL (Secure Socket Layer)
TLS (Transport Layer Security)Gustavo Lacerda Coutinho
Renan Galvão Machado e Silva
![Page 2: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/2.jpg)
Introdução
Provê segurança em comunicações na Internet– Integridade– Autenticidade– Confidencialidade
![Page 3: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/3.jpg)
Motivação
Para que segurança?– Dados muito importantes trafegando na rede– Surgimento do E-Commerce– Internet Banking– Arquitetura TCP/IP não provê conexões seguras
![Page 4: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/4.jpg)
Soluções
SSL v3, solução proprietária da Netscape TLS v1.1, padrão aberto desenvolvido pela IETF
(RFC 4346) Diferenças entre TLS e SSL:
– TLS é padronizado pelas RFC 2246 (v1.0) e RFC 4346 (v1.1)
– TLS usa o algoritmo keyed-Hashing for Message Authentication Code (HMAC) enquanto o SSL apenas Message Authentication Code (MAC). O algoritmo HMAC produz hashes mais seguros que o algoritmo MAC
![Page 5: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/5.jpg)
Diferenças entre TLS e SSL (cont.)
No TLS nem sempre é necessário recorrer à raiz de uma AC (Autoridade de Certificação) para usar uma certificação. Pode ser usada uma autoridade intermediária
Novas mensagens de alerta O algoritmo Fortezza de criptografia não é
suportado, pois não é aberto ao público. (Política da IETF)
Campos dos cabeçalhos
![Page 6: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/6.jpg)
Criptografia
Mensagens em forma cifrada ou em código
Criptografia simétrica
Criptografia assimétrica
![Page 7: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/7.jpg)
Criptografia Simétrica
Chave única Chave distribuída por uma canal inseguro Processamento baixo Tamanho da chave: 128 bits Ex: DES (Data Encryption Standard), 3DES
(Triple DES), IDEA (International Data Encryption Algorithm), RC2 e RC4 e AES (Advanced Encryption Standard)
![Page 8: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/8.jpg)
Criptografia Assimétrica
Chave pública– Divulgada pelo receptor– Usada pelo transmissor para encriptação
Chave privada– Pertencente somente ao receptor– Usada pelo receptor para decriptação
![Page 9: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/9.jpg)
Criptografia Assimétrica
Não há compartilhamento de um segredo
Alto processamento
Tamanho da chave: 1024 bits
Ex: RSA, Diffie-Helman e Fortezza
![Page 10: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/10.jpg)
Arquitetura TLS
![Page 11: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/11.jpg)
Protocolo de Registro
Encapsula mensagens de protocolos superiores Durante transmissão:
– Fragmentação
– Compressão (opcional)
– Aplicação do MAC
– Encriptação
![Page 12: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/12.jpg)
Protocolos de Handshaking
TLS possui três protocolos de negociação
1. Protocolo Handshake
2. Protocolo ChangeCipherSpec
3. Protocolo de Alerta
![Page 13: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/13.jpg)
Protocolo Handshake (1)
Responsável pela negociação dos parâmetros de segurança
1. ID da sessão
2. Método de Compressão
3. Cipher Spec - algoritmo de criptografia a ser utilizado
4. Chave Mestre (master key)
5. Is Resumable – flag que indica se a sessão é reiniciável
![Page 14: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/14.jpg)
Protocolo Handshake (2)
Negociando os parâmetrosCliente ServidorClientHello
ServerHelloCertificate*ServerKeyExchangeServerHelloDone
Certificate Message*ClientKeyExchangeChangeCipherSpecFinished
ChangeCipherSpecFinished
Fim da negociação
![Page 15: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/15.jpg)
Protocolo ChangeCipherSpec
Composto por uma única mensagem
Sinaliza mudanças na estratégia de criptografia
![Page 16: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/16.jpg)
Protocolo de Alerta
Informa problemas na comunicação
Níveis de alerta
Dois tipos de mensagens1. Alerta de Encerramento
2. Alerta de Erro
![Page 17: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/17.jpg)
Análise de Segurança
Três modos de autenticação:– Servidor e cliente autenticados– Somente servidor autenticado– Anonimato completo
Sujeito a ataques, em que o atacante se “posiciona” entre o cliente e o servidor
Suscetível a ataques de negação de serviço– Atacante inicia um grande número de conexões
Alto consumo de CPU do servidor, graças ao custo computacional de se utilizar criptografia.
![Page 18: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/18.jpg)
Perguntas
1. Por que a comunicação não se dá por chave simétrica desde o seu início?
2. Por que não se utiliza chave assimétrica durante toda a comunicação?
3. Para que serve o protocolo de handshake (negociação) ?
4. Quais serviços de segurança que o TLS provê?
5. Qual a condição necessária para deixar o canal protegido para ataques em que o atacante se “posiciona” entre o cliente e o servidor?
![Page 19: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/19.jpg)
Pergunta (1)
1. Por que a comunicação não se dá por chave simétrica desde o seu início?
![Page 20: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/20.jpg)
Resposta (1)
1. Por que a comunicação não se dá por chave simétrica desde o seu início?
R: Porque não existe uma maneira segura
de passar a chave secreta pela rede.
![Page 21: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/21.jpg)
Pergunta (2)
2. Por que não se utiliza chave assimétrica durante toda a comunicação?
![Page 22: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/22.jpg)
Resposta (2)
2. Por que não se utiliza chave assimétrica durante toda a comunicação?
R: Pois este tipo de criptografia é muito custoso em termos computacionais, devido à quantidade de operações que são realizadas.
![Page 23: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/23.jpg)
Pergunta (3)
3. Para que serve o protocolo de handshake (negociação) ?
![Page 24: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/24.jpg)
Resposta (3)
3. Para que serve o protocolo de handshake (negociação) ?
R: Serve para estabelecer os parâmetros de segurança que serão usados na comunicação, tais como, suíte de criptografia, método de compressão e chaves secretas.
![Page 25: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/25.jpg)
Pergunta (4)
4. Quais serviços de segurança que o TLS provê?
![Page 26: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/26.jpg)
Resposta (4)
4. Quais serviços de segurança que o TLS provê?
R: Confidencialidade, integridade e autenticidade.
![Page 27: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/27.jpg)
Pergunta (5)
5. Qual a condição necessária para deixar o canal protegido para ataques em que o atacante se “posiciona” entre o cliente e o servidor?
![Page 28: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/28.jpg)
Resposta (5)
5. Qual a condição necessária para deixar o canal protegido para ataques em que o atacante se “posiciona” entre o cliente e o servidor?
R: Basta o servidor estar autenticado.
![Page 29: Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda Coutinho Renan Galvão Machado e Silva](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc130497959413d8d4b16/html5/thumbnails/29.jpg)
Referências Bibliográficas
[1] NETSCAPE. NETSCAPE. SSL 3.0 SPECIFICATION. http://wp.netscape.com/eng/ssl3/ [2] Kant, K., Iyer, R., Mohapatra, P. Architectural Impact of Secure Socket Layer on Internet Servers. Em Proc. Int. Conf. Computer Design, 2000. pág 7-9 [3] SHACHAM, D., E BONEH, D. Improving SSL Handshake Performance via
Batching. Em ed. D. Naccache, editor, Proceedings of RSA 2001, volume 2020 (Springer- Verlag, 2001), pág 1-2. [4] SUN. Introduction to SSL. http://docs.sun.com/source/816-6156-10/contents.htm#1041986 [5] TECHONLINE. SSL and TLS Essentials: Securing the Web. http://www.techonline.com/community/tec h_topic/ internet/feature_article/14364 [6] WIKIPEDIA. Transport Layer Security. http://en.wikipedia.org/wiki/Secure_Socket_Layer [7] TANENBAUM. TANENBAUM, A., Computer Networks. Prentice Hall, 1996. pág 864-
868 [8] RFC 4346 - The Transport Layer Security (TLS) Protocol Version 1.1 [9] C. ÍNTIA. B.Um Mecanismo Para Distribuição Segura de Vídeo MPEG. Dissertação
apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do título de Mestre em Engenharia.2000. pág. 23-55.