Pull to refresh

Comments 41

Кто-нибудь мне объяснить в чём смысл ИОК (PKI), если необходимо где-то как-то доставать сертификаты ЦС (CA). Им нужно доверять, а следовательно их нужно получить из доверенных источников. Меня всю дорогу умиляло, что ЦС для работы с госуслугами качается на сайте госуслуг по простому http (раньше, сейчас не знаю). Это что вообще за фигня?.. Мне нужно установить в хранилище доверенных сертификатов это. А откуда я знаю что его по дороге не подменили? Можно было бы рассылать его хеш в разных журналах для бухгалтеров и вообще писать на каждом заборе, тогда это было бы чем-то осмысленным, а так хрень.

А тут вообще скриптами, что-то, откуда-то, как-то тянут. Это каким местом относится к идентификации и аутентификации участников обмена то? Нафиг нам такое нужно?

Удостоверяющий Центр — это фактически тот же ОВД, только выдает не паспорт, а сертификат. И когда хотят проверить паспорт, то обращаются в ОВД (сейчас миграционная служба) за подтверждением, что они выдавали такой-то паспорт и он на данный момент действителен. Аналогично и с сертификатом — обращаются в УЦ за поддтверждением (в частности через списки отозванных сертификатов, службу OCSP). В простом http тоже нет криминала, если информация передается подписанной, а тем более зашифрованной. И том и другом случае ее нельзя подминить.


Мне нужно установить в хранилище доверенных сертификатов это. А откуда я знаю что его по дороге не подменили?

Он же сертификат, его нельзя подменить. Это будет либо не сертификат либо какой-то чужой сертификат. И при подписании/проверки/шифровании.дешифровании все это всплывет. И вам нужно будет все же поставить корневой сертификат вашего УЦ и всю цепочку.


Можно было бы рассылать его хеш в разных журналах для бухгалтеров и вообще писать на каждом заборе, тогда это было бы чем-то осмысленным, а так хрень.

Так это так и делается. Все о чем вы говорите, есть так или иначе в сертификате. Сертификат вещь публичная.


Нафиг нам такое нужно?

Вы просто еще не осознали всей прелести ИОК/OKI, тем более у нас она такая сегодня какая есть. А это горько. Хорошее дело десткркдитируктся. Я лично понимаю ваши эмоции. Сам каждый день, извини, плююсь на наше цифровую"экономику".

Вы так пишете, как будто не понимаете зачем нужны корневые сертификаты. А нужны они затем, чтобы этот самый удостоверяющий центр можно было идентифицировать и отличить от поддельных удостоверяющих центров.


Аналогично и с сертификатом — обращаются в УЦ за поддтверждением

Чтобы обратиться в УЦ и знать, что это настоящий УЦ а не фейковый — вам нужно заранее иметь его сертификат. А вы только хотите его скачать.


если информация передается подписанной,

До тех пор, пока этого сертификата у вас нет, никакие подписи вы проверить надёжно не сможете.


Он же сертификат, его нельзя подменить. Это будет либо не сертификат либо какой-то чужой сертификат. И при подписании/проверки/шифровании.дешифровании все это всплывет. И вам нужно будет все же поставить корневой сертификат вашего УЦ и всю цепочку.

Если вам подсунут поддельный сертификат и будут постоянно производить MITM, то ничего не всплывёт. А в каких-то сценариях и без MITM не всплывёт.

До тех пор, пока этого сертификата у вас нет, никакие подписи вы проверить надёжно не сможете.

Подпись либо есть, либо нет. Другого не дано. Что такое проверить надежно вообще загадка. См. предыдущее предложениею


Если вам подсунут поддельный сертификат и будут постоянно производить MITM, то ничего не всплывёт. А в каких-то сценариях и без MITM не всплывёт.

Какой поддельный сертификат и как мне можно подсунуть? Это как в ФНС и Госуслуги, которыми мы пользуемся, кто, что-то подсунет?
Это из какой-то потусторонней действительности.

Какой поддельный сертификат и как мне можно подсунуть?
Нужно определиться от чего мы защищаемся используя ГОСТовые УЦ. Я смею предположить, что от западных спецслужб (от всего остального защищает PKI на западных алгоритмах). А поскольку они потенциально контролируют выпуск стандартных https сертификатов, то получать корневой ГОСТовый сертификат недоверенным способом (по западному https) по меньшей мере странно.

