金融反欺詐-交易基礎介紹

wyzsk發表於2020-08-19
作者: 阿里巴巴雲譽 · 2016/02/19 18:09

Author:[email protected]

0x00 前言


一、簡介

如今,網際網路金融比較火熱,金融欺詐也變得非常普遍,金融反欺詐也應運而生。本文將主要介紹下金融交易中的一些基本內容,並簡單介紹下歷史悠久的並且還未淘汰的磁條卡的風險,這些也是瞭解金融欺詐需要的基本知識。對於具體的黑色產業鏈、信用卡套現、晶片卡的攻擊、金融反欺詐風險防控等本文先不涉及。

二、背景

我們先來看幾則最近國內銀行卡盜刷的新聞報導

  1. 男子ATM取完錢後被盜刷近17萬

    “黃先生發現,自己卡里近17萬元的存款,被分14次刷走,僅剩下幾千元,整個過程只有2分鐘左右。黃先生趕緊報警。”

    “經警方初步核查,事發前一天晚上,黃先生曾在雲霄縣江濱路一銀行ATM取過款,這部取款機被人安裝類似刷卡器的裝置”

  2. 男子假身份應聘服務員 複製50多張顧客銀行卡

    “經審訊,嚴某對其攜帶並利用測錄裝置複製他人信用卡資訊的犯罪行為供認不諱。據交代,嚴某為牟取不法錢財,租住快捷酒店作為實施犯罪的落腳點,為掩人耳目,冒用“雷某某”這一“假身份”,透過網上查詢門檻較低、管理鬆散的高檔餐飲企業的招聘資訊,應聘並獲取服務員崗位後,在顧客結賬時,趁其不備,利用提前購買的磁條卡測錄讀寫器複製客戶銀行卡資訊,並偷窺和記錄刷卡密碼。”

  3. 七浦路市場十餘店主銀行卡遭盜刷

    “為了能夠找到被盜刷的原因,店主們將消費明細列印出來發現,他們均曾在去年9月份參加過哈根達斯1元換購的活動(偽造的活動),當時是用移動POS機進行的消費。”

    “瑩瑩向記者出示了2015年9月19日哈根達斯一元換購冰淇淋的促銷海報,海報生上稱:“為回饋新老客戶,哈根達斯特推出1元購活動……”海報上還明確註明:“優惠僅限儲蓄卡刷卡消費,不接受信用卡及現金。”

上述三個最近的新聞中都是使用者在看似正常的消費或取款後,但自己的卡卻被盜刷了,在國內這種現象很常見。而在銀行卡欺詐中,國外的已經形成了比較成熟的黑色產業鏈,藉助匿名網路暗網比特幣等變得愈發猖獗。如下是國外的一個銀行卡資訊交易網站,使用者可根據卡的型別等選擇購買,購買後再透過線下制卡或線上使用等各種渠道去套現。

p1

0x01 交易基礎資訊


交易分為線上的交易與線下的交易。線下交易(swiped transaction/card present),簡單點講就是必須要物理刷卡來消費。線上交易(card not present transaction-CNP),簡單點講就是不需要線下刷卡,但需要提供賬號、密碼、手機驗證等資訊,比如信用卡支付,填寫卡號、過期時間、CVV2即可完成支付。

目前銀行卡類的欺詐中,線下的主要就是複製卡,線上的主要是盜取你的線上支付的憑證,比如過期時間、CVV2等資訊。

一、交易角色

