Alerta importante: O Google e o Yahoo vão exigir DMARC a partir de abril de 2024.
PowerDMARC

O que é um aperto de mão TLS?

O que é um aperto de mão TLS

O que é um aperto de mão TLS

Tempo de leitura: 4 min

Encriptação TLS e protocolo de autenticação que protege as comunicações via Internet. O aperto de mão TLS é um processo que assegura uma ligação com um servidor utilizando criptografia assimétrica. Os sítios Web que utilizam um certificado TLS podem aproveitar o protocolo HTTPS para se ligarem com segurança ao servidor. Este blog tem o aperto de mão TLS explicado em detalhe, incluindo os passos do aperto de mão TLS, metodologia de trabalho, e muito mais.

O que é um aperto de mão TLS?

Como o aperto de mão que fazemos na vida real, o aperto de mão TLS é uma introdução. Indica uma comunicação segura entre dois servidores onde as mensagens são trocadas para se reconhecerem mutuamente, verificar um ao outro, estabelecer códigos criptográficos, e acordar as chaves de sessão. 

O processo de aperto de mão da TLS começa com o 'Olá' inicial e continua até à fase em que um cliente e um servidor podem falar sobre uma ligação segura. 

Como é que o aperto de mão TLS funciona?

Agora que sabe o que é um aperto de mão TLS, vamos ver como funciona.

Assim, o processo de aperto de mão TLS só funciona quando um certificado TLS é instalado no servidor para um website ou aplicação. Este certificado inclui detalhes importantes sobre o proprietário do domínio e a chave pública do servidor para confirmar a identidade do servidor. Este processo sequencial estabeleceu uma ligação TLS. Assim, sempre que um utilizador solicita o acesso a um sítio Web com TLS, o aperto de mão TLS entre o seu dispositivo e o navegador da Web começa e troca o seguinte conjunto de detalhes: 

O aperto de mão da TLS estabelece um conjunto de cifras para todas as comunicações. O conjunto de cifras é descrito como um conjunto de algoritmos utilizados no estabelecimento de uma ligação de comunicações segura. Um papel importante do aperto de mão TLS é determinar qual o conjunto de cifras que será utilizado. TLS define chaves de sessão correspondentes através de um canal não encriptado utilizando criptografia de chave pública. 

O aperto de mão também verifica a genuinidade do remetente, verificando o servidor utilizando chaves públicas. As chaves públicas são chaves de encriptação unidireccional, o que significa que ninguém, excepto o remetente original, pode decifrar os dados encriptados. O remetente original utiliza a sua chave privada para decifrar os dados. 

O aperto de mão de TLS falhou significa que a ligação é terminada, e o cliente vê uma mensagem de erro "Serviço 503 indisponível". 

TLS vs Apertos de mão SSL

SSL significa Secure Sockets Layer, o protocolo de segurança original produzido para HTTP. SSL foi substituído por TLS e os apertos de mão SSL são agora denominados como apertos de mão TSL.

Quando é que ocorre um aperto de mão TLS?

O navegador consulta o servidor de origem do sítio web sempre que um utilizador pede para navegar num sítio web através de uma ligação segura. Ocorre também quando qualquer outro canal de comunicação utiliza HTTPS. Isto inclui chamadas API e DNS através de uma rede segura.

Passos de um aperto de mão TLS

Os passos de aperto de mão de TLS consistem numa série de datagramas, ou mensagens, transferidos entre o cliente e o servidor. Os passos precisos serão diferentes, dependendo do tipo de algoritmo de troca de chaves utilizado e dos conjuntos de cifras suportados por ambos os lados. Aqui está o que se pode esperar.

Passo 1: A mensagem 'Client Hello' (Olá ao Cliente)

O servidor do cliente inicia o processo de aperto de mão do TLS enviando uma mensagem de 'olá' para o servidor principal do website. A mensagem consiste em detalhes importantes como a versão TLS e as suites de cifras suportadas, e alguns bytes aleatórios chamados "cliente aleatório".

