- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
中国银联PIN校验码(PVN)、卡片验证码(CVN)算法指南
编写目的
为配合国密算法在金融IC卡领域应用的技术预研,本文档依据国密算法对PVN算法、CVN算法进行修订,实现PVN算法、CVN算法支持国密SM4、国际通用3DES算法。
PVK、CVK密钥
PVN、CVN主要由银联代授权业务主要使用
CVN(卡片验证码):对磁条信息合法性进行验证的代码。
PVN(PIN校验码):指用于代授权校验PIN时对持卡人PIN进行验证的代码。
CVK:即发卡行提供的卡片校验密钥,用于对卡片验证码进行校验;
PVK:即发卡行提供的PIN校验密钥,用于对PIN校验码进行校验。
CVK、PVK使用加密机主密钥(即MK)来进行保护。
安全管理基本要求
PVK和CVK,参照《银联卡密钥安全管理规则》和《中国银联银行卡联网联合技术规范》第4部分《数据安全传输控制规范》的相关总体要求。
PVK、CVK如发生泄露,与成员主密钥(以下简称MMK)泄露类似,可导致敏感帐户信息泄露,存在产生欺诈交易的风险。PVK、CVK的安全性要求应等同于当前生产系统中MMK的管理安全性要求。
为了保证PVK、CVK信息的安全,防止PVK、CVK信息泄露,PVK、CVK密钥均由成员机构自行产生与保管,并由成员机构委派专人到场将PVK、CVK注入银联生产系统加密机。银联不保存任何明文格式的PVK和CVK密钥。成员机构可向中国银联提出更换PVK和CVK密钥要求。
密钥生命周期安全管理
密钥的产生
PVK由成员机构端(发卡机构)自行产生。PVN校验所需的一组PVK(算法规定为15个,实际情况依据系统实现而定),均按上述方式分别产生。
CVK由成员机构端(发卡机构)自行产生。
密钥的注入
PVK的注入
成员机构提前通知并委派专人(应至少两人,以实现分段控制)至银联共同将PVK注入加密机。每个PVK密钥分两部分,应由两人各负责一段PVK密钥的注入。一组PVK均按上述方式注入。
CVK的注入
成员机构提前通知并委派专人(应为两人,以实现分段控制)至银联共同将CVK注入加密机。一个CVK密钥分为两部分,应由两人各负责一段CVK密钥的注入。
密钥的存储
PVK和CVK密钥应保存在硬件加密机内。如果出现在硬件加密机外,则必须密文方式出现。银联不保存任何明文格式的PVK和CVK密钥。
密钥的更换
如成员机构端的PVK或CVK发生变化,须提前通知中国银联并委派专人到场重新注入PVK和CVK。
加密机设备要求
加密机设备是存放代授权CVK、PVK密钥的载体,有关加密机设备的安全管理可参照《银联卡密钥安全管理规则》第四章“设备安全管理”部分。
加密机需实现根据PVN、CVN数据源,计算PVN、CVN并与发卡行提供的PVN、CVN数据校验功能。
PVN算法
基于3DES算法的PVN算法,PVK分为KeyA、KeyB两部分,各64位,数据块为64位;基于SM4算法的PVN算法,PVK为128位,数据块为128位。
基于3DES算法的PVN算法
PVN计算数据源
计算PVN的数据源包括:
——主账号(PAN)右端除校验位以外的11位数字
——KeyA,PVK的左侧64位
——KeyB,PVK的右侧64位
——PVK索引号,取值为1-F(0为保留)
——持卡人PIN最左的4位数字
KeyA和KeyB组成了PVK,PVK是一组银联与代授权机构之间约定的128位的密钥,最多可15个,该组密钥专为代授权交易计算和验证PVN使用,该组密钥的索引号为1-F(0为保留),可分别用不同的密钥对不同的卡号或卡号段进行PVN计算。在机构向银联提交/导入代授权信息文件时,应包含索引信息,以便银联用PVK索引号指定的128位长的密钥进行PVN验证。
PVN算法
计算PVN时使用KeyA和KeyB。计算步骤如下:
(1)取PVK索引号约定的某个128位长的密钥PVK,PVK的左侧64位为KeyA,右侧64位为KeyB。
(2)取主账号右端除校验位以外的11位数字、密钥PVK的索引号、PIN明文左端4位数字,依次构成一个16位数字串,每位数字用压缩BCD码表示,形成1个64位长的二进制计算块Block。
(3)用KeyA对Block做DES加密运算,得到结果Block1。
(4)用KeyB对Block1做DES解密运算,得到结果Block2。
(5)用KeyA对Block2做DES加密运算,得到结果Block3。
(6)对Block3从左到右抽取出所有的数字(0~9)。
(7)对Block3从左到右抽取出所有的十六进制字符(A~F),并对每一个十六进制字符减十进制10,使之变为数字。
(8)将步骤6和7得出的数字依次从左至右排列,步骤7得出的数字放在步骤6得出的数字之后。
(9)取步骤8结果的前4位数字,即为PVN值。
示例:
主账
您可能关注的文档
- MSCTC-GFJ-05 信息技术入侵防御产品安全检验规范.pdf
- MSTL_JGF_04-004 0101-2006 信息安全技术网闸产品检验规范.pdf
- MSTL_JGF_04-011 0101-2006 信息安全技术远程主机监测产品检验规范.pdf
- MSTL_JGF_04-016 0101-2006 信息安全技术数据库扫描产品检验规范.pdf
- MSTL_JGF_04-029 0101-2011 信息安全技术 网络单向导入产品检验规范.pdf
- JRT 0025.1-2018 中国金融集成电路(IC)卡规范 第1部分:总则.pdf
- JRT 0025.3-2018 中国金融集成电路(IC)卡规范 第3部分:与应用无关的IC卡与终端接口规范.pdf
- JRT 0025.4-2018 中国金融集成电路(IC)卡规范 第4部分:借记贷记应用规范.pdf
- JRT 0025.5-2018 中国金融集成电路(IC)卡规范 第5部分:借记贷记应用卡片规范.pdf
- JRT 0025.8-2018 中国金融集成电路(IC)卡规范 第8部分:与应用无关的非接触式规范.pdf
文档评论(0)