• 727.52 KB
  • 2022-04-22 13:50:41 发布

GBT27929-2011银行业务采用对称加密技术进行报文鉴别的要求.pdf

  • 29页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'ICS35.240.40A11蘑雪中华人民共和国国家标准GB/T27929--201银行业务采用对称加密技术2011-12-30发布进行报文鉴别的要求Banking--Requirementsformessageauthenticationusingsymmetrictechniques(IS016609:2004,MOD)2012-05-01实施宰瞀髅紫瓣警糌瞥星发布中国国家标准化管理委员会促111 标准分享网www.bzfxw.com免费下载目次GB/T27929--2011前言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···⋯⋯⋯⋯···⋯⋯⋯⋯⋯⋯ⅢgI言-··⋯⋯⋯-----····⋯⋯⋯·····-⋯⋯⋯⋯····⋯⋯··⋯⋯⋯⋯⋯⋯⋯·--······-·⋯⋯·⋯⋯·····-·⋯⋯一Ⅳ1范围⋯---·-·⋯⋯⋯⋯···-··--·⋯--·⋯⋯⋯·--·····--·-···⋯⋯····-----·····⋯⋯·····⋯-·-⋯⋯⋯⋯·----⋯12规范性引用文件⋯⋯···⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯····⋯一13术语和定义⋯⋯··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14保护⋯⋯··----⋯⋯---·-····⋯⋯···⋯··-·⋯-·-⋯⋯⋯·····⋯-······⋯⋯········-···-⋯⋯·⋯···---⋯⋯·”45报文鉴别过程⋯⋯⋯⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯······⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯56核准的MAC算法⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯····⋯⋯⋯⋯⋯一6附录A(规范性附录)核准的报文鉴别用分组密码算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9附录B(资料性附录)编码字符集的报文鉴别⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯·11附录C(资料性附录)编码字符集报文鉴别的示例·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··15附录D(资料性附录)标准电传格式的报文鉴别框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯19附录E(资料性附录)使用MID防重复和丢失保护⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21附录F(资料性附录)伪随机数发生器⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-·22附录G(资料性附录)会话密钥导出⋯⋯···⋯⋯⋯⋯⋯⋯··⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··⋯⋯⋯·23附录H(资料性附录)一般指导信息⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···z4参考文献⋯⋯⋯⋯⋯⋯·⋯···⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···25 标准分享网www.bzfxw.com免费下载刖昌GB/T27929--2011本标准修改采用ISO16609:2004<(银行业务采用对称加密技术进行报文鉴别的要求》(英文版)。本标准根据ISO16609:2004重新起草,与IsO16609:2004的技术性差异为:a)将标准原文中的“T-DEA”按照我国通常习惯修改为“3一DEA”;b)在A.4.1中,将“为加入本标准而提出的可选鉴别算法应由国家标准机构提交给ISO/TC68,或征得国家标准机构的同意后提交给ISO/TC68”修改为“为加入本标准而提出的可选鉴别算法应由国家标准机构提交给国家密码相关管理部门,或征得国家标准机构的同意后提交给国家密码相关管理部门”;c)在A.4.4提到算法时,将“按照IEC/ISO相关程序对其进行评估”修改为“按照国家相关程序对其进行评估”;d)在A.4.5中,将“每个新提案应由ISO审查”修改为“每个新提案应由国家相关机构审查”,本段中“以及提出的算法是否符合国际标准的条件及要求”修改为“以及提出的算法是否符合国内标准的条件及要求”;e)在A.4.7申诉程序中,将“提案被拒绝时(见A.4.5),若该提案尚未进行公开审核,发起人可要求IsO/Tc68秘书处就该提案进行公开审核(见A.4.6)。如果已进行公开审核且仍被拒绝,则发起人可要求TC68秘书处将申请连同有关审核报告的备份提交技术委员会的P成员进行表决,表决采用多数通过原则。循环审查该提案。其投票的简单多数通过即为最终结果”修改为“提案被拒绝时(见A.4.5),发起人可要求国内相关机构就该提案进行审核(见A.4.6),审核结果即为最终结果”。为便于使用,本标准还做了下列编辑性修改:a)将原文中的“本国际标准”改为“本标准”;b)删除ISO16609:2004的前言,修改了ISO16609:2004的引言。本标准的附录A为规范性附录,附录B--附录H为资料性附录。本标准由中国人民银行提出。本标准由全国金融标准化技术委员会(sAC/TC180)归口。本标准负责起草单位:中国金融电子化公司。本标准参加起草单位:中国人民银行、中国工商银行股份有限公司、中国银行股份有限公司、交通银行股份有限公司、中国银联股份有限公司、华北计算技术研究所、北京工商大学、中国人民银行太原中心支行。本标准主要起草人:王平娃、陆书春、李曙光、吕毅、杨颖莉、刘运、全红、林中、张启瑞、刘先、仲志晖、李彦智、周亦鹏、李劲松、钱湘隆、赵志兰、贾树辉、马小琼、景芸、刘志军、张龙龙。Ⅲ 标准分享网www.bzfxw.com免费下载GB/T27929--2011引言报文鉴别码(MAC)是用于验证报文真实性的一个数据域。它由报文的发送方产生且与报文一起传送。通过验证MAC,接收方能够检测报文是否被改变以及改变是由意外还是故意欺诈引起。本标准适用于与银行业务相关的金融机构希望以安全且有利于双方互操作的方式进行报文鉴别的情况。本标准与被替代的ISO8730和ISO9807中规定的要求相一致。Ⅳ 标准分享网www.bzfxw.com免费下载1范围银行业务采用对称加密技术进行报文鉴别的要求GB/T27929--2011本标准规定了用于保护银行业务报文的完整性和验证报文来源的过程,该过程与所使用的传输过程无关。本标准也给出了使用分组密码进行银行业务报文鉴别的方法。此外,由于通信双方有必要采用相同的数据表示形式,因此本标准中定义了几种数据表示方法。本标准给出了已核准的计算报文鉴别码(MAC)的分组密码列表,也给出了核准附加分组密码的方法。本标准中定义的鉴别方法适用于以编码字符集和二进制形式进行格式化及传输的报文。本标准适用于发送方和接收方采用相同密钥的对称算法,未规定生成共享密钥的方法,也未提供防止报文受到未授权泄漏的加密过程。本标准的使用不能防止发送方和接收方的内部欺诈或者接收方伪造MAC。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。IsO8583产生报文的金融交易卡交换报文规范Is08732:1988银行业务密钥管理(批发)ISO/IEC9797—1:1999信息技术安全技术报文鉴别码第1部分:分组密码算法的使用ISO/IEC9797—2:2002信息技术安全技术报文鉴别码第2部分:哈希函数的使用Is0/IEC10116信息技术安全技术n比特分组密码运算模式IsO/IEc10118—3:1998信息技术安全技术哈希函数第3部分:专用哈希函数ISO11568—1银行业务密钥管理(零售)密钥管理介绍ISO11568—2:1994银行业务密钥管理(零售)对称密码的密钥管理技术ISO11568—3银行业务密钥管理(零售)对称密码的密钥生命周期IsO13491(所有部分)银行业务安全加密设备(零售)ANSIX3.92:1981美国信息技术国家标准数据加密算法ANSIX9.52:1998美国金融服务业国家标准三重数据加密算法工作模式3术语和定义3.13.2下列术语和定义适用于本文件。算法algorithm用于计算的特定数学过程或规则;遵循该过程或规则,能得到规定的结果。鉴别anthentication在发送方和接收方之间用于保证数据完整性并提供数据源鉴别的过程。 标准分享网www.bzfxw.com免费下载GB/T27929--20113.3鉴别算法authenticationalgorithm与一个鉴别密钥和一个或多个鉴别元素共同使用的用于鉴别的算法。3.4鉴别元素authenticationelement通过鉴别进行保护的报文元素。3.5鉴别密钥authenticationkey用于鉴别的密钥。3.6受益人beneficiary作为转账的结果而被贷记或被支付的最终方。3.7分组密码算法blockcipher能够将固定长度比特串和保密密钥映射到具有相同固定长度的其他比特串的算法。3.8偏差bias在产生随机数或伪随机数时,某些数出现的几率大大超过其他数的情况。3.9密钥周期cryptoperiod给定的时间周期,该周期中特定的密钥被授权使用或者在此周期中给定系统中的密钥有效。3.10密码分析cryptanalysis破解密码的技术和科学。3.11数据完整性dataintegrity数据没有被以未授权的方式更改或破坏的特性。3.12计算MAC日期(DMC)dateMACcomputed(DMC)发送方计算报文鉴别码的日期。注:DMC可用于通过选择合适的密钥来同步鉴别过程。3.13数据源鉴别dataoriginauthentication确认接收到的数据源与声明一致。3.14解密deciphermentdecryption加密的逆过程。3.15分隔符delimiter用于描绘数据域的开头和结尾的一组字符。3.16加密enciphermentencryption为产生密文(即隐藏数据信息内容),通过密码算法进行的(可逆的)数据变换。2 标准分享网www.bzfxw.com免费下载GB/T27929--20113.17十六进制数hexadecimaldigit在o~9、A~F(大写字母)范围内代表一个4比特串的单个字符。3.18鉴别密钥标识符(IDA)identifierforauthenticationkey(IDA)标识鉴别报文时所用的密钥的域。3.19报文鉴别码(MAC)messageauthenticationcode(MAC)MAC算法输出的比特串。3.20报文鉴别码(MAC)算法MACalgorithm密码校验函数用于将比特串和秘密密钥映射到固定长度比特串的函数的算法。注1:该算法应满足下述两个特性:——对于任一固定密钥和任一输人比特申,函数能被有效计算;——对于任一固定密钥,该密钥未知情况下,即使已知使用该固定密钥的函数的若干输人值和相应输出值.甚至可以自己选择输入值的情况下(已知前i个输入和输出,自己选择第i+1个输人),计算使用该固定密钥的对应于一个新的输入值(第i+1个)的函数输出值(第i+1个),在计算上是不可行的。注2:计算的可行性取决于用户的特定安全要求及环境。3.21报文元素messageelement为特定用途指定的一组连续字符。3.22报文标识符(MID)messageidentifier(MID)系统跟踪审计编号(已被替代)在给定范围(例如DMC)内,用以惟一标识金融报文或交易(例如,发送银行交易参考号)的域。注:在ISO8583中,MD为系统跟踪审计编号(STAN)。3.23报文正文messagetext在接收方和发送方之间传输的信息,不包括用于传送的头尾信息。3.24当前随机数nonce仅使用一次的序号。3.25接收方receiver接收报文的一方。3.26发送方sender对报文承担责任并被授权发送的一方。3.27起息日valuedate资金可由受益人进行支配的日期。3 标准分享网www.bzfxw.com免费下载GB/T27929--20114保护重要信息:完整性保护仅适用于被选择的鉴别元素,报文的其他部分可能受到未被察觉的更改。用户保证所提交数据的完整性是很重要的。4.1鉴别密钥的保护鉴别密钥是由发送方和接收方预先约定的用于鉴别算法中的秘密密钥。这些密钥应为确定的方式或伪随机方式产生的(见附录F和附录G)。用于鉴别的任何密钥应予以保护以防止泄露给未授权方。鉴别密钥的使用应仅限于发送方和接收方(或其授权代理)之间,并且仅用于鉴别目的。密钥应按ISO11568或ISO8732:1988的规定进行管理。如果MAC由安全密码设备计算得出,这样鉴别密钥可被很好的保护。该密钥仅在密码设备中为明文形式,且该设备应符合ISO13491中的规定。4.2鉴别元素MAC计算应包括要求保护以防止欺诈性变更的那些数据元素,这些数据元素由发送方和接收方之间协议规定。MAC计算中包含所有这些报文元素。根据双方协议,MAC计算中也可包括报文中未被传送的数据元素(例如:可由双方通过共享信息计算得到的填充比特或填充数据)。选择MAC中包括的数据取决于其特定应用。下述元素只要出现在报文中均应纳入到MAC计算中:a)交易金额;b)币种;c)鉴别密钥标识符(IDA);d)被贷记方或被借记方的标识符;e)受益方标识符;f)起息日;g)报文标识符;h)El期和时间ii)交易处理标识符。4.3重复或丢失文本的检测应采用适当技术检测重复或丢失。在不进行进一步的报文交换的情况下,如果能惟一标识交易,则接收方仅能检测到先前交易的重放,然后接收方应检测该惟一标识信息并未出现过。此外,为检测丢失文本,应按顺序对交易进行标识。上述条件可通过在MAC计算中包含某些元素(即,报文元素或密钥元素)实现,这些元素对于交易是惟一的且将该交易与前一交易惟一关联。可通过下述方式的任一种实现:a)在MAC计算中包含一个特定的交易参考号,该参考号在系统的生命期中是不重复的。例如该参考号可能包括发送方ID、接收方ID、交易号和日期;b)在MAC计算中包含报文标识符(MID)。在下述两种情况发生之前MID是不被重复的:·日期变更,即:计算MAc的日期(DMC),或;·用于鉴别的密钥加密周期的终止。不论哪种情况先出现。即,不能出现一个以上的具有同一日期和同一报文标识符并使用相同密钥4 标准分享网www.bzfxw.com免费下载GB/T27929--2011的报文。MID可以由固定格式报文中的惟一的发送行交易参考号组成。附录E给出了保护的方法。MID也可以包含DMC的日期或为一单独域。c)对一个交易使用惟一密钥,该密钥可以是:·从先前的交易密钥导出一个新的交易密钥(见ISO11568—2:1994的示例和附录G),或;·使用惟一的交易参考号导出密钥,见附录G。d)结合上述所有技术。5报文鉴别过程5.1准备阶段实施者应对应用进行风险评估以确定应保护的数据(见第4章)、要求的密钥长度和MAC算法,并就下述内容达成一致:——分组密码算法(如果MAC算法从IsO/IEc9797—1:1999中选出);——哈希函数(如果MAC算法由Is0/IEc9797—2:2002中选出);——填充方法(如果MAC算法由IsO/IEc9797—1:1999中选出);——MAC的比特长度;——密钥变更频率(该内容应将加密分析技术的当前情况考虑在内);——通用的密钥的导出方法(如果MAC算法要求)。附录A中给出了核准的分组密码算法。通信双方也应交换秘密的鉴别密钥。在全面理解潜在风险的管理和评估的基础上(见ISO13491),金融服务应用宜仅在很小心的情况下使用长度小于112比特的密钥,通常宜使用长度不小于112比特的密钥。采用112比特MAC算法密钥时,推荐使用ISO/IEC9797—1:1999中MAC算法1和算法3(见第6章)。发送方应使用选择的数据元计算MAC。MAC附加在传送的报文文本后,使其可被接收方识别。接收方应采用本章中给出的鉴别方法重新计算。如果收到的MAC和计算得出的MAC相等,则报文鉴别通过。执行者也应考虑6.3中给出的性能及效率特性。5.2报文格式发送方应采用接收方同意的方法格式化及编码报文。5.3密钥生成基于与接收方的双方协议,报文的发送方可能会为计算MAc而生成新的密钥。这种密钥的导出涉及交易和与报文相关的数据。附录F和附录G给出了密钥产生和导出的部分示例。5.4MAC生成报文的发送方应使用按双方约定的顺序排列的传送报文中的鉴别元素来生成(例如,以其在报文中出现的顺序)MAC,这些鉴别元素是那些要受已核准的鉴别算法(见第6章)保护的传输报文元素。算法应通过一鉴别密钥激活,该密钥仅由通信双方知晓。该过程产生的MAC应被包含在原始报文文本中。5 标准分享网www.bzfxw.com免费下载GB/T27929—20115.5MAC的放置MAC应放于:a)报文中为MAC指定的域,或;b)如果没有指定MAC域,附加在报文数据的尾部。若为了传输的目的,分配域的长度超过MAC长度时,则MAC应在该域内左对齐放置。5.6MAC校验接收方一接收到报文,应使用鉴别元素、同一鉴别密钥以及同一算法计算参考MAC。当接收方计算的参考MAC与在报文中接收到的MAC一致时,鉴别元素的内容和报文源的真实性得到确认。接收的MAC(及其分隔符)不应包含在算法计算中。MAC的计算受鉴别元素处理顺序不同的影响(即,MAC生成后鉴别元素顺序的变化将导致鉴别的失败)。6核准的MAC算法6.1ISO/IEC9797-1:1999概述6.1.1算法1到算法6MAC算法应为ISO/IEC9797—1:1999中规定的一种方法。本章给出了算法特性的解释以及这些算法与ISO8731和ISO9807替代标准中算法间的对应关系。ISO/IEC9797—1:1999中规定了采用秘密密钥和n比特分组密码算法计算m比特MAC的6种MAC算法。ISO/IEC9797—1:1999中规定的算法是基于分组密码操作模式的密码分组链接(CBC)给出的。注1:在ISO/IEC9797—1:1999附录B给出的安全分析提供了防止密钥伪造和密钥恢复攻击的实施建议。洼2:在ISO/1EC10116中给出了标准的n比特分组密码操作模式。——MAc算法1:采用单一密钥的CBC-MAC;——MAc算法2:算法1的变种,采用另一个密钥对算法1的计算结果进行一次附加的最终变换;——MAc算法3:算法1的变种,对算法1的计算结果进行两次附加变换,第1个变换采用另一个密钥,第2个变换采用与算法1相同的密钥;——MAc算法4:算法2的变种,在使用算法2计算前使用另一个密钥对数据进行一次初始变换,用算法2计算;——MAc算法5:先用2个不同的单一长度密钥分别对数据进行算法1计算,再将2个计算结果做逐比特异或;——MAc算法6:先用2个不同的密钥分别对数据进行算法4计算,再将2个计算结果做逐比特异或,其中算法4的计算采用双倍长度密钥。MAC机制的安全强度取决于密钥长度(以位表示)和保密性、分组密码的分组长度n(以位表示)和分组密码算法强度、MAC的长度m(以位表示)以及特定的MAC算法。6.1.2与替代标准的关系本条款给出了ISO/IEC9797—1:1999与其他目前已被废止的标准中规定的算法间的关系,见表1。6 表1ISO/IEC9797-1:1999与替代标准的关系GB/T27929--2011IsO/IEC9797—1:标准分组密码算法分组大小(n)填充方法MAC大小(优)1999算法IS8731—11DEA(ANSIX3.92:1981)64132[ANSIX9.93IS9807[ANSIX9.19]1或3DEA(ANSIX3.92:1981)641326.1.3最小密钥长度MAC应采用至少112比特的密钥(如果密钥长度不足112比特,可参考5.1的相关建议)。6.1.4推荐方法本条给出了ISO/IEC9797—1:1999推荐采用的方法,见表2。ISO/IEC9797—1:1999中给出了6种MAC算法,但针对金融服务业本标准推荐两种方法——采用3-DEA的算法1;——采用DEA的算法3。表2推荐方法ISO/IEC9797—1:分组密码算法分组大小(n)密钥长度MAC大小(卅)1999算法13一DEA(ANSIX9.52:1998)6411232≤m≤643DEA(ANSIX3.92:1981)6411232≤m≤64在ISO/IEC9797—1:1999附录B给出的安全分析提供了防止伪造和密钥恢复攻击的实施建议。如果采用算法1,则应采纳IsO9797—1:1999附录B中规定的步骤来防止xot伪造攻击。合适的防范措施是使用填充方法3。如果采用算法3,则应限制用同一密钥产生的MAC数量。为保证不对MAC产生设备的生命周期构成限制,推荐采用会话密钥(见附录G)。直接伪造:如果使用填充方法1,则对方可直接在数据串增加或删除一系列后缀‘0’而不改变MAC。这意味着填充方法1应仅用于数据串长度为双方预先可知的环境,或者具有不同数量后缀‘0’的数据串具有相同的语义。6.2ISO/IEC9797-2:2002概述ISO/IEC9797—2:2002中规定了三种使用密钥和产生n比特结果的哈希函数(或其轮函数)计算出m比特MAC的算法。该哈希函数选自IsO/IEc10118—3:1998标准(通常称为SHA一1、RIPEMD-160和RIPEMD-128)。报文鉴别机制的安全强度取决于密钥的长度(比特数)和密钥的保密性、哈希函数的长度n(比特数)及其算法强度、MAC的长度m(比特数)以及使用的指定算法。——哈希函数1:ISO/IEC9797—2:2002中规定的第1种算法,通常称为MDx-MAC。该算法调用一次完整哈希函数,但对轮函数进行了小的修改,即将一个密钥增加到轮函数的附加常量中;——哈希函数2:IsO/IEc9797—2:2002中规定的第2种算法,通常称为HMAC。它调用二次完整哈希函数;7 GB/T27929—2011——哈希函数3:ISO/IEC9797—2:2002中规定的第3种算法,是MDx-MAC的变种。该算法只允许输入短字符串(最大为256比特)。它为只输入短字符串的应用带来了更高效率。6.3实施建议在对Is0/IEc9797—1:1999和Is0/IEC9797—2:2002的机制进行选择时有一个简单的标准,即是否拥有该分组密码算法或哈希函数的实现。其他的标准决定严格的参数选择。例如,当使用DEA作为分组密码算法时会出现下述差别:——IsO/IEC9797—1:1999的机制通常比IsO/IEc9797—2:2002的机制慢,特别是软件方面;——IsO/IEC9797—1:1999的机制比IsO/IEC9797—2:2002的机制要求内存少;——ISO/IEC9797—2:2002的机制能提供较长的MAC(最大160比特);——IsO/IEC9797—2:2002的机制1和2所用的密钥比IsO/IEC9797—2:2002的机制i和2所用的短(单一56比特DEA的算法1不适用)。表3和表4给出了采用DEA和3-DEA作为基本分组密码算法的ISO/IEC9797-1:1999以及采用SHA-1/RIPEMD-160或RIPEDMD-128作为基础哈希函数的ISO/IEC9797—2:2002的相关性能特点。如果以3-DEA作为基本分组密码算法使用算法1(代替DEA),那么DEA计算量应增至3倍。在IsO/IEc9797—1:1999附录B中给出了所有MAC算法的安全性比较。表3采用DEA的iso/iEc9797-1:1999相关性能IS0/TEC用于评价报文大小的轮函数/分组密码数量9797—1:1999分组密码算法MAC大小MAC算法密钥长度1kB分组密码算法8字节64字节1DEA≤64561到28到9128到12923一DEA≤641122到39到10129到1303DEA≤641123到410刊11130到1314DEA≤641124到510到11130到1315DEA≤64562到416到18256到2586DEA≤641128到1020到22260到262注:后三列值的范围取决于所用的填充方法。表4ISO/IEC9797-2:2002相关性能用于评价未填充报文大小的轮函数数量ISO/TEE9797—2:哈希函数MAc大小密钥长度2002算法8字节64字节1kB1SHA-I或RIPEMD-160≤160≤12889241RIPEMD一128≤12889242SHA-1或RIPEMD-160≤160160⋯51245202RIPE^Ⅱ卜128≤128128⋯51245203SHA-1或RIPEMD-160≤80≤1287n/a./a3RIPEN口D一128≤64≤1287./an/a洼1:对于一固定密钥,中算法1和3的预计算可节省6个哈希计算。注2:算法3的报文长度限制为最大32个字节。 A.1介绍附录A(规范性附录)核准的报文鉴别用分组密码算法GB/T27929--2011ISO/IEC9797—1:1999给出了6种基于分组密码的MAC算法,但对分组密码算法本身未做规定。本附录目的是直接或通过引用来指定给出ISO/IEC9797—1:1999核准的分组密码算法。本标准也规定了将分组密码算法纳入该附录中的程序。A.2核准的分组密码算法:DEADEA见ANSIX3.92:1981。它是一个64比特分组密码算法,密钥的有效位为56比特。A.3核准的分组密码算法:3-DEA3-DEA见ANSIX9.52:1998。它是一个64比特分组密码算法,密钥的有效位为112或168比特。A.4可选分组密码算法的审查程序A.4.1来源为加人本标准而提出的可选鉴别算法应由国家标准机构提交给国家密码相关管理部门,或征得国家标准机构的同意后提交给国家密码相关管理部门。A.4.2提案理由提出者应给予以下说明:a)希望达到的目的;b)该提案比本标准现有算法更好的达到该目的原因;c)其他地方未予描述的优点;d)使用新算法的经验。A.4.3文档所提算法在提交审查时应具备完备的文档,包括:a)提出算法的完整描述;b)对算法满足本标准要求或与其一致的明确说明;c)用于计算MAC的处理过程的逻辑流程图;d)任何新术语、参数或引入变量的定义及解释;e)鉴别密钥的要求、用法及操作说明;f)以一个典型的金融报文为例,逐步描述计算MAC的步骤(参见附录c);g)提交前有关该算法测试情况的详细资料,特别是关系到算法安全、稳定和可靠性的信息a这些9 GB/T27929--2011信息应包括所使用的试验步骤的概要、试验结果以及进行试验和验证结果的机构或组织的身份(即,应提交充分的信息以使另一机构能够进行相同试验并比较得到的试验结果)。A.4.4公开性说明任何提交批准的算法都不属于任何级别的傈密资料。如果已对算法的版权提出申请,则应按照国家相关程序对其进行评估。所有的算法文件对于任何个人、组织或机构应为公开信息,以便进行审阅及测试。A.4.5提案的审查每个新提案均应经国家相关机构审查,并在接到申请后的180天内准备一个有关报告(见A.4.6)。报告应说明是否提案资料已齐全,是否已对其进行适当试验及证明,以及提出的算法是否符合国内标准的条件及要求。也可建议提交该提案进行公开审查(见A.4.6)。A.4.6公开审查当上述报告建议进行公开审查,被认为适合接纳的申请应提交给在该领域权威机构接受公开审查。这些机构和协会在接收到的90天内对提案进行审查并提交报告。注:公开审查的周期可延至180天以准备提案的报告(见九4.5)。A.4.7申诉程序提案被拒绝时(见A.4.5),发起人可要求国内相关机构就该提案进行审核(见A.4.6),审核结果即为最终结果。A.4.8新鉴别算法的并入被推荐接受的新鉴别算法连同有关的审核报告一起分发,并对是否并人本标准进行书信投票表决。A.4.9维护对通过本标准描述的步骤而被采纳的算法进行定期复核,间隔不超过5年。 B.1格式选项附录B(资料性附录)编码字符集的报文鉴别GB/T27929--2011本附录为欲鉴别的数据编码提供了5种选项:——二进制数据(B.3);——编码字符(B.4)整个报文文本,不编辑;——编码字符(B.5)抽取的报文元,不编辑;——编码字符(B.6)整个报文文本,编辑;——编码字符(B.7)抽取的报文元,编辑。选项1用于二进制字符串数据的鉴别。选项2和选项3用于当传送介质对于字符集透明时编码字符集中数据的鉴别(例如,根据开放系统互联(OSI)模式设计的系统和网络)。选项4和选项5用于当传送介质对于使用的字符集不透明时,受限制编码字符集中数据的鉴别(例如,博多机、电传和很多国际记录承运商提供的存储转发服务)。格式选项的选择由通讯双方决定并符合双方协议。如ISO/IEC9797—1:1999附录B指出的,当使用填充方法1(或方法2)的算法1时,防止异或伪造攻击是很重要的。这可以通过接收者获知报文的长度或报文内用分隔符分开的域的数目来实现。B.2编码字符集(选项2—5中使用)B.2.1已定义的报文元素格式B.2.1.1通则DMC,IDA,MAC和MID的域格式应分别符合本标准中格式的要求。其他报文元的格式未被规定。域格式应作为鉴别过程的一部分被验证。如果使用的鉴别选项进行了编辑,则域格式应在编辑前进行验证。如果出现格式错误,则报文鉴别失败。域格式定义如下面几节所述。B.2.1.2DMC发送机构发出报文的日期应按照GB/T7408要求以世纪、年、月、日表示(最好为紧凑形式,即CCYYMMDD),如19851101为1985年11月1日。B.2.1.3IDA该域为用于鉴别的密钥的标识符且应符合ISO8732:1988中密钥标识符的要求。B.2.1.4MACMAC应以十六进制的四组字符表示,每组四个字符中间用一个空格隔开(hhhhbhhhhbhhhhbhhhh);例如,5A6Fb09c3bcD86b1FA4。B.2.1.5MID报文标识符应用1~16个可打印字符表示(AAAAAAAAAAAAAAAA)。允许字符为0~9、1】 GB/T27929--2011A~z(大写字母)、空格(旦)、逗号(,)、旬点(.)、斜线(/)、星号(*)以及连接符(一)。例如,FN—BC/2.5。B.2.2隐含分隔符如果隐含分隔符在报文中位置固定或以标准化格式规则被明白无误的标识,则可以实现报文元素的隐含分隔。为实现鉴别,应对有线服务商规定的作为隐含分隔符的域名称、序号或标识域标签做处理。B.2.3显示分隔符B.2.3.1通则显示分隔符可用于标识报文元(包括MAC)的开始和结束。这些分隔符可用于所有编码字符集选项。显示分隔符规定如下。B.2.3.2DMC示例:QD和一DQ,例如,QD-YYMMDD-DQ。B.2.3.3mAQK一和KQ。例如,QK-1357BANKTOBANKBKQ。B.2.3.4MACQM一和一MQ。例如,QM-hhhhbhhhh-MQ。B.2.3.5MIDQx一和一xQ。例如,QX—aaaaaaaaaaaa-XQ。B.2.3.6其他报文元QT-和一TQ。例如,QT一文本一TQ。在QT_文本一TQ中分隔的“text”可为通讯服务允许的任意长度。B.2.4分隔符的使用分隔符的开始和结束应成对出现,中间不能插入显示分隔符。注:如果此条件不满足,报文鉴别失败。报文可能包含若干的分隔“text”域;然而,DMC、MID、IDA和MAC域在每个报文中出现次数不应超过一次。连接符应出现在所有显示分隔符中。B.2.5字符表示输入算法中的鉴别元素的所有字符应以8比特字符表示,它包括ISO646中的7比特代码(不包括国家字符分配值),前跟0开头(例如,0,b7,_b6⋯⋯旦1)组成。当这些鉴别元素需要译码时,此译码仅用于内部计算。如果报文被转换为不同字符集,则在鉴别过程前应进行逆向转换。B.2.6头尾信息为传送而增加的报文头和报文尾信息(例如,由网络增加)应被忽略(即,不应作为报文正文的一部分或被包含在算法计算中)。12 B.3选项1:二进制数据GB/T27929--2011鉴别算法应用于整个报文正文或部分报文正文中,取决于发送方和接收方间的协议。B.4选项2:编码字符;整个报文;不编辑报文被自动处理且发送方和接收方间报文结构的准确内容均未发生变化,则算法可适用于整个报文。MAC对整个报文正文进行计算(见附录C示例)。B.5选项3:编码字符;抽取的报文元;不编辑当无法对整个报文进行鉴别时,鉴别算法应仅应用于抽取出的报文元。MAC的计算应根据抽取出的元素并按照其出现的顺序完成(见附录C示例)。鉴别的报文元应根据下述规则抽取:a)除了报文元和其相应分隔符删除所有字符;b)在每一隐含分隔报文元后插入一个空格。B.6选项4:编码字符;整个报文;编辑应对按下述规则编辑的报文文本计算MAC(见附录C示例)。在用鉴别算法处理前应按照给出顺序对所有报文元(隐含和显示分隔)进行编辑。a)每个回车符和换行符应用一单个空格代替;b)小写字母(a~z)应转换为大写字母(A~Z);c)除了字母A~z、数字o~9、空格、逗号(,)、句点(.)、斜线(/)、星号(*)、开括号和闭括号以及连接符(一)外的所有字符均应被删除;因此,正文结束以及其他格式和控制字符应被删除;d)所有前导空格应被删除;e)每个连续空格序列(中间和结尾)应由一单个空格代替。B.7选项5:编码字符;抽取的报文元;编辑该选项与选项3的使用方法一致。根据选项3的规则抽取报文元。采用选项4的编辑规则。B.8“失败的”报文鉴别码(MAC)B.8.1无法产生MAC当MAC自动生成时,即由鉴别元素的自动抽取产生,由于违反规则,处理过程可能失败(例如,由于嵌套分隔符)。在此情况下,至少应要求人工读取(例如,纸制、屏幕或缩微胶片),则应用8个空格,每组四个共两组表示失败。这两组空格以一非十六进制数的字符分隔,最好为星号(*)(例如,当无法使用空格时,应用0代替空格,即0000*0000)。13 Cn/T27929--2011B.8.2收到的MAC无法鉴别当接收的MAC与鉴别过程中产生的参考MAC不相等时(要求MAC具有人工可读性),应采用在收到MAC空格处插入一非十六进制的可打印字符表示鉴别失败。如果字符集允许,可采用*表示(例如,5A6F*09C3)。B.9鉴别密钥鉴别密钥是发送方和接收方预先交换的用于鉴别算法的秘密密钥。该密钥应随机或伪随机产生(参见附录F)。用于报文鉴别的密钥不应用于其他目的。任何用于鉴别的密钥不应泄漏给未授权方。14 C.1MAC示倒一览附录c(资料性附录)编码字符集报文鉴别的示例GB/T27929--201C.1.1概述本附录给出了采用DEA和3-DEA的编码字符集的报文鉴别示例。这些示例说明了表C.1所示的ISO/IEC9797—1:1999MAC算法的使用方法。注:本附录中包含的所有计算应在采用ECB和XOR选项的单个数据组进行,且结果应采用cBc在整个数据组的集合上验证。表C.1MAC计算示例总表ISO/me9797—1:分组密块大小有效密钥MAC大小示例报文元填充方法1999算法码算法(≈)比特(扰)1所有1l3一DEA6411232≤卅≤642经选择的l13一DEA6411232≤m≤643所有31DEA6411232≤巩≤64如ISO/IEC9797—1:1999附录B指出的,当使用填充方法1(或方法2)的算法1时,防止异或伪造攻击是很重要的。这可以通过接收者获知报文的长度或报文内用分隔符分开的域的数目来实现。示例采用了由ATM产生的交易报文,并且包括了一加密PIN块。示例1和示例3采用整个报文用于MAC计算。仅使用报文文本(整体)而不包括协议相关域,如报头。示例2说明了仅采用报文选择域的MAc计算。如5.1规定,鉴别算法采用密码分组链接(CBC)工作模式。示例中使用的密钥和数据块的符号应符合ISO/IEC9797—1:1999的要求。c.1.2假定预定义协议以ASCII字符(每个字符2个十六进制数)的十六进制形式表示鉴别元素。产生MAC的十六进制数为传送应转换为ASCII字符形式一MAc的每个十六进制数应以ASCII字符的o~9、A~F进行传送。注:在其他条件下,预定义协议对于鉴别元素和MAC传送可能规定其他形式。例如,按比特存取协议,二进制数可能用于下述两种情况,减少MAC计算时间和MAC传送时间。C1,3输入报文示倒下述给出输入报文文本(AscII)的三个示例,示例中的符号I用于表示域分隔符。111918273645Ⅲ158143276II;1234567890123456—9912100007Ⅲ0001250019786534124876923I表c.2、表C.3给出示例报文域的简短描述。 GB/T27929—20”表c.2输入报文样本域名称说明值报文类型终端表示发送报文类型的代码11终端ID终端被网络识别的号码918273645时间变量数随着每次交易或报文进行变化的号码或值58143276顾客使用卡片第2磁道中编码的信息。该域内容在下第2磁道数据;1234567890123456—9912100007文中详细描述交易数据终端告知网络和请求的交易值和类型的域00012500加密PINBlock客户输入PIN被传送到加密网络所在的域9786534124876923表C.3第2磁道数据示例起始符(ss)主账号1234567890123456域分隔符失效日期9912自由数据10000结束符(Es)C.2MAC计算示例1示例1使用整个报文文本(可被认为是单一鉴别元素)计算MAC。对于此示例,预定义协议规定了包含分隔符和从起始符(ss)到结束符(Es)的所有卡编码数据(第2磁道)的内容。加密密钥(十六进制):K一0123456789ABCDEFFEDCBA9876543210第一数据块(十六进制):3131lc3931383237(为ASCII代码11I91827的十六进制形式)。所有数值以十六进制表示。迭代数据块3一DEA输入块Ⅳ/3一DEA输出块(x)(Dx)(DxxorHx-I)(Hx)00000000000000000131311C3931383237827E1538886163D22333634351C1C3538B148210E947D56EA00A37ACBADl8418433134333237361C1C319749F99A2E5D98lAE4BE256716410E4383132333435363721D58C16532377392F195D24CD861FA45383930313233343517206D15FFB528913588FF78992819976363D3939313231300385C641A81A28A7E156D3101436230173030303F1C303030D166E32F0806133149FE9E6E54743E43831323530301C393778CCAB5E64680774487E8111049919F3938363533343132347348842230A82BC7E35586FF76CFFF03103837363932331C00DB6280C644FCE303F7847FFBDl720C55注1:第1数据块Dl直接输入3-DEA。可选择的,通过将CBC的工作模式设置为Ⅳ可将H。设为0000000000000000。16 GB/T27929--201注2:最终数据块包括撮文中的7个字符以及00的填充字节。注3:32比特MAC为F7847FFB。长型MAC可采用附加比特从最终输出模块中抽取出来。C.3MAC计算示例2示例2为仅采用下述选择报文元的MAC计算过程。——时间变量序号(或值);——顾客卡第2磁道的账号(PAN);——交易数据;——加密PIN块。对于本示例,预定义协议规定了分隔符内容和鉴别元素的起始点。鉴别计算基于下述输人报文文本(ASCII)进行。“I”符号用于表示域分隔符。58143276Ⅲ;1234567890123456一100012500I9786534124876923I加密密钥(Hex)K一0123456789ABCDEFFEDCBA9876543210第l数据块(Hex):3538313433323736(该值为ASCII代码58143276的十六进制表示形式)。所有数值以十六进制表示。数据块(Dx)35383134333237361C38313233343536373839303i32333435363D1C30303031323530301C393738363533343132343837363932331C00003一DEA输入块(DxxorH。1)35383134333237365ABAOF5D96888686D49E5E0601DD3F2A14527F358122882FB6CEF46C13ACE82109A98747FCCA50502A89A747AEE442CDⅣ/3一DEA输出块(Hx)OOOOOOOOO000000046813E6FA5BFB380E3A6673630EFOClE216442298112881E84FBC45COF95DFl93F9C8473CDF664681DBF9E759DF842CD6864A37C973A1548注1:第l数据块n直接输入3DEA。可选择的,通过将CBC的工作模式设置为Ⅳ可将H。设为0000000000000000注2:最终数据块包括报文中的6个字符以及2个00的填充字节。注3:32比特MAC为6864A37Cf。长型MAC可采用附加比特从最终输出模块中抽取出来。C.4MAC计算示例3示例3采用完整报文文本(可被认为是单一鉴别元素)进行MAC计算。对于该示例,预定义协议规定了分隔符的内容以及从起始符(ss)到结束符(Es)的所有卡编码数据(第2磁道)。加密密钥(十六进制):K一0123456789ABCDEFFEDCBA9876543210K7一FEDCBA9876543210第一数据分组(十六进制):31311C3931383237(为ASCII代码llI91827的十六进制形式)。所有数据以十六进制表示迭代数据分组(x)(Dx)0131311C39313832372333634351C1C35383-DEA输入分组(DxxorHx-1)31311C3931383237065A149CFAlF31E1Ⅳ/3一DEA输出分组(Hx)0000000000000000356C20A9E60304D9BE3EDA28E5A358EA17龇∽。。。。。。。, GB/T27929—201118数据分组(Dx)3134333237361C1C38313233343536373839303132333435363D3939313231303030303F1C3030303132353030lC393738363533343132343837363932331C003一DEA输入分组(DXxorHx_1)8FOAE91AD29544F6EF60816234F05CB384CEA4EB94883BCB001FFB9194C50EA4DA475E706C54F660188DDOOC3CBAFC4A3689141C95D1D9865D57066FCB3FBA87C156F188CDBFB451CCCD3C0841F6C7ABⅣ/3一DEA输出分组(Hx)D451835i00C56A84BCF794DAA6BBOFFE3622C2A8A5F73F94EA776E4F7064C6502ABFE53COCA6C57D0EBF212FAlEOEBB265603056F90CA687C156FlB8CDBFB451CCCD3C0841F6C7ABC209CCB78EElB606注1:第1数据分组n直接输入DEA。可选择的,通过将CBC的工作模式设置为Ⅳ可将H设为0000000000000000注2:最终数据分组包括报文中的7个字符以及1个00的填充字节。注3:最终迭代包括附加解密K’和加密K。注4:32比特MAC为C209CCB7。可采用附加比特从最终输出分组中抽提出长型MAC。龇㈤。。。。,。。¨ D.1目的附录D(资料性附录)标准电传格式的报文鉴别框架GB/T27929--201本附录给出了根据本标准定义的格式鉴别电传报文所要求的附加数据的结构框架。使用示例为ISO7746:1988银行间电传报文格式中的示例1。发送方和接收方必须在所选的鉴别格式选项上达成一致,以保证报文被鉴别。报文鉴别能代替测试密钥计算运用于ISO7746所含的要求或提供测试密钥的任一种格式。当选择符合国际标准的报文鉴别以保护按照本标准结构化的报文的安全时,测试密钥域和相关的内容是可选的。D.2报文鉴别数据元D.2.1IDA鉴别密钥标识符为可选数据元。如果出现该域,应放置在报文指示符YZYZ开始之后,该域前后应有一空行。格式:最多16个字符。D.2.2MAC计算日期MAC计算日期(DMC)等同于所有标准用户电传报文格式中的字段DATE中所规定的指令日期。要求提供该数据元素。格式见GB/T7408。D.2.320发送方参考号报文标识符(MID)等同于所有标准用户电传报文格式中的字段20SENDERSREF所规定的发送银行的交易参考号。要求提供该数据元。格式:最多16个字符。D。2,4MAC报文鉴别码为必选数据元。该域应放置在报文最后域的最后一行之后,前后应各跟~个空行。格式:8个十六进制字符(o~9、A~F)每组4个字符分成两组出现,中间以空格隔开(hhllllbhhhh)。结合报文鉴别框架客户转账:标准格式(Iso7746,例1B)的报文示例。45678LONCOMG54321BANFICCHYZYZIDA:6666(鉴别密钥标识符)FROM:BANQUEFICTITIOUS,GENEVA GB/T27929--201T0:LONDONCOMMERCIALBANK,BIRMINGHAMDATE:19801201(计算日期的MAC)100CUSTOMERTRANSFERPLEASEPAY:15TESTKEY:1234:20SENDERsREF:A4760(报文标识符):30VALUEDATE:801201:32AMOUNT:CHFl.000,00:50ORIGINATOR:FRANZHOLZAPFEL:52ORIGINATORSBANK:BANQUEDEZUG,BAHNHOFSTRASSE,ZUG:53REIMBURSEMENT:WEHAVEINSTRUCTEDBANQUEANONSA,CHIASS0TOPAYBANQUEFORTUITOUSSA,ZUGFORYOURLONDON’SACCOUNTUNDERTELEGRAPHICADVICETOYOU:57PAYTH.RU:NIDWAYBANKLTD,GREENSTREET,WARGRAVE:59BENEFICIARY:/122689443H.F.JANSSEN,WALLFLOWERHOTELWARGRAVE:70BENEFINFO:SALARYSEITLEMENT:72RECEIVERINF0:PHONEPAYTHRUBANK:82PAYTHRUINFO:PHONEBEN0NWARGRAVE4725336MAC:1773104445678LONCOMG54321BANFICCH(报文鉴别码) E.1目的附录E(资料性附录)使用MID防重复和丢失保护GB/T27929--2011通过使用每一交易特定报文元、时间变量密钥或其他方法并根据预定义协议,可实现防复制和丢失保护。本附录给出了采用4.3定义的MID(报文标识符)检测传送报文的复制和丢失的方法。也可设计出其他方法,包括本附录描述方法的变种。E.2防重复保护E.2.1重复报文在正常状态下,如果来自一指定发送方的MID不重复给定的日期和给定的密钥,则重复的报文可被检测到。接收方必须检测MID以确保其在以前的报文中未出现过。可采用下述方法中的一种进行检测:a)如果MID未按预定顺序发送,则接收方可将接收到的MID与同日收到的MID清单进行比较;b)如果用特定密钥鉴别报文的MID总是以升序顺序发送的,则接收方只须检测标识符是否严格按照递增顺序。还可设计出其他方法,包括上述方法的变种。MAC序列窗口可能是必不可少的,有关窗口管理的技术见ISO8732:1988的附录D。E.2.2多方操作当2方以上的各方共享一个公共的密钥时(“多方操作”)时,如果每一方都使用MID的一个互不相同的部分,则可检测出重复。接收方检验MID是否在正确的范围内,以及是否从未收到过。E.2.3包括身份标识当发送方和接收方的身份标识均作为鉴别元包含在每个报文中时,接收方仅需检验它就是被期望的接收方,且该MID在发送方之前的报文中未出现过。在此情况下,每对发送方和接收方可使用MID的整个部分,且在不同双方之间的MID可重复,E.3丢失检测如果发送方和接收方均保存有给定时间内使用的MID清单,则可检测出传送报文的丢失。一方给需要检测有无丢失的另一方发送该清单(通过一个具有防止重复的已鉴别的报文)。然后进行两个清单的比对。或者,如果按顺序接收MID,则只要接收到一个乱序的MID,接收方就可以检测出丢失的报文。当日最后一个MID可通过一个具有防止重复的已鉴别报文发送给丢失检测方。也可设计其他方法,包括上述给出方法的变种。 GB/T27929--20”F.1介绍附录F(资料性附录)伪随机数发生器本附录的目的是通过使用n比特分组密码算法,提供伪随机密钥R的产生方法。适用的分组密码算法见附录A。其他方法见ISO/IEC18031。F.2算法让x](y)函数表示采用电子密码本(ECB)中的n比特分组密码算法,使用x密钥对Y加密。K为仅用于产生其他密钥的密钥。y为n比特种子值,该值也应保密,o异或操作符。DT为日期一时间矢量,该矢量在每个密钥生成时应被更新。J为中间值。n比特矢量R的产生过程如下:J—P[K](DT)R—eEK](JoV)并根据下述公式生成新的y:v一虻K](RoD当鉴别算法采用DEA密钥时,获得的密钥的产生过程很清楚,其每一第8比特位为奇校验位。对于其他算法,通过重复上述过程多遍(1,2,⋯,m)即可获得所要求的比特位数(小于或等于mn)。 附录G(资料性附录)会话密钥导出GB/T27929--2011本附录描述了用于报文鉴别的会话密钥导出(SKD)原则。会话密钥导出的目的是:——确保每个交易或每个会话具有惟一密钥;——防止从一个(或多个)会话密钥的信息中测定其他会话密钥(例如,通过导出装置的反转)。会话密钥的使用能够防止要求采用同一密钥生成多个MAC的攻击。一般情况下,利用发送方和接收方共享的主密钥和应用数据来导出会话密钥,该应用数据对每个交易或会话是惟一的:SessionKey—SKD(MasterKey,ApplicationNonce)ThenMAC=MACAlgorithmFSessionKey](用于鉴别的数据)应用Nonce在明文中与MAC进行通讯或已被接收方知晓。由于会话密钥导出是一个密钥管理活动,仅应用数据宜被包含在会话密钥导出中,该数据对于提供会话密钥的惟一性非常必要。MAC中宜包括鉴别用应用数据。应用Nonce可为发送方控制的交易计数器,并与由发送方或接收方产生的伪随机数任意组合,且被双方知晓。MAC算法自身可被用于SKD函数。如果其用于SKD函数,则MAC算法可被多次调用并需要提供足够长度的会话密钥,每次调用的输入应不同。SKD函数需要密集计算,通过将会话密钥从缓存的密钥(例如,之前的会话密钥)中导出,可以提高其效率。 GB/T27929--2011附录H(资料性附录)一般指导信息报文鉴别的目的是确保接收方收到的交易报文与合法指令人发出的报文完全一致。为满足此要求,报文鉴别应检测到整个伪造交易报文的欺诈插入以及其他合法交易报文的欺诈性修改。报文鉴别不同于报文加密,因为后者不能从根本上防止修改交易,而前者不仅提供这种保护,而且对于明文报文也提供这种保护,还允许报文在处于保护状态时被解析、处理和记录。报文鉴别用于避免“主动窃取”及相关欺诈性威胁。这些是相对复杂的威胁,因为交易数据可能会通过插入通讯线路的微机系统被实时修改或插入。例如,假定某一罪犯切断了一ATM到其主机的通讯线路(ATM不使用任何形式的报文鉴别),并在该线路中串联插入了一微机系统。该微机系统“看起来”像一个空闲的ATM。对于ATM该系统“看起来”像主机。该欺诈性插入系统被编程以截取并抛弃每个ATM发出的现金请求报文,并发送一批准指令作为响应。因此,罪犯可以“提取”走ATM的现金,而在该过程中没有账户被借记。报文鉴别通过对每个交易报文附加“报文鉴别码”而避免“主动窃取”欺诈情况的发生。该代码由几个校验数字组成,这些校验数字类似于奇偶校验或循环冗余校验,但这些校验数字是在加密过程中产生的。根据发送方和接收方间的预定义协议,报文指令人产生的“报文鉴别码”或“MAC”基于整个报文或者基于报文的重要元素得到(根据预定义协议,报文中未包含的元素除了由指令人和接收方所知,应被包含在MAc计算中)。MAC应包含在传送报文中,并由接收方验证,接收方持有在产生过程中使用的相同密钥。任何试图在MAC产生期间和MAC受检测期间内修改受保护报文元的一方,其意图应被检测。由于该方不清楚密钥,因此其无法对修改后的报文产生正确的MAC。同样的,也没有人可以成功的引入一伪造报文,因其不清楚密钥,则其无法对此报文产生适当的MAc。对于有效的报文鉴别,必须确保密钥的保密性。每一对通讯双方最好使用惟一的密钥,这样,密钥的泄漏将只威胁当事双方间的交易且将责任范围缩小到交易双方。虽然报文鉴别能够检测出伪造和修改的交易报文,但其不能本质的检测出之前有效报文的欺诈性重放以及报文的缺损。附录E给出了这些问题的讨论。报文鉴别不能保护报文处理中的错误和防止报文处理被干扰(报文处理在MAC产生前发生或者在MAC被验证后进行)。例如,报文鉴别不能防止不诚信商户修改其终端向客户显示交易值,该值将导致客户账户被借记(商户的账户被贷记)一个较高值。零售EFT系统的参与者可有效使用报文鉴别,即使不是全部参与者均使用。不进行报文鉴别的机构可能其后会成为“主动窃取”欺诈行为的受害者,则该机构对欺诈损失负有责任,因为交易记录等将显示交易是否被欺诈性修改。鉴此,参与零售业EFT系统的机构能够评估执行报文鉴别的成本以及没有进行报文鉴别的成本,并据此做出决定。 参考文献GB/T27929—201[1]ISO646信息技术信息交换用ISO7比特编码字符集[2]GB/T7408--2005数据元和交换格式信息交换日期和时间表示法(ISO8601:2000,IDT)F3]ISO7746:1998银行业务银行间电传报文格式F4]ISO8730:1990银行业务报文鉴别要求(批发)F6]ISO8731—1:1987银行业务报文鉴别的核准算法第1部分:DEA[6]ISO9807:1991银行业务报文鉴别要求(零售)F7]ISO/IEC18031信息技术随机数生成F8]ANsIX9.9—1986金融机构报文鉴别(批发)”E9]ANSIX9.17一1996金融机构密钥管理(批发)”I)已废止。2)已废止。'