交行工資卡快速DDA認證(fDDA)


fDDA是快速DDA認證,fDDA用於qPBOC,DDA用於PBOC,fDDA與DDA認證只有部分不同(關於區別本文有講)

本文就使用公司交行工資卡跑一遍fDDA流程,

DDA(fDDA)的步驟可以這樣理解:先執行 SDA大部分,再執行DDA(fDDA)特有的步驟

步驟1. 恢復IC卡公鑰

在SDA 階段取得的發卡行公鑰,在DDA時還有一個用途,就是恢復IC卡公鑰. 可以用下面的公式表示:
發卡行公鑰+IC 卡公鑰證書+RSA 算法=IC卡公鑰

參考靜態數據驗證,通過RSA算法,使用發卡行公鑰解析IC卡公鑰證書得出的IC卡公鑰:

恢復數據頭

6A

證書格式

04

應用主賬號

62226206200171XXXXXF(為了隱私最后幾位用XX代替)

證書失效日期

1224

證書序列號

100001

哈希算法標識

01

IC卡公鑰算法標識

01

IC卡公鑰長度

80

IC卡公鑰指數長度

01

IC卡公鑰或IC卡公鑰的最左邊字節

F10B7CD3B0AA7002E70B1959E33210487A5251C39C8D3A88DD77FAAC129171E6DF61DD76809AA0F7459434D8771CA23217BCC5CDBF194E2995FAE5C031827FBDFEEC25E0BCA3AF04B9296A37820604B9A82F3AEB03BDE46F06FFED992FE35A615A2AFFF3C584696F45D3B231C34337532D9F956B528E2EBF2523E27838E9B67BBBBBBBBBBBBB

哈希結果

350F02EC13781B64B6D7DFC4ED85CD00D09E515B

恢復數據結尾

BC

HASH校驗的方法:

將上表中第2個到第10個數據元(即從證書格式直到IC卡公鑰或IC卡公鑰的最左邊字節)從左到右連接,再把IC卡公鑰的余項(如果有)+IC卡公鑰指數+需認證的靜態數據(請參考SDA+靜態數據認證標簽列表(如果存在),然后計算HASH結果與IC卡公鑰中的HASH結果比對,由此可見動態數據驗證同樣使用靜態數據部分做HASH校驗,所以說DDA是包含了SDA

步驟2. 恢復動態應用數據和動態應用數據HASH校驗

讀記錄讀出簽名的動態應用數據:

簽名的動態應用數據9F4B

6C145931F36CA978A6AA1A9D60E41C3DF9299F21BDBBA666F680DFA90F825C5B6F544C0089026294B38486D246AB7F9E4E5E965C507FA0B819E893F470EB1A4BDF9D9DBC8AAD6ADE38C8AA1ECB077B1724EF980864B56C2C567503936241D28C4A2DFCC8398481FEC1961C3704286731343C6885D0A44D8B0DC8F723F1A702F99F6C0200009F5D06000000001579

使用RSA工具恢復出動態應用數據

IC卡公鑰+動態簽名的應用數據+RSA=動態應用數據

恢復數據頭

6A

證書格式

05

哈希算法標識

01

IC卡動態數據長度

03

IC卡動態數據

020E19

填充字節

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

哈希結果

37D0C6EA6109B1CEB237AFAD7847A128F711C50D

數據結尾

BC

動態應用數據HASH校驗,

關於DDA的校驗是:將上表第2個到第6個數據元(即從簽名數據格式直到填充字節)從左到右連接,再把DDOL中指定的數據元加在后面。fDDA認證與DDA認證的區別就在於HASH校驗的部分,終端動態數據元素不在DDOL中指定(因為qPBOC中並不存在DDOL數據元),終端動態數據應由表C.1指定的數據元素按順序連接構成

clip_image002

所以最終的動態應用數據HASH校驗輸入值,

證書格式

05

哈希算法標識

01

IC卡動態數據長度

03

IC卡動態數據

020E19

填充字節

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

9F37不可預知數

5520BDA1 (GPO發給卡片的值)

9F02 授權金額

000000000001 (GPO發給卡片的值)

5F2A 交易貨幣代碼

0156 (GPO發給卡片的值)

9F69 卡片認證相關數據

013539FC85000002(讀記錄卡片返回的)

clip_image004

得出的HASH結果與動態應用數據解析出的完全一致,至此fDDA成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM