基本介紹
- 中文名:CVV代碼
- 簡稱:CVV
- 技術原理:可以驗證境外網站的合法性
- 概述:CVV和CVC的生成方法是一樣的
區別,校驗碼,技術原理,支付詐欺,計算,安全提示,
區別
CVV2和CVC2也是同樣算法得出的卡片驗證值,只不過是在卡片生成的時候印製在簽名條上。
CVV/CVC在在線上交易(刷卡)的時候核對,CVV2/CVC2在非現場交易/手工交易(刷不到卡)時核對。
校驗碼
CVV信息被存儲在磁條銀行卡的磁軌中,根據卡號、磁軌主賬號、發卡銀行標誌代碼等信息,通過各銀行自定義的特殊加密算法進行加密,每步都採用CVKA技術加密,得到驗證碼。由於不同銀行的加密算法有差異,因此,利用獲得的銀行卡信息非法製作的部分假卡在發卡行解密時能夠被識別而無法使用。
安全級別
網站收信用卡的流程,基本上是下面三種情況之一:
卡號+有效期
這種多是航空公司、酒店預訂或者租車預定類型的。
卡號+有效期+CVV2碼
之所以加一項卡片背面的CVV碼,是為了確認卡片確實是在持卡人自己手裡的。所以平時在外面刷卡的時候,注意不要輕易讓人看到,尤其是記錄下那個三位號碼,以免人家連同卡號有效期一起竊取以後到網上去盜刷
卡號+有效期+CVV2碼+“Visa驗證”碼
(Verified by Visa)。
這最後一個碼是發卡銀行預先與持卡人約定的一個專門用於網上刷卡驗證的密碼。在支持“Visa驗證”碼的商戶支付時,填完B中的信息後,網站會彈出一個頁面(這個頁面其實是發卡銀行的,細心一點可以發現視窗頂部的藍色地址欄顯示的是發卡銀行的網址,而且彈出頁面上有發卡銀行的LOGO),要求填入“Visa驗證”碼。這個網頁實際上是脫離商戶,直接由持卡人與銀行完成身份驗證,也保證了這個“Visa驗證”碼不會被商戶截獲。更好的保護了持卡人安全。
技術原理
“Visa驗證”服務基於名為 “三維安全”的技術平台上,這種技術的規格和通信協定是採用加密安全連線層協定(SSL)技術加密,這種加密技術現為大多數網上商戶所採納。
“Visa驗證”服務標誌會顯示在參與服務的網上商戶的網頁上,也會在持卡人登記、以及每次網上購物輸入個人密碼驗證時出現。如果選擇的購物網站加入了“Visa驗證”的購物網站上,就可以享受VISA驗證服務,這樣的商戶是經過VISA確認的安全購物網站。支付時會彈出一個頁面,讓你輸入Password(就是Visa驗證碼)。這個網頁實際上是調取發卡銀行的頁面(這一點可以從彈出頁面上的發卡銀行logo進行判斷,因為商戶是不可能只通過一串信用卡號而判斷出是遠在千里之外的某家銀行發行的),由持卡人通過預先與銀行約定的“Visa驗證”密碼來完成與發卡銀行之間的身份驗證。這個頁面其實是由於是持卡人在發卡銀行網頁上直接進行身份驗證,因此不會造成密碼被商戶截取。驗證通過後,發卡銀行會傳送一條信息給商戶,對交易進行授權,持卡人因此可以完成與商戶的交易。
VISA驗證的作用就是,不僅可以驗證境外網站的合法性,還可驗證持卡人身份,從而降低了境外網上購物被盜用的風險。
支付詐欺
2009年2月3日,自己的信用卡消失了6000元,打到客服部門,被告知卡主提供銀行卡號和背後的三位數字,核對一下個人信息就可以消費了,不需要實物卡也不需要密碼。網友形容此為“驚天支付漏洞”。
有網友表示,自己電話訂機票,也是只需輸入銀行卡號和背後的三位數字,還有信用卡的有效期限就可以了,根本不用密碼。昨天中午,攜程旅行網客服人員告訴記者,通過信用卡購買機票需要提供的信息是:卡號、信用卡有效期、“後三位”驗證碼、持卡人身份證號即可。
廣州不少市民在接到自稱信用卡中心打來的電話時,都會覺得只要不說密碼就不危險,但有時會被套去生日、手機號等信息。這些信息對不法分子實施詐欺起到了關鍵性作用。
計算
VISA卡校驗值CVV的計算
計算步驟
1 將以下從第二磁軌中抽取出的字元從左至右排列,產生26個字元:
主帳號(PAN) 19位
卡有效期(EXPIRE DATE) 4位
服務代碼(SERVICE CODE) 3位並轉換為104 Bits(26x4),轉換方法為將每一位數字轉換為4位的BC
D碼,即:
十六進制數字/BCD碼
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
E 1110
F 1111
2 將步驟1得出的結果的最後補上二進制"0",使之成為128 Bits的欄位,
將該欄位分為兩個64 Bits的數據,其中前64 Bits數據為數據塊1,後64
Bits數據為數據塊2。
3 用CVKA對數據塊1加密(ENCRYPTION)。
4 將步驟3得出的結果與數據塊2異或(XOR),並用CVKA對結果加密。
5 用CVKB對步驟4得出的結果解密(DECRYPTION)。
6 用CVKA對步驟5得出的結果加密。
7 對步驟6得出的結果從左到右抽取出所有的數字(0~9)。
8 對步驟6得出的結果從左到右抽取出所有的十六進制字元(A~F),並對每一個十六進制字元減十進制10,使之變為數字,例如十六進制B(十進制為11)變為1。
9 將步驟7和8得出的數字從左至右排列,步驟8得出的數字放在步驟7得出的數字之後。
10 步驟9得出結果的前三位數字即為卡的校驗值(CVV)。
測試數據
以下數據可用於編寫CVV算法時檢查程式是否正確,其中:
CVKA= 0123 4567 89AB CDEF
CVKB= FEDC BA98 7654 3210
13位PAN 失效日期服務代碼 CVV
4123 456 789 012 8701 101 370
4999 988 887 777 9105 111 649
4666 655 554 444 9206 120 821
4333 322 221 111 9307 141 697
16位PAN 失效日期服務代碼 CVV
4123 456 789 012345 8701 101 561
4999 988 887 777000 9105 111 245
4666 655 554 444111 9206 120 664
4333 322 221 111222 9307 141 382
以第一個十六位主帳號為例,計算卡校驗值的步驟如下:
主帳號: 4123 4567 8901 2345
失效日期: 8701
服務代碼: 101
步驟1: 抽取數據
4123 4567 8901 2345 8701 101
步驟2: 數據塊VISA卡校驗值CVV的計算
塊1 = 4123 4567 8901 2345
塊2 = 8701 1010 0000 0000
步驟3: 用CVKA加密
塊1 = 4123 4567 8901 2345
CVKA = 0123 4567 89AB CDEF
結果3 = B76A DDCE 71CC C6BE
步驟4: 用塊2異或步驟3的結果,並用CVKA對異或結果加密
結果3 = B76A DDCE 71CC C6BE
塊2 = 8701 1010 0000 0000
結果 = 306B CDDE 71CC C6BE
CVKA = 0123 4567 89AB CDEF
結果4 = A510 46A2 59A4 C467
步驟5: 用CVKB對步驟4的結果解密
結果4 = A510 46A2 59A4 C467
CVKB = FEDC BA98 7654 3210
結果5 = 90F6 DB02 A6F7 E621
步驟6: 用CVKA對步驟5的結果加密
結果5 = 90F6 DB02 A6F7 E621
CVKA = 0123 4567 89AB CDEF
結果6 = 5B61 4982 E03C 97DD
步驟7: 對步驟6的結果抽取數字
結果7 = 5614 9820 397
步驟8: 對步驟6的結果抽取十六進制字元,並轉換為10進制數字(每位減10)
抽取結果 = BECD D
結果8 = 1423 3
步驟9: 將步驟8的結果排列在步驟7的數字後面
結果9 = 5614 9820 3971 4233
步驟10: 步驟9的結果前3位數字為CVV
VISA卡校驗值CVV的計算
結果10 = 561
VISA PIN校驗值的計算
計算步驟
VISA PIN校驗值的計算包括以下要素:
序號 要素 說明
1. PVKA Left part(64 bits) if the PIN Verification Key Pair
2. PVKB Right part(64 bits) if the PIN Verification Key Pair
3. PAN Rightmost 11 digits of the PAN exclude the check digit
4. PVK Index 0-F
5. Consumer PIN First 4 digits of the consumer PIN
PIN校驗值即PVV的計算方法如下:
1. 由PAN的最右11個數字(不包含校驗位)和PVK索引號(一個十六進制數字)及客戶個人密碼的前4位組成1個16位元組的十六進制數字串
2. 將以上16位元組的十六進制數字串轉換成64比特BCD碼,用PVKA作DES加密(Encryption)運算
3. 將以上結果用PVKB作DES解密(Decryption)運算
4. 將以上結果再用PVKA作DES加密(Encryption)運算得結果
5. 對步驟4得出的結果從左到右抽取出所有的數字(0~9).
6. 對步驟5得出的結果從左到右抽取出所有的十六進制字元(A~F),並對每一個十六
進制字元減十進制10,使之變為數字,例如十六進制B(十進制為11)變為1.
7. 將步驟5和6得出的數字從左至右排列,步驟6得出的數字放在步驟5得出的數字之後.
8. 步驟7得出結果的前四位數字即為PIN的校驗值(PVV).
測試數據
以下數據可用於編寫PVV算法時檢查程式是否正確,其中:
PVKA = 0123 4567 89AB CDEF
PVKB = FEDC BA98 7654 3210
13位PAN PVK Index Consumer PINPVV
4123 456 789 012 x 0 123456 3920
4123 456 789 012 x 0 1234 3920
4999 988 887 777 x 1 234561 4045
4999 988 887 777 x 1 2345 4045
4666 655 554 444 x 2 345612 2635
VISA PIN校驗值PVV的計算
4666 655 554 444 x 2 3456 2635
4333 322 221 111 x F 456123 3421
4333 322 221 111 x F 4561 3421
16位PAN PVK Index Consumer PINPVV
4123 4567 8901 2345 x 0 123456 0410
4123 4567 8901 2345 x 0 1234 0410
4999 9888 8777 7000 x 1 234561 0105
4999 9888 8777 7000 x 1 2345 0105
4666 6555 5444 4111 x 2 345612 6307
4666 6555 5444 4111 x 2 3456 6307
4333 3222 2111 1222 x F 456123 7112
4333 3222 2111 1222 x F 4561 7112
注:以上表中x為帳號之校驗值,不包含在運算中.運算時,帳號只有x左面11位數字有
效. 以第一個十六位主帳號為例,計算卡校驗值的步驟如下:
主帳號: 4666 6555 5444 4111 x (注:x為帳號之校驗值)
PVK Index: 2
Consumer PIN: 345612
步驟1:抽取數據組成數據塊
結果1 = 555 5444 4111 2 3456
步驟2:用PVKA作DES加密(Encryption)運算
結果1 = 555 5444 4111 2 3456
PVKA = 0123 4567 89AB CDEF
結果2 = 6568 2AF5 0304 A6CA
步驟3:用PVKB作DES解密(Decryption)運算
結果2 = 6568 2AF5 0304 A6CA
PVKB = FEDC BA98 7654 3210
結果3 = 5644 6FB7 C183 CCDF
步驟4:再用PVKA作DES加密(Encryption)運算得結果
結果3 = 5644 6FB7 C183 CCDF
PVKA = 0123 4567 89AB CDEF結果4 = 63C0 DB79 EEB3 FB9D
VISA PIN校驗值PVV的計算
步驟5:從左到右抽取出所有的數字(0~9)
結果5 = 6307939
步驟6: 對步驟4的結果抽取十六進制字元,並轉換為10進制數字(每位減10)
抽取結果 = CDBE EBFB D
結果6 = 2314 4151 3
步驟7:將步驟6的結果排列在步驟5的數字後面
結果7 = 6307 9392 314 4151 3
步驟8:步驟7的結果前4位數字為PVV
結果8 = 6307
安全提示
1)不要將信用卡的信息寫在電腦里;
2)不要將信用卡輕易交給別人;
3)信用卡丟失後,立刻打銀行客服電話進行掛失;
4)信用卡是建立在信用體制上的支付結算工具,所以,請認真對待每月給你的對賬單,確認自己的消費,如果發現某些異常消費,只要提出證據,是可以拒付的。
5)如果你認為通過告知信用卡的卡號、有效期等信息有危險,建議大家使用網上支付方式進行付款,因為通過網上支付方式會……信用卡的信息是在銀行的網上銀行進行輸入的,所有信息並不會保留在商戶手中。
為防越來越多的竊取信用卡信息犯罪,各大銀行都給予卡主具體提示。如某銀行在寄給信用卡主的信上強調:信用卡卡號、有效期等信息均是交易的重要憑證。請妥善保管卡號、有效期等個人資料,不要把信用卡相關信息告訴別人。有銀行還提醒:提供個人身份證件及相關證明檔案的複印件申辦信用卡時,可在顯著位置註明使用用途,例如“僅供申辦××銀行信用卡使用,複印無效”,以防資料被作他用。