GM/T 0110-2021Key management interoperability protocol specification (English PDF)
密钥管理互操作协议规范
This is a limited preview
Buy now to download the full PDF (29 pages)
Need quotation for your management?
Get a formal quotation for GM/T 0110-2021 in 30 minutes.
Issued by
State Administration of Cryptography
Level / Type
National · Recommended
Issue date
October 18, 2021
Implementation date
May 1, 2022
Scope
GM/T 0110-2021 is the English-translated version of 密钥管理互操作协议规范.
GM/T 0110-2021 — This document specifies the key management protocol for communication between the key client and the key management server. This protocol is used to complete operations such as object generation, storage, and state transition in the key management server.
It also specifies the security requirements for the application of the protocol. It does not involve the internal logic structure and security design of the key management server, nor does it involve the business logic of the key client.
Found what you need?
Document preview — GM/T 0110-2021
National Standard of the People's Republic of China
- ICS
- 35.030
- Classification
- L 80
Contents
- Scope1
- Normative references2
- Terms and definitions3
- Archive4
- Authorization5
- Compromise6
- Message digest7
- Key wrapping (wrapping)8
- Profile9
- Recover10
- Split key11
- Salt12
- Key derivation13
- XEX-based tweaked-codebook mode with ciphertext stealing14
- Managed object15
- Abbreviations16
- Overview17
- Protocol model18
- Object types19
- Overview20
- Storage security21
- Transmission security22
- Identity authentication23
- Access control24
1 Scope
This document specifies the key management protocol for communication between the key client and the key management server. This protocol is used to complete operations such as object generation, storage, and state transition in the key management server. It also specifies the security requirements for the application of the protocol.
It does not involve the internal logic structure and security design of the key management server, nor does it involve the business logic of the key client.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
GB/T 15852.1, Information technology. Security techniques -- Message authentication codes - Part 1: Mechanisms using a block cipher GB/T 32905, Information security techniques -- SM3 cryptographic hash algorithm GB/T 32907, Information security technology -- SM4 block cipher algorithm GB/T 32918 (all parts), Information security technology -- Public key cryptographic algorithm SM2 based on elliptic curves GB/T 35276, Information security technology -- SM2 cryptography algorithm usage specification GM/T 0024, SSL VPN technical specifications GM/Z 4001, Cryptography terminology
3 Terms and definitions
For the purposes of this document, the terms and definitions defined in GM/Z 4001 as well as the followings apply.
3.1 Archive
Put infrequently accessed information into long-term storage.
3.2 Authorization
An access right granted to an entity. It expresses a "formal" permission to perform a security function or activity.
3.3 Compromise
Unauthorized disclosure, alteration, replacement, or use of sensitive data (such as key material and other security-related information).
3.4 Message digest
The result of a cryptographic hash operation on a message.
3.5 Key wrapping (wrapping)
A method of encrypting, MAC/signing, or both encryption and MAC/signing a key.
3.6 Profile
A specification of objects, attributes, operations, message elements, and authentication methods. These objects, attributes, operations, message elements, and authentication methods are used in the interaction between a key management service and a client in a specific context.
3.7 Recover
Recover information that has been archived for long-term preservation.
3.8 Split key
The process of splitting a key into n key components using secret sharing technology.
Each key component cannot be used to deduce the original key alone, but when combined together, the original key can be reconstructed. If k key components (k <= n) are required to reconstruct the original key, then if only k -1 key components are known, the key information of the original key cannot be gotten.
3.9 Salt
A random variable added as a secondary input to a one-way or encryption function that can be used to derive password verification data.
3.10 Key derivation
Derive one or more secret keys from a secret value of a master key, password, or passphrase using a pseudorandom function. It can be used to extend a key into a longer key or to get a key in a desired format.
3.11 XEX-based tweaked-codebook mode with ciphertext stealing
An adjustable codebook mode based on the XEX (XOR-ENCRYPT-XOR) ciphertext stealing algorithm. This encryption mode is mainly used to encrypt static data in storage devices based on data units (including sectors, logical disk blocks, etc.).
3.12 Managed object
The objects managed by the key management server, including symmetric keys, asymmetric keys, certificates, secret data, opaque objects, etc.
4 Abbreviations
The following abbreviations apply to this document.
ASN.1.Abstract Syntax Notation One CA. Certification Authority CRL. Certificate Revocation List CRT. Chinese Remainder Theorem CTR. Counter DER. Distinguished Encoding Rules DNS. Domain Name System GCM. Galois Counter Mode HMAC. Keyed-Hash Message Authentication Code IP. Internet Protocol ISO. International Organization for Standardization IV. Initialization Vector KMIP. Key Management Interoperability Protocol MAC. Message Authentication Code PKCS. Public Key Cryptography Standards PKI. Public Key Infrastructure PSS. Probabilistic Signature Scheme RNG. Random Number Generator RSA. An asymmetric cryptographic algorithm TTLV. Tag, type, length, value URI. Uniform Resource Identifier URL. Uniform Resource Locator XTS. XEX-based tweaked-codebook mode with cipher text stealing
5 Overview
This document aims to define a set of communication protocol specifications between key clients and key management servers. Through this protocol, operations such as creation, storage, use and destruction of objects in the key management server can be completed. These objects are collectively referred to as managed objects in this document. Managed objects in this document include symmetric keys, asymmetric keys, digital certificates, etc. Managed objects have a series of attributes. Attribute information is stored in the key management service. These attributes can be added, modified or deleted through the key management service. The object management operations that the key management server can support include generating encryption keys, importing password objects, querying objects, geting objects, and destroying objects. For standard application examples and main application scenarios, please refer to Annex A.
6.1 Protocol model
The interaction model of the key management interoperability protocol is shown in
Figure 1.
Figure 1 -- Interaction model of key management interoperability protocol
As shown in Figure 1, the client sends a request message to the key management server.
The request message shall contain information such as client identity authentication, operation identifier, and operation parameters. The key management server performs corresponding operations according to the request message and returns the operation results to the client as a response message. The response message contains the result state and result data. The protocol described in this document has the following characteristics.
a) Messages are independent of each other. Implementors do not need to maintain message-related states. For specific message data formats and encodings, see 6.5.
b) The message can contain a single operation request or response, or multiple operation requests or responses.
c) The message can be a synchronous message or an asynchronous message. The form of the message is related to the specific operation and implementation.
d) According to the different operations or the different target objects of the operation, it can be divided into.
1) Direct operation without authentication, such as querying public objects;
2) Operations that require authentication, such as creating and getting private objects.
6.2.1 Object types
The following subsections describe the objects passed between the Client and the Key Management Server.
Managed objects are the objects of key management operations (see 6.4). Managed objects include cryptographic objects (objects containing key material, such as certificates, keys and secret data) and non-cryptographic objects (such as opaque objects).
Some object types are only used in the protocol itself and are not managed objects. They are called basic objects.
The primitive data types referenced in object descriptions include.
- Integer;
- Long Integer;
6.4.1.1 Overview
This clause defines the operations that a key management client can request. All object management operations are sent from the client to the server in a request, and the results are gotten in a response from the server to the client. Multiple operations can be combined in a batch. The result is only a single request response.
The following operations are affected by a mechanism called ID placeholders.
The key management service shall implement a temporary variable called an ID placeholder. This value contains a unique identifier. It is a variable stored internally in the server. It is valid and persisted only while a batch operation is executed. Once the batch operation is completed, the ID placeholder shall be discarded and/or invalidated by the server so that subsequent requests will not see this previous ID placeholder as valid.
The ID placeholder is gotten from the unique identifier returned in the response to the Create Symmetric Key, Create Public-Private Key Pair, Register, Derive Key, Update Symmetric Key, Update Public-Private Key Pair, Locate, and Recover operations. If any of these operations complete successfully, the server shall copy this unique identifier into the ID placeholder variable. It shall be retained until the rest of the batched operations are completed, or a subsequent operation in the batch causes the ID placeholder to be replaced. If the Batch Error Continue option is set to Stop and the Batch Sequential option is set to True, subsequent operations in the batched request can utilize the ID placeholder by omitting the unique identifier in the request payload.
For any operation on managed objects already stored on the server, any archived objects shall first be made available via a restore operation (see 6.4.1.22) before they can be used (e.g. online objects).
Multi-step cryptographic algorithm operations (operations whose data flow spans multiple requests from the client to the server) are optionally supported by those cryptographic algorithm operations that include the associated value (see 6.2.2.15), initial indicator (see 6.2.2.16), and completion indicator (see 6.2.2.17) request parameters.
For multi-step cryptographic algorithm operations, perform the following process.
a) In the first request.
1) provide an initial indicator with a value of true;
2) provide other required parameters;
3) retain the relevant values returned in the response for subsequent requests;
4) use the data output of the response (if any).
7.3 Storage security
Users can choose to store sensitive data objects such as private keys and symmetric keys in hardware cryptographic devices, or adopt other security measures.
The security of the master key or root key is very important. It shall be stored in a hardware cryptographic device. Secret sharing technology (key splitting) can be used to achieve secure management of the master key or root key.
7.4 Transmission security
The key client and key management server shall establish and maintain a secure channel.
Ensure the confidentiality and integrity of the secure channel.
The key client shall verify the authenticity of the key management server identity.
The key management server can verify the authenticity of the key client identity according to security needs.
The communication between the key client and the key management server shall comply with the provisions of GM/T 0024.
7.5 Identity authentication
The mechanism used to authenticate the server and client is not part of the message definition, but is external to the protocol (e.g., the secure communication protocol between the client and the server).
Credentials (see 6.2.2.2) are used to identify the visitor, or to authenticate the client.
The credentials can be associated with the client certificate when establishing a secure channel to improve the security of authentication.
7.6 Access control
Key objects can only be authorized to legitimate users or applications for operation. It is necessary to authenticate the visitor's identity and review the operation permissions to determine whether the visitor has the permission to operate the object.
Objects can have sensitive and always-sensitive attributes set based on security needs.
The access rights for an object are specified by the credentials included in the create key object message (see 6.2.2.2).
The operation permissions of the object are marked by the cryptographic usage mask ......
......
This preview omits tables, figures, formulas and parts of the technical clauses. The complete document — 29 pages — is available in the English PDF.
Referenced standards
Normative references
- GB/T 15852.1Information technology. Security techniques-Message authentication codes - Part 1: Mechanisms using a block cipher
- GB/T 32905Information security techniques - SM3 cryptographic hash algorithm
- GB/T 32907Information security technology - SM4 block cipher algorithm
- GB/T 35276Information security technology—SM2 cryptographic algorithm usage specification
GB/T 32918
How to Download GM/T 0110-2021
- 1
Add to cart
Click "Download PDF" on this page and choose "Buy this standard". You can add more standards before checkout.
- 2
Checkout
Enter your email and billing details. Payment is processed securely by Stripe (cards or bank transfer). Prefer bank details? Request a quotation (min. order $300).
- 3
Instant delivery (0–9 sec)
Delivery is automatic: within seconds of payment you'll receive an email with a secure download link. The link stays valid for 72 hours.
- 4
Invoice included
A tax invoice is attached to the confirmation email. Need a custom invoice? Contact us.
Related Standards
GB/T 15852.1-2020 — Information technology. Security techniques-Message authentication codes - Part 1: Mechanisms using a block cipher
GB/T 32905-2016 — Information security techniques - SM3 cryptographic hash algorithm
GB/T 32907-2016 — Information security technology - SM4 block cipher algorithm
Secure payment via Stripe
Payments accepted
GM/T 0110-2021
$2,600.00