跳到主要内容

GB/T 33560-2017 信息安全技术 密码应用标识规范

返回主题目录 · 官方来源

来源:GB/T 33560-2017 国家标准详情;封面发布日期:2017-05-12;实施日期:2017-12-01。 官方 PDF SHA-256:7dcc3991a651a6302a237a585d8c5701eabace1f8946f7d5b9b64514026ecfc9。 转写说明:对照官方 PDF 全部 23 页图像校正文字及表格;跨页续表已合并,省略封面、目录、页眉、页脚和页码。正式引用请核对原标准页面。

前言​

本标准按照 GB/T 1.1—2009 给出的规则起草。

本标准由国家密码管理局提出。

本标准由全国信息安全标准化技术委员会(SAC/TC 260)归口。

本标准起草单位:山东得安信息技术有限公司、成都卫士通信息产业股份有限公司、无锡江南信息安全工程技术中心、兴唐通信科技股份有限公司、上海格尔软件股份有限公司、北京数字证书认证中心、万达信息股份有限公司、长春吉大正元信息技术股份有限公司、海泰方圆科技有限公司、上海数字证书认证中心。

本标准主要起草人:刘平、刘晓东、孔凡玉、李元正、徐强、柳增寿、李述胜、谭武征、李玉峰、李伟平、崔久强、周栋、郑海森。

引言​

在密码应用中,通常使用某一字段或短语来表示所使用的密码算法或数据实体等信息数据,如果不对这些标识的定义进行统一,则很难做到密码协议、密码接口间的互联互通。

本标准的目标是规范密码协议接口、管理等各方面使用的标识,以实现密码基础设施各组件间的兼容和统一,也能够有效的指导、帮助密码设备的研制和协议的实现,有利于管理部门实施有效的管理。

本标准中规定的标识不适用于无线通信、金融 IC 卡应用。

本标准编制过程中得到了国家商用密码应用技术体系总体工作组的指导。

1 范围​

本标准定义了密码应用中所使用的标识,用于规范算法标识、密钥标识、设备标识、数据标识、协议标识、角色标识等的表示和使用。

本标准适用于指导密码设备、密码系统的研制和使用过程中,对标识进行规范化的使用,也可用于指导其他相关标准或协议的编制中对标识的使用。

本标准仅适用于 PKI 体系。

2 规范性引用文件​

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GM/Z 0001—2013 密码术语

3 术语和定义​

GM/Z 0001—2013 界定的以及下列术语和定义适用于本文件。

3.1 标识符 identifier​

一个 32 位整数,用于标识在密码服务或密码管理中涉及的密码算法、密码协议等。

3.2 公钥证书 public key certificate​

确立拥有公钥的实体的身份的数字证书(数字身份证)。该证书是由第三方可信机构签名颁发的,证明主体公钥和主体标识信息之间绑定关系的有效性。通常,证书含有与主体有关的不可伪造的公开密钥信息。

3.3 网络字节顺序 network byte order​

采用 Big-endian 排序方式规定好的一种数据表示格式。该排序方式与具体的 CPU 类型、操作系统等无关,从而可以保证数据在不同主机之间传输时可以被正确解释。

3.4 标签 label​

用于唯一指定某个标识符的名称。

4 符号和缩略语​

下列符号和缩略语适用于本文件。

符号或缩略语含义
BASE64将十六进制数据转换为可见字符的编码规则
CBC密码分组链接模式(Cipher Block Chaining)
CFB密文反馈模式(Ciphertext Feedback)
CRL证书吊销列表(Certificate Revocation List)
DER识别码编码规则,为每一个 ASN.1 类型制定唯一的编码方案
ECB电码本模式(Electronic Code Book)
MAC消息认证码(Message Authentication Code)
OCSP在线证书状态协议(Online Certificate Status Protocol)
OFB输出反馈模式(Output Feedback)
OID对象标识符(Object Identifier)
PEM隐私增强邮件标准规定的证书编码格式
PKI公钥基础设施(Public Key Infrastructure)

5 标识的格式和编码​

标识符为 32 位无符号整数类型,在密码服务接口或安全管理接口的实现或调用时直接作为整数类型进行定义或处理。

在跨平台传输时,为避免不同平台字节顺序差异带来的影响或错误,应将标识符按照高位字节存储于低地址的网络字节顺序进行处理。

商用密码领域中的对象标识符(OID)的定义见附录 A。

6 密码服务类标识​

6.1 概述​

密码服务类标识定义了在密码服务设备或密码服务接口中涉及的密码算法、运算数据、密码协议等项的表示短语和数据,该类数据标识在密码设备或密码服务接口的调用过程中使用,如数据加密、数字签名、身份鉴别等应用场景。

6.2 算法标识​

6.2.1 分组密码算法标识​

分组密码算法标识包含密码算法的类型以及分组算法的加密模式,在调用密码服务进行密码操作或在获取密码设备的密码运算能力时使用。

