银联卡数据安全传输控制规范

上传人:xt****7 文档编号:113705374 上传时间:2022-06-26 格式:DOC 页数:27 大小:614.50KB
返回 下载 相关 举报
银联卡数据安全传输控制规范_第1页
第1页 / 共27页
银联卡数据安全传输控制规范_第2页
第2页 / 共27页
银联卡数据安全传输控制规范_第3页
第3页 / 共27页
点击查看更多>>
资源描述
中国银联股份有限公司 发布2012-11-02实施2012-11-02修订中国银联银行卡联网联合技术规范V2.1第4部分 数据安全传输控制规范Technical Specifications on Bankcard Interoperability V2.1Part 4 Specification on Data Secure Transmission ControlQ/CUP 006.42012代替Q/CUP 006.4-2011Q/CUP中国银联股份有限公司企业标准目 次前 言II1 范围12 密钥管理与控制12.1 安全管理基本要求12.2 各层次密钥简介22.3 密钥的产生22.4 密钥的分发32.5 密钥的存储32.6 密钥的销毁33 数据的加密处理43.1 PIN的加密和解密43.2 联机报文MAC的计算方法63.3 顺序文件MAC的计算方法103.4 互联网支付密码的加密和解密104 新旧密钥切换114.1 入网机构发起的申请重置密钥114.2 CUPS发起的重置密钥154.3 新旧密钥的切换处理(同步)185 PBOC借/贷记标准IC卡安全说明195.1 PBOC借/贷记标准IC卡的安全认证功能195.2 ARQC的生成算法19参考文献23前 言本标准对中国银联跨行交易网络中安全传输数据信息应达到的要求做了规定。包括数据传输安全要求、密钥管理方法和加密方法。本标准由中国银联股份有限公司提出。本标准由中国银联股份有限公司制定。本标准起草单位:中国银联股份有限公司、国内入网机构。本标准主要起草人:戚跃民、郭锐、郑澎、徐静雯、李洁、吴金坛、王力斌、苗恒轩、万高峰、陆尔东、蒋慧科、杜秉一、赵伟。中国银联银行卡联网联合技术规范V2.1第4部分 数据安全传输控制规范1 范围本标准对中国银联跨行交易网络中安全传输数据信息应达到的要求做了规定,包括数据传输安全要求、密钥管理方法和加密方法。本标准适用于所有加入中国银联银行卡信息交换网络的入网机构。2 密钥管理与控制2.1 安全管理基本要求入网机构必须满足银联信息交换网络对数据安全传输控制方面的要求。入网机构在与银联联网的接口建设中必须提供严格的系统安全保密机制,保障银联银行卡信息处理系统安全、稳定、可靠地运行,包括信息的存取控制、应用系统操作的安全、物理实体(机房、设备、通信网络、记录媒体等)的安全和安全管理制度等方面。2.1.1 管理制度的基本要求整个银行卡网络的数据安全保密,不仅仅需要技术上的支持,更需要在业务上制定和贯彻各机构间严格的密钥管理制度。基本要求是:a) 采用安全可靠并且在银行卡交换系统中普遍采用的加密算法。b) 密钥的存贮和交易信息的加密解密在硬件加密设备中进行。c) 遵循金融业数据安全保密的国家标准和国际标准。d) 加强对人员的管理要求。e) 定期更换密钥。2.1.2 数据传输安全控制的基本要求数据传输安全控制要求包括以下五个方面:a) 密钥管理机制:在技术上实施严格和可靠的密钥分配过程。b) 个人标识码(PIN)的加密及转换机制:不允许 PIN 的明码在通信线路上和人工可操作的存储媒体上出现。c) 对交易报文作来源正确性鉴别的机制(MAC)。d) 所有入网机构采用硬件加密装置。e) 点对点的数据加解密网络机制。2.1.3 硬件加密机的基本要求硬件加密机的主要功能是对PIN加密和解密、验证报文来源的正确性以及存储密钥。所有这些操作都在硬件加密机中完成,以保证密钥和PIN的明码只出现在加密机中,防止泄露。硬件加密机应通过国家商用密码委员会的安全认证并被允许在国内金融机构中使用。此外还必须满足以下要求:a) 支持单倍长(B64,在单倍长密钥算法中使用)和双倍长(B128,在双倍长密钥算法中使用)的密钥。b) 支持本文中对PIN的规定,验证、转换PIN的密文。c) 支持本文中对MAC的规定,验证和产生MAC。d) 能对密钥作验证。e) 受到非法攻击时,加密机内部保护的密钥自动销毁。CUPS与入网机构主机均要求配置硬件加密机并对传输的数据进行加密。CUPS与入网机构之间的数据加密和解密以单倍长密钥算法为基础。2.1.4 数据加密传输环境的基本要求交易数据由入网机构进入CUPS前应已经过加密处理,如PIN加密和MAC加密。入网机构从CUPS中得到的交易数据也应进行加密处理,如PIN加密和MAC加密。图1 数据加密传输环境网络中CUPS的加密机与各入网机构加密机组成了一个点对点的数据加解密网络。CUPS与各联网入网机构分别约定数据密钥。2.2 各层次密钥简介在数据安全保密、传输机制中,密钥是关键数据。CUPS系统与每个入网机构之间约定的各层密钥都要求具有唯一性。各层密钥的结构、生成方法、加密解密对象、存储地点、长度、被保护方式等如下表所示:表1 各层密钥表序号密钥名缩写层原始生成方法加密解密对象存储地点长度保护方式1主密钥MK1人工输入成员主密钥硬件加密机机外分段分人保管192bit硬件设备保护2成员主密钥MMK2人工输入数据密钥硬件加密机和主机128bit/192bit从硬件加密机输出时用主密钥加密3数据密钥(例如,PIN密钥和MAC密钥)PIK3硬件加密机产生PIN主机64bit/128bit用成员主密钥加密主密钥和成员主密钥的生成方法及输入过程应由相关的安全管理制度规定。2.3 密钥的产生表2 密钥的产生序号密钥名产生1主密钥人工产生2成员主密钥CUPS与入网机构各产生一半,在硬件设备中合成3PIN密钥由硬件设备随机数发生器产生,并须经密钥有效性检查4MAC密钥由硬件设备随机数发生器产生,并须经密钥有效性检查2.3.1 数据密钥的产生PIK与MAK统称为数据密钥,由硬件加密机中的随机发生器产生。密钥产生后,硬件加密机将检查密钥的有效性。弱密钥和半弱密钥将被剔除。CUPS的加密机产生数据密钥,入网机构接收和储存CUPS发来的数据密钥。当CUPS认为需要时,可以主动向入网机构发起重置密钥报文。当入网机构需要新密钥的时侯,必须向CUPS发出申请重置密钥报文。2.3.2 成员主密钥(MMK)的产生MMK由CUPS和入网机构各自产生一部分,分别输入到双方的加密机中合成MMK。也可由双方商定MMK的产生办法。2.3.3 主密钥的产生主密钥用人工方式输入。主密钥由三部分构成,分别由三个人掌管。为了保证输入的正确性,每一部分的密钥必须输入两次,且两次输入必须一致,否则输入失败。在三个人分别输入三部分密钥后,加密机作奇偶校验检查。奇偶校验正确时,加密机产生主密钥。主密钥必须储存在硬件加密机中,受硬件设备的保护。一旦硬件加密机受到非授权的操作,主密钥会自动销毁。2.4 密钥的分发表3 密钥的分发序号密钥名密钥的分发1主密钥自主生成,不须分发2成员主密钥用IC卡传递或人工输入3PIN密钥由CUPS产生,通过联机报文发送4MAC密钥由CUPS产生,通过联机报文发送2.4.1 数据密钥的分发数据密钥由CUPS产生,通过联机报文的方式分发。具体分发方式请参见本规范第6章的详细描述。2.4.2 成员主密钥(MMK)的分发MMK的分发有三个途径:a) 如果CUPS和入网机构均使用IC卡保存MMK,则可通过相互邮寄IC卡得到。b) 如果一方没有IC卡或IC卡不能通用,则需双方相关人员到场共同输入MMK。c) 也可由双方相关人员协商确定分发途径。2.5 密钥的存储2.5.1 数据密钥和成员主密钥的存储数据密钥和成员主密钥应保存在硬件加密机内。如果出现在硬件加密机外,则必须密文方式出现。2.5.2 主密钥的存储主密钥必须保存在硬件加密机中,受加密机的保护。2.5.3 密钥档案的保存密钥注入、密钥管理功能调试和密钥档案的保管应由专人负责。密钥资料须保存在保险柜内。保险柜钥匙由专人负责。使用密钥和销毁密钥要在监督下进行并应有使用、销毁记录。2.6 密钥的销毁当新密钥产生后,生命期结束的旧密钥必须从数据库和内存中清除,防止被替换使用;同时所有可能重新构造此密钥的信息也必须清除。新密钥成功启用和旧密钥自动销毁的记录将被更新。3 数据的加密处理为保证数据的安全传输,网络中的报文采用了PIN加密和报文来源正确性鉴别(MAC)两种加密技术。3.1 PIN的加密和解密当报文经发送方进入银行卡网络时,持卡人的个人标识码(PIN)已经用发送方的PIK加密。CUPS将PIN用发送方的PIK解密后,立即用接收方的PIK加密,再发往接收方。PIN 是以 64 位二进制数参与加密和解密运算的,PIN 的明码在这个数中的分布,称为PIN数据块。在CUPS和入网机构之间,PIN数据块符合ISO 9564-1 BankingPersonal Identification Number Management and Security,其格式如下图所示。CNPPPPP/FP/FP/FP/FP/FP/FP/FP/FFF注1:C控制码 B0000注2:NPIN 的长度(4-bit)注3:P4-bit 二进制 PIN 的数码注4:P/F4-bit 二进制 PIN 的数码 / FILLER注5:4-bit B1111(FILLER)图2 PIN数据块格式典型的 PIN 加密解密过程如图3表示。这一过程保证了 PIN 的明码只在人工不可访问的终端和硬件加密机内出现。当然同时也要求受理方能够掌握终端一侧的密钥管理和 PIN 数据格式。上图中终端机具、受理方、CUPS以及发卡方之间的加密解密信息为: 1: 终端机具输出 PIN 的密文 2: 受理方用与终端机具约定的密钥解密 3: 受理方用与CUPS约定的密钥加密 4: 受理方输出 PIN 的密文 5: CUPS用与受理方约定的密钥解密 6: CUPS用与发卡方约定的密钥加密 7: CUPS输出 PIN 的密文 8: 发卡方用CUPS约定的密钥解密 9: 发卡方用与发卡行约定的密钥加密 10:发卡方输出 PIN 的密文图3 PIN的加密解密过程3.1.1 PIN的长度PIN的长度为4-12位数字。3.1.2 PIN的字符集PIN用数字字符表示,下表给出了它的二进制对照表:表4 PIN用数字字符的二进制对照表PIN字符二进制表示000001000120010300114010050101601107011181000910013.1.3 PIN BLOCKPIN的格式应符合ISO公布的ANSI X9.8标准中PIN的两种格式之一: ANSI X9.8格式(不带主账号信息)表5 ANSI X9.8格式(不带主账号信息)表位置长度说明11 BYTEPIN的长度27BYTE4-12位数字的PIN(每个数字占4个BIT) ),不足部分右补F示例1:明文PIN 123456,则PIN BLOCK 为0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF ANSIX9.8格式(带主账号信息)PIN BLOCK为PIN按位异或主账号(PAN)。其中,PIN格式如下表所示:表6 PIN格式位置长度说明11 BYTEPIN长度27 BYTE4-12位数字的PIN(每个字符占4个BIT),不足部分右补F)PAN格式如下表所示:表7 PAN格式位置长度说明12 BYTEH000036 BYTE取主账号的右12位(不包括最右边的校验位),主账号不足12位左补0示例2:PIN 明文:123456磁卡上的PAN:1234 5678 9012 3456 78截取下的PAN:6789 0123 4567则用于PIN加密的PAN为:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67则PIN BLOCK为: 0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF 异或:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67 结果为:0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98示例3:PIN明文:123456磁卡上PAN:1234 5678 9012 3456截取下的PAN:4567 8901 2345则用于PIN加密的主账号为:0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45则PIN BLOCK为:0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF 异或:0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45 结果为:0x06 0x12 0x71 0x31 0x76 0xFE 0xDC 0xBAPIN的格式(格式1或格式2)必须在报文的域53(Security Related Control Information)中标明。3.1.4 PIN的加密方法将根据上述步骤生成的PIN BLOCK输入到硬件加密机中,并与存储在硬件加密机中的PIK用双倍长密钥算法计算,即可得到PIN的密文。3.1.5 PIN异常的处理参见交易处理说明中第8章交易的异常处理流程。3.2 联机报文MAC的计算方法报文来源正确性鉴别(MAC-Message Authentication Code)是一种判别报文来源是否正确,以及报文在发送途中是否被篡改的计算方法。MAC算法取自于ISO8731-1992 Approved Algorithms for Authentication。3.2.1 MAC的使用条件MAC通常用于01xx、02xx、04xx、05xx类的请求报文及01xx、02xx、04xx的成功(应答码类别含意为“批准”,参见本规范附录部分A.2应答码分类汇总)应答报文中;另外,除了重置密钥使用的08xx号报文使用MAC外,其它管理类(06xx)和网络管理类(08xx)报文均不使用MAC。CUPS既支持机构使用MAC也支持机构不使用MAC,是否使用,应与入网机构具体约定。3.2.2 MAC报文域的选择MAC域的选择采用系统约定的方式,MAC算法采用密文块链接(CBC)的模式。参与MAC计算的数据元集,一般包括以下数据域: 具有唯一性的数据域(流水号、日期、时间等) 表征报文特征的数据域(报文类型、交易种类等) 交易相关数据域(卡号、金额、应答码等)3.2.2.1 消息类型为01xx、02xx、04xx类交易的报文域选择以下域出现或条件成立时,就应该包含在MAC计算中。表8 消息类型为01xx、02xx、04xx类交易的报文域选择序号域域名属性说明10Message-type-identifiern4报文类型a22Primary-account-numbern.19(LLVAR)主账号b33Processing-coden6交易处理码44Amount-of-Transactionsn12交易金额57Transmission-date-and-timen10交易传输时间611System-trace-audit-numbern6系统跟踪号718Merchants-typen4商户类型825Point-of-service-condition-coden2服务点条件码928Amount_transaction_feex+n 8交易手续费1032Acquiring-institution-identification-coden.11(LLVAR)受理机构标识码c1133Forwarding- institution-identification-coden.11(LLVAR)发送机构标识码d1238Authorization-identification-responsean6授权标识应答码1339Response-codean2应答码1441Card-acceptor-terminal-identificationans8受卡方终端标识码1542Card-acceptor-identification-codeans15受卡方标识码1690Original-data-elementsn42原始数据元ea Message-type-identifier:报文类型(0100/0110、0200/0210、0220/0230、0420/0430)b Primary-account-number:主账号,内容为两位的PAN长度+PANc Acquiring-institution-identification-code:受理机构标识码,内容为两位的长度(n)+最长11位机构标识d Forwarding- institution-identification-code:发送机构标识码,内容为两位的长度(n)+最长11位机构标识e Original-data-elements:只取前20位数值,内容为:org-message-typen4原始报文类型org-system-trace-numbern6原始报文跟踪号org-transmission-date-time n10原始报文的交易传输时间3.2.2.2 转账类交易的报文域选择转账类交易的范围如下:1、 传统意义上的转账交易,含转账、转出转账、转入转账、转出冲正、转入确认;2、 基于PBOC电子钱包/存折标准的IC卡非指定账户圈存交易,含转账圈存、转出圈存、转入圈存、转出圈存冲正、非指定账户圈存冲正;3、 基于PBOC借贷记标准的电子现金应用的IC卡非指定账户圈存交易,含转账圈存、转出圈存、转入圈存、转出圈存冲正、非指定账户圈存冲正。对于转账类交易,只要以下域出现,就应该包含在MAC计算中:表9 转账类交易的报文域选择序号域域名属性说明10Message-typen4报文类型a22Primary-account-numbern.19(LLVAR)主账号33Processing-coden6交易处理码44Amount-of-Transactionn12交易金额57Transmission-date-and-timen10交易传输日期时间611System-trace-audit-numbern6系统跟踪号718Merchants-typen4商户类型825Point-of-service-condition-coden2服务点条件码928Amount Transaction Feex+n8交易费1032Acquiring-institution-identification-coden.11(LLVAR)受理方机构代码1133Forwarding- institution-identification-coden.11(LLVAR)转发机构代码1238Authorization-identification-responsen6授权标识应答码1339Response-coden2应答码1441Card-acceptor-terminal-identificationan8受卡机终端标识码1542Card-acceptor-identification-codean15受卡方标识码1690Original-data-elementsn42原始数据元b17102Account Identification 1ans.28(LLVAR)转出账户的账(卡)号标识c18103Account Identification 2ans.28(LLVAR)转入账户的账(卡)号标识da Message-type-identifier:报文类型(0200/0210、0420/0430)b Original-data-elements:只取前20位数值,内容为:org-message-typen4原始报文类型org-system-trace-numbern6原始报文跟踪号org-transmission-date-time n10原始报文的交易传输时间c Account Identification 1:资金转出账户的账(卡)号标识d Account Identification 2:资金转入账户的账(卡)号标识3.2.2.3 密钥管理类交易的报文域选择密钥管理报文指重置密钥请求及其应答报文。其MAC由以下域组成:表10 密钥管理类交易的报文域选择序号域域名属性说明10Message-typen4报文类型a27Transmission-date-and-timen10交易传输时间311System-trace-audit-numbern6系统跟踪号439Response-codean2应答码553Security-related-control-informationn16安全控制信息码b670Network-management-information-coden3网络管理信息码c7100Receiving-institution-identification-coden.11(LLVAR)接收机构标识码da Message-type-identifier:报文类型(0800/0810)b Security-related-control-information:安全控制信息码 参见“域53”说明,内容为: 重置PIN密钥PIK2000000000000000 重置MAC密钥MAKc Network-management-information-code:网络管理信息码,内容为“101”d Receiving-institution-identification-code:接收机构标识码,内容为两位的长度(n)+最长11位机构标识3.2.3 MAC域的构成规则3.2.3.1 MAC字符的选择对所选择的MAC报文域,应进一步作字符处理。除去一些冗余信息,以提高MAC的质量。处理方法如下:a) 带长度值的域在计算MAC时应包含其长度值信息;b) 在域和域之间插入一个空格; c) 所有的小写字母转换成大写字母;d) 除了字母(A-Z),数字(0-9),空格,逗号(,)和点号(.)以外的字符都删去;e) 删去所有域的起始空格和结尾空格;f) 多于一个的连续空格,由一个空格代替。3.2.3.2 MAC块(MAB)的构成数据从报文中选择出来后,经MAC字符选择处理,然后构成MAB(Message Authentication Block)。构成MAB的方法是:将MAC字符选择处理后的数据按64bit划分成64bit的块,一直划分到数据的最后一块,它的位数小于或等于64bit,不满64bit时补二进制0。3.2.4 MAC的计算当下列情况发生时,不需计算MAC,并返回相应的报文错误信息:a) 报文上没有时间域;b) 时间失效;c) 报文标识越界;d) 密钥无效。在发出报文前,首先从报文中截取MAC所需的报文域,然后进行MAC字符选择处理,再构成MAB并计算出MAB的长度。入网机构应将MAB、长度、MAK的值输入到硬件加密机中,产生MAC并将MAC随报文一起发送。当收到报文后,应首先作MAC鉴别。如果产生的新MAC与传送的MAC一致,则接受报文,否则MAC鉴别失败,报文被拒绝。3.2.4.1 硬件加密机通过MAB计算MAC的方法3.2.4.1.1 单倍长密钥算法将MAB中的每8个字节分为一组(最后一组如不足8个字节,则右补0X00),用MAK作为单倍长密钥依次进行如下操作:a) 进行单倍长密钥运算;b) 将运算结果与后一组8个字节的MAB异或,结果取代后一组,继续进行操作。对最后一组进行单倍长密钥运算,得出8个字节的加密值。3.2.4.1.2 双倍长密钥算法参照ISO9.9中的做法,将MAB中的每8个字节分为一组(最后一组如不足8个字节,则右补0X00),用PIK(注意这里的密钥不是MAK,而是PIK)作为双倍长密钥依次进行如下操作:a) 进行双倍长密钥运算;b) 将运算结果与后一组8个字节的MAB异或,结果取代后一组,继续进行操作。对最后一组进行双倍长密钥运算,得出8个字节的加密值。3.2.4.2 联机报文MAC域的取值3.2.4.2.1 普通交易MAC域(128域)为按照单倍长密钥算法计算MAC得到的8字节二进制数据的前半部分(4字节的二进制数),表示成16进制字符串形式(8个16进制字符)。3.2.4.2.2 CUPS发起的重置密钥交易CUPS发起的重置密钥请求和应答报文的MAC计算所用的密钥为新下发的密钥,切换MAC密钥时用新下发的MAC密钥作为密钥计算MAC;切换PIN密钥时用新下发的PIN密钥作为密钥计算MAC。3.2.4.2.2.1 请求报文中的MAC计算方法请求报文中的MAC域(128域)为按照单倍长密钥算法(针对重置MAK)或双倍长密钥算法(针对重置PIK)计算MAC得到的8字节二进制数据的前半部分(4字节二进制数)和按照单倍长密钥算法(针对重置MAK)或双倍长密钥算法(针对重置PIK)计算CheckValue得到的8字节二进制数据的前半部分(4字节二进制数)的组合(8字节二进制数)。3.2.4.2.2.2 应答报文中的MAC计算方法如果重置的是MAK,那么应答报文的MAC计算方法同3.2.4.1.1节,不需计算CheckValue,但其使用的密钥仍为新下发的密钥。如果重置的是PIK,那么应答报文的MAC计算方法同3.2.4.1.2节,也不需计算CheckValue,也需使用新下发的密码。3.2.4.2.2.3 CheckValue的计算方法CheckValue的计算方法为用新密钥对8个字节的二进制0作单倍长密钥运算(针对重置MAK)或双倍长密钥运算(针对重置PIK)。3.2.4.2.2.4 重置PIK交易的MAC计算方法由于有可能在重置PIN密钥时,新产生的PIN密钥是128字节的双倍长密钥,此时计算请求和应答报文中的MAC值都应采用双倍长密钥算法。同理,对于请求报文中包含的CheckValue值也采用双倍长密钥算法计算。这里计算MAC和CheckValue的流程与3.2.4.1.2节中的描述一致,即先进行双倍长密钥运算,然后将运算结果与后一组8个字节的MAB异或,异或结果用双倍长密钥运算以后取代后一组,依此类推,直到对最后一组进行双倍长密钥运算。3.2.5 MAC错误异常处理参见中国银联银行卡联网联合技术规范V2.1第一部分交易处理说明中第8章交易的异常处理流程。3.3 顺序文件MAC的计算方法顺序文件是指文件中带有文件头(000)和文件尾(001)的文件,如双信息文件、风险信息共享文件等,具体可参见文件接口规范中的相关描述。所有的顺序文件都必须进行MAC校验,本节规定顺序文件的MAC校验规则。3.3.1 MAC KEY和MAC的字符组成文件尾中有 MAC KEY 和 MAC 两个字段,每个字段都是由16个字符组成的字符串,字段之间没有分隔符,其后没有结束符,这两个字符串中每个字符都必须是16进制字符(即“0” “9”、“A” “F” 且“A” “F”必须大写),用于表示8个字节的 MAC 密钥和8个字节的MAC,采用这种表示方式是为了方便显示,使文件不含有不可打印的字符。3.3.2 MAC KEY的产生方式MAC KEY 为生成文件时随机产生的密钥,这里是用机构主密钥加密的密文。同时MAC KEY必须满足奇校验。3.3.3 MAC块(MAB)的构成将整个文件(不含MAC KEY和MAC)以256字节为一组分组,结尾不满256字节补二进制0;把各组按位异或,最后得到一个256字节的数据块,即为顺序文件MAC块。3.3.4 MAC的计算MAC 分成左右两部分,生成方法如下:前128字节按照单倍长密钥算法计算MAC,取结果的前半部分(4字节二进制数据),将其表示成16进制字符串形式(8个16进制字符),即为文件MAC字段的前半部分;同样,将256字节的数据块的后128字节按照单倍长密钥算法计算MAC,取结果的前半部分(4字节二进制数据),将其表示成16进制字符串形式(8个16进制字符),即为文件MAC字段的后半部分。3.3.5 MAC错误异常处理当文件中的MAC校验未通过时,系统会生成一个拒绝文件,其中的拒绝原因指明是MAC校验失败,具体格式请参见中国银联银行卡联网联合技术规范V2.1第三部分文件接口规范中的5.4常用记录格式约定。3.4 互联网支付密码的加密和解密网上交易的互联网支付密码需要通过联机报文转发到发卡方,为保证该密码的安全性,要求其在网络上务必要密文传输。发送方执行加密操作,接收方执行解密操作。互联网支付密码是以192位二进制数参与加密和解密运算,其明码在这个数中的分布,称互联网支付密码数据块。在CUPS和入网机构之间,其格式如下图所示。NNPPPPPPP/FP/FP/FP/FP/FP/FP/FP/FP/FP/FP/FP/FP/FP/FFF注1:P表示Password,F表示Filler注2:N为互联网支付密码的长度(8bit)注3:P为8-bit二进制互联网支付密码的字符注4:P/F为8-bit二进制互联网支付密码的字符/填充字符注5:F为8-bit二进制互联网支付密码的填充字符图4 互联网支付密码数据块3.4.1 互联网支付密码的长度互联网支付密码的长度必须在6到20个字符以内。3.4.2 互联网支付密码的字符集互联网支付密码均为ASCII码字符,既可为字符,也可以为数字,或其它符号。3.4.3 互联网支付密码 BLOCK互联网支付密码的格式应符合如下规则:表11 互联网支付密码的格式位置长度说明12 BYTE互联网支付密码的长度222BYTE620位互联网支付密码的字符(每个字符占1个Byte,不足部分右补空白字符,即0xFF)示例5:明文互联网支付密码:Hello!123由于互联网支付密码都是字符明文显示,所以这里需将其首先转换为ASCII:互联网支付密码明文Hello!123每个字符对应的ASCII7210110810811133495051每个字符对应的十六进制0x480x650x6C0x6C0x6F0x210x310x320x33根据图4显示的补充原则,前面补两个字符的长度位,该密码共9个字符,因此补09两个字符,转换为ASCII是48和57,转换为十六进制是0x30和0x39。后面需要补充13位的空白字符,转换为十六进制为0xFF,因此最终得到的互联网支付密码BLOCK如下:0x30 0x39 0x48 0x65 0x6C 0x6C 0x6F 0x21 0x31 0x32 0x33 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF3.4.4 互联网支付密码的加密方法将根据上述步骤生成的互联网支付密码 BLOCK输入到硬件加密机中,并与存储在硬件加密机中的双倍长PIK用双倍长密钥算法计算,即可得到24个字节的互联网支付密码的密文。这里需要注意两点:1)计算互联网支付密码的密钥也是PIK;2)互联网支付密码应采用双倍长密钥算法。3.4.5 互联网支付密码异常的处理异常处理流程和错误应答码都同PIN的处理方式。4 新旧密钥切换4.1 入网机构发起的申请重置密钥4.1.1 交易流程入网机构将申请重置密钥请求发送给CUPS,CUPS接收到该请求后,将立即返回应答。同时CUPS启动密钥更新模块,为请求方生成新密钥,并将新密钥用重置密钥请求报文发送给入网机构。当CUPS无法将申请重置密钥应答或重置密钥请求发送给入网机构时,将丢弃该报文。1入网机构发往CUPS的申请重置密钥(0820)2CUPS发往入网机构的应答(0830)3CUPS发往入网机构的重置密钥请求(0800)4入网机构发往CUPS的重置密钥请求的应答(0810)图5 入网机构申请重置密钥流程4.1.2 流程图注1:RSI-MB-SC:入网机构发往CUPS的申请重置密钥请求报文(0820)注2:RSI-SC-MB:CUPS返回入网机构的申请重置密钥应答报文(0830)注3:KSM-SC-MB:CUPS发往入网机构的重置密钥请求报文(0800)注4:KSM-MB-SC:入网机构返回CUPS的重置密钥应答报文(0810)图6 入网机构发起的申请重置密钥流程图4.1.3 入网机构申请重置密钥说明第一阶段:向CUPS发送申请重置密钥的请求入网机构在认为必要的时侯,可以向CUPS发送申请重置密钥的请求(RSI-MB-SC)(0820),将请求的密钥类型发往CUPS,然后等待CUPS返回的入网机构申请重置密钥的应答报文(RSI-SC-MB)(0830)。如果在规定的时间里未得到应答,可重试若干次,若仍然未得到应答,请求人工干预。第二阶段:接收新密钥 CUPS在发送CUPS重置密钥报文(KSM-SC-MB)(0800)时已采用新密钥计算MAC,当入网机构收到CUPS发来的KSM-SC-MB后,取出新密钥,并用新密钥对报文验证MAC。请求报文的MAC算法参见3.2.4.2.2.1节。然后向CUPS发送对CUPS重置密钥的应答报文(KSM-MB-SC)(0810),应答报文用新密钥产生MAC。应答报文的MAC算法参见3.2.4.2.2.2节。成功接收新密钥后,加设新密钥启用标记,由入网机构发出的所有报文应启用新密钥加密。新旧密钥切换窗口定义为3分钟,此时新旧密钥共存。在时间窗口之内,入网机构对接收到的CUPS发送来的PIN和MAC的信息,首先用新密钥进行解密、转换或验证,如果出现PIN格式错误或MAC验证错误,则必须再用旧密钥进行解密、转换或验证,如再出错,则为实际出错,加、解密操作失败,机构应考虑再次尝试重置密钥,如果仍然失败,则应考虑与银联进行手工密钥重置的应急手段(电话联系银联运维人员)。事后,机构应检查自己的加解密程序是否有问题,并联系银联获取帮助。在时间窗口限定时间结束后,入网机构执行下述工作:a) 新密钥替换旧密钥;b) 消除新密钥启用标记;c) 申请重置密钥结束。如果在时间窗口结束以后,机构仍然发现使用新密钥进行的加解密操作出错,应进行人工干预,尽快联系银联工作人员,检查问题所在。4.1.4 报文格式入网机构申请重置密钥报文 (RSI-MB-SC) 报文格式如下:表12 入网机构申请重置密钥报文格式位域 名 动 作 MESSAGE-TYPEIDENTIFIER值 0820“BIT-MAPb1287TRANSMISSION-DATE-AND-TIME系统时间11SYSTEM-TRACE-AUDIT-NUMBER系统跟踪号33FORWARDING-INSTITUTION-IDENTIFICATION-CODE发送机构标识代码 53SECURITY-RELATED-CONTROL-INFORMATION第1位:密钥类型(最左)1 PIK2 MAK第2位:加密算法类型0 单倍长密钥算法6 双倍长密钥算法第3位第16 位:保留,暂填零。70NETWORK-MANAGEMENT-INFORMATION-CODE 值“101”入网机构申请重置密钥的应答报文 (RSI-SC-MB) 格式如下:表13 入网机构申请重置密钥的应答报文格式位域 名 动 作 MESSAGE-TYPEIDENTIFIER值 0830“BIT-MAPb1287TRANSMISSION-DATE-AND-TIME系统时间11SYSTEM-TRACE-AUDIT-NUMBER系统跟踪号33FORWARDING-INSTITUTION-IDENTIFICATION-CODE发送机构标识代码 39RESPONSE-CODE应答码53SECURITY-RELATED-CONTROL-INFORMATION第1位:密钥类型(最左)1 PIK2 MAK第2位:加密算法类型0 单倍长密钥算法6 双倍长密钥算法第3位第16 位:保留,暂填零。70NETWORK-MANAGEMENT-INFORMATION-CODE 值“101”当入网机构的主密钥和成员主密钥安装成功后,应首先向CUPS发出申请重置密钥的请求。 每一请求仅能申请一个数据密钥,所以入网机构将根据需要向CUPS发出数个请求。4.2 CUPS发起的重置密钥4.2.1 交易流程CUPS将重置密钥请求发送给入网机构,入网机构接收到该请求后将应答返回CUPS。当入网机构故障,CUPS收不到应答时,直接进行人工处理。1CUPS发往入网机构的重置密钥请求(0800)(简记为KSMSCMB)2入网机构发往CUPS的重置密钥应答(0810)(简记为KSMMBSC)图7 CUPS重置密钥流程4.2.2 流程图注1:RSI-MB-SC:入网机构发往CUPS的申请重置密钥请求报文(0820)注2:RSI-SC-MB:CUPS返回入网机构的申请重置密钥应答报文(0830)注3:KSM-SC-MB:CUPS发往入网机构的重置密钥请求报文(0800)注4:KSM-MB-SC:入网机构返回CUPS的重置密钥应答报文(0810)图8 CUPS发起的重置密钥流程图4.2.3 CUPS发起的重置密钥说明CUPS向入网机构发送重置密钥请求(KSM-SC-MB)(0800)报文后,等待入网机构返回的重置密钥的应答(KSM-MB-SC)(0810)报文。如CUPS在一定时间内没有得到应答报文,则直接请求人工干预处理。CUPS收到入网机构成功的重置密钥应答报文(KSM-MB-SC)后,CUPS必须用新密钥验证MAC,应答报文的MAC算法参见3.2.4.2.2.2节。在MAC验证成功以后,CUPS加设新密钥启用标记,由CUPS发出的所有报文启用新密钥加密。如果MAC验证不成功,CUPS应采用人工干预,主动联系机构并提供尽可能的帮助和建议。新旧密钥的切换窗口为3分钟,此时新旧密钥共存。在时间窗口之内,CUPS对接收到的入网机构发送来的PIN和MAC的信息,首先用新密钥进行解密、转换或验证,如果出现PIN格式错误或MAC验证错误,则必须再用旧密钥进行解密、转换或验证,如再出错,则为实际出错,加、解密操作失败,CUPS应主动联系机构并提供尽可能的帮助和建议。在时间窗口限定时间结束后,CUPS执行下述工作:a)新密钥替换旧密钥b)消除新密钥启用标记c)重置密钥结束。如果在时间窗口结束以后,CUPS仍然发现使用新密钥进行的加解密操作出错,应进行人工干预,尽快联系机构工作人员,检查问题所在。4.2.4 报文格式CUPS重置密钥报文(KSM-SC-MB) 格式如下: 表14 CUPS重置密钥报文格式位域 名 动 作 MESSAGE-TYPEIDENTIFIER值 0800“BIT-MAPb1287TRANSMISSION-DATE-AND-TIME系统时间11SYSTEM-TRACE-AUDIT-NUMBER系统流水号48ADDITIONAL-DATA-PRIVATE新密钥的密文53SECURITY-RELATED-CONTROL-INFORMATION第1位:密钥类型(最左)1 PIK2 MAK第2位:加密算法类型0 单倍长密钥算法6 双倍长密钥算法第3位第16 位:保留,暂填零。70NETWORKMANAGEMENTINFORMATIONCODE值“101”96MESSAGESECURITYCODE新密钥的密文,最大长度为8字节100RECEIVING-INSTITUTION-IDENTIFICATION-CODE接收机构标识代码128MAC Message Authentication CodeCUPS重置密钥的应答报文 (KSM-MB-SC) 格式如下:表15 CUPS重置密钥的应答报文格式位域 名 动 作 MESSAGE-TYPEIDENTIFIER值 0810“BIT-MAPb1287TRANSMISSION-DATE-AND-TIME系统时间11SYSTEM-TRACE-AUDIT-NUMBER系统流水号39RESPONSE-CODE应答码53SECURITY-RELATED-CONTROL-INFORMATION第1位:密钥类型(最左)1 PIK2 MAK第2位:加密算法类型0 单倍长密钥算法6 双倍长密钥算法第3位第16 位:保留,暂填零。70NETWORKMANAGEMENTINFORMATIONCODE 值“101”100RECEIVING-INSTITUTION-IDENTIFICATION-CODE 接收机构标识代码128MAC Message Authentication Code 4.3 新旧密钥的切换处理(同步)新旧密钥的切换处理(同步),即在重置密钥过程中何时启用新密钥。入网机构用新密钥加解密是在收到 KSM-SC-MB(重置密钥请求报文,0800),并成功解开密钥之后。入网机构成功解开新密钥之后,会用新密钥构造KSM-MB-SC(重置密钥应答报文,0810)中的MAC值。CUPS用新密钥加解密是在收到并成功验证入网机构KSM-MB-SC(重置密钥应答报文,0810) 的MAC值之后。所以入网机构在CUPS之前启用新密钥,这里面就存在一个时间差。在这个时间差中,有用旧密钥加密的交易,也有用新密钥加密的交易,必须设置一段新旧密钥共存的时期,这个时间被称为“新旧密钥切换时间窗口”。考虑到网络的延迟和抖动,本规范将这个窗口时间定为3分钟。3分种之内,各交易的加解密处理流程是:先用新密钥计算和验证,如果不正确,再采用旧密钥计算和验证。一般而言,用新密钥不成功,用旧密钥就会成功。但如果用旧密钥也不成功,则说明密钥重置很可能出现了问题,导致双方密钥不同步,此时建议及早进行人工干预。3分钟结束以后,时间窗口就应关闭,这时所有交易的加解密操作都应用新密钥。如果发现在启用新密钥后,仍然存在大量交易加解密错误的话,则说明密钥重置很可能出现了问题,导致双方密钥不同步,此时建议及早进行人工干预。重置密钥事件的时间和事件图示:图9 重置密钥事件的时间和事件图5 PBOC借/贷记标准IC卡安全说明5.1 PBOC借/贷记标准IC卡的安全认证功能安全认证功能是IC卡中的一项关键功能。在IC卡的联机认证过程中涉及到2个层次的认证。 联机交易时,发卡行对卡片的认证(Online Card Authentication)联机交易时,卡片产生ARQC(Authorization Request Cryptogram)。发卡行对ARQC进行验证,判断卡片真伪。 联机交易时,卡片对发卡行的认证(Online Issuer Authentication)联机交易时,发卡行产生ARPC(Authorization Response Cryptogram)。卡片对ARPC进行验证,判断发卡行的真伪。5.2 ARQC的生成算法5.2.1 ARQC的生成过程ARQC的生成首先需要计算UDK(Unique Derivation Key,唯一分散
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!