Відкрити головне меню

Let's Encrypt — центр сертифікації, який почав роботу в бета-режимі з 3 грудня 2015 року, що надає безкоштовні криптографічні сертифікати X. 509 для TLS-шифрування (HTTPS) строком на 3 місці. Процес видачі сертифікатів повністю автоматизований.

Let's Encrypt
Let's Encrypt Certificate Firefox example.png
Гасло Encrypt the entire web
Засновано 12 квітня, 2016; 3 роки тому (2016-04-12)
Тип Акредитований центр сертифікації ключів
Штаб-квартира Сан-Франциско, Каліфорнія, США
Координати 37°48′01″ пн. ш. 122°27′00″ зх. д. / 37.800322° пн. ш. 122.449951° зх. д. / 37.800322; -122.449951Координати: 37°48′01″ пн. ш. 122°27′00″ зх. д. / 37.800322° пн. ш. 122.449951° зх. д. / 37.800322; -122.449951
Галузь Криптографія
Материнські організації Internet Security Research Group
Бюджет Шаблон:$[1]
Штат працівників
Веб-сайт URL

Let's Encrypt у Вікісховищі?

ЗавданняРедагувати

Проект Let's Encrypt створений для того, щоб більша частина інтернет-сайтів змогла перейти до шифрованих з'єднань (HTTPS). На відміну від комерційних центрів сертифікації, в даному проекті не вимагається оплата, переконфігурація веб-серверів, використання електронної пошти, обробка прострочених сертифікатів, що робить процес встановлення та налаштування SSL-шифрування значно більш простим. Наприклад, на типовому веб-сервер на базі Linux потрібно виконати дві команди, які налаштують HTTPS-шифрування, отримають і встановлять сертифікат приблизно за 20-30 секунд.

Пакет з утилітами автоналаштування і отримання сертифіката включений в офіційні репозитарії дистрибутиву Debian. Розробники браузерів Mozilla і Google мають намір поступово відмовитися від підтримки незашифрованого протоколу HTTP шляхом відмови від підтримки нових веб-стандартів для http-сайтів. Проект Let's Encrypt має потенціал щодо переведення більшої частини Інтернету на зашифровані з'єднання.

Центр сертифікації Let's Encrypt видає сертифікати Domain-validated certificateDomain-validated certificate[en] з терміном дії 90 днів[4]. Не планується впровадження більш надійних сертифікатів Organization Validation і Extended Validation CertificateExtended Validation Certificate[en].

Проект публікує безліч інформації з метою захисту від атак та спроб маніпуляції. Ведеться публічний лог всіх транзакцій ACME, використовуються відкриті стандарти та програми з відкритим вихідним кодом.

13 березня 2018 оголошена підтримка «wildcard certificate» (сертифікатів, що включають необмежена кількість субдоменів)[5], раніше запланована на 27 лютого 2018[6].

УчастникиРедагувати

Сервіс Let's Encrypt надається публічно. організацією Internet Security Research Group[en] (ISRG).

Основні спонсори проекту: Electronic Frontier Foundation (EFF), Mozilla Foundation, Akamai, Cisco Systems.

