Let's Encrypt

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Let's Encrypt
Motto „Encrypt the entire web“
Vznik 2014
Sídlo San Francisco, USA
Působnost X.509 certifikační autorita
Mateřská organizace Internet Security Research Group
Oficiální web letsencrypt.org

Let's Encrypt je certifikační autorita. Za pomoci automatizovaného procesu, navrženého tak, aby odstranil složitý proces manuální tvorby, ověřování, podepisování, instalace a obnovování certifikátu. Zdarma poskytuje doménově ověřené certifikáty (DV, anglicky Domain Validated) typu X.509 pro šifrování protokolu TLS.[1][2]

Přehled[editovat | editovat zdroj]

Cílem projektu je, aby bylo šifrované spojení ve World Wide Webu považováno za normální. V říjnu 2016 oznámila Mozilla Corporation, že podle jejich údajů z prohlížeče Mozilla Firefox přesáhl podíl navštívených stránek přes HTTPS protokol 50 %.[3] V únoru 2017 bylo vydáno podobné prohlášení projektu Let's Encrypt.[4][5]

Odbouráním plateb, konfigurací webového serveru, ověřovacích e-mailů a řešení expirovaných certifikátů má projekt znatelně snížit složitost nastavování a správy TLS šifrování.[6] Na Linuxovém webovém serveru by mělo ke zprovoznění HTTPS šifrování stačit vykonání pouze dvou příkazů. Celý proces získání a instalace certifikátu by tak měl zabrat něco mezi 20 až 30 sekundami.[7][8] Za tímto účelem se také aktuálně pracuje na zahrnutí softwarového balíčku do oficiálních repozitářů systému Debian.[9] Současná iniciativa hlavních poskytovatelů webových prohlížečů na zavržení nešifrované HTTP komunikace spoléhá na dostupnost služby Let's Encrypt.[10][11] Projektu je také všeobecně přiznáván potenciál k rozšíření šifrované komunikace.[12]

Budou vydávány pouze tzv. doménové ověření (DV, anglicky Domain Validated). Ověření organizace (OV, anglicky Organization Validated) ani rozšířené ověření (EV, anglicky Extended Validation) nebude nabízeno.[13]

Tím, že bude Let's Encrypt co nejvíce otevřený chce docílit jak ochrany své důvěryhodnosti tak se také bránit proti pokusům o útok či manipulaci. Za tímto účelem publikuje pravidelně zprávy o transparentnosti,[14] veřejně zaznamenává všechny transakce a používá co nejvíce otevřených standardů a softwaru.[7]

Název programu, který tvoří samotnou certifikační autoritu je „Boulder“, což je skrytým odkazem na produkt fiktivní společnosti Acme Corporation z kreslených grotesek od studia Looney Tunes.

Zúčastněné strany[editovat | editovat zdroj]

Let's Encrypt je služba poskytovaná veřejnou příspěvkovou organizací Internet Security Research Group (ISRG). Hlavními sponzory jsou Electronic Frontier Foundation (EFF), Mozilla Foundation, Akamai, Cisco Systems, OVH, Chrome. Mezi další partnery patří jiná certifikační autorita IdenTrust, University of Michigan, Stanford Law School, Linux Foundation[15] a také Stephen Kent z Rayethon/BBN Technologies a Alex Polvi z CoreOS.[7]

Technologie[editovat | editovat zdroj]

Let's Encrypt vlastní kořenový digitální certifikát podepsaný algoritmem RSA, který je uložen na hardwarovém zařízení a není přímo používán. Později je v plánu jeho náhrada za certifikát zašifrovaný pomocí ECDSA. Kořenový certifikát bude užíván k podepisování dvou certifikátů zprostředkujících certifikační autority, které jsou cross-signed certifikační autoritou IdenTrust.[16] Jeden z nich bude používán pro podepisování vydaných certifikátů, druhý bude sloužit jako záloha v případě problémů s prvním. Díky tomu, že je certifikát IdenTrust předinstalován ve všech hlavních prohlížečích, budou moci být vydané certifikáty ověřovány a přijímány bez nutnosti instalace jakéhokoliv rozšíření.[17] V dlouhodobém horizontu je ale v plánu dostat certifikáty Let's Encrypt přímo do aplikací.

Protokol[editovat | editovat zdroj]

