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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline zzz17  
#1 Оставлено : 15 февраля 2021 г. 10:08:28(UTC)
zzz17

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

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

Пришла беда откуда не ждали - ФСС вводит спецификацию 2.0.
Результат - алгоритмы отработанные для спецификации 1 не работают для спецификации 2.
Открываю спецификацию 2, ищу отличия от вер. 1.
Цитата из спецификации:
"CALG_DH_GR3410_12_256_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары." Где я должен указать этот идентификатор, нужно ли мне его указывать?
Цитата из спецификации:
"Возможные параметры шифратора GostJCE/CBC/ISO10126Padding". Сразу пугает слово "ВОЗМОЖНЫЕ".
Смотрю в отладчике параметры шифратора на работающем алгоритме для спецификации 1.
Mode = CFB;
Padding = None;
Аналога для GostJCE не нахожу. Это провайдер? Где же мне его найти в КриптоПро CSP?
меняю параметры шифратора на:
Mode = CBC;
Padding = ISO10126Padding;
Ответ сервиса:
"Не удалось расшифровать сообщение."
Кто виноват, мне понятно. Что делать?
Offline two_oceans  
#2 Оставлено : 15 февраля 2021 г. 13:28:20(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,342
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 90 раз
Поблагодарили: 312 раз в 294 постах
Добрый день.
Спецификация похоже для как обычно Джавы, на которой пишут свою сторону разработчики спецификации. Для дотнета (и других средств подписания/шифрования) эти "GostJCE" все "абракадабра" для которой надо подобрать адекватные названия уже из дотнета. Снова придется методом тыка и сравнения с программой самого ФСС.

На уровне предположений (пока не читал спецификацию 2.0): что алгоритм это вот все то, что раньше делали вручную по схеме обмена ключей - теперь это запихано на стороне ФСС в штатную функцию. "CALG_" это обычно самый нижний уровень функций. И ключевая пара теперь эфемерная (создается на короткое время; опять же предположу, что отправителю теперь не нужен долговременный ключ и сертификат - тогда вместо сертификата требуется указать открытый ключ эфемерной пары). То есть либо тоже запихиваем в стандарт (по идее для этого уже должен быть провайдер) либо опять же подбираем параметры при которых это может работать с прошлой версией (с долговременными ключами - какая-то вырезка открытого ключа из сертификата, может быть).
Offline Евгений Афанасьев  
#3 Оставлено : 15 февраля 2021 г. 13:38:21(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,506
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 589 раз в 560 постах
Здравствуйте.
Автор: zzz17 Перейти к цитате

CALG_DH_GR3410_12_256_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары." Где я должен указать этот идентификатор, нужно ли мне его указывать?
"Возможные параметры шифратора GostJCE/CBC/ISO10126Padding".
Аналога для GostJCE не нахожу.

CALG_DH_GR3410_12_256_EPHEM - идентификатор алгоритма выработки ключа обмена, должен быть в WinCryptEx.h. Вероятно, указывается при создании эфемерного ключа с участием открытого ключа другой стороны для экспорта ключа шифрования (для вставки в сообщение в адрес получателя) или с участием закрытого ключа для импорта блоба ключа шифрования (на стороне получателя).
Из JCPxml (java-библиотека в составе JCP провайдера) GostJCE - это GOST28147. Алгоритм зарегистрирован, например, в jcp.xml в составе JCPxml.jar. Соответственно, алгоритм шифрования данных - GOST28147/CBC/ISO10126Padding

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

Offline Alex AD  
#4 Оставлено : 20 февраля 2021 г. 21:35:55(UTC)
Alex AD

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

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

Сказал(а) «Спасибо»: 1 раз
Добрый день. zzz17, получилось у Вас отправить в ФСС зашифрованный запрос по спецификации 2.0?
На .net тоже не работает вариант для спецификации 1.1. Ошибка от ФСС: "не удалось расшифровать запрос".

Может работники КриптоПро будут столь любезны и поделятся рабочим примером как используя КриптоПро.Net SDK зашифровать данные для ФСС по спецификации 2.0? Из известных мне ранее разработчиков, писавших софт для 1.1, еще ни у кого не получилось отправить запрос по спецификации 2.0 (сервис страхователя для получения ЭЛН 2.0).

Готов купить пример (где и с кем обсудить?). С другой стороны, фирме Крипто Про должно быть выгодно поделиться этим примером бесплатно, чтобы те, кто строит инфраструктуру выбрали в качестве провайдера КриптоПро CSP и КриптоПро.Net в качестве средства доступа к КриптоПро CSP.

