Estou com problemas para entender por que precisamos comprar certificados SSL quando podemos gerá-los localmente usando o openSSL. Qual é a diferença entre o certificado que compro e um certificado de teste que gero localmente? É apenas uma grande farsa?
ssl
ssl-certificate
https
SK '
fonte
fonte
Respostas:
Uma palavra - confiança. O certificado SSL de um provedor em que seu navegador confia significa que eles fizeram pelo menos uma verificação básica para dizer que você é quem diz ser.
Caso contrário, eu poderia fazer meus próprios certificados para google.com ou yourbank.com e fingir ser eles.
Os certificados pagos não fornecem nenhum nível extra de criptografia sobre autoassinado (normalmente). Mas um certificado autoassinado causará um erro no navegador.
Sim, partes do SSL são uma farsa (um certificado da Verisign versus uma geotruste, na qual a Verisign é até 100x mais cara), mas não é tudo.
Se tudo isso é interno, não há necessidade de um certificado pago, pois você pode empregar seus próprios métodos de confiança (por exemplo, não fazer nada ou talvez apenas verificar a impressão digital).
fonte
O objetivo de um certificado SSL é que o navegador tenha um grau razoável de confiança na chave pública do servidor para transações HTTPS.
Primeiro, vamos explorar o que aconteceria se não usássemos certificados. Em vez disso, o servidor enviaria a chave pública em texto sem formatação e o navegador iniciaria a comunicação criptografada usando-a (a primeira coisa a fazer seria criptografar sua própria chave pública e enviá-la com segurança). E se eu, e atacante, me abrigássemos no meio? Eu poderia substituir sua chave pública em tempo real pela minha, ter uma conexão criptografada com o navegador, descriptografar todas as coisas que recebo, criptografá-la com sua chave pública e enviá-la (e vice-versa para tráfego do tipo resposta). Nenhuma parte notaria a diferença, pois ninguém conhecia as chaves públicas de antemão.
OK, então estabelecemos que precisamos de alguma maneira para o navegador confiar em minha chave pública. Uma maneira de fazer isso seria armazenar todas as chaves públicas registradas no navegador. Obviamente, isso exigiria uma atualização sempre que alguém registrasse uma chave pública, o que levaria a inchaço. Também é possível manter as chaves públicas nas mãos dos servidores DNS 1 , mas os servidores DNS também podem ser falsificados e o DNS não é um protocolo seguro.
Portanto, a única opção que resta é "encadear" a confiança por meio de um mecanismo de assinatura. O navegador armazena os detalhes de algumas CAs e seu certificado será enviado junto com uma cadeia de outros certificados, cada um assinando o próximo e subindo para a CA raiz / confiável / incorporada. O trabalho da CA é garantir que o domínio lhe pertença antes de assinar um certificado para você.
Como ser uma CA é um negócio, eles cobram por isso. Alguns mais que outros.
Se você criou seu próprio certificado, receberá um erro semelhante a:
Não há valor para um certificado não assinado. É como pegar um lápis e um livreto, desenhar um passaporte que afirma que você é Barack Obama. Ninguém vai confiar nisso.
1. Afinal, sua entrada DNS é criada quando você registra um domínio. Usar um protocolo mais robusto que permita registrar simultaneamente chaves públicas seria um conceito interessante.
fonte
A resposta para sua pergunta depende do seu público: Como todo o sistema de certificados é baseado em "confiança", seus usuários devem ter disponibilidade para comprovar seus próprios certificados ou confiar em terceiros que fizeram essas verificações e mostram o sucesso assinando seu certificado. O termo "para comprovar seus certificados" que usei é um pouco impreciso: a versão longa deve ser: "para provar que você é o proprietário do certificado e tem permissão para usá-lo".
Se todos os seus usuários o conhecerem pessoalmente e tiverem a capacidade técnica de provar que seu certificado foi emitido por você, não há necessidade técnica de usar um certificado de um fornecedor "certificado". Nesse caso, o certificado autoassinado pode até ser melhor que um de um dos provedores.
Mas, na maioria dos casos, não há possibilidade de os usuários executarem esse processo sozinhos. Aqui, esses provedores SSL entram no mercado. Eles oferecem o serviço para fazer essas verificações e expressam o resultado das mesmas assinando o certificado. Mas um fato importante a ter em mente é: Ao assinar um certificado, um provedor SSL expressa que verificou a identidade dos emissores de certificados de acordo com sua própria política de assinatura. Portanto, o usuário precisa decidir se essa política é precisa o suficiente e se pode confiar no provedor.
fonte
O ponto principal é que, se o certificado é gerado automaticamente, os usuários comuns não têm como verificar sua veracidade. Para um certificado adquirido, eles supõem que pelo menos verifique se o que está impresso dentro do certificado está correto. Idéia: se você colocar seu telefone e endereço no certificado, a CA deve verificar isso, mas eles raramente o fazem.
Além disso, o certificado de compra é rastreável, o que significa que o usuário sempre pode rastrear a origem do certificado, enquanto um certificado autoassinado é apenas uma identidade aleatória.
Para muitos sistemas, a "assinatura de código" era exigida de uma CA autorizada no passado, o que é orientado por políticas, mas como o certificado autoassinado é tão numeroso, não é mais 100% obrigatório agora.
fonte
Não há diferença técnica (as suas próprias não são menos seguras) apenas uma organizacional: o certificado da sua CA não faz parte da instalação padrão dos navegadores. Isso torna desconfortável para a maioria das pessoas se conectar ao seu certificado. Mas não faria sentido comprar um certificado para uma rede interna.
fonte
Tudo se resume a confiar. Um provedor SSL "certificado" é supostamente respeitável (embora isso possa ser manipulado) versus um certificado autoassinado do próprio servidor.
Se a sua organização possui sua própria assinatura de certificado, isso é perfeitamente aceitável e não deve causar nenhum aviso aos usuários (desde que eles estejam usando seu chaveiro cert como uma fonte confiável), mas ainda assim criará um aviso se você tentar usá-lo externamente.
Conclusão: para uso interno, tudo bem, se você o estiver fornecendo externamente a um cliente pagador, não ter nenhum aviso é tranqüilo. Você se sentiria mais seguro tendo suas transações financeiras por meio de uma fonte credenciada ou por um cara parado na rua que você realmente não conhece?
fonte
Recentemente, a LetsEncrypt anunciou a disponibilidade de suas ferramentas de linha de comando para gerar certificados válidos.
Para aqueles que se perguntam se esses certificados são válidos nos principais navegadores, a resposta é Sim:
Link para administradores e desenvolvedores do sistema: https://letsencrypt.org/getting-started/
Na era da tecnologia blockchain e a eliminação de sistemas de confiança de terceiros, já era hora de a emissão de certificados caros por algumas autoridades escolhidas começar a ser questionada.
Embora a Letsencrypt não tenha nada a ver com a tecnologia blockchain, é um começo na direção certa. Espera-se que a necessidade de pagar uma taxa alta todos os anos a uma Autoridade de Certificação cara chegue a um fim lógico.
fonte
Simplificando, um certificado SSL autoassinado não significa nada. Não tem valor para o mundo externo. É como dizer "Eu possuo Espanha". Você pode honestamente pensar que sim, mas ninguém vai reconhecer sua reivindicação.
Uma analogia semelhante seria inventar algo e depois reivindicar que você possui os direitos da invenção, mas, a menos que você registre uma patente no escritório, será difícil acreditar na sua palavra, agora é?
O ponto principal de um certificado é que ele é assinado por uma autoridade em que as pessoas confiam. Se algum site tem um certificado SSL válido, isso significa que o proprietário teve o trabalho de registrar seu site, pagar pelo certificado SSL e obter a certificação oficial de alguma autoridade de certificação do mundo real, portanto, provavelmente não é um site de phishing barato. Por outro lado, se você confia em certificados autoassinados, o site de phishing pode simplesmente gerar seu próprio certificado falsificado (que você aceita com prazer) e pronto.
É claro que, se essa é uma rede interna em uma intranet privada, você provavelmente já confia uma na outra; nesse caso, um certificado autoritário realmente não adiciona nada; portanto, você pode ignorar com segurança as luzes vermelhas brilhantes que o navegador lançará para você . O mesmo para sites pequenos em que você ainda deseja que o tráfego cliente-servidor seja criptografado, mas seu modelo de ameaça não garante autenticação forte; nesse caso, você pode obter um certificado autoassinado e aceitar a (negligenciável pelo modelo de ameaça) risco de um MITM.
O que provavelmente é satisfatório, considerando o quanto os certificados SSL confiáveis podem ser caros.
Em outras palavras, um certificado autoassinado equivale a dizer "Certifico que sou quem sou - confie em mim !".
fonte
Para mantê-lo curto e simples ... e desmistificar um pouco o que foi dito ...
Não é um problema de criptografia. Com as ferramentas adequadas, você pode gerar um certificado localmente com o tipo de criptografia desejado ... e obter um certificado válido.
A principal vantagem que você tem ao comprar um certificado de uma entidade de certificação é que, durante o período em que o certificado é válido, eles mantêm em seus servidores um mecanismo para validar qualquer coisa que você assinou com sua certificação online ...
Seus PCs não precisam estar conectados para que seus produtos digitais sejam verificados e validados com seu certificado ... você deve redirecionar a validação para a entidade de certificação.
fonte
Desculpe entrar nessa discussão tão tarde - pensei que valia a pena ressaltar que, usando o openssl, é possível configurar uma CA privada, com seu próprio certificado raiz, e criar certificados de servidor assinados por esta CA. Desde que o certificado raiz da CA seja importado para o navegador e o navegador seja solicitado a aceitá-lo, o certificado do servidor será aceito sem comentários. (Obviamente, essa é apenas uma opção viável se a comunidade de usuários for pequena e todos os usuários se conhecerem pessoalmente.)
fonte
Você confiaria em alguém que dissesse "Confie em mim"? A confiança na autenticidade só pode ser fornecida por uma "Autoridade Confiável", na qual todos confiam. É por isso que temos que pagar muito dinheiro pelos certificados.
fonte