GB/T 31503-2015 信息安全技术 电子文档加密与签名消息语法

GB/T 31503-2015 Information security technology—Encryption and signature message syntax for electronic document

国家标准 中文简体 现行 页数:38页 | 格式:PDF

基本信息

标准号
GB/T 31503-2015
相关服务
标准类型
国家标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2015-05-15
实施日期
2016-01-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
归口单位
全国信息安全标准化技术委员会(SAC/TC 260)
适用范围
本标准规定了电子文档加密与签名消息语法,此语法可用于对任意消息内容进行数字签名、摘要、鉴别或加密。本标准适用于电子商务和电子政务中电子文档加密与签名消息的产生、处理以及验证。

发布历史

研制信息

起草单位:
中国科学院数据与通信保护研究教育中心、北京数字认证股份有限公司、上海普华诚信信息技术有限公司、赞嘉电子科技有限公司
起草人:
向继、汪婧、王雷、荆继武、高能、林璟锵、管乐、马存庆、査达仁、詹榜华、梁佐泉、张嘉纯
出版信息:
页数: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

定制服务