2016-10-13 19 views
1

Возможно ли «перенацелить» ключи, сгенерированные с помощью ncipher JCE API, в pkcs11? Я знаю, что вы можете перенастроить команду generatekey, но я не вижу, как это сделать с существующим ключом JCE. Первое приглашение - для «исходного приложения» и options don't seem to include JCE. Поддерживает ли он другие варианты, помимо перечисленных там, или я должен смотреть на другой способ перенацеливания?nCipher HSM retarget JCE key

Конечная цель состоит в том, чтобы экспортировать пару ключей (асимметричных и симметричных), которые были сгенерированы с помощью JCE-интерфейса nCipher (да, я знаю, что работа HSM заключается в защите ключей, а экспорт обычно не является хорошей идеей, но это это требование здесь). Мы можем экспортировать ключи, которые были созданы через интерфейс PKCS11, но не те, которые были созданы через JCE, поэтому мы думаем, что если мы сможем перенастроить его с JCE на PKCS11, мы также сможем экспортировать эти ключи. Если есть еще один способ сделать это, мы также открыты для этого.

И наконец, клавиши JCE отображаются как «восстановление включено» при выполнении nfkminfo. Означает ли это, что они экспортируются или восстановление здесь означает что-то еще?

ответ

6

Отказ от ответственности: Я работаю для электронной безопасности Thales, но не говорю о компании.

Да, вы можете перенаправить ключ jcecsp в pkcs11. Если у вас есть ключи jcecsp в вашем kmdata/local,/opt/nfast/bin/generatekey предложит jcecsp в качестве исходной опции. Если у вас нет ключей от этого типа, он будет спокойно опускать эту опцию из исходного списка. Однако, этот процесс перенацеления может не делать то, что вы думаете. Все перенацеливание - это изменение типа приложения и, возможно, связанных метаданных: он не изменяет основные возможности ключа, поскольку они были испечены в защищенном ключевом блоке во время генерации и не могут быть изменены.

В мире безопасности используются ACL ключей nShield, чтобы ограничить возможности ключа (подписывать, проверять, шифровать, расшифровывать, обертывать, обертывать и т. Д.). PKCS # 11 вытаскивает свои параметры (CKA_SIGN и т. Д.) Непосредственно из ключевых ACL, а при создании ключей через API ACL, сохраненные в блочном блоке, производятся непосредственно из параметров в шаблоне ключа. Если вы установите CKA_SENSITIVE в FALSE, и ваш мир безопасности позволяет это, вы можете сгенерировать и сохранить экспортируемый ключ. JCE не настолько утончен: он вообще не имеет понятия о ключевых возможностях, поэтому провайдер должен угадывать намерения пользователя с помощью ключа и по умолчанию имеет довольно щедрый набор. Однако, поскольку вы указываете, что вся идея HSM заключается в том, чтобы защитить ключевые биты и не позволить им иметь их, Export не является одним из значений по умолчанию. И что не запекается в ключевом файле при его создании, вы не получаете перенацеливанием ключа.

Одна вещь, которую вы могли бы сделать, если вы хотите использовать ОКО, чтобы сгенерировать ключ с помощью другого поставщика, а затем сохранить его в nCipher.sworld KeyStore с помощью поставщика nCipherKM: это будет импортировать ключ в мир безопасности (если ваш мир позволяет это) и сохранить его как файл key_jcecsp_ *. Однако это не имеет ничего общего с ключевой безопасностью, поэтому с точки зрения HSM это не рекомендуется. Еще одна вещь, которую вы можете сделать, - это перейти к API-интерфейсу nCore, сгенерировать ключ с необходимыми записями ACL, а затем полиморфировать его с объектом JCE Key и сохранить его в ключевом хранилище, поддерживаемом HSM. Вы можете стрелять себе в ногу столько раз, сколько хотите, с ACL на создаваемый вами ключ. Полиморфизация очень плохо документирована: спросите Thales Support, и они могут вас направлять.

Наконец, возможность восстановления означает, что в дополнение к блоку рабочего ключа, который может быть защищен набором операторских карточек, в ключевом файле есть Recovery Blob. Это происходит в случае потери набора операторских карт: Recovery Blob можно открыть с помощью набора карт администратора Security World с помощью утилиты rocs (Заменить набор операторских карт), которая будет писать новый ключевой файл в новом OCS. Нет, это не означает, что ключ экспортируется. Это просто означает, что вы защищены от потери OCS.Конечно, потеря ACS - это не стартер, так как это ваш корень доверия.