在一次消費行為中,主要涉及到五個角色,分別為持卡人、商戶、收單行、髮卡行、卡組織。其中每個角色對應的描述如下:

  1. 持卡人(cardholder)

    銀行卡的合法持有人,即與卡對應的銀行賬戶相聯絡的客戶。

  2. 髮卡銀行(issuing bank/card issuer)

    發行銀行卡的銀行,即開戶行。比如中國銀行、中國招商銀行、中國建設銀行等各大銀行。

  3. 商家、特約商戶(merchant)

    與收單機構簽有商戶協議,受理(可使用)銀行卡的零售商、個人、公司或組織。

  4. 收單行(Acquirer Bank)

    負責商戶與買家之間的資金結算。收單行需要向卡組織申請,在中國則是向中國銀聯提交申請。 中國一般各大銀行都是中國銀聯的機構成員,也開展收單業務,同時中國銀聯卡組織也有自己的專業收單公司為銀聯商務;同時中國銀聯還會授權其他第三方公司為收單機構,比如一些第三方支付公司等。

  5. 卡組織(Card brand)

    卡組織負責建設和運營全球或區域統一的支付卡資訊交換網路,負責支付卡交易的資訊轉換和資金清算,制定並推行支付卡跨行交易業務規範和技術標準。

    國際上的卡組織,主要有威士國際組織(VISA International)、萬事達卡國際組織(MasterCard International)、美國運通國際股份有限公司(America Express)、發現卡(Discover)、大萊信用卡有限公司(Diners Club)、JCB日本國際信用卡公司(JCB)等,中國的則為中國銀聯(China Unionpay)

中國銀聯:簡單來講,中國銀聯透過制定一些標準與規範,構建一個完整支付網路,使得你能跨地區跨行使用銀行卡。

二、交易流程

在一次消費過程中,各個角色的關係圖大致如下

p2

(一)線下刷卡

比如有如下的消費場景: 本人在西餐店刷卡消費150,其資金是如何流向的呢?

  1. 商家

    首先商家需要刷卡工具,即常見的pos機,其需要向收單機構申請pos機。 收單機構主要有中國銀聯的成員機構各大銀行、中國銀聯自己的收單公司銀聯商務、以及第三方支付平臺收單機構,比如拉卡拉等。

    商家可以根據收單機構的手續費(商家需要給收單行手續費的)、服務費等選擇使用哪個收單機構。準備一個對公的賬號(用來收錢)以及營業執照等資訊向收單機構申請,簽署相關協議。 收單機構稽核透過後會發放pos機等(像拉卡拉這種可能會發放自己的刷卡器),並負責安裝調通,接入銀聯網路。 至此商家即可以用pos機進行收款了。

  2. 客戶刷卡消費後,需要在籤購單上簽字,檢視本次消費的籤購單如下圖

    p3

    其中主要資訊如下:

    • 商戶編號:用於標識商戶
    • 操作員:01,pos機預設有管理員、操作員等角色
    • 終端編號:終端編號為pos機的編號 
    • 髮卡行:招商銀行,我的銀行卡為招商銀行的,因而髮卡行為招商銀行 
    • 卡號:銀行卡號 
    • 卡組織:CUP,即中國銀聯,我的招商銀行卡為銀聯卡,因而卡組織是中國銀聯 
    • 收單行:建設銀行,即該pos機是建設銀行的,其作為收單機構。負責將買家卡的錢轉到商家的對公賬號裡。
  3. 交易說明:

    商戶在向這裡是向建設銀行,提交pos機申請。申請成功後建設銀行負責安裝pos機並調通。 

    刷卡結算時候,首先操作員在pos機設定消費金額,然後在pos機刷卡,並輸入pin密碼,pos機將卡號、金額、pin密文等透過加密方式傳送到收單機構(建設銀行),

    收單機構將資訊透過卡組織的銀聯網路將資訊轉發到髮卡行(招商銀行),招商銀行校驗卡型別以及金額、pin等資訊,確認無誤將校驗結果透過銀聯網路傳送給商家,支付成功。

    支付成功後此時髮卡行會把使用者的卡金額凍結,等待卡組織進行資金清算。而此時買家的錢還未打到商家的賬號,收單機構會與商戶簽訂結算週期,比如T+1(第二天錢到賬)、T+0(當天到賬)的方式,收單機構透過彙總商戶的收單資訊透過銀聯網路傳送給不同的髮卡行請求扣款,各發卡行確認無誤後將錢透過銀聯網路轉到商戶的對公賬號裡。至此交易完成。

  4. 手續費

    這次交易的手續費,若商家與收單結構簽訂的協議中規定手續費為2%,假設髮卡行、收單行、卡組織按7:2:1的比例扣費,那麼商家繳納的手續費為150*2%=3元,那髮卡行(招商銀行)的收益為3*0.7=2.1元、收單機構收益3*0.2=0.6元、卡組織中國銀聯收益3*0.1=0.3元。而商家最終收到的錢為150-150*2%=147元