Мы вот купили КриптоПро.Net для каждого АРМ, с которого обращаются в ФСС. Даже по спецификации ФСС 1.1 не получилось реализовать все силами только КриптоПро.Net SDK для ключа ГОСТ-2012. Пришлось добавлять в проект opensource GostCryptograhy (MIT) для того, чтобы было возможным дешифровать ответ.

Причем темы на этом форуме появляются относительно ЭЛН ФСС, однако ответы только в стиле - "сто раз обсуждалось, ищите". А решения находились не на этом форуме, что странно, а на cyberforum, github и в переписке с коллегами.
Наверное, так быть не должно?
Offline zzz17  
#5 Оставлено : 24 февраля 2021 г. 15:53:51(UTC)
zzz17

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

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

Добрый день, Alex AD!
Нет, пока спецификацию 2.0 победить не удалось.
Offline Alexcrool  
#6 Оставлено : 1 марта 2021 г. 10:24:19(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
У кого-нибудь получилось отправить шифрованный запрос на ФСС по 2.0?
Offline Alexcrool  
#7 Оставлено : 1 марта 2021 г. 12:44:24(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
Может кто-то проверить ссылку на работоспособность?

шифрование ГОСТ на php и электронные больничные ФСС
Offline zzz17  
#8 Оставлено : 4 марта 2021 г. 11:38:43(UTC)
zzz17

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

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

Добрый день, Alexcrool!

Я посмотрел пример по указанной вами ссылке.
Есть дата - 2019 г. Это спецификация 1.
Номер спецификации подтверждается и фрагментом заготовки xml-файла:
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
Для спецификации 2: <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Content".

Что мы имеем?
В форуме КриптоПро большое количество ссылок на примеры построения приложений для спецификации 1 с
использованием:
- высокоуровневых функций Крипто API на языках С#(КриптоПро NET), java (КриптоПро Java CSP). Здесь нет эфемерной пары(явно).
Параметры шифратора CFB/None.
- низкоуровневых функций Крипто API на языках С, Delphi. Здесь идет игра с эфемерной парой, с согласованием ключа
на алгоритме Диффи-Хеллмана. Параметры шифратора GostJCE/CBC/ISO10126Padding.

Становится понятна фраза из спецификации 2: "Возможные параметры шифратора GostJCE/CBC/ISO10126Padding". Действительно, возможны эти параметры, возможны другие.

Выводы:
1. Спецификация 2 (как документ) ничем не отличается от спецификации 1.
Новые параграфы спецификации 2 в разделе "шифрование" описывают частный случай реализации шифрования и не содержат полезной информации.
2. В спецификация 2 нет данных об изменениях сделанных в алгоритме/параметрах шифрования, поэтому на основе спецификации 2 невозможно сделать работающее приложение.

Какой то чудак решил, что с сервисами ФСС могут работать только "правильные" компании?
Как бы дело не закончилось большим скандалом.
Offline Alexcrool  
#9 Оставлено : 4 марта 2021 г. 11:44:42(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
Я тоже в итоге пришел к такому выводу. И сделал запрос в 1С. Там раздел больничные листы в "зарплаты и кадры" реализован.
Очень надеюсь на сотрудничество с ними!!!

А все таки как думаете, играть нужно с параметрами шифрования? CFB,CBC,Padding... остальное вроде по API не убавить не прибавить
Offline zzz17  
#10 Оставлено : 4 марта 2021 г. 11:52:18(UTC)
zzz17

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

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

Играться можно. Но в IT-секторе есть устоявшиеся правила. Разработчик при изменении алгоритмов обязан доводить информацию до всех заинтересованных сторон.
Offline Alexcrool  
#11 Оставлено : 4 марта 2021 г. 12:30:53(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
Шифрование делаю в первый раз. Хочу спросить...
Решил проверить а шифрует ли программа. применил код

но вместо xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ....
получаю это:
肤ଅ툄連penv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ....

hSessionKey ключ который собираю по спецификации 2.0. Это нормально? может поэтому фсс выдает ошибку "Не могу расшифровать"
Offline alex_nur  
#12 Оставлено : 21 марта 2021 г. 15:17:04(UTC)
alex_nur

Статус: Участник

Группы: Участники
Зарегистрирован: 19.11.2020(UTC)
Сообщений: 21

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: zzz17 Перейти к цитате

Какой то чудак решил, что с сервисами ФСС могут работать только "правильные" компании?
Как бы дело не закончилось большим скандалом.


Я тоже пришел к такому выводу в https://github.com/AlexM...stCryptography/issues/39

Цитата:

Похоже на то, что государственный фонд нас принуждает для собственных разработок делать заказ в "правильных" (неправильные просто не знают как зашифровать) фирмах по разработке ПО.