Protokol Challenge-response, používaný ke zautomatizování procesu přihlášování pomocí této certifikační autority se nazývá Automated Certificate Management Environment (ACME). Umožňuje různé požadavky na webový server na doméně, která je chráněná certifikátem. Kontrola této domény je zaručena na základě výsledné odpovědi (pokud je výsledná odpověď serveru stejná, jako odpověď očekávaná). Aby se této kontroly dalo docílit, klient protokolu ACME nastaví na serverovém systému speciální TLS server, který je následně volán speciálním požadavkem využívajícím Server Name Indication (Domain Validation using Server Name Indication, DVSNI). Tento proces může proběhnout pouze pro první certifikát, který bude vydán pro kteroukoliv doménu (tento přístup se označuje jako „trust on first use“, TOFU). Následně je využíván alternativní způsob ověření přes existující certifikát. Jakmile dojde ke ztrátě existujícího certifikátu, musí být nový certifikát získán nejdříve od nějaké třetí strany, jinak nebude možné obdržet další certifikát od Let's Encrypt.

Ověřovací procesy probíhají vícekrát přes oddělené síťové cesty. Kontrola DNS záznamů je navržena tak, aby byla provedena z několika geograficky odlišných míst. Díky tomu by měly být služba lépe chráněna proti útokům typu DNS spoofing.

Interakce v protokolu Automated Certificate Management Environment jsou založeny na výměně dokumentů ve formátu JSON realizované pomocí HTTPS komunikace.[18] Návrh specifikace je dostupný na serveru GitHub,[19] přičemž její první verze byla odeslána do Internet Engineering Task Force (IETF) jako návrh na nový standard.[20]

Implementace softwaru[editovat | editovat zdroj]

Domain selection dialogue

Certifikační autoritu tvoří program nazývaný Boulder, napsaný v jazyce Go, který na straně serveru implementuje protokol ACME. Jeho zdrojový kód je zveřejněn pod licencí Mozilla Public License (MPL) ve verzi 2.0.[21] Tento program poskytuje REST API, ke kterému se dá přistoupit s pomocí TLS.

Klientský program pro správu certifikátů, který je nainstalovaný na webovém serveru, se jmenuje letsencrypt. Je napsaný v jazyce Python a uvolněný pod Apache licencí.[22] Slouží k řízení ověřovacího procesu domén, k instalaci certifikátů, konfigurování HTTPS šifrování na HTTP serveru a bude používán také k automatickému prodlužování certifikátu.[23][7] Po instalaci a souhlasu s uživatelskou licencí stačí k instalaci validního certifikátu jediný příkaz. Povoleny mohou být i další možnosti jako OCSP stapling nebo HTTP Strict Transport Security.[18] Automatická instalace certifikátu bude zpočátku fungovat pouze na webovém serveru Apache a nginx.

Historie a plány[editovat | editovat zdroj]

Začátky služby leží v projektu od Electronic Frontier Company, vznikajícím ve spolupráci s University of Michigan, a nezávislým projektem od společnosti Mozilla, které byly spojeny. V roce 2014 byla založena mateřská organizace Internet Security Research Group (ISRG). Spuštění Let's Encrypt bylo původně naplánováno na 18. listopadu 2014.[24]

Dne 28. ledna 2015 byl protokol ACME oficiálně odeslán do IETF ke standardizaci.[25] Dne 9. dubna 2015 pak přislíbila spolupráci Linux Foundation.[15] Kořenový certifikát a certifikáty zprostředkující certifikační autority byly vygenerovány na začátku měsíce června.[17] Dne 16. června byl oznámen poslední plán na spuštění, který počítal s tím, že první certifikát bude vydán někdy okolo 27. července 2015, a bude následován limitovaným vydáváním certifikátů k otestování bezpečnosti a škálovatelnosti celé služby. Spuštění veřejné dostupnosti služby je pak naplánováno někdy okolo 14. září 2015, ale to pouze za předpokladu, že vše půjde tak, jak je naplánováno.[26] Dne 7. srpna bylo pozměněno datum spuštění za účelem získání více času pro zajištění bezpečnosti a stability. První certifikát měl být vygenerován 7. září 2015 následovaný veřejnou dostupností služby okolo 16. listopadu 2015.[27] Cross signature od IdenTrust má být dostupný ihned poté, co se Let's Encrypt otevře veřejnosti.

