Upload
internet
View
110
Download
0
Embed Size (px)
Citation preview
Redes de Computadores I
SSL (Secure Socket Layer)
TLS (Transport Layer Security)Gustavo Lacerda Coutinho
Renan Galvão Machado e Silva
Introdução
Provê segurança em comunicações na Internet– Integridade– Autenticidade– Confidencialidade
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
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
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
Criptografia
Mensagens em forma cifrada ou em código
Criptografia simétrica
Criptografia assimétrica
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)
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
Criptografia Assimétrica
Não há compartilhamento de um segredo
Alto processamento
Tamanho da chave: 1024 bits
Ex: RSA, Diffie-Helman e Fortezza
Arquitetura TLS
Protocolo de Registro
Encapsula mensagens de protocolos superiores Durante transmissão:
– Fragmentação
– Compressão (opcional)
– Aplicação do MAC
– Encriptação
Protocolos de Handshaking
TLS possui três protocolos de negociação
1. Protocolo Handshake
2. Protocolo ChangeCipherSpec
3. Protocolo de Alerta
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
Protocolo Handshake (2)
Negociando os parâmetrosCliente ServidorClientHello
ServerHelloCertificate*ServerKeyExchangeServerHelloDone
Certificate Message*ClientKeyExchangeChangeCipherSpecFinished
ChangeCipherSpecFinished
Fim da negociação
Protocolo ChangeCipherSpec
Composto por uma única mensagem
Sinaliza mudanças na estratégia de criptografia
Protocolo de Alerta
Informa problemas na comunicação
Níveis de alerta
Dois tipos de mensagens1. Alerta de Encerramento
2. Alerta de Erro
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.
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?
Pergunta (1)
1. Por que a comunicação não se dá por chave simétrica desde o seu início?
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.
Pergunta (2)
2. Por que não se utiliza chave assimétrica durante toda a comunicação?
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.
Pergunta (3)
3. Para que serve o protocolo de handshake (negociação) ?
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.
Pergunta (4)
4. Quais serviços de segurança que o TLS provê?
Resposta (4)
4. Quais serviços de segurança que o TLS provê?
R: Confidencialidade, integridade e autenticidade.
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?
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.
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.