2
Что такое TLS-сертификат?
3
А что такое цифровой сертификат в принципе?
Упрощённо говоря, цифровой сертификат – это публичный ключ с блоком информации о получателе (кому, кем выдано, даты начала и окончания действия и пр.) и подписью удостоверяющего центра (УЦ).
4
А почему мы можем доверять TLS-сертификатам?
Потому что (обычно) сертификаты выдаются сертифицированными УЦ (certificate authority, центры сертификации), проходящими очень жёсткие процедуры аудита и ведущими свою деятельность максимально открыто, что позволяет браузерам и операционным системам выражать своё доверие им, включая их в список доверенных.
5
И мы можем доверять этим центрам?
Теоретически, центр может выдать другим лицам (не являющимся владельцами доменов) дублирующий сертификат на чужой домен, чтобы установить на сети провайдера «жертвы» «подслушивающее» оборудование. И такой сертификат позволит атакующему обмануть «жертву», чтобы та не заметила подмену и общалась бы не с целевым сайтом, а с перехватывающим оборудованием (атака «человек посередине», она же «атака посредника»).
Но в случае с "обычными" УЦ не всё так просто. Непрямой контроль за ними существует. Во-первых, это очень сильное внимание со стороны огромных сообществ IT-энтузиастов и IT-гигантов, которые постоянно мониторят и анализируют деятельность центров. Во-вторых, есть некоторые формальные признаки для оценки этой деятельности, правда, скорее понятные тем же IT-энтузиастам или специалистам, работающим непосредственно по этой теме.
Например, время от времени признаки «подслушивания» становятся явными. Так, однажды 2011 году взломали голландский центр DigiNotar и украли их сертификаты. Однажды их обнаружили в Иране: вместо нужных сертификатов пользователи стали получать другие. Когда это вскрылось, IT-компании стали выкидывать DigiNotar из доверенных списков.
6
А откуда сам браузер знает, какие центры «хорошие», а какие – «плохие»?
В браузеры и операционные системы эта информация уже «вшита» производителем и её обновление на его «плечах». Плюс, как правило, и браузеры и ОС дают пользователям вносить свои правки: там есть свои «хранилища» (условная абстракция), куда можно добавлять и удалять сертификаты.
7
А можем ли мы доверять этим браузерам и операционным системам?
У них довольно прозрачный список формальных требований: они мотивируют свои отказы, их можно «обжаловать» и т.д. Так что, как минимум, видеть, что и почему происходит, мы имеем возможность. Если рассматривать с точки зрения злых намерений, то, в теории, можно, наверное, подкупить всю цепочку ответственных людей, чтобы ни на одном этапе не всплыло ничего, что всположило бы IT-сообщество, но мы про такие случаи не слышали :)
8
Правильно понимаю, что тот, кто делает сертификаты, может «подсматривать» трафик пользователей?
Не совсем. Он может только позволить другим устроить «атаку посредника» незаметно для прослушиваемого. Именно в этом плане существующая система всё равно не идеальна (есть подвижки к исправлению, но, увы, повсеместно внедрённые стандарты очень тяжело изменяются, и это затягивается на годы).
9
М-м, у меня сложилось впечатление, что можем доверять, а тут вдруг такое заявление.
Дело в том, что то до сих пор не существует «живых» (не «лабораторных», имеющих кучу допущений) реализаций механизма, который позволил бы гарантировать привязку конкретного сертификата к конкретному сайту/домену (по крайней так, чтобы это тоже нельзя было подделать), исключив «атаку посредника», даже в случае, если другой доверенный УЦ подпишет сертификат для того же домена.
Кроме того, по мнению некоторых эксперов в области криптографии, сама идея поставляемого кем-то списка доверенных УЦ в чём-то противоречит изначальной сути криптографии и даёт широкий простор для возможного злоупотребления.
10
У других стран был опыт создания таких сертификатов?
Да. Казахстан давно уже пытается сделать свой национальный сертификат. Они просили Mozilla (разработчик браузера Firefox) добавить их сертификат в их доверенный список, но, к счастью, компания Mozilla не согласилась. Так же, например, поступил и Google.
Исследование платформы Censored Planet тогда показало, что казахстанские интернет-провайдеры предоставляли пользователям доступ в интернет при условии установки государственного сертификата. С помощью него власти могли отслеживать активность граждан на определенных сайтах. Речь шла о Facebook, Twitter, Google и ещё 34 сайтах.
11
Мне кажется, в идее своих национальных сертификатов нет ничего плохого…
В идее своих – «личных» – сертификатов ничего плохого нет. Они широко используются, например, в корпоративном секторе. Просто они не интегрированы в международную «систему сдержек и противовесов», следовательно, вся ответственность за доверие каждому такому сертификату ложится на плечи пользователя. Специалисты ещё могут как-то проверять и верифицировать их, но неспециалистам сделать это крайне трудно. Поэтому и существует текущая система с доверенными удостоверяющими центрами, хоть она и не идеальная.
Что касается национальных сертификатов, то, если «суверенное» государство будет делать зависимые от него удостоверяющие центры и их подписи станут повсеместно приниматься как валидные, это просто перечеркнёт всю суть использования криптографии, поясняет наш технический специалист Вадим Мисбах-Соловьёв.
«Потому что они смогут вскрывать любой зашифрованный TLS-трафик благодаря тому, что в одних руках окажутся и заверение сертификатов, и прослушивающее оборудование, с помощью которого можно будет устраивать атаку посредника в целях прослушки», – говорит он.
12
Что же тогда делать?
Директор АНО «Информационная культура» Иван Бегтин рекомендует:
- устанавливать сертификат на отдельное, редко используемое устройство;
- устанавливать его на виртуальную операционную систему, используемую редко и не устанавливать его на основное устройство(-а);
- перестать использовать Сбербанк и любой иной сервис который такие сертификаты будет навязывать.