(二)線上支付

線上支付與線下支付類似。商戶在需要接入線上支付的功能時,需要向銀聯或相應的收單機構申請,收單機構稽核後會提供相關的支付介面。比如其會提供開發包供商戶進行除錯(注意,使用者的敏感資訊(卡號、過期時間、cvv2等)是不允許儲存的,開發測試時候為方便除錯,可能會將敏感資訊打到log檔案裡,從而可產生安全問題),聯調無誤了即可線上使用了。

商戶接入銀聯的線上支付閘道器,分兩種情況:

p4

  • 商戶直聯接入:是指商戶開發系統直聯接入“銀聯線上支付”閘道器,“銀聯線上支付”閘道器引導持卡人完成支付的形式。這種情況下,交易不經過收單機構的收單平臺。 
  • 商戶間聯接入(收單機構直聯接入):是指商戶系統先接入收單機構系統,由收單機構系統接入“銀聯線上支付”閘道器,“銀聯線上支付”閘道器引導持卡人完成支付的形式。這種情況下,交易經過收單機構的收單平臺,支付過程中是否出現收單機構頁面由收單機構選擇。

所以通常線上上購物會出現如下的支付頁面。

p5

中國銀聯支付平臺提供各大銀行的綜合線上支付收單系統、同時各大銀行也會提供自己的收單介面。

線上交易的資金流向以及結算與線下交易的描述類似。

三、銀行卡資訊

(一)銀行卡分類

  1. 銀行卡可按卡組織進行分類,比如帶有中國銀聯標誌的銀行卡稱為銀聯卡,帶有Visa標誌的為Visa卡。 
  2. 銀行卡按使用方式又可以分為簽帳金融卡和信用卡:

    • 簽帳金融卡:簡單來講是必須有存款才能消費,不能預支 
    • 信用卡:是可以提前預支資金,但需要按時還款
  3. 銀行卡按資訊儲存方式又可分為磁條卡與晶片卡。

    • 磁條卡(magnetic stripe card)是指透過磁條記錄了銀行卡資訊的卡片。
    • 晶片卡(IC-integrated circuit card)是指帶有IC晶片的,內部封裝一個或多個積體電路用於執行處理和儲存功能的卡片。

(二)銀行卡的制卡標準

金融類的卡片遵循ISO/IEC 7813標準,不同的卡組織可能稍微有差異。 

中國銀聯卡組織,根據ISO相關的標準以及國標的相關標準制定了銀行卡卡片規範(Q/CUP 005-2014),該規範了屬於中國銀聯成員機構製作銀行卡的標準,制定了銀聯卡的外形、卡片要素、標識、全息防偽標誌、簽名條、磁條、晶片、安全要素等。 銀聯的相關標準可以參考其官方技術資料

(三)銀行卡的資訊

檢視一張信用卡的正面資訊,如圖

p6

卡正面主要有髮卡行、卡組織、卡號、持卡人姓名、卡過期時間等資訊。

檢視信用卡的背面資訊,如圖

p7

卡背面主要有簽名條、磁條,卡後四位、CVV2安全碼等資訊,卡背後資訊主要用於線上交易,比如卡後四位、CVV2。

