GB/T 31503-2015 信息安全技术 电子文档加密与签名消息语法
GB/T 31503-2015 Information security technology—Encryption and signature message syntax for electronic document
基本信息
发布历史
-
2015年05月
研制信息
- 起草单位:
- 中国科学院数据与通信保护研究教育中心、北京数字认证股份有限公司、上海普华诚信信息技术有限公司、赞嘉电子科技有限公司
- 起草人:
- 向继、汪婧、王雷、荆继武、高能、林璟锵、管乐、马存庆、査达仁、詹榜华、梁佐泉、张嘉纯
- 出版信息:
- 页数:38页 | 字数:66 千字 | 开本: 大16开
内容描述
ICS35040
L80.
中华人民共和国国家标准
GB/T31503—2015
信息安全技术
电子文档加密与签名消息语法
Informationsecuritytechnology—
Encryptionandsignaturemessagesyntaxforelectronicdocument
2015-05-15发布2016-01-01实施
中华人民共和国国家质量监督检验检疫总局发布
中国国家标准化管理委员会
GB/T31503—2015
目次
前言
…………………………Ⅰ
引言
…………………………Ⅱ
范围
1………………………1
规范性引用文件
2…………………………1
术语和定义
3………………1
缩略语
4……………………1
通用语法
5…………………2
数据内容类型
6……………2
签名数据内容类型
7………………………2
封装数据内容类型
8………………………8
摘要数据内容类型
9………………………15
加密数据内容类型
10……………………16
鉴别数据内容类型
11……………………17
有用类型
12………………19
有用属性
13………………22
模块
14ASN.1……………24
安全事宜
15………………33
GB/T31503—2015
前言
本标准按照给出的规则起草
GB/T1.1—2009。
本标准由全国信息安全标准化技术委员会提出并归口
(SAC/TC260)。
本标准起草单位中国科学院数据与通信保护研究教育中心北京数字认证股份有限公司上海普
:、、
华诚信信息技术有限公司赞嘉电子科技有限公司
、。
本标准主要起草人向继汪婧王雷荆继武高能林璟锵管乐马存庆査达仁詹榜华梁佐泉
:、、、、、、、、、、、
张嘉纯
。
Ⅰ
GB/T31503—2015
引言
本标准主要参考互联网工程特别工作组文件制定
IETF()RFC5652。
本标准规定了用于电子文档密码保护的封装语法它支持数字签名和加密该语法允许多重封
。。
装一个封装信封可以嵌套在另一个封装信封之内同样一方可以对以前封装过的数据再进行数字签
,,,
名它也允许任意属性如签名时间同消息内容一起签名并且提供其他属性如联合签名同签名关联
。,,,,
在一起
。
本标准描述的电子文档加密与签名消息语法支持各种基于证书的密钥管理架构该语法使用抽象
。
语法记法并采用编码生成值这些值通常表示成字节串的形式虽然很多系统都能够
ASN.1,BER。。
可靠地传输字节串但仍有很多电子邮件系统不行本标准不提供字节串编码机制以保证这种环境下
,。
的可靠传输
。
Ⅱ
GB/T31503—2015
信息安全技术
电子文档加密与签名消息语法
1范围
本标准规定了电子文档加密与签名消息语法此语法可用于对任意消息内容进行数字签名摘要
,、、
鉴别或加密
。
本标准适用于电子商务和电子政务中电子文档加密与签名消息的产生处理以及验证
、。
2规范性引用文件
下列文件对于本文件的应用是必不可少的凡是注日期的引用文件仅注日期的版本适用于本文
。,
件凡是不注日期的引用文件其最新版本包括所有的修改单适用于本文件
。,()。
信息技术抽象语法记法第部分基本记法规范
GB/T16262.1—2006—(ASN.1)1:
信息技术编码规则第部分基本编码规则正则编码
GB/T16263.1—2006ASN.11:(BER)、
规则和非典型编码规则规范
(CER)(DER)
信息技术开放系统互连目录第部分模型
GB/T16264.2—20082:
信息技术开放系统互连目录第部分公钥和属性证书框架
GB/T16264.8—20058:
信息技术安全技术公钥基础设施证书管理协议
GB/T19714—2005
信息安全技术公钥基础设施数字证书格式
GB/T20518—2006
用于授权的因特网属性证书框架
RFC3281(AnInternetAttributeCertificateProfileforAu-
thorization)
因特网公钥基础设施证书和证书撤销列表轮廓
RFC5280X.509(InternetX.509PublicKeyIn-
frastructureCertificateandCertificateRevocationList(CRL)Profile)
3术语和定义
界定的以及下列术语和定义适用于本文件
GB/T19714—2005、GB/T20518—2006。
31
.
算法标识符algorithmidentifier
通过对象标识符标识算法的类型
。
32
.
属性attribute
包括属性类型以及一个或多个属性值属性类型由对象标识符指定
,。
4缩略语
下列缩略语适用于本文件
。
抽象语法记法
ASN.1:—(AbstractSyntaxNotationone)
基本编码规则
BER:(BasicEncodingRules)
1
GB/T31503—2015
证书撤销列表
CRL:(CertificateRevocationList)
可辨别编码规则
DER:(DistinguishedEncodingRules)
电子文档加密与签名消息语法
ESMS:(EncryptionandSignatureMessageSyntaxforElectronic
Document)
消息鉴别码
MAC:(MessageAuthenticationCode)
伪随机数生成器
PRNG:(Pseudo-randomNumberGenerator)
用户密钥生成材料
UKM:(UserKeyingMaterial)
5通用语法
下列对象标识符标识了内容信息类型
(objectidentifier):
id-ct-contentInfoOBJECTIDENTIFIER∷={iso(1)member-body(2)
us(840)rsadsi(113549)pkcs(1)pkcs9(9)smime(16)ct(1)6}
将内容类型标识符与内容关联起来语法中应含有见
ESMS。ASN.1(GB/T16262.1—2006)Con-
类型
tentInfo:
ContentInfo∷=SEQUENCE{
contentTypeContentType,
content[0]EXPLICITANYDEFINEDBYcontentTypeOPTIONAL}
ContentType∷=OBJECTIDENTIFIER
中各个域的意义如下
ContentInfo:
表示关联内容的类型是一个对象标识符由权威机构分配用于定义内容类型
a)contentType:,,,
的唯一整数串
。
表示关联内容内容的类型由唯一确定本标准定义了种内容类型
b)content:。contentType。6:
数据签名数据封装数据摘要数据加密数据以及鉴别数据如果在其他文档中定义了其他
、、、、。
内容类型定义的类型不应是类型
,ASN.1CHOICE。
6数据内容类型
下列对象标识符标识了数据内容类型
:
id-dataOBJECTIDENTIFIER∷={iso(1)member-body(2)
us(840)rsadsi(113549)pkcs(1)pkcs7(7)1}
数据内容类型用于表示任意字节串例如文本文件具体应用具体解释这类串不需要任
,ASCII;。
何的内部结构它们可能有自己的定义或其他结构
,ASN.1。
数据内容类型一般装在签名数据封装数据摘要数据加密数据或鉴别数据的内容类型中
、、、。
7签名数据内容类型
71概述
.
签名数据内容类型包括任何类型的内容以及零个或多个签名结果任意数量的签名者可并行地
,。
对任意类型的内容进行签名
。
2
GB/T31503—2015
签名数据内容类型的典型应用是签名者对数据内容类型的内容进行数字签名另一个典型应用
,。
是分发证书和
CRL。
构造签名数据的步骤如下
:
对于每个签名者使用签名者指定的消息摘要算法计算出内容的消息摘要值如果签名者要
a),。
对除内容之外的其他信息进行签名那么使用签名者的消息摘要算法对内容摘要值和其他信
,
息一起计算摘要得到的结果为消息摘要
,“”。
对于每个签名者使用签名者的私钥对消息摘要进行数字签名
b),。
对于每个签名者签名结果和其他签名者指定的信息放在值中见每个签名
c),SignerInfo,7.4。
者所对应的证书和以及其他不对应于任何签名者的信息都在这一步收集
CRL,,。
所有签名者的消息摘要算法和值同内容一起放入值中见
d)SignerInfo,SignedData,7.2。
接收者独立地计算消息摘要利用消息摘要以及签名者的公钥验证签名结果签名者的公钥可以
,。
通过两种途径查询签发者的可辨别名称以及该签发者的签名证书序列号唯一标识了一张证书证书中
:,
包含公钥或者通过主体密钥标识符同时适合认证的和未经认证的公钥签名者的证书可包含在
;,。
里的证书域中但并非必须包括
SignedData,。
当存在多个签名时成功验证某个给定签名者的签名通常视为该签名者签名成功但是也有些
,,。,
应用环境需要其他的规则若某个应用除了每个签名者对应一个有效签名外还采用了别的规则则应
。,,
阐明这些规则此外只匹配签名者标识符并不足以确定这些签名是否由该签名者生成在应用说明中
。,,
应描述如何确定哪个签名是由该签名者生成的签名者选择包含多个签名的主要原因是为了支持多个
。
不同的接收者群体
。
本章分为个部分第一部分描述了顶层类型第二部分描述了
6:SignedData;EncapsulatedCon-
第三部分描述了每个签名者信息的类型第四第五和第六部分分别描述了消息摘
tentInfo;SignerInfo;、
要的计算签名的生成以及签名的验证过程
、。
72SignedData类型
.
下列对象标识符标识了签名数据的内容类型
(objectidentifier):
id-signedDataOBJECTIDENTIFIER∷={iso(1)member-body(2)
us(840)rsadsi(113549)pkcs(1)pkcs7(7)2}
签名数据的内容类型应有类型
ASN.1SignedData:
SignedData∷=SEQUENCE{
versionESMSVersion,
digestAlgorithmsDigestAlgorithmIdentifiers,
encapContentInfoEncapsulatedContentInfo,
certificates[0]IMPLICITCertificateSetOPTIONAL,
crls[1]IMPLICITRevocationInfoChoicesOPTIONAL,
signerInfosSignerInfos}
DigestAlgorithmIdentifiers∷=SETOFDigestAlgorithmIdentifier
SignerInfos∷=SETOFSignerInfo
类型的结构框图如图所示
SignedData,1:
3
GB/T31503—2015
图1SignedData类型结构框图
类型的各个域的意义如下
SignedData:
是语法的版本号值取决于和
a)version:。versioncertificates,eContentTypeSignerInfo。
应如下分配
version:
IF((certificatesispresent)AND
(anycertificateswithatypeofotherarepresent))OR
((crlsispresent)AND
(anycrlswithatypeofotherarepresent))
THENversionMUSTbe5
ELSE
IF(certificatesispresent)AND
(anyversion2attributecertificatesarepresent)
THENversionMUSTbe4
ELSE
IF((certificatesispresent)AND
(anyversion1attributecertificatesarepresent))OR
(anySignerInfostructuresareversion3)OR
(encapContentInfoeContentTypeisotherthanid-data)
THENversionMUSTbe3
ELSEversionMUSTbe1
是消息摘要算法标识符的集合集合中可有任意个元素包括零个每个元
b)digestAlgorithms:,,。
素标识了一个或多个签名者所使用的消息摘要算法及其相关参数该集合旨在列出所有签
。
名者能使用的消息摘要算法该集合是无序的以便单次签名验证应用中签名若使用了不
。,。
在该集合内的摘要算法则签名验证可能会失败消息摘要的过程描述见
,。,7.5。
是待签名的内容包括内容类型标识符以及内容本身
c)encapContentInfo:,。EncapsulatedCon-
类型具体描述见
tentInfo,7.3。
是证书集合预期证书集合包括从信任根或顶级证书机构到域中所
d)certificates:。signerInfos
有签名者的证书路径该集合包含的证书可多于这些必要证书也可包括从两个或多个独立
。,
的顶级证书机构出发的证书路径如果接收者能通过其他途径获取必要的证书例如从以前
。(
的证书集合中获取则可不完全包含这些必要的证书强烈禁止使用版本属性证书
),。1。
是撤销状态信息集合预期该集合包含的信息足以确定域中的证书是否有
e)crls:。certificates
效但并非必须满足此条件是撤销状态信息的主要来源集合中包含的可多于
,。CRL。CRL
必要的也可少于必要的
CRL,CRL。
是每个签名者信息的集合可包含任意个元素包括零个当该集合含有多个证
f)signerInfos:,,。
书时若能成功验证给定签名者的其中一个签名应认为该签名者签名成功但是一些应用
,,。,
环境也可能需要其他的规则类型具体描述见由于每个签名者可采用不同
。SignerInfo,7.4。
4
GB/T31503—2015
的数字签名技术而且以后的规范可能会更新语法所以所有实现应处理好它们未实现的
,,,
版本进一步的说由于所有实现将支持不了每个可能的签名算法所以所有实
SignerInfo。,,,
现在遇到未实现的签名算法时应处理得当
。
73EncapsulatedContentInfo类型
.
类型中的内容如下表示
EncapsulatedContentInfo:
EncapsulatedContentInfo∷=SEQUENCE{
eContentTypeContentType,
eContent[0]EXPLICITOCTETSTRINGOPTIONAL}
ContentType∷=OBJECTIDENTIFIER
类型各个域的意义如下
EncapsulatedContentInfo:
是对象标识符该对象标识符唯一指定了内容类型
a)eContentType:。。
是内容本身由字节串表示不需要编码
b)eContent:,。eContentDER。
可选择省略域中的从而能够构造外部签名在有外部签名
EncapsulatedContentInfoeContent,“”。
的情况下包含在签名数据的内容类型中的值将缺少签名内容如果
,EncapsulatedContentInfo。Encap-
中没有值照常计算并分配同
sulatedContentInfoeContent,signatureValueeContentType,eContent
值存在一样
。
在没有签名者的情况下待签名的值是无关紧要的这种情况下
,“”EncapsulatedContentInfo。,En-
值中的内容类型应是见第章而且值中的
c
定制服务
推荐标准
- DL/T 1259-2013 水电厂水库运行管理规范 2013-11-28
- YD/T 2379.5-2013 电信设备环境试验要求和试验方法 第5部分:贮存 2013-04-25
- YD/T 2484-2013 分组增强型光传送网(OTN)设备技术要求 2013-04-25
- YD/T 2479-2013 支持集群业务的SCDMA宽带无线接入系统 空中接口技术要求 2013-04-25
- TB/T 3315-2013 交流传动机车异步牵引电动机 2013-02-20
- YD/T 2497-2013 手机支付 基于13.56MHz近场通信技术的非接触式射频接口技术要求 2013-04-25
- DL/T 540-2013 气体继电器检验规程 2013-11-28
- YB/T 166-2012 汽车用低碳加磷高强度冷轧钢板及钢带 2012-12-28
- SL 597-2012 锚索测力计校验方法 2012-09-10
- YD/T 2489-2013 可重构的光分插复用(ROADM)设备测试方法 2013-04-25