Szyfrujmy
Przed 2015 rokiem każdy certyfikat TLS kosztował – często setki dolarów rocznie – a proces wydawania był wieloetapową, ręczną próbą. Let's Encrypt pojawił się w wersji beta pod koniec 2015 roku z jedną propozycją: bezpłatne, zautomatyzowane, 90-dniowe certyfikaty bez udziału człowieka. Dziesięć lat później wydała ponad cztery miliardy certyfikatów i skutecznie umożliwiła uniwersalny protokół HTTPS.
Poniżej znajduje się pełna treść artykułu w języku angielskim.
Let's Encrypt to urząd certyfikacji obsługiwany przez Internet Security Research Group (ISRG), amerykańską organizację non-profit o statusie 501(c)(3) finansowaną przez sponsorów, w tym Mozillę, EFF, Cisco, Akamai i wiele innych. Jej misją jest zapewnienie powszechnego dostępu do szyfrowania ruchu internetowego — i przy wszelkich rozsądnych środkach to się udało.
Liczby
LSkala narzędzia Let's Encrypt jest zdumiewająca:
- Aktywne certyfikaty: ~430 milionów na koniec 2025
- chronione domeny: ~325 miliony
- Czas ważności wydanych certyfikatów: ~6 miliardów od uruchomienia
- Koszty operacyjne: poniżej 5 milionów dolarów rocznie
- Zatrudnienie: około 25 pracowników
W kontekście Let's Encrypt wydaje więcej certyfikatów niż wszystkie inne urzędy certyfikacji razem wzięte i jest największym urzędem certyfikacji pod względem liczby wydanych certyfikatów od lata.
Protokół ACME
Innowacją techniczną, która umożliwiła Let's Encrypt, jest ACME (Środowisko automatycznego zarządzania certyfikatami), protokół do w pełni zautomatyzowanego wydawania certyfikatów. Ustandaryzowany jako RFC 8555 w 2019 r., ACME definiuje, w jaki sposób klient żąda certyfikatu, potwierdza kontrolę nad domeną i pobiera wystawiony certyfikat — wszystko to bez udziału człowieka.
Przebieg:
- Klient tworzy konto w urzędzie certyfikacji (jednorazowe, zarejestrowane w parze kluczy).
- Klient żąda certyfikatu dla co najmniej jedna domena.
- CA odpowiada challenges — dowody, które klient musi wypełnić, aby wykazać kontrolę nad każdą domeną.
- Klient kończy wyzwania i powiadamia CA.
- CA sprawdza poprawność i wystawia certyfikat.
- Klient pobiera go i wdraża it.
Cały proces trwa 10–60 sekund.
Trzy typy wyzwań
- HTTP-01: Klient umieszcza określony plik pod adresem
http://example.com/.well-known/acme-challenge/. Urząd certyfikacji pobiera go i sprawdza zawartość. Wymaga kontroli serwera WWW na porcie 80. - DNS-01: Klient dodaje rekord TXT o określonej wartości pod adresem
_acme-challenge.example.com. Urząd certyfikacji wysyła zapytanie do DNS i sprawdza poprawność. Wymagane w przypadku certyfikatów z symbolami wieloznacznymi i przydatne, gdy port 80 jest nieosiągalny. - TLS-ALPN-01: Klient udostępnia określony certyfikat podczas uzgadniania TLS na porcie 443 za pomocą protokołu
acme-tls/1ALPN. Urząd certyfikacji inicjuje połączenie TLS i sprawdza poprawność. Przydatne, gdy porty 80 i DNS są ograniczone.
Typowe narzędzia klienckie
- certbot — referencyjny klient EFF, szeroki ekosystem wtyczek, oparty na Pythonie, domyślny dla większości serwerów admins.
- acme.sh — czysty skrypt powłoki, minimalne zależności, działa na routerach i systemach wbudowanych.
- Caddy — serwer WWW z wbudowanym ACME; nie jest wymagane zarządzanie certyfikatami, wystarczy skonfigurować domenę.
- Traefik, nginx-ingress, AWS ACM, Cloudflare — wiele platform natywnie integruje ACME, dzięki czemu użytkownicy w ogóle nie widzą certyfikatów.
Dlaczego 90-dniowe certyfikaty
Let's Encrypt problemów Certyfikaty 90-dniowe, przy czym klienci zazwyczaj odnawiają się po 60 dniach. Krótkie okresy życia:
- LOgranicz szkody spowodowane przez przejęte klucze prywatne
- Wymuś automatyzację odnawiania, co oznacza, że odnowienia rzeczywiście odbywają się zgodnie z harmonogramem
- Spraw, aby unieważnienie było mniej ważne (przejęty certyfikat i tak wkrótce wygaśnie)
W branży panuje ogólna tendencja do krótszego okresu życia — główne przeglądarki ograniczają obecnie certyfikaty komercyjne do 397 dni, a propozycje dotyczące certyfikatów komercyjnych 90-dniowych lub 47-dniowych są przedmiotem dyskusji.
Czego nie robi Let's Encrypt
- Extended Validation. Let's Encrypt wykonuje tylko weryfikację domeny. Jeśli chcesz mieć certyfikat EV z legalną nazwą swojej organizacji, potrzebujesz komercyjnego CA.
- Certyfikaty podpisywania kodu. Różne zaufane sklepy, różne procedury.
- S/MIME certyfikaty e-mail. Również inne — Let's Encrypt obsługuje tylko TLS.
- Phone wsparcie. Tylko samoobsługa; fora społecznościowe, w których można uzyskać pomoc. Inaczej ekonomia darmowego nie wyglądałaby inaczej.
Wpływ
Przed wprowadzeniem Let's Encrypt standard HTTPS oscylował w okolicach 30% wczytywanych stron. Do 2020 roku przekroczył on 80%. Dziś jest to znacznie powyżej 95%. Przeglądarki oznaczają teraz witryny HTTP jako niezabezpieczone właśnie dlatego, że koszt przejścia na HTTPS spadł do zera. Zdecydowana większość nowych witryn, blogów, projektów pobocznych i narzędzi wewnętrznych, które są obecnie dostarczane z protokołem HTTPS, robi to, ponieważ Let's Encrypt uczyniło go ścieżką najmniejszego oporu.
Misja nie jest całkowicie ukończona — niektóre starsze usługi nadal korzystają z protokołu HTTP, niektóre regiony i dostawcy usług internetowych mają opóźnienia — ale Internet jest znacznie bezpieczniejszym miejscem, ponieważ jedna organizacja non-profit zdecydowała, że certyfikaty powinny być bezpłatne.
Często zadawane pytania
- Czy Let's Encrypt jest naprawdę całkowicie darmowy?
- Tak, dla certyfikatów. ISRG przyjmuje darowizny i sponsoring korporacyjny w celu finansowania działalności. Nie ma żadnych poziomów, sprzedaży dodatkowej ani opłat za jakąkolwiek funkcję. Koszt ponoszą sponsorzy i darczyńcy, więc szerszy Internet korzysta z protokołu HTTPS bez kosztów krańcowych.
- Czy certyfikaty Let's Encrypt są tak samo bezpieczne jak te płatne?
- Kryptografia jest identyczna — każdy urząd certyfikacji w publicznym programie root używa tych samych standardów TLS. Certyfikaty Let's Encrypt są akceptowane przez każdą nowoczesną przeglądarkę. Różnice dotyczą poziomu walidacji (tylko DV) i wsparcia operacyjnego, a nie siły bezpieczeństwa.
- Jak często muszę odnawiać?
- W praktyce co 60 dni — klienci odnawiają certyfikat, gdy pozostało mu 30 dni ważności certyfikatu. Cały sens ACME polega na tym, że jest to zautomatyzowane, więc odnowienie następuje niezauważenie. Jeśli Twój klient ulegnie awarii, otrzymasz od Let's Encrypt e-mail z datą wygaśnięcia i 20-dniowym terminem na naprawę.
- Czy witryna internetowa może kłamać na temat bezpieczeństwa dzięki Let's Encrypt?
- Witryna phishingowa może absolutnie uzyskać certyfikat Let's Encrypt dla swojej własnej domeny — każdy urząd certyfikacji wystawia każdemu, kto może udowodnić kontrolę nad domeną. Certyfikat potwierdza, że witryna jest zgodna z jej adresem URL, a nie, że jest godna zaufania. Walidacja domeny zawsze to oznaczała, a przystępność cenowa Let's Encrypt tego nie zmieniła.
- Co się stanie, jeśli klucz CA Let's Encrypt zostanie naruszony?
- Planowana reakcja obejmuje wygenerowanie nowych korzeni w trybie offline (ISRG ma wiele korzeni i półproduktów), ponowne wystawienie certyfikatów w ramach nowego łańcucha oraz koordynację z przeglądarkami w celu dodania nowych korzeni i braku zaufania do starych. ISRG przeprowadziło praktyczne przebiegi tego scenariusza. Prawdziwy incydent nadal byłby niezwykle destrukcyjny, ale można go było naprawić w ciągu tygodni, a nie lat.