O que é um Aperto de mão SSL/TLS?

Um Aperto de mão SSL/TLS é uma negociação entre duas partes numa rede – como um navegador e um servidor web – para estabelecer os detalhes da sua conexão. Ele determina qual versão do SSL/TLS será usada na sessão, qual pacote de cifras criptografará a comunicação, verificará o servidor (e às vezes também o cliente) e estabelecerá que uma conexão segura está no lugar antes de transferir dados.

Isso tudo acontece em segundo plano, felizmente – toda vez que você direciona seu navegador para um site seguro, uma interação complexa ocorre para garantir que seus dados estejam seguros.

Essa é a versão simples. Você pode notar que qualquer dúzia de descrições se ajustará mais ou menos a este formato, enquanto diferindo em detalhes uma dúzia de maneiras diferentes – às vezes de forma confusa. Vamos lançar um gráfico que mostra um modelo amplo de como funciona um aperto de mão TLS, devemos?

Need a certificate? SSL.com tem você coberto. Compare as opções aqui para encontrar a escolha certa para você, de S/MIME e certificados de assinatura de código e mais.

PEDIDO AGORA

Gráfico obrigatório de aperto de mão SSL/TLS

Todos os sites relacionados com SSL/TLS têm a sua própria versão de um diagrama de aperto de mão – aqui está a nossa! (Clique para enbiggen.)

Let’s Clear Up Some Confusion, If We Can

Some confusion about how SSL/TLS handshakes work is due to the handshake being only the prelude to the real, secured session itself. Vamos tentar abordar alguns pontos comuns:

Criptografia assimétrica vs simétrica

O próprio aperto de mão usa criptografia assimétrica – duas chaves separadas são usadas, uma pública e uma privada. Uma vez que os sistemas de encriptação assimétrica têm uma sobrecarga muito maior, eles não são utilizáveis para fornecer segurança a tempo inteiro, no mundo real. Assim, a chave pública é utilizada para encriptação e a chave privada para descriptação apenas durante o aperto de mão, o que permite que as duas partes estabeleçam confidencialmente e troquem uma “chave partilhada” recém-criada. A própria sessão utiliza esta única chave compartilhada para realizar a criptografia simétrica, e é isso que torna uma conexão segura viável na prática real (a sobrecarga é muito menor). Então a resposta completa e correta para “A encriptação SSL/TLS é assimétrica ou simétrica?” é “Primeiro uma, depois a outra”

O que é um “conjunto de cifras”?

O próprio aperto de mão tem múltiplas etapas, cada uma gerida de acordo com regras diferentes. Os detalhes podem ser encontrados aqui, mas o mais importante é que ao invés de uma série de negociações separadas (sobre quais chaves usar, como criptografar o próprio aperto de mão, como autenticar o aperto de mão e assim por diante) as partes podem concordar em usar uma “suíte de cifras” – uma seleção pré-existente ou um kit de componentes acordados. (Lembre-se que a criptografia assimétrica é dispendiosa em termos de tempo e recursos – usar o conjunto de cifras como atalho acelera o próprio aperto de mão). As especificações do TLS permitem um grande número de suítes de cifras, e o cliente e o servidor terão quase sempre acesso a uma que ambos podem empregar.

Basic vs handshake mutuamente autenticado

Outro ponto confuso é que o modelo básico que descrevemos acima permite ao cliente verificar o servidor, e a grande maioria das sessões asseguradas pelo TLS só requerem isso. No entanto, algumas suítes de cifras exigirão que o cliente também envie um certificado e uma chave pública para autenticação mútua de ambas as partes. Esta autenticação bidireccional irá, naturalmente, adicionar sobrecarga ao aperto de mão – no entanto, em alguns casos (por exemplo, onde dois bancos estão negociando uma conexão segura para transferências de fundos) a suíte de cifras irá insistir nisso, e a segurança extra é considerada como valendo a pena.

Sessões diferentes terão parâmetros de segurança diferentes

Cada novo aperto de mão cria uma nova sessão, e as configurações usadas em uma podem diferir drasticamente de outra, dependendo da suíte de cifras escolhida. Esta é uma das razões pelas quais existem tantas iterações diferentes do maldito gráfico do aperto de mão, e porque estamos a dar aqui uma visão geral bastante ampla. Saiba também que as sessões podem definir parâmetros que podem não ser exatamente o que você espera. Dependendo do conjunto de cifras, alguns passos podem ser adicionados (como a exigência de autenticação bidirecional) ou ausentes. Na verdade, existem suítes de cifras que negociam uma sessão para não usar criptografia alguma. (Sim, nós sabemos, uma conexão HTTPS sobre a porta 443 que decide enviar dados no clear também não faz sentido para nós. SSL.com recomenda fortemente que você não faça isso – apenas esteja ciente de que está no reino do possível.)

Deixe uma resposta

O seu endereço de email não será publicado.