基於pboc的電子錢包的圈存過程

2021-06-04 12:54:22 字數 2471 閱讀 1364

基於pboc

的電子錢包的圈存過程,供智慧卡行業的開發人員參考

一. 圈存

首先終端和卡片有乙個共同的金鑰叫做圈存金鑰:loadkey

假設loadkey = 11223344556677888877665544332211

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

第一步:終端向卡片傳送圈存初始化命令:

apdu:  80        50   00  01   0b         01     00001000   001122334455

cla   ins  p1   p2   lc  keyindex  交易金額     終端機編號  

卡片返回16

個位元組的資料如下(不包括

9000

):00000000     0000               02                00    11223344   2988ae5a

卡片餘額     交易序號  金鑰版本號   演算法標識     隨機數         mac1      

mac1的計算過程如下

:1.計算過程金鑰

:sessionkey

inputdata =  11223344     0000     8000  (8bytes)

隨機數        交易序號    填充資料

loadkey = 11223344556677888877665544332211

sessionkey = 3des_enypt(inputdata, loadkey) = 9b1d924e05595603

用loadkey

對inputdata 

做3des

加密2.計算

mac1

inputdata1 = 00000000     00001000     01     001122334455

卡片餘額         交易金額   交易型別     終端機編號  

sessionkey = 9b1d924e05595603

mac1 = mac(inputdata1  sessionkey )  =  2988ae5a

用sessionkey

對inputdata1

做mac

運算第二步:終端用同樣的方法計算mac1

並驗證卡片返回的

mac1

是否正確,從而確認卡片是否合法。如果

mac1

驗證沒有通過,終端會終止交易。如果

mac1

驗證通過,進行第三步。

第三步:終端計算mac2

inputdata2=00001000     01        001122334455     20111221     214822

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

sessionkey = 9b1d924e05595603

mac2 = mac(inputdata2  sessionkey )  =  3a845bf0

用sessionkey

對inputdata2

做mac

運算第四步:終端向卡片傳送圈存命令:

apdu:  80    52  00   00    0b  20111221      214822        3a845bf0

cla   ins  p1   p2   lc   交易日期    交易時間     

mac2

第五步:卡片收到圈存命令後,用和終端一樣的方式計算mac2

,並對終端發來圈存命令中的

mac2

進行驗證,如果

mac2

驗證沒有通過,卡片會返回

sw=9302(mac

錯誤),

如果mac2

驗證通過,則卡片餘額加上交易金額作為卡片新的餘額進行餘額更新,交易記數器加

1,並計算

tac返回給終端,

tac的計算過程如下:

卡片和終端還有乙個共同的金鑰tac

金鑰:tackey

假設tackey = 00112233445566778899aabbccddeeff

tacsessionkey=xor( left(8),right(8)) =8888888888888888

tackey左右

8個位元組做異或運算 

inputdata3=00001000     0000     00001000      01     001122334455   20111221    214822  

新餘額  交易序號舊 交易金額   交易型別  終端機編號         交易日期       交易時間

tac = mac(inputdata3, tacsessionkey) = 6314e5f5 

tac作為圈存命令的返回資料返回給終端,圈存交易到此就結束了,

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

基於PBOC電子錢包的消費過程詳解

智慧卡金融行業應用電子錢包的消費交易流程,開發人員可參考 首先終端和卡片有乙個共同的金鑰叫做消費金鑰 purchkey 針對每種特定的交易,比如,圈存,消費,都有特定的金鑰與之對應 假設purchkey 11223344556677888877665544332211 應用金鑰一般都是16位元組,寫...

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

智慧卡金融行業應用電子錢包的消費交易流程,開發人員可參考 首先終端和卡片有乙個共同的金鑰叫做消費金鑰 purchkey 假設purchkey 11223344556677888877665544332211 在滿足安全條件的情況下 第一步 終端向卡片傳送消費初始化命令 apdu 80 50 01 0...

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

首先終端和卡片有乙個共同的金鑰叫做消費金鑰 purchkey 假設purchkey 11223344556677888877665544332211 在滿足安全條件的情況下 第一步 終端向卡片傳送消費初始化命令 apdu 80 50 01 02 0b 01 00001000 001122334455...