Let's Encrypt

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

Let's Encrypt
Гасло Encrypt the entire web
Тип Акредитований центр сертифікації ключів
неприбуткова організація
Засновник
Засновано 12 квітня 2016 (2016-04-12)
Мета X.509 certificate authority
Галузь Криптографія
Штаб-квартира Сан-Франциско, Каліфорнія, США
37.800322° пн. ш. 122.449951° зх. д. / 37.800322; -122.449951
Материнська
організація
Internet Security Research Group
Бюджет 3 600 000 $[1]
Штат працівників 8[2]
Вебсайт letsencrypt.org

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

Завдання

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

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

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

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

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

Учасники

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

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

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

Технології

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

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

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

Для автоматичної видачі сертифіката кінцевого сайту використовується протокол аутентифікації класу «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-з'єднання[24]. Чернетка протоколу опублікована на GitHub[25] і відправлена у Internet Engineering Task Force (IETF) у якості чернетки для інтернет-стандарту[26].

Програмна реалізація

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

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

Клієнт протоколу ACME, certbot (раніше letsencrypt), відкритий під ліцензією Apache[28] і написаний мовою програмування Python. Цей клієнт встановлюється на кінцевому сервері і використовується для запиту сертифіката, проведення валідації домену, інсталяції сертифіката та налаштування HTTPS-шифрування в веб-сервері. Надалі цей клієнт використовується для регулярного перевипуску сертифіката в міру закінчення терміну дії[7][29]. Після установки і прийняття ліцензії досить виконати одну команду для отримання сертифіката. Додатково можуть бути включені опції OCSP stapling і HTTP Strict Transport Security (HSTS, примусове перемикання з HTTP на HTTPS)[24]. Автоматичне налаштування 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[30].

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

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

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

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

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

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

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

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

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

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

Дивись також

Примітки

  1. https://letsencrypt.org/2018/12/31/looking-forward-to-2019.html
  2. Public Beta: December 3, 2015. 12 листопада 2015.
  3. Kerner, Sean Michael (18 листопада 2014). Let's Encrypt Effort Aims to Improve Internet Security. eWeek.com. Quinstreet Enterprise. Процитовано 27 лютого 2015.[недоступне посилання]
  4. Eckersley, Peter (18 листопада 2014). Launching in 2015: A Certificate Authority to Encrypt the Entire Web. Electronic Frontier Foundation. Процитовано 27 лютого 2015.
  5. Liam Tung (ZDNet), November 19, 2014: EFF, Mozilla to launch free one-click website encryption
  6. Fabian Scherschel (heise.de), November 19, 2014: Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf
  7. Rob Marvin (SD Times), November 19, 2014: EFF wants to make HTTPS the default protocol
  8. Подробная информация о пакете certbot в stretch
  9. Richard Barnes (Mozilla), April 30, 2015: Deprecating Non-Secure HTTP
  10. The Chromium Projects – Marking HTTP As Non-Secure
  11. Glyn Moody, November 25, 2014: The Coming War on Encryption, Tor, and VPNs – Time to stand up for your right to online privacy
  12. 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)»
  13. Steven J. Vaughan-Nichols (ZDNet), April 9, 2015: the web once and for all: The Let's Encrypt Project
  14. Zeljka Zorz (Help Net Security), July 6, 2015: Let's Encrypt CA releases transparency report before its first certificate
  15. ACME v2 and Wildcard Certificate Support is Live. Let's Encrypt Community Support. Процитовано 16 березня 2018.
  16. Wildcard Certificates Coming January 2018
  17. Sean Michael Kerner (eweek.com), April 9, 2015: Let's Encrypt Becomes Linux Foundation Collaborative Project
  18. Aas, Josh (4 червня 2015). Let's Encrypt Root and Intermediate Certificates.
  19. Reiko Kaps (heise.de), June 17, 2015: SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen
  20. Reiko Kaps (heise.de), June 5, 2015: Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle
  21. Certificates. Let's Encrypt. Архів оригіналу за 3 грудня 2015.
  22. Certificates. Let's Encrypt. Архів оригіналу за 9 жовтня 2017.
  23. Chris Brook (Threatpost), November 18, 2014: EFF, Others Plan to Make Encrypting the Web Easier in 2015
  24. Draft ACME specification.
  25. R. Barnes, P. Eckersley, S. Schoen, A. Halderman, J. Kasten (28 січня 2015). Automatic Certificate Management Environment (ACME) draft-barnes-acme-01.
  26. boulder/LICENSE.txt at master · letsencrypt/boulder · GitHub
  27. letsencrypt/LICENSE.txt at master · letsencrypt/letsencrypt · GitHub
  28. James Sanders (TechRepublic), November 25, 2014: Let's Encrypt initiative to provide free encryption certificates
  29. Let’s Encrypt | Boom Swagger Boom. Архів оригіналу за 8 грудня 2015. Процитовано 3 квітня 2018.
  30. Joseph Tsidulko (18 листопада 2014). Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode. crn.com (англ.). Процитовано 26 серпня 2015.
  31. History for draft-barnes-acme
  32. Josh Aas (16 червня 2015). Let's Encrypt Launch Schedule. letsencrypt.org. Let's Encrypt. Процитовано 19 червня 2015.
  33. Updated Let's Encrypt Launch Schedule. 7 серпня 2015.
  34. Michael Mimoso. First Let’s Encrypt Free Certificate Goes Live. Threatpost.com, Kaspersky Labs. Процитовано 16 вересня 2015.
  35. Let’s Encrypt Leaves Beta. 15 квітня 2016. Процитовано 25 січня 2018.
  36. Milestone: 100 Million Certificates Issued - Let's Encrypt - Free SSL/TLS Certificates. letsencrypt.org. Процитовано 25 січня 2018.
  37. Looking Forward to 2018 - Let's Encrypt - Free SSL/TLS Certificates. letsencrypt.org. Процитовано 25 січня 2018.

Література

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.