Шон про довіру до PKI


Деякий час тому у мене був невеликий, але важливий для ме́не пост про криптографію, хоча насправді там йшлося більше про довіру. Той пост має дещо спільне з пода́льшим текстом.

Шон деякий час тому назад написав пост. На жаль, не можу дати посилання. Є фейсбук-ака́унт Шона, і деякий час тому я там бачив цей пост, а зараз не бачу. Наразі щось змінилося, багато постів зникло; будемо сподіватися, що це тимчасові на́слідки недоступності фейсбука.

Копію тексту я знайшов у телеграм-каналі Шона трьома частинами: раз, два, три. Я дуже сильно не люблю той крємлеграм і ніколи не користуюся ним, але посилання на веб-версію хай будуть.

Тож, ось що пише Шон:

На днях правительство решило осчастливить бизнес новыми вольностями - разрешить использовать цифровые подписи на флешках вместо аппаратных ключей (6085 - про внесення змін до Податкового кодексу України щодо електронної ідентифікації та електронних довірчих послуг”. Давайте представим на секундочку, что в правительстве сидят люди с IQ чуть выше комнатной температуры и поговорим о ключах, подписях и инфраструктуре, которая обслуживает все это цифровое великолепие.

Посмотрите на картинку. Ключ - это просто два больших числа, одно из них (секретное) необходимо хранить в строжайшей тайне (его нельзя класть под облачный коврик, в паку “Завантаження” или отдавать кому-то на хранение, ни один бит не должен из него утечь), с его помощью можно сгенерировать подпись. Второе число (pub) необходимо для проверки. Это просто числа связанные друг с другом математическими законами, но не с вами - на них нигде не написано, что они ваши. Вы можете сгенерировать таких пар одну, десять, а если подождать пару секунд, то и миллион.

Когда шифрование с открытыми ключами пошло в народ, люди прекрасно об этом помнили и обменивались ключами при личной встрече. Точно так же и сейчас мы можем составить документ о том, что мы взаимно признаем публичные ключи XX:XX… и YY:YY… как принадлежащие ТОВ “Рога” и ТОВ “Копыта”, действующих на основании устава… и что все документы ими подписанные имеют ту же силу, что и бумажные. Подписать циферки перьевой ручкой и поставить сверху высококачественную мокрую печать. В двух экземплярах.

Проблемы возникают, когда мы не можем встретиться лично. Тогда нам нужен посредник, которому доверяют и “Рога” и “Копыта”. Пусть он по очереди убедиться, что ключ X - рогатый, а ключ Y - копытный, и выдаст нам подписанный документ, можно сразу электронный, а свой публичный ключ Certificate Authority (или на юридическом сленге ЦСК) пусть опубликует в газете и мамой поклянется, что не будет заверять ключи на чужое имя, а свой секретный ключ хранить в сейфе с недреманными автоматчиками и видеонаблюдением.

Мы еще не дошли до целительной роли государства в увлекательном процессе сертификации ключей, а уже возникают очень неприятные вопросы к ЦСК “Дырявожопов и сыновья”. Что значит “мамой клянется”, а что, блядь, если нет у него никакой мамы и сам он выращен в пробирке рептилоидами нам на погибель? Но ведь “замочки” на сайтах как-то работают? В том-то и дело, что “как-то”. В список проблемных CA попадали Thawte, StartCom, Comodo, DigiNotar, TurkTrust, NICCA, CNNIC, WoSign, Symantec, Certinomis, GoDaddy и даже всеми любимый Let’s Encrypt. Оправились от дыр и взломов чуть менее, чем все.

Но вернемся в родные палестины. Закон о цифровой подписи приняли у нас в 2007 году. А уникальный (переводится как “ни с чем не совместимый”) стандарт подписей в 2002. В основном для того, чтобы подавать отчетность в налоговую. Зачем для налоговой отчетности нужен полноценный PKI, с аккредитацией ЦСК (которые стали АЦСК), и привязкой ключей к паспорту никто не думал. На границе тучи ходят хмуро. Мышь не проскочит. Хотя хватило бы “личного кабинета” на сайте, с паролем выдаваемым в оффлайне.

Но можно и цифровую подпись, ради бога. А чтобы её не потеряли и не украли - засунем ее в специальный крипто-токен. Отечественный производителей в лице ІІТ и Автор, я полагаю, вполне доволен уникальностью украинских стандартов. Естественно, бизнес не оценил всего великолепия державной регуляции и стал ныть, что тридцать долларов за ключ слишком дорого. Да, и неудобно, вместо того, чтобы выписать “электронный приказ” о том, что функции бухгалтера исполняет компания “Счетоводов и Ко”, приходится отдавать им личные ключи. USB-хабы опять-таки дорожают.

Ладно, правительство пошло на встречу и разрешило хранить ключи в файлах, и даже получать в онлайне без полной идентификации. И даже АЦСК стали чуть менее аккредитованными, их перестали нагибать проверками, потому что “нельзя кошмарить бизнес”. Пока речь шла об отчетности все работало не то чтобы правильно, но вполне терпимо. Пока глаза отдельных чиновников не засветились божественным эстонским светом.

Теперь с помощью цифровой подписи можно получить документы и открыть счет в банке. Еще пару месяцев назад можно было даже кредит оформить, потом МФО от этой кормушки отключили. Возможности открываются неимоверные, куда той Эстонии! Обычный банковский троян может наворовать нам подписей, ставим на перебор, и как показывает утечка LinkedIn ломаем 60% всех паролей. Открываем дебетовые счета на левых людей, а то и юрлица и начинаем гонять грязный кеш. А терпилы, налоговая и полиция пусть с этим ебутся как хотят.

Это уже не говоря о том, как по указанию Офиса Президента один из АЦСК подписал ключ “Байдена Джо”, а до этого несколько лет назад другой АЦСК выдал сертификат на имя Руслана Рябошапки. Им изначально верить было нельзя. Не говоря уже про ключ Тупицкого и ключи нотариусов, от которых они потом отказываются в суде. И получается, что инфраструктура ключей у нас несовершенна технически, и сломана организационно. И если вам гопник на улице выдает расписку о том, что он вас не ограбил, а взял во временное пользование, то ценность такого документа невелика.

Немного привести эту систему в чувство, я полагаю можно. Передовую науку из ДСТУ можно поставить на службу национальной безопасности, а простым людям разрешить пользоваться ECDSA. Количество технических решений и конкуренция между ними возрастет стремительно. Обязать АЦСК подписывать ключи исключительно в личном присутствии, с бумажным следом. Вплоть до фотографий с бумагой, на которой напечатан публичный ключ

Самый доступный аппаратный носитель ключей это не “Алмаз”, не “Кристалл”, и даже не мобильный телефон (который надежным хранилищем никогда не был) и уж тем более не облако, а новые загран. и внутренние паспорта. Там внутри Infineon SLE78, который умеет самостоятельно генерировать ключи, и из которого крайне сложно достать секретную часть. Такой же как и в эстонских ID-картах. А еще цифровыми подписями нужно пользоваться там, где они нужны - для подписания документов.

В данный момент PKI в Украине безнадежно сломан, а ключи на флешках его окончательно превратят в такой балаган, что ни о каком доверии не может быть и речи.

P.S. Ви ж розумієте, чому я роблю собі копії деяких цікавих постів? Я хочу мати можливість перечита́ти цей текст не тільки тоді, коли Цукерберг чи Дуров дозволять.

Оновлення 6 жовтня: як і очікувалось, наступного дня пост у фейсбуці повернувся.