Passo 2: A mensagem 'Server Hello'.

O servidor responde à mensagem de olá do cliente enviando uma resposta com um certificado SSL, o conjunto de cifras escolhido pelo servidor, e a string 'servidor aleatório' gerada pelo servidor. 

Passo 3: Autenticação

Neste passo do aperto de mão TLS, o cliente confirma o certificado SSL do servidor com a autoridade emissora. Isto é feito para verificar se o servidor é genuíno e se o cliente está a comunicar com o proprietário do domínio.

Passo 4: O Segredo de Premaster

O segredo Premaster, que é outra cadeia aleatória de bytes, é enviado pelo cliente. É encriptado com uma chave pública e pode ser desencriptado usando uma chave privada pelo servidor. 

Passo 5: Chave privada utilizada

O segredo do pré-mestre é decifrado pelo servidor.

Passo 6: Chaves de sessão criadas

Cliente e servo criam chaves de sessão a partir do cliente aleatório, do servidor aleatório, e do segredo do pré-mestre. O resultado de todos os três deve ser o mesmo.

Passo 7: O cliente está pronto

O cliente envia uma mensagem "terminada" encriptada com chave de sessão.

Passo 8: O Servidor está Pronto

O servidor envia uma mensagem "terminada" encriptada com chave de sessão. 

Passo 9: Encriptação Simétrica Segura Conseguida 

Este é o último passo do aperto de mão da TLS. Após a sua conclusão, a comunicação continua a utilizar as teclas de sessão.

TLS 1.3 Aperto de mão - Qual é a diferença?

O TLS 1.3 não suporta RSA; por conseguinte, os passos são ligeiramente diferentes.

Olá ao cliente

O cliente envia a mensagem "Client Hello" que inclui a versão do protocolo, cliente aleatório, e uma lista de conjuntos de cifras. O número de conjuntos de cifras diminui, uma vez que não há suporte para conjuntos de cifras na versão TLS 1.3. 

Esta mensagem também contém parâmetros utilizados para avaliar o segredo do pré-mestre. Isto reduz o comprimento do aperto de mão, que é a principal diferença entre os apertos de mão TLS 1.3 e TLS 1.0, 1.1, e 1.2. 

Servidor Cria o Segredo Principal

Nesta etapa, o servidor recebe os parâmetros e cifras aleatórios do cliente e do cliente. Ao produzir o seu próprio servidor de forma aleatória, gera o segredo principal.

Servidor Olá e Concluído

O olá do servidor contém o certificado do servidor, assinatura criptográfica, servidor aleatório, e conjunto de cifras escolhido. Também envia uma mensagem "terminada" uma vez que tem o segredo principal. 

Passos Finais e Cliente Acabado

O cliente verifica a assinatura e o certificado, gera o segredo principal e envia a mensagem "Acabado".

Encriptação Simétrica Segura Realizada

Após o aperto de mão de TLS estar concluído, a comunicação continua usando as teclas de sessão.

Como ler os relatórios da TLS?

Os relatórios TLS podem fornecer informações valiosas sobre handshakes TLS desalinhados durante a autenticação MTA-STS, além de problemas de capacidade de entrega. Os relatórios TLS-RPT do PowerDMARC oferece relatórios em um formato legível por humanos que é analisado a partir de arquivos JSON originais.

Para ler os relatórios da TLS a partir de hoje, comece o seu teste gratuito connosco!

Porque devem as empresas e as aplicações Web utilizar o aperto de mão TLS?

O aperto de mão TLS protege as aplicações web de infracções e outros ciberataques uma vez que HTTPS é a versão segura da extensão HTTP. Os sítios Web com certificado TLS podem aproveitar o protocolo HTTPS para se ligarem com segurança aos utilizadores. O seu objectivo é proteger detalhes sensíveis como dados pessoais, dados financeiros, credenciais de login, etc.

Sair versão móvel