Самой громкой и нехорошей историей года нынешнего стала компрометация Comodo, крупнейшего в интернете перепродавца сертификатов. Некоему неизвестному умельцу (или группе злоумышленников), работая с IP-адресов в Иране, удалось тайно добраться до управления серверами СА Comodo и оформить для своих нужд сертификаты, выдающие их владельца за целый ряд известнейших и весьма чувствительных к компрометации сайтов.
Среди скомпрометированных доменов оказались, в частности, такие адреса, как google.com, login.yahoo.com и addons.mozilla.org (последний из этих доменов, к примеру, можно использовать для встраивания троянцев-шпионов в любую систему, устанавливающую новые функциональные расширения для браузера Firefox). Наконец, один из тех сертификатов, что выдали себе злоумышленники через хакнутый сервер Comodo, был оформлен не на конкретное доменное имя, а на "global trustee" (глобально доверяемая сторона). То есть речь идёт о цифровом документе, подтверждающем полномочия владельца как Органа сертификации, а значит, в принципе позволяющем выдавать себя за любой домен в интернете.
Как это получилось
Чтобы разобраться с сутью обрисованной проблемы и понять, почему здесь не видно простых и эффективных решений, для начала будет полезно вкратце вспомнить историю появления и особенности работы всей этой системы.
В начале 1990-х годов, на заре World Wide Web, несколько инженеров компании Netscape разработали протокол для защищённых HTTP-соединений. То, что получилось у них в итоге, стало известно под именем SSL, или Secure Sockets Layer ("протокол защищенных сокетов") – де-факто общепринятый сетевой стандарт для организации безопасного канала связи между сервером и клиентом в веб-сегменте интернета.
Принимая во внимание тот весьма скромный объём познаний относительно сетевых протоколов безопасности, какой имелся у разработчиков по тем временам, можно только поражаться, что SSL прослужил столько лет, сколько он уже служит. Ныне, по прошествии почти двадцати лет, можно констатировать, что протокол SSL оказался на редкость удачной разработкой – особенно при его противопоставлении другим протоколам такой же давности. Но также необходимо признать и то, что за прошедшее время разработчики систем защиты информации очень много чему научились. А стойкость SSL соответственно ныне выглядит для них существенно иным образом.
Говоря в общем, все протоколы безопасности должны обеспечивать три вещи: засекречивание послания (шифрование), его целостность (никаких вставок или потерь информации) и аутентичность (подлинность отправителя / получателя). Если любой из этих элементов взломан, то оказывается скомпрометированным и весь протокол в целом.
По строгим меркам дня сегодняшнего, протокол-ветеран SSL ни одной из этих вещей не делает красиво и элегантно (во многих случаях можно даже сказать, что еле-еле справляется). Однако самой слабой частью SSL, против которой за прошедшее десятилетие было направлено подавляющее большинство реальных атак, следует считать аутентификацию. То есть процедуру подтверждения подлинности сторон, участвующих в сеансе защищённой связи.
Именно здесь центрально важным элементом протокола SSL являются сертификаты сервера, также известные как сертификаты X.509. Когда клиент хочет соединиться с сервером через защищённый канал связи (например, HTTPS), то в исходном процессе "рукопожатия" он запрашивает этот самый SSL-сертификат сервера, подтверждающий его честность и подлинность. Критично важная проблема – откуда такие сертификаты берутся.
В начале 1990-х разработчики SSL для решения этой проблемы выбрали схему с так называемыми Органами сертификации, или, кратко, CA. Эта схема взаимного доверия, однако, изначально разрабатывалась для систем совсем других, куда меньших масштабов, нежели интернет. Но выбор был сделан, Сеть развивалась так, как развивалась, а в результате этого процесса все мы ныне так и застряли на этом решении. Хотя и прошла уже куча времени с того момента, когда система коммуникаций в интернете сильно переросла те масштабы, для которой первоначально задумывалась схема CA.
По этой причине ко всей этой системе Органов сертификации среди специалистов уже давно характерно отношение, скажем так, не очень хорошее. Правда, поначалу раздражали главным образом неадекватные цены на сертификаты, установленные CA, так что доминирующей характеристикой системы были слова "полное обдиралово". В последние же годы, когда новости об очередной серьёзной компрометации СА стали совершенно обычным делом, та же самая характеристика трансформировалась к виду "полное обдиралово, да ещё к тому же и небезопасное".