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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Ensiferum  
#1 Оставлено : 20 января 2014 г. 14:41:12(UTC)
Ensiferum

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

Группы: Участники
Зарегистрирован: 23.08.2012(UTC)
Сообщений: 20
Откуда: Кумертау

Сказал(а) «Спасибо»: 3 раз
В криптопро JCP можно как-то реализовать Key Transport Algorithm, описанный в п. 4.2. RFC 4490?
Offline Евгений Афанасьев  
#2 Оставлено : 20 января 2014 г. 18:49:34(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Здравствуйте. В модуле JCryptoP (провайдер ru.CryptoPro.Crypto.CryptoProvider) есть класс TransportCipher (ru.CryptoPro.Crypto.Cipher). Он доступен с помощью Cipher cipher = Cipher.getInstance("GostTransport");
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
Ensiferum оставлено 21.01.2014(UTC)
Offline Ensiferum  
#3 Оставлено : 21 января 2014 г. 9:02:33(UTC)
Ensiferum

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

Группы: Участники
Зарегистрирован: 23.08.2012(UTC)
Сообщений: 20
Откуда: Кумертау

Сказал(а) «Спасибо»: 3 раз
Спасибо. Есть примеры его использования?
Offline Евгений Афанасьев  
#4 Оставлено : 21 января 2014 г. 9:11:07(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Примера, к сожалению, нет. Используется как-то так (из xml dsig):

Код:


SecretKey clientSecretKey = ...
Certificate responderCert = ...
Cipher wrapCipher = Cipher.getInstance("GostTransport");
wrapCipher.init(Cipher.WRAP_MODE, responderCert);
byte[] wrappedSecretKey = wrapCipher.wrap(clientSecretKey);

PrivateKey responderPrivateKey = ...
Cipher unwrapCipher = Cipher.getInstance("GostTransport");
unwrapCipher.init(Cipher.UNWRAP_MODE, responderPrivateKey);
SecretKey clientSecretKey = (SecretKey) unwrapCipher.unwrap(wrappedSecretKey, null, Cipher.SECRET_KEY);

Offline Ensiferum  
#5 Оставлено : 21 января 2014 г. 9:27:22(UTC)
Ensiferum

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

Группы: Участники
Зарегистрирован: 23.08.2012(UTC)
Сообщений: 20
Откуда: Кумертау

Сказал(а) «Спасибо»: 3 раз
А как сделать похожее? И вообще можно ли?

Цитата:
Отправитель формирует структуру GostR3410-KeyTransport (см. RFC4490, пункт 4.2), в которой включается открытый сеансовый ключ отправителя, параметры шифрования ключевой информации CEK и собственно данная ключевая информация, упакованная при помощи алгоритма CryptoPro Key Wrap. Данный алгоритм получает на вход KEK, UKM, использованный при генерации KEK, CEK и возвращает тройку (UKM, CEK_ENC, CEK_MAC), где CEK_ENC – CEK, зашифрованный при помощи алгоритма ГОСТ 28147-89 в режиме простой замены на ключе KEK(UKM), где KEK(UKM) – ключ, полученный при помощи алгоритма Crypto Pro KEK Diversification Algorithm (RFC 4357, пункт 6.5), а CEK_MAC = gost_imit(UKM, KEK(UKM), CEK) - 32-битное значение имитовставки, полученное при помощи алгоритма ГОСТ 28147-89 в соответствующем режиме со значениями IV = UKM, K = KEK(UKM), D = CEK.

тправитель пересылает получателю структуру GostR3410-KeyTransport и зашифрованные данные.


CEK - ключ шифрования контента
KEK - ключ шифрования ключа
UKM - ненулевая 64-битная последовательность

Отредактировано пользователем 21 января 2014 г. 9:29:02(UTC)  | Причина: Не указана

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