中国银联PIN校验码(PVN)、卡片验证码(CVN)算法指南.docx

中国银联PIN校验码(PVN)、卡片验证码(CVN)算法指南.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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值。 示例: 主账

文档评论(0)

136****9946 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体童**

1亿VIP精品文档

相关文档

相关课程推荐