Давайте зашифровать - Let's Encrypt

Давайте зашифровать
Давайте Encrypt.svg
Формирование 18 ноября 2014 г . ; 6 лет назад ( 2014-11-18 )
Основатель
Штаб-квартира Сан-Франциско , Калифорния , США
Координаты 37 ° 48′01 ″ с.ш. 122 ° 27′00 ″ з.д. / 37.800322 ° N 122.449951 ° W / 37.800322; -122,449951 Координаты : 37.800322 ° N 122.449951 ° W37 ° 48′01 ″ с.ш. 122 ° 27′00 ″ з.д. /  / 37.800322; -122,449951
Услуги Центр сертификации X.509
Головная организация
Исследовательская группа по интернет-безопасности
Бюджет (2019)
3,6 млн долларов США
Персонал (2020)
16
Веб-сайт letsencrypt .org Отредактируйте это в Викиданных

Давайте Encrypt является некоммерческой сертификации в ведении Internet Security Research Group (ISRG) , которая обеспечивает X.509 сертификаты для протокола Transport Layer Security (TLS) шифрование бесплатно. Это крупнейший в мире центр сертификации, которым пользуются более 265 миллионов веб-сайтов , при этом все веб-сайты должны быть безопасными и использовать HTTPS . Security Research Group Интернета (ISRG), оказывающее услугу, является общественно - полезной организацией. Основными спонсорами являются Electronic Frontier Foundation (EFF), Mozilla Foundation , OVH , Cisco Systems , Facebook , Google Chrome , Internet Society , AWS , NGINX и Фонд Билла и Мелинды Гейтс . Среди других партнеров - центр сертификации IdenTrust , Мичиганский университет (UM) и Linux Foundation .

Обзор

Пример веб-сайта, использующего Let's Encrypt
Пример сертификата Let's Encrypt

Миссия организации - создать более безопасную и уважающую конфиденциальность всемирную сеть , способствуя повсеместному внедрению HTTPS. Сертификаты Let's Encrypt действительны в течение 90 дней, в течение которых обновление может быть произведено в любое время. Это обрабатывается автоматизированным процессом, предназначенным для преодоления ручного создания, проверки , подписания , установки и обновления сертификатов для безопасных веб-сайтов. Проект утверждает, что его цель - сделать шифрованные соединения с серверами World Wide Web повсеместно. Устранение задач по оплате, настройке веб-сервера, проверке электронной почты и обновлению сертификатов позволяет значительно упростить настройку и поддержку шифрования TLS.

На веб-сервере Linux выполнения только двух команд достаточно, чтобы настроить шифрование HTTPS, а также получить и установить сертификаты. С этой целью программный пакет был включен в официальные репозитории программного обеспечения Debian и Ubuntu . Текущие инициативы крупных разработчиков браузеров, таких как Mozilla и Google, по отказу от незашифрованного HTTP рассчитаны на доступность Let's Encrypt. Признано, что у этого проекта есть потенциал для обеспечения зашифрованных соединений, что является случаем по умолчанию для всей сети.

Служба выдает только сертификаты , проверенные доменом , поскольку они могут быть полностью автоматизированы. Сертификаты проверки организации и сертификаты расширенной проверки требуют подтверждения человеком всех регистрантов и поэтому не предлагаются Let's Encrypt. Поддержка ACME v2 и подстановочных сертификатов была добавлена ​​в марте 2018 года. Проверка домена (DV), используемая Let's Encrypt, восходит к 2002 году и сначала вызывала споры, когда была представлена GeoTrust, прежде чем стала широко распространенным методом выдачи сертификатов SSL.

Будучи максимально прозрачной, организация надеется как защитить свою надежность, так и защитить себя от атак и попыток манипуляции. С этой целью он регулярно публикует отчеты о прозрачности, публично регистрирует все транзакции ACME (например, с помощью прозрачности сертификатов ) и в максимально возможной степени использует открытые стандарты и бесплатное программное обеспечение .

История

Проект зашифровать Давайте была начата в 2012 году двух сотрудников Mozilla, Джош Аас и Эрик Рескорла, вместе с Питером Eckersley на Electronic Frontier Foundation и J. Alex Halderman в Университете штата Мичиган . Internet Security Research Group , компания, стоящая за Let's Encrypt, была зарегистрирована в мае 2013 года.

