GB/T25064-2010

信息安全技术公钥基础设施电子签名格式规范

Informationsecuritytechnology-Publickeyinfrastructure-Electronicsignatureformatsspecification

本文分享国家标准信息安全技术公钥基础设施电子签名格式规范的全文阅读和高清PDF的下载,信息安全技术公钥基础设施电子签名格式规范的编号:GB/T25064-2010。信息安全技术公钥基础设施电子签名格式规范共有44页,发布于2011-02-01
  • 中国标准分类号(CCS)L80
  • 国际标准分类号(ICS)35.240.40
  • 实施日期2011-02-01
  • 文件格式PDF
  • 文本页数44页
  • 文件大小843.60KB

以图片形式预览信息安全技术公钥基础设施电子签名格式规范

信息安全技术公钥基础设施电子签名格式规范


国家标准 GB/T25064一2010 信息安全技术公钥基础设施 电子签名格式规范 Information.seeurityteehnology一Pulickey infrastructure Eleetronicsignatureformatsspeeification 2010-09-02发布 2011-02-01实施 国家质量监督检验检疫总局 发布 国家标准化管理委员会国家标准
GB/T25064一2010 目 次 前言 引言 范围 规范性引用文件 术语和定义 缩略语 电子签名组成 5.1电子签名的主要参与方 电子签名的类型 5.3电子签名的验证 电子签名的数据格式 6.1基本数据格式 验证数据格式 15 签名策略要求 6.3 19 附录A(规范性附录)电子签名格式的抽象语法记法一(AsN.1)表示 21 附录B(规范性附录)签名策略的抽象语法记法一(AsN.1)表示 34 参考文献 39
GB/T25064一2010 前 言 本标准的附录A和附录B为规范性附录 本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口 本标准起草单位;科学院软件研究所信息安全国家重点实验室、信息安全共性技术国家工程研 究中心 本标准主要起草人:张凡、冯登国、庄涌、张立武、路晓明、杨婿
GB/T25064一2010 引 言 电子商务作为跨越本地、广域,全球网络的新型商务模式,可信对于其成功和连续进行至关重要 以电子方式进行商务活动的公司必须有适合的安全控制机制来保护他们的交易并确保交易方的安全, 而电子签名对于保护信息和提供电子商务中的信任是一项重要的安全措施 本标准主要参考了ETSTS101733V1.2.2(2000-12),并以我国电子签名法为纲,针对各种类型 的电子签名,可以应用于各种业务,包括个人与公司、公司与公司、个人与政府 本标准独立于应用环 境,可以应用在智能卡,GSMsIM卡,电子签名的特殊应用等各种环境中 根据本标准生成的电子签 名并满足《电子签名法)第十三条规定,即认为是可靠的电子签名 本标准凡涉及密码算法相关内容,按国家密码管理部门相关规定执行 本标准例子中提及的密吗算法如sHA1算法均为举例性说明,具体使用时均须采用国家密码管理 部门批准的相应算法
GB/I25064一2010 信息安全技术公钥基础设施 电子签名格式规范 范围 本标准针对基于公钥密码学生成的数字签名类型的电子签名,定义了电子签名与验证的主要参与 方、电子签名的类型、验证和仲裁要求 本标准还规范了电子签名的数据格式,包括基本数据格式,验证 数据格式,签名策略格式等 本标准适用于电子签名产品的设计和实现,同时相关产品的测试、评估和采购亦可参照使用 规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款 凡是注日期的引用文件,其随后所有 的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究 是否可使用这些文件的最新版本 凡是不注日期的引用文件,其最新版本适用于本标准 GBy/T16264.8一2005信息技术开放系统互连目录第8部分公钥和属性证书框架(Iso/ IEC9594-8;2001,IDT 信息技术抽象语法记法-(AsN.1第1部分,基本记法规范(1so) GB/T16262.12006 IEC8824-l:2002,lT GB/T197132005信息技术安全技术公钥基础设施在线证书状态协议 GB/T205182006信息安全技术公钥基础设施数字证书格式 GB/T20520-2006信息安全技术公钥基础设施时间戳规范 RFC2630加密消息语法 RFC2634s/MIME的增强安全服务 术语和定义 下列术语和定义适用于本标准 3.1 签名者signer 电子签名人,创建电子签名的实体 3.2 验证者 verifier 电子签名各依赖方.对电子签名进行合法性脸证的实体 3.3 仲裁者arbitrator 当数字签名的有效性发生争议时,对签名者和验证者之间的争议进行仲裁的实体 3 可信服务提供者trustedseryieeprovider 帮助签名者和验证者建立信任关系的一个或多个实体 3 时间戳time stamp 使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息 时
GB/T25064一2010 间戳机构对此对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在 3.6 签名策略signaturepoliey 创建和验证电子签名的一套规则,可以在签名策略的指导下决定一个电子签名是否合法 缩略语 下列缩略语适用于本标准 认证机构CertificationAuthority) CA CRr 证书撒销列表(CerifeateRevocationList Es 电子签名(Electr rronicSignature' BEs 基本电子签名(BasisEleeronicSignature) E 带归档验证数据的电子签名(EswithArchiveValidationData) sse 带完全验证数据的电子签名(ESwithCompleteValidationData) ET withTin 带时间戳的电子签名(ES imestamp sx 带扩展验证数据的电子签名(ESwithExtendedValidationData oSp 在线证书状态协议OnlineCertificateStatusProtocolD RN 注册机构(RegistrationAuthority Ts. 时间戳机构(TimeStampAuthority T9F 可信服务提供者TrustedServiceProvider) cMs Me lessageSyntax) 加密消息语法(Cyptogaphice 增强安全服务(EnhancedsecurityServices) ESS 电子签名组成 电子签名的主要参与方 电子签名在其产生和使用的过程中,要涉及多方面的机构和角色,下面列出了本标准定义的四个电 子签名主要参与方: 签名者 签名者是指创建电子签名的实体,当签名者使用预定义的格式对数据进行数字签名 时,就代表了它对被签名数据的一种承诺 验证者 验证者是指对电子签名进行合法性验证的实体,它可以是单个实体,也可以是多个 b 实体 可信服务提供者(TSP) 可信服务提供者是指帮助签名者和验证者建立信任关系的一个或多 个实体 它们为签名者和验证者提供了建立信任关系的可信服务,例如证书,交叉证书,时间 截、证书撤销列表、在线证书查询等等 以下列表列出了一些主要的TSP 认证机构(CA),为用户提供公钥证书; 2)注册机构(RA),在CA给用户颁发证书前,对用户进行认证和注册 3)时间戳机构(TsA),证明数据在某个确定时间前产生; d) 仲裁者 仲裁者是指在签名者和验证者之间发生争论时,进行裁决的实体 5.2电子签名的类型 5.2.1基本电子签名(BESs) 基本电子签名(BES)是指包括了签名的基本数据信息的电子签名,这些基本数据信息主要包括以 下3项 a)签名策略 签名策略定义了在电子签名产生和验证过程中的技术和程序要求,目的是为了满 足特定场合的需要 电子签名的参与者应识别其策略,并满足策略的要求 b 数字签名 数字签名是签名者对以下各项信息的综合数据进行的数字签名,信息主要包括
GB/T25064一2010 被签名数据的杂凑值;签名策略标识符;其他签名属性 签名者提供的其他签名属性 其他签名属性是签名者为了满足签名策略要求或者标准要求而 提供的其他属性信息 BES的基本组成结构如图1所示 BES 签名策略 其他签名 数字签名 属性 标识符 BESs组成结构 5.2.2验证数据 根据电子签名所使用的不同策略,签名者应收集不同的验证数据添加到电子签名中,验证者同样也 需要收集与之相联系的验证信息 这些验证数据类型包括: a)数字证书 b) 证书撤销信息.如证书撤销列表或在线查询的证书状态信息等 e)时间戳或其他可以用来证明事件发生时间的数据,但作为最小要求,签名者和验证者获得的时 间戳必须能够维持完整性,对其的任何修改都可以被检测出来,使得各个参与方都能获得电子 签名的准确产生时间 根据电子签名中添加的验证信息的类型和数量,电子签名的安全强度也可以得到不同程度的加强 根据这些验证数据,电子签名可以分为多种类型 5.2.3带验证数据的电子签名 5.2.3.1 分类总述 电子签名可以有以下5种格式类型 基本电子签名(EBEs),这类电子签名主要包含数字签名和其他签名者提供的基本信息 a b)带时间戳的电子签名(ESs-T),这类电子签名在基本电子签名的基础上添加了时间戳,其目的 是保证一定程度的长时间的有效性 带完全验证数据的电子签名(Es-C),这类电子签名在Es-T的基础上,添加了一套完整的用来 验证电子签名的数据,例如证书撤销参考信息等等 但其中可能包括了一些参考信息,如一个 网址,需要验证者去该网址获得具体数据 带扩展的验证数据的电子签名(ESX),这类电子签名在ESC的基础上,添加了一些额外数 据,以适应一些特殊情况 带归档时间戳的电子签名(ES-A),这类电子签名是在上述各种电子签名基础上形成的,主要 是为长期归档保存电子签名,所以对整个电子签名添加时间戳,以保证长期安全性 签名者在提交电子签名时,至少应给出BES格式的签名.在某些情况下可以决定是否提供ES-T格 式的电子签名,在某些极端情况下可 以提供EsC格式的电子签名 如果签名者没有提供EsT,则验 证者可在收到电子签名时立即自行创建一个Es-T,或者保存 个接收签名时间的安全记录 验证者的 这二种方法都可以为验证时间提供一个独立的证据,而验证时间实际上应接近电子签名的创建时间使 得其可以有足够证据来防止对签名的否认 如果签名者没有提供EsC,验证者可在BES基础上自行 创建一个Es-C,前提是其可以获得相应的验证数据 除此三种外,ES-x和Es-A均为可选支持格式 带时间戳的电子签名(EsT 5.2.3.2 EsT中的时间戳所记录的时间应尽可能地接近BES的实际创建时间,以提供最大程度的安全保护 如果签名者没有提供ES-T,则验证者可在收到电子签名时立即自行创建一个ES-T
GB/T25064一2010 ES-T的基本组成结构如图2所示: ES-T BES 签名策略 其他签名 数字签名 数字签名 标识符 属性 的时间戳 图2Es-T组成结构 需要注意,当某些验证数据的安全性受到威胁的时候,数字签名上的时间戳或者一个安全的时间记 录都可以帮助保护签名的有效性,只要这些安全性威胁是在签名产生以后发生的 因为时间戳和安全 时间记录可以有效证明一份电子签名是在这些安全威胁产生前创建的,所以这份电子签名就仍然可以 保持其有效性 5.2.3.3带完全验证数据的电子签名(ES-C Es-C格式的电子签名不容易与BES同时被创建,因为签名者需要去收集相关的证书信息和证书 撤销信息 如果发现一份证书已经被暂停使用,则必须等待到证书暂停期结束 从BES被创建到ES C被创建可能需要等待一段足够长的时间,签名者只有满足上述这种情况才能创建一个完整的Es-C 这样带来的好处是验证者可以获得完整的用来验证BES的的数据支持 如果签名者没有提供Es-C,验证者可在BEs基础上自行创建一个ES-C,前提是其可以获得相应 的验证数据 Es-C的基本组成结构如图3所示 ES-C ES-T BES 完整的证书 签名策略 其他签名 数字签名 数字签名 和证书撇销 标识符 属性 的时间戳 参考消息 图3ES-C组成结构 这里所提到的证书和证书撤销参考信息,是指验证者可以根据这些参考信息,通过指定的途径获得 最终需要的证书和证书撤销信息 如果在实际应用中,不需要对数字签名加盖时间戳,则可以使用下面图4的ESsC1组成结构 但 是,这种情况下应保存验证时间的一个安全记录 ES-CI1 BES 完整的证 书和证书 签名策略 其他签名 数字签名 撒销参考 标识符 属性 信息 图4ES-c1组成结构
GB/T25064一2010 5.2.3.4带扩展验证数据的电子签名(ES-X 5.2.3.3所描述的Es-C可以扩展成一种新的Esx格式,其目的是为了适应以下需求: 如果验证者无法从其他途径获得以下数据,则这些数据可以被添加进电子签名,这种扩展格式 a 称为扩展长验证数据ESX0格式(图5). 1 签名者的证书 构成CA证书链所需要的CA证书 2 3需要的具体证书撤销信息 如果CA证书链中的任意一个CA密钥的安全性可能受到威胁,就有必要添加一个额外的时 b 间戳,统称为扩展时间戳验证数据 这种情况可以使用下面两种格式 在ES-C的基础上,为整个ES-C产生一个时间戳,并添加到电子签名中 这种扩展格式 称为EsX1格式(图6); 2 在ESs-C的基础上仅仅对ESs-C添加的“证书和证书撤销参考信息”产生时间戳,并添加 到电子签名中 这种扩展格式称为ES-X2格式(图7). 如果以上二种情况同时发生,则需要同时在电子签名中添加二类数据 根据b)中的不同格 式,可以产生ES-X3格式(图8)和ESX4格式(图9),统称为扩展时间截长验证数据 本标准定义的各种ES-X格式仅为可选格式,是否对其支持也是可选的 EsX0的组成结构如图5所示 ES-X0 ES-C ES-T BES 完熬的证 完整的证 数字签 书和证书 其他签 书和证书 签名策略 数字 名的时 名属性 撒销参考 标识符 签名 撇销数据 间栽 信息 图5ES-X0组成结构 EsX1的组成结构如图6所示: ES-XI ESs-C ES-T BES 完教的证 整个 数字签 书和证书 S-C上 数字 签名策略 其他签 名的时 撒销参考 签名 标识符 名属性 的时间载 间敲 信息 图6ES-x1组成结构
GB/T25064一2010 ES-X2的组成结构如图7所示: Es-Xx2 Es-C ES-T “完整 BES 的证书 完整的证 和证书 数字签 书和证书 签名策略 其他签 数字 撤参 名的时 撤销参考 签名 考信息" 标识符 名属性 间戳 信息 上的时 间戳 图7ES-x2组成结构 EsX3所包含的内容包括完整的证书和证书撤销数据,以及针对所有内容的时间戳,其基本结构如 图8所示 ES.x3 ES-C ES-T 完整 BES 的证 前面所 完整的证 有内容 数字然 书和 书和证书 其他签 签名策略 数字 证书 上的时 名的时 撒销参考 名属性 标识符 签名 撒销 间戳 间殿 信息 数据 图8Es-X3组成结构 ESX!所包含的内容主要有完整的证书和证书撤销数据,以及对“完整的证书和证书撒销数据”上 的时间戳,其基本组成结构如图9所示 ES-X4 ES-C ES-T “完整 完整 BESs 的证 的证书 完整的证 和证书 书和 数字签 其他签 签名策略 书和证书 数字 撤销参 证书 名的时 撇销参考 考信息" 标识符 名属性 签名 撒销 间载 信息 上的时 数据 间戳 图9ES-X4组成结构 5.2.3.5带归档时间戳的电子签名(EsA 各种算法,密钥,加密数据,加密函数都会随着时间而逐渐降低其安全性,各种证书也会随着时间而 纷纷失效,如果要长期保存一个电子签名就需要在这些成分的安全性降低前对整个电子签名加盖一 次 时间戳 新加的时间戳尽可能使用比老时间戳更强的算法和密钥 这类额外添加的验证数据称为归档 验证数据 考虑到时间戳所使用的证书,算法和密钥也会随着时间而失效或降低安全性,在这种情况发生前 必须加盖新的时间戳 因此,一个s-A可能嵌套了多重时间戳 本标准定义的EsA是可选格式,对其的支持也是可选的
GB/T25064一2010 Es-A的基本组成结构如图10所示: ESs-A ES-? BES 归档时 签名策略 其他签名 各种帅 数字签名 间戳 标识符 属性 证数揪 图10Es-A基本结构 5.3电子签名的验证 5.3.1验证目标 对电子签名的验证必须符合电子签名策略,验证的结果有3种情况 a)签名有效 这个结果意味着该电子签名通过了验证,并且符合电子签名策略的所有要求; 签名无效 签名无效猜于以下 b 二种情况 1电子签名的格式错误; 2 数字签名验证失败,例如;数字签名完整性检测失败;验证过程中所使用的数字证书已经 无效或者被撤销; 不完全验证 这个结果意味着电子签名的格式没有错误,数字签名也已经通过验证,但是没有 足够的信息判断该电子签名是否符合其签名策略的要求 例如,签名策略需要一些附加信息 这些信息对数字签名的有效性没有任何影响,但是现在因为无法获得,所以无法判断是否符合 签名策略 在这种情况下,验证者应根据策略要求用户自行处理“部分正确”的电子签名,也可 在信息足够时再度对电子签名进行验证 5.3.2验证过程 如5.2.2所述,签名者和验证者都可以收集所有的额外数据来完成一个电子签名的创建和验证,图 11描述了如何完成一个ESs-C验证的过程 ES-c ES-T BES 完整的证书 签名策略 其他签名 数字签名 和证书撤销 数字签名 标识符 属性 的时间戳 参考消息 有效 被签名 验证者 无效 数据 不完全验证 签名策略 可信服务 发布者 提供者 Es-C的验证过程
GB/T25064一2010 在收到签名者的BES以后,验证者根据被签名数据和BES,首先验证数字签名的正确性、完整 性和有效性 验证者根据电子签名以及TsP提供的数据,检查签名是否符合签名策略的要求 b 如果签名者没有提供时间戳或者没有提供可以信任的时间戳,则验证者此时应自行添加一个 时间戳 因此到这一步截止,至少应产生一个EST电子签名 如果签名者没有提供证书和证书撇销参考信息,则验证者需要收集所有必需的证书和证书撇 销信息,并在这些数据可以使用后,完成所有的验证过程 然后记录一个完整的证书和证书撒 销参考信息,创建SC电子签名 验证者输出验证结果 e ES-C是标准中必须支持的格式,但是验证者可以进一步扩展成需要的ES-X或者ES-A可选 格式 如果签名者没有提供Esx,则在验证者完成Esc以后,验证者将可以提供或记录在Ssc中 使用的完整的证书和证书撤销数据图12中的步骤f),从而形成ESX0格式,过程如图12 所示 ES-x Es-C ES-T BES 完整的证 完整的证 数字签 书和证书 签名策略 其他签 数字 书和证书 名的时 撤销参考 标识符 名属性 签名 撇销数揪 间栽 信息 有效 被签名 验证者 无效 数据 不完全验证 签名策略 可信服务 发布者 提供者 图12验证者创建ES-x0 根据验证者的选择和实际情况,也可以创建一个ESX1电子签名,在整个Es-c上加盖时间戳(图 13中步骤g)),过程如图13所示
GB/T25064一2010 ES-x ES.C ES-T BES 完整的证 整个 数字签 书和证书 ES.C上 签名策略 数字 其他签 名的时 撇销参考 名属性 标识符 签名 的时间载 间戳 信息 有效 被签名 验证者 无效 数据 不完全验证 签名策略 可信服务 发布者 提供者 图13验证者创建ESs-X1 验证者也可以创建一个ESX2电子签名,只在“证书和证书撤销参考信息”上加盖时间戳(图14中 步骤g')),过程如图14所示: ES-X2 ES.C ES-T “完整 BES 的证书 完教的证 和证书 数字签 书和证书 数字 撒销参 签名策略 其他签 名的时 撒销参考 名属性 标识符 签名 考信息" 间栽 信息 上的时 同戳 有效 被签名 验证者 无效 数据 不完全验证 签名策略 可信服务 发布者 提供者 图14验证者创建ES-x2 最后,验证者有必要针对需要长期保存的电子签名创建ESA格式,这种格式不需要马上创建,但 应在电子签名中任何一项元素(如算法、密钥、证书等)的安全性受威胁前创建 创建时,验证者需要针 对整个电子签名的所有内容加盖时间戳(图15中步骤h)),过程如图15所示
GB/T25064一2010 ES-A Es-" BEs 归档时 签名策略 其他签名 各种验 数字签名 间戳 标识符 属性 证数据 有效 被签名 验证着 无效 数据 不完全验证 签名策略 可信服务 发布者 提供者 图15验证者创建ES-A 5.3.3仲裁 如果签名者和验证者发生争执,则需要提请仲裁者进行仲裁 针对提请仲裁的电子签名类型,有以 下这些考虑 ES-C签名可以作为仲裁使用的签名类型,但必须符合下面3个条件 仲裁者知道如何获得签名者的证书,所有的交叉认证证书,需要的CRL.以及ESC可能提到 的OCSP查询; b)签名所使用的整个证书链都是安全的,链上每个证书密钥的安全性都还未受到威胁 在EsC创建时所使用的各种密码学技术,在仲裁时仍然是安全的 如果条件a)不满足,则原告方需要提供ESXo电子签名 如果条件b)不满足,则原告方需要提供ESX1或者ESX2电子签名 如果条件c)不满足,则原告方需要提供ES-A电子签名 电子签名的数据格式 基本数据格式 本标准中数据格式,语法结构等均采用GB/T162682.1一2006规定的AsN.1表示描述 本条中的 数据格式定义以RFC2630中定义的加密消息语法(CMS)和RFC2634中定义的增强安全服务(EsS)为 基础 对于RFC2630和RFC2634中已定义的语法结构,本标准直接引用不再给出具体定义 6 .1.1总体语法结构 电子签名的总体语法结构见RFC2630中的定义 6.1.2数据内容类型 电子签名中的数据内容类型的语法结构和要求见RFC2630 6.1.3签名数据内容类型 电子签名中的签名数据内容类型的语法结构和要求见RFC2630. 为了确保签名验证方能够正确地使用签名者公钥进行验证,本标准中规定,签名证书属性(Signedl 10
GB/I25064一2010 Attribute)应包含签名者的签名认证证书的杂凑值,签名证书属性的定义见RFC2634 6.1.4签名数据类型 电子签名中的签名数据类型的语法结构和要求除了符合RFC2630的规定外,还应满足以下3点: a)版本号须设置为3 b)用于签名的签名者证书的标识须经过签名 e)签名数据中必须至少有一个签名者信息 6.1.5封装数据内容信息类型 电子签名中的封装数据内容信息类型的语法结构和要求见RFC2630 其中各字段的含义和要求 与RFC2630中一致,另外还要求字段中必须至少有一个签名者信息 6.1.6签名者信息类型 电子签名中的签名者信息类型的语法结构和要求见RFC2630 每个签名者的信息都用一个签名 者信息类型的数据结构表示,对有多个独立签名者的情况,每个签名者都使用一个签名者信息类型的数 据结构表示 签名者信息类型中各字段的含义和要求与RFC2630中相同,但被签名属性中须包含以下属性 a) 内容类型; 消息摘要 b e)签名时间 签名证书 d) e)签名策略标识 其消息摘要的计算流程,消息签名的生成流程见RFC2630中的相关规定 消息签名的验证流程除 了RFC2630中规定的内容外,还应满足以下要求 用于验证签名的签名者的公钥的真实性须使用ESs规定的或其他的签名证书属性来验证 6.1.7RrC2630中引入的强制属性 在本标准所规定的电子签名中,下列几种RFC2630中定义的属性必须与签名数据一同出现 a 内容类型属性(contenttypeatrilbute),其语法结构定义见RFc2630; b 消息摘要属性(message-digestattribute),其语法结构定义见RFC2630; 签名时间属性(signing-timeattribute),其语法结构定义见RFC2630 该属性中的时间值应是 c 签名者声称已经完成签名过程的时间,本标准中建议时间格式采用GeneralizedTime类型 6.1.8可替代的签名证书属性 签名证书属性选择标准 6.1.8.1 符合本标准的电子签名应在签名数据中包含下面两个可选签名证书属性中的一个,而且仅包含一 选择的依据是.当使用的杂凑雨数为sHA1时使用Ess整名证书属性,当使用其他杂凑丽数时 使用其他签名证书属性 6.1.8.2ESS签名证书属性 ESs签名证书属性的语法结构定义和要求见RFC2634 各字段的含义和用法除了RFC2634中规 定的以外还须满足以下几点: Ess签名证书属性必须是被签名属性,而且不能为空 用于验证签名的证书的标识必须包含 在该属性中 用于验证签名的证书所对应的Ess签名证书属性中EssCertD字段的编码应包含 b tserial字段,而且isurtseril字段内容应该与signe nerlnfo中的issuerAndSeriaINumber 1sSur 字段内容相符 在签名验证过程中,应检查所使用的验证证书的杂凑值与上述字段中的相应 内容是否一致,如不一致,应认定该签名无效 11
GB/T25064一2010 6.1.8.3其他签名证书属性 该属性的结构与ESs签名证书属性相同,但该属性可以在杂凑函数非SHA-1的情况下使用 对 EsS签名证书属性的使用要求同样适用于该属性 该属性的对象标识符(OID,Ojeetldentifier)如下: idaa-ets iso(11 -otherSigCertOBECTIDENTIFIER= )memberbodty(2)s(840rsadsi 113549)pkcs(1pkcs9(9)smime(16idaa(219 该属性(OtherSigningCertifieate)的语法结构ASN.1描述如下: SEQUENCE OtherSigningCertificate certsSEQUENCEOFOtherCertlD. O)therCertlD=SEQUENCE otherCertHashOtherHash issuerSeriallssuerSerialOPTIONAL OtherHash CHOICE shalHlashotherHashValue,--该字段包含一个SHA-1的杂凑值 otherHashOtherHashAlgAndValue OtherHlashValue=O)CTE'TSTRING otherHashAgAndvalue::=sEQUENCE hashAlgorithmAlgorithmldentifier hashValueOtherHashValue 6.1.9其他强制属性 本标准要求在签名数据(SignedData)中必须包含一个对签名策略的引用 这个引用可以被显式地 标识出来,也可以是通过签名内容或其他外部数据隐式的给出 签名策略定义了产生并验证一个签名 的规则,应在每个签名的被签名属性中都包含 签名策略标识属性应为被签名属性 签名策略标识的 对象标识符为 idaa-ets-sigPolieyldOBECTIDENTIFIER::=iso(1)member-body(2us840rsadsi (113549)pkcs(1pkcs9(9)smime(16)idaa(2)15" 其语法结构的ASN.1描述为 Signature-policy-identiferattributevalueshaveAsN.1typeSignaturePolicyldentifier SignaturePolieyldentifier:=CHOCE SignaturePolieyldSignaturePolieyld. SignaturePolieylmpliedSignaturePolieylmplied SignaturePolieyld:=SEQUENCE sigPolieyldSigPolieyld. sigPolieyHashSigPolieyHash, sigPolieyQualifiersSEQUENCES1ZE(1..MAXOFSigPoieyQualifierlnfo OPTIONAL SigmaturePolieylmplied=NUlL sgaturdPoisylmplied为NUnL类型表明了,签名策略是在签名内容或其他外部数据中隐式的给 出的 SigPoieyld字段包含了一个能够唯一标识某个签名策略的对象标识符,其语法结构为 SigPolieyld=OBECTIDENTIFIER SigPolieyHash字段包含了杂凑算法的标识符和对签名策略的杂凑运算结果 12
GB/T25064一2010 如果签名策略是用ASN.1定义的,则其杂凑值是对其编码中除去外部类型和长度的部分做杂凑 运算的结果,而且杂凑函数算法应在SignPolieyHshAlg字段中给出 如果签名策略是用其他语法结构定义的,则其语法结构的类型以及使用的杂凑丽数应作为签名策 polieyqualMfer)标明 略的一部分给出,或使用签名策略限定符(signature OtherHashAl leAndValue SigPolieyHash 签名策略标识符应通过签名策略限定符的其他相关信息限定 签名策略限定符的语义及语法结构 是与sigPoieyQualiferld字段中的对象标识符相关联的,其语法定义如下 SEQUENCE SigPolieyQualifierlnfo sigPolicyQualifierldsigPolieyQualifierld. sigQualifierANYDEFINEDBYsigPolieyQualifierld" 本标准给出两种限定符 a spuri;包含了指向签名策略的URI或URL; bspUserNotice:包含一个用户通知,当验证签名时该通知应被显示给验证者 SigPolicyQualifierld=(OBJECTIDENTIFIER idspg-ets-uriOBJECTIDENTIFIER=iso(1member-body(2us(840rsadsi(113549 pkcs(1pkcs9(9smime(16id-spg51 SPuri IA5String id-spq-ets-unoticeO)BJECTIDENTIFIER iso1member-body2us840rsadsi 113549pkkcs(1pkcs9(9smime(16idspq(52 SPUserNotice:=SEQUENCE noticeRefNoticeReferenceOPTIONAL, explicitTextDsplayTextOPTIONAL NoticeReference::=SEQUENCE organizationDisplayText, noticeNumbersSEQUENCEOFINTE(GER DisplayText::=CHoICE visibleStringVisibleString(S1ZE(1..200)). bpStringBMPStringS1ZE(1..200)) utf8StringUTF8String(sIZE(1..200)) 6.1.10RFc2630中引入的可选属性 联署签名属性(countersignatureattribute) 其语法结构定义见RFC2630 联署签名属性在使用 时应为未签名属性(UnsignedAttribute). 6.1.11RrC2634中引入的可选属性 RFC2634中引人的可选属性包含以下属性 a)签名内容引用属性(SignedContentReferenceAttribute) 该属性把一个签名数据链接到另 可以用于把对消息的回复同原消息联系起来,或者把一个签名数据并人其他签名数据 中 该属性应为被签名属性 其语法结构定义见RFC2634. 内容标识属性(Co ContentIdentifierAttribute) 内容标识属性提供一个被签名内容的标识,该 标识可在以后需要对该内容进行引用时使用 该属性的语法结构定义见RFC2634,在使用 时,该属性应为被签名属性 可 内容提示属性(ContentHintAtribute) 内容提示属性用于提供被签名内容的格式信息 以用于签名者向验证者指明被签名内容的格式 当被签名内容必须显示给验证方看时,该属 性必须包含在签名数据中 其语法结构定义见RFC2634 13
GB/T25064一2010 6.1.12其他可选属性 其他可选属性包括以下属性: 6.1.12.1承诺类型标识属性 在某些情况下,签名者希望通过显式的向验证者表明,签名数据代表了签名者某种承诺 承诺类型 标识属性(CommitmentTypeIndieationAttribute)用于传达这种信息 该属性应为被签名属性 承诺类型应是签名策略的一部分,或者是一个已经注册的类型 签名策略规定了一个其承认的属性集合 这个承认的属性集合中包含了所有该策略承认的承诺类 型 只有承认的承诺类型才允许出现在该属性字段中 该属性的对象标识符定义为 idaa-ets-commitmentTypeOBJECTlDENTIFIER:= iso1member-body2us840 rsadsi(ll3549pkes(1)pkcs-9(9smime(16idaa(2l6 该属性的语法结构ASN.1定义为 CommitmentTypelndication SEQUENCE commitmentTypeldCommitmentTypeldentifier commitmentTypeQualifierSEQUENCEsIZE(l..MAX)OFCommitmentTypeQualifier OPTIONAL CommitmentTypeldentifier OBJECTIDENTIFIER CommitmentTypeQualifier=SEQUENCE ommitmentTypeldentifierCommitmentTypeldentifier, qualifierANYDEFINEDBYcommitmentIypedentifer 本标准给出几种承诺类型: id-ctietsproofo(OriginoBCTIDENTIFIER::= iso(1member-body(2us(840rsadsi 113549pkcs(1pkcs-9(9smime(16cti61 idctietsproofOReceiptOBJECTIDENTIFIER:一iso(1member-body(2)us(840rsadsi 113549)pkcs(1)pkcs-9(9sminme(16)cti6)2 id-cti-etsproofODeliveryOBECTIDENTIFIER iso(1member-body(2us(840rsadsi 113549)pkes(1)pkcs-9(9)smime(16)cti(6) 33 id-cti-ets-proofOfSenderOBECT IIDNTIFT ER iso(1member-body(2us(840rsadsi (113549)pkcs(1pkcs-9(9)smimme(16)cti(6) ! id-eti-etsproofOfApprovalOBECTIDENTIFIER:=iso(1)member-body(2)us(840)rsadsi 113549)pkcs(1pkcs-9(9)smime(16)cti(6)5) id-cti-ets-proofOCreationOBECTIDENTIFIER=iso(1)member-body(2)us(840)rsadsi 1l3549)pkcs(1pkes-9(9)smime(16)ci(6 6 这些承诺类型含义如下: Proofoforigin;表明签名者承认其曾生成、认同并发送了该消息; 1) 2) Proofofreceipt:表明签名者承认其曾接受到该内容的消息 3 Proofofdelivery;表明提供该承诺的可信服务提供者已经把某消息传送给了接受者可访问的 本地存储中; 4) roofofsender:表明提供该承诺的实体发送过这个消息(但不一定创建了该消息); 5 Proofof [approval:表明签名者认同该消息的内容; 6Proofof creation:表明签名者创建了该消息(但并不一定认同或发送过该消息). 6.1.12.2签名者位置属性 签名者位置属性(SignerL.ocation)用于指定一个表明签名者所处地理位置的助记符 这个助记符 14
GB/T25064一2010 应在签名者所在的国家注册,并在公共电报服务(PublicTelegram 1Service)中使用 该属性应为被签名 属性 该属性的对象标识符为 idaa-ets-signerlocationOBECTIDENTIFIER=iso(lmember r-body(2us(840rsadsi 113549)pkes(1pkcs-9(9)smime(16)idaa(217)" 该属性的语法结构ASN.1定义为 Location SEQUENCE 下列的内容应至少有一项出现 Signel countryName[0DirectoryStringOPTIONAL localityName[1]DirectoryStringOPTIONAL. ostalAdddress[2]PostalAddressOPTIONAL" pos PostalAddress SEQUENCEs1ZE(1..6)OFDireetoryString 6.1.12.3签名者属性 签名者属性(SignerAtributes)用于表示签名者的其他信息,包括签名者宜称的属性和签名者被证 明的属性 该属性应为被签名属性 该属性的对象标识符为 id-aa-ets-signerAttrO)BJECTlIDENTIFIER= iiso(1member-body2us840rsadsi 113549)pkces(1)pkcs-9(9)smime(16)idaa(2)18 该属性语法结构的AsN.1描述为 SignerAttribute:=SEQUENCEOFCHOICE dlaimedAttributes[0]ClaimedAttributes certifiedAttributes[1]CertiiedAttributes sEQUENCEoFAttribute ClaimedAttributes 见GB/T16264.8一2005中定义 CertifiedAttributes: AttributeCertificate 6.1.12.4内容时间戳 内容时间戳(ContentTimestamp)属性是被签名内容在签名前的一个时间戳 该属性应为被签名 属性 其对象标识符为: id-aa-ets-contentTimmestampOBECTIENTIFIER::=iso(1rmember-body(2us(840) rsadsi(113549)pkes(1pkcs-9(9)smime(16)idaa(2)2o) 其语法结构的AsN.1描述为 TimeStampToken ContentTimestamp. TimeStampToken定义见GB/T20520一2006 TimeStampToken中的messagelmprint字宇段的值 应为电子签名中signedData中的encapContentlnfo中的eContent字段的内容的杂凑值 6.1.13对多签名的支持 对多签名的支持包含以下方法: a)独立签名 多方独立签名可通过对每个签名者使用一个Signerlnfo实现 每个Signerlnfo都 应包括本标准中规定的所有属性 签名验证者应对每个Signerlnfo都单独验证 b)嵌人签名 对方嵌人签名可通过使用未签名的联署签名属性counter-signatureunsigned tribute)实现 每个联署签名结果都应放在签名结果的signerla的一个联署签名属性 cousrsgature)中 6.2验证数据格式 6.2.1导引 本条规定了电子签名的验证数据格式,包括时间戳和完全验证数据 时间戳应用于电子签名的值 完全验证数据包含签名值的时间戳、用于电子签名完全验证的所有证书和撤销信息 15
GB/T25064一2010 本条还规定验证数据的扩展格式 时间戳包含ES-C的时间戳,而扩展时间戳包含验证路径引用 和撤销信息引用的时间戳以支持EsC 扩展长验证数据包含完全验证数据和使用在ESs-C中的所有 证书和撤销信息的实际值 扩展时间戳长验证数据包含时间戳或扩展时间戳,和使用在ES-C中的所 有证书和撤销信息的实际值 本条还规定了归档验证数据的数据格式 归档验证数据包含完全验证数据证书和撤销信息、扩展 时间戳、签名用户数据和所有这些数据的归档时间戳 归档时间戳可以在一个长周期后重新申请,在电 子签名和时间戳算法弱化时以维持有效性 本条下面定义的所有数据都是非签名类型 6.2.2电子签名时间戳 个电子签名可以从不同的时间截机构得到多个电子签名时间截实例 以下的对象标识符标识了 签名时间戳属性 idaa-signatureTimeStampTokenOBJECTIDENTIFIER:=iso(1member-body(2) us(840rsadsi(l13549pkcs(1pkcs-9(9smime(16idaa(214) 签名时间戳属性值的AsN.1语法为 SignatureTimeStampToken=TimeStampToken TinmeStampToken中的messagelmprint域的值应为用于对signedData进行时间戳的signerlnfo 中的签名域值的杂凑值 6.2.3完全验证数据 6.2.3.1完全验证数据内容 完全验证数据最少应包括签名时间戳属性,完全证书引用,完全撤销引用 6.2.3.2完全证书引用属性 完全证书引用引用了CA证书的全集,这些证书被用于验证ES-C 一个电子签名只可以有一个完 全证书引用实例 以下的对象标识符标识了完全证书引用属性: idaa-ets-cerificateRefsOBJECTIDENTIFIER:一iso(1member-body(2) us(840)rsadsi(113549)pkes(1pkcs-9(9)smime(16)idaa(2)21 完全证书引用属性值的ASN.1语法为 CompleteCertificateRefs::=SEQUENCEOFOtherCertlID 其中OherCertlID中应出现IssuerSerial,certHash应与证书引用的杂凑值匹配 6.2.3.3完全撤销引用属性 完全撤销引用引用了CRL或OcSP响应的全集,这些CRL或0cSP响应被用于验证ESC中使 用的签名者和CA证书 一个电子签名只可以有一个完全撤销引用实例 以下的对象标识符标识了完 全撤销引用属性 daa-ets-revocationRefsOBECTIDENTIFIER:=iso(1member-body(2) us(840)rsadsi(113549)pkcs(1pkcs-9(9)smime(16)idaa(2)22) 完全撤销引用属性值的ASN.1语法为 Refs=SEQUENCEOFCrlOespRef Complete Revocationl CrlOespRef=SEQUENCE" erlids[]CRLListIDOPTIONAL. ocspds[1]OespListIDOPTIONAL otherRev[2]OtherRevRelsOPTIONAL CompleteRevoeationRe应包含签名证书的一个CrloespRel.CompleteCertificateRel、属性中每 个OtherCertID的CrlOespRef,这些CrlOespRef应与相关的OtherCertID次序保持一致 CRLListlD SEQUENCE 16
GB/T25064一2010 erlsSEQUENCEOFCrHlValidatedD) ClValidatedID=SEQUENCE crlHashOtherHash crlldentifierCrlldentiierOPTIONAL Crlldentifier=SEQUENCE crlissuerName, cerlIssuedTimeUTCTime crlNumberINTEGEROPTIONAL OcspListlD SEQUENCE ocspResponsesSEQUENCEOFOcspResponsesID" OcspResponsesID SEQUENCE ocspldentifierOcspldentifier, ocspRepHashOtherHashOPTIONAL" Ocspldentiier SEQUENCE ocspResponderIDResponderlD. producedAtGeneralizedTime" 创建erlValidatedD时,在包含签名的完整的DER编码的CRL上erlHash被计算出 除非CRL 可以从其他信息中推断出,crlldentifer一般都要出现 crlldentifer用颁发者名字和CRL颁发时间来 标识CRL,其中CRL颁发时间对应着CRL中的“thisUpdate”时间 当标识的CRL是增量CRL时, erlListlD应包含CRL集合的引用以提供完全的撤销列表 Ocspldentifier用颁发者名字和OcsP响应颁发时间来标识OcsP响应,其中oCSP响应颁发时间 对应着ocSP响应中的“producedAt”时间 由于可能需要在同一秒内区别收到的两个不同的0csP 响应,OcspResponseslD中的响应杂凑值被用于解决这种混淆 OtherRevRefs::=sEQUENCE otherRevRefTypeOtherRevRefType. otherRevRefs、ANYDEFINEDBYotherRevRefType) OtherRevRefType::=OBECTIDENTIFIER 其他撤销引用的语法和语意不在本规范描述 6.2.4扩展验证数据 6.2.4.1证书值属性 证书值属性含有完全证书引用属性中引用的证书值 一个电子签名只可以有一个证书值属性实 例 以下的对象标识符标识了证书值属性 daa-ets-certValuesOBECTIDENTIFIER:一iso(1member-body(2) us(840)rsadsi(113549)pkcs(1pkcs-9(9)smime(16)idaa(2)23) 证书值属性值的ASN.1语法为 certfeateValues::=sEoUENcEoFcerifreate 6.2.4.2撤销值属性 撤销值属性含有完全撤销引用属性中引用的CRL和0cCSP的值 一个电子签名只可以有一个撒 销值属性实例 以下的对象标识符标识了撤销值属性 idaa-ets-revocationVal luesOBECTIDENTIFIER=iso(1 mber-body(2) mem us(840)rsads(I13549)pkes(1) s-9(9smime(16id-aa(2)24 pkcs- 撤销值属性值的AsN.1语法为: RevocationValues=SEQUENCE 17
GB/T25064一2010 erlval[]sEQuENcEoFcerifiet teListOPTONAL OPTIONAL ocspVals[1]sEQUENCEOFBasicOcCSPResponse otherRevVals[2]OtherRevVals OtherRevVals=SEQUENCE otherRevValTypeOtherRevValType otherRevVal、ANYDEFINEDBYOtherRevValIType' OtherRevValType=OBECTIDENTIFIER 其中CertificateList在GB/T20518一2006中定义,BasicOCSPResponse参见GB/T197132005 中的定义 6.2.4.3ES-C时间戳属性 EsC时间截属性是电子签名和完全验证数据的杂凑值的时间戳 一个电子签名可以从不同的时 间戳机构得到多个EsC时间戳属性实例 以下的对象标识符标识了EsC时间戳属性 idaa-ets- -escTimeStampOBECTIDENTIFIER=iso(1member-body(2 us(840)rsadsi(ll3549)pkcs(1)pkcs-9(9)smime(16)idaa(225 EsC时间戳属性值的AsN.1语法为 ESCTimeStampToken=TimeStampTokenm TinmeStampToken中的messagelmprint域的值应为出现在EsC中的以下数据对象的连接值的杂 凑值 a)signerlnfo中的签名域; 签名时间戳属性; b e)完全证书引用属性; d 完全撤销引用属性 6.2.4.4时间戳证书和cRL属性 时间戳证书和CRL属性是相关证书和OCSP响应/CRL的一个列表,这个列表被加了时间戳来保 护CA安全 以下的对象标识符标识了时间戳证书和CRL属性: daa-ets-certCRLTimestampOBECTIDENTIFIER:=iso(1menmber-body(2) us(840rsadsi(113549)pkes(1pkcs-9(9)smime(16)idaa(2)26y 时间戳证书和CRL属性值的ASN.1语法为 TimestampedCertsCRLs=TimeStarmpTokenm TimeStampToken中的messagelmprint域的值应为出现在ESsC中的以下数据对象的连接值的杂 凑值 a)完全证书引用属性; 完全撤销引用属性 b 6.2.5归档验证数据 当需要一个非常长时间的电子签名,可能会因为算法的弱化或TSA证书的有效期限制,电子签名 的时间戳可能会变得危险,这时需要多次申请电子签名的时间戳 归档时间戳用于解决这个问题,时间 戳可以每过一定周期反复应用 归档时间戳属性是用户数据和整个电子签名的时间戳 一个电子签名可以从不同的时间戳机构随 着时间的流逝得到多个归档时间戳属性实例 以下的对象标识符标识了嵌套归档时间戳属性: idaa-ets-archiveTin ber-body(2) imestampOBJECTIDENTIFIER=iso(lmem s(1 s-9(9smime(16id-aa(2)27 us(840rsadsi(113549)pkcs pkcs- 归档时间戳属性值的AsN.1语法为 ArchiveTime pTokken usSampToken-TimesSiamp 18
GB/T25064一2010 Tin imestampToken中的mesageelmprint域的值应为出现在电子签名中的以下数据对象的连接值 的杂凑值 a eneapContentlnfoe(ContentOCTETSTRING b edAttributes; signed signaturefieldwithinSignerlnfo:; SignatureTimeStampTokenattribute; ertiicateRefsattribute; COmpleteCe ompleteRev0cationDataattribute; CertifieateValuesattribute(如果不存在,这个信息就应该包含在ES-A中); g RevocationValuesattribute(如果不存在,这个信息就应该包含在ES-A中); ESCTimeStampTokenattributeif present; TimestampedCertsCRLsattributeifpresent; reviousArchiveTimeStampTokenattributes anypr 归档时间戳应该比普通电子签名和弱算法(密钥长度)时间戳使用更强的算法(或更长的密钥长 签名策略要求 对于签名策略,本标准要求 a)签名者和验证者应按照签名策略属性中给出的签名策略来产生和验证签名 显式给出的签名策略应使用对象表述符标识; b 应有一个对应签名策略的策略说明 对一个显式给出的策略,应有一个确定的策略说明格式,并且该格式有唯一的二进制编码, D 对于确定的并且显式给出的签名策略说明,应有一个使用合法算法做的杂凑运算结果,签名者 应向验证者提供该杂凑运算结果,验证者应检查该结果的正确性 签名策略说明主要包括关于该策略的一般性信息,验证该策略的规则以及其他的签名策略相关 信息 6.3.1ASN.1总体结构 本标准给出的AsN.1语法结构使用DER编码格式 签名策略的ASN.1语法结构描述如下 SignaturePoliey=SEQUENCE signPolieyHashAlgAlgorithmldentifier" signPolicylnfoSignPolicylnfo. signPolieyHashSignPolieyHashOPTIONAL" SignPolieyHash:=OcTETSTRING SignPolieyInfo::=SEQUENCE signPolieyldentifierSignPolieyld, dT OlssueGeneralized ime date rNanme, PoliesylsuerN policylssuerName fiedoIAppl lcationFieldOfA Application eValidationPolieySignatureValidationPoliey signature signPolEx xtensionsSignPolExtensionsOPTIONAL SignPolieyld::=OBJECTIDENTIFIER:; rrName字段使用GeneralName的方式标识策略颁发者,.ASN.1定义如下: PoliesylIeues GeneralNames; PolieylssuerName 19
GB/T25064一2010 fieldofApplieation字段描述该策略的期望应用领域,ASN.1定义如下 FieldOfApplication=DirectoryString 6.3.2签名验证策略 对于签名者,签名验证策略(SignatureValidationPoliey)规定了电子签名中应包含的数据单元;对 于签名验证者,签名验证策略规定了根据签名策略的要求,电子签名中应含有哪些数据单元才有可能验 证通过 签名验证策略的语法结构定义如下 ignatureValidationPoliey=SEQUENCE signingPeriodsigningPeriod. commonRulesCommonRules, ommitmentRulesCommitmentRules, signPolExtensionsSignPolExtensionsOPTIONAL 其中signingPeriod字段用于给出该签名策略有效期的起始日期和时间,另外该字段还有一个可选 项用于给出该签名策略有效期的终止日期和时间 该字段的语法结构如下 SigningPeriod:=SEQUENCE notBeforeGeneralizedTime, notAfterGeneralizedTimeOPTIONA 6.3.3通用规则 通用规则(CommonRules)是对所有的承诺类型(commitmenttypes)都适用的规则 其AsN.1 语法结构定义如下 CommonRules::=sEQUENCE signerAndveriferRules[o]SignerAndverifierRulesoPTIONAL signingCertTrustCondition[1]signingCertTrustConditionOPTIONAL. timeStampTrustCondition[2]TimmestampTrustConditionOPTIONAL attributeTrustCondition[3]AttributeTrustConditionOPTIONAL algorithmConstraintSet[4]AlgorithmConstraintSetOPTIONAL signPolExtensions[5]signPolExtensionsOPTIONAL 如果某个字段在CommonRules中出现,则相应的字段也应在CommitmentRules中出现 如果下 列的某个字段在CommonRules中没有出现,则在每个CommitmentRule中都应给出 a)signerAndVerifierRules; b signingCertTrustCondition; etimeStampTrustCondition 6.3.4承诺规则 承诺规则(CommitmentRules)中包含了对给定承诺类型的验证规则,其AsN.1定义如下: CommitmentRules=SEQUENCEOFCommitnmentRule CommitmentRule的定义如下 sSEQUENCE《 ommitmentRule CommitmentIypesSelectedCommitment'Iypes AndVerifierRulesOPTIOAL signerAndVeriferRules Signer gCertTrustConditionOPTIONAL signingC signingCertIrustCondition onditionOPTIONAL Ti timeStampTrustCondition imestampTrust atributeTrustCondition[3]AttributeTrustConditionOPTIONAL mConstraintSetOPTIONAL, nconstraintset[]Agorithm algorithm 20
GB/I25064一2010 signPolEx xtensionsOPTONAL [5]SignPolE Xtensions SelectedCommitmentTypes:=SEQUENCEOFCHOICE NULL empty edCommi Commitment imentType ntType" recognized 如果SelectedCo1 ommitmentTypes中选择的是empty,则该规则适用于没有指定承诺类型的情况 即承诺类型通过消息的语义内容指定) 否则,即SelectedCommi itmentTypes选择的是recognized Commi cdCommit itmentType,则该规则适用于recognize tmentType给出的某个承诺类型 一种承诺类 型应至多有 个承诺规则 承诺类型的ASN.1语法结构定义如下 SEQUENCE CommitmentType identifierCommitmentTypeldentifier, fieldOfApplieation[oFieldOfApplieationOPTIONAL semantics[1]DirectoryStringOPTIONAL 其中fieldOIAppieation字段和semantic字段定义了该承诺类型在签名策略规定的总的应用领 城中的具体用法和含义 6.3.5签名者和验证者规则 6.3.5.1导引 签名者和验证者规则(SingerandverifierRules)包含了一个签名者规则和一个验证规则,其 AsN.1语法结构定义如下 SignerAndVerifierRules=SEQUENCE signerRulesSignerRules, verifierRulesVerifierRules 6.3.5.2签名者规则 签名者规则用于标识 a)eContent字段是否为空,以及签名值是否是对CMs结构以外的数据的杂凑值做的签名结果 b 根据该签名策略签名者应提供的CMS被签名属性 根据该签名策略签名者应提供的CMS未被签名属性; c) d)在SigningCertificate属性中,是否需要包含从认证路径到信任错点(trustpoint)的所有证书 的标识符 在SignedData的certificates字段中,是仅需要包含签名者的证书还是需要从认证路径到信任 锚点的所有证书 签名者规则的ASN.1语法结构定义如下 SignerRules:=SEQUENCE externalSignedDataB0OLEANOPTIONAL. 如果被签名数据是CMS结构以外的,则为真 如果被签名数据是CMS结构中的一部分,则为假 如果两者都允许则该字段不出现 mandatedSignedAtrCMSAtrs mandatedUnsignedAttrCMSAttrs, mandatedCertifieateRef[0]CertRefReqDEFAU1LTsignerOnly mandatedCertific uateno[]cerhnoReqDEFAlTnone. nPolEx O)PTIONAL xtensions[2]signPolEx signl xtensions CMSAttrs: SEQUENCEOFOBECTIDENTIFIER 其中,mandatedSignedAttr字段需要包括所有本标准中规定的以及该策略规定的被签名属性的对 21
GB/T25064一2010 mandatedUn 象标识符 edAttr字段则应包括所有本标准中规定的以及该策略规定的未被签名属 Jnsignee 性的对象标识符 mandatedCertifieateRe用于说明是签名者仅需要提供签名者的证书还是需要提供证书路径上的 所有证书 其ASN.1语法结构定义如下: CertRefRe Req::- ENUMERATED signerOnly1). 仅需要提供签名者证书 fulPath2) -要求整个证书路径上所有证书 mandatedCertificeateInfo字段用于说明在SignedData的certifieates字段中,是仅需要包含签 名者的证书还是需要从认证路径到信任锚点的所有证书是签名者的证书 其ASN.1语法结构定义 如下 CertlnfoReq=ENUMERATED 没有强制要求 none0), 仅要求签名者证书 signerOmly(1). 要求证书路径上的所有证书 fullPath2) 6.3.5.3验证者规则 验证者规则用于说明根据该规则,签名中应有的CMs未签名属性,以及如果签名者没有给出验证 者需要补充的未签名属性 验证者规则的ASN.1语法结构定义如下 VerifierRules:=SEQUENCE mandatedUnsignedAttrMandatedUnsignedAttr, signPolExtensionsSignPolExtensionsOPTI(O)NAl MandatedUnsignedAttr=CMSAttrs 6.3.6证书及撤销要求 6.3.6.1证书要求 certifieateTrustTrees给出了一组自签名证书,信任锚点使用这些自签名证书作为证书路径处理的 起点 其ASN.1语法结构定义如下 CertificateTrustTrees:=SEQUENCEOFCertificateTrustPoint CertificateTrustPoint::=sEQUENCE 自签名证书 trustpointCertificate pathLenConstraint[0]PathL.enConstraintOPTIONAL. acceptablePolicySet[1]AcceptablePolieySetOPTIONAL 如果该字段不出现表示所 有策略 nameConstraints[2]NameConstraintsOPTIONAL poieyConstraints[3]PoieyConstraintsOPTIONAL sPoint字段中给出在证书路径处理中作为信任锚点的cCA自签名证书 trustl pathL.enConstraint字段给出从信任锚点开始的证书路径中CA证书的最大数量 该值为零时,证 书路径中应仅有信任锚点证书和终端实体证书 如果该字段出现则其值应不小于零 如果该字段不出 现,则对证书路径的长度不限制 pathLe LenConstraint:=INTEGER(O..MAX) acceptablePolieySet字段给出了根据该签名策略所有可接受的证书策略 其ASN.1语法结构定 义如下 AcceptablePolieySet=SEQUENCEOFCertPolieyld CertPolieyld:=OBECTIDENTIFIER 字段给出了证书路径中所有证书主体名允许的名字空间 对名字的要求适用于 nameConstraints 22
GB/T25064一2010 subjectdistinguishedname和subjectalternativename 这些限制要求包括允许的名字子树和不允许 的名字子树 其ASN.1语法结构定义如下: NameConstraints: SEQUENCE permittedSubtrees [GeneralSubtreesOPTIONAL excludedSubtrees [1]GeneraIsubtreesOPTIONAL GeneralSubtrees SEQUENCESIZE(1..MAXOFGeneralISubtree GeneralSubtree SEQUENCE baseGeneralName BaseDistanceDEFAULT0 minimum BaseDistanceOPTIONAL maximum BaseDistance INTEGER0.,MAX 的AsN.1语法结构定义如下 PolicyConstraints PolicyConstraints SEQUENCE requireExplieitPoliey[oSkipCertsOPTIONAL nhtbitPolieyMapping[1]skipCerts OPTIONAL SkipCerts:=INTEGER0..MAX 如果inhibitPolieyMappng字段存在,则该值用于表示在策略映射不再允许前证书路径中其他证 书的数量(包括信任锚点的自签名证书). 如果requireEsplieiPoliey字段存在,后续的证书中应包含可接受的策略标识符 requireExplicitPolicy字段的值用于表示在需要显式策略时,证书路径中其他证书的数量 6.3.6.2撤销要求 RevocRequirements字段定义了对从CRL 和/或OCSP响应消息中获得的用于验证证书状态的撤 销信息的最小要求 其AsN.1语法结构定义如下 CertRevReq::=SEQUENCE endCertRevReqRevReq caCerts[o]RevReq 证书撤销要求包含以下内容: endCertRevReq;终端证书(签名证书,属性证书和TSA证书); caCerts:CA证书; RevReq=SEQUENCE enuRevReqEnuRevReq exRevReqSignPolExtensionsOPTIONAL EnuRevReq:=ENUMERATED clrCheck(o) ocspCheck1). bothCheck(2). eitherCheck3) noCheek(4). 5) other 撤销要求定义了以下内容: clrCheck:应根据当前的CRL或ARL进行检查 a b)ocspCheck;应适用OCSP(见RFC2450)检查撤销状态; bothCheck:应同时做0cCSP和CRL检查; 23
GB/T25064一2010 d)eitherCheck:既可以做0cCSP也可以做CRL检查; noCheck:不要求检查 e 6.3.7签名证书信任条件 签名证书信任条件Signing(CertTrustCondition)规定了验证签名证书时处理证书路径的信任条 件 其ASN.1语法结构定义如下: SigningCertTrustCondittion=SEQUENCE signerTrustTree.CerifeatecTrustTres., erRevRegCertRevReg signer 6.3.8时间戳信任条件 时间藏信任条件(Timv heStampCondition)规定了用于认证时间戳机构的真实性时验证证书路径的 信任条件以及对时间戳机构的名字限制 这些信任条件和限制应用于EST签名中的时间戳 TimestampTrustCondition SEQUENCE ttsCertificate'TrustTreesLOCertificate'TrustTreesOPTIO)NAL ttsRevRegq[1]CertRevReqO)PTIONAL, ttsNameConstraints[2]NameConstraintsO)PTI(ONAL, cautionPeriod[3]DeltaTimeOPTIONAL signatureTimestampDelay[4们DeltaTimeOPTIONAL DeltaTime:=SEQUENCE deltaSecondsINTEGER deltaMinutesINTEGER deltaHoursINTEGER, deltaDaysINTEGER 如果ttsCertificateTrustTrees不存在,则certifieateTrustCondition中规定的规则适用于认证时间 戳机构的公钥 tstrRevReq规定了对从CRL和/或OcsP响应消息中获得的撤销信息的最小要求 这些撤销信 息用于验证EST中时间戳的撒销状态 如果ttsNameConstraints没出现,则除了ttsCertifcateTrustTrees以外对于时间戳机构没有其他 的名字限制 CautionPeriod字段中规定了一个签名时间之后的谨慎时间段,在这个时间段内签名者应防止对签 名者公钥的合法性给予过高的信任,而且在该时间段内任何相关的撤销都应被通知 ESC签名中的撒 销状态信息应在谨慎时间段后才能够收集用于验证电子签名的状态 signatureTimestampDelay字段规定了一个从创建签名到创建EST中的时间戳的最大时间差 中时间的时间差大于 如果签名时间戳与签名时间属性signing-timeattribute) signatureTimestampDelay,则该签名被认为无效 6.3.9属性信任条件 吹 字段没有出现,则在任何验证策略下任何认证的属性都不应认为是 如果attributeTrustCondi tions 合法的 该字段的ASN.1语法结构定义如下: tC AttributeTrust condition=SEQUENCE attributeMandatedBOoLEAN. 属性应出现 howCertAttributeHowCertAttribute, erifieateTrustTrees[0]CerifeateTrustTreesoPTIoNAL attr(Ce attrRevReq[1]CertRevReqOPTIONAL. attributeConstraints AttributeConstraintsOPTIONAL [2] 214
GB/T25064一2010 如果attributeManda1 ated为真,则下面这些条件认证的属性应出现,如果为假,则如果没有属性的话 签名仍有效 howCertAttribute字段规定了未认证的属性是由签名者“宣布”,还是在属性证书中认证,或者使用 6.1.12中的签名者属性定义. HowCertAttribute ENUMERATED claimedAttribute0) certifiedAttribtes1), either2 attrCertifieateTrustTrees字段定义了对所有属性证书的证书路径条件,如果该字段不存在,则应 用certificateTrustCondition中的规则 attrRevReq规定从CRL和/或OCSP响应消息中得到的撤销信息的最小要求 这些要求用于检 查属性证书的撤销状态 如果attributeConm ts字段不存在,则在该策略下对属性没有任何限制 该字段AsN.1定义 1strant 如下 AttributeConstraints=SEQUENCE' attributeTypeConstarints[0]AttributeTypeConstraintsOPTIONAL attributeValueConstarints1]AttributeValueConstraintsO)PTIONAL 如果该字段存在,该字段规定了在该策略下合法的属性的类型 AttributeTypeConstraints SEQUENCEOFAttributeType 如果attributeValueConstraints字段存在,则该字段给出了在该策略下合法的属性值 SEQUENCEOFAttributeTypeAndValue AttributeValueConstraints 6.3.10算法限制 如果AlgorithmConstraints字段存在,则该字段给出可以用于特定用途的签名算法以及最小长度 如果该字段不出现,则表明该策略没有任何限制 AlgorithmConstraintSet=SEQUENCE signerAlgorithmConstraints[o]AlgorithmConstraintsOPTIONAL eeCertAlgorithmConstraints[1]AlgorithmConstraintsOPTIONAL. caCertAIgorithmConstraints[2]AlgorithmConstraintsOPTIONAL. aaCertAlgorithmConstraints[3]AlgorithmConstraintsOPTIONAL tsaCertAlgorithmConstraints[4]AlgorithmConstraintsOPTIONAL SEQUENCEOFAlgAndLength AlgorithmConstraints:= AlgAndll.ength:=SEQUENCE algIDOBECTIDENTIFIER. minkeyl.engthINTE(GEROPTIONAL otherSignPolExtensionsOPTIONAL 6.3.11签名策略扩展 下面列出的内容还可以有额外的签名策略规则: 总体签名策略结构 a b)签名验证策略结构 通用规则; c d)承诺规则 签名者规则 fD 验证者规则; 25
GB/T25064一2010 撤销要求 g h 算法限制 这些扩展应使用ASN.1语法定义,并有对应的对象标识符,其ASN.1语法结构定义如下 SignPolExtensions=SEQUENCEOFSignPolExtnm SignPolExtn:=SEQUENCE xtnlDOBECTIDENTIFIER. e extnValueOCTETSTRING extnlD字段应包含该扩展的对象标识符 ExtnValue字段应包含对该扩展的DER编码 对扩展 的定义应包括其语法结构以及对应的语义 26

信息技术系统间远程通信和信息交换局域网和城域网特定要求第15部分:低速无线个域网(WPAN)媒体访问控制和物理层规范
上一篇 本文分享国家标准信息技术系统间远程通信和信息交换局域网和城域网特定要求第15部分:低速无线个域网(WPAN)媒体访问控制和物理层规范的全文阅读和高清PDF的下载,信息技术系统间远程通信和信息交换局域网和城域网特定要求第15部分:低速无线个域网(WPAN)媒体访问控制和物理层规范的编号:GB/T15629.15-2010。信息技术系统间远程通信和信息交换局域网和城域网特定要求第15部分:低速无线个域网(WPAN)媒体访问控制和物理层规范共有193页,发布于2011-02-01
信息安全技术术语
本文分享国家标准信息安全技术术语的全文阅读和高清PDF的下载,信息安全技术术语的编号:GB/T25069-2010。信息安全技术术语共有80页,发布于2011-02-01 下一篇
相关推荐