Redes de Computadores I SSL (Secure Socket Layer) TLS (Transport Layer Security) Gustavo Lacerda...

Preview:

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.

Recommended