подписывать сертификаты для других доменов'.
Иначе говоря, на основе SSL-сертификатов выстраиваются цепочки взаимного доверия. Чтобы вся эта система работала, браузеры должны доверять большому количеству самых разных органов сертификации. А итоговая безопасность соединений по HTTPS оказывается сильной и надёжной лишь до той степени, до какой можно доверять наиболее слабому звену в этой цепочке из разных СА.
Если же сертификат по той или иной причине скомпрометирован (украден, подделан и т.д.), то якобы 'безопасные' соединения становятся лёгкой добычей для так называемых MITM-атак, то есть атак по типу 'человек посередине' (man-in-the-middle). Веб-пользователь полагает, что подсоединился к сайту, предположим, банка, а появившийся в адресном окошке замочек подтверждает, что сеанс связи защищен SSL-криптографией – и значит, сайт предоставил необходимый сертификат, подтверждающий его подлинность. На самом же деле сайт может быть лишь фальшивым пересыльщиком, его сертификат – мошенническим, а управляющий им злоумышленник пересылает пароли доступа или платёжные реквизиты в реальный банк от имени обманутых пользователей, получив возможность их обворовывать или просто незримо контролировать их действия.
Массовое распространение MITM-атак вынуждает применять для защиты разные дополнительные меры помимо SSL. Так, в онлайновом банкинге ныне уже повсеместно стали прибегать к использованию одноразовых паролей – из заранее выдаваемых клиентам чеков или рассылаемых на мобильник через SMS. А почтовый сервис Gmail, к примеру, для дополнительного контроля за аккаунтом сообщает своим пользователям, с какого IP-адреса реально происходит вход в почтовый ящик, и ведёт журнал с регистрацией всех таких заходов.
С другой стороны, регулярно появляющиеся в СМИ известия свидетельствуют, что компрометация SSL- сертификатов уже давно стала совершенно обычным делом. Наиболее громким скандалом из этой области в 2008 году стало выявление катастрофической слабости в SSL-сертификатах, выданных дочерним подразделением одного из самых уважаемых CA – корпорации VeriSign. В 2009 был выявлен массовый выпуск мошеннических реквизитов платежной системы PayPal, обманывавших браузеры Internet Explorer, Chrome и Safari на протяжении более двух месяцев. В 2010 разразилась загадочная история с корневым SSL-сертификатом, который был встроен непосредственно в программное обеспечение Mac OS X и Mozilla, но при этом было совершенно неясно, кому именно эти реквизиты принадлежат (в итоге, после долгой заминки, в своём родительстве решилась признаться фирма RSA Security).
Самой громкой и нехорошей историей года нынешнего стала компрометация 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, так что доминирующей характеристикой системы были слова 'полное обдиралово'. В последние же годы, когда новости об очередной серьёзной компрометации СА стали совершенно обычным делом, та же самая характеристика трансформировалась к виду 'полное обдиралово, да ещё к тому же и небезопасное'.
В итоге, по состоянию на сегодняшний день, уже отовсюду раздаются настойчивые голоса о необходимости замены в протоколе SSL того явно неадекватного элемента, что отвечает за аутентификацию сторон. Однако при этом в предлагаемых альтернативах нередко просматривается схема, грозящая совершением той же самой ошибки, но уже по второму разу.
Разные взгляды на проблему
Безусловным шагом вперёд к решению проблем SSL является то, что ныне в сообществе уже имеется общий консенсус о непригодности существующей системы СА применительно к современным условиям. Но хотя практически все и согласны, что явно назрела необходимость разработать нечто иное, такого же согласия и близко нет в оценке того, что именно здесь является сутью проблем. Основные различия во взглядах выглядят примерно так.
Согласно одной – наиболее распространённой, наверное – точке зрения, Органов сертификации развелось чересчур много. Специалисты организации EFF, не так давно просканировавшие интернет на данный предмет, установили, что в Сети ныне насчитывается свыше 650 разных организаций, уполномоченных подписывать сертификаты. Для кого-то такие цифры сами по себе выглядят довольно большим количеством, неизбежно чреватым проблемами – от бесконтрольной нечистоплотности в делах до регулярных сбоев при массовых отзывах скомпрометированных сертификатов.