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、数认证机构公开密钥指数算法参数限定符算法参数值算法参数认证机构公开密钥模数长度算法参数限定符算法参数值安全算法证书持有者的加密函数安全算法算法的使用代码型加密的操作方式代码型算法代码型算法参数持有者公开密钥模数算法参数值算法参数持有者公开密钥指数算法参数限定符算法参数值算法参数持有者公开密钥模数长度算法参数限定符算法参数值安全结果确认结果确认值限定符确认值数据加密头位组数据长度加密参考号填充位组数表完标记名称状态最大次数保密性例保密性例保密性例注安全化的数据结构报文体客体报文包段组加密数据尾位组数据长度加密参考号每个安全服务一个安全尾安全参考号安全段数注这两个结构必须有相同出现数填充仅应用于规定加密算法的段填充位组数仅作为示例