Vamos criptografar - Let's Encrypt

Vamos criptografar
Let's Encrypt.svg
Formação 18 de novembro de 2014 ; 6 anos atrás ( 18/11/2014 )
Fundador
Quartel general São Francisco , Califórnia , EUA
Coordenadas 37 ° 48 01 ″ N 122 ° 27 00 ″ W / 37,800322 ° N 122,449951 ° W / 37.800322; -122.449951 Coordenadas : 37,800322 ° N 122,449951 ° W37 ° 48 01 ″ N 122 ° 27 00 ″ W /  / 37.800322; -122.449951
Serviços Autoridade de certificação X.509
Organização mãe
Grupo de Pesquisa de Segurança da Internet
Orçamento (2019)
US $ 3,6 milhões
Equipe (2020)
16
Local na rede Internet letsencrypt .org Edite isso no Wikidata

Let's Encrypt é uma autoridade de certificação sem fins lucrativos administrada pelo Internet Security Research Group (ISRG) que fornece certificados X.509 para criptografia TLS ( Transport Layer Security ) gratuitamente. É a maior autoridade de certificação do mundo, usada por mais de 265 milhões de sites , com o objetivo de que todos os sites sejam seguros e usem HTTPS . O Internet Security Research Group (ISRG), o provedor do serviço, é uma organização de utilidade pública . Os principais patrocinadores incluem a Electronic Frontier Foundation (EFF), a Mozilla Foundation , OVH , Cisco Systems , Facebook , Google Chrome , Internet Society , AWS , NGINX e Bill e Melinda Gates Foundation . Outros parceiros incluem a autoridade de certificação IdenTrust , a Universidade de Michigan (UM) e a Linux Foundation .

Visão geral

Exemplo de um site usando Let's Encrypt
Exemplo de certificado Let's Encrypt

A missão da organização é criar uma World-Wide Web mais segura e que respeite a privacidade, promovendo a adoção generalizada de HTTPS. Os certificados do Let's Encrypt são válidos por 90 dias, durante os quais a renovação pode ocorrer a qualquer momento. Isso é tratado por um processo automatizado projetado para superar a criação manual, validação , assinatura , instalação e renovação de certificados para sites seguros. O projeto afirma que seu objetivo é tornar onipresentes as conexões criptografadas com os servidores da World Wide Web. Ao eliminar o pagamento, a configuração do servidor da web, o gerenciamento de e-mail de validação e as tarefas de renovação de certificado, o objetivo é diminuir significativamente a complexidade da configuração e manutenção da criptografia TLS.

Em um servidor da web Linux , a execução de apenas dois comandos é suficiente para configurar a criptografia HTTPS e adquirir e instalar certificados. Para esse fim, um pacote de software foi incluído nos repositórios oficiais de software Debian e Ubuntu . As iniciativas atuais dos principais desenvolvedores de navegadores, como Mozilla e Google, para descontinuar o HTTP não criptografado estão contando com a disponibilidade do Let's Encrypt. O projeto é reconhecido por ter o potencial de realizar conexões criptografadas como o caso padrão para toda a Web.

O serviço emite apenas certificados validados por domínio , uma vez que podem ser totalmente automatizados. Os certificados de validação da organização e validação estendida exigem validação humana de quaisquer registrantes e, portanto, não são oferecidos pelo Let's Encrypt. Suporte para ACME v2 e certificados curinga foi adicionado em março de 2018. A validação de domínio (DV) utilizada por Let's Encrypt remonta a 2002 e foi controversa quando introduzida pela GeoTrust antes de se tornar um método amplamente aceito para a emissão de certificados SSL.

Por ser o mais transparente possível, a organização espera proteger sua própria confiabilidade e se proteger contra ataques e tentativas de manipulação. Para isso, publica regularmente relatórios de transparência, registra publicamente todas as transações ACME (por exemplo, usando Transparência de Certificado ) e usa padrões abertos e software livre , tanto quanto possível.

História

O projeto Let's Encrypt foi iniciado em 2012 por dois funcionários da Mozilla, Josh Aas e Eric Rescorla, juntamente com Peter Eckersley na Electronic Frontier Foundation e J. Alex Halderman na University of Michigan . O Internet Security Research Group , a empresa por trás do Let's Encrypt, foi incorporado em maio de 2013.

