Como é que o cliente verifica o certificado de Servidores em SSL?

li muito sobre este tópico e todas as explicações" detalhadas " parecem falhar um passo:

Para o cliente Verificar o servidor, ele faz o seguinte (de acordo com o meu entendimento):

1) obtém o certificado do servidor. O certificado conterá a chave pública e a assinatura digital.

2?) O cliente verifica usando a chave pública que a Assinatura está OK.

É por isto que estou confuso. Diz que sou o homem no meio. Posso ligar-me ao servidor. e obter qualquer informação que o servidor me forneça, e depois enviá-la para o cliente. Como pode o cliente dizer quem realmente apresentou o certificado?

Eis o que também sei em geral: O cliente conhece a chave pública. Encripta uma mensagem com ela e envia-a para o servidor.

2) o servidor conhece a chave privada, decifra a mensagem e envia-a de volta.

3) agora o cliente Pode partilhar a chave simétrica com o servidor.

Um homem no meio pode estar presente, mas não está. matéria porque os dados não podem ser descodificados sem chave privada.

Então, como é que isso se relaciona com o (estático??) assinatura digital no certificado?

por favor, ajude-me a compreender esse passo específico (verificar a assinatura).

(editado para formatação)

Author: Makketronix, 2016-02-13

2 answers

Depois de investigar mais, descobri o que me faltava.

O servidor apresenta o ficheiro do certificado com a assinatura. O que me faltava era "algoritmo de assinatura Digital" ou algoritmo similar.

Assume que P é chave pública, R é privado.

Basicamente, se H é entrada e R é chave privada, nós obtemos C para saída.

Porque o C é o resultado de um algoritmo de assinatura Digital, podemos usar o p público e o C de saída para obter o H.

A razão pela qual isto responde à minha pergunta e: Digamos que alguém finge ser o servidor e tem a capacidade de reproduzir exactamente C. certeza de que o certificado vai parecer válido, mas o C não pode prosseguir mais, uma vez que as mensagens adicionais serão encriptadas com o p. Foi para isto que nunca vi a resposta. Encontrei a informação aqui.: http://www.jscape.com/blog/what-is-a-digital-signature
 2
Author: Makketronix, 2016-02-13 02:42:42
Acho que posso responder a esta pergunta em relação ao processo. 1. os clientes enviam um pedido de TLS com informações sobre o que ele pode suportar. 2. O servidor recebe e diz que posso suportar isso e fornece chave pública e certificado de servidor assinado por Verisign ou Go Daddy, etc. 3. O cliente recebe-o, verifica a informação baseada na validade na sua loja de confiança local, cria uma chave secreta enrolada no servidor público de volta para o servidor e, em seguida, formam uma encriptação segura canal. A fim de alguns para MITM, eles precisariam ter CA root assinado cert com o CN exato, localização, cidade,e nome do site, etc. o que deve ser impossível, porque os CA's não atribuíram certificados duplos.
 0
Author: user8111918, 2017-06-04 23:11:15