Let’s Encrypt
Let's Encrypt | |
---|---|
Административный центр | |
Локация | |
Тип организации | Центр сертификации и НКО |
Основатели | Electronic Frontier Foundation, Mozilla Foundation и Мичиганский университет |
Основание | |
Дата основания | 2014 |
Отрасль | криптография |
Продукция | Центр сертификации X.509 |
Число сотрудников |
|
Материнская организация | Internet Security Research Group[англ.] |
Сайт | letsencrypt.org |
Медиафайлы на Викискладе |
Let’s Encrypt — центр сертификации, предоставляющий бесплатные криптографические сертификаты X.509 для шифрования передаваемых через интернет данных HTTPS и других протоколов, используемых серверами в Интернете. Процесс выдачи сертификатов полностью автоматизирован[3][4].
Сервис предоставляется публичной организацией Internet Security Research Group[англ.] (ISRG).
Задачи
[править | править код]Проект Let’s Encrypt создан для того, чтобы большая часть интернет-сайтов смогла перейти к шифрованным подключениям (HTTPS). В отличие от коммерческих центров сертификации, в данном проекте не требуется оплата, переконфигурация веб-серверов, использование электронной почты, обработка просроченных сертификатов, что делает процесс установки и настройки TLS-шифрования значительно более простым[5]. Например, на типичном веб-сервере на базе Linux требуется выполнить две команды, которые настроят HTTPS-шифрование, получат и установят сертификат примерно за 20-30 секунд[6][7].
Пакет с утилитами автонастройки и получения сертификата включен в официальные репозитории дистрибутива Debian[8]. Разработчики браузеров Mozilla и Google намерены постепенно отказаться от поддержки незашифрованного протокола HTTP путём отказа от поддержки новых веб-стандартов для http-сайтов[9][10]. Проект Let’s Encrypt имеет потенциал по переводу большей части Интернета на шифрованные соединения[11].
Центр сертификации Let’s Encrypt выдаёт сертификаты Domain-validated certificate[англ.] со сроком действия в 90 дней[12]. Не планируется предложение сертификатов Organization Validation и Extended Validation Certificate[13].
По статистике, Let's Encrypt на август 2021 зарегистрировано 1 930 558 сертификатов и 2 527 642 полноопределённых активных домена. А число сертификатов Let's Encrypt Certificates, выпускаемых в сутки, превышает 2,5 млн.[14]
Проект публикует множество информации с целью защиты от атак и попыток манипуляции[15]. Ведётся публичный лог всех транзакций ACME, используются открытые стандарты и программы с открытыми исходными кодами[6].
Участники
[править | править код]Сервис Let’s Encrypt предоставляется публичной организацией Internet Security Research Group[англ.] (ISRG).
Основные спонсоры проекта: Фонд электронных рубежей (Electronic Frontier Foundation, EFF), Mozilla Foundation, Akamai, Cisco Systems.
Партнёрами проекта являются центр сертификации IdenTrust[англ.], University of Michigan (U-M), Stanford Law School[англ.], Linux Foundation[16]; Stephen Kent (из Raytheon/BBN Technologies[англ.]) и Alex Polvi (из CoreOS)[6].
История
[править | править код]Проект Let’s Encrypt был инициирован в конце 2012 года двумя сотрудниками компании Mozilla, Josh Aas и Eric Rescorla. Компания Internet Security Research Group была создана в мае 2013 года для управления проектом. В июне 2013 года проекты Electronic Frontier Foundation и University of Michigan были объединены в Let’s Encrypt[17].
Впервые проект Let’s Encrypt был публично анонсирован 18 ноября 2014 года[18].
28 января 2015 года протокол ACME был отправлен в IETF для принятия в качестве стандарта Интернета[19].
9 апреля 2015 года ISRG и Linux Foundation объявили о сотрудничестве[16].
В начале июня 2015 года был создан корневой сертификат RSA для проекта Let’s Encrypt[20][21]. Тогда же были созданы промежуточные сертификаты[20].
16 июня 2015 года были объявлены планы по запуску сервиса, первые конечные сертификаты были выпущены в конце июля 2015 года для тестирования безопасности и масштабируемости. Широкая доступность сервиса планировалась на середину сентября 2015 года[22]. 7 августа 2015 года планы были сдвинуты, широкий запуск сервиса был перенесён на середину ноября[23].
Подпись промежуточных сертификатов от IdenTrust была запланирована на период начала широкой доступности Let’s Encrypt[24].
14 сентября 2015 года был выпущен первый конечный сертификат для домена helloworld.letsencrypt.org. В тот же день организация ISRG выслала публичный ключ своего корневого сертификата для включения в список доверенных компаниям Mozilla, Microsoft, Google и Apple[25].
12 ноября 2015 года Let’s Encrypt перенесла широкий запуск в бета-режиме на 3 декабря 2015 года[26].
Центр сертификации Let’s Encrypt начал работать в бета-режиме 3 декабря 2015 года[26].
12 апреля 2016 года объявлено об окончании периода бета-тестирования[27].
28 июня 2017 года Let’s Encrypt заявила о выпуске 100-миллионного сертификата[28].
7 декабря 2017 объявлено о старте публичного бета-тестирования выдачи wildcard-сертификатов с 4 января 2018 года. Планируемая дата окончания тестового периода — 27 февраля 2018 года[29].
13 марта 2018 года Let’s Encrypt начал выдавать wildcard-сертификаты, теперь каждый может получить бесплатный SSL/TLS-сертификат вида *.example.com.[30][31]
6 августа 2018 года Let’s Encrypt заявила, что с конца июля 2018 года их корневому сертификату ISRG Root X1 доверяют все основные списки корневых сертификатов, включая Microsoft, Google, Apple, Mozilla, Oracle и Blackberry[32][33].
В период конца 2015 — начала 2016 года планировалось сгенерировать корневой сертификат с ключом по алгоритму ECDSA, но потом срок его выпуска был перенесён на 2018 год[21][34][35].
13 марта 2018 года центр поддержки пользователей Let’s Encrypt объявил о возможности создавать «wildcard certificate» (сертификатов, включающих неограниченное множество поддоменов)[36]. Ранее планировалось запустить этот функционал 27 февраля 2018 года[37].
В марте 2020 года Let's Encrypt был удостоен ежегодной премии Free Software Award Фонда свободного программного обеспечения как проект, имеющий социальную значимость[38].
В сентябре 2021 года — переход сертификатов DST Root CA X3 на ISRG Root X1[39].
Технологии
[править | править код]Ключ от корневого сертификата стандарта RSA с 2015 года хранится в аппаратном хранилище HSM[англ.] (англ. Hardware security module), не подключённом к компьютерным сетям[21]. Этим корневым сертификатом подписаны два промежуточных корневых сертификата[21], которые также были подписаны центром сертификации IdenTrust[24]. Один из промежуточных сертификатов используется для выпуска конечных сертификатов сайтов, второй держится в качестве резервного в хранилище, не подключённом к Интернету, на случай компрометации первого сертификата[21]. Поскольку корневой сертификат центра IdenTrust предустановлен в большинстве операционных систем и браузеров в качестве доверенного корневого сертификата, выдаваемые проектом Let’s Encrypt сертификаты проходят проверку и принимаются клиентами[20], несмотря на отсутствие корневого сертификата ISRG в списке доверенных.
Протокол аутентификации сайтов
[править | править код]Для автоматической выдачи сертификата конечному сайту используется протокол аутентификации класса «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-соединения[40]. Черновик протокола опубликован на GitHub[41] и отправлен в Internet Engineering Task Force (IETF) в качестве черновика[англ.] для интернет-стандарта[42].
Протокол ACME описан в документе RFC 8555.
Программная реализация
[править | править код]Центр сертификации использует сервер ACME-протокола «Boulder», написанный на языке программирования Go (доступен в исходных текстах под лицензией Mozilla Public License 2)[43]. Сервер предоставляет RESTful-протокол, работающий через канал с шифрованием TLS.
Клиент протокола ACME, certbot
(ранее letsencrypt
) с открытым исходным кодом под лицензией Apache[44] написан на языке Python. Этот клиент устанавливается на конечном сервере и используется для запроса сертификата, проведения валидации домена, инсталляции сертификата и настройки HTTPS-шифрования в веб-сервере. В дальнейшем этот клиент используется для регулярного перевыпуска сертификата по мере окончания срока действия[6][45]. После установки и принятия лицензии достаточно выполнить одну команду для получения сертификата. Дополнительно могут быть включены опции OCSP stapling[англ.] и HTTP Strict Transport Security (HSTS, принудительное переключение с HTTP на HTTPS)[40]. Автоматическая настройка https-сервера изначально доступна для веб-серверов Apache и nginx.
См. также
[править | править код]Примечания
[править | править код]- ↑ https://letsencrypt.org/contact/
- ↑ https://letsencrypt.org/2016/09/20/what-it-costs-to-run-lets-encrypt.html
- ↑ Kerner, Sean Michael. Let's Encrypt Effort Aims to Improve Internet Security . eWeek.com. Quinstreet Enterprise (18 ноября 2014). Дата обращения: 27 февраля 2015.
- ↑ Eckersley, Peter. Launching in 2015: A Certificate Authority to Encrypt the Entire Web . Electronic Frontier Foundation (18 ноября 2014). Дата обращения: 27 февраля 2015. Архивировано 10 мая 2018 года.
- ↑ Liam Tung (ZDNet), November 19, 2014: EFF, Mozilla to launch free one-click website encryption
- ↑ 1 2 3 4 Fabian Scherschel (heise.de), November 19, 2014: Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf
- ↑ Rob Marvin (SD Times), November 19, 2014: EFF wants to make HTTPS the default protocol
- ↑ Подробная информация о пакете certbot в stretch
- ↑ Richard Barnes (Mozilla), April 30, 2015: Deprecating Non-Secure HTTP
- ↑ The Chromium Projects – Marking HTTP As Non-Secure
- ↑ Glyn Moody, November 25, 2014: The Coming War on Encryption, Tor, and VPNs – Time to stand up for your right to online privacy
- ↑ Let’s Encrypt Documentation. Release 0.2.0.dev0 Архивная копия от 29 июля 2017 на Wayback Machine / Let’s Encrypt, December 18, 2015 «Let’s Encrypt CA issues short lived certificates (90 days)»
- ↑ Steven J. Vaughan-Nichols (ZDNet), April 9, 2015: the web once and for all: The Let's Encrypt Project
- ↑ Статистика Let's Encrypt . https://letsencrypt.org/ru. Дата обращения: 30 сентября 2021. Архивировано 30 сентября 2021 года.
- ↑ Zeljka Zorz (Help Net Security), July 6, 2015: Let's Encrypt CA releases transparency report before its first certificate
- ↑ 1 2 Sean Michael Kerner (eweek.com), April 9, 2015: Let's Encrypt Becomes Linux Foundation Collaborative Project
- ↑ Let’s Encrypt | Boom Swagger Boom . Дата обращения: 12 декабря 2015. Архивировано из оригинала 8 декабря 2015 года.
- ↑ Joseph Tsidulko Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode (англ.) (18 ноября 2014). Дата обращения: 26 августа 2015. Архивная копия от 12 июня 2018 на Wayback Machine
- ↑ History for draft-barnes-acme
- ↑ 1 2 3 Reiko Kaps (heise.de), June 5, 2015: Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle
- ↑ 1 2 3 4 5 Aas, Josh Let's Encrypt Root and Intermediate Certificates (4 июня 2015). Дата обращения: 12 декабря 2015. Архивировано 3 декабря 2015 года.
- ↑ Josh Aas. Let's Encrypt Launch Schedule . letsencrypt.org. Let's Encrypt (16 июня 2015). Дата обращения: 19 июня 2015. Архивировано 26 мая 2018 года.
- ↑ Updated Let's Encrypt Launch Schedule (7 августа 2015). Дата обращения: 12 декабря 2015. Архивировано 27 сентября 2015 года.
- ↑ 1 2 Reiko Kaps (heise.de), June 17, 2015: SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen
- ↑ Michael Mimoso. First Let’s Encrypt Free Certificate Goes Live . Threatpost.com, Kaspersky Labs. Дата обращения: 16 сентября 2015. Архивировано 12 июня 2018 года.
- ↑ 1 2 Public Beta: December 3, 2015 (12 ноября 2015). Дата обращения: 12 декабря 2015. Архивировано 7 апреля 2018 года.
- ↑ Let’s Encrypt Leaves Beta (15 апреля 2016). Дата обращения: 25 января 2018. Архивировано из оригинала 15 апреля 2016 года.
- ↑ Milestone. 100 Million Certificates Issued (англ.). Let's Encrypt. Дата обращения: 25 января 2018. Архивировано 12 мая 2018 года.
- ↑ Looking Forward to 2018 (англ.). Let's Encrypt. Дата обращения: 25 января 2018. Архивировано 22 января 2018 года.
- ↑ ACME v2 and Wildcard Certificate Support is Live (англ.). Let's Encrypt Community Support. Дата обращения: 28 июня 2018. Архивировано 1 июня 2018 года.
- ↑ "Let's Encrypt начал выдавать wildcard сертификаты". Архивировано 28 июня 2018. Дата обращения: 28 июня 2018.
- ↑ Let's Encrypt Root Trusted By All Major Root Programs . Дата обращения: 9 августа 2018. Архивировано 6 августа 2018 года.
- ↑ Теперь все основные списки корневых сертификатов доверяют Let's Encrypt . Дата обращения: 9 августа 2018. Архивировано 9 августа 2018 года.
- ↑ Certificates . Let's Encrypt. Архивировано 3 декабря 2015 года.
- ↑ Certificates . Let's Encrypt. Архивировано 9 октября 2017 года.
- ↑ ACME v2 and Wildcard Certificate Support is Live (англ.). Let's Encrypt Community Support. Дата обращения: 16 марта 2018. Архивировано 1 июня 2018 года.
- ↑ Wildcard Certificates Coming January 2018 . Дата обращения: 9 июля 2017. Архивировано 8 января 2021 года.
- ↑ Let's Encrypt, Jim Meyering, and Clarissa Lima Borges receive FSF's 2019 Free Software Awards Архивная копия от 18 июля 2021 на Wayback Machine Free Software Foundation, 2020
- ↑ DST Root CA X3 Expiration (англ.). https://letsencrypt.org/ (2021-5-7). Дата обращения: 30 сентября 2021. Архивировано 30 сентября 2021 года.
- ↑ 1 2 Chris Brook (Threatpost), November 18, 2014: EFF, Others Plan to Make Encrypting the Web Easier in 2015
- ↑ Draft ACME specification . Дата обращения: 12 декабря 2015. Архивировано 21 ноября 2014 года.
- ↑ R. Barnes, P. Eckersley, S. Schoen, A. Halderman, J. Kasten. Automatic Certificate Management Environment (ACME) draft-barnes-acme-01 (28 января 2015). Дата обращения: 12 декабря 2015. Архивировано 28 июня 2020 года.
- ↑ boulder/LICENSE.txt at master · letsencrypt/boulder · GitHub . Дата обращения: 12 декабря 2015. Архивировано 19 марта 2019 года.
- ↑ letsencrypt/LICENSE.txt at master · letsencrypt/letsencrypt · GitHub
- ↑ James Sanders (TechRepublic), November 25, 2014: Let's Encrypt initiative to provide free encryption certificates
Литература
[править | править код]- Richard Barnes, Jacob Hoffman-Andrews, James Kasten, Automatic Certificate Management Environment (ACME) Архивная копия от 28 июня 2020 на Wayback Machine // IETF, Active Internet-Drafts, 21 jul 2015 (англ.)
Ссылки
[править | править код]- letsencrypt.org — официальный сайт Let’s Encrypt
- Проекты Let’s Encrypt на GitHub
- Seth Schoen’s Libre Planet 2015 lecture on Let’s Encrypt (англ.)
- Technical introduction, David Wong
- pde’s talk on Let’s Encrypt, CCCamp 2015 (англ.)
- List of certificates issued by Let’s Encrypt Архивная копия от 8 сентября 2018 на Wayback Machine (англ.)