Let's Encrypt

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Let's Encrypt
Административный центр:

Сан-Франциско

Адрес:

Сан-Франциско, США

Тип организации:

Центр сертификации и свободное программное обеспечение

Основание

2014

Продукция

Центр сертификации X.509

Материнская организация

Internet Security Research Group

letsencrypt.org
Commons-logo.svg Let's Encrypt на Викискладе

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

Задачи[править | править вики-текст]

Проект Let’s Encrypt создан для того, чтобы большая часть интернет-сайтов смогла перейти к шифрованным подключениям (HTTPS). В отличие от коммерческих центров сертификации, в данном проекте не требуется оплата, переконфигурация веб-серверов, использование электронной почты, обработка просроченных сертификатов, что делает процесс установки и настройки TLS-шифрования значительно более простым[4]. Например, на типичном веб-сервере на базе Linux, требуется исполнить две команды, которые настроят HTTPS шифрование, получат и установят сертификат примерно за 20-30 секунд[5][6].

Пакет с утилитами автонастройки и получения сертификата планируется включить в официальные репозитарии дистрибутива Debian.[7] Разработчики популярных браузеров, Mozilla и Google намерены постепенно отказаться от поддержки незашифрованного протокола HTTP путём отказа от поддержки новых веб-стандартов для http-сайтов.[8][9] Проект Let’s Encrypt имеет потенциал по переводу большей части Интернета на шифрованные соединения[10].

Центр сертификации Let’s Encrypt выдает сертификаты «domain validation» со сроком действия в 90 дней[11]. Не планируется предложение более надежных сертификатов Organization Validation и Extended Validation Certificate[12].

Проект публикует множество информации с целью защиты от атак и попыток манипуляции[13] Ведется публичный лог всех транзакций ACME, используются открытые стандарты и программы с открытыми исходными кодами[5].

В 2018 году планируется поддержка сертификатов «wildcard certificate» (включающих неограниченное множество поддоменов)[14].

Участники[править | править вики-текст]

Сервис 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[15]; Stephen Kent (из Raytheon/BBN Technologies) и Alex Polvi (из CoreOS)[5].

Технологии[править | править вики-текст]

В июне 2015 года был создан корневой RSA-сертификат для проекта Let’s Encrypt. Он хранится в аппаратном HSM-модуле, не подключённом к сетям[16]. Данный корневой сертификат использовался для подписывания двух промежуточных сертификатов[16], которые также были подписаны центром IdenTrust[17]. Один из промежуточных сертификатов используется для выпуска конечных сертификатов сайтов, второй держится в качестве резервного в хранилище, не подключённом к Интернету, на случай проблем с первым сертификатом[16]. Поскольку корневой сертификат IdenTrust предустановлен в большинстве операционных систем и браузеров в качестве доверенного корневого сертификата, выдаваемые проектом Let’s Encrypt сертификаты проходят проверку и принимаются клиентами[18], несмотря на отсутствие корневого сертификата ISRG в списке доверенных.

Позже, в конце 2015 — начале 2016 года планируется также сгенерировать корневой стандарт с ключом по алгоритму ECDSA[16][19].

Протокол аутентификации сайтов[править | править вики-текст]

Для автоматической выдачи сертификата конечному сайту используется протокол аутентификации класса «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 соединения.[20] Черновик протокола опубликован на GitHub,[21] и отправлен в Internet Engineering Task Force (IETF) в качестве предложения для интернет-стандарта[22].

Программная реализация[править | править вики-текст]

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

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

Клиент протокола ACME, certbot (ранее letsencrypt), открыт под лицензией Apache[24] и написан на языке Python. Этот клиент устанавливается на конечном сервере и используется для запроса сертификата, проведения валидации домена, инсталляции сертификата и настройке HTTPS шифрования в веб-сервере. В дальнейшем этот клиент используется для регулярного перевыпуска сертификата по мере окончания срока действия[5][25]. После установки и принятия лицензии достаточно выполнить одну команду для получения сертификата. Дополнительно могут быть включены опции OCSP stapling и HTTP Strict Transport Security (HSTS, принудительное переключение с HTTP на HTTPS)[20]. Автоматическая настройка 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[26].

Впервые проект Let’s Encrypt был публично анонсирован 18 ноября 2014 года[27].

28 января 2015 года протокол ACME был отправлен в IETF для принятия в качестве стандарта Интернета[28].

9 апреля 2015 года ISRG и Linux Foundation объявили о сотрудничестве[15]. Корневой и промежуточные сертификаты были созданы в начале июня[18].

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

Подпись промежуточных сертификатов от IdenTrust была запланирована на период начала широкой доступности Let’s Encrypt[17].

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

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

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

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]