您好,欢迎访问三七文档
HygHygHygHyg金融加密机应用培训金融加密机应用培训金融加密机应用培训金融加密机应用培训&&&&快速实施总结快速实施总结快速实施总结快速实施总结-1-金融加密机应用培训&&&&快速实施总结版本修订人修订说明批准人发布日期1.0.0.0韩有根编写2009-6-162.0.0.0韩有根修订修订2011-4-10HygHygHygHyg金融加密机应用培训金融加密机应用培训金融加密机应用培训金融加密机应用培训&&&&快速实施总结快速实施总结快速实施总结快速实施总结-2-编写目的编写目的编写目的编写目的根据以往经历尝试对国内金融加密体系和加密机的知识作出一定的总结,阅读对象应为恒生电子的项目实施技术人员,以期达到能够快速实施项目。1.1.1.1.有关加密机的知识1.1.1.1.1.1.1.1.型号型号型号型号SJL06E、SJL06T、SJL22:江南计算机研究所(56所),其中SJL06T、SJL06E为江南卡友、SJL22为江南歌盟。SJL05:卫士通信息产业股份有限公司(30所)。1.2.1.2.1.2.1.2.通讯方式通讯方式通讯方式通讯方式应用软件通过TCP方式调用加密机服务。1.3.1.3.1.3.1.3.在银行业具体应用在银行业具体应用在银行业具体应用在银行业具体应用密钥管理、PIN保护、消息完整性控制,具体下来包括以下:�产生随机终端通讯密钥并打印;�产生随机工作密钥并用本地主密钥;�验证接受到的工作密钥并转换为本地主密钥加密保护;�根据明文PIN生成指定格式(ANSIX9.8)的密文PINBLOCK;�转换PINBLOCK(包括密钥和格式转换);�校验MAC;�生成MAC;�解密明文PIN;�CVV&CVN的校验;HygHygHygHyg金融加密机应用培训金融加密机应用培训金融加密机应用培训金融加密机应用培训&&&&快速实施总结快速实施总结快速实施总结快速实施总结-3-2.2.2.2.密钥体系知识2.1.2.1.2.1.2.1.三层密钥体系三层密钥体系三层密钥体系三层密钥体系银行业使用标准为:ansix9.17,为三层密钥体系,对不同密钥(特别是工作密钥)的功能做了严格的使用限制,专钥专用限定。密钥分层体系图示如下:本地主密钥传输主密钥工作密钥第一层是加密机主密钥(MK或LMK),第二层是银行主密钥(BMK或ZMK),第三层是工作密钥包括信息完整性密钥(MAK)、PIN保护密钥(PIK)、终端密钥(TMK)。第一层,MK为加密机主密钥,由三个成分组成,采用双倍标准的3DES密钥(长达128),存放在硬件加密机内。它的作用是将所有在本地存放的其它密钥和加密数据进行加密。由于本地存放的其它密钥和加密数据都是在MK加密之下,因此,MK是最重要的密钥。第二层,BMK通常称为密钥加密密钥(Kev—encryptingKey)或密钥交换密钥(KeyExchangeKey)。它的作用是加密在通讯线路上需要传递的工作密钥。从而实现工作密钥的自动分配。在本地或共享网络中,不同的两个通讯网点使用不同的密钥加密密钥,从而实现密钥的分工管理,它在本地存放时,处于本地MK的加密之下或直接保存在硬件加密机中。第三层,通常称为工作密钥或数据加密密钥。包括PIK、MAK、TMK(包括TPK、TAK)等密钥。它的作用是加密各种不同的数据,从而实现数据的保密、信息的认证,以及数字签名等功能,这些数据密钥在本地存放时,处于BMK的加密之下或直接保存在硬件加密机中。2.2.2.2.2.2.2.2.名词解释名词解释名词解释名词解释本地主密钥(LocalMasterKey),即为加密机主密钥,是指存储在加密机中,用于保护存储在加密机外的各种密钥和关键数据的密钥加密密钥。传输主密钥(TransferMasterKey),是指在两台加密设备间(加密机和加密机或加密机和终端HygHygHygHyg金融加密机应用培训金融加密机应用培训金融加密机应用培训金融加密机应用培训&&&&快速实施总结快速实施总结快速实施总结快速实施总结-4-间)用于加密保护工作密钥的更换。同属类型的有:ZMK,TMK,BMK。工作密钥(WorkingKey)是指处理对象为一般数据的密钥。同属类型的有ZAK,ZPK。LMK是所有密钥的根。ZMK、ZAK、ZPK等密钥,都是基于LMK保护存储在外部的。2.3.2.3.2.3.2.3.算法体系算法体系算法体系算法体系国内金融加密机加密算法遵循以下2个加密体系:雷卡体系、金卡体系。雷卡体系使用了ZMK的指令集模式对外发布使用方法,而金卡体系使用了加密索引的API模式对外发布使用方法。金卡体系的BMK存放于加密机,通过索引访问。具体来说,在金卡体系里是由密码机产生一个128bits,192bit的随机数作为指定的银行主密钥,保存在密码机内,并用主密钥加密后返回给主机。而在雷卡体系里LMK加密之下,由应用本地存放。雷卡体系中通过向加密机提交密文ZMK(经LMK加密后的)运算完成,而在金卡体系中则通过提交索引来完成。3.3.3.3.开发实施以下介绍如何快速实施3.1.3.1.3.1.3.1.步骤步骤步骤步骤1111::::灌装灌装灌装灌装拿到加密机硬件后,首先向厂商确定(灌入加密机的)算法体系(金卡、雷卡),对应的编写应用函数时使用的不同的算法。插入A卡,通过加密机面板菜单或厂商提供的管理程序注入主密钥3个成份,每个成份为32个十六进制数。之后,保存主密钥至A卡、B卡。注入BMK,选择银行索引号(4位数,例如0001为1),输入2个成分;保存银行主密钥至C卡。如果有加密机备机的话,操作面板,将A、B、C卡上的主密钥、银行主密钥灌入到备机上,导入时需要输入口令,即当初保存时的写口令。操作面板,选择校验主密钥、银行密钥,校验输入成分是否一致。3.2.3.2.3.2.3.2.步骤步骤步骤步骤2222::::授权授权授权授权56所的加密机管理时需要插入A卡进行授权,30所加密机里PIN解明文功能的放开需要插卡授权。HygHygHygHyg金融加密机应用培训金融加密机应用培训金融加密机应用培训金融加密机应用培训&&&&快速实施总结快速实施总结快速实施总结快速实施总结-5-3.3.3.3.3.3.3.3.步骤步骤步骤步骤3333::::编写应用函数编写应用函数编写应用函数编写应用函数3.3.1.3.3.1.3.3.1.3.3.1.SJL06ESJL06ESJL06ESJL06E系列APIAPIAPIAPI源码(金卡模式)hsmapi_06e.rar3.3.2.3.3.2.3.3.2.3.3.2.SJL06TSJL06TSJL06TSJL06T系列APIAPIAPIAPI源码(金卡模式)hsmapi_06t.rar3.4.3.4.3.4.3.4.MACMACMACMAC服务服务服务服务3.4.1.3.4.1.3.4.1.3.4.1.MACMACMACMAC称为信息/报文来源正确性鉴别码(MAC-MessageAuthenticationCode),是一种判别报文来源是否正确,以及报文在发送途中是否被篡改的计算方法。MAC算法取自于《ISO8731-1992ApprovedAlgorithmsforAuthentication》。3.4.2.3.4.2.3.4.2.3.4.2.何时使用MACMACMACMAC一般的,对于会涉及资金变动(含冻结、解冻等)类的交易,例如查询类交易可以不做MAC,而转帐及预授权交易需做MAC;请求报文需要产生MAC,交易接收端需验证请求报文的MAC;同时,交易接收端需要对响应报文产生MAC,对端也需要验证其MAC。3.4.3.3.4.3.3.4.3.3.4.3.MACMACMACMAC报文域的选择3.4.3.1.3.4.3.1.3.4.3.1.3.4.3.1.MACMACMACMAC域选取规则域选取规则域选取规则域选取规则MAC域的选择采用交易两端约定的方式,MAC算法采用密文块链接(CBC)的模式。参与MAC计算的数据元集,一般包括以下数据域:——具有唯一性的数据域(流水号、日期、时间等)——表征报文特征的数据域(报文类型、交易种类等)HygHygHygHyg金融加密机应用培训金融加密机应用培训金融加密机应用培训金融加密机应用培训&&&&快速实施总结快速实施总结快速实施总结快速实施总结-6-——交易相关数据域(卡号、金额、应答码等)一种就是取有值的预定域,按约定规则拼装形成MACBLOCK。一种是自0号域到63域(不含bitmap)作为MACBLOCK。3.4.3.2.3.4.3.2.3.4.3.2.3.4.3.2.MACMACMACMAC字符的选择字符的选择字符的选择字符的选择建议对所选择的MAC报文域,应进一步作字符处理。除去一些冗余信息,以提高MAC的质量。处理方法如下:a)带长度值的域在计算MAC时应包含其长度值信息;b)在域和域之间插入一个空格;c)所有的小写字母转换成大写字母;d)除了字母(A-Z),数字(0-9),空格,逗号(,)和点号(.)以外的字符都删去;e)删去所有域的起始空格和结尾空格;f)多于一个的连续空格,由一个空格代替。以上对于MAC字符的选择规则仅供参考。考虑到对MAC字符做进一步处理会在一定程度上损耗交易处理的性能,因此,具体由当时的交易类型情况进行判断是否选用以上规则中的一条或某几条。3.4.4.3.4.4.3.4.4.3.4.4.MACMACMACMAC方法总结3.4.4.1.3.4.4.1.3.4.4.1.3.4.4.1.CBCCBCCBCCBC模式模式模式模式(X9.9MAC(X9.9MAC(X9.9MAC(X9.9MAC算法,银联标准算法算法,银联标准算法算法,银联标准算法算法,银联标准算法))))MAC算法如下:1)算法定义:采用DESCBC算法。2)初始数据:0x000x000x000x000x000x000x000x00。3)原始数据:4)补位数据:若原始数据不是8的倍数,则右补齐0x00。若原始数据为8的整数倍,则不用补齐0x00。5)密钥:MAC密钥。MAC的产生由以下方式完成:(最后一组数据长度若不足8的倍数,则右补齐0x00;若数据长度为8的整数倍,则无需补充0x00)。MAC签名计算流程图:HygHygHygHyg金融加密机应用培训金融加密机应用培训金融加密机应用培训金融加密机应用培训&&&&快速实施总结快速实施总结快速实施总结快速实施总结-7-Block#1Block#2Block#3Block#NDESDESDESDESXORXORXORMAC初始数据XORKEYKEYKEYKEY3.4.4.2.3.4.4.2.3.4.4.2.3.4.4.2.ECECECECBBBB模式模式模式模式(POS(POS(POS(POS终端直接模式终端直接模式终端直接模式终端直接模式MACMACMACMAC算法算法算法算法))))POS终端采用ECB的加密方式,简述如下:a)将欲发送给POS中心的消息中,从消息类型(MTI)到63域之间的部分构成MACELEMEMENTBLOCK(MAB)。b)对MAB,按每8个字节做异或(不管信息中的字符格式),如果最后不满8个字节,则添加“0X00”。示例:MAB=M1M2M3M4其中:M1=MS11MS12MS13MS14MS15MS16MS17MS18M2=MS21MS22MS23MS24MS25MS26MS27MS28M3=MS31MS32MS33MS34MS35MS36MS37MS38M4=MS41MS42MS43MS44MS45MS46MS47MS48按如下规则进行异或运算:MS11MS12MS13MS14MS15MS16MS17MS18XOR)MS21MS22MS23MS24MS25MS26MS27MS28---------------------------------------------------TEMPBLOCK1=TM11TM12TM13TM14TM15TM16TM17TM18然后,进行下一步的运算:TM11TM12TM
本文标题:金融加密机应用培训
链接地址:https://www.777doc.com/doc-250325 .html