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

上传人:最*** 文档编号:11090078 上传时间:2020-04-18 格式:DOC 页数:13 大小:184KB
返回 下载 相关 举报
公钥密码基础设施应用技术体系-基于SM2算法的密钥服务协议标准_第1页
第1页 / 共13页
公钥密码基础设施应用技术体系-基于SM2算法的密钥服务协议标准_第2页
第2页 / 共13页
公钥密码基础设施应用技术体系-基于SM2算法的密钥服务协议标准_第3页
第3页 / 共13页
点击查看更多>>
资源描述
国家质量监督检验检疫总局 发布公钥密码基础设施应用技术体系基于ECC算法的密钥服务协议标准Public Key Infrastructure Application TechnologyKeyService Message Syntax Standard Based SM2(草稿) 红色部分需要进一步讨论GB/T XXXXX200中华人民共和国国家标准ICS xx.xxx.xxLxx发布2008-实施2008-发布GBXX/T . -2008目 次前 言II引 言III1 范围42 规范性引用文件43 术语和定义44 符号和缩略语45 有用的类型55.1 Version55.2 EntName55.3 DataEnvelope55.4 CertificateSerialNumber65.5 AlgorithmIndentifier65.6 SubjectPublicKeyInfo65.7 GeneralName65.8 PKIFreeText65.9 AppUserInfo65.10 RetKeyRespond76 通用语法77 CA请求87.1 ApplyKeyReq密钥申请请求97.2 RestoreKeyReq密钥恢复请求107.3 RevokeKeyReq密钥撤销请求108 KM响应108.1 ApplykeyRespond密钥申请响应118.2 RestorekeyRespond密钥恢复响应118.3 RevokekeyRespond密钥撤销响应118.4 ErrorPkgRespond 出错响应129 承载协议1210 通讯安全12I前 言本标准是公钥密码基础设施应用技术体系 框架规范系列规范之一。本标准制定了基于SM2算法的密钥服务协议标准,为基于SM2算法的密钥管理系统的研制和开发提供指导和依据。本规范由国家密码管理局提出并归口。本规范主要起草单位:上海格尔软件股份有限公司。本标准参与起草单位:长春吉大正元信息技术有限公司,北京数字认证中心。本规范主要起草人:谭武征本规范责任专家:刘平。II引 言商用密码安全服务是符合国家商用密码管理机构针对商用领域的对称与非对称密码使用和算法的管理规定的基础安全服务。在商用密码领域,主要的身份验证手段是使用基于公钥基础设施的数字证书进行验证和安全权标保护,为了保证商用密码应用的安全性,国家密码管理局签头相关单位研制了适用于我国商用密码领域专用的对称算法SM1、非对称算法SM2和摘要算法SM3。本标准的目标是为公钥密码基础设施应用体系框架下的基于SM2算法的密钥管理服务制定交互协议标准,为基于SM2的算法的证书认证系统和密钥管理系统的开发提供指导意见,减少不必要的重复建设,提高安全应用厂商产品的兼容性,以利于增强我国商用密码领域的安全保障建设。 本标准是在数字证书认证系统密码协议中CA与KM间的协议基础上进行的改进,调整了其中不符合ASN通用定义的部分,增加了SM2算法相关的标识说明,将协议版本升级为V2。本标准编制过程中得到了国家商用密码应用技术体系总体工作组的指导。主要说明我们国家有了证书认证系统一套规范。其中这套规范有证书认证系统密码协议规范。里面它的*规定了CA与KM之间的交互协议标准。这个接口目前不适用于ECC算法的证书认证系统。原来的协议没法兼容。所以*121 范围本规范规定了公钥密码基础设施体系中基于SM2算法的非对称密钥管理服务协议标准。本规范适用于公钥密码基础设施体系中基于SM2算法的证书认证系统和密钥管理系统的通讯协议交互。2 规范性引用文件下列标准所包含的条文,通过本规范中的引用而构成本规范的条文。考虑到标准的修订,使用本规范时,应研究使用下列标准最新版本的可能性。GB/T 16262.1-2006 信息技术 抽象语法记法一(ASN.1):基本记法规范(ISO/IEC 8824-1:2002,IDT) GB/T 16263.1-2006 信息技术 ASN.1编码规则 第1部分:基本编码规则(BER)、正则编码规则(CER)和非典型编码规则(DER)的规范(ISO/IEC 8825-1:2002,IDT)GB/T 16264.2 信息技术 开放系统互连 目录 第2部分:模型(GB/T 16264.2-1996,idt ISO/IEC 9594-2:1990)GB/T 15843.1-1999信息技术 安全技术 实体鉴别 第1部分: 概述ISO/IEC 9798-1:1991GB/T 15843.3-1998信息技术 安全技术 实体鉴别 第3部分: 用非对称签名技术的机制ISO/IEC 9798-3:1997GB/T 20518-2006公钥基础设施 数字证书格式GB/T AAAAA 信息技术 安全技术 密码术语GB/T BBBBB 公钥密码基础设施应用技术体系框架规范GB/T CCCCC 公钥密码基础设施应用技术体系 标识规范GB/T XXXXX 数字证书认证系统密码协议规范3 术语和定义1233.1 算法标识 algorithm identifier一种定义算法和相关参数的类型,其中算法由对象标识符定义。3.2 抽象语法标记 abstract syntax notation one3.3 属性 attribute一种包含属性类型和和一个或多个属性值的类型,其中属性类型由对象标识符定义。4 符号和缩略语下列缩略语适用于本标准:ASN 抽象语法标记CA证书认证系统Certification AuthorityKM 密钥管理系统Key ManagementDN Distinguished NameDSA 数字签名算法Digital Signature AlgorithmECC 椭圆曲线密码学Elliptic Curve CryptographyECDSA 椭圆曲线数字签名算法Elliptic Curve Digital Signature AlgorithmPKI 公钥基础设施Public Key InfrastructureHTTP 超文本传输协议Hypertext Transfer ProtocolIP Internet ProtocolNIST 美国国家标准研究所National Institute of Standards and TechnologyOID 对象标识符object identifierRFC Request For CommentsSM1 国标对称加密算法SM2 国标ECC椭圆曲线算法SM3 国标密码杂凑算法SPKM 简单公钥密钥交换协议VPN 虚拟专用网5 类型定义5.1 Version通讯协议版本号,其ASN.1的定义如下:Version := INTEGER v2(1)使用版本2来区别数字证书认证系统密码协议规范中的定义5.2 EntNameEntName数据定义字段名称数据ASN.1类型含义hashAlgorithmAlgorithemIdentifier摘要算法(是否应该定死为SHA1)entNameGeneralName实体名称entPubKeyHashOCTET STRING实体身份证书中公钥值的摘要值serialNumberCertificateSericalNumber实体身份证书的序列号实体标识,代表CA或KM的身份,其ASN.1的定义如下:EntName := SEQUENCEhashAlgorithmAlgorithemIdentifier,entName GeneralName,entPubKeyHashOCTET STRING,serialNumberCertificateSericalNumber5.3 DataEnvelope数字信封,用于打包传递加密证书私钥使用,其ASN.1定义为:DataEnvelope :=SignedAndEnvelopedData(data)其中SignedAndEnvelopedData(数字信封)引用自PKCS75.4 CertificateSerialNumber证书序列号,引用自X.509 V3,其ASN.1定义为:CertificateSerialNumbe r:= INTEGER5.5 AlgorithmIndentifier算法标识,引用自X509V3,其ASN.1定义为: AlgorithmIdentifier := SEQUENCE algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL 5.6 SubjectPublicKeyInfo公钥,引用自X509V3,其ASN.1定义为:SubjectPublicKeyInfo := SEQUENCE algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING5.7 GeneralName通用名,引用自X509V3 ,其ASN.1定义为: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 IDENTIFIER5.8 PKIFreeText文本,其ASN.1定义为:PKIFreeText := SEQUENCE SIZE (1.MAX) OF UTF8String5.9 AppUserInfoRetKeyRespond数据定义字段名称数据ASN.1类型含义userCertNoCertificateSerialNumber用户加密证书序列号userPubKeySubjectPublicKeyInfo用户签名公钥,用于响应消息中对密钥的保护notBeforeGeneralizedTime密钥起始有效时间notAfterGeneralizedTime密钥截止时间userNameOCTET STRING用户姓名,可选项dsCodePKIFreeText密钥地区属性标识,可选项extendInfoPKIFreeText扩展信息项,可选项用户信息的准ASN.1定义如下:AppUserInfo := SEQUENCEuserCertNoCertificateSerialNumber, userPubKeySubjectPublicKeyInfo, notBeforeGeneralizedTime, notAfterGeneralizedTimeuserName0 OCTET STRING OPTIONAL,dsCode1 PKIFreeText OPTIONAL,extendInfo2 PKIFreeText OPTIONAL5.10 RetKeyRespondRetKeyRespond数据定义字段名称数据ASN.1类型含义userCertNoCertificateSerialNumber用户加密证书序列号retPubKeySubjectPublicKeyInfo用户加密公钥数据retPriKeyDataEnvelope用户加密私钥数据,即对私钥作带签名的加密信封密钥返回消息的通用语法结构ASN.1定义如下:RetKeyRespond:= SEQUENCEusertCerNoCertificateSerialNumber, retPubKeySubjectPublicKeyInfo, retPriKeyDataEnvelope6 通用语法CA与KM之间进行通讯时的消息采用签名消息,其数据定义如下通用消息数据定义字段名称数据ASN.1类型含义toBeSigned AsnObject待签名的ASN消息algorithm AlgorithmIdentifier签名算法signature BITSTRING签名值消息的通用语法结构ASN.1定义如下: SIGNED ToBeSigned := SEQUENCE toBeSigned AsnObject, algorithm AlgorithmIdentifier, signature BIT STRING 其中涉及的签名算法如下:类型值说明RSA身份证书1.2.840.113549.1.1.5基于RSA算法和SHA1算法的签名SM2身份证书1.2.156.197.1.501基于SM2算法和SM3算法的签名1.2.156.197.1.502基于SM2算法和SHA-1算法的签名1.2.156.197.1.503基于SM2算法和SHA256算法的签名7 CA请求CARequest数据定义字段名称数据ASN.1类型含义versionVersion版本号,默认为v2(值为1)caNameEntName实体标识requestListSequeceOf Request请求列表,由一个或多个请求(Request)项构成requestTimeGeneralizedTime请求时间taskTagINTEGER任务序列号,用于区分多次申请,是一个整数,KM应能处理不大于20字节的任务序列号,而CA应确保不使用大于20字节的任务序列号。CA向KM发出的请求消息的通用语法结构ASN.1定义如下:CARequest := SIGNED SEQUENCE version Version DEFAULT v2,caName EntName, requestList SEQUENCE OF Request, requestTimeGeneralizedTime,taskTag INTEGER其中Request可能为三种类型,其ASN.1的定义如下:Request :=CHOICEapplyKeyReq 0ApplyKeyReq,restoreKeyReq1RestoreKeyReq,revokeKeyReq2RevokeKeyReq程序通过其中的TAG确认请求的类型。7.1 ApplyKeyReq密钥申请请求ApplyKeyReq数据定义字段名称数据ASN.1类型含义applyKeyTypeAlgorithmIdentifier要申请的加密密钥对的类型appKeyLenINTERER申请的密钥长度retAsymAlgAlgorithmIdentifierKM响应消息中使用的非对称算法类型retSymAlgAlgorithmIdentifierKM响应消息中使用的对称算法类型appUserInfoAppUserInfo对应用户信息CA向KM发出的密钥分发请求消息ASN.1定义如下:ApplyKeyReq := SEQUENCEappKeyTypeAlgorithmIdentifier, appKeyLen INTERER, retAsymAlgAlgorithmIdentifier, retSymAlg AlgorithmIdentifier, appUserInfoAppUserInfo其中applyKeyType支持的密钥类型包括类型值说明RSA密钥1.2.156.197.1.310appKeyLen的值为1024或2048SM2密钥1.2.156.197.1.301retAsymAlg支持的非对称加密运算包括类型值说明RSA签名1.2.156.197.1.310appKeyLen的值为1024或2048SM2签名1.2.156.197.1.301基于SM2算法和SM3算法的签名retSymAlg支持的密钥类型包括类型值说明SSF33算法1.2.156.197.1.103SSF33密码算法SM1算法1.2.156.197.1.102SM1分组密码算法当applyKeyType为SM2密钥时,appKeyLen的值请设置为256。7.2 RestoreKeyReq密钥恢复请求RestoreKeyReq数据定义字段名称数据ASN.1类型含义retAsymAlgAlgorithmIdentifierKM响应消息中使用的非对称算法类型retSymAlgAlgorithmIdentifierKM响应消息中使用的对称算法类型userCertNoCertificationSerialNumber用户加密证书序列号userPubKeySubjectPublicKeyInfo用户签名公钥CA向KM发出的密钥恢复请求消息ASN.1定义如下:RestoreKeyReq := SEQUENCEretAsymAlgAlgorithmIdentifier,retSymAlg AlgorithmIdentifier,userCertNo CertificationSerialNumber,userPubKeySubjectPublicKeyInforetAsymAlg和retSymAlg中支持的密码算法参见7.17.3 RevokeKeyReq密钥撤销请求RevokeKeyReq数据定义字段名称数据ASN.1类型含义userCertNoCertificateSerialNumber用户加密证书序列号CA向KM发出的密钥撤销请求消息ASN.1定义如下:RevokeKeyReq :=SEQUENCEuserCertNo CertificateSerialNumber8 KM响应KMRespond数据定义字段名称数据ASN.1类型含义versionVersion版本号,默认为v2(值为1)kmNameEntName实体标识respondListSequeceOf Respond响应列表,由一个或多个响应(Respond)项构成respondTimeGeneralizedTime响应时间taskTagINTEGER任务序列号,与CARequest中的taskTag一致KMRespond := SIGNED SEQUENCE versionVersion DEFAULT v2,kmNameEntName,respondListSEQUENCE OF Respond,respondTimeRespondTime,taskTagTaskTag其中Respond可能为四种类型,其ASN.1的定义如下:Respond :=CHOICEapplykeyRespond0RetKeyRespond,restorekeyRespond1RetKeyRespond,revokekeyRespond2RevokeKeyRespond,errorPkgRespond 3ErrorPkgRespond程序通过其中的TAG确认响应的类型。8.1 ApplykeyRespond密钥申请响应本响应直接继承密钥返回响应:KM向CA返回的密钥分发响应应ASN.1的定义如下:RetKeyRespond := RetKeyRespond其中用户加密证书序列号要与CARequest中的相应userCertNo一致8.2 RestorekeyRespond密钥恢复响应本响应直接继承密钥返回响应:KM向CA返回的密钥恢复响应ASN.1的定义如下:RetKeyRespond := RetKeyRespond其中用户加密证书序列号要与CARequest中的相应userCertNo一致8.3 RevokekeyRespond密钥撤销响应RevokekeyRespond数据定义字段名称数据ASN.1类型含义userCertNoCertificateSerialNumber用户加密证书序列号KM向CA返回的密钥撤销响应ASN.1的定义如下:RevokeKeyRespond := SEQUENCEuserCertNoCertificateSericalNumber其中用户加密证书序列号要与CARequest中的相应userCertNo一致8.4 ErrorPkgRespond 出错响应ErrorPkgRespond数据定义字段名称数据ASN.1类型含义errNoINTERGER错误代号,其值应该是小于0的负整数errDescPKIFreeText错误消息描述KM向CA返回的错误响应ASN.1的定义如下:ErrorPkgRespond:= SEQUENCEerrNoINTERGERerrDescPKIFreeText 9 承载协议CA与KM通讯采用TCP/IP协议进行通讯。KM系统接收CA系统的密钥服务请求,将处理结果返回给CA。10 通讯安全可在TCP/IP协议基础上进行业务通讯加密,如采用SPKM类的安全协议对CA与KM的之间的通讯进行业务加密,也可以采用通信链路安全保障的方式,如VPN等。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!