Одно радует: ФСС планировали начать работу только по спецификации 2.0 с 1 февраля 2021 года. До сих пор работает и 1.1, что пока спасает. Но что делать с 2.0 - не знаю.
Offline Alexcrool  
#13 Оставлено : 22 марта 2021 г. 4:22:11(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
Я разобрался со спецификацией 2.0. После оценки, понял, что она составлена немного не корректно, но она верная, нужно просто внимательно читать и сопоставлять примеры с представленной структурой. Все отличие от 1.1:
- в атрибутах тегов xml документе. Проверьте правильность подготовленного документа. Особенно атрибуты "ds:" и "xenc:". Они должны быть везде где есть их описание.
- В качестве сертификата при шифровании подается сертификат ФСС. Все как написано в спецификации.
- Перед шифрованием в подготовленный подписанный документ необходимо вставить блок со сертификатом <X509Certificate>, для шифрования ответа. сертификат вставляется так же как и ФСС.
Offline alex_nur  
#14 Оставлено : 5 апреля 2021 г. 9:19:13(UTC)
alex_nur

Статус: Участник

Группы: Участники
Зарегистрирован: 19.11.2020(UTC)
Сообщений: 21

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: Alexcrool Перейти к цитате
Я разобрался со спецификацией 2.0. После оценки, понял, что она составлена немного не корректно, но она верная


У Вас получилось отправить зашифрованный запрос в ФСС и получить ответ по спецификации 2.0?

Offline Alexcrool  
#15 Оставлено : 6 апреля 2021 г. 6:58:34(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
Цитата:
Да. Я же это написал сообщением выше!

Приложил доработанный модуль, выложенный 3 года назад (Шифрование XML), под спецификацию 2.0.

P.S. Работает с заранее подготовленными схемами (см. ссылку), но схема должна соответствовать спецификации 2.0!
Crypto.rar (9kb) загружен 29 раз(а).

Отредактировано пользователем 15 апреля 2021 г. 4:33:05(UTC)  | Причина: Не указана

thanks 4 пользователей поблагодарили Alexcrool за этот пост.
reash оставлено 15.04.2021(UTC), alex_nur оставлено 15.04.2021(UTC), vova2282 оставлено 28.04.2021(UTC), thpg оставлено 06.05.2021(UTC)
Offline alex_nur  
#16 Оставлено : 21 апреля 2021 г. 11:51:21(UTC)
alex_nur

Статус: Участник

Группы: Участники
Зарегистрирован: 19.11.2020(UTC)
Сообщений: 21

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Ничего не понял из примера.
Я пошел другим путем: использовал библиотеку GostCryptography от ФСС (opensource библиотека не подойдет, нужен ее fork).
Решение (C#, ЭЛН 2.0) описал на https://github.com/AlexM...9#issuecomment-823887183
Offline Alexcrool  
#17 Оставлено : 21 апреля 2021 г. 12:28:14(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
а что там понимать? Я выложил адаптированный под 2.0 модуль. Качаешь пример 3-летней давности. Копируешь файл из моего вложения в пример с заменой файла. В делфи компилируешь приложение. запускаешь.
Если не работает, значит подготовленные xml (regiemk_fss_encrypt_body.xml и regiemk_fss_sign_envelope.xml) документы из примера не соответствуют 2.0.
правишь и все.
Offline alex_nur  
#18 Оставлено : 21 апреля 2021 г. 14:15:43(UTC)
alex_nur

Статус: Участник

Группы: Участники
Зарегистрирован: 19.11.2020(UTC)
Сообщений: 21

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: Alexcrool Перейти к цитате
а что там понимать? Я выложил адаптированный под 2.0 модуль. Качаешь пример 3-летней давности. Копируешь файл из моего вложения в пример с заменой файла. В делфи компилируешь приложение. запускаешь.
Если не работает, значит подготовленные xml (regiemk_fss_encrypt_body.xml и regiemk_fss_sign_envelope.xml) документы из примера не соответствуют 2.0.
правишь и все.


У меня проект на C#.
Offline Alexcrool  
#19 Оставлено : 22 апреля 2021 г. 4:19:39(UTC)
Alexcrool

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 8 раз в 3 постах
Принципы шифрования для всех едины. Последовательность действий (шифрования и расшифрования)тут представлена в полном объеме. Ищи что делает каждый оператор из примера (читай комменты), ищи аналог на C#.
Я первый раз шифрованием занимался. Тоже лес темный. Никто не отвечал на форумах, если обращал внимание на мои посты. Все сам, все сам.
Желаю успехов!
Offline thpg  
#20 Оставлено : 6 мая 2021 г. 15:05:22(UTC)
thpg

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

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

Сказал(а) «Спасибо»: 3 раз
Господа, номера больничных со снилсами с тестового контура у кого-нибудь есть "лишние"?

Отредактировано пользователем 6 мая 2021 г. 19:33:20(UTC)  | Причина: Не указана

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