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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline Максим Коллегин  
#11 Оставлено : 1 октября 2019 г. 11:44:04(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
В нашей документации описано:
https://cryptopro.ru/sit...B0%D0%BD%D0%B8%D1%8E.pdf
Методы SsfEnvelope\SsfDevelope
Знания в базе знаний, поддержка в техподдержке
Offline Михаил К.  
#12 Оставлено : 1 октября 2019 г. 14:36:05(UTC)
Михаил К.

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

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

Сказал «Спасибо»: 2 раз
Автор: Максим Коллегин Перейти к цитате
В нашей документации описано:
https://cryptopro.ru/sit...B0%D0%BD%D0%B8%D1%8E.pdf
Методы SsfEnvelope\SsfDevelope


Да, мы используем эти функции во внутреннем документообороте. А чем тогда заполнять тег <xenc:CipherValue>..xenc:CipherValue>?
Offline Максим Коллегин  
#13 Оставлено : 1 октября 2019 г. 14:51:03(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Без программирования это значение не заполнить. У xmlenc не очень простая структура.
Знания в базе знаний, поддержка в техподдержке
Offline Михаил К.  
#14 Оставлено : 1 октября 2019 г. 15:02:06(UTC)
Михаил К.

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

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

Сказал «Спасибо»: 2 раз
т.е. это какая-то информация из сертификата, на котором мы шифруем?
Offline Максим Коллегин  
#15 Оставлено : 1 октября 2019 г. 15:22:48(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Вы же сами привели цитату из документа ФСС вчера.
xmlenc - это отдельный формат зашифрованных данных, только отдаленно похож на pkcs#7.
Доработка нашего модуля SAP SSF для его поддержки - отдельная сложная задача.

