(no subject)
Apr. 1st, 2013 10:33 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Продолжая тему: тут я говорил о том, как частный хакер или группа может обойти безопасность SSL и других протоколов, основанных на наследовании доверия к криптоключам.
Но есть ещё одна сторона, куда более опасная: государство. С этой точки зрения, SSL - это одна сплошная дыра, хуже того: чистая иллюзия безопасности. Потому что государству не нужно хитрым методом подбрасывать свой криптоключ в список доверенных на миллионах компьютеров: достаточно всего лишь заставить любой из десятков центров сертификации (CA), ключу которого миллионы компьютеров доверяют уже сейчас, подписать сертификат дочернего CA, управлять которым будет спецслужба. После чего этот дочерний CA может выписать сертификат на абсолютно любой сайт, мейл, программу и т.д.
Причём вполне возможно, что получить такую подпись от CA спецслужба может методом безупречно легальным: каким-нибудь судебным ордером, обязующим оказывать содействие. Впрочем, я бы не стал особо сомневаться, что и в неофициальном порядке вряд ли Verisign откажется помочь NSA, а израильский StarCom - ШАБАКу.
Излишне говорить, что у государств также и наибольшие возможности по перехвату траффика и проведению "man-in-the-middle"-атак.
Авторы этой статьи задались вопросом, как же можно защитить юзера от спецслужбистского любопытства, и предложили решение - очень частичное, но хоть какую-то дополнительную защиту предлагающее. Они написали плагин к Firefox под названием CertLock, действующий по такой логике:
при первом заходе на новый сайт по HTTPS браузер запоминает, какой сертификат был предъявлен сайтом, какой его подписал и т.д. - вплоть до корневого,
если при последующих заходах ВДРУГ оказывается, что сертификат сайта подписан CA не той страны, что раньше - браузер решает, что имеет быть попытка шпионажа, и выкидывает огромное предупреждение.
Эта логика предназначена для защиты от очень определённого сценария: когда правительство (не той страны, к которой принадлежит оригинальный CA, а какой-то другой) пытается вклиниться на линию между сайтом и пользователем, и ради этого заставляет CA на своей территории выдать липовый сертификат.
Авторы приводят такой пример: допустим, американец приезжает в Париж на деловые переговоры и заходит в почту своей фирмы через веб-интерфейс. Почтовый сайт заверен сертификатом от американского CA. Французские спецслужбы, чтобы подыграть своим на переговорах, используют свою власть, чтобы получить от местного CA фальшивый сертификат и подсунуть его американцу, чтобы просмотреть его переписку (что технически нетрудно, поскольку тот использует французскую же сеть).
Этот плагин не поможет в случае, если:
Французская спецслужба располагает сертификатом от американского CA (по ордеру такой они вряд ли получат, но ведь есть и неофициальные методы).
Оригинальный сертификат был почему-либо заказан у французского CA, несмотря на то, что защищает он американский сайт американской фирмы.
Против него играет не французская, а штатовская спецслужба, которая получила сертификат от американского же CA - того, который действительно подписал сайт, или любого другого.
Липовый сертификат был успешно подсунут при первом же заходе и при всех дальнейших (маловероятно? а как сказать, учитывая, что спецслужба может проконтролировать весь траффик через провайдера каким-нибудь СОРМом).
Наконец, эта защита предназначена исключительно для HTTPS, и нимало не поможет в других технологиях - например, в случае подписанных программ.
Наиболее опасным из государственных противников оказываются при таком раскладе (сюрприз, сюрприз!) США. Наиболее популярные CA (Verisign, Thawte, GeoTrust, GoDaddy, многие другие) - американские, поэтому обнаружить подмену в их случае наиболее сложно. Тем не менее, авторы статьи нашли целый ряд банковских сайтов, подписанными американскими CA - при том, что принадлежат эти банки странам, где у США есть очевидные разведывательные интересы: Пакистан, Ливан, Саудовская Аравия. Кстати, и наш банк Хапоалим тоже заверен Verisign. :-)
Авторы приводят также перечень альтернатив - очень похожих на то, что я писал здесь: выкидывать предупреждение при любом изменении сертификата (слишком много false alarms) или использовать сервис, проверяющий сайт с нескольких мест, чтобы убедиться что сертификат не подменён (недостаток: сервис получает возможность отслеживать, куда юзер ходит - удар по приватности; плюс опять же false alarms).
Но в общем и в целом решения нет.
Есть, правда, и хорошая сторона в этом деле: если государство или ещё кто-то любопытный использовал фальшивый сертификат, подписанный известным CA, и это удалось обнаружить - то сам факт подделки опровергнуть практически невозможно. Если удалось такой сертификат выцепить - то CA не сможет отрицать свою подпись, а значит, есть нехилый шанс на всесетевой скандал и очень болезненный удар по репутации этого CA. Мало кому захочется доверяться честному слову конторы, пойманной за откровенным предательством доверия.
Но есть ещё одна сторона, куда более опасная: государство. С этой точки зрения, SSL - это одна сплошная дыра, хуже того: чистая иллюзия безопасности. Потому что государству не нужно хитрым методом подбрасывать свой криптоключ в список доверенных на миллионах компьютеров: достаточно всего лишь заставить любой из десятков центров сертификации (CA), ключу которого миллионы компьютеров доверяют уже сейчас, подписать сертификат дочернего CA, управлять которым будет спецслужба. После чего этот дочерний CA может выписать сертификат на абсолютно любой сайт, мейл, программу и т.д.
Причём вполне возможно, что получить такую подпись от CA спецслужба может методом безупречно легальным: каким-нибудь судебным ордером, обязующим оказывать содействие. Впрочем, я бы не стал особо сомневаться, что и в неофициальном порядке вряд ли Verisign откажется помочь NSA, а израильский StarCom - ШАБАКу.
Излишне говорить, что у государств также и наибольшие возможности по перехвату траффика и проведению "man-in-the-middle"-атак.
Авторы этой статьи задались вопросом, как же можно защитить юзера от спецслужбистского любопытства, и предложили решение - очень частичное, но хоть какую-то дополнительную защиту предлагающее. Они написали плагин к Firefox под названием CertLock, действующий по такой логике:
Эта логика предназначена для защиты от очень определённого сценария: когда правительство (не той страны, к которой принадлежит оригинальный CA, а какой-то другой) пытается вклиниться на линию между сайтом и пользователем, и ради этого заставляет CA на своей территории выдать липовый сертификат.
Авторы приводят такой пример: допустим, американец приезжает в Париж на деловые переговоры и заходит в почту своей фирмы через веб-интерфейс. Почтовый сайт заверен сертификатом от американского CA. Французские спецслужбы, чтобы подыграть своим на переговорах, используют свою власть, чтобы получить от местного CA фальшивый сертификат и подсунуть его американцу, чтобы просмотреть его переписку (что технически нетрудно, поскольку тот использует французскую же сеть).
Этот плагин не поможет в случае, если:
Наиболее опасным из государственных противников оказываются при таком раскладе (сюрприз, сюрприз!) США. Наиболее популярные CA (Verisign, Thawte, GeoTrust, GoDaddy, многие другие) - американские, поэтому обнаружить подмену в их случае наиболее сложно. Тем не менее, авторы статьи нашли целый ряд банковских сайтов, подписанными американскими CA - при том, что принадлежат эти банки странам, где у США есть очевидные разведывательные интересы: Пакистан, Ливан, Саудовская Аравия. Кстати, и наш банк Хапоалим тоже заверен Verisign. :-)
Авторы приводят также перечень альтернатив - очень похожих на то, что я писал здесь: выкидывать предупреждение при любом изменении сертификата (слишком много false alarms) или использовать сервис, проверяющий сайт с нескольких мест, чтобы убедиться что сертификат не подменён (недостаток: сервис получает возможность отслеживать, куда юзер ходит - удар по приватности; плюс опять же false alarms).
Но в общем и в целом решения нет.
Есть, правда, и хорошая сторона в этом деле: если государство или ещё кто-то любопытный использовал фальшивый сертификат, подписанный известным CA, и это удалось обнаружить - то сам факт подделки опровергнуть практически невозможно. Если удалось такой сертификат выцепить - то CA не сможет отрицать свою подпись, а значит, есть нехилый шанс на всесетевой скандал и очень болезненный удар по репутации этого CA. Мало кому захочется доверяться честному слову конторы, пойманной за откровенным предательством доверия.