В чем разница между шаблоном и структурой шаблона-атрибута в KMIP?
В настоящее время я изучаю и разрабатываю KMIP (Spec 1.0) с использованием библиотеки с открытым исходным кодом KMIP4J. Я просматривал варианты использования, предложенные в качестве примеров в спецификации, и застрял, пытаясь разграничить использование Template и Template-Attribute Structure.
В чем разница между этими двумя вариантами использования? Оба имеют криптографический алгоритм и атрибут криптографической длины, но я не понимаю разницу между ними.
- Используйте вариант 3.1.4, который использует шаблон.
- Вариант использования 3.1.1, в котором используется структура шаблона-атрибута.
1 ответ
В спецификации KMIP есть два разных типа объектов: управляемые объекты и базовые объекты.
Управляемый объект относится к:
Объекты, хранящиеся и поддерживаемые системой управления ключами [Спецификация KMIP, Раздел 1]
Примеры управляемых объектов: сертификат, симметричный ключ, открытый ключ, закрытый ключ, шаблон
Базовый объект относится к:
Объекты, используемые в сообщениях протокола, но не управляемые системой управления ключами. Базовые объекты являются компонентами управляемых объектов. [Спецификация KMIP, раздел 2.1]
Примеры базовых объектов: атрибут, учетные данные, значение ключа, структура шаблона-атрибута
Шаблон - это тип управляемого объекта.
Шаблон - это именованный управляемый объект, содержащий устанавливаемые клиентом атрибуты управляемого криптографического объекта (т. Е. Сохраненный именованный список атрибутов). Атрибуты, указанные в шаблоне, применяются к любому созданному объекту, который ссылается на шаблон по имени. [Спецификация KMIP, раздел 2.2.6]
Структура Шаблон-Атрибут является типом Базового Объекта.
Структуры шаблонов-атрибутов используются в различных операциях для предоставления желаемых значений атрибутов и / или имен шаблонов в запросе и для возврата фактических значений атрибутов в ответе. [Спецификация KMIP, раздел 2.1.8]
Итак, давайте рассмотрим варианты использования, на которые вы указали:
В случае использования 3.1.1:
- Клиент отправляет запрос на создание, который содержит тип объекта (симметричный ключ) и структуру шаблона-атрибута, содержащую список значений требуемых атрибутов для этого ключа:
- Криптографический алгоритм
- Криптографическая длина
- Криптографическая маска использования.
В случае использования 3.1.4:
- Клиент использует операцию Register для регистрации шаблона, содержащего определенный набор атрибутов:
- Криптографический алгоритм
- Криптографическая длина
- Имя, ссылаясь на название шаблона для создания:
Template1
- Клиент отправляет запрос на создание, который, как и прежде, содержит тип объекта (симметричный ключ) и структуру шаблона-атрибута. Однако на этот раз структура Template-Attribute содержит:
- Ссылка на шаблон с именем
Template1
, указывая, что операция должна использовать атрибуты, указанныеTemplate1
(что мы знаем из шага 1: криптографический алгоритм и криптографическая длина) - Имя, ссылающееся на название Ключа:
key1
- Криптографическая маска использования
- Ссылка на шаблон с именем
Таким образом, две операции по существу создают один и тот же симметричный ключ с одинаковыми значениями атрибута, но во втором случае используется предварительно определенный шаблон (и, как правило, добавляется имя ключа), а в первом - нет.
Примечание:
На данный момент спецификация KMIP 1.0 устарела. KMIP 1.3 был выпущен в декабре 2015 года. Я упоминаю об этом специально, потому что структура шаблона устарела с версии 1.3.