Это из какой-то потусторонней действительности.
Из потусторонней действительности то, что мой приватный ключ подписи налоговой декларации хранится у потенциального нарушителя (он генерируется и хранится на сайте ФНС) и доступ к нему осуществляется по обычному паролю (!) через канал связи, защищенный западными алгоритмами. Такая система «защиты» ничего, кроме недоумения не вызывает.
Чего-чего??? Если от вас ушел приватный ключ — это называется «дискредитация сертификата», о чем вы должны немедленно заявить в УЦ. Приватный ключ — он на то и приватный, что никуда дальше вас не уходит. Вы, видимо, путаете приватные и сессионные ключи…
Нет, не путаю. Посмотрите как устроена подпись документов в ФНС. www.nalog.ru/rn53/news/tax_doc_news/5750992

Обратите внимание на «ключ электронной подписи хранится в «облаке» в защищенном хранилище ФНС России». Именно этот вариант работает, если у вас нет сертифицированного криптопровайдера на ПК.
Что мешает поставить сертифицированное СКЗИ?
Во-первых, рекомендуемый на сайте ФНС криптопровайдер КриптоПРО CSP стоит 2700 руб.
Во-вторых, я бы не хотел ставить в систему ПО, которое на низком уровне вмешивается в работу ОС. Решения от вендоров ОС вдоль и поперек исследуются экспертами со всего мира, чего мы не можем сказать об отечественных (или западных небольших) разработчиках. Кто исследует их ПО?

Также стоит отметить, что ПО криптопровайдера скачивается по каналам, защищенным западными алгоритмами. Так от чего мы защищаемся? )
А какое отношение шифрование имеет к проверке подлинности?
Во-первых, рекомендуемый на сайте ФНС криптопровайдер КриптоПРО CSP стоит 2700 руб.

Вот это и порочно. Это и навязывание и еще есть другое слово.
Все должно быть доступно как на западе: поставил ОС, если это Windows доступны CSP. Поставил linux — доступно NSS. Firefox поставил в нем или при нем все есть. Это касается и IE и GoogleChrome и т.д.

Решения от вендоров ОС вдоль и поперек исследуются экспертами со всего мира, чего мы не можем сказать об отечественных (или западных небольших) разработчиках

Вы меня простите, но это утверждение со времён когда в OpenSSL, куда не просто смотрят, а целенаправленно его анализируют крутые (надеюсь самые крутые) эксперты по безопасности, нашли дыры, которым выжить помогло нечитаемость того кода, в котором они жили. Чем популярнее ПО тем больше желания у разных органов в нём оставить свои закладки… И да, органы в просвещённом западе тоже есть, и они не менее зубасты и прилипчивы чем наши.

Да есть такая уникальная возможность в ФНС. Создают какую-то электронную подпись (причем сразу и на все слчае жизни). Вообще ничего не надо, пи провайдеров, ни IE, ни Windows. Что подписываеися и как (многие говорят что ничего не подписывается, а все работает по галочке). Пользователь никак и ни на что не влияет. За него можно подписать все что угодно. Как написал a0fs:


Нафиг нам такое нужно?
Нужно определиться от чего мы защищаемся используя ГОСТовые УЦ. Я смею предположить, что от западных спецслужб (от всего остального защищает PKI на западных алгоритмах). А поскольку они потенциально контролируют выпуск стандартных https сертификатов, то получать корневой ГОСТовый сертификат недоверенным способом (по западному https) по меньшей мере странно.

Используя ГОСТ-овский УЦ мы решаем не задачу борьбы со спецслужбами, поскольку, если у нас западное ПО, то с этими спецслужбами бороться сложно, они вполне могут иметь у нас свои закладки (надеюсь мы не будем дискутировать по вопросу о их наличии, и остановимся на том, что теоретически они там могут быть, а следовательно полностью доверять ПО мы не можем), а следовательно несколько лишено смысла. При этом я КРАЙНЕ надеюсь, что нашим разработчикам ОС (да это линукс, QNX, что-то ещё, не суть) хватило ума вложить сертификат ГУЦ в свою систему и нам получать его уже не нужно. Мы решаем другую задачу, развития собственных криптографических средств и собственной инфраструктуры. Кроме того, параноик внутри меня задаёт много неудобных вопросов основные из них: почему вывоз из США RSA был полу-шпионской историей со странными телодвижениями, а текущий шифр AES-256 которым, по слухам закрывается всё вплоть до гостайны США встраивается в процессоры и экспортируется свободно? А тот ли это шифр которым закрывают гостайну? А может есть гражданская версия шифра, с гораздо меньшим уровнем стойкости? Если мы можем создать свой шифр, имеем школу математиков и нам по силам эта задача, то мы ДОЛЖНЫ создать этот шифр любой ценой. Это как держать на своём вооружении танки выпускаемые где-то в другой стране, в нужный момент их могут просто перестать поставлять либо поставлять с недостатками, о которых узнаешь либо чудом, либо когда будет поздно.