Let's Encrypt foi anunciado publicamente em 18 de novembro de 2014.

Em 28 de janeiro de 2015, o protocolo ACME foi oficialmente submetido ao IETF para padronização. Em 9 de abril de 2015, o ISRG e a Linux Foundation declararam sua colaboração. Os certificados raiz e intermediário foram gerados no início de junho. Em 16 de junho de 2015, o cronograma de lançamento final do serviço foi anunciado, com o primeiro certificado sendo emitido em algum momento da semana de 27 de julho de 2015, seguido por um período de emissão limitado para testar a segurança e escalabilidade. A disponibilidade geral do serviço foi originalmente planejada para começar na semana de 14 de setembro de 2015. Em 7 de agosto de 2015, a programação de lançamento foi alterada para fornecer mais tempo para garantir a segurança e estabilidade do sistema, com o primeiro certificado sendo emitido em a semana de 7 de setembro de 2015 seguida pela disponibilidade geral na semana de 16 de novembro de 2015.

Em 14 de setembro de 2015, Let's Encrypt emitiu seu primeiro certificado, que era para o domínio helloworld .letsencrypt .org . No mesmo dia, o ISRG enviou seus aplicativos de programa raiz para a Mozilla , Microsoft , Google e Apple .

Em 19 de outubro de 2015, os certificados intermediários passaram a ser assinados por IdenTrust , fazendo com que todos os certificados emitidos por Let's Encrypt fossem confiáveis ​​para todos os principais navegadores.

Em 12 de novembro de 2015, Let's Encrypt anunciou que a disponibilidade geral seria adiada e que o primeiro beta público começaria em 3 de dezembro de 2015. O beta público foi executado de 3 de dezembro de 2015 a 12 de abril de 2016. Lançado em 12 de abril , 2016.

Em 3 de março de 2020, a Let's Encrypt anunciou que teria de revogar mais de 3 milhões de certificados em 4 de março, devido a uma falha em seu software de Autoridade de Certificação. Trabalhando com fornecedores de software e contatando operadores de sites, a Let's Encrypt conseguiu renovar 1,7 milhão dos certificados afetados antes do prazo. Por fim, eles decidiram não revogar os certificados afetados restantes, pois o risco de segurança era baixo e os certificados expirariam nos próximos 90 dias.

Em março de 2020, Let's Encrypt recebeu o prêmio anual da Free Software Foundation para Projetos de Benefício Social.

Em 27 de fevereiro de 2020, a Let's Encrypt anunciou a emissão de um bilhão de certificados.

Em maio de 2021, a Let's Encrypt relata a emissão de 158 milhões de certificados ativos (não vencidos).

Tecnologia

Cadeia de confiança

ISRG Root X1 (RSA)

Em junho de 2015, a Let's Encrypt anunciou a geração de seu primeiro certificado raiz RSA , ISRG Root X1. O certificado raiz foi usado para assinar dois certificados intermediários , que também são assinados pela autoridade de certificação IdenTrust . Um dos certificados intermediários é usado para assinar os certificados emitidos, enquanto o outro é mantido offline como um backup em caso de problemas com o primeiro certificado intermediário. Como o certificado IdenTrust já era amplamente confiável pelos principais navegadores da web, os certificados Let's Encrypt normalmente podem ser validados e aceitos pelas partes confiáveis, mesmo antes de os fornecedores de navegador incluírem o certificado raiz ISRG como uma âncora de confiança .

ISRG Root X2 (ECDSA)

Os desenvolvedores do Let's Encrypt planejavam gerar uma chave raiz ECDSA em 2015, mas adiaram o plano para o início de 2016, depois para 2019 e, finalmente, para 2020. Em 3 de setembro de 2020, Let's Encrypt emitiu seis novos certificados: uma nova raiz ECDSA denominado "ISRG Root X2", quatro intermediários e um sinal de cruz. O novo ISRG Root X2 tem assinatura cruzada com ISRG Root X1, o próprio certificado de raiz do Let's Encrypt. O Let's Encrypt não emitiu um respondente OCSP para os novos certificados intermediários e, em vez disso, planeja contar apenas com listas de revogação de certificados (CRLs) para recuperar certificados comprometidos e períodos de validade curtos para reduzir o risco de comprometimento do certificado.

