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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline magrif  
#1 Оставлено : 10 сентября 2019 г. 17:25:20(UTC)
magrif

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

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

Сказал(а) «Спасибо»: 2 раз
Как получить числовую последовательность на основе закрытого ключа AT_KEYEXCHANGE?
Например, его хэш. Чтобы только владелец закрытого ключа мог посчитать это значение.
Можно ли его как-то передать в CryptHashSessionKey() или в pbkdf2? Или зашифровать им заданную информацию. Спасибо.


Offline two_oceans  
#2 Оставлено : 11 сентября 2019 г. 5:56:59(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
Добрый день.
Шифровать одним и тем же значением не очень безопасно. Зачем что-то изобретать, есть "схема обмена ключей" для гост, полагаю Вам подойдет. В очень общих чертах: генерится сессионный ключ, с помощью сертификата получателя и закрытого ключа отправителя получается ключ согласования (его могут получить только отправитель и получатель), данные шифруются сессионным ключом, сессионный ключ шифруется ключом согласования, получателю отправляется документ-обертка (например, xml), содержащий сертификат отправителя, зашифрованные данные, зашифрованный сессионный ключ.
Реализацию можно посмотреть, например, здесь https://www.cryptopro.ru...ts&m=90725#post90725
Offline Агафьин Сергей  
#3 Оставлено : 11 сентября 2019 г. 15:56:58(UTC)
Grey

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 215 раз в 174 постах
Автор: magrif Перейти к цитате
Как получить числовую последовательность на основе закрытого ключа AT_KEYEXCHANGE?
Например, его хэш. Чтобы только владелец закрытого ключа мог посчитать это значение.
Можно ли его как-то передать в CryptHashSessionKey() или в pbkdf2? Или зашифровать им заданную информацию. Спасибо.


Добрый день.
Тут два варианта:
1) Если нужно что-то, уникально идентифицирующее закрытый ключ, то берите открытый ключ :)
2) Если нужна функция виде X = X(d,r), где d - закрытый ключ, а r - рандомизатор, то есть, простой протокол подтверждения обладания ключом, то этой функцией как раз является подпись.
С уважением,
Сергей
Техническую поддержку оказываем здесь.
Наша база знаний.
Offline magrif  
#4 Оставлено : 11 сентября 2019 г. 16:23:13(UTC)
magrif

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

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

Сказал(а) «Спасибо»: 2 раз
Получил так:
id = hash( pro12_export_blob(Sk, pbkdf2_key(salt, pwd) ) )

Просто подразумевается, что id тоже псевдосекретно. Соответственно 1) отваливается, а 2) подпись в байтовом представлении каждый раз разная из-за r.

Объясните пожалуйста, как работает с cryptcp -encr/decr для самого себя опять же на ключевой паре AT_KEYEXCHANGE. В том смысле, по какому алгоритму, ведь это не симметричное шифрование, ибо это ключевая пара. Или на своём же публичном ключе создаётся симметричный ключ и его открытые параметры сохраняются в зашифрованый файл для последующей расшифровки?
Offline Агафьин Сергей  
#5 Оставлено : 12 сентября 2019 г. 13:30:52(UTC)
Grey

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 215 раз в 174 постах
Автор: magrif Перейти к цитате
Получил так:
id = hash( pro12_export_blob(Sk, pbkdf2_key(salt, pwd) ) )

Просто подразумевается, что id тоже псевдосекретно. Соответственно 1) отваливается, а 2) подпись в байтовом представлении каждый раз разная из-за r.

Объясните пожалуйста, как работает с cryptcp -encr/decr для самого себя опять же на ключевой паре AT_KEYEXCHANGE. В том смысле, по какому алгоритму, ведь это не симметричное шифрование, ибо это ключевая пара. Или на своём же публичном ключе создаётся симметричный ключ и его открытые параметры сохраняются в зашифрованый файл для последующей расшифровки?


Алгоритм описан в ТК26CMS: https://www.cryptopro.ru...products/tls/tk26cms.pdf
Если коротко, то вы почти правы: генерируется эфемерная ключевая пара, с её закрытым ключом и открытым ключом получателя выполняется VKO - получаем симметричный ключ, им шифруем и передаём сообщение вместе с открытым эфемерным ключом. Получатель делает VKO на своём закрытом и открытом эфемерном ключе - получается симметричный ключ и расшифровывает сообщение.
С уважением,
Сергей
Техническую поддержку оказываем здесь.
Наша база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.