主页 购物车 询价 关于我们
www.GB-GBT.com
收录标准: 222108 (2026-04-27) 搜索
路径: 主页 > GB/T > 第210页 > GB/T 25061-2010

[PDF] GB/T 25061-2010 - 自动发货. 英文版

标准搜索结果: 'GB/T 25061-2010'
标准号码美元购买PDF工期标准名称(英文版)
GB/T 25061-2010 320 GB/T 25061-2010 9秒内发货PDF 信息安全技术 公钥基础设施 XML数字签名语法与处理规范
基本信息
标准编号 GB/T 25061-2010 (GB/T25061-2010)
中文名称 信息安全技术 公钥基础设施 XML数字签名语法与处理规范
英文名称 Information security technology -- Public key infrastructure -- XML digital signature syntax and processing specification
行业 国家标准 (推荐)
中标分类 L80
国际标准分类 35.040
字数估计 46,496
发布日期 2010-09-02
实施日期 2011-02-01
引用标准 GB/T 1988; GB 13000.1; GB/T 16264.8; GB/T 18793-2002; RFC 2253; RFC 2396; RFC 2732
标准依据 国家标准批准发布公告2010年第4号(总第159号)
发布机构 中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
范围 本标准规定了创建和表示XML数字签名的语法和处理规则, XML数字签名为任何类型的数据提供了完整性、消息鉴别和签名者鉴别服务;本标准适用于制作和处理XML数字签名的应用程序、系统或服务;

