基於PBOC的電子錢包消費交易過程

來源:互聯網
上載者:User

智慧卡金融行業應用電子錢包的消費交易流程,開發人員可參考

首先終端和卡片有一個共同的密鑰叫做消費密鑰:PurchKey

假設PurchKey = 11223344556677888877665544332211

在滿足安全條件的情況下:

第一步:終端向卡片發送消費初始化命令:

Apdu:     80    50    01    02   0B         01        00001000    001122334455

             CLA   INS   P1    P2    LC  KeyIndex  交易金額     終端機編號 

 

卡片返回15個位元組的資料如下(不包括9000):

00000000        0000        000000            01                00       11223344  

卡片餘額    交易序號   透支限額   密鑰版本號碼  演算法標識    隨機數               

 

MAC1的計算過程如下(終端):

1.計算過程密鑰:SessionKey

InputData =  11223344          0000                      0001 
(8bytes)

                      隨機數    卡片離線交易序號  終端交易序號後四位

PurchKey = 11223344556677888877665544332211

 

 SessionKey = 3DESEnypt(InputData, PurchKey) = 003238ABC57659DD

                            用LoadKey對InputData 做3DES加密

 

2.計算MAC1

InputData1 = 00001000   06    001122334455  20120229135100

                    交易金額    交易類型      終端機編號      日期時間 

     

SessionKey = 003238ABC57659DD

 

 MAC1 = MAC(InputData1  SessionKey )  =  F15CAB75

              用SessionKey對InputData1做MAC運算

 

第二步:終端向卡片發送消費命令:

 Apdu:  80  54  01  00  0F  00000001  20111221214822  3A845BF0

    CLA   INS   P1    P2   LC  終端交易序號    交易日期時間         MAC1

 

卡片用同樣的方法計算MAC1並驗證終端發來的MAC1是否正確,從而確認終端是否合法。如果MAC1驗證沒有通過,卡片會返回MAC錯誤終止交易。如果MAC1驗證通過,進行第三步。

 

第三步:卡片修改餘額,離線交易序號加1並計算MAC2 和TAC,並返回給終端

計算MAC

InputData2=  00001000                       

交易金額 

     

SessionKey = 003238ABC57659DD

 MAC2 = MAC(InputData2  SessionKey )  =  56988A13

               用SessionKey對InputData2做MAC運算   

計算TAC

卡片和終端還有一個共同的密鑰TAC密鑰:TACKey

假設TACKey = 00112233445566778899AABBCCDDEEFF

TACSessionKey=XOR( Left(8),Right(8)) =8888888888888888

                     TACKey左右8個位元組做異或運算

 

InputData3=00001000    01   001122334455    00000001      20111221    214822                       

                    交易金額  交易類型  終端機編號    終端交易序號   交易日期    交易時間

TAC = MAC(InputData3, TACSessionKey) = 3FF7A28A

 

MAC2和TAC作為消費命令的返回資料返回給終端,消費交易到此就結束了,

TAC作為清算的時候驗證交易資料真偽和完整性的重要依據,連同交易記錄一同儲存在終端。

 

曹昆 

2012-03-01

Caokun_8341@sina.com

QQ 87193978

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.