Партнерами проекту є центр сертифікації IdenTrust[en], University of Michigan (U-Stanford Law School, Linux Foundation; Stephen Kent (з Raytheon/BBN Technologies[en]) і Alex Polvi (з CoreOS).

ТехнологіїРедагувати

У червні 2015 року був створений кореневий RSA-сертифікат для проекту Let's Encrypt, ключ від якого зберігається в апаратному HSM[en]-модулі, не підключеному до мереж[7]. Цей кореневий сертифікат використовується для підписання двох проміжних сертифікатів, які також були підписані центром IdenTrust. Один з проміжних сертифікатів використовується для виробництва кінцевих сертифікатів сайтів, другий тримається в якості резервного в сховищі, не підключеному до Інтернету, на випадок проблем з першим сертифікатом. Оскільки кореневий сертифікат IdenTrust встановлено в більшості операційних систем і браузерів, як довірений кореневий сертифікат, сертифікати що видаються проектом let's Encrypt  проходять перевірку і приймаються клієнтами, незважаючи на відсутність кореневого сертифіката ISRG у списку довірених.

Ще в 2015 - початку 2016 року планувалося згенерувати кореневий стандарт з ключем по алгоритму ECDSA, але потім дата була перенесена на 2018[8][9].

Протокол аутентифікації сайтівРедагувати

Для автоматичної видачі сертифіката кінцевого сайту використовується протокол аутентифікації класу «challenge-response» (виклик-відповідь, виклик-відгук) під назвою Automated Certificate Management Environment (ACME). У цьому протоколі до веб-сервера, який запитує підписання сертифіката, проводиться серія запитів для підтвердження факту володіння доменом (domain validation). Для отримання запитів клієнт ACME налаштовує спеціальний TLS-сервер, котрий опитує сервером ACME з застосуванням Server Name Indication (Domain Validation using Server Name Indication, DVSNI).

Валідація проводиться багаторазово, з використанням різних мережевих шляхів. Записи DNS опитуються з безлічі географічно розподілених місць для ускладнення атак DNS spoofing.

Протокол ACME працює шляхом обміну JSON-документами через HTTPS-з'єднання. Чернетка протоколу опублікована на GitHub і відправлена у Internet Engineering Task Force (IETF) у якості чернетки для інтернет-стандарту.

Програмна реалізаціяРедагувати

 
Діалог вибору домена

Центр сертифікації використовує сервер ACME-протоколу «Boulder», написаний на мові програмування Go (доступний у вихідних текстах під ліцензією Mozilla Public License). Сервер надає RESTful-протокол, що працює через канал з шифруванням TLS.

Клієнт протоколу ACME, certbot (раніше letsencrypt), відкритий під ліцензією Apache і написаний мовою програмування Python. Цей клієнт встановлюється на кінцевому сервері і використовується для запиту сертифіката, проведення валідації домену, інсталяції сертифіката та налаштування HTTPS-шифрування в веб-сервері. Надалі цей клієнт використовується для регулярного перевипуску сертифіката в міру закінчення терміну дії. Після установки і прийняття ліцензії досить виконати одну команду для отримання сертифіката. Додатково можуть бути включені опції OCSP stapling і HTTP Strict Transport Security (HSTS, примусове перемикання з HTTP на HTTPS). Автоматичне налаштування https-сервера доступне для веб-серверів Apache та nginx.

ІсторіяРедагувати

Проект Let's Encrypt був ініційований в кінці 2012 року двома співробітниками компанії Mozilla, Josh Aas і Eric Rescorla. Компанія Internet Security Research Group була створена в травні 2013 року для управління проектом. У червні 2013 року проекти Electronic Frontier Foundation і University of Michigan були об'єднані в Let's Encrypt.

Вперше проект Let's Encrypt був публічно анонсований 18 листопада 2014 року .

28 січня 2015 року протокол ACME був відправлений в IETF для прийняття в якості стандарту Інтернету.

9 квітня 2015 року ISRG і Linux Foundation оголосили про співпрацю. Кореневий і проміжні сертифікати були створені на початку червня.

16 червня 2015 року було оголошено плани по запуску сервісу, перші кінцеві сертифікати були випущені в кінці липня 2015 для тестування безпеки і масштабованості. Широка доступність сервісу планувалася на середину вересня 2015 року. 7 серпня 2015 року плани були зміщені, широкий запуск сервісу був перенесений на середину листопада.

Підпис проміжних сертифікатів від IdenTrust був запланований на період початку широкої доступності Let's Encrypt.

14 вересня 2015 року було випущено перший кінцевий сертифікат для домену helloworld.letsencrypt.org. У той же день організація ISRG вислала публічний ключ свого кореневого сертифіката для включення в список довірених компаніям Mozilla, Microsoft, Google и Apple.

12 листопада 2015 року Let’s Encrypt перенесла широкий запуск в бета-режимі на 3 грудня 2015 року.

12 квітня 2016 року оголошено про закінчення періоду бета-тестування[10].

28 червня 2017 року Let's Encrypt заявила про випуск 100-мільйонного сертифіката[11].

7 грудня 2017 оголошено про старт публічного бета-тестування видачі wildcard сертифікатів з 4 січня 2018 року. Планована дата закінчення тестового періоду - 27 лютого 2018 року[12].

Дивись такожРедагувати

ПриміткиРедагувати

  1. а б Aas, Josh (September 20, 2016). What It Costs to Run Let's Encrypt. Let's Encrypt (en). Процитовано December 12, 2017. 
  2. https://letsencrypt.org/contact/
  3. https://letsencrypt.org/2016/09/20/what-it-costs-to-run-lets-encrypt.html
  4. Let’s Encrypt Documentation. Release 0.2.0.dev0 / Let’s Encrypt, December 18, 2015 «Let’s Encrypt CA issues short lived certificates (90 days)»
  5. ACME v2 and Wildcard Certificate Support is Live. Let's Encrypt Community Support. Процитовано 2018-03-16. 
  6. Wildcard Certificates Coming January 2018
  7. Aas, Josh (Jun 4, 2015). Let's Encrypt Root and Intermediate Certificates. 
  8. Certificates. Let's Encrypt. 
  9. Certificates. Let's Encrypt. 
  10. Let’s Encrypt Leaves Beta. 2016-04-15. Процитовано 2018-01-25. 
  11. Milestone: 100 Million Certificates Issued - Let's Encrypt - Free SSL/TLS Certificates. letsencrypt.org. Процитовано 2018-01-25. 
  12. Looking Forward to 2018 - Let's Encrypt - Free SSL/TLS Certificates. letsencrypt.org. Процитовано 2018-01-25. 

Помилка цитування: Тег <ref> з назвою "Lets-Encrypt-Aims-to-Improve-Security", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Launching-2015-CA-to-Encrypt-Entire-Web", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "ZDNet20141109", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "heise20141119", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "SDTimes", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Debian-Package", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "deprecating HTTP Mozilla", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "schedule3", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "deprecating HTTP Chromium", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Moody", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "ZDNet20150409", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "transparency report", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "ISRG-LF", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "heise20150617", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "heise20150605", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Threatpost", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "ACME-spec", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "draft-barnes-acme-01", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "license-boulder", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "license-letsencrypt", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "techrepublic", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "founding", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "out-of-stealth", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "acme-draft-history", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "schedule", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "schedule2", визначений у <references>, не використовується в попередньому тексті.

Помилка цитування: Тег <ref> з назвою "firstcert", визначений у <references>, не використовується в попередньому тексті.

ЛітератураРедагувати

ПосиланняРедагувати