分组密码算法标识的编码规则为:从低位到高位,第 0 位到第 7 位按位表示分组密码算法工作模式,第 8 位到第 31 位按位表示分组密码算法,例如:

SGD_SM1_ECB:0000 0000 0000 0000 0000 0001 0000 0001(0x 00 00 01 01)

SGD_SSF33_MAC:0000 0000 0000 0000 0000 0010 0001 0000(0x 00 00 02 10)

当多个分组密码算法同时存在时,可用“或”的形式表示。分组密码算法的标识如表 1 所示。

表 1 分组密码算法的标识

标签标识符描述
SGD_SM1_ECB0x00000101SM1 算法 ECB 加密模式
SGD_SM1_CBC0x00000102SM1 算法 CBC 加密模式
SGD_SM1_CFB0x00000104SM1 算法 CFB 加密模式
SGD_SM1_OFB0x00000108SM1 算法 OFB 加密模式
SGD_SM1_MAC0x00000110SM1 算法 MAC 运算
SGD_SSF33_ECB0x00000201SSF33 算法 ECB 加密模式
SGD_SSF33_CBC0x00000202SSF33 算法 CBC 加密模式
SGD_SSF33_CFB0x00000204SSF33 算法 CFB 加密模式
SGD_SSF33_OFB0x00000208SSF33 算法 OFB 加密模式
SGD_SSF33_MAC0x00000210SSF33 算法 MAC 运算
SGD_SM4_ECB0x00000401SM4 算法 ECB 加密模式
SGD_SM4_CBC0x00000402SM4 算法 CBC 加密模式
SGD_SM4_CFB0x00000404SM4 算法 CFB 加密模式
SGD_SM4_OFB0x00000408SM4 算法 OFB 加密模式
SGD_SM4_MAC0x00000410SM4 算法 MAC 运算
SGD_ZUC_EEA30x00000801ZUC 祖冲之机密性算法 128-EEA3 算法
SGD_ZUC_EIA30x00000802ZUC 祖冲之完整性算法 128-EIA3 算法
0x00001000~0x800000FF—为其他分组密码算法预留

注:为其他分组密码算法预留的标识符,预留的标签可自定义。

6.2.2 非对称密码算法标识​

非对称密码算法标识仅定义了密码算法的类型,在使用非对称算法进行数字签名运算时,可将非对称密码算法标识符与密码杂凑算法标识符进行“或”运算后使用,如“RSA with SHA_1”可表示为 SGD_RSA | SGD_SHA1,即 0x00010002,“|”表示“或”运算。

非对称密码算法标识的编码规则为:从低位到高位,第 0 位到第 7 位为 0,第 8 位到第 15 位按位表示非对称密码算法的算法协议,如果所表示的非对称算法没有相应的算法协议则为 0,第 16 位到第 31 位按位表示非对称密码算法类型,例如:

SGD_SM2_1:0000 0000 0000 0010 0000 0010 0000 0000(0x 00 02 02 00)

当多个非对称密码算法同时存在时,可用“或”的形式表示。非对称密码算法的标识如表 2 所示。

表 2 非对称密码算法的标识

标签标识符描述
SGD_RSA0x00010000RSA 算法
SGD_SM20x00020100SM2 椭圆曲线密码算法
SGD_SM2_10x00020200SM2 椭圆曲线签名算法
SGD_SM2_20x00020400SM2 椭圆曲线密钥交换协议
SGD_SM2_30x00020800SM2 椭圆曲线加密算法
SGD_SM90x00040100SM9 标识密码算法
SGD_SM9_10x00040200SM9 数字签名算法
SGD_SM9_20x00040400SM9 密钥交换协议
SGD_SM9_30x00040800SM9 密钥封装机制和公钥加密算法
0x00080000~0x80000000—为其他非对称密码算法预留

注:为其他非对称密码算法预留的标识符,预留的标签可自定义。

6.2.3 密码杂凑算法标识​

密码杂凑算法标识可以在进行杂凑运算或计算 MAC 时应用,也可以与非对称密码算法标识进行“或”运算后使用,表示签名运算前对数据进行杂凑运算的算法类型。

密码杂凑算法标识的编码规则为:从低位到高位,第 0 位到第 7 位表示密码杂凑算法,第 8 位到第 31 位为 0,例如:

SGD_SM3:0000 0000 0000 0000 0000 0000 0000 0001(0x 00 00 00 01)

当多个密码杂凑算法同时存在时,可用“或”的形式表示。密码杂凑算法的标识如表 3 所示。

表 3 密码杂凑算法的标识

标签标识符描述
SGD_SM30x00000001SM3 杂凑算法
SGD_SHA10x00000002SHA_1 杂凑算法
SGD_SHA2560x00000004SHA_256 杂凑算法
0x00000008~0x000000FF—为其他密码杂凑算法预留

