寂井浮廊
打赏我
欢迎您: 
游客
   
登录
  发现BUG请联系jintianhu2000@126.com
常用
加解密算法
常用工具
EMV相关
还珠楼论坛
答题闯关
用户信息
帖子列表
语法介绍
帖子详情
银行卡CVN介绍
jin.th 发布于2019-02-26 15:10
[评论区]
[我要回复]
[下载md文件]
[下载pdf文件]
仅自己可见
This code is a three- or four-digit number printed on the back or front of credit cards. This number ensures that your customer has physical possession of the card at the time of the order. 不同卡组织对它的定义与算法也不同。银联卡称为CVN,英文全称是Card Verification Number,卡片验证码/安全码。 |||| |--|--|--| |Visa|Card Verification Value (CVV2)|Back of the card: if present, 3 digits in the signature area to the right of the credit card number| |MasterCard|Card Verification Code (CVC2)|Back of the card: if present, 3 digits in the signature area to the right of the credit card number| |American Express|Card Identification Number (CID)|Front of the card: 4 digits on the right above the card number| |Discover|Card Identification Number (CID)|Back of the card: if present, 3 digits in the signature area to the right of the credit card number| |Diners Club|Card Identification Value (CVV)|Back of the card: 3 digits in the signature area| |JCB|Card Identification Number (CVN)|Front of the card: 4 digits on the left below the card number| |UP|Card Identification Number (CVN2)|Back of the card: if present, 3 digits in the signature area to the right of the credit card number| Sample card verification number for Visa, MasterCard, Discover, and Diners Club: ![image](/upload/BBS/d9a874ed-c8af-4fc6-a2ae-9e3e77913e65.jpg) 自2005年7月1日起,发卡机构应按《银行卡磁条信息格式和使用规范》(GB/T19584-2004)的要求,对所有新发行入网的银联卡在磁道信息中(第二磁道)编写卡片验证码(即CVN)。对此前已在入网卡片的第二磁道中添加了类似CVN卡片验证码的机构,应就其已采用的卡片安全校验方式向中国银联作出书面说明,并应在规定的期限内,逐渐更改为CVN验证方式。(即CVN信息写在磁道中,可能Visa的CVV与MasterCard的CVC类似) CVN不在卡面,不是无磁交易的必要信息,没必要印刷到卡面。卡面的信息是用来做非当面交易的,需要持卡人自己从卡面读取(卡号、有效期、CVN2等) 根据用途不同,CVN可以细分为CVN、CVN2、ICVN,其在卡片中存放位置略有不同。 ||CVN|CVN2|ICVN| |--|--| |存储位置|磁条中磁道1和磁道2|打印在卡背面签名条上(7位,通常和卡号后四位一起打印)|芯片中的磁道1和磁道2等效数据(TAG9F1F和TAG57)| **CVN**:写在磁道1和磁道2的任意数据域中,适用于通过磁条界面进行的有卡交易; **CVN2**:用于在网络/电话等渠道上完成的无卡支付交易场景中对卡片的合法性进行验证; **ICVN**:用于替代写入芯片的磁道数据中的CVN,以防不法分子通过读取芯片磁道等效数据,获取真正的磁道数据,制卡伪磁卡。但对于复合卡,终端已不支持降级交易,所以我个人认为,此种设置已失去了原有的价值。 CVN值的计算使用二个64位的验证密钥,KeyA和KeyB。计算步骤如下图: ![image](/upload/BBS/66f6b400-799d-4812-93e5-39e8d9803624.jpg) 1)计算CVN的数据源包括:主账号(PAN)、卡失效日期(YYMM)和服务码,从左至右顺序编排; `4123456789012345+8701+111` 2)将上述数据源扩展成128位二进制数据,不足128位右补0; `41234567890123458701111+000000000` 3)将128位二进制数据分成两个64位的数据块,最左边的64位为Block1,最右边的64位为Block2; `KeyA=0123456789ABCDEF ,Block1=4123456789012345` 4)使用KeyA对Block1进行加密; `3DES_ENC(Block1, KEYA, ENCA)` `ENCA = B76ADDCE71CCC6BE` 5)将Block1的加密结果与Block2进行异或,使用KeyA对异或结果进行加密; ``` Block2=8701111000000000 ENCB=XOR(Block2, ENCA) ENCB=306BCCDE71CCC6BE 3DES_ENC(ENCB, KEYA, ENCC) ENCC=BAE6746F6DE1F0E6 KEYB=FEDCBA9876543210 ``` 6)使用KeyB对上一步加密结果进行解密; `3DES_DE(ENCC, KEYB, ENCD)` `ENCD = B262ABCB9DE99A63` 7)使用KeyA对上一步解密结果进行加密; `3DES_ENC(ENCD, KEYA, ENCE)` `ENCE=8D5625FA78011A0C` 8)从左至右将加密结果中的数字(0-9)抽出,组成一组数字; `CCRSN=85625780110` 9)从左至右将加密结果中的字符(A-F)抽出,减10后将余数组成一组数字,排列在步骤8的数字之后 ``` CCRSA=DFAAC CCRSA-10=35002//每一位分别减10 RST=85625780110 35002 ``` 10)步骤9的左边第一组三位数即为CVN值。 `CVN=856` **注** 1、CVN2的计算方法与CVN的计算方法一致,但计算CVN时,有用到服务码,而计算CVN2,不需要用到服务码; 2、ICVN的计算方法和CVN的计算方法一致,但计算ICVN时,服务码为999; 3、尽管计算方法不一样,CVN2、ICVN的计算结果可能会与CVN相同,这是允许的。
评论列表
回帖
浙ICP备17051204号