所以銀行卡有關的資訊主要有如下內容:

  1. 卡號(Primary Account No)

    銀行卡號(13-19位的數字),卡號並不是隨意生成的,在中國,中國銀聯制定了銀聯卡髮卡行標識程式碼及卡號標準(QCUP 002-2006)。其中卡號的前6位為中國銀聯指定(若是國際卡,則銀聯向ISO申請),之後的(6-12為髮卡行自定義),最後一位為校驗位。

  2. BIN(Bank Identification Number) 

    髮卡行識別碼,用來驗證髮卡銀行的,一般是銀行卡號的前6位。

  3. 過期時間(Expiration date)

    卡過期時間,格式為YYMM

  4. 姓名

    為字元形式,中文的則為拼音,姓名主要應用在信用卡上。

  5. 安全碼(Security Code)

    安全碼是用來校驗銀行卡的合法性的,平時所說的CVV(主要是針對信用卡的), 其實有兩種:

     第一種叫CVV(Card Verification Value->Visa),不同的卡組織命名不同,visa卡組織叫CVV,MasterCard卡組織叫 CVC1(Card Validation Code->MasterCard),而在國內,中國銀聯稱之為CVN ,其儲存在銀行卡的磁條裡,主要用於線下刷卡消費中卡的合法性校驗。

    第二種即平時所說的信用卡的CVV,其真實是叫法為CVV2(Card Verification Value 2->Visa),也是visa卡組織叫CVV2,MasterCard卡組織叫CVC2(Card Validation Code->MasterCard),在國內,中國銀聯稱之為CVN2。 CVV2的設計是主要用於線上的交易卡的合法性校驗,一般是3-4位數字,列印在銀行卡的背面。

  6. PIN(Personal Identification Number)

    即平時在ATM機取款所使用的6位數字密碼,注意在計算機和網路系統中任何環節都不允許PIN以明文的方式出現。

  7. 磁條(Magnetic Strip):

    銀行卡後的磁條,其包含了3個磁軌(Tracks),每個磁軌儲存了不同的資訊。

  8. IC晶片

    內部封裝一個或多個積體電路用於執行處理和儲存功能的卡片。

  9. QuickPass

    銀聯卡帶有該標誌的表示該卡支援NFC 功能,即可以透過NFC裝置讀取卡記憶體儲的資訊。通常我們使用支援NFC功能的手機或裝置去讀取帶NFC功能的銀行卡資訊時,會讀到銀行卡的卡號、最近消費的10筆記錄、有時銀行卡設計不當還會讀取到身份證等資訊。

四、卡受理終端裝置資訊

(一)銀行卡受理終端是指可以處理銀行卡的裝置終端,主要有如下分類

  1. POS機(Point of Sale)

    能夠接受銀行卡資訊,具有通訊功能,並接受指令完成金融交易資訊和有關資訊交換的裝置。(有透過電話網路接入、有透過安裝SIM卡撥入CDMA網路、有透過乙太網接入的)

  2. ATM機(Automatic Teller Machine)

    自動取款機,接入卡組織網路,實時通訊的裝置。國內的很多是Windows XP的主機

  3. mPOS

    mPOS為整體概念,包括終端裝置和相關應用。具體指,透過移動通訊裝置(所搭載的支付應用軟體)進行商戶收銀操作,由外接專用受理終端完成銀聯卡相關資訊的採集和加密,透過移動通訊裝置與後臺處理系統互動完成交易。日常看到的一些個人刷卡器,比如拉卡拉的mini手機刷卡器,其透過NFC等功能讀取卡資訊,然後透過音訊介面傳送到手機應用再執行相應的處理。

(二)卡受理終端裝置的系統結構圖

p8

可以看到,支付裝置可以透過PSTN網路、GPRS/CDMA網路、乙太網進行通訊,所有的通訊資料最終流向了POS前置,POS前置部署在內網,用於對所有的收單行傳送的支付訂單資訊進行處理。

0x02 磁條卡風險


一、磁條卡背景

磁條利用磁性載體記錄字元與數字資訊。其主要有兩種高矯頑磁性(high-coercivity ->HiCo)和低矯頑磁性(low-coercivity ->LoCo)。其中高矯頑磁性的磁條需要更高的磁場能量去編碼,因而也較難擦除。高矯頑磁性的卡主要應用在頻繁使用的場景,比如銀行卡、會員卡等。通常銀行卡背後右上角處寫有HiCo字母代表的就是高矯頑磁性的卡。低矯頑磁性的磁條易於擦除,使用壽命較短。

二、磁條卡標準

ISO/IEC 7813規定了金融交易卡的標準,包括物理特徵以及磁條的儲存資訊結構。中國基於ISO標準制定的金融類卡的標準為GB/T 17552—2008,不同的髮卡組織也會基於ISO、國標等指定自己的相關標準,所以有的卡儲存資料可能會稍有差異。

銀行卡的磁條包括三個磁軌(Track)資訊,如下

p9

其中磁軌1是用7個位元位來表示一個字元或數字;磁軌2和磁軌3採用5個位元位來表示一個數字字元。

磁軌1最長可以包含79個字母字元或者數字字元;磁軌2最長可以包含40個數字字元;磁軌3最長可以包含107個數字字元。

  1. 磁軌1的儲存結構如下

    p10

    說明:

    • SS(開始標記):為%
    • FC(編碼格式的編號):格式程式碼,一般為B
    • FS(分隔符):為^
    • PAN(卡號):最長為19位數字
    • NAME(姓名):最長26個字母
    • ADDITIONAL DATA:該欄位裡沒有字元,為4位卡過期時間(格式為YYMM),以及3位的服務程式碼(程式碼含義參照)
    • DISCRETIONARY DATA(自定義資料):自定義資料裡主要有如下內容,
    • PVKI(PIN認證的金鑰索引):PVKI是用於PIN密碼校驗的,其為一個索引,髮卡行維護1-16個加密金鑰,此索引用於獲取金鑰。
    • PVV(PIN認證值,中國銀聯的叫PVN):PVV認證值是用於校驗的,即根據PVKI獲取的金鑰、使用者輸入的pin密碼,按照PIN加密演算法(參照下面的銀行卡加密演算法)算出的值跟該值進行比較,從而確定PIN是否合法。
    • CVV(卡安全碼,中國銀聯叫CVN):CVV安全碼是用於校驗卡的合法性,即該磁軌各個資訊如果被篡改,透過校驗該值即可發現異常。
    • ES(結束標記):為?
    • LRC(縱向冗餘校驗):用於資料錯誤校驗
  2. 磁軌2的儲存結構如下

    p11

    說明:

    磁軌2的資訊與磁軌1的資訊很多都一致,不過磁軌2資訊都為數字,其中與磁軌1不同的資訊有如下內容:

    • SS(開始標記):為;
    • FS(分隔符):為=
  3. 磁軌3的儲存結構如下

    p12

    說明:磁軌3也是隻能有數字字元,裡面記錄了過期時間、國家程式碼等資料,現在使用的還較少。

三、銀行卡(磁條)的複製

1.讀寫卡裝置

如上述描述,磁條的資訊儲存都是明文儲存的,因而需要可以讀取的裝置即可。 

在eBay或Amazon上搜尋MSR等關鍵字可以搜尋到很多這種讀卡裝置,如圖

p13

其具體技術引數如下

p14

該裝置支援HiCo 和LoCo的磁卡(300 oe -4200 oe),同時支援讀取三個磁軌的資訊,並且有讀、寫、擦除磁條的功能。 

2.實際測試

我們使用如下的MSR 605裝置來讀取卡資料,其中白色的卡為空白卡,支援多次擦寫資料。

p15

讀取一張普通的簽帳金融卡(磁條),檢視磁條資訊如下

p16

該普通磁條卡只在磁軌2儲存了卡資料,儲存了卡號、CVV、過期時間等值。

對於純磁條卡,我們將讀到的資料全部寫到一張空白的卡里,即複製出與原卡一模一樣的卡,且可在ATM機、POS機等處正常使用。

當然,現在的很多晶片卡也都帶有磁條,我們讀取一直信用卡(晶片卡)的磁條資訊,檢視具體的磁條資訊如下。

p17

欄位說明:

