1
resposta

Como enviar de maneira segura a chave pública?

De que maneira a chave pública é enviada para o cliente? Por que se for por um simples protocolo http, essa chave poderia ser interceptada. Mas ao mesmo tempo não faria sentido criptografar a chave . att

1 resposta

Olá Felipe,

Supondo que o cliente coloca em sua URL um site com HTTPS, ao pressionar ENTER, por de baixo dos panos o cliente está enviando pacotes para iniciar a sincronização com esse servidor onde está hospedado esse site.

Esse primeiro pacote é chamado de SYN, informando o servidor que desejamos iniciar a sincronização, por sua vez o servidor irá receber esse pacote e irá verificar que um cliente está tentando acessar os recursos web que ele servidor possui, o servidor vai responder a esse pedido de sincronização ao cliente com o pacote SYN-ACK.

O cliente vai receber essa resposta do servidor e vai responder com um pacote de ACK, informando que recebeu a resposta do servidor com relação a sincronização. Depois que esses três pacotes (SYN, SYN-ACK, ACK) forem transmitidos, é que de fato teremos o início da atuação do protocolo SSL/TLS. O cliente manda um pacote para o servidor chamado de Client Hello informando ao servidor que ele cliente está requisitando uma abertura de sessão com o servidor e que tal sessão deverá ser estabelecida de uma forma segura. Uma vez que o cliente está requisitando essa abertura de sessão de forma segura, o cliente precisa informar ao servidor quais são os tipos de algoritmos que ele cliente suporta, chamados de Cipher Suites.

Dentro do pacote Client Hello teremos esses Cipher Suites para que o servidor possa assim escolher os algoritmos passados pelo cliente e que ele servidor também suporta.

Na sequência, o Servidor irá encaminhar um certificado de resposta para o cliente. Esse certificado enviado terá uma série de informações contidas como o Cipher Suite escolhido e a chave pública.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software