On Sun, Aug 04, 2019 at 09:41:20PM +0300, artiom wrote:
> >   Интересно это прежде всего как неожиданный поворот для модели
> >   безопасности, основанной на 509х сертификатах.
> >   Поскольку API всех популярных браузеров на сегодняшний день
> >   не позволяют получить в javascript'e информацию о сертификате,
> >   то владельцу сайта непросто защитить всех своих посетителей от
> >   опасности местечкового MitM.
> 
> Это естественная проблема всякого централизованного доверительного центра.
> И никакая "информация в JS" эту проблему не решит.
> Если браузеры выполнят требования о добавлении сертификата, значит имеется
> рычаг давления, позволяющий сделать что-угодно, в том числе не возвращать
> информацию о "левом" корневом сертификате в JS вызове.

 Вы не поняли. Если бы в JS была возможность получить атрибуты сертификата,
 то владелец сайта мог бы запрограммировать дополнительные проверки на то,
 что браузер получил именно тот сертификат, который принадлежит его сайту.

 Теоретически любую такую проверку можно обойти, но практически государству
 легче будет поломать ключи всех корневых сертификатов брутфорсом, нежели
 бороться с тысячами "вражеских" сайтов, постоянно меняющих код. :)

> > Я пока не вижу иного выхода для
> >   владельца сайта, кроме как выдавать пользователям клиентские
> >   сертификаты и требовать их для доступа к ценным данным.
> 
> Так уже есть токены.

 Токен это хранилище ключа, а клиента в модели x509 удостоверяет сертификат.
 Независимо от того, как клиент хранит свой ключ, в файле или в тукене.

> >   Кто-нибудь знает более простое решение?
> 
> Ну так известный же вам и всем остальным факт: всякая система основывается
> на доверии, и не имея доверенного канала (хотя бы защищённого от MitM)
> невозможно гарантированно надёжно обменяться ключами.

 Нет, всё гораздо сложнее. Есть, например, известный факт, что любое сколь
 угодно длинное число может быть разложено на простые множители. Вот только
 времена всех известных алгоритмов для решения этой задачи так быстро растут
 с длиной числа, что на этом основан метод шифрования RSA. Так что один лишь
 факт разложимости числа на практике оказывается недостаточен, есть ещё
 другие факторы, и они ЗНАЧИМЫ. Точно так же наличие MitM недостаточно,
 чтобы читать любую переписку, оно даёт такую возможность лишь для цензоров
 на сферических конях в вакууме, то есть в том случае, если другие значимые
 факторы считать не существующими. :)
-- 
 Eugene Berdnikov

Ответить