磁軌1 的資料

  • 儲存了卡號
  • 姓名拼音、2008為信用卡過期時間,即20年08月
  • 服務程式碼:為201,每一位代表的值不同,2表示是技術上是IC卡,0表示授權處理正常,1表示使用服務無限制,具體參考GB/T 17552
  • 金鑰索引:為1
  • pin校驗碼:為3128
  • cvv碼為:749
  • 其他資訊:為銀行自定義的其他資料

磁軌2 的資料都可由磁軌1的資料推出。

注意,晶片卡的磁條裡儲存了卡資訊,其晶片裡也儲存著用於交易的磁軌資訊。若讀取晶片卡上磁條的資料,然後將資料寫入一張空白的卡里,去取款機裡使用,會提示使用晶片功能,如圖。

p18

現在的POS機、ATM機在發現卡是晶片卡的時候交易都會使用晶片,而不會去使用磁條,當拿著晶片卡,在POS機刷磁條結賬時會提示請優先使用晶片。

如上面的晶片卡的service code為201,第一位2就表示了是晶片卡。如果我們修改service code為101,即普通磁條卡的,刷卡會提示卡不合法。因為CVV校驗出錯,即這不是一張合法的卡,若要能修改資料必須知道銀行的金鑰才可以。

四、銀行卡的加密演算法

簡單介紹下三個主要的加密演算法,具體可以參考中國銀聯的相關標準。

1.銀行卡的CVN校驗演算法(參考中國銀聯的CVN加密演算法)

演算法描述:該演算法主要用於校驗卡資訊的合法性的。在如上覆制卡的過程中我們修改service code重新寫卡後,會被識別為非法卡,即透過該演算法進行校驗。由於金鑰並非我們可控,因而不能隨意篡改資料。該演算法透過卡號、卡失效期、服務程式碼計算出一個CVN(銀聯叫CVN,Visa叫CVV)值,與卡里的CVN值進行比較判斷卡合法性。

具體演算法:

  1. 計算資料來源:主賬號(PAN)、卡失效期和服務程式碼,從左至右順序編排。  
  2. CVN演算法:計算CVN時使用二個64位的驗證金鑰,KeyA和KeyB。

計算步驟如下: 

  1. 將資料來源擴充套件成128位二進位制資料(不足128位右補二進位制0);
  2. 將128位二進位制資料分成兩個64位的資料塊。最左邊的64位為Block1,最右邊的64位為Block2;  
  3. 使用KeyA對Block1進行加密;
  4. 將Block1的加密結果與Block2進行異或。使用KeyA對異或結果進行加密; 
  5. 使用KeyB對加密結果進行解密; 
  6. 使用KeyA對解密結果進行加密;
  7. 從左至右將加密結果中的數字(0-9)抽出,組成一組數字;  
  8. 從左至右將加密結果中的字元(A-F)抽出,減10後將餘陣列成一組數字,排列在步驟(7)的數字之後;
  9. 步驟(8)的左邊第一組三位數即為CVN值。

2.CVN2加密演算法(參考銀聯標準QCUP 015-2005)

演算法描述:CVN2(銀聯叫CVN2,Visa叫CVV2)的設計就是用於線上交易的,所以我們平時在一些購物網站輸入銀行卡號、姓名、卡過期時間,CVN2碼即可購物,那該演算法則透過使用者提交的卡號、過期時間、銀行的加密金鑰計算出CVN2的值與使用者提交的值進行對比,從而校驗卡是否合法。

  1. 計算資料來源

    計算CVN2的資料來源包括:

    • 主賬號(PAN)
    • 卡失效期(格式為 YYMM,無卡失效期的簽帳金融卡可採用 0000) 
    • 常數 000(等同於計算 CVN 時的資料元素-服務程式碼)

    示例 : 19 位 PAN、4 位卡失效期和 3 位長常數“000”組成 26 個字元 CVN2 資料來源。

  2. CVN2 演算法:計算CVN2時使用二個64位的驗證金鑰,KeyA和KeyB。

