Compreender o processo interativo do protocolo HTTPS

Este artigo descreve principalmente o processo de trabalho do protocolo HTTPS e como resolver o problema de ser substituído durante o processo de troca de chave pública

Processo de interação do protocolo HTTPS

Insira a descrição da imagem aqui
1. O cliente inicia a comunicação SSL, a mensagem contém a versão SSL suportada pelo cliente, os componentes de criptografia, etc.
2. Quando o servidor suporta a comunicação SSL, a mensagem contém a versão SSL e o componente de criptografia, selecionado na lista fornecida pelo cliente.
3. O servidor envia a chave pública
4, 5, 6. Depois que o cliente verificar que a chave pública é legal, ele gerará aleatoriamente uma chave, que será usada como chave de criptografia para a comunicação subsequente e usará a chave pública do servidor para enviá-la ao servidor. (O motivo para gerar uma chave aleatoriamente é porque é muito complicado criptografar a mensagem com a chave pública e consumir muitos recursos)

Etapa 3: Como impedir que a chave pública seja transferida

Certificado digital

E se o servidor enviar uma chave pública para o cliente e for substituído por um intermediário? Aqui está uma imagem, que pode ser mais
facilmente entendida
Insira a descrição da imagem aqui

O problema da chave pública sendo ajustada é porque nosso cliente não pode dizer se a chave pública retornada é o servidor ou um intermediário. A dificuldade do problema é que, se optarmos por passar diretamente a chave pública para o cliente, nem sempre podemos resolver o problema da chave pública sendo transferida pelo intermediário.
Portanto, não podemos passar diretamente a chave pública do servidor para o cliente, mas uma organização de terceiros usa sua chave privada para criptografar nossa chave pública e depois passá-la ao cliente. O cliente então usa a chave pública da organização de terceiros para descriptografar. Este é o certificado de dados.Depois que o
Insira a descrição da imagem aqui
cliente obtém o certificado retornado pelo servidor, ele pode usar a chave pública da organização de terceiros para descriptografar e determinar se o certificado é legal.

Assinatura digital

No entanto, essa organização de terceiros pode emitir certificados para muitas pessoas, portanto, como garantir que esse certificado não tenha sido substituído por um intermediário. Desde que seja a mesma organização de terceiros, a chave pública da organização pode descriptografar todos os certificados digitais emitidos pela organização.
Insira a descrição da imagem aqui
Assinatura digital
para resolver o problema de adulteração de diferentes certificados emitidos pela mesma organização.Para resolver esse problema, primeiro precisamos pensar em um problema e identificar a responsabilidade de diferentes certificados na mesma organização. Onde devemos colocá-lo?

Só pode ser colocado no cliente. Depois que o cliente obtém o certificado, ele pode dizer se o certificado foi violado. Como podemos ter essa capacidade?
Encontramos inspiração na realidade. Por exemplo, se você é RH, obtém o certificado acadêmico do candidato, o titular do certificado, a autoridade emissora, o horário da emissão, etc. e, ao mesmo tempo, o certificado também contém um dos mais importantes: número do certificado! Como identificamos a autenticidade deste certificado? Contanto que você carregue esse número de certificado na instituição relevante a verificar, se o detentor do certificado é consistente com o candidato real e o número do certificado também pode ser correspondido, isso significa que o certificado é verdadeiro.
Mas onde está essa "organização de terceiros"? É um serviço remoto? Impossível? Se for um serviço remoto, toda a interação será lenta. Portanto, a função de verificação dessa organização de terceiros pode ser colocada apenas localmente no cliente.

Como o cliente verifica o certificado localmente? A resposta é que o próprio certificado já diz ao cliente como verificar a autenticidade do certificado.
Ou seja, como gerar um número de certificado de acordo com o conteúdo do certificado está gravado no certificado. Após a obtenção do certificado, o cliente gera um número de certificado por si só, de acordo com o método no certificado.Se o número do certificado gerado for o mesmo que o número do certificado, isso significa que o certificado é autêntico. Ao mesmo tempo, para evitar que o número do certificado seja transferido, a chave privada de terceiros é usada para criptografia.

Publicado 190 artigos originais · 19 elogios · mais de 200.000 visualizações

Acho que você gosta

Origin blog.csdn.net/zengchenacmer/article/details/84195239
Recomendado
Clasificación