Por que devo pagar por um certificado SSL?

62

Paguei por um certificado SSL da Namecheap, acho que foi certificado pelo ComodoSSL. Custou-me 7 $, eles levaram uma semana para serem ativados e eu tive que fazer isso sozinho a partir do SSH enquanto editava os arquivos de configuração do meu site.

Então, um amigo me informou sobre o Let's Encrypt, que não apenas fornece certificados SSL gratuitos, mas também pode ser instalado executando um único comando.

Tenho certeza de que estou perdendo alguma coisa aqui, mas por que eu gostaria de pagar por um certificado SSL quando posso instalar um facilmente, de graça, com a renovação automática configurada?

Oito
fonte
2
Isso apareceu recentemente e é basicamente a mesma pergunta: security.stackexchange.com/questions/45491/… A resposta validada anteriormente, atualizada recentemente, ainda é válida. Mas, em todas as respostas, estou triste por não haver ninguém explicando as diferenças entre preços e custos e preço versus valor (garantias e seguros associados - para se acreditar ou não, etc.)
Patrick Mevzek
Posso ver pagando por um caso em que há um caso de negócios para a validação estendida, etc., a fim de ter o nome da empresa ao lado do ícone de cadeado, etc. De uma perspectiva técnica, não há motivo real para isso.
ivanivan
A resposta completa pode ser resumida por esta frase da resposta de marcelm : "Para que um certificado seja significativo, a CA de emissão deve ser confiável pelos fornecedores de software, caso contrário, o certificado é inútil". Todo certificado é criptografia validada por um terceiro festa. Se você acredita que o Let's Encrypt nunca estragará e nunca será invadido, você obtém valor com isso. Mas a razão pela qual as pessoas pagam é que elas valem mais a outras CAs. Simples assim.
JakeGould 18/08
'Tudo o que um certificado possui é criptografia validada por terceiros' não faz sentido. Um certificado não está criptografado; para começar, está assinado . @JakeGould
user207421
Estou surpreso que ninguém tenha dito isso ainda: "passar algo como legítimo ao atacar empresas que tratam o criptografar com suspeita" normalmente.
Alec Teal

Respostas:

82

Por que devo pagar por um certificado SSL?

Para a maioria dos usos, não há boas razões para pagar por eles.
Veja a parte inferior para um resumo das exceções.

Vamos dar um passo atrás e explicar o que os certificados fazem e aproximadamente como.

O que geralmente é chamado de "certificados" consiste em duas partes vinculadas:

  • O certificado adequado , que contém uma chave pública e alguma identificação (como um nome de domínio).
  • A chave privada , que permite que o titular (e somente o titular) assine digitalmente as mensagens de forma que possam ser verificadas usando o certificado acima.

Se você deseja um certificado yourdomain.com, você:

  • Crie um par de chaves público / privado e mantenha a parte privada, bem, privada.
  • Peça a um terceiro confiável ("CrediCorp") para criar um certificado yourdomain.comcom sua chave pública.
  • Prove de alguma forma no CrediCorp que você controla yourdomain.com.
  • Coloque a chave privada e o certificado obtido em seu servidor e configure o servidor da Web para usá-los.

Em seguida, se Alice visitar yourdomain.com, o navegador dela obtém o certificado do seu servidor da Web, juntamente com uma mensagem assinada por sua chave privada. Então, o navegador dela verifica três coisas:

  • Que a mensagem assinada pode ser verificada pelo seu certificado (provando que foi assinada pela chave privada correspondente que somente yourdomain.comdeveria ter).
  • Que o domínio do certificado é o domínio que o navegador está tentando visitar ( yourdomain.com).
  • Que o certificado é do CrediCorp.

A combinação dessas três coisas garante a Alice que ela realmente está falando yourdomain.com, e não a algum impostor ... Desde que Alice confie no CrediCorp .

(Também se segue uma dança cripto de vodu para transformar essa autenticidade em confidencialidade.)

Como é que Alice confiar Credicorp?

Esse é o verdadeiro ponto crucial aqui. Em resumo, em algum momento, o CrediCorp disse "Ei, vamos fazer certificados". Depois de fazer um grande esforço seguindo muitas regras , eles conseguiram convencer algumas pessoas de que o CrediCorp é realmente confiável e só emitirá certificados corretamente.

Em particular, eles conseguiram convencer os criadores do Firefox, digamos. Como resultado, o CrediCorp entra na lista A do Firefox e seus certificados são confiáveis ​​pelo Firefox por padrão. Então, realmente, Alice confia no Firefox, o Firefox confia no CrediCorp e o CrediCorp confiava em você (depois de verificar) quando afirmou que controlava yourdomain.com. É quase como uma corrente .

Mas o Firefox não apenas confia na CrediCorp para emitir certificados yourdomain.com, mas confia nos certificados da CrediCorp para qualquer domínio. E o Firefox também confia na ShabbyCorp, para qualquer domínio.

Isso tem consequências. Se alguém conseguir convencer o ShabbyCorp de que eles controlam yourdomain.com(porque o ShabbyCorp não é muito completo), poderá obter um certificado do ShabbyCorp yourdomain.comcom a chave privada correspondente. E com esse certificado, eles podem se passar por seu servidor da web. Afinal, eles têm um certificado (chave mais) para o yourdomain.comqual é confiável o Firefox!

CrediCorp e ShabbyCorp são as chamadas autoridades de certificação , CAs, para abreviar. No mundo real, o ComodoSSL e o Let's Encrypt são exemplos de CAs. Mas há muito mais deles; Até o momento em que este artigo foi escrito, o Firefox confia em 154 CAs .

Uau. Mas como isso responde à minha pergunta?

Estou ehm, chegando a isso ...

Aqui está a coisa. A mecânica descrita acima se aplica a todos os certificados. Se você tiver um certificado correto e confiável para o seu site, ele funcionará. Não há nada de especial nos certificados da marca A versus os certificados da marca B; todos estão sujeitos aos mesmos requisitos de CA e à mesma matemática criptográfica.

E mesmo que você goste mais do CrediCorp - porque você sabe, eles soam muito mais confiáveis ​​- usá-los não ajudará. Se um invasor puder convencer a ShabbyCorp a fornecer um certificado para o seu site, ele poderá usar esse certificado para se passar por seu site, independentemente de onde você conseguiu o seu.

Enquanto o Firefox confiar no ShabbyCorp, os visitantes não verão a diferença. (Sim, os visitantes podem obter o certificado e procurar por lá, ver quem o emitiu. Mas quem faz isso?) No que diz respeito à falsificação de certificados, isso torna todo o sistema tão fraco quanto o mais fraco de mais de 150 CAs. Sim, isso é assustador e provavelmente é a maior crítica que as pessoas têm sobre todo esse esquema. Ainda assim, é com isso que estamos presos.

O ponto é que, se você não confiar em uma CA para fornecer certificados "bons", obter seus certificados em outro lugar não ajudará muito.

Entendi, tudo está igualmente condenado. Sem ressalvas?

Weeeelllll ...

  1. Vamos começar matando o argumento que fiz na última seção. Atualmente, é possível bloquear seu domínio apenas com CAs de sua escolha usando DNS-CAA . Suponha que você confie na Comodo e não confie em outras autoridades de certificação. É possível solicitar que todas as autoridades de certificação que não sejam a Comodo não emitam certificados para o seu domínio. Em teoria. (Como o DNS-CAA não é verificado pelos navegadores, apenas pela emissão de CAs. Portanto, uma CA comprometida pode ignorar essa proteção.)

    Se você estiver disposto a passar por esse problema, a pergunta se torna: o Let's Encrypt é realmente menos confiável? Ou menos seguro? A confiabilidade é difícil, como você quantifica isso? Tudo o que posso dizer é que, na minha percepção, Let's Encrypt não é menos confiável do que outras autoridades de certificação. Quanto à segurança de suas validações, elas são muito semelhantes às CAs comerciais (de qualquer maneira, para certificados de DV). Veja também esta pergunta .

    Pelo que vale a pena: a rede StackExchange, da qual este site faz parte, atualmente usa certificados Let's Encrypt. A maioria das pessoas nunca notaria isso, e se o fizessem, sinceramente duvido que isso significasse muito para eles.

  2. Para que um certificado seja significativo, a CA de emissão deve ser confiável pelos fornecedores de software , caso contrário, o certificado será inútil. Usei o Firefox como exemplo, mas na verdade você deseja que a CA seja confiável, pelo menos, nas versões atuais e um pouco mais antigas do Firefox, Chrome, Windows, Mac OS X, iOS e Android. E as dezenas de jogadores menores. As CAs que vale a pena considerar (que incluem ComodoSSL e Let's Encrypt) são confiáveis ​​por todas essas entidades.

  3. Se uma CA se comportar mal ou for revelada como não confiável, ela será removida dos vários armazenamentos confiáveis ​​com rapidez suficiente para arruinar o dia dos proprietários de certificados. Dois exemplos notáveis ​​que conheço são o DigiNotar e o StartCom / WoSign (confira os artigos, eles fornecem informações interessantes sobre a dinâmica da confiança!). Portanto, se você acha que o Let's Encrypt estragará ou será descartado por algum outro motivo, não usá-los impedirá que você seja pego nessa queda específica.

  4. Os certificados empregam alguma mágica matemática criptográfica ; a pergunta é qual mágica de criptografia matemática ? E se for mágica fraca? Essa é realmente uma preocupação real, e as autoridades de certificação também demonstraram interesse em atualizar isso. Felizmente, os fornecedores de navegadores pegaram a folga definindo aqui os mínimos para que os certificados sejam aceitos. Por exemplo, os certificados que usam RSA-1024 ou SHA-1 agora são rejeitados pela maioria dos navegadores, portanto, qualquer certificado que funcione na prática não usa essas primitivas criptográficas obsoletas. O resultado é que é muito difícil para qualquer CA (Vamos criptografar incluído) decepcionar mais essa parte.

  5. Antes, eu disse mais ou menos que todos os certificados são criados iguais. Eu menti, eles não são. Em particular, o que discuti até agora são " Certificados de domínio validado (DV)", que são usados ​​pela grande maioria dos sites. Eles fornecem uma certa certeza de que seu navegador está realmente falando com o domínio que mostra na barra de URL. Também existem certificados "Organização validada (OV)" e " Validação estendida (EV)", que exigem verificações muito mais elaboradas das autoridades de certificação. Em particular, você só poderá obter um certificado EV para somebank.com/ SomeBank Inc., se puder realmente provar que é SomeBank, Inc.

    Os certificados EV são muito mais caros de obter (estimativa: centenas de EUR / USD por ano) e podem ser recompensados ​​com uma barra de URL verde ou um cadeado no navegador, talvez exibindo "SomeBank, Inc." também. Ao contrário dos certificados DV, eles também oferecem alguma idéia de a quem o site realmente pertence. A vantagem é que eles podem parecer mais legítimos. A decepção é que os usuários raramente prestam atenção a eles, portanto sua eficácia é limitada.

    Um invasor com um certificado DV forjado ainda pode se passar pelo site, apenas sem a pista visual extra que um certificado EV pode oferecer, e os usuários geralmente não percebem a distinção. Por outro lado, é possível obter um certificado EV enganoso para facilitar o phishing. Como resultado, tanto o Chrome quanto o Firefox lançam seus acenos visuais para os certificados EV, e algumas pessoas acreditam que desaparecerão completamente.

    Se você é um banco, provavelmente ainda deseja um certificado EV por enquanto. Caso contrário, nem tanto. Mas se você faz precisa EV, Vamos Criptografar não é para você, porque eles simplesmente não oferecem certificados EV.

  6. Os certificados são válidos apenas por um tempo limitado . Os certificados de uma CA comercial típica tendem a ser válidos por um ano, mas eu tenho visto de três meses a três anos. Os certificados Let's Encrypt são válidos por 90 dias , que estão no lado curto desse intervalo, portanto, você precisará renová-los com frequência. Para os usuários do Let's Encrypt, isso geralmente é automatizado para que os certificados sejam substituídos a cada 60 dias.

    Ser capaz de automatizar a renovação com software amplamente disponível é realmente mais agradável do que a merda anual do meu certificado expirou? Qual é o meu login na CA? Como isso funciona novamente? ritual que a maioria dos sites pequenos parece ter nas CAs comerciais.

  7. Antes, eu considerava assustador o fato de haver tantas autoridades de certificação em que todos devemos confiar. Ter muitas autoridades de certificação também é uma vantagem, no sentido de que remover uma única de nossas lojas de confiança tem um impacto limitado sobre os usuários. Em particular, a expulsão de uma única CA afetará apenas os certificados emitidos por essa CA. Se todo mundo acabar usando uma única autoridade de certificação (que algumas pessoas temem que possa acontecer com o Let's Encrypt ), concentramos toda a nossa confiança lá e perdemos as vantagens dessa fragmentação.

  8. E, finalmente, há outros benefícios que uma CA paga pode oferecer, como suporte comercial ou uma garantia SSL de um milhão de dólares . Tenho pouca fé nesses dois aspectos, mas são coisas que o Let's Encrypt não oferece.

Minha cabeça dói ... Eu tinha uma pergunta, acho?

Use o que você se sentir confortável! Para certificados DV, há pouco que realmente diferencia as várias CAs. Uso o Let's Encrypt tanto profissionalmente quanto em particular, e estou feliz com isso.

Realmente, existem apenas quatro razões possíveis para evitar o Let's Encrypt:

  • Se você precisar de certificados EV (ou OV).
  • Se você não pode ou não deseja automatizar a renovação de certificados e a validade do certificado de três meses é muito curta para você.
  • Se você não confia no Let's Encrypt (mas certifique-se de considerar outras medidas como DNS-CAA também, e provavelmente deve colocar na lista negra Let's Encrypt no seu navegador também).
  • Se você acredita que o Let's Encrypt será descontinuado ou removido dos navegadores por algum motivo.

Se nenhum deles se aplicar a você, fique à vontade para não pagar por seus certificados.

marcelm
fonte
17
Observe que os certificados EV não são mais considerados úteis porque os usuários os ignoram; navegadores, especialmente o Chrome e em dispositivos móveis, estão removendo ou ocultando o texto verde e a exibição do nome.
simpleuser
8
Lembre-se de que você não solicita a terceiros confiáveis ​​que criem um certificado para sua chave privada, mas para a chave pública correspondente. Nitpick menor, mas importante. Sua chave privada nunca sai do seu sistema.
MechMK1
Ambos bons pontos; Eu estava tentando gerenciar o nível de detalhe enquanto ainda estava correto de uma maneira geral, mas deveria ter sido mais claro sobre essas duas coisas. Atualizei a resposta para refletir um pouco melhor esses fatos.
marcelm
4
Para ser mais específico, a partir do Chrome v77 (atualmente v67), o Chrome não exibirá mais diretamente os certificados EV. O Firefox (atualmente 68) planeja fazer o mesmo da v70.
knallfrosch
1
E para adicionar um terceiro comentário sobre certificados EV, Troy Hunt (re) escreve um bom artigo explicando por que eles estão realmente mortos: troyhunt.com/…
Neyt
7

O Let's Encrypt é superior em muitos aspectos, incluindo os que você mencionou, como:

  1. É grátis. Difícil superar isso.
  2. Ele possui renovação automática (tenho certeza de que não é APENAS exclusivo no Let's Encrypt, no entanto)
  3. É muito fácil de configurar.
  4. O Google o suporta como um SSL assinado, o que é um grande negócio quando se trata de SEO e segurança.

No entanto, existem alguns contras.

  1. O sistema de verificação em que trabalha para garantir que você, bem, é o proprietário do site, não é compatível com alguns hosts de sites, tive muita dor de cabeça tentando fazer com que o Let's Encrypt funcionasse no InfinityFree e apenas aceitei o destino que eu não poderia fazer isso.
  2. Você não recebe nenhum tipo de seguro que diz "Se isso quebrar, nós o ajudaremos", já que é de código aberto, você estará por sua conta se o Let's Encrypt não funcionar ou estiver danificado.
Esmoothy
fonte
"O sistema de verificação que funciona" É um mecanismo padrão, HTTP-01 e DNS-01, conforme descrito pelos requisitos do IETF e do CAB Forum. Todas as autoridades de certificação são vinculadas exatamente à mesma para os certificados DV.
Patrick Mevzek
10
"uma vez que é de código aberto" É gratuito (como na cerveja) e não de código aberto. A API é padrão (consulte ACME no IETF) e há clientes de código aberto (e talvez servidores).
Patrick Mevzek
4
"Tem renovação automática" Não é Let's Encrypt by tiself. Você, como proprietário do certificado, deve contatá-los para solicitar renovação. Eles não enviam automaticamente para você. É um efeito colateral do uso de um protocolo automatizado, como o ACME, para emissão de certificados.
Patrick Mevzek
"O Google suporta isso como um SSL assinado", não apenas o Google, e você provavelmente quis dizer que ele é compatível (Let's Encrypt) como uma "CA totalmente confiável" ("SSL assinado" não tem sentido). Veja letsencrypt.org/2018/08/06/…
Patrick Mevzek
Quanto ao seguro em certificados X.509 usados ​​para comunicações HTTPS, consulte também security.stackexchange.com/questions/179415/… e scotthelme.co.uk/…
Patrick Mevzek em
4

Os certificados LetsEncrypt são ótimos. Eu mesmo os uso em vez de comprar certificados. Existem algumas desvantagens:

  • Os certificados LetsEncrypt duram apenas 3 meses. A maioria dos certificados adquiridos é válida por um ou dois anos. Isso significa que você precisa absolutamente de um processo automatizado para renovar seus certificados ou será fácil esquecer isso.
  • LetsEncrypt oferece apenas o tipo de certificado de validação mais baixo. A Validação de Domínio (DV) valida apenas que o proprietário do certificado tem controle sobre o domínio. Os certificados de validação da organização (OV) também verificam a documentação da pessoa ou empresa que está solicitando o certificado. Os certificados de Validação Estendida (EV) exigem ainda mais verificações. Quanto melhor for o seu certificado, mais difícil será forjar e mais a autenticidade do seu site poderá ser confiável por causa disso. Na prática, os navegadores apenas acenam visualmente para certificados EV, geralmente mostrando algo em verde na barra de endereços para eles. Até esse ponto, a maioria dos usuários não conhece nem se importa com os diferentes níveis de validação.
  • Os certificados curinga são um pouco mais difíceis de obter no LetsEncrypt. De outros lugares, você geralmente paga mais dinheiro. LetsEncrypt requer validação de DNS para certificados curinga.

Historicamente, os certificados de segurança sempre custam algo. Outras empresas que ofereceram certificados gratuitos chegaram e se foram. Eu costumava usar o StartSSL, que oferecia um único certificado sem domínio, até que eles fizessem coisas obscuras e os navegadores parassem de confiar em seus certificados. LetsEncrypt tem menos limites que os fornecedores de certificados gratuitos anteriores e é muito mais automatizado. Ele também tem alguns grandes apoiadores, como EFF, Mozilla, Chrome e Cisco. Veja https://letsencrypt.org/sponsors/ Parece estar funcionando bem o suficiente e espero que exista por anos.

Stephen Ostermiller
fonte
1
Existe alguma diferença funcional real entre DV e OF / EV? Ou é literalmente apenas uma verificação mais completa?
Oito
4
"Os certificados LetsEncrypt duram apenas 3 meses." Isso é feito de propósito e não é visto como uma desvantagem, mas como algo positivo.
Patrick Mevzek
1
@ Oito Verificações diferentes e resultados finais diferentes também: um certificado DV identifica um nome de host, um certificado OV / EV identifica uma entidade. Além disso, os requisitos do CAB Forum impõem restrições diferentes, você não pode ter um EV por 3 anos, por exemplo, nem para caracteres curinga.
Patrick Mevzek
5
"O LetsEncrypt oferece apenas o tipo de certificado de validação mais baixo. [..] Quanto melhor o seu certificado, mais seu site poderá ser confiável." Isso é imensamente uma questão de preferência pessoal e não uma verdade universal. E isso geralmente não importa, devido à PKI da Web atual, é a segurança da CA segura mais baixa em seu armazenamento confiável que define a segurança de todo o ecossistema. Até que todos usem CAA + DNSSEC em seus domínios e todas as CAs usem menos DNSSEC durante a validação e vários pontos de vista.
Patrick Mevzek
2
"Até este ponto, a maioria dos usuários não conhece nem se importa com os diferentes níveis de validação." - O que os torna bem inúteis. Se os usuários não distinguirem certificados EV / DV, um invasor que obtiver um certificado DV válido para algum domínio poderá executar ataques MITM nesse domínio, mesmo se o site original tiver um certificado EV.
marcelm 17/08
0

Nem tudo pode usar a renovação automatizada

O CertBot facilita o uso de sites ... mas e se você estiver usando certificados para outras coisas?

Temos um servidor LDAP com o qual nosso site se autentica. Ele é executado em uma porta segura, mas precisa de um certificado assinado para ser executado. Eu poderia usar um certificado curinga gratuito ... mas isso significa converter o certificado para PKCS12 a cada 3 meses (os servidores da Web usam PEM) e depois importar o novo certificado. Ah, e nosso firewall de rede também usa PKCS12. Isso é um monte de problemas de graça.

Machavity
fonte
1
Se você é tão inclinado, também pode automatizar essa conversão; já existe um cronjob em execução certbot/ acmetool/ whathaveyou para renovar o certificado, você pode adicionar um que chama opensslpara fazer a conversão.
marcelm
-1

A resposta simples para isso é que muitos webmasters simplesmente não querem fazer essas coisas que consomem desnecessariamente seu precioso tempo. No caso do letsencrypt, é fácil de usar e gratuito, mas você deve se lembrar e reinstalar o certificado a cada 3 meses. Se você não fizer ou simplesmente se esquecer de fazê-lo, o site mostrará erro 404 para seus visitantes e mecanismos de pesquisa.

Paulo
fonte
10
"você precisa se lembrar" Não, você precisa implementar a automação necessária e deixar que ela faça seu trabalho sem ter nada para lembrar. Você também deve fazer o monitoramento.
Patrick Mevzek
14
"então o site mostrará o erro 404" Certamente que não. Um certificado expirado acionará uma falha no handshake TLS e nada chegará ao nível HTTP. Os clientes verão um grande aviso no navegador com algum texto (que eles basicamente não entenderão) e um botão perguntando se desejam passar ou não.
Patrick Mevzek
Muitos sites de hospedagem estão apenas fazendo com que o criptografar seja pressionado sem nenhum custo extra. Você literalmente apenas clica em um botão no painel de configuração do site que diz "Eu quero!" e tudo acontece automaticamente a partir desse ponto, inclusive a renovação.
James Reinstate Monica Polk
1
Como administrador profissional de aproximadamente 100 domínios, posso dizer que prefiro o Let's Encrypt com renovação automática do que renovar os certificados manualmente todos os anos, como antes na CA anterior.
marcelm
Usar acme.shpara instalar os certificados Let's Encrypt também instala a renovação. É mais trabalho não fazer isso.
Colin 'Hart