注:为其他密码杂凑算法预留的标识符,预留的标签可自定义。

6.2.4 签名算法标识​

签名算法标识在进行数字签名时应用。

签名算法标识的编码规则为:从低位到高位,第 0 位到第 7 位表示密码杂凑算法,第 8 位到第 31 位表示非对称密码算法,例如:

SGD_SHA1_RSA:0000 0000 0000 0001 0000 0000 0000 0010(0x 00 01 00 02)

签名算法的标识如表 4 所示。

表 4 签名算法的标识

标签标识符描述
SGD_SM3_RSA0x00010001基于 SM3 算法和 RSA 算法的签名
SGD_SHA1_RSA0x00010002基于 SHA_1 算法和 RSA 算法的签名
SGD_SHA256_RSA0x00010004基于 SHA_256 算法和 RSA 算法的签名
SGD_SM3_SM20x00020201基于 SM3 算法和 SM2 算法的签名
SGD_SM3_SM90x00040201基于 SM3 算法和 SM9 算法的签名
0x00080000~0x800000FF—为其他密码签名算法预留

注:为其他密码签名算法预留的标识符,预留的标签可自定义。

6.3 数据标识​

6.3.1 数据类型​

数据类型定义了在 PKI 体系下各标准中用到的数据类型标签。数据类型标签的定义如表 5 所示。

表 5 数据类型标签

标签说明
SGD_CHAR8 位,有符号字符
SGD_INT88 位,有符号整数
SGD_INT1616 位,有符号整数
SGD_INT3232 位,有符号整数
SGD_INT6464 位,有符号整数
SGD_UCHAR8 位,无符号字符
SGD_UINT88 位,无符号整数
SGD_UINT1616 位,无符号整数
SGD_UINT3232 位,无符号整数
SGD_UINT6464 位,无符号整数
SGD_RV32 位,无符号整数,表示函数返回值
SGD_OBJ无符号指针类型,表示对象句柄
SGD_BOOL32 位,有符号整数,表示布尔型

6.3.2 数据常量标识​

数据常量标识定义了在 PKI 体系下各标准中用到的常量的标签及取值。数据常量标识的定义如表 6 所示。

表 6 数据常量标识

标签标识符描述
SGD_TRUE0x00000001布尔值为真
SGD_FALSE0x00000000布尔值为假

6.3.3 通用数据对象标识​

在数据的存储或传输过程中,可能需要对某些数据的特殊性进行明确的标识,以保证目标系统能够对接收数据进行正确的处理。

通用数据标识的编码规则为:从低位到高位,第 0 位到第 7 位表示数据对象的属性,第 8 位为 1,第 9 位到第 31 位为 0,例如:

SGD_USER_DATA:0000 0000 0000 0000 0000 0001 0001 0111(0x 00 00 01 17)

通用数据对象标识的定义如表 7 所示。

表 7 通用数据对象标识

标签标识符描述
SGD_KEY_INDEX0x00000101密钥索引
SGD_SECRET_KEY0x00000102对称密钥
SGD_PUBLIC_KEY_SIGN0x00000103签名公钥
SGD_PUBLIC_KEY_ENCRYPT0x00000104加密公钥
SGD_PRIVATE_KEY_SIGN0x00000105签名私钥
SGD_PRIVATE_KEY_ENCRYPT0x00000106加密私钥
SGD_KEY_COMPONENT0x00000107密钥部件
SGD_PASSWORD0x00000108口令
SGD_PUBLIC_KEY_CERT0x00000109公钥证书
SGD_ATTRIBUTE_CERT0x0000010A属性证书
SGD_SIGNATURE_DATA0x00000111数字签名
SGD_ENVELOPE_DATA0x00000112数字信封
SGD_RANDOM_DATA0x00000113随机数
SGD_PLAIN_DATA0x00000114明文数据
SGD_CIPHER_DATA0x00000115密文数据
SGD_DIGEST_DATA0x00000116摘要数据
SGD_USER_DATA0x00000117用户数据
0x00000118~0x000001FF—为其他数据对象预留

注:为其他数据对象预留的标识符,预留的标签可自定义。

6.3.4 证书解析项标识​

在实现身份鉴别、授权管理、访问控制等安全机制时,需要解析证书项以获取公钥证书信息,在这种情况下需要通过标识符指定证书项内容。

证书解析项标识的编码规则为:从低位到高位,第 0 位到第 7 位表示证书解析项的内容,第 8 位到第 31 位为 0,例如:

SGD_EXT_KEYUSAGE_INFO:0000 0000 0000 0000 0000 0000 0001 0011(0x 00 00 00 13)

证书解析项标识的定义如表 8 所示。

表 8 证书解析项标识