Dne 14. září 2015 vydala služba Let's Encrypt svůj první certifikát, který byl vystavený pro doménu helloworld.letsencrypt.org. Ve stejný den odeslala ISRG jejich aplikace do společností Mozilla, Microsoft, Google a Apple.[28]

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Let's Encrypt na anglické Wikipedii.

  1. Kerner, Sean Michael. Let's Encrypt Effort Aims to Improve Internet Security [online]. Quinstreet Enterprise, 2014-11-18, [cit. 2015-02-17]. Dostupné online.  
  2. Eckersley, Peter. Launching in 2015: A Certificate Authority to Encrypt the Entire Web [online]. Electronic Frontier Foundation, 2014-11-18, [cit. 2014-02-27]. Dostupné online.  
  3. JELÍNEK, Lukáš. Podíl HTTPS překročil u Firefoxu 50 %. LinuxEXPRES [online]. 2016-10-16 [cit. 2017-02-21]. Dostupné online.  
  4. JANŮ, Stanislav. Poprvé v historii je víc než polovina internetového trafficu šifrovaná. Živě.cz [online]. 2017-02-22 [cit. 2017-02-22]. Dostupné online.  
  5. Let's Encrypt Stats [online]. Let's Encrypt, [cit. 2017-02-22]. Dostupné online. (anglicky) 
  6. Liam Tung (ZDNet), 2014-11-19: EFF, Mozilla to launch free one-click website encryption
  7. a b c d Fabian Scherschel (heise.de), 2014-11-19: Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf
  8. Rob Marvin (SD Times), 2014-11-19: EFF wants to make HTTPS the default protocol
  9. ITP: letsencrypt – Let's Encrypt client that can update Apache configurations
  10. Richard Barnes (Mozilla), 2015-04-30: Deprecating Non-Secure HTTP
  11. The Chromium Projects – Marking HTTP As Non-Secure
  12. Glyn Moody, 2014-11-25: The Coming War on Encryption, Tor, and VPNs – Time to stand up for your right to online privacy
  13. Steven J. Vaughan-Nichols (ZDNet), 2015-04-09: the web once and for all: The Let's Encrypt Project
  14. Zeljka Zorz (Help Net Security), 2015-07-06: Let's Encrypt CA releases transparency report before its first certificate
  15. a b Sean Michael Kerner (eweek.com), 2015-04-09: Let's Encrypt Becomes Linux Foundation Collaborative Project
  16. Reiko Kaps (heise.de), 2015-06-17: SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen
  17. a b Reiko Kaps (heise.de), 2015-06-05: Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle
  18. a b Chris Brook (Threatpost), 2014-11-18: EFF, Others Plan to Make Encrypting the Web Easier in 2015
  19. Draft ACME specification [online]. . Dostupné online.  
  20. R. Barnes, P. Eckersley, S. Schoen, A. Halderman, J. Kasten. Automatic Certificate Management Environment (ACME) draft-barnes-acme-01 [online]. 2015-01-28. Dostupné online.  
  21. https://github.com/letsencrypt/boulder/blob/master/LICENSE.txt
  22. https://github.com/letsencrypt/letsencrypt/blob/master/LICENSE.txt
  23. James Sanders (TechRepublic), 2014-11-25: Let's Encrypt initiative to provide free encryption certificates
  24. Joseph Tsidulko. Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode [online]. 2014-11-18, [cit. 2015-08-26]. Dostupné online.  
  25. History for draft-barnes-acme
  26. Josh Aas. Let's Encrypt Launch Schedule [online]. Let's Encrypt, 2015-06-16, [cit. 2015-06-19]. Dostupné online.  
  27. Updated Let's Encrypt Launch Schedule [online]. 2015-08-07. Dostupné online.  
  28. Michael Mimoso. First Let’s Encrypt Free Certificate Goes Live [online]. Threatpost.com, Kaspersky Labs, [cit. 2015-09-16]. Dostupné online.  

Literatura[editovat | editovat zdroj]

  • Richard Barnes, Jacob Hoffman-Andrews, James Kasten. Automatic Certificate Management Environment (ACME). Svazek Active Internet-Drafts. [s.l.] : IETF, 2015-July-21 tisk. Dostupné online. (anglicky)   (poslední specifikace standardu ACME)

Externí odkazy[editovat | editovat zdroj]