Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Роман кислухин  
#1 Оставлено : 27 ноября 2017 г. 17:14:13(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 143
Мужчина
Откуда: Москва

Сказал «Спасибо»: 4 раз
Добрый день

Перелопатил весь форум, но так и не нашел интересующего меня примера.

Вопрос в выборе алгоритма подписи. У нас требование - использовать только ГОСТ. Но в связи с активным переходом на новые алгоритмы подписи (ГОСТ 2012) возникает вопрос, какой алгоритм подписи стоит применять в конкретном случае? Есть идея использовать максимально свежий и стойкий алгоритм (либо по настройке) если он доступен в криптопровайдере (сделать запрос на перечень поддерживаемых алгоритмов). Но как в этом случае будет работать криптопровайдер при использовании старых сертификатов, со старыми ключами? Будет ли создаваться подпись, а потом корректно проверяться? При использовании старых алгоритмов с новыми сертификатами выдается ошибка "Указан неправильный алгоритм. (0x80090008)".
Как правильно поступать?
Offline alexundros  
#2 Оставлено : 28 ноября 2017 г. 11:14:53(UTC)
alexundros

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.11.2017(UTC)
Сообщений: 6
Российская Федерация
Откуда: Волжский

Роман.
Я не специалист в продуктах КриптоПро да и в шифровании, но думаю могу вам подсказать.

До 1 января 2019 года старые сертификаты (ГОСТ2001) можно будет использовать (подписывать и проверять подпись) и
после этого срока скорее всего будет возможно создавать и проверять подпись...

Но использовать эти сертификаты в официальных документах будет нельзя и официальные удостоверяющие центры не будут выпускать сертификаты на старых ГОСТ.
Таким образом весь вопрос будет в сертификатах т.е. кем они выданы...(Тестовым УЦ (КриптоПРО)или аккредитованным УЦ Минкомсвязи)

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

Правильно поступать это использовать ГОСТ2012 уже сейчас, но ваше ПО не должно строго зависеть от алгоритма...
поддержка ГОСТ2001 как минимум год должна еще оставаться...(пока у клиентов не будут сертификаты ГОСТ2012).

Offline Роман кислухин  
#3 Оставлено : 28 ноября 2017 г. 17:14:28(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 143
Мужчина
Откуда: Москва

Сказал «Спасибо»: 4 раз
Автор: alexundros Перейти к цитате
Роман.
Я не специалист в продуктах КриптоПро да и в шифровании, но думаю могу вам подсказать.


Добрый день
Спасибо, это все мне известно. Но вопрос совсем в другом.
Меня интересует есть ли какой-то правильный способ, не анализируя алгоритм публичного ключа из сертификата, определить корректные параметры для функции подписи. Лазить в сертификат - это дополнительные шаги, вызовы. Это все сказывается на и так не слишком высокой производительности функций ЦП.

Автор: alexundros Перейти к цитате
Роман.
Правильно поступать это использовать ГОСТ2012 уже сейчас, но ваше ПО не должно строго зависеть от алгоритма...

Именно этого я и хочу добиться. Весь вопрос, как это сделать правильно?
Offline Андрей Писарев  
#4 Оставлено : 28 ноября 2017 г. 17:46:15(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 10,835
Мужчина
Российская Федерация

Сказал «Спасибо»: 401 раз
Поблагодарили: 1644 раз в 1260 постах
А замеры по лишним шагам уже сделаны?
речь о микросекундных-милисекундных диапазонах?
Техническую поддержку оказываем тут
Наша база знаний
Offline alexundros  
#5 Оставлено : 28 ноября 2017 г. 22:29:01(UTC)
alexundros

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.11.2017(UTC)
Сообщений: 6
Российская Федерация
Откуда: Волжский

В любом случае залезать в сертификат придется хотя бы раз,
а потом нужную информацию засунуть к кеш...
Offline Роман кислухин  
#6 Оставлено : 30 ноября 2017 г. 16:34:34(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 143
Мужчина
Откуда: Москва

Сказал «Спасибо»: 4 раз
Может кому-то будет полезно
В результате эксперимента выяснилось, если передать в провайдер в качестве алгоритма пустую строку, то провайдер сам выберет необходимый алгоритм подписи (видимо берет из настроек криптопровайдера по умолчанию).
Тему можно закрыть.
Offline Роман кислухин  
#7 Оставлено : 10 февраля 2021 г. 12:54:25(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 143
Мужчина
Откуда: Москва

Сказал «Спасибо»: 4 раз
Тема вновь стала актуальна.
На Linux в Крипто Про 4 версии уже нельзя передавать пустую строку в качестве алгоритма хэширования в параметрах signPara.HashAlgorithm.pszObjId или HashAlgorithm.pszObjId подписанта. Во всех примерах, что я нашел в интернете, жестко подставляется константа с OID алгоритма. То же самое в CryptoPro SDK 2.0 - причем там подставляется старый алгоритм хэширования 34.11-94. Но нас это не устраивает, так как могут быть сертификаты как со старыми ключами, так и с новыми, а также с алгоритмами других криптопровайдеров. Хотелось бы уяснить, как на основании имеющегося сертифката понять, какой алгоритм передавать в качестве параметра?

Кстати. Тестовый УЦ https://www.cryptopro.ru/certsrv/ подписывает сертификаты с новыми ключами подписью старого ГОСТа.

Отредактировано пользователем 10 февраля 2021 г. 13:01:30(UTC)  | Причина: Не указана

Offline Роман кислухин  
#8 Оставлено : 10 февраля 2021 г. 14:53:28(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 143
Мужчина
Откуда: Москва

Сказал «Спасибо»: 4 раз
Судя по всему, правильным является способ, описанный в документе "Конспект выступления на втором дне мастер-класса" Смышляева, а именно, через вызовы CryptFindOIDInfo. Попробую этот метод и отпишусь.
Offline Санчир Момолдаев  
#9 Оставлено : 10 февраля 2021 г. 18:59:26(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 835
Российская Федерация

Сказал(а) «Спасибо»: 71 раз
Поблагодарили: 174 раз в 169 постах
Автор: Роман кислухин Перейти к цитате
Тема вновь стала актуальна.
На Linux в Крипто Про 4 версии уже нельзя передавать пустую строку в качестве алгоритма хэширования в параметрах signPara.HashAlgorithm.pszObjId или HashAlgorithm.pszObjId подписанта. Во всех примерах, что я нашел в интернете, жестко подставляется константа с OID алгоритма. То же самое в CryptoPro SDK 2.0 - причем там подставляется старый алгоритм хэширования 34.11-94. Но нас это не устраивает, так как могут быть сертификаты как со старыми ключами, так и с новыми, а также с алгоритмами других криптопровайдеров. Хотелось бы уяснить, как на основании имеющегося сертифката понять, какой алгоритм передавать в качестве параметра?


Добрый день!
в файле /opt/cprocsp/src/CadesSamples/samples_util.h (при установке пакета cades)
есть функция GetHashOid(PCCERT_CONTEXT pCert)

Автор: Роман кислухин Перейти к цитате

Кстати. Тестовый УЦ https://www.cryptopro.ru/certsrv/ подписывает сертификаты с новыми ключами подписью старого ГОСТа.

Все верно. данная информация отражена на страничке тестовых УЦ
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Роман кислухин оставлено 11.02.2021(UTC)
Offline Роман кислухин  
#10 Оставлено : 11 февраля 2021 г. 12:15:07(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 143
Мужчина
Откуда: Москва

Сказал «Спасибо»: 4 раз
Все получилось! Спасибо!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.