标签标识符描述
SGD_CERT_VERSION0x00000001证书版本
SGD_CERT_SERIAL0x00000002证书序列号
SGD_CERT_ISSUER0x00000005证书颁发者信息
SGD_CERT_VALID_TIME0x00000006证书有效期
SGD_CERT_SUBJECT0x00000007证书持有者信息
SGD_CERT_DER_PUBLIC_KEY0x00000008证书公钥信息
SGD_CERT_DER_EXTENSIONS0x00000009证书扩展项信息
SGD_EXT_AUTHORITYKEYIDENTIFIER_INFO0x00000011颁发者密钥标识符
SGD_EXT_SUBJECTKEYIDENTIFIER_INFO0x00000012证书持有者密钥标识符
SGD_EXT_KEYUSAGE_INFO0x00000013密钥用途
SGD_EXT_PRIVATEKEYUSAGEPERIOD_INFO0x00000014私钥有效期
SGD_EXT_CERTIFICATEPOLICIES_INFO0x00000015证书策略
SGD_EXT_POLICYMAPPINGS_INFO0x00000016策略映射
SGD_EXT_BASICCONSTRAINTS_INFO0x00000017基本限制
SGD_EXT_POLICYCONSTRAINTS_INFO0x00000018策略限制
SGD_EXT_EXTKEYUSAGE_INFO0x00000019扩展密钥用途
SGD_EXT_CRLDISTRIBUTIONPOINTS_INFO0x0000001ACRL 发布点
SGD_EXT_NETSCAPE_CERT_TYPE_INFO0x0000001BNetscape 属性
SGD_EXT_SELFDEFINED_EXTENSION_INFO0x0000001C私有的自定义扩展项
SGD_CERT_ISSUER_CN0x00000021证书颁发者通用名
SGD_CERT_ISSUER_O0x00000022证书颁发者组织
SGD_CERT_ISSUER_OU0x00000023证书颁发者组织机构
SGD_CERT_SUBJECT_CN0x00000031证书持有者通用名
SGD_CERT_SUBJECT_O0x00000032证书持有者组织
SGD_CERT_SUBJECT_OU0x00000033证书持有者组织机构
SGD_CERT_SUBJECT_EMAIL0x00000034证书持有者电子信箱
SGD_CERT_NOTBEFORE_TIME0x00000035证书起始日期
SGD_CERT_NOTAFTER_TIME0x00000036证书截至日期
0x00000080~0x000000FF—为其他证书解析项预留

注:为其他证书解析项预留的标识符,预留的标签可自定义。

6.3.5 时间戳信息项标识​

在时间戳系统的实现及时间戳的应用过程中,需要解析时间戳信息,在这种情况下需要通过标识符指定时间戳信息项的内容。

时间戳信息项标识的编码规则为:从低位到高位,第 0 位到第 7 位表示时间戳信息项的内容,第 8 位、第 10 位到第 31 位为 0,第 9 位为 1,例如:

SGD_SOURCE_OF_TIME:0000 0000 0000 0000 0000 0010 0000 0110(0x 00 00 02 06)

时间戳信息项标识的定义如表 9 所示。

表 9 时间戳信息项标识

标签标识符描述
SGD_TIME_OF_STAMP0x00000201签发时间
SGD_CN_OF_TSSIGNER0x00000202签发者的通用名
SGD_ORINGINAL_DATA0x00000203时间戳请求的原始信息
SGD_CERT_OF_TSSERVER0x00000204时间戳服务器的证书
SGD_CERTCHAIN_OF_TSSERVER0x00000205时间戳服务器的证书链
SGD_SOURCE_OF_TIME0x00000206时间源的来源
SGD_TIME_PRECISION0x00000207时间精度
SGD_RESPONSE_TYPE0x00000208响应方式
SGD_SUBJECT_COUNTRY_OF_TSSIGNER0x00000209签发者国家
SGD_SUBJECT_ORGNIZATION_OF_TSSIGNER0x0000020A签发者组织
SGD_SUBJECT_CITY_OF_TSSIGNER0x0000020B签发者城市
SGD_SUBJECT_EMAIL_OF_TSSIGNER0x0000020C签发者电子信箱
0x00000280~0x000002FF—为其他时间戳信息项预留

注:为其他时间戳信息项预留的标识符,预留的标签可自定义。

6.3.6 单点登录标识​

在单点登录系统中,存在一些数据标识用于唯一的表示某一用户或某一服务提供者。

单点登录标识项的编码规则为:从低位到高位,第 0 位到第 7 位表示单点登录标识项的内容,第 8 位到第 31 位为 0,例如:

SGD_SP_ID:0000 0000 0000 0000 0000 0000 0000 0001(0x 00 00 00 01)

单点登录标识的定义如表 10 所示。

表 10 单点登录标识

标签标识符描述
SGD_SP_ID0x00000001服务提供者唯一标识数据
SGD_SP_USER_ID0x00000002服务提供者用户标识数据,在服务提供者内唯一
SGD_IDP_ID0x00000003身份鉴别提供者唯一标识数据
SGD_IDP_USER_ID0x00000004身份鉴别提供者用户标识数据,在身份鉴别提供者内唯一

6.3.7 数据编码格式标识​

数据在存储或传输时需要按照约定的格式进行编码,以保证不同应用或不同应用系统之间的互联互通性。编码格式标识符需要与通用数据标识符或证书解析项标识符等进行“或”运算后使用,作为数据的附加属性,表示数据对象符合指定编码格式。

数据编码格式标识的编码规则为:从低位到高位,第 0 位到第 23 位为 0,第 24 位到第 31 位表示数据编码格式,例如:

SGD_ENCODING_DER:0000 0001 0000 0000 0000 0000 0000 0000(0x 01 00 00 00)

数据编码格式标识的定义如表 11 所示。

表 11 数据编码格式标识

标签标识符描述
SGD_ENCODING_RAW0x00000000无编码
SGD_ENCODING_DER0x01000000DER 编码
SGD_ENCODING_BASE640x02000000Base64 编码
SGD_ENCODING_PEM0x03000000PEM 编码
SGD_ENCODING_TXT0x04000000由“0”~“9”、“A”~“F”等字符表示 16 进制数据的字符串
0x80000000~0xFF000000—为自定义编码格式预留

注:为自定义编码格式预留的标识符,预留的标签可自定义。

6.4 协议标识​

6.4.1 接口描述标识​

在安全应用系统中为区分密码服务提供者所采用的协议或规范,可以采用接口描述标识。

接口描述标识使用 32 位无符号整数表示,其定义如表 12 所示。

表 12 接口描述标识

标签标识符描述
SGD_PROTOCOL_CSP1Cryptographic Service Provider 接口
SGD_PROTOCOL_PKCS112PKCS #11 接口
SGD_PROTOCOL_SDS3密码设备应用接口
SGD_PROTOCOL_UKEY4智能 IC 卡及智能密码钥匙接口
SGD_PROTOCOL_CNG5Cryptographic Next Generation 接口
SGD_PROTOCOL_GCS6通用密码服务接口

6.4.2 证书验证模式标识​

在验证证书的有效性时,除了检查证书的有效期、证书的签名是否有效外,还应通过 CRL 或 OCSP 等方式检查证书是否被注销等异常状态。

证书验证模式标识使用 32 位无符号整数表示,其定义如表 13 所示。

表 13 证书验证模式标识

标签标识符描述
SGD_CRL_VERIFY1CRL 验证模式
SGD_OCSP_VERIFY2OCSP 验证模式

7 安全管理类标识​

7.1 概述​

安全管理类标识定义了在安全系统管理、设备管理中涉及的系统角色、安全操作等项的表示短语和数据。该类数据标识在安全管理接口的调用过程中使用,或在安全系统或设备管理的日志信息采集、处理过程中使用,也可应用于其他安全管理活动中。

7.2 角色管理标识​

7.2.1 角色标识​

角色是在管理操作中的主体,是管理活动的实施者,在角色管理操作中也会作为被管理的对象。

角色标识的编码规则为:从低位到高位,第 0 位到第 7 位表示角色,第 8 位到第 31 位为 0,例如:

SGD_ROLE_OPERATOR:0000 0000 0000 0000 0000 0000 0000 0101(0x 00 00 00 05)

角色标识的定义如表 14 所示。

表 14 角色标识

标签标识符描述
SGD_ROLE_SUPER_MANAGER0x00000001超级管理员
SGD_ROLE_MANAGER0x00000002业务管理员
SGD_ROLE_AUDIT_MANAGER0x00000003审计管理员
SGD_ROLE_AUDITOR0x00000004审计操作员
SGD_ROLE_OPERATOR0x00000005业务操作员
SGD_ROLE_USER0x00000006用户
0x00000081~0x000000FF—为自定义角色预留

注:为自定义角色预留的标识符,预留的标签可自定义。

7.2.2 角色操作标识​

角色操作标识符包含角色自身的行为,如签入、签出、修改口令等操作,和对其他角色的管理行为,如创建角色、删除角色、修改角色、对角色授权等操作。

角色操作标识的编码规则为:从低位到高位,第 0 位到第 7 位表示角色管理操作,第 8 位到第 31 位为 0,例如:

SGD_OPERATION_SIGNIN:0000 0000 0000 0000 0000 0000 0000 0001(0x 00 00 00 01)

角色操作标识的定义如表 15 所示。

表 15 角色操作标识

标签标识符描述
SGD_OPERATION_SIGNIN0x00000001签入
SGD_OPERATION_SIGNOUT0x00000002签出
SGD_OPERATION_CREATE0x00000003创建
SGD_OPERATION_DELETE0x00000004删除
SGD_OPERATION_MODIFY0x00000005修改
SGD_OPERATION_CHG_PWD0x00000006修改口令
SGD_OPERATION_AUTHORIZATION0x00000007授权

