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.
2.
3.
4.
5.
ID da sessão
Método de Compressão
Cipher Spec - algoritmo de criptografia a ser utilizado
Chave Mestre (master key)
Is Resumable – flag que indica se a sessão é reiniciável
Protocolo Handshake (2)

Negociando os parâmetros
Cliente
Servidor
ClientHello
ServerHello
Certificate*
ServerKeyExchange
ServerHelloDone
Certificate Message*
ClientKeyExchange
ChangeCipherSpec
Finished
ChangeCipherSpec
Finished
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 mensagens
1.
2.
Alerta de Encerramento
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 (SpringerVerlag, 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.
Download

apresentacao_ssl