Вот эти все вопросы я и пытался поднять в публикации на хабре "Какими я вижу операционные системы". Привлечь внимание разработчиков ОС и т.д. Вы думаете получилось? Мне кажется нет. Хотя 60 тысяч просмотров, но некоторые комментарии просто ...


При этом я КРАЙНЕ надеюсь, что нашим разработчикам ОС (да это линукс, QNX, что-то ещё, не суть) хватило ума вложить сертификат ГУЦ в свою систему и нам получать его уже не нужно.

Нет, не хватило. Попытки обратить внимание на это, на плюхи взападном ПО, которое тиражируется в наших ОС — все пока в пустую.


Мы решаем другую задачу, развития собственных криптографических средств и собственной инфраструктуры.

Вот именно в решение этой задачи я и пытался внести свобю лепту (ниже цитата из статьи):


И так, какой напрашивается вывод? Напоминаю, мы говорили про электронную подпись, про использование отечественной криптографии.
Первое, доступ к порталам не должен зависеть от типа операционной системы и используемого криптопровайдера.
Второе, отечественные ОС должны иметь в своем составе браузеры с поддержкой ГОСТ-ового https.
Третье, отечественные ОС должны иметь в своем составе почтовые клиенты с поддержкой ГОСТ (подписание/шифрование).
Четвертое, отечественные ОС должны иметь в своем составе средства электронной подписи и шифрования
Пятое, отечественные ОС должны иметь поддержку токенов/смарткарт PKCS#11 с поддержкой российской криптографии.
Вот если этот минимум будет реализован, то можно говорить от отечественных ОС типа Linux.

Чувствуете как перекликается с вашими словами. Спасибо.

Если вам подсунут поддельный сертификат

Вместо моего личного, который я получил? И как это мне его подменят. А не подменив его, я всегда буду знать все про цепочку и ее действительность. Но крайней мере хотя в виде "на данный момент времени проверить такой-то сертификат не предоставляется возможным"

В Вашем примере ОВД — это вполне себе доверенная организация, и если рядом с Вашим домом откроется нечто с надписью ОВД района Рогокопытинска, в их двери достаточно быстро (хочется верить) постучат представители полиции, причём прикладами автоматов. В ИОК всё сложнее. Сертификат я должен получить не из канала, по которому происходит взаимодействие с контрагентом. Обычно сертификаты корневых ЦС ставятся в систему, в организации они разливаются либо админами при установке серверов, либо политиками AD если мы говорим о Windows-сети. На момент начала взаимодействия у меня уже должен быть этот сертификат. После того как я его установлю в хранилище доверенных ВСЁ (совсем ВСЁ!!!), что подписано этим сертификатом будет считаться правдой. Если я иду на сайт Госуслуг, и мне через DNS спуфинг или иными способами подкладывают лажу, и я качаю от туда сертификат, ставлю его себе, дальше эти граждане могут влезть мне в любую TLS сессию если там не используется свой список доверенных сертификатов, либо не используется пининг. То есть Гугл возможно и ругнётся, если я полезу хромом. А вот залезть в сбер-онлайн теоретически смогут.

Как избежать этого?
  1. Нужно получать сертификаты по HTTPS, где ресурс, на который я иду подписан сертификатом ЦС, имеющимся у меня в системе, кроме того у меня должен быть канал получения хотя бы хеша сертификата ЦС который я устанавливаю из другого места, чтобы сложнее было контролировать оба канала получения информации.
  2. Пропихнуть в доверенные сертификаты ОС и браузеров (по крайней мере распространяющихся в России и на русском языке) корневой сертификат ГУЦ
  3. Распространять сертификат ГУЦ вместе с ПО электронного документооборота, бухгалтерского ПО, ПО налоговиков, ПФРФ. Я ДОЛЖЕН! получить сертификат до того как он мне понадобится либо иметь возможность проверить то, что мне пришло на благонадёжность.

