金融加密机应用培训_第1页
金融加密机应用培训_第2页
金融加密机应用培训_第3页
金融加密机应用培训_第4页
金融加密机应用培训_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、o/A/nc/b桓牛瞅了越饬右限公司NUMALIH nCMMOItMJl IN<知佥孩和住机龙用番钳厶快建实他4件_ 9 ._ 9 .金融加密机应用培训&快速实施总结版本修订人修订说明批准人发布日期1. 0. 0. 0韩有根编写2009-6-162. 0. 0. 0韩有根修订2011-4-10知佥孩知住机龙用番酬厶豪建实他4件编写目的根据以往经历尝试对国内金融加密体系和加密机的知识作出一定的总结,阅读对象应 为恒生电子的项目实施技术人员,以期达到能够快速实施项目。1有关加密机的知识伯型号S兀06E. SJL06T. S兀22:江南计算机研究所(56所),其中SJL06T、S兀06

2、E为江南卡友、SJL22为江南歌盟。SJL05:卫士通信息产业股份右限公司(30所)。4.2通讯方式应用软件通过TCP方式调用加密机服务。化3在银行业具体应用密钥管理、PIN保护、消息完整性控制,JL体下来包括以口> 产生随机终端通讯密钥并打印:> 产生随机匸作密钥并用本地主密钥:>验证接受到的匸作密钥并转换为本地主密钥加密保护;> 根据明文PIN生成指定格式(ANSIX9 8)的密文PINBLOCK:> 转换PINBLOCK (包括密仞和格式转换):> 校验MAC;> 生成MAC;> 解密明文PIN:CW&CVN的校验:_ 9 .2密钥

3、体系知识2/1三层密钥体系银行业使用标准ansiX9 17,为三层密钥体系,对不同密钥(特别是匸作密钥)的 功能做了严格的使用限制,专钥专用限定。密钥分层体系图示如F:第-艮是加密机主密钥(MK或LMK),笫:层是银行主密钥(BMK或ZMK),第三层是匸作 密钥包括信息完整性密钥(MAK)、PIN保护密钥(PIK)、终端密钥CTMK)。第一层,MK为加密机主密钥,由三个成分组成,采用双倍标准的3DES密钥(长达128), 心放在破件加密机内。它的作川是将所仃在本地存放的其它密钥和加密数据进彳f加密。曲J- 本地存放的具它密钥和加密数据都是在MK加密之下,因此,MK是最巫耍的密钥。第:BMK通常

4、称为密钥加密密钥(Kevencrypting Key)或密钥交换密钥(Key ExchangeKey)。它的作用是加密在通讯线路上需耍传递的工作滋钥。从而实现工作密0J的11 动分配。在本地或共亨网络中,不同的两个通讯网点便用不同的密钥加密密钥,从而实现密 钥的分工管理,它在本地存放时,处本地MK的加密之下或直接保存在硕件 加密机中。第三层,通常称为工作密钥或数据加密密钥。包括PIK、MAK、TMK(包括TPK、TAK)等 密钥。它的作用是加密各种不同的数据,从而实现数据的保密、信息的认证,以及数字签名 等功能,这些数据密钥在本地心放时,处J:BMK的加密ZF或曲接保存在啖件加於机中。2.2名

5、词解释本地上密钥(Local Master Key),即为加密机主密仞,是指存储在加密机中,用丁保护存储在 加密机外的各种密钥和关键数据的密钥加密密钥。传输主密钥(Transfer Master Key),是指在两台加密设备间(加密机和加密机或加密机和终端H3DS&您空曲滋陈讦知 佥段鑽机戏闇番裡&快建实他足件间)用加密保护匸作密钥的更换。同属类型的令:ZMK,TMK,BMK。工作密钥(WorkingKey)是指处理对彖为般数据的密例。同属类熨的仃ZAK,ZPK°LMK是所有密钥的根。ZMK、ZAK、ZPK等密钥,都是基J: LMK保护存储在外部的。2.3算法体系国内

