KMIP 中的模板和模板属性结构有什么区别?
What is the difference between a Template and Template-Attribute Structure in KMIP?
我目前正在使用开源库 KMIP4J 学习和开发 KMIP (Spec 1.0)。我正在查看规范 sheet 中作为示例提供的用例,但我一直在尝试区分模板和模板属性结构的使用。
这两个用例有什么区别?两者都有密码算法和密码长度属性,但我不明白它们之间的区别
- Use Case 3.1.4,它使用模板。
- Use Case 3.1.1,它使用模板属性结构。
在 KMIP Specification 中,有两种不同类型的对象:Managed Objects 和 Base Objects.
一个托管对象指的是:
Objects stored and maintained by a key management system [KMIP Spec, Section 1]
托管对象示例:证书、对称密钥、Public密钥、私钥、模板
A Base Object指的是:
Objects used within the messages of the protocol but not managed by the key management system. Base Objects are components of Managed Objects.
[KMIP Spec, Section 2.1]
基本对象示例:属性、凭证、键值、模板属性结构
Template 是一种托管对象。
A Template is the named Managed Object containing the client-settable attributes of a Managed Cryptographic Object (i.e., a stored, named list of attributes). Attributes specified in a Template apply to any object created that references the Template by name.
[KMIP Spec, Section 2.2.6]
模板属性结构是一种基本对象。
Template-Attribute Structures are used in various operations to provide the desired attribute values and/or template names in the request and to return the actual attribute values in the response.
[KMIP Spec, Section 2.1.8]
那么,让我们看看您指出的用例:
在用例 3.1.1 中:
- 客户端发送创建请求,其中包含对象类型(对称密钥)和包含该密钥所需属性值列表的模板属性结构:
- 密码算法
- 密码长度
- 加密使用掩码。
在用例 3.1.4 中:
- 客户端使用 Register 操作注册一个 Template,包含一组特定的属性:
- 密码算法
- 密码长度
- 名称,指的是要创建的Template的名称:
Template1
- 客户端发送创建请求,与之前一样,包含对象类型(对称密钥)和模板属性结构。然而,这次模板属性结构包含:
- 对名为
Template1
的 Template 的引用,表明该操作应使用 Template1
指定的属性(我们从第 1 步中知道密码算法和密码长度)
- 名称,指Key的名称:
key1
- 加密使用掩码
所以这两个操作实质上创建了具有相同属性值的相同对称密钥,但第二种情况使用了预定义的模板(并且简单地添加了一个密钥名称),而第一种情况则没有。
旁注:
KMIP 1.0 Specification 在这一点上已经相当过时了。 KMIP 1.3 于 2015 年 12 月发布。我特别提到这一点是因为从 1.3 开始不推荐使用 Template 结构。
我目前正在使用开源库 KMIP4J 学习和开发 KMIP (Spec 1.0)。我正在查看规范 sheet 中作为示例提供的用例,但我一直在尝试区分模板和模板属性结构的使用。
这两个用例有什么区别?两者都有密码算法和密码长度属性,但我不明白它们之间的区别
- Use Case 3.1.4,它使用模板。
- Use Case 3.1.1,它使用模板属性结构。
在 KMIP Specification 中,有两种不同类型的对象:Managed Objects 和 Base Objects.
一个托管对象指的是:
Objects stored and maintained by a key management system [KMIP Spec, Section 1]
托管对象示例:证书、对称密钥、Public密钥、私钥、模板
A Base Object指的是:
Objects used within the messages of the protocol but not managed by the key management system. Base Objects are components of Managed Objects. [KMIP Spec, Section 2.1]
基本对象示例:属性、凭证、键值、模板属性结构
Template 是一种托管对象。
A Template is the named Managed Object containing the client-settable attributes of a Managed Cryptographic Object (i.e., a stored, named list of attributes). Attributes specified in a Template apply to any object created that references the Template by name. [KMIP Spec, Section 2.2.6]
模板属性结构是一种基本对象。
Template-Attribute Structures are used in various operations to provide the desired attribute values and/or template names in the request and to return the actual attribute values in the response. [KMIP Spec, Section 2.1.8]
那么,让我们看看您指出的用例:
在用例 3.1.1 中:
- 客户端发送创建请求,其中包含对象类型(对称密钥)和包含该密钥所需属性值列表的模板属性结构:
- 密码算法
- 密码长度
- 加密使用掩码。
在用例 3.1.4 中:
- 客户端使用 Register 操作注册一个 Template,包含一组特定的属性:
- 密码算法
- 密码长度
- 名称,指的是要创建的Template的名称:
Template1
- 客户端发送创建请求,与之前一样,包含对象类型(对称密钥)和模板属性结构。然而,这次模板属性结构包含:
- 对名为
Template1
的 Template 的引用,表明该操作应使用Template1
指定的属性(我们从第 1 步中知道密码算法和密码长度) - 名称,指Key的名称:
key1
- 加密使用掩码
- 对名为
所以这两个操作实质上创建了具有相同属性值的相同对称密钥,但第二种情况使用了预定义的模板(并且简单地添加了一个密钥名称),而第一种情况则没有。
旁注:
KMIP 1.0 Specification 在这一点上已经相当过时了。 KMIP 1.3 于 2015 年 12 月发布。我特别提到这一点是因为从 1.3 开始不推荐使用 Template 结构。