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

2021-06-04 12:44:50 字數 3272 閱讀 2332

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

首先終端和卡片有乙個共同的金鑰叫做消費金鑰: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

[email protected]

qq 87193978

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

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

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

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

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

基於pboc 的電子錢包的圈存過程,供智慧卡行業的開發人員參考 一 圈存 首先終端和卡片有乙個共同的金鑰叫做圈存金鑰 loadkey 假設loadkey 11223344556677888877665544332211 在滿足安全條件的情況下 第一步 終端向卡片傳送圈存初始化命令 apdu 80 5...