6、金融加密机加密算法遵循以下2个加密体系:雷卡体系、金卡体系。雷卡体系使用了 ZMK的指令集模式对外发布使用方法,而金卡体系使用了加密索引的API 模式对外发布使用方法。金卡体系的BMK存放丁加密机,通过索引访问。貝体來说,在金卡体系里是由密码机产生一个128bits, 192bit的随机数作为指定的银行主 密钥,保存在密码机内,并用主密钥加密后返回给主机。而在雷卡体系里LMK加密Z下,由应用本地存放。雷卡体系中通过向加密机提交密文ZMK (经LMK加密后的)运算完成,而在金E体系中 则通过提交索引来完成。3.开发实施以卜介绍如何快速实施3/I.步骤1:灌装京到加密机锁件厉,首先向厂商确定(灌入

7、加密机的)算法体系(金卡、雷卡),对应的编写应 用曲数时使用的不同的算法。插入A忖,通过加密机面板菜单或厂商提供的管理程序注入匸密钥3个成份,每个成份为32 个十六进制数。之后,保存主密钥至A卡、B卡。注入BMK.选择银行索引号(4位数,例如0001为I),输入2个成分:保存银行主密钥至 C卡。如果有加密机备机的话,操作面板,将A、B、C卡上的主密钥、银行主密钥灌入到备机上, 导入时需耍输入口令,即当初保存时的写口令。操作而板,选择校验主密钥、银行密钥,校验输入成分是否一致。32步骤2:授权56所的加密机管理时需耍插入A卡进行授权,30所加密机里PIN解明文功能的放开需耍插 卡授权。3HIND

8、SINZ 牛 rhYBCifiWiiai知佥孩知住机龙用番钳厶豪建实他A件3.3步骤3:编写应用函数3J.1.SJL06E系列API源码(金卡模式)hsmapi_06e. xar33.2.SJL06T系列API源码(金卡模式)hsmapi_06t. rar3.4. MAC 服务3.4.1. MAC称为信息/报文來源正确性鉴别码(MAC-Message Authentication Code),是一种判别 报文來源是否正确,以及报文在发送途中是否被篡改的计算方法。MAC 算法取 fl J:ISO8731 -1992 Approved Algonthms for Authentication3.4

9、2何时使用MAC一般的,对J:会涉及资金变动(含冻结、解冻等)类的交易,例如資询类交易可以 不做MAC,而转帐及预授权交易需做MAC;请求报文需耍产生MAC,交易接收端希验证请求报文的MAC;同时,交易接收端 需耍对响应报文产生MAC,对端也需耍验证其MAC。3.43.MAC报文域的选择3.4.3.1. MAC域选取规则MAC域的选择采用交易两端约定的方式,MAC算法采用寿文块链接(CBC)的模式。 参打MAC计算的数据元集,一般包括以卜数据域: 具有唯一性的数据域(流水号、口期、时间等)表征报文特征的数据域(报文类熨、交易种类等)5H屮D命第忠耙總知佥段舸鑽机戏闇番裡&袂建实他足件

10、交易相关数据域(卡号、金额、应答码等)-种就是取冇值的预定域,按约定规则拼装形成MAC BLOCKo一种是自0号域到63域(不含bitmap)作为MAC BLOCK。3.4.3.2.MAC字符的选择建议对所选择的MAC报文域,应进-步作字符处理。除去一些兀余信息,以提高MAC 的质最。处理方法如下:a)带长度值的域在计算MAC时应包含具长度值信息:b)在域和域之间插入一个空格;c)所有的小写字母转换成大写字母;d)除了字母(A-Z),数字(0-9).空格,逗号(,)和点号()以外的字符都删去;e)删去所有域的起始空格和结尾空格;0多于一个的连续空格,由一个空格代替。以上对J - MAC 7符的

11、选择规则仅供参考。考虑到对MAC字符做进一步处理会在一定 程度上损耗交易处理的性能,因此,具体由半时的交易类熨情况进行判断是否选用以上规则 中的一条或某儿条。3.4.4.MAC方法总结3.4.4.1. CBC模式(X9.9MAC算法,银联标准算法)MAC算法如下:1)算法定义:采用DES CBC算法。2)初始数据:0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00.3)原始数据:4)补位数据:若原始数据不是8的倍数,则右补齐0x00。若原始数据为8的辖数倍,则不用补齐0x00。5)密 钥:MAC密钥。MAC的产生宙以卜方式完成:(最后一俎数据氏度杆不足8的倍数,则右

12、补齐0x00: 若数据长度为8的整数倍,则无需补充0x00)。MAC签名计算流程图:#HINDSIN3.4.4.2. ECB模式(POS终端直接模式MAC算法)POS终端采用E C B的加密方式,简述如下:a)将欲发送给POS中心的消息中,从消息类型(MTI)到63域之间的部分构成MACELEMEMENT BLOCK (MAB) ob)对MAB,按每8个字节做异或(不管信息屮的字符格式).如果绘后不满8个字节, 则添加“0X00”。示例XAB = N1 M2 M3其中:Nl = MS11MS12MS13MS11MS15MS16MS17MSI 812 = MS21MS22MS23MS24MS25

13、MS26MS27MS28X3 = MS31MS32MS33MS34MS35MS36MS37MS38X4 = MS41MS42MS43MS44MS45XS46MS47MS48按如下规则进行并或运算:MS11 MS12 MS13 MSI4 MS15 XS16 MS17 MS18XOR)MS21 MS22 MS23 MS24 MS25 MS26 MS27 MS28TEMP BL0CK1 = TM11 TM12 TM13 TM14 TM15 TM16 TM17 TM18然垢.进行卜一步的运算:XOR)TM11 TM12 TM13 TM14 TM15 TM16 TM17 TM18MS31 MS32 MS

14、33 MS31 MS35 MS36 MS37 MS38TEMP BL0CK2 =TM21 TM22 TM23 TM24 TM25 TM26 TM27 TM28再进行下一步的运算:TM21 TM22 TM23 TM24 TM25 TM26 TM27 TM28IOR)MS11 MS42 MS43 MS44 MS15 MS46 MS47 MSI8RESULT BLOCK = TM31 TM32 TM33 TM34 TM35 TM36 TM37 TM38c) 将界或运算后的最后8个字巧(RESULT BLOCK)转换成16个HEXDECIMAL: RESULT BLOCK = TM31 TM32 TM

15、33 TM34 TM35 TM36 TM37 TM38=TM311 TM312 TM321 TM322 TM331 TM332 TM311 TM342 | |TM351 TM352 TM361 TM362 TM371 TM372 TM381 TM382d) 取前8个字节用MAK加密:ENC BLOCK 1 = eMAK (TM311 TM312 TM321 TM322 TM331 TM332 TM311 TM342)二 ENU EN12 EN13 EN14 EN15 EN16 EN17 EN18e) 将加密后的结果与后8个字节异或:EN11 EN12 EN13 EN14 EN15 EN16 E

16、N17 EN18XOR)TM351 TM352 TM361 TM362 TM371 TM372 TM381 TM382TEMP BLOCK= TE11 TE12 TE13 TE14 TE15 TE16 TE17 TE18f) 用异或的结果TEMP BLOCK再进行一次单倍长密钥算法运算。ENC BLOCK2 = eMAK (TE11 TE12 TE13 TE11 TE15 TE16 TE17 TE18)=EN21 EN22 EN23 EN24 EN25 EN26 EN27 EN28g) 将运算后的结果(ENC BLOCK2)转换成16个HEXDECIMAL:ENC BLOCK2 = EN21

17、EN22 EN23 EN24 EN25 EN26 EN27 EN28=EM211 EM212 EM221 EM222 EM231 EM232 EM211 EM242 | | EM251 EM252 EM261 EM262 EM271 EM272 EM281 EM282 示例:ENC RESULT= %H84,刈56, %HB1, %HCD, %H5A, %H3F, %H84, %H84转换成 16 个HEXDECIMAL:-8456B1CD5A3F8484Mh) 取前8个字节作为MAC值。HC8456B1CD“为 MAC 值。MAC签名计算流程图:I 牛 ihYWCiflWiinl知佥孩知住机

18、龙用番钳厶豪建实他4件从上面分析ECB与CBC算法,是有差异的,但是可以转化的,即CBC算法与区域异或介并 后及时ECBJ?法。可以通过软件转化。下面为转化函数过程(C源代码).CBC+XOR->ECB 模式preaakeBac. c3.5. PIN 服务3.5.1.PIN BLOCK【值方法(1) ANSI X9 8 Format (不带主账乃信息)位置长度说明11 BYTEPIN的长度07 BYTE6-12位PIN(每个字符占4个BIT,不足8位右补F)例如:明文PIN为123456,则 PIN BLOCK 为 0x06 0x12 0x34 0x56 OxFF OxFF OxFF OxFF(2) ANSI X9.8 Format (带主账号信息)PIN BLOCK格式等J: PIN按位异或主账(PAN):PIN格式:位置长度说明11 BYTEPIN长度7 BYTE612位PIN(每个字符占4个BIT,不足8位右补F)PAN格式:位置长度说明12 BYTE%H000035 BYTE取主账匕的右位(不包括最右边的校於位),不足12 位左补0例如:明文PIN为:123456.假设:幽卡上的 PAN: 1234 5678 9012 3456 78截取卜的 PAN: 6789 0123 4567则用 J: PIN 加密的 PAN 为:0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论