1、1.2 各种密钥的注入与分发1.2.1 本地主密钥通常由各成员行(或下属机构)采用加密机前面板上的键盘或直接通过IC卡注入到加密机中,各成员行的本地主密钥各不相同。一般本地主密钥的注入都由成员行的三位高层领导注入,三人分别保存一部分密钥(密钥分量Component),三部分密钥可以在加密机中以一定的算法(异或)合成为最终的本地主密钥(或通过衍生(Derive)生成密钥对)。本地主密钥在注入加密机时通过IC卡进行备份,当加密机密钥丢失时可用IC卡来恢复。1.2.2 区域主密钥(银行主密钥)一般由上级机构(金卡中心)产生并分发。上级机构(金卡中心)产生并保存下属机构(各成员行)的区域主密钥(银行主
2、密钥),同时将密码分量的明文或IC卡的形式将区域主密钥(银行主密钥)下发给下属机构(各成员行)。下属机构(成员行)将密钥分量注入到加密机内,如果区域主密钥(银行主密钥)是保存到本机构的主机数据库中,则将区域主密钥(银行主密钥)注入到加密机后,加密机显示本地主密钥加密的区域主密钥(银行主密钥)密文,由银行工作人员将其录入主机数据库。银行主密钥通常由两人注入,各自保存一部分。区域主密钥中的终端主密钥由各成员行自己注入到加密机中,同时下装到ATM和POS中,由于各成员行的ATM和POS数量都较大,一般是所有ATM和POS共用一个终端主密钥或是一组ATM和POS共用一个终端主密钥。1.2.3 数据密钥
3、分为两种,一般不在加密机中保存。一种是金卡中心与成员行之间的数据密钥,一种是成员行主机与ATM或POS之间的数据密钥。前一种数据密钥可以由金卡中心主动向下分发,也可以由成员行主动向上申请。数据密钥在传输过程中由金卡中心与成员行之间共享的银行主密钥加密,成员行接收到数据密钥后都需要验证其正确性后才会启用新的数据密钥。后一种数据密钥每天由ATM或POS签到申请,由加密机随机产生,并由终端主密钥加密传送。金卡中心与成员行及其终端(ATM、POS)之间的密钥关系如下图:金卡中心HSM成员行HSM终端BMKTMK(PIK1)BMK(MAK1)BMK(PIK2)TMK(MAK2)TMK(DATA)PIK1
4、、MAK1(DATA)PIK2、MAK2图6.2 金卡中心、成员行、终端之间密钥关系示意图6.2中各符号的含义如下:BMK:银行主密钥TMK:终端主密钥PIK1:金卡中心与成员行之间的PIKMAK1:金卡中心与成员行之间的MAKPIK2:成员行与终端(ATM、POS)之间的PIKMAK2:成员行与终端(ATM、POS)之间的MAKDATA:传输的数据 (PIK1)BMK:被BMK加密的PIK12 术语解释2.1 本地主密钥LMK:Local Master Key,本地主密钥,又称为文件主密钥(MDS)、加密机主密钥、主机主密钥,在密钥体系中处于最上层,以明文存储在加密机中,加密保护存储在加密机
5、外的其它密钥。LMK一般为双长度密钥,也有三倍长度密钥。2.2 区域主密钥ZMK:Zone Master Key,区域主密钥,在RACAL加密机中,指主机与主机间的传输主密钥。在密钥体系中处于中间层,可以通过LMK加密后存储在主机数据库中,也可直接存储在加密机中,一般为双长度,也有单长度和三倍长度密钥。用于主机间动态分发工作密钥时对其进行加密保护BMK:Bank Master Key,银行主密钥,同ZMK,多用于金卡联网,在金卡联网中,有时POS和银行主机之间也使用BMK。MMK:Member Master Key,成员行主密钥,同ZMK。多用于金卡联网SMK:Shared Master Ke
6、y,共享主密钥,同ZMK.2.3 数据加密密钥TMK:Terminal Master Key,终端主密钥,在RACAL加密机中,指主机与终端ATM/POS间的传输主密钥,在密钥体系中处于中间层,可以通过LMK加密后存储在主机数据库中,也可直接存储在加密机中,现在一般为单长度,也有双长度和三倍长度。PIK:PIn Key,PIN密钥,专用于加密保护PIN的工作密钥,在密钥体系中处于最下层,一般通过LMK和ZMK/TMK加密后存储在数据库中,也有直接存储在加密机中的,密钥长度有单长度、双倍长度和三倍长度。在MDS中,当采用动态密钥时,PIK每12小时或每2500笔交易就必须更换一次(两个条件满足任
7、何一个时更换)PEK:Pin Encrypt Key,PIN加密密钥,同PIK。ZPK:Zone Pin Key,区域PIN密钥,PIK的一种,专指主机与主机间的PIK。TPK:Terminal Pin Key,终端PIN密钥,PIK的一种,专指主机与终端间的PIK。MAK:Mac Key,Mac密钥,专用于计算MAC的工作密钥,在密钥体系中处于最下层,一般通过LMK和ZMK/TMK加密后存储在数据库中,也有直接存储在加密机中的,密钥长度有单长度、双倍长度和三倍长度。ZAK:Zone Authenticate Key,区域认证密钥,MAK的一种,专指主机与主机间的MAK。TAK:Termina
8、l Authenticate Key,终端认证密钥,MAK的一种,专指主机与终端间的MAK。DEK:Data Encrypt Key,数据加密密钥,专用于加密数据的密钥,在密钥体系中处于最下层,一般通过LMK和ZMK/TMK加密后存储在数据库中,也有直接存储在加密机中的,密钥长度有单长度、双倍长度和三倍长度。ZEK:Zone Encrypt Key,区域加密密钥,见DEK,专指主机与主机间的数据加密密钥。TEK:Terminal Encrypt Key,终端加密密钥,见DEK,专指主机与终端间的数据加密密钥。CVK:Card Verification Key,卡校验密钥,专用于校验卡真伪的工作
9、密钥,在密钥体系中处于最下层,一般通过LMK加密后存储在数据库中,也有直接存储在加密机中,密钥由两个单长度密钥组成,分别称为CVKA和CVKB,合起来叫CVK pairs,CVK一般数据年更新一次。PVK:Pin Verification Key,PIN校验密钥,专指用于计算PVV的工作密钥,在密钥体系中处于最下层,一般通过LMK加密后存储在数据库中,也有直接存储在加密机中,密钥由两个单长度密钥组成,分别称为PVKA和PVKB,合起来叫PVK pairs,CVK一般数据年更新一次。PIN:Personal Identify Number,个人识别码,即卡密码,在ANSI9.8标准中,规定为同4
10、-12位0-9的数字组成,在中国一般采用4位或6位PIN。PINBlock:PIN块,指将PIN按指定格式生成的64位数据。PVV:Pin Verification Value,PIN校验值,是指当采用ABA算法校验PIN时,用PVK对PIN、主帐号等信息加密生成的4位数字的校验值。PAN:Private Account Number,主帐号,即卡号或帐号。CVV:Card Verification Value,卡校验值,是指用CVK对卡号、服务码、卡有效期进行加密生成的用来校验卡的合法性的3位数字的校验值。CVC:Card Verification Code,卡校验码,同CVV,用于VISA
11、。CVV1:Card Verifycation Value 1,CVV的一种,与CVV2相比,计算参数中服务码不同。CVV2:Card Verifycation Value 2, CVV的一种,与CVV1相比,计算参数中服务码不同。ICVV:ICard Verification Value,VISA中用于IC卡的仿磁卡业务中,与CVV计算方法同,其服务代码为999。MAC:Message Authentication Code,消息认证码,用于鉴别数据真实性的加密结果,按要求MAC由32-64位数据 (8-16个16进制字符)组成。TAC:Transaction Authentication
12、Code,交易认证码,在IC卡中用于验证交易正确性。MK:Master Key,主密钥,IC卡业务中的各级应用主密钥。2.4 IC卡业务密钥SK:Session Key,过程密钥/会话密钥,IC卡业务中用主密钥对过程数据(Session Data)进行3DES加密或其它方式处理得到的单长度或双长度密钥,用于计算MAC或加密数据。HSMK1:主密钥一,SJL05金卡版本的IC卡密钥区中,保留的加密机主密钥。HSMK2:主密钥二,SJL05金卡版本的IC卡密钥区中,用于存储或读取次主密钥时对其进行加密保护。SHSMK:次主密钥,SJL05金卡版本的IC卡密钥区中,对应存储IC卡业务的各级应用主密钥
13、,也可用于存储IC卡传输主密钥。2.5 密钥管理体系2.6 涉及的国家(际)标准ANSI X3.92 数据加密算法;ANSI X9.9 信息鉴别;ANSI X9.8 PIN的管理与安全;ANSI X9.17 密钥管理;ANSI X9.19 零售金融信息的鉴别;中国人民银行金融IC卡规范PBOC;VISA及MASTER对硬件加密机的相关需求。3 算法介绍3.1 简述金融数据加密机中主要用到的算法为对称算法,具体如下:1) DES算法2) 3DES算法3) 金融专用算法4) Double-one-way5) Secure Calculation(安全计算)6) 密钥分散算法7) MAC算法8) TAC算法9) 密钥校验值(CheckValue)在以下说明中,有如下简
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1