Prof. Eduardo Parente Ribeiro
Aluna: Luciana Helena de Araújo.
Seminário
TLS - Tranport Layer Security - Segurança da Camada de Transporte
1) Introdução:
A meta primária do protocolo de TLS é fornecer privacidade e integridade na comunicação de dados.
Ele é composto por: Protocolo de registro TLS e Protocolo de autenticação/reconhecimento (handshake) TSL.
O protocolo de registro é a base da camada de transporte fornecendo segurança na conexão possuindo para isto duas propriedades básicas:
- A conexão é privada. É utilizada a criptografia simétrica para codificar informações. (ex: DES (DES)) As chaves para este tipo de criptografia são geradas exclusivamente para cada conexão e está baseado numa negociação secreta com um outro protocolo (como o de autenticação). O protocolo de registro também pode ser usado sem cifragem de dados.
- A conexão é segura. O transporte da mensagem inclui uma mensagem cheque de integridade (MACMessage Authentication Code - Código de autenticação de mensagem). O protocolo de registro pode operar sem um MAC, mas somente enquanto outro protocolo é usado pelo protocolo de registro como um transporte para negociar parâmetros de segurança.
O protocolo de registro TLS é usado para englobar outros níveis de protocolo mais altos. Deste modo, o protocolo de autenticação/reconhecimento TLS permite ao servidor e ao cliente se autenticarem e negociarem um algoritmo de cifragem e chaves de criptografia antes da transmissão ou recebimento do primeiro byte de informação.
O protocolo de autenticação/reconhecimento TLS assim como o de registro, fornece segurança na conexão e três propriedades básicas:
- A identidade das partes (servidor/cliente) pode ser autenticada usando senhas públicas ou privadas e criptografia. Isto pode ser opcional mas é geralmente requerida por uma das partes.
- A negociação feitas pelas partes é segura. A chave fica indisponível para terceiros que não podem obte-la mesmo que tentem faze-lo no meio da conexão.
- A negociação é segura. Ninguém pode interferir na comunicação sem ser descoberto pelas partes que estão conectadas.
Uma vantagem do TLS é que ele é um protocolo de aplicação
independente, porém o TLS padrão não especifica como
podem ser adicionados protocolos de segurança com o TLS. Decisões
de como iniciar o protocolo de reconhecimento TLS e como interpretar a
troca de certificados de autenticação ficam a critério
de designers e de implementadores de protocolos.
Fig1 – Criptografia Simétrica
Fonte: http://www.c2net
As metas deste protocolo, em ordem de prioridade, são:
Consiste em uma série de três sub-protocolos que são usados para permitir um acordo entre as partes no que diz respeito aos parâmetros de segurança da camada de registro, autenticação e relatório de condições de erros. Estes sub-protocolos são o protocolo de alerta, o protocolo para a mudança de código e o protocolo de aplicação de dados.
No protocolo de alerta são mostradas mensagens de alerta contendo a severidade e a descrição do alerta. Se o alerta for de um nível fatal, a conexão é interrompida. Neste caso, outras conexões podem continuar mas a que recebeu o alerta é invalidada prevenindo assim, que seja utilizada para novas conexões. Como outras mensagens, as mensagens de alerta podem ser codificadas e comprimidas como especificadas no corrente estado de conexão.
As mensagens de alerta podem ser:
a) de Fechamento: O cliente e o servidor compartilham a informação de que a conexão será finalizada para evitar um ataque externo. Qualquer uma das partes pode iniciar a troca de mensagens finais. Esta mensagem de fechamento avisa que o remetente não irá mais enviar mensagens nesta conexão. Qualquer mensagem enviada após este alerta é ignorada. As mensagens em andamento são concluídas antes do fechamento da conexão.
b) de Erro: Quando um erro é descoberto, a parte detectora envia uma mensagem para a outra. Em caso de recebimento ou transmissão de um alerta fatal, ambas as partes fecham imediatamente a conexão. Alguns exemplos de alertas de erro são: acesso negado, erro interno, usuário cancelado, segurança insuficiente.
O protocolo de mudança de código consiste em uma única mensagem que é codificada ou comprimida na conexão corrente. Esta mensagem consiste em um único byte de valor 1. Ela é enviada ao servidor e ao cliente para notificá-los que os registros subsequentes serão protegidos por novos códigos. Logo após o recebimento da mensagem, o novo código deve ser ativado para que o anterior seja invalidado. Esta mensagem é enviada durante o reconhecimento, logo após os parâmetros de segurança serem fixados e antes de enviada a mensagem de fechamento.
Os parâmetros de criptografia de uma sessão são produzidos pelo protocolo de reconhecimento que opera na camada de registro. Quando cliente e servidor iniciam a comunicação, eles escolhem uma versão de protocolo, selecionam algoritmos de criptografia, podem se autenticar, e utilizam técnicas de senhas públicas para gerar segredos compartilhados.
O protocolo de reconhecimento/autenticação envolve os seguintes passos:
Fonte: http://www.c2net
Para o TLS poder fornecer uma conexão segura, cliente, servidor,
chaves e aplicações devem estar em um ambiente seguro. A
implementação deve estar livres de erros de segurança.
Deve-se ter cuidado no que diz respeito as decisões de quais certificados
serão utilizados e se são aceitáveis porque qualquer
erro neste sentido pode causar grandes danos.
6) Referências Bibliográficas: