公钥密码基础设施应用技术体系 基于SM2算法的密钥服务协议标准(2)

2019-01-26 20:47

GBXX/T ××××. ×-2008

CA 证书认证系统Certification Authority

KM 密钥管理系统Key Management DN Distinguished Name

DSA 数字签名算法Digital Signature Algorithm ECC 椭圆曲线密码学Elliptic Curve Cryptography

ECDSA 椭圆曲线数字签名算法Elliptic Curve Digital Signature Algorithm PKI 公钥基础设施Public Key Infrastructure HTTP 超文本传输协议Hypertext Transfer Protocol IP Internet Protocol

NIST 美国国家标准研究所National Institute of Standards and Technology OID 对象标识符object identifier RFC Request For Comments SM1 国标对称加密算法 SM2 国标ECC椭圆曲线算法 SM3 国标密码杂凑算法 SPKM 简单公钥密钥交换协议 VPN 虚拟专用网 5 5.1

类型定义

Version

通讯协议版本号,其ASN.1的定义如下:

Version ::= INTEGER {v2(1)}

使用版本2来区别《数字证书认证系统密码协议规范》中的定义 5.2 EntName EntName数据定义 字段名称 hashAlgorithm entName entPubKeyHash serialNumber 数据ASN.1类型 AlgorithemIdentifier GeneralName OCTET STRING CertificateSericalNumber 含义 摘要算法(是否应该定死为SHA1) 实体名称 实体身份证书中公钥值的摘要值 实体身份证书的序列号 实体标识,代表CA或KM的身份,其ASN.1的定义如下:

EntName ::= SEQUENCE{ }

hashAlgorithm AlgorithemIdentifier, entName GeneralName, entPubKeyHash OCTET STRING, serialNumber

CertificateSericalNumber

5.3

DataEnvelope

数字信封,用于打包传递加密证书私钥使用,其ASN.1定义为:

5

GBXX/T ××××. ×-2008

DataEnvelope ::=SignedAndEnvelopedData(data)

其中SignedAndEnvelopedData(数字信封)引用自PKCS7

5.4

CertificateSerialNumber

CertificateSerialNumbe r::= INTEGER

证书序列号,引用自X.509 V3,其ASN.1定义为:

5.5

AlgorithmIndentifier

AlgorithmIdentifier ::= SEQUENCE {

algorithm OBJECT IDENTIFIER,

parameters ANY DEFINED BY algorithm OPTIONAL }

算法标识,引用自X509V3,其ASN.1定义为:

5.6 SubjectPublicKeyInfo

SubjectPublicKeyInfo ::= SEQUENCE {

algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING }

公钥,引用自X509V3,其ASN.1定义为:

5.7 GeneralName

GeneralName ::= CHOICE {

otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Exlicit Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }

通用名,引用自X509V3 ,其ASN.1定义为:

5.8

PKIFreeText

PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String

文本,其ASN.1定义为:

5.9

AppUserInfo

RetKeyRespond数据定义 字段名称 userCertNo 数据ASN.1类型 CertificateSerialNumber 6

含义 用户加密证书序列号

GBXX/T ××××. ×-2008

userPubKey notBefore notAfter userName dsCode extendInfo SubjectPublicKeyInfo GeneralizedTime GeneralizedTime OCTET STRING PKIFreeText PKIFreeText 用户签名公钥,用于响应消息中对密钥的保护 密钥起始有效时间 密钥截止时间 用户姓名,可选项 密钥地区属性标识,可选项 扩展信息项,可选项 用户信息的准ASN.1定义如下:

AppUserInfo ::= SEQUENCE{ }

userCertNo CertificateSerialNumber, userPubKey notAfter dsCode

SubjectPublicKeyInfo,

notBefore GeneralizedTime,

GeneralizedTime

[1] PKIFreeText OPTIONAL,

userName [0] OCTET STRING OPTIONAL, extendInfo [2] PKIFreeText OPTIONAL

5.10

RetKeyRespond

RetKeyRespond数据定义 字段名称 userCertNo 数据ASN.1类型 CertificateSerialNumber SubjectPublicKeyInfo DataEnvelope 含义 用户加密证书序列号 用户加密公钥数据 用户加密私钥数据,即对私钥作带签名的加密信封 retPubKey retPriKey 密钥返回消息的通用语法结构ASN.1定义如下:

RetKeyRespond::= SEQUENCE{ }

usertCerNo CertificateSerialNumber, retPubKey SubjectPublicKeyInfo, retPriKey DataEnvelope

6

通用语法

CA与KM之间进行通讯时的消息采用签名消息,其数据定义如下

通用消息数据定义 字段名称 toBeSigned algorithm 数据ASN.1类型 AsnObject 含义 待签名的ASN消息 AlgorithmIdentifier 签名算法 7

GBXX/T ××××. ×-2008

signature BITSTRING 签名值

消息的通用语法结构ASN.1定义如下:

SIGNED { ToBeSigned } ::= SEQUENCE { toBeSigned AsnObject, algorithm AlgorithmIdentifier, signature BIT STRING }

其中涉及的签名算法如下: 类型 RSA身份证书 SM2身份证书 7

CA请求

CARequest数据定义 字段名称 version caName requestList requestTime taskTag 数据ASN.1类型 Version EntName SequeceOf Request GeneralizedTime INTEGER 含义 版本号,默认为v2(值为1) 实体标识 请求列表,由一个或多个请求(Request)项构成 请求时间 任务序列号,用于区分多次申请,是一个整数,KM应能处理不大于20字节的任务序列号,而CA应确保不使用大于20字节的任务序列号。 值 1.2.840.113549.1.1.5 1.2.156.197.1.501 1.2.156.197.1.502 1.2.156.197.1.503 说明 基于RSA算法和SHA1算法的签名 基于SM2算法和SM3算法的签名 基于SM2算法和SHA-1算法的签名 基于SM2算法和SHA256算法的签名 CA向KM发出的请求消息的通用语法结构ASN.1定义如下:

CARequest ::= SIGNED { SEQUENCE { }

version caName

Version DEFAULT v2, EntName,

GeneralizedTime,

requestList SEQUENCE OF Request, requestTime taskTag }

INTEGER

其中Request可能为三种类型,其ASN.1的定义如下:

8

GBXX/T ××××. ×-2008

Request ::=CHOICE{ }

applyKeyReq [0]ApplyKeyReq, restoreKeyReq [1]RestoreKeyReq, revokeKeyReq [2]RevokeKeyReq

程序通过其中的TAG确认请求的类型。

7.1

ApplyKeyReq 密钥申请请求

数据ASN.1类型 AlgorithmIdentifier 含义 ApplyKeyReq数据定义 字段名称 applyKeyType appKeyLen retAsymAlg retSymAlg appUserInfo INTERER AlgorithmIdentifier AlgorithmIdentifier 要申请的加密密钥对的类型 申请的密钥长度 KM响应消息中使用的非对称算法类型 KM响应消息中使用的对称算法类型 AppUserInfo 对应用户信息 CA向KM发出的密钥分发请求消息ASN.1定义如下:

ApplyKeyReq ::= SEQUENCE{ }

appKeyType appKeyLen retAsymAlg appUserInfo

AlgorithmIdentifier, INTERER, AlgorithmIdentifier, AppUserInfo

retSymAlg AlgorithmIdentifier,

其中applyKeyType支持的密钥类型包括 类型 RSA密钥 SM2密钥 类型 RSA签名 SM2签名 类型 SSF33算法 SM1算法 值 1.2.156.197.1.310 1.2.156.197.1.301 值 1.2.156.197.1.310 1.2.156.197.1.301 值 1.2.156.197.1.103 1.2.156.197.1.102 说明 appKeyLen的值为1024或2048 说明 appKeyLen的值为1024或2048 基于SM2算法和SM3算法的签名 说明 SSF33密码算法 SM1分组密码算法 retAsymAlg支持的非对称加密运算包括 retSymAlg支持的密钥类型包括

当applyKeyType为SM2密钥时,appKeyLen的值请设置为256。

9


公钥密码基础设施应用技术体系 基于SM2算法的密钥服务协议标准(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:宁夏银川一中2019届高三第二次月考文综历史试题 Word版含答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: