SSL: como os certificados são protegidos contra ataques intermediários?

Minha pergunta é sobre certificados especificamente em ssl, mas acho que as perguntas devem se aplicar a todos os certificados. Incluí o procedimento SSL por uma questão de clareza.

No SSL, é isso que entendo ser o procedimento:

1) Cliente

envia algoritmos de criptografia suportadosenvia nonce cliente

2) Servidor

escolhe (e envia) umalgoritmo simétricoum algoritmo de chave públicaum algoritmo MACenvia seu certificadoenvia servidor nonce

3) Cliente

verifica certificadoExtrai chave públicaGera uma chave secreta pré-mestre (pms)criptografa com chave pública de servidores e envia

4) Cliente e Servidor

mestre de computação secreto (MS) do PMS e não-governamentaisPMS cortado para gerar duas criptografia e duas chaves mac

5) Cliente

envia um mac de todos os apertos de mão (para garantir que eles não tenham sido modificados anteriormente)

6) Servidor

envia um mac de todos os apertos de mão

Pergunta, questão

O que impede um homem no ataque do meio de acontecer no segundo passo? Por que um homem do meio não pode, digamos, enganar, capturar o certificado enviado pelo servidor e alterar a chave pública (para algo em que tem a chave privada).

Presumo que o certificado esteja criptografado de alguma forma.

No entanto, o servidor não pode criptografar o certificado porque o cliente ainda não possui a chave pública. Quando o servidor obtém a chave de uma autoridade (como veri-sign), a chave seria pré-escrita usando a chave pública da verisign? Eu acho que isso deve funcionar porque todos os navegadores da web devem ter as chaves públicas da maioria das autoridades.

questionAnswers(3)

yourAnswerToTheQuestion