計算步驟如下: 

  1. 將資料來源擴充套件成128位二進位制資料(不足128位右補二進位制0); 
  2. 將128位二進位制資料分成兩個64位的資料塊。最左邊的64位為Block1,最右邊的64位為Block2; 
  3. 使用KeyA對Block1進行加密; 
  4. 將Block1的加密結果與Block2進行異或。使用KeyA對異或結果進行加密; 
  5. 使用KeyB對加密結果進行解密;
  6. 使用KeyA對解密結果進行加密; 
  7. 從左至右將加密結果中的數字(0-9)抽出,組成一組數字; 
  8. 從左至右將加密結果中的字元(A-F)抽出,減10後將餘陣列成一組數字,排列在步驟(7)的數字之後; 
  9. 步驟(8)的左邊第一組三位數即為CVN2值。

3.PIN校驗碼演算法(參考銀聯標準QCUP 032-2008)

演算法描述:該演算法主要是校驗使用者輸入的密碼是否正確。該演算法透過PVK(透過PVKI金鑰索引定位到銀行的金鑰)、使用者卡號、使用者PIN進行計算,將計算的值與卡里PVN(即PIN校驗碼,銀聯的叫PVN,Visa的叫PVV)進行比較,從而校驗PIN的正確性。

具體演算法:

  1. 計算資料來源

    計算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驗證。
  2. 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值。

五、磁條卡的攻擊場景

(一)盜取卡磁條資訊

盜取卡磁條資訊,這種主要是線下的風險。

  1. 在ATM機安裝記錄儀 通常是在ATM機器上安裝卡槽,同時在ATM機上安裝針孔攝像頭,在插卡過程中記錄磁條資訊,同時針孔攝像頭拍攝使用者輸入的PIN密碼。這種案例還是比較多的,比如新聞1裡介紹的。其中磁卡記錄器可以做的很小且帶電源、無線藍芽模組,帶電源的針孔攝像頭也很常見。如下圖

    p19

    p20

  2. 改裝POS機

    比如在新聞2中出現的改造的POS機(在POS增加自己的記錄儀)、或在持卡人不注意時候用裝置記錄儀盜取。新聞3中利用使用者貪圖小便宜的心理,用自己的裝置記錄儀來盜取使用者的磁條資訊。

    磁條卡的資訊都是明文儲存,因而被複制的風險也一直有,因而出現了晶片卡,但晶片卡也不是完全安全的,其也可能面臨一些卡複製、中繼攻擊、降級攻擊等安全問題。

(二)盜取線上交易憑證

盜取線上交易憑證通常涉及到信用卡的CVV2碼、網銀登陸密碼、支付密碼等。當然盜取這些線上的交易憑證線上下也可以盜取,比如刷信用卡時候看到了你的CVV2,並記錄了你的磁條資訊(如前面對於晶片卡磁條的分析,磁條是記錄了卡號、姓名和過期時間的),其實有些線上網站可能不會去校驗CVV2,使用磁條裡的資訊足以用於支付。

再者主要是透過釣魚郵件、偽基站傳送簡訊、偽造網銀登陸的介面記錄你的資訊。當然其他的像利用漏洞攻擊個人電腦、攻擊商戶、銀行機構的案例也是有的。

而對於我們普通使用者而言,如何保護自己。即不貪小便宜,去消費刷卡時儘量保證卡在視線內,取款時仔細檢視ATM機,儘量使用晶片卡,信用卡背面資訊遮擋等。

0x02 總結


從上面的分析可以發現,磁條卡的資訊都是明文儲存,因而可以透過裝置隨意讀寫,使得複製卡成為可能。磁條卡存在安全問題,晶片卡可以解決問題。 所以現在很多銀行新辦理的卡都是晶片卡,通常還會附帶磁條。另外銀行卡的過期年限通常很長,所以磁條卡完全退出歷史舞臺還有很長的路要走。

雲譽介紹:
雲譽反欺詐是基於阿里巴巴的信譽資料,透過領先的行為收集技術和機器學習模型,輸出大資料風控服 務能力,解決賬號、活動、支付等關鍵業務環節存在的欺詐威脅,降低企業經濟損失。

0x03 參考


本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章