7.2.3 操作结果标识​

操作结果标识符表示管理活动的结束状态,分别是成功和失败两种状态。操作结果标识的定义如表 16 所示。

表 16 操作结果标识

标签标识符描述
SGD_OPERATION_SUCCESS0x00000000成功
0x00000001~0xFFFFFFFF—失败,表示错误码

注:为错误码预留的标识符,预留的标签可自定义。

7.3 密钥管理标识​

7.3.1 密钥分类标识​

密钥分类标识定义了密钥的属性信息,属于被管理的对象。

密钥分类标识的编码规则为:从低位到高位,第 0 位到第 7 位表示密钥对象,第 8 位为 1 表示为密钥管理类标识,第 9 位到第 31 位为 0,例如:

SGD_PRIKEY_PASSWD:0000 0000 0000 0000 0000 0001 0000 0110(0x 00 00 01 06)

密钥分类标识的定义如表 17 所示。

表 17 密钥分类标识

标签标识符描述
SGD_MAIN_KEY0x00000101主密钥
SGD_DEVICE_KEYS0x00000102设备密钥
SGD_USER_KEYS0x00000103用户密钥
SGD_KEK0x00000104密钥加密密钥
SGD_SESSION_KEY0x00000105会话密钥
SGD_PRIKEY_PASSWD0x00000106私钥访问控制码
SGD_COMPARTITION_KEY0x00000107分隔密钥
0x00000110~0x000001FF—为自定义密钥类型预留

注:为自定义密钥类型预留的标识符,预留的标签可自定义。

7.3.2 密钥操作标识​

密钥操作标识定义了对密钥的操作内容。

密钥操作标识的编码规则为:从低位到高位,第 0 位到第 7 位表示密钥管理标识,第 8 位为 1 表示为密钥管理类标识,第 9 位到第 31 位为 0,例如:

SGD_KEY_DESTROY:0000 0000 0000 0000 0000 0001 0000 1010(0x 00 00 01 0A)

密钥操作标识的定义如表 18 所示。

表 18 密钥操作标识

标签标识符描述
SGD_KEY_GENERATION0x00000101密钥生成
SGD_KEY_DISPENSE0x00000102密钥分发
SGD_KEY_IMPORT0x00000103密钥导入
SGD_KEY_EXPORT0x00000104密钥导出
SGD_KEY_DIVISION0x00000105密钥分割
SGD_KEY_COMPOSE0x00000106密钥合成
SGD_KEY_RENEWAL0x00000107密钥更新
SGD_KEY_BACKUP0x00000108密钥备份
SGD_KEY_RESTORE0x00000109密钥恢复
SGD_KEY_DESTROY0x0000010A密钥销毁

7.4 系统管理标识​

系统管理标识定义了在对安全系统进行管理操作时的角色、操作、对象、结果等项的表示短语和数据。

角色的定义和操作结果的定义见“角色管理标识”中的“角色标识”和“操作结果标识”部分。

系统管理标识的编码规则为:从低位到高位,第 0 位到第 7 位表示系统管理操作,第 8 位、第 10 位到第 31 位为 0,第 9 位为 1 表示为系统或设备管理类标识,例如:

SGD_SYSTEM_SHUT:0000 0000 0000 0000 0000 0010 0000 0011(0x 00 00 02 03)

系统管理标识的定义如表 19 所示。

表 19 系统管理标识

标签标识符描述
SGD_SYSTEM_INIT0x00000201系统安装及初始化操作
SGD_SYSTEM_START0x00000202启动系统
SGD_SYSTEM_SHUT0x00000203关闭系统
SGD_SYSTEM_RESTART0x00000204重新启动系统
SGD_SYSTEM_QUERY0x00000205状态查询
SGD_SYSTEM_BACKUP0x00000206数据备份
SGD_SYSTEM_RESTORE0x00000207数据恢复

7.5 设备管理标识​

7.5.1 设备基本信息标识​

设备基本信息标识可以在从密码设备中获取设备型号、设备编号等信息时指定。

设备基本信息标识的编码规则为:从低位到高位,第 0 位到第 7 位表示设备信息标识,第 8 位、第 10 位到第 31 位为 0,第 9 位为 1,表示为系统或设备管理类标识,例如:

SGD_DEVICE_DESCRIPTION:0000 0000 0000 0000 0000 0010 0001 0001(0x 00 00 02 11)

设备基本信息标识的定义如表 20 所示。

表 20 设备基本信息标识

标签标识符描述
SGD_DEVICE_SORT0x00000201设备类别,如密码机、密码卡和智能密码终端等
SGD_DEVICE_TYPE0x00000202设备型号
SGD_DEVICE_NAME0x00000203设备名称
SGD_DEVICE_MANUFACTURER0x00000204生产厂商
SGD_DEVICE_HARDWARE_VERSION0x00000205硬件版本
SGD_DEVICE_SOFTWARE_VERSION0x00000206软件版本
SGD_DEVICE_STANDARD_VERSION0x00000207符合标准版本
SGD_DEVICE_SERIAL_NUMBER0x00000208设备编号
SGD_DEVICE_SUPPORT_ASYM_ALG0x00000209设备能力字段,标识密码设备支持的非对称密码算法
SGD_DEVICE_SUPPORT_SYMM_ALG0x0000020A设备能力字段,标识密码设备支持的对称密码算法
SGD_DEVICE_SUPPORT_HASH_ALG0x0000020B设备能力字段,标识密码设备支持的杂凑密码算法
SGD_DEVICE_SUPPORT_STORAGE_SPACE0x0000020C设备能力字段,标识密码设备最大文件存储空间
SGD_DEVICE_SUPPORT_FREE_SPACE0x0000020D设备能力字段,标识密码设备空闲文件存储空间
SGD_DEVICE_RUNTIME0x0000020E已运行时间
SGD_DEVICE_USED_TIMES0x0000020F设备被调用次数
SGD_DEVICE_LOCATION0x00000210设备物理位置
SGD_DEVICE_DESCRIPTION0x00000211设备描述
SGD_DEVICE_MANAGER_INFO0x00000212设备管理者描述信息
SGD_DEVICE_MAX_DATA_SIZE0x00000213设备能力字段,一次能处理的数据容量

7.5.2 设备类别标识​

7.5.2.1 设备类别标识格式​

设备类别标识包括设备形态和设备功能等信息,由设备形态标识和设备功能标识通过“或”运算进行组合。

7.5.2.2 设备形态标识​

设备形态标识的编码规则为:从低位到高位,第 0 位到第 23 位为 0,第 24 位到第 31 位表示密码设备的形态,例如:

SGD_DEVICE_SORT_SJ:0000 0010 0000 0000 0000 0000 0000 0000(0x 02 00 00 00)

设备形态标识的定义如表 21 所示。

表 21 设备形态标识

标签标识符描述
SGD_DEVICE_SORT_SJ0x02000000通过网络提供服务的密码设备
SGD_DEVICE_SORT_SK0x03000000不支持热拔插功能的密码设备,如 PCI 密码卡
SGD_DEVICE_SORT_SM0x04000000支持热拔插的智能密码钥匙或智能卡类密码设备
0x05000000~0xFF000000—为其他设备形态预留

注:为其他设备形态预留的标识符,预留的标签可自定义。

7.5.2.3 设备功能标识​

设备功能标识的编码规则为:从低位到高位,第 0 位到第 7 位为 0,第 8 位到第 23 位按位表示密码设备的主要功能,第 24 位到第 31 位为 0,例如:

SGD_DEVICE_SORT_FE:0000 0000 0000 0000 0000 0001 0000 0000(0x 00 00 01 00)

设备功能标识的定义如表 22 所示。

表 22 设备功能标识

标签标识符描述
SGD_DEVICE_SORT_FE0x00000100加解密类密码设备
SGD_DEVICE_SORT_FA0x00000200数据鉴别类密码设备
SGD_DEVICE_SORT_FM0x00000400密钥管理类密码设备
0x00000800~0x00800000—为其他设备功能预留

注:为其他设备功能预留的标识符,预留的标签可自定义。

7.5.3 设备操作标识​

对设备内角色的管理操作见“角色管理标识”部分。

对设备内密钥的管理操作见“密钥管理标识”部分。

对设备整体的管理操作见“系统管理标识”部分。

7.5.4 设备状态标识​

设备状态标识,可以标识密码设备当前的工作状态。

设备状态标识的编码规则为:从低位到高位,第 0 位到第 7 位表示设备状态标识,第 8 位、第 10 位到第 31 位为 0,第 9 位为 1,表示为系统或设备管理类标识,例如:

SGD_STATUS_READY:0000 0000 0000 0000 0000 0010 0000 0010(0x 00 00 02 02)

设备状态标识的定义如表 23 所示。

表 23 设备状态标识

标签标识符描述
SGD_STATUS_INIT0x00000201初始状态,密码设备内没有安装密钥,不能提供服务
SGD_STATUS_READY0x00000202就绪状态,已经安装密钥,可以提供密码服务
SGD_STATUS_EXCEPTION0x00000203异常状态,已安装密钥,但不能正常提供密码服务
0x00000204~0x000002FF——

注:为其他设备状态预留的标识符,预留的标签可自定义。

7.5.5 设备编号格式​

设备编号与设备型号组合使用可唯一的标识某一密码设备。在设备型号相同的情况下,该设备编号具有唯一性,不可重复。

标签格式:××××××××-×××-×××××(生产日期-批次号-流水号)

