Если верить разработчикам центра сертификации Let’s Encrypt, вскоре каждое интернет-соединение будет зашифровано. Реализовать это позволит протокол сертификации ACME.
Порой небольшие события способны изменить мир. На своей конференции для разработчиков I/O в 2014 году представители Google впервые заговорили о том, что HTTPS-соединения должны стать стандартом в виртуальном мире. По их мнению, незашифрованный трафик со временем уйдет в прошлое, вместо этого протокол HTTP будет осуществляться лишь через TLS (Transport Layer Security).
Однако долгое время в этом отношении мало что предпринималось. Основную проблему веб-шифрования составляли сложные и дорогостоящие сертификаты, о которых должны были позаботиться сами администраторы сайтов. Лишь несколько месяцев спустя Google сделала первый шаг и отдала предпочтение зашифрованным веб-страницам в порядке выдачи результатов своей поисковой машиной.
Бесплатные TLS-сертификаты
Протокол TLS вплоть до конца 2015 года был доступен в первую очередь профессиональным службам, опытным администраторам и терпеливым умельцам. Каждый, кто уже пытался добавить на свой сайт сертификат, знает, что эта процедура может быть крайне трудоемкой. С запуском центра сертификации Let’s Encrypt в конце 2015 года ситуация изменилась. За этим проектом стоит корпорация Internet Security Research Group, чьи участники имеют высокий вес в IT-индустрии. В игру вступили такие компании, как Akamai, Cisco, Google и Mozilla. Особенность этой инициативы даже не в том, что сертификат X.509 будет бесплатным, а в простоте его использования.
Управление сертификатами на удивление несложное. Множество этапов протекают автоматически благодаря пересмотренному протоколу ACME (Automatic Certificate Management Environment), с помощью которого веб-сервер взаимодействует с сертификационным сервером.
Пока ACME представлен в виде специального интернет-проекта, впоследствии он должен стать официальным стандартом Инженерного совета Интернета IETF. В действительности он уже таковым является, поскольку в середине 2017 года Let’s Encrypt уже распространил 40 миллионов сертификатов TLS посредством ACME.
Разумеется, идея сертификатов шифрования заключается не в том, чтобы вручить в любые руки любой домен, а в детальной проверке владения. До ACME это был ручной и далеко не прозрачный процесс. Новый же протокол основывается на уведомлениях в открытом JSON-формате. Он берет на себя автоматическую проверку интернет-доменов, выдает цифровые сертификаты для TLS-шифрования и настраивает их на веб-сервере.
ACME способствует распространению HTTPS
Зашифрованное, защищенное от «прослушки» веб-соединение предпочтет любой пользователь. Однако прежде для защиты своего присутствия в Сети необходимо было выложить деньги и повозиться со сложными технологиями. Одним махом ситуацию в конце 2015 года поменял проект Let’s Encrypt, внедрив ACME, Automatic Certificate Management Environment.
Сертификация на практике
За сложным понятием Automatic Certificate Management Environment скрывается довольно-таки простой процесс. Пользователю необходима лишь действующая веб-страница, соответствующий домен и права администратора к ним. На веб-сервере, являющимся хостом для сайта, следует установить клиент ACME.
ACME v2 запустят в 2018-м в качестве официального нового стандарта IETF
Как правило, достаточно ввода команды «letsencrypt -auto —apache -d domain», чтобы запустить последовательность действий, которая применяется ко всем доменам и субдоменам, перечисленным после параметра «-d». Клиент без участия пользователя считывает конфигурацию веб-сервера, генерирует ассиметричную пару ключей, создает учетную запись пользователя для веб-сервера в центре сертификации и запрашивает сертификат.
Таким образом, запросить сертификат для своего домена может даже неспециалист — подробное течение процесса демонстрирует график на правой странице. ACME встроил в него также механизм для проверки владельца. По запросу веб-сервера Let’s Encrypt создает задачу, которая может быть выполнена лишь в том случае, если имеются административные права на этот домен.
Существует множество вариантов такой проверки; самый простой, к примеру, — это размещение определенного файла в директории веб-сервера. Однако и эту работу ACME-клиент проделывает без участия собственника домена.
Последующие шаги зависят от конкретного варианта исполнения ACME-клиента. Чаще всего владельцу сайта демонстрируются несколько окон с подробными
настройками. К примеру, здесь можно задать адрес электронной почты, на который будут приходить уведомления о необходимости продления сертификата. Кроме того, доступен выбор между следующими вариантами: дополнительный доступ к веб-сайту через HTTP или же доступ исключительно по HTTPS. Спустя несколько минут настройка завершена, а веб-сервер окончательно сконфигурирован.
Автоматизация сертификации благодаря ACME
Команда в ACME-клиенте на веб-сервере запускает автоматический процесс сертификации. Основная цель обмена информацией между веб-сайтом и центром сертификации — установление владельца домена. Для этого ACME выдает клиенту задачу — к примеру, разместить файл в определенной директории.
На пути к веб-стандарту
До сих пор ACME и Let’s Encrypt крепко связаны друг с другом. Однако предстоящее превращение в официальный IETF-стандарт в 2018 году существенно отдалит этот протокол от бесплатного центра сертификации — в том числе и для того, чтобы не поддерживать исключительно Let’s Encrypt. Под заголовком ACME v2 должны появиться и другие технические новинки, касающиеся в первую очередь функций «под капотом». К примеру, ожидаются возможности для опознавания и более точная проверка владельца домена.
В следующей версии планируется и усовершенствование коммуникации между клиентом и сервером. Те, кто уже сейчас пользуется ACME, к сожалению, не смогут автоматически перейти на ACME v2. По меньшей мере придется обновить клиент.