Цифровая экономика хорошо. Плохо, что хорошая идея покрывается неприличным количеством бардака, причём объём этого бардака грозит сделать эту идею мало того, что бесполезной, так ещё и опасной…
На момент начала взаимодействия у меня уже должен быть этот сертификат.

Да вы его получаете вместе со своим сертификатом.
А дальше читаем что такое PKI, его матаматические, организационные и законодательные основы.


Плохо, что хорошая идея покрывается неприличным количеством бардака, причём объём этого бардака грозит сделать эту идею мало того, что бесполезной, так ещё и опасной…

Так надо наводить порядок.

Пропихнуть в доверенные сертификаты ОС и браузеров (по крайней мере распространяющихся в России и на русском языке) корневой сертификат ГУЦ


К сожалению, невозможно для браузеров, состоящих в CA/Browser Forum. Это такая организация, которая определяет правила, что можно, а что нельзя иметь в списке доверенных сертификатов по умолчанию. И вот что там написано.

6.1.1.3. Subscriber Key Pair Generation.
The CA SHALL reject a certificate request if the requested Public Key does not meet the requirements set forth in Sections 6.1.5 and 6.1.6

6.1.5. Key Sizes. Большая таблица, что можно для каждого алгоритма и типа сертификата. ГОСТа там нет.

6.1.6. Public Key Parameters Generation and Quality Checking. Отдельные процедуры для DSA, RSA и ECC.

Так вот — ни ГОСТов, ни даже Ed25519, в этих таблицах нет, и поэтому CA, которым доверяют браузеры, не имеют права выпускать сертификаты с использованием этих алгоритмов. Let's Encrypt на это уже напоролись, community.letsencrypt.org/t/69868.

Ну в этом месте ничего не мешает выпустить сертификат с самой ядрёной RSA-шкой, для работы с публичными сайтами. Это позволит иметь независимый от иностранных ЦС корень, и возможность работать с TLS, А уже с этих сайтов, с использованием TLS, получать сертификат ГУЦ, и строить на Российской криптографии закрытые разделы тех же сайтов, и весь остальной электронный документооборот. Это по крайней мере лучше, чем раздавать сертификаты по нешифрованным каналам.
Ну или, если религия совсем запрещает работу с RSA, выпустить спецбраузер чтоли....

Обожаю Tcl. Небольшое замечание — в Tcl == для сравнения строк в общем случае лучше не применять, потому что expr при этом может выполнять приведения типов, например, сравнение «1» == «1.0» вернёт 1, хотя это разные строки. Для сравнения именно строк лучше применять eq или string equal например.

Нашего полку прибыло! Спасибо за ценное замечание. Да, так можно случайно и впросак попасть. Но в данном случае все нормально. Еще раз спасибо.

Тиклю 30 лет исполнилось, кстати!

Спасибо. Надо будет достойно отметить. Тем более и я с ним 20 лет знаком.

Даа… Ностальгия, ностальгия. В их официальном extension repo даже есть один или два моих пакета.

Ностальгия — Прекрасное чувство! А ссылку все же дайте.

Ну вот как минимум один свой я нашел:

core.tcl.tk/jenglish/gutter/packages/radclient.html

Вторым публичным пакетом была thread-safe версия package Rrd для rrdtool, но что-то в общем списке пакетов по слову «rrd» я ее не смог найти. Видимо, я тогда ограничился тем, что моя версия этого пакета вошла в официальную поставку rrdtool.

Спасибо. Вызывает уважение. Кто знает и пригодиться.

Я смотрю, там у народа в комментариях Tcl прочно ассоциируется с Tk :) Ну, точнее, народ акцентирует внимание главным образом на Tk GUI и его недостатках (реальных или воображаемых). Про сам язык — а его концепция весьма изящна, лично я для быстрого написания небольших (да и больших, честно говоря, тоже) скриптов предпочитаю его Питону или Perl'у, не говоря уж о «традиционных» шеллах — мало кто пишет.

P.S. Честно говоря, именно на Tk я даже никогда ничего и не писал :)

Именно это я сейчас и вижу на LINUX.ORG.RU. Тонко подмечено. Все стали дизайнерами, функционал их не интересует.

Sign up to leave a comment.

Articles