Публично о Let's Encrypt было объявлено 18 ноября 2014 года.

28 января 2015 года протокол ACME был официально представлен в IETF для стандартизации. 9 апреля 2015 года ISRG и Linux Foundation объявили о своем сотрудничестве. Корневой и промежуточный сертификаты были созданы в начале июня. 16 июня 2015 г. был объявлен окончательный график запуска службы. Ожидается, что первый сертификат будет выпущен где-то на неделе 27 июля 2015 г., после чего последует ограниченный период выпуска для проверки безопасности и масштабируемости. Общая доступность сервиса первоначально планировалось начать где- то в течение недели от 14 сентября 2015 года 7 августа 2015 года, график запуска был изменен , чтобы предоставить больше времени для обеспечения безопасности и стабильности системы, с первым сертификатом , который будет выпущен в неделю с 7 сентября 2015 г., а затем общедоступная с 16 ноября 2015 г.

14 сентября 2015 года Let's Encrypt выпустил свой первый сертификат для домена helloworld .letsencrypt .org . В тот же день ISRG отправила свои корневые программные приложения в Mozilla , Microsoft , Google и Apple .

19 октября 2015 года промежуточные сертификаты стали перекрестно подписаны IdenTrust , в результате чего все сертификаты, выданные Let's Encrypt, стали доверенными для всех основных браузеров.

12 ноября 2015 года Let's Encrypt объявил, что общедоступность будет отложена и первая общедоступная бета-версия начнется 3 декабря 2015 года. Публичная бета-версия проходила с 3 декабря 2015 года по 12 апреля 2016 года. Она была запущена 12 апреля. , 2016.

3 марта 2020 года Let's Encrypt объявил, что 4 марта ему придется отозвать более 3 миллионов сертификатов из-за ошибки в программном обеспечении центра сертификации. Сотрудничая с поставщиками программного обеспечения и связавшись с операторами сайтов, Let's Encrypt смогла продлить 1,7 миллиона затронутых сертификатов до установленного срока. В конечном итоге они решили не отзывать оставшиеся затронутые сертификаты, поскольку риск для безопасности был низким, и сертификаты должны были истечь в течение следующих 90 дней.

В марте 2020 года Let's Encrypt была удостоена ежегодной награды Фонда свободного программного обеспечения за проекты, приносящие социальную пользу.

27 февраля 2020 года Let's Encrypt объявил о выдаче миллиарда сертификатов.

По состоянию на май 2021 года Let's Encrypt сообщает о выдаче 158 миллионов активных (не истекших) сертификатов.

Технология

Цепочка доверия

Корень ISRG X1 (RSA)

В июне 2015 года Let's Encrypt объявила о создании своего первого корневого сертификата RSA , ISRG Root X1. Корневой сертификат использовался для подписи двух промежуточных сертификатов , которые также были подписаны центром сертификации IdenTrust . Один из промежуточных сертификатов используется для подписи выпущенных сертификатов, а другой остается в автономном режиме в качестве резервного на случай проблем с первым промежуточным сертификатом. Поскольку сертификату IdenTrust уже широко доверяют основные веб-браузеры, сертификаты Let's Encrypt обычно могут быть проверены и приняты проверяющими сторонами даже до того, как поставщики браузеров включат корневой сертификат ISRG в качестве якоря доверия .

Корень ISRG X2 (ECDSA)

Разработчики Let's Encrypt планировали сгенерировать корневой ключ ECDSA еще в 2015 году, но затем перенесли этот план на начало 2016 года, затем на 2019 год и, наконец, на 2020 год. 3 сентября 2020 года Let's Encrypt выпустил шесть новых сертификатов: один новый корневой ключ ECDSA с именем «ISRG Root X2», четыре промежуточных звена и один крестик. Новый ISRG Root X2 имеет перекрестную подпись с ISRG Root X1, собственным корневым сертификатом Let's Encrypt. Let's Encrypt не выдавал OCSP-ответчика для новых промежуточных сертификатов и вместо этого планирует полагаться исключительно на списки отзыва сертификатов (CRL) для отзыва скомпрометированных сертификатов и короткие периоды действия, чтобы снизить опасность компрометации сертификатов.

