Qual é a série de etapas necessárias para verificar com segurança um certificado SSL? Meu entendimento (muito limitado) é que, quando você visita um site https, o servidor envia um certificado para o cliente (o navegador) e o navegador obtém as informações do emissor do certificado desse certificado, usa-o para entrar em contato com o emissor e, de alguma forma, compara certificados de validade.
- Como exatamente isso é feito?
- E o processo o torna imune a ataques do tipo intermediário?
- O que impede uma pessoa aleatória de configurar seu próprio serviço de verificação para uso em ataques intermediários, para que tudo "pareça" seguro?
algorithm
security
ssl
certificate
rcreswick
fonte
fonte
Respostas:
Aqui está uma explicação muito simplificada:
Seu navegador da web baixa o certificado do servidor da web, que contém a chave pública do servidor da web. Este certificado é assinado com a chave privada de uma autoridade de certificação confiável.
O seu navegador vem instalado com as chaves públicas de todas as principais autoridades de certificação. Ele usa essa chave pública para verificar se o certificado do servidor da Web foi realmente assinado pela autoridade de certificação confiável.
O certificado contém o nome de domínio e / ou endereço IP do servidor web. Seu navegador da web confirma com a autoridade de certificação que o endereço listado no certificado é aquele ao qual ele possui uma conexão aberta.
Seu navegador da web gera uma chave simétrica compartilhada que será usada para criptografar o tráfego HTTP nesta conexão; isso é muito mais eficiente do que usar criptografia de chave pública / privada para tudo. Seu navegador criptografa a chave simétrica com a chave pública do servidor da Web e a envia de volta, garantindo que apenas o servidor da Web possa descriptografá-la, uma vez que somente o servidor da Web possui sua chave privada.
Observe que a autoridade de certificação (CA) é essencial para impedir ataques intermediários. No entanto, mesmo um certificado não assinado impedirá que alguém escute passivamente seu tráfego criptografado, pois não tem como obter acesso à sua chave simétrica compartilhada.
fonte
webmaster@<domain-being-verified>
ou" Coloque este arquivo em seu domínio para provar que você é o proprietário dele. "No entanto, de fato houve problemas com pessoas fazendo com que as CAs emitissem certificados para domínios que não o fazem. própria - famosa alguém conseguiu obter um CA com sombra para emitir-lhes um certificado para gmail.com!Vale ressaltar que, além de adquirir um certificado (como mencionado acima), você também pode criar o seu próprio gratuitamente; isso é chamado de "certificado autoassinado". A diferença entre um certificado autoassinado e um adquirido é simples: o adquirido foi assinado por uma Autoridade de Certificação que seu navegador já conhece. Em outras palavras, seu navegador pode validar facilmente a autenticidade de um certificado adquirido.
Infelizmente, isso levou a um equívoco comum de que os certificados autoassinados são inerentemente menos seguros do que os vendidos por CAs comerciais, como GoDaddy e Verisign, e que você deve viver com avisos / exceções do navegador, se os usar; isso está incorreto .
Se você distribuir com segurança um certificado autoassinado (ou certificado da CA, como sugerido por bobince) e instalá-lo nos navegadores que usarão seu site , ele é tão seguro quanto um que foi comprado e não é vulnerável ao man-in-the-middle ataques e falsificações de certificados. Obviamente, isso significa que só é possível se apenas algumas pessoas precisarem de acesso seguro ao seu site (por exemplo, aplicativos internos, blogs pessoais etc.).
fonte
Você disse aquilo
O cliente não precisa verificar com o emissor porque duas coisas:
Observe que 2. não pode ser feito sem 1.
Isso é melhor explicado neste grande diagrama que fiz há algum tempo
(pule para "o que é uma assinatura?", na parte inferior)
fonte
O cliente possui um armazenamento pré-semeado de chaves públicas das autoridades de certificação SSL. Deve haver uma cadeia de confiança do certificado para o servidor até as autoridades intermediárias até um dos chamados certificados "raiz" para que o servidor seja confiável.
Você pode examinar e / ou alterar a lista de autoridades confiáveis. Geralmente, você faz isso para adicionar um certificado a uma autoridade local em que você confia - como a empresa em que trabalha ou a escola em que estuda ou o que não.
A lista pré-propagada pode variar dependendo do cliente que você usa. Os grandes fornecedores de certificados SSL garantem que seus certificados de raiz estejam em todos os principais navegadores ($$$).
Os ataques do tipo "macaco no meio" são "impossíveis", a menos que o invasor tenha a chave privada de um certificado raiz confiável. Como os certificados correspondentes são amplamente implantados, a exposição de uma chave privada teria sérias implicações para a segurança do comércio eletrônico em geral. Por esse motivo, essas chaves privadas são muito, muito bem guardadas.
fonte
se você é mais técnico, este site provavelmente é o que você deseja: http://www.zytrax.com/tech/survival/ssl.html
aviso: a toca do coelho é profunda :).
fonte