生产日期,8 位数字,表示该密码设备的生产日期,按从左到右的顺序,分别是年 4 位数字、月 2 位数字、日 2 位数字,如 20080229;

批次号,3 位数字,表示同型号密码设备的生产批次,不足 3 位数字,则在左边用 0 填充至 3 位,如:001;

流水号,5 位数字,某一型号某一批次产品的流水编号,不足 5 位数字,则在左边用 0 填充至 5 位,如:00123。

设备编号的编码规则为:每 4 位表示设备编号的 1 个数字,从低位到高位,第 0 位到第 19 位表示流水号,第 20 位到第 31 位表示批次号,第 32 位到第 63 位表示生产日期,例如:

20080229-001-00123 表示为:0x 20 08 02 29 00 10 01 23

附录 A(规范性附录)商用密码领域中的相关 OID 定义​

商用密码领域中的 OID 定义了各类对象的标识符,具体定义见表 A.1。

表 A.1 商用密码领域中的相关 OID 定义

对象标识符 OID对象标识符定义备注
—通用对象标识符—
1.2国际标准化组织成员标识—
1.2.156中国—
1.2.156.197国家密码管理局—
1.2.156.10197国家密码行业标准化技术委员会—
1.2.156.10197.1密码算法—
—分组密码算法对象标识符—
1.2.156.10197.1.100分组密码算法—
1.2.156.10197.1.102SM1 分组密码算法—
1.2.156.10197.1.103SSF33 分组密码算法—
1.2.156.10197.1.104SM4 分组密码算法—
—序列密码算法对象标识符—
1.2.156.10197.1.200序列密码算法—
1.2.156.10197.1.201祖冲之序列密码算法—
—公钥密码算法对象标识符—
1.2.156.10197.1.300公钥密码算法—
1.2.156.10197.1.301SM2 椭圆曲线公钥密码算法—
1.2.156.10197.1.301.1SM2-1 数字签名算法—
1.2.156.10197.1.301.2SM2-2 密钥交换协议—
1.2.156.10197.1.301.3SM2-3 公钥加密算法—
1.2.156.10197.1.302SM9 标识密码算法—
1.2.156.10197.1.302.1SM9-1 数字签名算法—
1.2.156.10197.1.302.2SM9-2 密钥交换协议—
1.2.156.10197.1.302.3SM9-3 密钥封装机制和公钥加密算法—
—杂凑算法对象标识符—
1.2.156.10197.1.400杂凑算法—
1.2.156.10197.1.401SM3 密码杂凑算法—
1.2.156.10197.1.401.1SM3 密码杂凑算法,无密钥使用—
1.2.156.10197.1.401.2SM3 密码杂凑算法,有密钥使用—
—组合运算算法对象标识符—
1.2.156.10197.1.500组合运算机制—
1.2.156.10197.1.501基于 SM2 算法和 SM3 算法的签名—
1.2.156.10197.1.502基于 SM9 算法和 SM3 算法的签名—
1.2.156.10197.1.504基于 RSA 算法和 SM3 算法的签名—
—CA 代码对象标识符—
1.2.156.10197.4.3CA 代码—
—标准体系对象标识符—
1.2.156.10197.6标准体系—
1.2.156.10197.6.1基础类—
1.2.156.10197.6.1.1算法类—
1.2.156.10197.6.1.1.1《祖冲之序列密码算法》—
1.2.156.10197.6.1.1.2《SM4 分组密码算法》—
1.2.156.10197.6.1.1.3《SM2 椭圆曲线公钥密码算法》—
1.2.156.10197.6.1.1.4《SM3 密码杂凑算法》—
1.2.156.10197.6.1.2标识类—
1.2.156.10197.6.1.2.1《密码应用标识规范》—
1.2.156.10197.6.1.3工作模式—
1.2.156.10197.6.1.4安全机制—
1.2.156.10197.6.1.4.1《SM2 密码使用规范》—
1.2.156.10197.6.1.4.2《SM2 加密签名消息语法规范》—
1.2.156.10197.6.1.4.3《SM9 密码使用规范》—
1.2.156.10197.6.1.4.4《SM9 加密签名消息语法规范》—
1.2.156.10197.6.2设备类—
1.2.156.10197.6.3服务类—
1.2.156.10197.6.4基础设施—
1.2.156.10197.6.5检测类—
1.2.156.10197.6.5.1《随机性检测规范》—
1.2.156.10197.6.6管理类—

参考文献​

[1] X.208 CCITT. Recommendation X.208: Specification of Abstract Syntax Notation One (ASN.1). 1988.

[2] RFC 1421—Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures. 1993.

[3] PKCS #1: RSA Encryption Standard. Version 1.5, 1993.

[4] PKCS #5: Password-Based Encryption Standard. Version 1.5, 1993.

[5] PKCS #11: Cryptographic Token Interface Standard. Version 1.0, 1995.