Отредактировано пользователем 1 октября 2019 г. 15:25:42(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline two_oceans  
#16 Оставлено : 2 октября 2019 г. 2:54:41(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Автор: Михаил К. Перейти к цитате
А чем тогда заполнять тег <xenc:CipherValue>..xenc:CipherValue>?
В случае ФСС процесс как раз "несколько сложнее". Если в общих чертах, то чтобы из pkcs#7 получить данные для xmlenc нужно "доработать напильником": 1) убедиться что параметры совпадают, при необходимости выровнять паддингом данные до шифрования; 2) сделать заготовку xmlenc с этими параметрами и со своим сертификатом; 3) зашифровать данные, указывая сертификат получателя и свой закрытый ключ (иногда вместо ключа указывается свой сертификат из хранилища, закрытый ключ находится автоматически по выбранному своему сертификату); 4) декодировать ASN.1 структуры из pkcs#7 и вырезать 3 значения: блоб зашифрованного сессионного ключа, вектор инициализации, зашифрованные данные; 5) в одно CipherValue вставляется base64 от зашифрованного сессионного ключа, в другое CipherValue - base64 от склейки (вектор инициализации + зашифрованные данные).

Вот тут попытка аналогичное сделать на php https://www.cryptopro.ru...aspx?g=posts&t=16790 Хотелось бы комментарий от сотрудников все ли там правильно или о чем-то забыли.

Offline Михаил К.  
#17 Оставлено : 11 октября 2019 г. 14:45:50(UTC)
Михаил К.

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

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

Сказал «Спасибо»: 2 раз
Автор: two_oceans Перейти к цитате
Автор: Михаил К. Перейти к цитате
А чем тогда заполнять тег <xenc:CipherValue>..xenc:CipherValue>?
В случае ФСС процесс как раз "несколько сложнее". Если в общих чертах, то чтобы из pkcs#7 получить данные для xmlenc нужно "доработать напильником": 1) убедиться что параметры совпадают, при необходимости выровнять паддингом данные до шифрования; 2) сделать заготовку xmlenc с этими параметрами и со своим сертификатом; 3) зашифровать данные, указывая сертификат получателя и свой закрытый ключ (иногда вместо ключа указывается свой сертификат из хранилища, закрытый ключ находится автоматически по выбранному своему сертификату); 4) декодировать ASN.1 структуры из pkcs#7 и вырезать 3 значения: блоб зашифрованного сессионного ключа, вектор инициализации, зашифрованные данные; 5) в одно CipherValue вставляется base64 от зашифрованного сессионного ключа, в другое CipherValue - base64 от склейки (вектор инициализации + зашифрованные данные).

Вот тут попытка аналогичное сделать на php https://www.cryptopro.ru...aspx?g=posts&t=16790 Хотелось бы комментарий от сотрудников все ли там правильно или о чем-то забыли.



Добрый день.

Как я понял, формат pkcs#7 это частный случай ISO_10126. Т.е. паддинг уже есть. Свой сертификат так же есть (открытая/закрытая части). Случайный сессионный ключ шифрую на открытой части сертификата ФСС. А дальше необходимо сделать, как пишете вы? Разобрать зашифрованные данные по формату ASN.1? Паресер формата ASN.1 у меня есть. Вот только надо понять, что там что...
Так же теперь непонятно, каким образом в SAP выполнить симметричное шифрование на сессионом ключе?
Offline Михаил К.  
#18 Оставлено : 11 октября 2019 г. 14:55:28(UTC)
Михаил К.

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

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

Сказал «Спасибо»: 2 раз
И еще вопрос, правильно я понимаю, как заполнять запрос с шифрованными данными?
Код:
  
<ds:KeyInfo>
    <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
      <xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001"></xenc:EncryptionMethod>
      <ds:KeyInfo>
        <ds:X509Data>
          <ds:X509Certificate>BASE64 открытой часть своего сертификата</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
      <xenc:CipherData>
        <xenc:CipherValue>base64 от зашифрованного сессионного ключа</xenc:CipherValue>
      </xenc:CipherData>
    </xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData>
    <xenc:CipherValue>base64 от склейки (вектор инициализации + зашифрованные данные)</xenc:CipherValue>
</xenc:CipherData>
Offline two_oceans  
#19 Оставлено : 14 октября 2019 г. 5:57:28(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Цитата:
Добрый день.
Как я понял, формат pkcs#7 это частный случай ISO_10126. Т.е. паддинг уже есть. Свой сертификат так же есть (открытая/закрытая части). Случайный сессионный ключ шифрую на открытой части сертификата ФСС. А дальше необходимо сделать, как пишете вы? Разобрать зашифрованные данные по формату ASN.1? Паресер формата ASN.1 у меня есть. Вот только надо понять, что там что...
Так же теперь непонятно, каким образом в SAP выполнить симметричное шифрование на сессионом ключе?
Действительно, pkcs#7 добавляет некий паддинг, но в соседней теме этот паддинг оказался неподходящим.

Автор: Михаил К. Перейти к цитате
И еще вопрос, правильно я понимаю, как заполнять запрос с шифрованными данными?
По расположению похоже верно, но 1) не хватает нескольких атрибутов; 2) какая такая "открытая часть сертификата"?
thanks 1 пользователь поблагодарил two_oceans за этот пост.
Михаил К. оставлено 15.10.2019(UTC)
Offline Михаил К.  
#20 Оставлено : 15 октября 2019 г. 10:57:54(UTC)
Михаил К.

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

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

Сказал «Спасибо»: 2 раз
Автор: two_oceans Перейти к цитате
Цитата:
Добрый день.
Как я понял, формат pkcs#7 это частный случай ISO_10126. Т.е. паддинг уже есть. Свой сертификат так же есть (открытая/закрытая части). Случайный сессионный ключ шифрую на открытой части сертификата ФСС. А дальше необходимо сделать, как пишете вы? Разобрать зашифрованные данные по формату ASN.1? Паресер формата ASN.1 у меня есть. Вот только надо понять, что там что...
Так же теперь непонятно, каким образом в SAP выполнить симметричное шифрование на сессионом ключе?
Действительно, pkcs#7 добавляет некий паддинг, но в соседней теме этот паддинг оказался неподходящим.

Автор: Михаил К. Перейти к цитате
И еще вопрос, правильно я понимаю, как заполнять запрос с шифрованными данными?
По расположению похоже верно, но 1) не хватает нескольких атрибутов; 2) какая такая "открытая часть сертификата"?


Спасибо большое за разъяснения (про сертификат имел ввиду именно часть между ----- BEGIN CERTIFICATE----- -----END CERTIFICATE-----)!
Т.е. алгоритм такой: формирую случайный ключ, шифрую на нем данные запроса, потом применяю паддинг к ключу, шифрую его на открытой части сертификата ФСС. Получаю данные в формате ASN.1(PKCS7). Разбираю их и необходимые куски вставляю в итоговый XML?
Если все так, то вот еще вопросы: есть ли требования к формированию ключа? Шифровать на нем данные надо до применения к нему паддинга? или после? И надо ли применять паддинг к данным, которые шифрую на ключе?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.