Протокол ACME

Протокол « вызов – ответ» , используемый для автоматизации регистрации в центре сертификации, называется автоматизированной средой управления сертификатами (ACME). Он может запрашивать веб-серверы или DNS-серверы, контролируемые доменом, на который распространяется выдаваемый сертификат. В зависимости от того, соответствуют ли полученные ответы ожиданиям, обеспечивается контроль подписчика над доменом (проверка домена). Клиентское программное обеспечение ACME может настроить выделенный сервер TLS, который запрашивает сервер центра сертификации ACME с запросами с использованием индикации имени сервера (проверка домена с использованием индикации имени сервера, DVSNI), или может использовать перехватчики для публикации ответов в существующий Интернет и DNS. серверы.

Процессы проверки выполняются несколько раз по разным сетевым путям. Проверка наличия записей DNS выполняется из нескольких географически разнородных мест, что затрудняет проведение атак с подменой DNS .

Взаимодействия ACME основаны на обмене документами JSON через HTTPS-соединения. Черновик спецификации доступен на GitHub , а версия была отправлена ​​в Инженерную рабочую группу Интернета (IETF) в качестве предложения по стандарту Интернета.

Let's Encrypt реализовал собственный проект протокола ACME. В то же время они настаивали на стандартизации. Это привело к появлению «предложенного стандарта» (RFC8555) в мае 2019 года. В него были внесены критические изменения, и поэтому он был назван ACMEv2. Let's Encrypt внедрил новую версию и начал подталкивать существующие клиенты к обновлению. Подталкивание было реализовано с периодическими простоями API ACMEv1. Окончание срока службы было объявлено с указанием дат и этапов в «Плане завершения срока службы для ACMEv1». С 8 ноября 2019 г. конечная точка ACMEv1 больше не принимает регистрацию новых учетных записей. С июня 2020 года ACMEv1 прекратил принимать новые проверки домена. Кроме того, с января 2021 года ACMEv1 отключается на 24 часа. ACMEv1 планируется полностью отключить 1 июня 2021 года.

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

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

Центр сертификации состоит из программного обеспечения под названием Boulder, написанного на Go , которое реализует серверную часть протокола ACME . Он публикуется как бесплатное программное обеспечение с исходным кодом в соответствии с условиями версии 2 Общественной лицензии Mozilla (MPL). Он предоставляет RESTful API , доступ к которому можно получить по каналу с шифрованием TLS. Боулдер внутренне использует cfssl, набор инструментов CloudFlare PKI / TLS.

Apache -licensed Python программа управления сертификатами под названием certbot (ранее letsencrypt ) инсталлируется на стороне клиента (веб - сервер из абитуриента). Это используется для заказа сертификата, для проведения процесса проверки домена, для установки сертификата, для настройки шифрования HTTPS на HTTP-сервере, а затем для регулярного обновления сертификата. После установки и согласия с пользовательской лицензией достаточно выполнить одну команду, чтобы установить действующий сертификат. Также могут быть включены дополнительные параметры, такие как сшивание OCSP или HTTP Strict Transport Security (HSTS). Автоматическая настройка изначально работает только с Apache и nginx .

Let's Encrypt выдает сертификаты сроком действия 90 дней. Причина в том, что эти сертификаты «ограничивают ущерб от компрометации ключей и неправильной выдачи» и способствуют автоматизации.

Изначально Let's Encrypt разработал собственный клиент ACME - Certbot - в качестве официальной реализации. Он был передан в Electronic Frontier Foundation, а его название "letsencrypt" было изменено на "certbot". Существует большой выбор клиентов и проектов ACME для ряда сред, разработанных сообществом.

Смотрите также

дальнейшее чтение

  • Barnes, R .; Hoffman-Andrews, J .; McCarney, D .; Кастен, Дж. (Март 2019 г.). Среда автоматического управления сертификатами (ACME) RFC 8555 . IETF .

использованная литература

внешние ссылки