1.dda的計算
1.1.dda的gpo部分處理
與sda的部分一致
可以參考 emv交易中的sda/dda/cda——sda部分
1.2.dda 的讀應用記錄的處理
與sda的部分大體一致(emv交易中的sda/dda/cda——sda部分)
但是在檔案記錄的處理上增加了部分tag的處理:
tag90——issuer_public_key_cert
tag92——issuer_public_key_remainder
tag9f32—issuer_public_key_exp
以上三個tag都將用於issuer公鑰的還原
tag9f46——icc_public_key_cert
tag9f48——icc_public_key_remainder
tag9f47—icc_public_key_exp
以上三個tag都將用於icc公鑰的還原
tag9f49——ddol
生成 internal_authenticate(00 88)資料的tag列表
tag9f4a——sda_tag_list
將用於icc公鑰的校驗
1.3.dda校驗流程
a.根據ddol來拼組內部認證資料
c.還原issur公鑰(emv交易中的sda/dda/cda——sda部分)
d.還原icc公鑰
(參看 emv book 2-- 6.4 retrieval of icc public key)
使用issuer公鑰還原得到icc卡公鑰的資料
e.校驗icc公鑰有效性
note:此處著重說明一下,在計算hash的時候
需要用到
cert.certificateformatf.校驗內部資料驗證的9f4bcert.certexpirationdate
cert.certserialnumber
cert.hashalgoindicator
cert.iccpubkeyalgoindicator
cert.iccpublickeylength
cert.iccpublickeyexponentlength
cert.leftmostpubkeydigits
cert.optionalpadding
iccremainingbytes
iccpublickeyexponent
sdaauthenticationdata(這個就是sda裡面的校驗資料,根據9f4a是否存在來加上aip的值)
先通過icc公鑰解密9f4b資料
然後按照
元素2到6 接上 ddol請求資料,然後算hash,然後對比hash值,done!
note1:原來icc證書的值會跟 sda的驗證資料有關
note2:cda接的驗證資料就是ddol的資料,比sda要簡單
EMV交易過程分析
一 應用選擇 1.select 選擇pse 支付環境選擇 支付應用,卡片需要終端上送終端型別資料 pdol 二 初始化應用 2.gpo 讀取資料處理選項 終端上送終端型別 aip 應用加護特徵82 afl 應用檔案定位器 3.read record 迴圈讀取記錄,選擇pse關聯的檔案 讀取卡內應用資...
emv中的 部分匹配 Python中的正規表示式
在python中,我們有 re 模組,我們需要在開始之前匯入它。import re 正規表示式的主要用途 匹配字串 替換字串的一部分 搜尋字串 將字串拆解成子字串 正規表示式的方法 w 匹配字母數字字元 a z,a z,0 9 w 匹配非字母數字字元 d 匹配數字 0 9 d 匹配所有非數字 s 匹...
交易的流程
1.使用者a發起交易,請求被傳向對等節點b 2.節點b同步交易,並進行校驗,通過則放到記憶體池中,並向其他節點 3.如果是轉賬交易,獲得記賬權的節點將該交易和其它交易一起打包到區塊中,並在本地的evm上執行被呼叫的合約 直到 執行結束或gas用完 4.執行智慧型合約的gas數量由合約的計算步驟決定,...