Protocolo ACME

O protocolo de desafio-resposta usado para automatizar o registro com a autoridade de certificação é denominado Ambiente de Gerenciamento de Certificados Automatizados (ACME). Ele pode consultar servidores Web ou servidores DNS controlados pelo domínio coberto pelo certificado a ser emitido. Com base no fato de as respostas resultantes corresponderem às expectativas, o controle do inscrito sobre o domínio é garantido (validação de domínio). O software cliente ACME pode configurar um servidor TLS dedicado que é consultado pelo servidor de autoridade de certificação ACME com solicitações usando Indicação de Nome de Servidor (Validação de Domínio usando Indicação de Nome de Servidor, DVSNI), ou pode usar ganchos para publicar respostas para Web e DNS existentes servidores.

Os processos de validação são executados várias vezes em caminhos de rede separados. A verificação de que as entradas de DNS são provisionadas é feita em vários locais geograficamente diversos para dificultar os ataques de falsificação de DNS .

As interações ACME são baseadas na troca de documentos JSON em conexões HTTPS. Um rascunho da especificação está disponível no GitHub e uma versão foi enviada à Internet Engineering Task Force (IETF) como uma proposta para um padrão da Internet.

O Let's Encrypt implementou seu próprio rascunho do protocolo ACME. Ao mesmo tempo, eles pressionaram pela padronização. Isso levou a um "padrão proposto" (RFC8555) em maio de 2019. Ele introduziu alterações importantes e, como tal, foi denominado ACMEv2. O Let's Encrypt implementou a nova versão e começou a empurrar os clientes existentes para atualizações. O nudging foi implementado com tempos de inatividade intermitentes da API ACMEv1. O fim da vida útil foi anunciado com datas e fases no "Plano de fim de vida para ACMEv1". Desde 8 de novembro de 2019, o endpoint ACMEv1 não aceita mais novos registros de conta. Desde junho de 2020, ACMEv1 parou de aceitar novas validações de domínio. Além disso, desde janeiro de 2021, o ACMEv1 passa por quedas de energia de 24 horas. ACMEv1 está programado para ser totalmente desativado em 1º de junho de 2021.

Implementação de software

Diálogo de seleção de domínio

A autoridade de certificação consiste em um software chamado Boulder, escrito em Go , que implementa o lado do servidor do protocolo ACME . É publicado como software livre com código-fonte nos termos da versão 2 da Mozilla Public License (MPL). Ele fornece uma API RESTful que pode ser acessada por meio de um canal criptografado por TLS. Boulder usa cfssl, um kit de ferramentas CloudFlare PKI / TLS, internamente.

Um programa de gerenciamento de certificados Python licenciado pelo Apache chamado certbot (anteriormente letsencrypt ) é instalado no lado do cliente (o servidor Web de um inscrito). Isso é usado para solicitar o certificado, para conduzir o processo de validação de domínio, para instalar o certificado, para configurar a criptografia HTTPS no servidor HTTP e, posteriormente, para renovar regularmente o certificado. Após a instalação e concordar com a licença do usuário, basta executar um único comando para instalar um certificado válido. Opções adicionais como grampeamento OCSP ou HTTP Strict Transport Security (HSTS) também podem ser habilitadas. A configuração automática inicialmente funciona apenas com Apache e nginx .

A Let's Encrypt emite certificados válidos por 90 dias. O motivo apresentado é que esses certificados "limitam os danos causados ​​pelo comprometimento e emissão incorreta de chaves" e incentivam a automação.

Inicialmente, Let's Encrypt desenvolveu seu próprio cliente ACME - Certbot - como uma implementação oficial. Isso foi transferido para a Electronic Frontier Foundation e seu nome "letsencrypt" foi alterado para "certbot". Há uma grande seleção de clientes e projetos ACME para diversos ambientes desenvolvidos pela comunidade.

Veja também

Leitura adicional

  • Barnes, R .; Hoffman-Andrews, J .; McCarney, D .; Kasten, J. (março de 2019). Ambiente de gerenciamento automático de certificados (ACME) RFC 8555 . IETF .

Referências

links externos