1、中华人民共和国国家标准用于行政商业和运输业电子数据交换的应用级语法规则语法版本号第部分批式电子数据交换安全规则真实性完整性和源抗抵赖性发布实施国家质量技术监督局发布前言本标准等同采用用于行政商业和运输业电子数据交换的应用级语法规则语法版本号第部分批式电子数据交换安全规则真实性完整性和源抗抵赖性系列标准在用于行政商业和运输业电子数据交换的应用级语法规则语法版本号的总标题下包括下列个部分第部分各部分公用的语法规则及每部分的语法服务目录第部分批式电子数据交换专用的语法规则第部分交互式电子数据交换专用的语法规则第部分批式电子数据交换语法和服务报告报文报文类型为第部分批式电子数据交换安全规则真实性完整性
2、和源抗抵赖性第部分安全鉴别和确认报文报文类型为第部分批式电子数据交换安全规则保密性第部分电子数据交换中的相关数据第部分密钥和证书管理报文报文类型为第部分交互式电子数据交换安全规则将来还有可能增加新的部分对应于第四版它的发布与实施不影响我国年根据制定的国家标准本标准的附录附录是标准的附录附录附录附录附录附录附录是提示的附录本标准由中华人民共和国国家信息化办公室提出本标准由全国文件格式和数据元标准化技术委员会全国信息技术标准化技术委员会归口本标准起草单位中国标准化与信息分类编码研究所电子工业部标准化研究所本标准主要起草人李颖吴志刚胡涵景张荣静王颜尊魏宏刘碧松前言国际标准化组织是一个世界性的各国标准
3、机构国家成员体联盟国际标准的制定工作一般通过技术委员会完成对某个已建立的技术委员会的项目感兴趣的每个成员体有权对该技术委员会表述意见任何与有联络关系的官方和非官方的国际组织都可直接参与制定国际标准与国际电工委员会在电工技术标准的所有领域密切合作由技术委员会正式通过的国际标准草案在被理事会接受为国际标准之前须分发到各成员体进行表决按照的工作程序在得到至少的成员体投票赞成之后该标准草案才成为国际标准本国际标准第四版由联合国欧洲经济委员会第四工作组起草作为的组成部分由行政商业和工业中的单证和数据元通过快速表决程序采纳为现行标准在联合国用于行政商业和运输业电子数据交换的应用级语法规则的总标题下由下列几
4、部分组成各部分公用的语法规则及每部分的语法服务目录批式电子数据交换专用的语法规则交互式电子数据交换专用的语法规则批式电子数据交换语法和服务报告报文报文类型为批式电子数据交换安全规则真实性完整性和源抗抵赖性安全鉴别和确认报文报文类型为批式电子数据交换安全规则保密性电子数据交换中的相关数据密钥和证书管理报文报文类型为交互式电子数据交换安全规则将来还有可能增加新的部分在本标准中附录和附录是标准的附录是本标准不可分割的组成部分引言根据批式或交互式处理的需求本标准包含了用于结构化在开放环境中交换的电子报文中的数据的应用级规则联合国欧洲经济委员会已经同意把这些规则作为用于行政商业和运输业电子数据交换的应用
5、级语法规则这些规则是联合国贸易数据交换目录的一部分还包含批式和交互式报文设计指南通讯规范及协议不在本标准的范围之内本标准是的一个新增部分它提供了一种保护批式结构即报文包组或交换的可选能力中华人民共和国国家标准用于行政商业和运输业电子数据交换的应用级语法规则语法版本号第部分批式电子数据交换安全规则真实性完整性和源抗抵赖性国家质量技术监督局批准实施范围本标准规定了用于安全的语法规则本标准阐述了根据所建立的安全机制为报文包级组级和交换级安全提供真实性完整性和源抗抵赖性的方法一致性与一个标准一致意味着支持其所有需求包括所有选项如果不是所有选项都被支持则任何一致性声明都应包含一个说明用于标识那些被声明为
6、与其一致的选项如果所交换的数据的结构和表示符合本标准中规定的语法规则则这些数据处于一致性状态当支持本标准的设备能创建和或解释其结构和表示与本标准一致的数据时这些设备处于一致性状态与本标准的一致应包含与和的一致当在本标准中标识出在相关标准中定义的条款时这些条款应构成一致性判定条件的组成部分引用标准下列标准所包含的条文通过在本标准中引用而构成为本标准的条文本标准出版时所示版本均为有效所有标准都会被修订使用本标准的各方应探讨使用下列标准最新版本的可能性数据元和交换格式信息交换日期和时间表示法信息处理系统开放系统互连基本参考模型第部分安全体系结构信息技术通用多八位编码字符集第部分体系结构与基本多文种平
7、面信息技术开放系统互连目录第部分鉴别框架信息技术安全技术密钥管理第部分框架信息技术开放系统互连开放系统的安全框架第部分概述信息技术开放系统互连开放系统的安全框架第部分鉴别框架信息技术开放系统互连开放系统的安全框架第部分抗抵赖性框架信息技术开放系统互连开放系统的安全框架第部分完整性框架定义本标准采用的定义见的附录批式的安全头段组和安全尾段组的使用规则报文包级安全集成报文包安全附录和附录描述了与报文包传送有关的安全威胁及针对这些威胁的安全服务本条描述报文包级安全的结构本标准描述的安全服务对于任一现有的报文应通过在段后紧跟安全头段组和在段前加入安全尾段组来提供对于任一现有的包应通过在段后紧跟安全头段
8、组和在段前加入安全尾段组来提供安全头段组和安全尾段组图描述了表示报文级安全的一个交换图表示报文级安全的一个交换示意图图描述了表示包级安全的一个交换图表示包级安全的一个交换示意图安全头段组和安全尾段组的结构见表表表安全头段组和安全尾段组的段表报文级安全标记名称状态最大次数报文头段组安全头安全算法段组证书安全算法安全结果报文体段组安全尾安全结果报文尾表安全头段组和安全尾段组的段表包级安全标记名称状态最大次数客体头段组安全头安全算法段组证书安全算法安全结果客体段组安全尾安全结果客体尾注报文头报文尾客体头和客体尾在中规定本标准对它们不做进一步说明用于安全头段组和安全尾段组的段和数据元的完整目录规范见附
9、录数据段说明段组安全头段组本段组标识了所采用的安全服务和安全机制并包含了执行确认计算所需的数据如果对报文包采用不同的安全服务如完整性和源抗抵赖性或几个参与方采用了相同的安全服务则在同一报文包中可以有几个不同的安全头段组安全头本段规定了应用于包含本段在内的报文包的安全服务与该安全服务有关的各参与方即安全数据元发起方和安全数据元接受方可在本段中标识除非在采用非对称算法时它们被无歧义地用证书即段标识在下述情况之一出现时应在段中使用复合数据元安全标识细目采用对称算法采用非对称算法时为区别安全发起方证书和安全接受方证书而提交两个证书在后一种情况下中的参与方标识数据元中的任一个应与在段组的段中出现的某个中
10、被限定为证书持有者的参与方标识相同同时数据元应标识所涉及的参与方的功能即发起方或接受方复合数据元安全标识细目中的数据元密钥名称可用来在发送方和接收方之间建立密钥关系该密钥关系也可通过使用段组的段中的复合数据元算法参数中的数据元密钥标识来建立如果不需要传送段组中的段因为加密机制已事先在参与方间商定可使用段中的然而在同一安全头段组中本标准强烈推荐使用中的或中带有限定符的中的一个而不是两个都使用段可规定用于段组中段以及相应的安全尾组中的段的二进制区的过滤函数段可包含一个用于提供顺序完整性的安全顺序号和安全元素的创建日期安全算法本段标识了安全算法及该算法的用法并包含了所需的技术参数该算法应是直接应用于
11、报文包的算法该算法可以是对称算法散列函数或压缩算法例如对数字签名而言该算法指明所使用的与报文相关的散列函数非对称算法不应直接在段组中的段内引用只可在由段触发的段组中出现段允许出现三次一次用于提供段中规定的安全服务所需的对称算法或散列函数其余两次在中描述需要时可使用填充机制指示段组证书组当使用非对称算法时本段组包含了用来验证应用于报文包的安全方法所需的数据当采用非对称算法来标识所使用的非对称密钥对时即使不使用证书也应使用证书段组在段中应给出整个证书段组包括段或只用于无歧义地标识所使用的非对称密钥对所需的数据元如果两个参与方已经交换了证书或如果证书可从数据库中获得则可避免整个证书的出现当决定引用非
12、证书诸如时应在段的数据元中标识该证书的语法和版本这样的证书可在包中传送本段组允许出现两次一次用于报文包的发送方证书报文包的接收方将用它来验证发送方的签名另一次则是在发送方为了对称密钥的保密性而使用接收方公开密钥的情况下用于报文包的接收方证书只用证书参考引用如果在同一个安全头段组中该段组出现两次则可用复合数据元安全标识细目和数据元证书参考将它们区分开来如果不使用非对称算法该段组应被省略证书本段包含证书持有者的凭证并标识生成该证书的认证机构代码型数据元过滤函数应标识用于段组的段和段的二进制区的过滤函数段中的可以出现两次一次用于证书持有者识别使用包含于本证书内的公开密钥相对应的私有密钥进行签名的那一
13、方另一次用于证书发布者认证机构安全算法本段标识了安全算法及该算法用法并包括所需的技术参数在段组中段可出现三次分别标识证书发布者用于计算证书的散列值的算法散列函数证书发布者用于生成证书即签署根据证书内容计算出的散列函数的结果的算法非对称算法发送方用于签署报文包即签署根据证书内容计算出的散列函数的结果的算法非对称算法或发送方使用的接收方非对称算法非对称算法该算法用来加密应用于报文包内容的对称算法所需的密钥并且这个密钥在由段触发的段组中被引用需要时可使用填充机制指示安全结果本段包含了认证机构应用于证书的安全功能的结果该结果应是由认证机构通过签署根据凭证数据计算出的散列结果而得出的证书的签名对证书而言
14、签名计算始于段的第一个字符即终于最后一个段的最后一个字符包括紧随该段的分隔符段组安全尾组本段组包含与安全头段组的链接和应用于报文包的安全功能的结果安全尾本段在安全头段组与安全尾段组间建立一个链接并说明了包含在这些组中安全段的数目安全结果本段包含应用于报文包的安全功能的结果这些安全功能是在被链接的安全头段组中规定的根据在被链接的安全头段组中规定的安全机制该结果应为下列两种结果之一根据在安全头段组的段组中的段中指明的算法直接对报文包进行计算而得出的结果通过用非对称算法签署散列结果而计算出来的结果其中非对称算法在安全头段组的段组中的段中指明散列结果是根据在安全头段组的段组中的段中指明的算法对报文包进
15、行计算而得出的安全应用的范围安全应用的范围有两种可能性每个完整性值鉴别值及数字签名的计算始于当前的安全头段组并包含当前的安全头段组和报文体客体本身在这种情况下安全应用的范围不应包括其他的安全头段组或安全尾段组安全头段组始于第一个字母终于结束该安全头段组的分隔符报文体客体始于结束最后一个安全头段组的分隔符之后的第一个字符终于第一个安全尾段组的第一个字符前的分隔符因此以这种方式集成的安全服务的执行顺序未被规定它们彼此间完全独立图描述了上述这种情况在安全头段组中定义的安全服务的应用范围用阴影框表示安全头段组安全头段组安全头段组报文体客体安全尾段组安全尾段组安全尾段组图应用范围仅为安全头段组和报文体包
16、示意图计算始于当前的安全头段组并包含当前的安全头段组和有关的安全尾段组在这种情况下安全应用的范围应包括当前的安全头段组报文体客体以及其他所有被嵌入的安全头段组和安全尾段组该范围应包括从当前的安全头段组的第一个字符到有关的安全尾段组的第一个字符之前的分隔符的每一个字符图描述了上述这种情况在安全头段组中定义的安全服务的应用范围用阴影框表示安全头段组安全头段组安全头段组报文体客体安全尾段组安全尾段组安全尾段组图应用范围从安全头段组到安全尾段组示意图对每个新增的安全服务可选择上述两种范围中的一个在上述两种情况中安全头段组和有关的安全尾段组之间的关系应由和段中的数据元安全参考号提供使用原理服务的选择安全
17、头段组可包含下列通用信息所应用的安全服务有关的参与方的标识所使用的安全机制唯一的值顺序号和或时间标记接收的抗抵赖性请求当同一结构需要多种安全服务时安全头段组可以出现多次这就是涉及多对参与方的情况但是当同一对参与方需要多个安全服务时这些服务可以含于一对安全头段组和安全尾段组之中就好像某个服务隐含于其他服务中一样真实性如果结构要求源鉴别服务则应使用一对适当的安全头段组和安全尾段组并根据规定的原理提供该项服务源鉴别安全服务应在段组的段中规定算法则在该段组的段中标识安全发起方应计算在安全尾段组中的段中传送的真实性值安全接受方应查证该真实性值如果基于防拆硬件或可信第三方实施适当的源鉴别服务则可把它当作一
18、个源抗抵赖性服务的实例这样的作法应在交换协定中予以明确完整性如果结构要求内容完整性服务则应使用一对适当的安全头段组和安全尾段组并根据规定的原理提供该项服务完整性安全服务应在段组的段中规定算法则在段组的段中标识该算法应是散列函数或对称算法安全发起方应计算在安全尾段组中的段中传送的完整性值安全接受方应查证该完整性值完整性服务可以通过源鉴别服务或源抗抵赖性服务的副产品的形式获得如果需要顺序完整性服务则应在安全头段组中或者包含安全顺序号和安全时间标记的两者之一或者包含这两者同时还应使用内容完整性服务源鉴别服务和源抗抵赖性服务中的一个源抗抵赖性如果结构要求源抗抵赖性服务则应使用一对适当的安全头段组和安全
19、尾段组并根据中规定的原理提供该项服务源抗抵赖性安全服务应在段组的段中规定散列算法则在段组中的段中标识如果使用证书还应在段组的段中标识用于签名的非对称算法如果证书不在报文包中传送接收方应知晓所采用的算法为非对称算法在这种情况下该非对称算法应在交换协定中明确安全服务发起方应计算在安全尾段组的中传送的数字签名安全服务接受方应查证该数字签名值源抗抵赖性服务还能提供内容完整性和源鉴别服务符合语法的内部表示法和过滤器采用数学算法计算完整性数值和数字签名带来两个问题第一个问题是计算结果依赖于字符集的内部表示这样发送方数字签名的计算及接收方对该签名的验证就应使用同一字符集编码来完成因此发送方可以指明用于生成原
20、始的安全确认结果的表示法第二个问题是安全的计算结果类似随机的位模式这可能会导致在传输期间和使用翻译软件时出现问题为避免这些问题利用过滤函数将位模式可逆地映射到所使用的字符集的特定的表示法上为简单起见每个安全服务只使用一个过滤函数这个映射的结果中所出现的异常终止符通过加入一个转义序列来处理批式的交换和组的安全头段组和安全尾段组的使用规则组级和交换级的安全集成的报文安全与报文包传送相关的安全威胁及针对这些威胁的安全服务见附录和附录也适用于组级和交换级在前一章描述的用于报文包的安全技术也可用于交换级和组级就组级和交换级安全而言应采用与报文包级安全中相同的安全头段组和安全尾段组即使安全应用于多个以上的
21、级上头尾交叉引用应总是应用于同一级在报文包级应用安全时被保护的结构是报文体或客体在组级时是该组中包括所有报文包的头和尾在内的所有报文包的集合在交换级时是该交换中包括所有报文包或组的头和尾在内的所有报文包或交换的集合安全头段组和安全尾段组图描述了同时含有交换级安全和组级安全的一个交换图同时含有交换级安全和组级安全的一个交换示意图安全头段组和安全尾段组的结构见表表表安全头段组和安全尾段组段表仅为交换级安全标记名称状态最大次数交换头段组安全头安全算法段组证书安全算法安全结果组或报文包段组安全尾安全结果交换尾表安全头段组和安全尾段组段表仅为组级安全标记名称状态最大次数组头段组安全头安全算法段组证书安全
22、算法安全结果报文包段组安全尾安全结果组尾注交换头交换尾组头和组尾在中规定因而不在本标准中作进一步的描述段和数据元的完整目录规范见附录安全应用的范围安全应用的范围有两种可能性每个完整性值鉴别值及数字签名的计算始于当前的安全头段组并包含当前的安全头段组和组包本身在这种情况下安全应用的范围不应包括其他的安全头段组或安全尾段组安全头段组始于第一个字母终于结束该安全头段组的分隔符组或报文包始于结束最后一个安全头段组的分隔符之后的第一个字符终于第一个安全段组的第一个字符前的分隔符因此以这种方式集成的安全服务的执行顺序未被规定它们彼此间完全独立图和图描述了上述这种情况在安全头段组中定义的安全服务的应用范围用
23、阴影框表示安全头段组安全头段组安全头段组组或报文包安全尾段组安全尾段组安全尾段组图应用范围仅为安全头段组和组或报文包示意图安全头段组安全头段组安全头段组报文包安全尾段组安全尾段组安全尾段组图应用范围仅为安全头段组和报文包示意图计算始于并包含当前的安全头段组终于有关的安全尾段组在这种情况下安全应用的范围应包括当前的安全头段组组或报文包以及其他所有被嵌入的安全头段组和安全尾段组该范围应包括从当前的安全头段组的第一个字符到有关的安全尾段组的第一个字符之前的分隔符的每一个字符图和图描述了上述这种情况在安全头段组中定义的安全服务的应用范围用阴影框表示安全头段组安全头段组安全头段组组或报文包安全尾段组安全
24、尾段组安全尾段组图应用范围从安全头段组到安全尾段组示意图安全头段组安全头段组安全头段组报文包安全尾段组安全尾段组安全尾段组图应用范围从安全头段组到安全尾段组示意图对每个新增的安全服务可选择上述两种范围中的一个在上述两种情况中安全头段组和有关的安全尾段组之间的关系应由和段中的数据元安全参考号提供附录标准的附录定义非对称算法一种使用公开密钥和私有密钥的密码算法鉴别见数据源鉴别证书用户的公开密钥连同其他相关信息并由认证机构用私有密钥进行签名使其不可伪造认证机构受一个或多个用户信任的负责创建和分发证书的机构保密性信息不泄露给未被授权的个人实体或进程或不为其所用的特性凭证用于为一个实体建立所声明的身份的
25、数据密码学一门包括了对数据进行变换的原理手段和方法的学科其目的是隐藏它的数据内容防止对它进行篡改和或未被授权地使用数据完整性数据没有遭受到以未被授权的方式进行的篡改或破坏的特性数据源鉴别用于确认接收到的数据的源与所声明的一致解密处理见解密解密与一个可逆的加密过程对应的逆过程数字签名附加到数据单元上的一些数据或是对数据单元所作的一种密码变换见密码学这种数据或密码变换允许数据单元的接收方用以确认数据单元的源和数据单元的完整性并保护数据以免被人如接收方进行伪造加密对数据进行密码变换见密码学以产生密文加密处理见加密过滤把含有任意位模式的八位位组转换为语法能支持的字符集的八位位组的过程散列函数把值从一个
26、大可能很大的区域映射到一个小的区域的数学函数一个好的散列函数是指该函数的结果应能均匀地而且随机地分布在由函数产生的值域中完整性见数据完整性密钥控制加密和解密操作的一个符号序列抗抵赖性在一次通信中涉及的那些实体之一不承认参加了该通信的一部分或全部私有密钥在公开密钥密码体制中用户密钥对中只能由该用户知道的那个密钥公开密钥在公开密钥密码体制中用户密钥对中为公众所知的那个密钥秘密密钥用于对称密码技术并只能由一组特定实体使用的密钥对称算法加密和解密或鉴别和确认都采用同一密钥值的一种密码算法威胁一种潜在的对安全的侵害附录标准的附录语法服务目录段复合数据元和简单数据元段目录段规范说明功能段的功能位置段表中的
27、独立数据元或复合数据元的顺序位置号标记段目录中的所有服务段的标记以字母开头所有服务复合数据元的标记以字母开头所有服务简单数据元的标记以数字开头名称复合数据元的英文名称用大写字母表示独立数据元的英文名称用大写字母表示成分数据元的英文名称用小写字母表示状态段中的独立数据元或复合数据元的状态表示必备型表示条件型或复合数据元中的成分数据元的状态最大次数独立数据元或成分数据元在段中出现的最大次数表示复合数据元中的独立数据元或成分数据元的数据值表示字母字符数字字符字母数字字符位字母字符定长位数字字符定长位字母数字字符定长最多为位字母字符最多为位数字字符最多为位字母数字字符从属性注释标识符代码名称有一项且仅
28、有一项全有或全无有一项或多项有一项或无如果第一项有则全有如果第一项有则至少有一项如果第一项有则其他项全无从属性注释标识符的定义见的按段标记字母顺序排列的段索引标记名称安全算法证书安全头安全结果安全尾按英文名称的字母顺序排列的段索引标记名称证书安全算法安全头安全结果安全尾段规范安全算法功能标识安全算法及该算法的用法并包含所需的技术参数位置标记名称状态最大次数表示注安全算法算法的使用代码型密码操作方式代码型操作方式代码表标识符算法代码型算法代码表标识符填充机制代码型填充机制代码表标识符算法参数算法参数限定符算法参数值注为一个参数提供了空间的实际最大次数取决于所使用的算法参数的顺序是任意的但在每种情
29、况下它的实际值由一个代码型的算法参数限定符限定证书功能传递公开密钥及其持有者的凭证位置标记名称状态最大次数表示注证书参考安全标识细目安全参与方限定符密钥名称安全参与方标识安全参与方代码表限定符安全参与方代码表负责机构代码型安全参与方名称安全参与方名称安全参与方名称证书语法和版本代码型过滤函数代码型源字符集编码代码型证书源字符集字符总表代码型用户权限级用于签名的服务字符用于签名的服务字符的限定符用于签名的服务字符安全日期和时间日期和时间限定符事件日期事件时间时差安全状况代码型取消原因代码型从属性注释如果第一项有则全有如果不使用整个证书包括段证书中只有数据元应是唯一的证书参考它由证书参考标识发布者
30、认证机构的或标识证书持有者的组成并包括其公开密钥名称在非的情况下证书数据元也应出现标识了公开密钥它或者是该证书持有者的公开密钥或者是与该证书发布者认证机构或签发证书所使用的私有密钥相关的公开密钥是在签署证书时证书的源字符集编码如果未规定该值该字符集编码应与字符集字符总表标准所标识的相一致是在签署证书时证书的源字符集编码如果未规定该值则默认值在交换头中定义当该证书被传送时将使用中定义的默认服务字符或如果使用了服务串通知则应是该段中定义的服务字符当证书被签署时该数据元可规定所使用的服务字符如果该数据元未被使用则服务字符为默认的服务字符表示与认证过程有关的日期和时间它有可能出现次一次是证书产生的日期
31、和时间一次是证书的有效期开始的日期和时间一次是证书的有效期截止的日期和时间一次是取消证书的日期和时间安全头功能规定了应用于结构即报文包组交换的安全机制位置标记名称状态最大次数表示注安全服务代码型安全参考号安全应用范围代码型应答类型代码型过滤函数代码型源字符集编码代码型安全提供者的作用代码型安全标识细目安全参与方限定符密钥名称安全参与方标识安全参与方代码表限定符安全参与方代码表负责机构代码型安全参与方名称安全参与方名称安全参与方名称安全顺序号安全日期和时间日期和时间限定符事件日期事件时间时差注如果数据元没有出现则默认的安全应用范围应是当前的安全头段组和报文体或客体是在对结构进行安全处理时该结构的
32、源字符集编码如果未规定该值则该字符集编码与段中的语法标识符字符总表所标识的编码相一致可以出现两次一次用于安全发起方另一次用于安全接受方可用于建立发送方和接受方之间的密钥关系可用作安全时间标记它是与安全相关的并且可以不同于任何可能出现在结构中其他地方的日期和时间它可用来提供顺序完整性安全结果功能包含安全机制的结果位置标记名称状态最大次数表示注确认结果确认值限定符确认值注对于需要用两个参数来表示结果的签名算法应出现两次对于签名只应出现一次对于签名应出现两次安全尾功能在安全头段组和安全尾段组间建立链接位置标记名称状态最大次数表示注安全参考号安全段的数目注的值应与相应的段中的的值相同复合数据元目录复合
33、数据元规范说明位置复合数据元中的成分数据元的顺序位置号标记复合数据元目录中的所有服务复合数据元的标记以字母开头所有服务简单数据元的标记以数字开头名称成分数据元的英文名称用小写字母表示状态复合数据元中的成分数据元的状态表示必备型表示条件型表示复合数据元中的成分数据元的数据值表示字母字符数字字符字母数字字符位字母字符定长位数字字符定长位字母数字字符定长最多为位字母字符最多为位数字字符最多为位字母数字字符说明复合数据元的描述从属性注释标识符代码名称有一项且仅有一项全有或全无有一项或多项有一项或无如果第一项有则全有如果第一项有则至少有一项如果第一项有则其他项全无从属性注释标识符的定义见的按标记的字母顺
34、序排列的复合数据元索引标记名称安全标识细目安全日期和时间安全算法算法参数用于签名的服务字符确认结果按英文名称的字母顺序排列的复合数据元索引标记名称算法参数安全算法安全日期和时间安全标识细目用于签名的服务字符确认结果复合数据元规范安全标识细目说明在安全过程中涉及的各参与方的标识位置标记名称状态最大次数表示注安全参与方限定符密钥名称安全参与方标识安全参与方代码表限定符安全参与方代码表负责机构代码型安全参与方名称安全参与方名称安全参与方名称从属性注释全有或全无安全日期和时间说明与安全相关的日期和时间位置标记名称状态最大次数表示注日期和时间限定符事件日期事件时间时差安全算法说明安全算法的标识位置标记名
35、称状态最大次数表示注算法的使用代码型密码操作方式代码型操作方式代码表标识符算法代码型算法代码表标识符填充机制代码型填充机制代码表标识符从属性注释如果第一项有则全有如果第一项有则全有如果第一项有则全有如果第一项有则全有如果第一项有则全有注操作方式的选择应根据所选定的算法数据元进行选择操作方式与算法的某些组合是不适宜的算法参数说明安全算法所需的参数位置标记名称状态最大次数表示注算法参数限定符算法参数值用于签名的服务字符说明计算签名时作为语法服务字符的字符标识位置标记名称状态最大次数表示注用于签名的服务字符的限定符用于签名的服务字符确认结果说明安全机制的应用结果位置标记名称状态最大次数表示注确认值限
36、定符确认值注的长度应由计算确认值的加密算法和应用于结果的过滤函数的特性来决定简单数据元目录简单数据元规范说明标记简单数据元目录中的所有服务简单数据元的标记以数字开头名称简单数据元的名称说明简单数据元的描述表示简单数据元的数据值表示字母字符数字字符字母数字字符位字母字符定长位数字字符定长位字母数字字符定长最多为位字母字符最多为位数字字符最多为位字母数字字符按标记排列的简单数据元索引标记名称安全服务代码型应答类型代码型过滤函数代码型源字符集编码代码型安全提供者的作用代码型安全参与方标识安全参与方代码表限定符安全参与方代码表负责机构代码型日期和时间限定符安全顺序号算法的使用代码型密码操作方式代码型算
37、法代码型算法代码表标识符算法参数限定符操作方式代码表标识符安全参考号证书参考密钥名称安全应用范围代码型证书源字符集字符总表代码型证书语法和版本代码型用户权限级用于签名的服务字符用于签名的服务字符限定符算法参数值确认值确认值限定符安全状况代码型取消原因代码型安全参与方限定符安全参与方名称安全段的数目填充机制代码型填充机制代码表限定符按英文名称的字母顺序排列的简单数据元索引标记名称算法代码表标识符算法参数限定符算法参数值算法代码型证书源字符集字符总表代码型证书参考证书语法和版本代码型密码操作方式代码型日期和时间限定符过滤函数代码型密钥名称操作方式代码表标识符安全段的数目源字符集编码代码型填充机制代
38、码表标识符填充机制代码型应答类型代码型取消原因代码型安全提供者的作用代码型安全应用范围代码型安全参与方代码表限定符安全参与方代码表负责机构代码型安全参与方标识安全参与方名称安全参与方限定符安全参考号安全顺序号安全服务代码型安全状况代码型用于签名的服务字符用于签名的服务字符限定符算法的使用代码型用户权限级确认值确认值限定符简单数据元规范本条只包含在其他部分中未定义的简单数据元安全服务代码型说明所使用的安全服务的规范表示应答类型代码型说明预期的来自接收方的应答类型的规范表示过滤函数代码型说明用于把任一位模式可逆地映射到一个有限的字符集上的过滤函数的标识表示源字符集编码代码型说明当应用安全机制时对经
39、安全处理的结构进行编码所使用的字符集的标识表示安全提供者的作用代码性说明与经安全处理的项相关的安全提供者的作用的标识表示安全参与方标识说明根据定义好的安全参与方记录安全过程中所涉及的参与方的标识表示安全参与方代码表限定符说明用于注册安全参与方的标识类型的标识表示安全参与方代码表负责机构代码型说明负责安全参与方注册的机构的标识表示日期和时间限定符说明日期和时间类型的规范表示安全顺序号说明给经安全处理的结构所分配的顺序号表示注该顺序号是与安全相关它可以不同于可能出现于结构其他地方的结构标识当需要顺序完整性时可使用它算法的使用代码型说明由算法所产生的用法的规范表示密码操作方式代码型说明用于算法的操作
40、方式的规范表示算法代码型说明算法的标识表示算法代码表标识符说明用于标识算法的代码表的规范表示算法参数限定符说明参数值类型的规范表示操作方式代码表标识符说明用于标识密码操作方式的代码表的规范表示安全参考号说明由安全发起方给一对安全头和安全尾段组指定的唯一参考号表示注该值可以任意指定但在同一结构如交换组报文或包中不能再重复使用证书参考说明认证机构用来标识一个证书表示密钥名称说明用于建立参与方之间的密钥关系的名称表示安全应用范围代码型说明安全头中所定义的安全服务应用范围的规范表示注它定义了在相关加密过程中必须考虑的数据证书源字符集字符总表代码型说明签署证书时用于创建证书的字符集字符总表的标识表示证书
41、语法和版本代码型说明用于创建证书的语法和版本的代码型标识表示用户权限级说明与证书持有者相关的权限级的规范表示用于签名的服务字符说明计算签名时使用的服务字符表示注为了避免翻译问题该服务字符用其在源字符集编码数据元标识的字符集中的值表示对至少两个字符进行六层过滤例如如果使用即编码位编码页服务字符的编码为两个字符用于签名的服务字符限定符说明计算签名时使用的服务字符类型的标识表示算法参数值说明算法所需的参数的值表示注如果需要该值应由一个适当的过滤函数过滤注意密钥名称无须过滤确认值说明与规定的安全功能相对应的安全结果表示注如果需要该值应由一个适当的过滤函数过滤确认值限定符说明确认值类型的标识表示安全状况
42、代码型说明安全元素如密钥或证书状况的标识表示取消原因代码型说明取消证书的原因的标识表示安全参与方限定符说明安全参与方的作用的标识表示安全参与方名称说明安全参与方的名称表示安全段的数目说明当一对安全头尾组被用于加密时这对安全头尾组中的安全段的数目安全段数目应加上和段表示注每对安全头安全尾组中应包括在这对安全头安全尾组内的安全段数目的计数安全段的数目的计数应包括段填充机制代码型说明所用的填充机制或填充方案表示填充机制代码表标识符说明用来标识填充机制或填充方案的代码表的规范表示附录提示的附录的安全威胁和解决方案本附录描述了在报文包的发起方和接受方之间对报文包传送的一般安全威胁同时也描述了克服这些威胁
43、的一般方法在报文包组或者交换的任意级上这些威胁和解决方案都是适用的安全威胁通过电子媒体和电子手段存储和传送的报文包会面临一些威胁主要包括报文包内容未经授权的泄露虚假报文包的故意插入报文包的复制丢失或重放报文包内容的篡改报文包的删除发送方或者接收方对报文包责任的抵赖当未经授权而处理报文包的内容时这些威胁可能是有意地造成的或者当通信错误导致报文包内容的改变时这些威胁可能是无意地造成的安全解决方案基本服务和使用原则为了克服上述威胁一些安全机制已被标识这些机制利用一种或多种方法来达到安全目的当对报文包进行安全处理时重要的是要能够无歧义地标识所涉及到的各参与方安全发起方以下简称发送方在传输之前对报文包进
44、行安全处理安全接受方以后简称接收方对接收到的报文包进行核查这些参与方可以在安全段中识别如果使用非对称算法则此识别可借助证书即证书本身或证书参考来完成在开放系统中通常需要认证机构它是参与方在有限程度上信任的第三方负责用公开密钥来标识和注册所有用户这些识别信息通过证书传递给其他用户此证书是对报文签署数字签名该报文由用户标识信息和用户公开密钥组成在这种情况下信任纯粹是功能性的并不涉及秘密密钥或者私有密钥另一方面如果使用对称算法有关的参与方的标识应在安全发送方接收方名称字段中指明若干参与方均可对报文包进行安全处理如一个报文包可以有多个数字签名因此安全相关信息可被重复以便允许几个签名方或鉴别方的标识并相
45、应地包括几个数字签名或控制值下面给出了对报文包组或者交换进行安全处理的需求和技术顺序完整性顺序完整性防止对结构报文包组或者交换的复制增加删除丢失或者重放为了检测到丢失的报文包组或者交换发送方可以包括一个顺序号与两个参与方的报文流包流有关并由接收方对其进行核查发送方可请求并核查一个确认为了检测到增加或者复制的报文包组或者交换发送方可以包括一个顺序号并由接收方对其进行核查发送方可以包括一个时间标记并由接收方对其进行核查当使用顺序号时参与方之间要协商如何管理这些顺序号时间标记通常由发送方的系统产生这意味着同有纸贸易一样时间标记的初始精确性只受发送方的控制为了给出全面的保护时间标记或者顺序号的完整性由
46、下述其他功能中的一个来保证内容完整性内容完整性防止对数据的篡改这种保护可通过发送方加入一个完整性控制值的方法来获得该值可使用一个适当的加密算法来计算如一个更改检测码由于这个控制值本身没有被保护在控制值上附加一些保护措施是必要的如用一个单独途径传递控制值或者计算数字签名这实际上提供了源抗抵赖性另一方面使用报文鉴别码得到的源鉴别也隐含了内容完整性接收方使用相应的算法和参数计算接收到的数据的完整性控制值并将结果与实际收到的完整性控制值进行比较总之在中内容完整性通常可作为源鉴别或源抗抵赖性的副产品来获得源鉴别源鉴别保护接收方以防报文包组或者交换的实际发送方声明是另一被授权的参与方这种保护可通过加入一个
47、鉴别值如报文鉴别码来获得这个值不仅依赖于数据内容而且依赖于发送方持有的秘密密钥本服务包括内容完整性并可作为源抗抵赖性的副产品来获得在大多数情况下应至少采用源鉴别的服务源抗抵赖性源抗抵赖性保护报文包组或者交换的接收方以防发送方对所发送信息的抵赖这种保护可通过加入数字签名或者使用以防拆硬件或信任第三方的源鉴别的方式描述的函数来获得数字签名则可通过利用非对称算法和私有密钥对客体或数据的控制值如使用散列函数进行加密而获得数字签名可使用公开密钥验证此公开密钥与创建数字签名的私有密钥相对应该公开密钥可以包含在参与方签署的交换协定中也可以包含在认证机构数字签发的证书中证书可被作为结构中的一部分发送数字签名不
48、仅提供源抗抵赖性而且也提供内容完整性和源鉴别接收的抗抵赖性接收的抗抵赖性保护报文包组或者交换的发送方以防接收方对所接收信息的抵赖这种保护可通过接收方发送一个确认来实现此确认包括一个对原始结构中数据的数字签名该确认采用从接收方到发送方服务报文的形式内容保密性内容保密性防止对报文包组或者交换内容的非授权的读拷贝或者泄露这种保护可通过加密数据来实现使用带秘密密钥的对称算法完成加密发送方和接收方共享此密钥而且该秘密密钥可以通过使用接收方公开密钥的非对称算法进行加密后被传输保密性在中单独阐述安全服务间的相互关系正如已指出的有些服务在本质上包含其他服务这样就没有必要额外地包括已隐含获得的服务例如源抗抵赖性
49、隐含了内容完整性下表总结了这些相互关系服务隐含的服务内容完整性源鉴别源抗抵赖性内容完整性是源鉴别是是源抗抵赖性是是是附录提示的附录如何保护结构下面是为了实现结构如报文包组或者交换的安全而采取的一些较为基本的步骤要了解进一步的细节和原则性解释请参考本标准的附录和第一步与业务伙伴共同确定安全服务的要求下面再次列出环境中可利用的安全服务而且为了防范已标识出的威胁在业务关系中明确需要哪些服务显得尤为重要通常这些需求能够通过审计请求在内部或外部加以定义发送方可采用的基本安全服务如下内容完整性源鉴别源抗抵赖性这些服务不是独立的因此不必另外包含由其他服务已隐含实现的服务例如源抗抵赖性服务隐含了内容完整性在附录的中相互关系表中归纳了这些关系因此发送方最多可选择三个服务中的一个接收的抗抵赖性是由接收方发起的服务该服务可由发送方明确请求或者在交换协定中规定用于传递接收确认的报文已制定出双边协定第三方如果要集成安全服务必须同各业务伙伴制定附加的协定有许多不同的方法可供使用这里仅简述两种极端情况下的方法最小的需求应是每个参与方就安