O que é um SSL /TLS Aperto de mão?
An SSL /TLS aperto de mão é uma negociação entre duas partes em uma rede - como um navegador e um servidor da web - para estabelecer os detalhes de sua conexão. Ele determina qual versão do SSL /TLS será usado na sessão, que pacote de criptografia criptografará a comunicação, verifica o servidor (e às vezes também o cliente) e estabelece que existe uma conexão segura antes da transferência de dados.
Felizmente, tudo isso acontece em segundo plano - toda vez que você direciona seu navegador para um site seguro, ocorre uma interação complexa 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 esse formato, embora diferindo em detalhes em uma dúzia de maneiras diferentes - às vezes de forma confusa. Vamos lançar um gráfico que mostra um modelo amplo de como um TLS aperto de mão funciona, não é?
SSL obrigatório /TLS Gráfico de aperto de mão
Todos SSL /TLSsites relacionados têm sua própria versão de um diagrama de handshake - aqui está o nosso! (Clique para enbiggen.)
Vamos esclarecer alguma confusão, se pudermos
Alguma confusão sobre como SSL /TLS trabalho de aperto de mão é devido ao aperto de mão ser apenas o prelúdio para a própria sessão segura. 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 outra privada. Como os sistemas de criptografia assimétrica têm uma sobrecarga muito maior, eles não podem ser usados para fornecer segurança em tempo integral no mundo real. Assim, a chave pública é usada para criptografia e a chave privada para descriptografia apenas durante o handshake, o que permite que as duas partes configurem e troquem confidencialmente uma “chave compartilhada” recém-criada. A própria sessão usa esta única chave compartilhada para realizar criptografia simétrica, e é isso que viabiliza uma conexão segura na prática real (a sobrecarga é muito menor). Portanto, a resposta completa e correta para “É SSL /TLS criptografia assimétrica ou simétrica? ” is "Primeiro um, depois o outro."
O que é um “cipher suite”?
O próprio handshake possui vários estágios, cada um gerenciado de acordo com regras diferentes. Os detalhes podem ser encontrados aqui, mas o problema é que, em vez de uma série de negociações separadas para frente e para trás (sobre quais chaves usar, como criptografar o aperto de mão em si, como autenticar o aperto de mão e assim por diante), as partes podem concordar em usar um “Cipher suite” - uma seleção ou kit pré-existente de componentes acordados. (Lembre-se de que a criptografia assimétrica é cara em termos de tempo e recursos - usar o pacote de criptografia como um atalho acelera o próprio handshake.) TLS especificações permitem bastante número de conjuntos de cifras, e o cliente e o servidor quase sempre terão acesso a um que eles possam empregar.
Aperto de mão básico vs autenticado mutuamente
Outro ponto confuso é que o modelo básico descrito acima permite ao cliente verificar o servidor e a grande maioria das sessões protegidas por TLS só exige isso. No entanto, alguns conjuntos de criptografia exigirão que o cliente tb envie um certificado e uma chave pública para autenticação mútua de ambas as partes. Isto autenticação bidirecional irá certamente adicionar sobrecarga ao handshake - entretanto, em alguns casos (por exemplo, onde dois bancos estão negociando uma conexão segura para transferências de fundos), o conjunto de criptografia irá insistir nisso, e a segurança extra será considerada valiosa.
Sessões diferentes terão parâmetros de segurança diferentes
Cada novo handshake cria uma nova sessão e as configurações usadas em uma podem diferir drasticamente das outras, dependendo do conjunto de criptografia escolhido. Esta é uma das razões pelas quais existem tantas iterações diferentes daquele maldito gráfico de aperto de mão, e porque estamos dando uma visão geral bastante ampla aqui. Saiba também que as sessões podem definir parâmetros que podem não ser exatamente o que você espera. Dependendo do pacote de criptografia, algumas etapas podem ser adicionado (como o requisito para autenticação bidirecional) ou ausente. De fato, existem conjuntos de cifras que negociam uma sessão para usar nenhuma criptografia. (Sim, nós sabemos, uma conexão HTTPS pela porta 443 que decide enviar dados em claro 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.)
Esperamos que esta informação o ajude a entender as TLS processo de aperto de mão. Informe-nos se tiver perguntas ou comentários - lembre-se de que SSL.com acredita que uma Internet mais segura é uma Internet melhor. ”