Let's Encrypt
Let's Encrypt | |
---|---|
Lema | "Encrypt the entire web" |
Fundação | 2014 |
Propósito | X.509 certificate authority |
Sede | San Francisco, California, U.S. |
Área de influência | X.509 certificate authority |
Organização de origem | Internet Security Research Group |
Sítio oficial | letsencrypt |
Let's Encrypt é uma autoridade de certificação lançada em 12 de abril de 2016,[1][2] que fornece gratuitamente certificados de criptografia TLS (Transport Layer Security ) X.509 através de um processo automatizado, criado para eliminar a complexidade dos processos atuais de criação, validação, instalação e renovação de certificados para sites seguros.[3][4]
Visão geral
O projeto busca tornar as conexões criptografadas ubíquas para todos os servidores da World Wide Web.[5] Ao eliminar barreiras como pagamento, e a renovação do certificado, espera-se diminuir significativamente a complexidade de configurar e manter criptografia TSL.[6]
Em um servidor web Linux, a execução de apenas dois comandos é suficiente para configurar a encriptação HTTPS, adquirir e instalar os certificados necessários.[7][8]
Com esse objetivo, um pacote de software foi incluído nos repositórios oficiais do Debian.[9][10] Dois dos maiores desenvolvedores de navegadores - Mozilla e Google - atualmente têm iniciativas para tornar obsoletas as navegações não encriptadas (HTTP).[11][12] Acredita-se que o projeto tenha o potencial de conseguir transformar as conexões encriptadas no padrão para toda a web.[13][14]
Ao optar por ser o mais transparente possível, a iniciativa espera tanto proteger sua própria credibilidade como também proteger contra ataques e tentativas de manipulação. Para esse propósito, publicam frequentemente relatórios de transparência,[15] fazem o log público de todas as transações ACME (usando, por exemplo, Certificado de transparência, e usam padrões abertos e software livre o máximo possível.[7]
Atualmente, não existe planos para suportar certificados wildcard, apesar de não ter sido excluída essa possibilidade. A razão para a falta de suporte é que, por ser tão fácil conseguir um certificado não-wildcard via Let’s Encrypt, esse certificado torna-se desnecessário,[16] existem usuários, porém, que opinaram que ainda existem casos nos quais os certificados wildcard são mais fáceis de usar ou mesmo tecnicamente necessários.[17]
Envolvidos
Let’s Encrypt é um serviço fornecido pela Internet Security Research Group (ISRG), uma organização de benefício público. Alguns dos principais apoiadores são a Electronic Frontier Foundation (EFF), a fundação Mozilla, OVH, Akamai e Cisco. Outros parceiros incluem a autoridade de certificação IdenTrust, Universidade de Michigan (U-M), a Faculdade de Direito de Stanford, a Fundação Linux[18] e Stephen Kent, da Raytheon/BBN Technologies e Alex Polvi, da CoreOS.[7]
Conselho Técnico
- Rich Salz (A Akamai Technologies)
- Joe Hildebrand (Cisco Systems)
- Jacó Hoffman-Andrews (Electronic Frontier Foundation)
- J. C. Jones (Mozilla Foundation)
- Russ Housley (Independente)
- Ryan Hurst (Independente)
- Stephen Kent (Independente)
- Karen O'Donoghue (Internet Society)
Tecnologia
Em junho de 2015, o Let’s Encrypt gerou um certificado raiz RSA cuja chave privada estava armazenada em um módulo de segurança de hardware, que é mantido offline.[19] O certificado raiz é usado para assinar dois certificados intermediários,[19] que têm assinatura cruzada pela autoridade de certificação IdenTrust.[20][21] Um dos certificados intermediários é utilizado para assinar os certificados emitidos, e o outro é mantido offline como backup no caso de problemas com o primeiro.[19] Como o certificado IdenTrust é pré-instalado nos maiores navegadores, os certificados da Let’s Encrypt podem ser validados normalmente e são aceitos assim que instalados,[22] mesmo que nenhum dos fornecedores dos navegadores incluam o certificado raiz ISRG como âncora de confiança.
Os desenvolvedores Let’s Encrypt planejavam gerar também um certificado raiz ECDSA em 2015,[19] o que foi postergado até o início de 2016.[23][24]
Protocolo
O protocolo desafio-resposta utilizado para automatizar a inscrição com esse novo certificado de autoridade é chamado ACME (Automated Certificate Management Environment) e envolve diversas requisições para o servidor web do domínio coberto pelo certificado. Baseado em se as respostas esperadas conseguem igualar as expectativas, o controle sobre o domínio é garantido (validação do domínio). Para fazer isso, o cliente de software ACME configura um servidor TLS especial no sistema do servidor, que recebe queries do servidor da autoridade de certificação ACME com requisições especiais usando Server Name Indication (Validação de Domínio usando Server Name Indication, DVSNI).
Os processos de validação são rodados diversas vezes em caminhos de redes separados. A checagem das entradas de DNS é provisionado para ser feito de múltiplas localidades geográficas para dificultar os ataques de DNS spoofing.
As interações ACME são baseadas na troca de documentos JSON em conexões HTTPS.[25] Um rascunho da especificação está disponível no GitHub[26] e a versão foi submetida à Internet Engineering Task Force (IETF) como proposta para um padrão da internet.[27]
Implementação de Software
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/Letsencrypt_screenshot_2_domain_choice.png/220px-Letsencrypt_screenshot_2_domain_choice.png)
A autoridade de certificação consiste em um pedaço de software chamado de Boulder, escrito em Go, que implementa a parte server side do protocolo ACME. Está publicado como software livre com o código fonte, sob os termos da versão 2 da Mozilla Public License (MPL).[28] É disponibilizada uma API RESTful, que pode ser acessada através um canal encriptado por TLS.
Um gerenciador de certificados com licença Apache,[29] desenvolvido em Python e chamado Certbot (antigo letsencrypt) é instalado no client side (o servidor web de um inscrito). Isso é usado para solicitar o certificado, conduzir o processo de validação do domínio, instalar o certificado e configurar a encriptação HTTPS no servidor HTTP, e, depois, renovar regularmente o certificado.[7][30] Depois da instalação e de concordar com a licença do usuário, é necessário apenas um comando para conseguir instalar um certificado válido. Opções adicionais, como grampeamento do OSCP ou HTTP Strict Transport Security (HSTS) também podem ser ativados.[25] A configuração automática inicialmente só funciona com Apache e nginx.
A Let’s Encrypt emite certificados válidos por 90 dias. A razão para isso é que estes certificados “limitam o dano no caso de emissão errada e erros chave” e encorajam a automação.[31] O cliente oficial certbot e a maioria dos clientes de terceiros permitem a renovação automática do certificado.
Várias implementações de clientes terceiros em diversas linguagens foram criadas pela comunidade.[32]
História e Cronograma
O projeto Let’s Encrypt começou em 2012 por dois empregados da Mozilla, Josh Aas e Eric Rescorla, junto com Peter Eckersle da Eletronic Frontier Foundation e J. Alex Halderman da Universidade de Michigan. A Internet Security Research Group, empresa por trás do Let’s Encrypt, foi incorporada em Maio de 2013.[33]
O Let’s Encrypt foi anunciado publicamente em 18 de Novembro de 2014.[34]
Em 28 de Janeiro de 2015 o protocolo ACME foi oficialmente submetido ao IETF para padronização.[35] Em 9 de Abril de 2015, a ISRG a Fundação Linux declararam suas colaborações.[18] Os certificados raiz e intermediários foram gerados no começo de Junho. Em 16 de junho de 2015, o cronograma final para o lançamento do serviço foi anunciado, com a expectativa de emissão do primeiro certificado em algum momento na semana de de 27 de julho de 2015, seguido por um período de emissão limitada para testar segurança e escalabilidade. A disponibilidade geral do serviço originalmente era planejada para começar na semana de 14 de Setembro de 2015.[36] Em 7 de agosto de 2015, o cronograma de lançamento foi alterado para fornecer mais tempo para garantir segurança e estabilidade; o primeiro certificado a ser emitido foi na semana de 7 de Setembro de 2015, seguido pela disponibilidade geral na semana de 16 de Novembro de 2015.[37] Planejava-se que a assinatura cruzada da IdenTrust estivesse disponível quando a Let’s Encrypt abrisse para o público.[21]
Em 14 de Setembro de 2015, a Let’s Encrypt emitiu seu primeiro certificado, para o domínio helloworld
Em 19 de Outubro de 2015, os certificados intermediários passaram a ter assinatura cruzada da IdenTrust, fazendo com que todos os certificados emitidos pela Let’s Encrypt tivessem a confiança de todos os grandes navegadores.[20]
Em 12 de Novembro de 2015, a Let’s Encrypt anunciou que a disponibilidade geral seria adiada e que o primeiro beta público iria começar em 3 de dezembro de 2015.[39]
Em 3 de dezembro de 2015, a Let’s Encrypt anunciou o começo do beta público.[40]
Em 8 de março de 2016, a Let’s Encrypt emitiu seu milionésimo certificado após sete meses de existência.[41]
Em 12 de abril de 2016, o Let’s Encrypt saiu do Beta.[42]
Em 21 de abril de 2016, 44 dias depois de emitir seu milionésimo certificado, a Let’s Encrypt chegou a 2 milhões de certificados emitidos.[43] Em 3 de Junho de 2016, a Let’s Encrypt emitiu mais de 4 milhões de certificados.[44] Em 22 de junho de 2016, a Let’s Encrypt tinha emitido mais de 5 milhões de certificados, dos quais 3.8 milhões não podem ser expirados ou revogados. Os certificados ativos cobrem mais de 7 milhões de domínios únicos, em parte devido ao suporte de grandes empresas de hospedagem.[45]
Em 9 de Setembro de 2016, eles emitiram mais de 10 milhões de certificados;[46] e em 27 de novembro de 2016 já eram mais de 20 milhões[47] e, em Dezembro de 2016, 24 milhões.[48]
No início de 2019 são emitidos em média 1 milhão de certificados ao dia.[44]
Ver também
- O CAcert
- HTTPS Everywhere
Leitura adicional
- Barnes, R.; Hoffman-Andrews, J.; Kasten, J. (3 Fevereiro de 2017). «Automatic Certificate Management Environment (ACME) draft-ietf-acme-acme-07». IETF. Consultado em 6 de fevereiro de 2017
Referências
- ↑ «Leaving Beta, New Sponsors - Let's Encrypt - Free SSL/TLS Certificates». letsencrypt.org (em inglês). Consultado em 6 de março de 2017
- ↑ Cimpanu, Catalin. «Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains». softpedia (em inglês)
- ↑ «Let's Encrypt Effort Aims to Improve Internet Security»
- ↑ «Launching in 2015: A Certificate Authority to Encrypt the Entire Web». Electronic Frontier Foundation. 18 de novembro de 2014
- ↑ «How It Works». Let's Encrypt. Consultado em 6 de Março de 2017
- ↑ Tung, Liam. «EFF, Mozilla to launch free one-click website encryption | ZDNet». ZDNet (em inglês)
- ↑ a b c d Security, heise. «Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf». Security (em alemão). Consultado em 6 de março de 2017
- ↑ «EFF wants to make HTTPS the default protocol». 17 de junho de 2016. Consultado em 6 de março de 2017
- ↑ «#774387 - ITP: letsencrypt -- Let's Encrypt client that can update Apache configurations - Debian Bug report logs». bugs.debian.org. Consultado em 6 de março de 2017
- ↑ «Debian Package Tracker - python-letsencrypt». tracker.debian.org. Consultado em 6 de março de 2017
- ↑ «Deprecating Non-Secure HTTP». Mozilla Security Blog (em inglês). Consultado em 6 de março de 2017
- ↑ «Marking HTTP As Non-Secure - The Chromium Projects». www.chromium.org. Consultado em 6 de março de 2017
- ↑ Moody, Glyn. «surveillance». ComputerworldUK (em inglês)
- ↑ Vaughan-Nichols, Steven J. «Securing the web once and for all - Let's Encrypt Project» (em inglês)
- ↑ «Let's Encrypt CA releases transparency report before its first certificate». Help Net Security. 6 de julho de 2015. Consultado em 6 de março de 2017
- ↑ Aas, Josh (16 de Agosto de 2015). «Documentation: Frequently Asked Questions (FAQ)». Let's Encrypt Community Support. Consultado em 6 de Março de 2017
- ↑ «Issuance Policy: Please support wildcard certificates». Let's Encrypt Community Support. 2 de Agosto de 2015. Consultado em 6 de Março de 2017
- ↑ a b «Let's Encrypt Becomes Linux Foundation Collaborative Project»
- ↑ a b c d Aas, Josh (4 de Junho de 2015). «Let's Encrypt Root and Intermediate Certificates». Let's Encrypt. Consultado em 6 de Março de 2017
- ↑ a b «Let's Encrypt is Trusted - Let's Encrypt - Free SSL/TLS Certificates». letsencrypt.org (em inglês). Consultado em 6 de março de 2017
- ↑ a b online, heise. «SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen». heise online (em alemão). Consultado em 6 de março de 2017
- ↑ online, heise. «Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle». heise online (em alemão). Consultado em 6 de março de 2017
- ↑ «Certificates». Let's Encrypt. 3 de Dezembro de 2015. Consultado em 6 de Março de 2017
- ↑ Aas, Josh (13 Agosto de 2015). «Elliptic Curve Cryptography (ECC) Support». Let's Encrypt. Consultado em 6 de Março de 2017
- ↑ a b «EFF, Others Plan to Make Encrypting the Web Easier in 2015». Threatpost | The first stop for security news (em inglês). 18 de novembro de 2014
- ↑ «letsencrypt/acme-spec». GitHub (em inglês). Consultado em 6 de março de 2017
- ↑ James, Kasten,; Richard, Barnes,; Jacob, Hoffman-Andrews,. «Automatic Certificate Management Environment (ACME)». tools.ietf.org (em inglês). Consultado em 6 de março de 2017
- ↑ «letsencrypt/boulder». GitHub (em inglês). Consultado em 6 de março de 2017
- ↑ «certbot/certbot». GitHub (em inglês). Consultado em 6 de março de 2017
- ↑ «Let's Encrypt initiative to provide free encryption certificates - TechRepublic». TechRepublic (em inglês)
- ↑ Aas, Josh (9 de Novembro de 2015). «Why ninety-day lifetimes for certificates?». Let's Encrypt. Consultado em 6 de Março de 2017
- ↑ «certbot/certbot». GitHub (em inglês). Consultado em 6 de março de 2017
- ↑ Aas, Josh (18 de novembro de 2014). «Let's Encrypt». Josh Aas. Consultado em 6 de março de 2017
- ↑ Tsidulko, Joseph (18 de novembro de 2014). «Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode». CRN (em inglês)
- ↑ «History for draft-barnes-acme-04». datatracker.ietf.org (em inglês). Consultado em 6 de março de 2017
- ↑ «Let's Encrypt Launch Schedule - Let's Encrypt - Free SSL/TLS Certificates». letsencrypt.org (em inglês). Consultado em 6 de março de 2017
- ↑ «Updated Let's Encrypt Launch Schedule - Let's Encrypt - Free SSL/TLS Certificates». letsencrypt.org (em inglês). Consultado em 6 de março de 2017
- ↑ «First Let's Encrypt Free Certificate Goes Live». Threatpost | The first stop for security news (em inglês). 15 de setembro de 2015
- ↑ «Public Beta: December 3, 2015 - Let's Encrypt - Free SSL/TLS Certificates». letsencrypt.org (em inglês). Consultado em 6 de março de 2017
- ↑ «Entering Public Beta - Let's Encrypt - Free SSL/TLS Certificates»
- ↑ «Our Millionth Certificate - Let's Encrypt - Free SSL/TLS Certificates». letsencrypt.org
- ↑ «Let's Encrypt Leaves Beta». LinuxFoundation.org. Consultado em 6 de março de 2017. Arquivado do original em 15 de abril de 2016
- ↑ «Let's Encrypt Reaches 2,000,000 Certificates»
- ↑ a b «Let's Encrypt Stats». letsencrypt.org
- ↑ «Progress Towards 100% HTTPS, June 2016». letsencrypt.org
- ↑ Let's Encrypt [@letsencrypt] (9 de Setembro de 2017). «We've now issued more than 10 million certificates.» (Tweet) – via Twitter
- ↑ Let's Encrypt [@letsencrypt] (27 de Novembro de 2016). «We've issued 20M+ certificates!» (Tweet). Consultado em 6 de Março de 2017 – via Twitter
- ↑ Let's Encrypt [@letsencrypt] (12 de Dezembro de 2016). «Just over 1 year ago, we issued our first cert. Today, 24M+ and climbing!» (Tweet). Consultado em 6 de Março de 2017 – via Twitter
Ligações externas
- Sítio oficial
- Let's Encrypt no Predefinição:Github
- Seth Schoen do Libre Planeta 2015 palestra Vamos Criptografar
- pde's talks Let's Encrypt em CCCamp 2015
- Lista de certificados emitidos pelas Let's Encrypt
- Monitoramento de certificados de expiração Let's Encrypt