Цитата:Почему нет? Сертификат с открытым ключом ЦС банка выложен фактически по прямой ссылке, в чем криминал? Он нужен только для получения и использования сертификатов, выданных этим же самым банком.
Добрый день.
Если вкратце, то Вы неправильно оцениваете риски. Проблема не по отдельности в выложенном сертификате ЦС банка или в попытке автоматизации, а в том что мало что ЦС корневой и не входит в единое пространство доверия Минцифры (у аккредитованных УЦ не должно быть собственного корневого сертификата), а Вы на это еще и пытаетесь свой "троян" по его автоустановке написать.
В настоящий момент есть сервисы Минцифры для выдачи сертификатов через СМЭВ 3, банки имеют доступ к СМЭВ и мне несколько непонятно почему банку не получить сертификат через них. В том числе есть возможность получать сертификат для сайта (естественно нужны документы подтверждающие владение доменом). Вместо своего неаккредитованного УЦ с неквалифицированными сертификатами Вы уже давно могли получить сертификат сайта от Минцифры и не маяться с "недоверенным корнем". Промежуточный от уже доверенного корня импортировать гораздо проще и будет безопаснее для всех. Далее после проверки сайта по доверенному сертификату оттуда уже можно попробовать скачать сертификат внутреннего УЦ.
Полагаю, банки как никто должны это понимать - сайты банков подделывают (фишинг) мошенники с завидным постоянством (hosts меняется вирусами, приблизительно воспроизводится внешний вид). Подменить адрес банка на свой (через DNS или hosts) и вот уже Ваша схема автоустановки корневого сертификата с сайта банка будет устанавливать сертификат мошенников. После кражи данных мошенники подключатся к банку и натворят дел уже у банка. Кого Вы пытаетесь обмануть используя свой внутренний УЦ для доступа внешних клиентов? Попытка сэкономить или что? Это как "ключ от квартиры, где деньги лежат", а на разработку ПО (фактически трояна) потратите больше чем сэкономили на сертификате. Во внутренней защищенной сети можете использовать свой УЦ сколько угодно, но "наружу" его показывать... нужно так, чтобы пользователи точно знали, что получили корневой сертификат от Вас, а не от мошенников.
Другая ситуация - допустим, Ваш корень скомпрометирован. Как Вы собираетесь его убрать у клиентов? Для корневого сертификата невозможно провести отзыв. Его придется добавлять в список недоверенных, что тоже весьма редкая процедура и придется ее выполнять методом тыка. Полученный от минцифры сертификат можно будет легко отозвать без дополнительных программных решений.
Касательно самой процедуры - обратите внимание на веб-диск Контура
https://install.kontur.ru/crypto , который делает нечто подобное, но там сначала нужно установить специфический плагин, потом расширение браузера, потом давать согласия на повышение прав по каждой операции. Обратите внимание, что сам веб-диск находится на защищенном адресе и сертификат сайта сразу от доверенного корня.
Цитата:CX509Enrollment.InstallResponse передать сертификат ЦС
Лично не проверял, но думаю, что затык будет не во флаге, а в том, что CX509Enrollment.InstallResponse по идее должен искать запрос в хранилище запросов перед попыткой установить ответ. В частности, это нужно для связывания ответа (выпущенного сертификата) и ссылки на контейнер. Обычно в хранилище запросов хранится самоподписанный сертификат из запроса и ссылка на контейнер. При работе InstallResponse ищет запрос, извлекает ссылку, устанавливает ответ в хранилище со ссылкой из запроса, удаляет запрос. На мой взгляд, очень вероятно, что подсунуть просто левый сертификат не выйдет, так как для него не найдется запроса и все остальное пойдет "наперекосяк".
Отредактировано пользователем 18 февраля 2022 г. 6:05:23(UTC)
| Причина: Не указана