GB/T 25061-2010 Information security technology.Public key infrastructure.XML digital signature syntax and processing specification ICS 35.040 L80 中华人民共和国国家标准 信息安全技术 公钥基础设施 XML数字签名语法与处理规范 2010-09-02发布 2011-02-01实施 中华人民共和国国家质量监督检验检疫总局 中国国家标准化管理委员会发布 目次 前言 Ⅲ 引言 Ⅳ 1 范围 1 2 规范性引用文件 1 3 术语、定义和缩略语 1 4 XML签名概述 2 5 处理规则 3 6 核心签名语法 4 7 附加签名语法 14 附录A(规范性附录) XML数字签名文档类型定义 17 附录B(规范性附录) XML数字签名模式定义 25 附录C(资料性附录) 算法 30 附录D(资料性附录) XML数字签名实例 35 参考文献 40 前言 本标准的附录A和附录B是规范性附录,附录C和附录D是资料性附录。 本标准主要参照Internet工程任务组(IETF)的RFC3275文件制定。 本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。 本标准起草单位:北京信安世纪科技有限公司、中国电子技术标准化研究所。 本标准起草人:汪宗斌、张萌、黄勇、周鹏、王延鸣。 引 言 XML是一种信息描述的置标语言,用于数据对象交换。它已经广泛地应用在电子商务、电子政务 等应用之中,成为数据交换当中数据描述的基础格式,并且仍在不断发展当中。基于XML格式的数字 签名是XML在安全领域的一种新的应用,与传统的PKCS#7数字签名相比,能够更好地与XML应用 结合。 本标准凡涉及密码算法相关内容,标准文本中引用的RSA和SHA-1等密码算法为举例性说明,具 体使用时均须采用国家密码管理局批准的相应算法。 信息安全技术 公钥基础设施 XML数字签名语法与处理规范 1 范围 本标准规定了创建和表示XML数字签名的语法和处理规则。XML数字签名为任何类型的数据 提供了完整性、消息鉴别和签名者鉴别服务。 本标准适用于制作和处理XML数字签名的应用程序、系统或服务。 2 规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有 的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究 是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。 GB/T 1988 信息技术 信息交换用七位编码字符集(GB/T 1988-1998,eqvISO/IEC 646-1991) GB 13000.1 信息技术 通用多八位编码字符集(UCS) 第一部分:体系结构和基本多文种平面 (GB 13000.1-1993,idtISO/IEC 10646-1:1993) GB/T 16264.8 信息技术 开放系统互连 目录 第 8 部分:公钥和属性证书框架 (GB/T 16264.8-2005,ISO/IEC 9594-8:2001,IDT) GB/T 18793-2002 信息技术 可扩展置标语言(XML)1.0(W3CRFC-xml:1998,NEQ) RFC2253 轻型目录访问协议(v3):甄别名的UTF-8字符串表示 RFC2396 统一资源标识符(URI):通用语法 RFC2732 URL中IPv6地址文字格式 3 术语、定义和缩略语 3.1 术语和定义 下列术语和定义适用于本标准。 3.1.1 分离签名 detachedsignature 签名于Signature元素以外的内容上,通过 URI或者变换来进行标识,和它所签署的内容是分开 的。即签名和数据对象位于不同XML文档中。适用于签名与数据分离的情形(即不同的XML文档), 或者相同的XML文件包括了签名和数据对象,但签名和数据对象是兄弟元素的情形。 3.1.2 封内签名 envelopingsignature 签名于Signature元素中的Object元素之上,以Signature为父元素,将原始文档包含在Signature 中的XML签名文档的组织形式。即通过对封装了的对象的签名进行封装。 3.1.3 封皮签名 envelopedsignature 签名于整个XML内容之上,然后将Signature作为子元素插入到原始文档中,组织成XML签名文 档格式。即将签名封装到XML对象中,封皮签名在计算SignatureValue时不包含其自身。 3.1.4 引用确认 referencevalidation 确认由Reference所指定的元素经变换后的摘要值是否与DigestValue指定的匹配。 3.1.5 签名 Signature 签名是由一个应用程序通过密码算法用私钥运算所产生的值,具有完整性,消息鉴别和/或签名者 鉴别的特性。签名有三种非独占的描述方式:分离签名、封内签名和封皮签名。 3.1.6 签名应用 signatureapplication 指实现了本标准要求的必备部分,且Signature元素类型的结构及其子结构符合本标准的要求的 应用程序。 3.1.7 签名确认 signaturevalidation 处理SignedInfo的结果是否与SignatureValue中的值匹配。 3.1.8 签名者鉴别 signerauthentication 用来声明标识签名者属性,签名应指明谁签署了一个文档、消息或记录,他人没有授权很难产生。 签名者鉴别由应用实现,本标准支持签名者鉴别,但具体如何鉴别由相关的鉴别标准规定。 3.1.9 变换 transform 把一个数据从原始状态转化成导出状态的处理。典型的变换包括XML规范化,XPath和XSLT。 3.2 缩略语 下列缩略语适用于本标准: DN 甄别名(DistinguishedName) 4 XML签名概述 4.1 概述 本章描述了XML数字签名结构,第5章给出处理规则、第6章核心签名语法和第7章附加元素签 名语法。 XML签名可以通过间接方式作用于任意数据对象,处理的步骤是先对数据对象进行摘要,处理后 的结果放置在一个元素中,再把得到的元素再进行摘要处理并且通过密码学方法进行签名。XML数 字签名使用Signature元素来表示,其结构如下(? 代表出现0次或1次;+代表出现1次或多次;*代 表0次、1次或多次): < SignatureID? > < SignedInfo > < SignatureMethod/ > (< ReferenceURI? > (< Transforms >)? < DigestMethod > < DigestValue > < /Reference >)+ < /SignedInfo > < SignatureValue > (< KeyInfo >)? (< ObjectID? >)* < /Signature > 签名是通过URI关联数据对象的。XML文档内部,签名是通过XML片段标识符关联本地的数 据的,本地数据可以包含在封内签名中,也可以包含在封皮签名中。分离签名作用于外部网络资源或者 作用于以兄弟元素形式出现的同一个XML文档中的本地数据对象,因此这种签名既不是封内签名也 不是封皮签名。一个XML文档中签名元素(以及它的ID和属性值和名字)可以与其他元素同时存在, 也可以和其他元素结合在一起,命名时应注意避免违反XML标识唯一性。 本标准附录D列举了各种签名的实例,供实现本标准时参考。 4.2 特别说明 本标准有两个规范性附录,附录AXML数字签名文档类型定义,附录BXML数字签名模式定义。 在应用本标准时,应将附录A和附录B的文件存放到应用可以访问的位置,例如本标准中假定存放在 http://127.0.0.1/2001/XMLSchema.dtd和http://127.0.0.1/2000/09/xmldsig中,可根据实际情 况调整存放位置。 5 处理规则 本章规定签名生成和核心确认中所用到的操作。 5.1 核心生成 5.1.1 概述 规定核心部分生成的步骤,包括Reference元素的生成和SignedInfo元素中的签名值的生成。 5.1.2 Reference生成 对于每个要签名的数据对象,Reference元素生成的步骤如下: a) 根据应用程序的要求,对数据对象进行变换; b) 计算变换后的数据对象的摘要值; c) 创建一个Reference元素,包括一个可选的数据对象的标识,可选的变换元素,摘要算法和摘 要值。 5.1.3 Signature生成 Signature元素生成的步骤如下: 的Reference为内容,创建SignedInfo元素; b) 用SingedInfo中指定的规范化算法来规范化,并用SignedInfo指定的签名算法来计算 SignedInfo的签名值; c) 构建包括SignedInfo、Object、KeyInfo和SignatureValue的Signature元素。 5.2 核心确认 5.2.1 概述 核心确认应包括: a) 引用确认,验证SignedInfo中每个Reference包含的摘要; b) 签名确认,使用密码方法对计算SignedInfo得到的签名进行签名确认。 5.2.2 引用确认 引用确认的步骤如下: b) 对于SignedInfo中的每个Reference: 1) 获得进行摘要处理的数据对象; 2) 使用Reference中指定的摘要算法对结果数据对象计算出摘要值; 3) 比较上一步生成的摘要值和SignedInfo中的DigestValue元素的内容,如果有不同,那么 确认失败。 5.2.3 签名确认 签名确认的步骤如下: a) 从KeyInfo或者其他方式获得密钥信息; 面得到的密钥信息来与SignedInfo元素上的签名值比较。 6 核心签名语法 6.1 概述 本章规定核心签名元素的详细语法,若无特别声明,应支持本章所涉及到的元素。签名语法通过文 档类型定义和XML模式定义来定义,所有的文档类型定义和XML模式定义使用下面的XML前同步 码、声明和内部实体。 模式定义: < ?xmlversion="1.0"encoding="GB 13000"? > 注:上一行为XML声明,该行中的< ?xml是一个整体,表示是XML文件的开始,而本标准4.1中定义的? 表示的 是元素的个数,请注意区分。 < DOCTYPEschema PUBLIC"-//W3C//DTDXMLSchema200102//EN""http://127.0.0.1/2001/XMLSchema.dtd" < ATTLISTschema xmlns:dsCDATA#FIXED"http://127.0.0.1/2000/09/xmldsig#" > < ENTITYdsig′http://127.0.0.1/2000/09/xmldsig#′ > < ENTITY%p" > < ENTITY%s" > ] > < schemaxmlns="http://127.0.0.1/2001/XMLSchema" xmlns:ds="http://127.0.0.1/2000/09/xmldsig#" targetNamespace="http://127.0.0.1/2000/09/xmldsig#" version="0.1"elementFormDefault="qualified" > 文档类型定义: < ENTITY%Object.ANY" > < ENTITY%Method.ANY" > < ENTITY% < Transform >.ANY" > < ENTITY%KeyInfo.ANY" > < ENTITY%KeyValue.ANY" > < ENTITY%X509Data.ANY" > 6.1.1 ds:CryptoBinary简单类型 本标准定义了ds:CryptoBinary简单类型,把XML中的任意长度的整数当作字节字符串。具体方 法是先把整数值转化成高位在前格式的位串,在位串前面补0使得位的个数是8的整数倍,去掉开头为 零字节(连续8个0的位串),然后对这个字节串进行base64编码。 base64Binary与CryptoBinary类型相同,定义一个新的类型主要是兼容不同的使用习惯。 模式定义: < simpleTypename="CryptoBinary" > < restrictionbase="base64Binary" > < /restriction > < /simpleType > 6.2 Signature元素 Signature元素是XML签名的根元素,Signature元素的组织应遵循下面说明的模式。 模式定义: < elementname="Signature"type="ds:SignatureType"/ > < complexTypename="SignatureType" > < sequence > < elementref="ds:SignedInfo"/ > < elementref="ds:SignatureValue"/ > < elementref="ds:KeyInfo"minOccurs="0"/ > < elementref="ds:Object"minOccurs="0"maxOccurs="unbounded"/ > < /sequence > < attributename="Id"type="ID"use="optional"/ > < /complexType > 文档类型定义: < ATTLISTSignature Id ID #IMPLIED > 6.3 SignatureValue元素 SignatureValue元素包含了数字签名的具体值,通常使用base64对它进行编码。当给出两个Sig- natureMethod算法时,一个是应实现的,另一个是可选实现的,用户可以使用自己定义的算法。 模式定义: < elementname="SignatureValue"type="ds:SignatureValueType"/ > < complexTypename="SignatureValueType" > < simpleContent > < extensionbase="base64Binary" > < attributename="Id"type="ID"use="optional"/ > < /extension > < /simpleContent > < /complexType > 文档类型定义: Id ID #IMPLIED > 6.4 SignedInfo元素 6.4.1 概述 SignedInfo元素结构包括规范化算法,签名算法和一个或者多个引用。SignedInfo元素可以包含 一个可选的ID属性,供其他签名或者对象来引用。 SignedInfo不包括显式的签名或者摘要属性(例如处理时间,加密设备序列号等),如果应用程序需 要给签名和摘要关联上属性信息,可在Object元素内加上SignatureProperties元素。 模式定义: < elementname="SignedInfo"type="ds:SignedInfoType"/ > < complexTypename="SignedInfoType" > < sequence > < elementref="ds:SignatureMethod"/ > < elementref="ds:Reference"maxOccurs="unbounded"/ > < /sequence > < attributename="Id"type="ID"use="optional"/ > < /complexType > 文档类型定义: SignatureMethod, Reference+) > < ATTLISTSignedInfo Id ID #IMPLIED > 实现应支持必要的规范化算法。 可选用需要的规范算法,若不明确指定,缺省的规范化算法是CanonicalXML。 对SignedInfo元素的呈现与规范化算法本身有关。下面的步骤适用于处理XML节点的算法: 基于XML的规范化实现,实现带有一个XPath节点集合,节点集合源于包含SignedInfo的文档, 并指明当前的SignedInfo,它的后代、属性、SignedI......