我剛看pboc/emv中ic卡的檔案結構時,就被df, mf, ef,ddf,adf這些概念弄暈了. 無論是中文的pboc文件還是英文的emv文件, 對這幾個概念講解的都不夠通俗. 不過這也不奇怪, 這種所謂的標準如果講的太通俗,那麼制定這些標準的人又怎麼能夠稱得上是專家呢!
下面根據自己的理解, 把這幾個概念講解一下.
首先, mf, df和ef這三個其實是iso7816裡的概念. 是7816裡規定的卡的檔案結構. 這種檔案結構是一種樹形的結構. mf 可以理解為根目錄,df是目錄,ef當成是目錄裡的檔案. 所以mf其是也是一種df,只不過是最上層的df.
而adf,ddf和aef是pboc/emv裡的概念. pboc/emv裡定義的ic卡檔案結構是符合iso7816標準的. adf和ddf其實是df的兩種對映, 而aef是ef的對映. 程式訪問時,訪問的是adf,ddf和aef, 而不是df和ef. 這種機制非常像作業系統的位址訪問, 我們的程式不能訪問系統的實體地址,而只能訪問由這個物理位址對映的虛擬位址,而同乙個實體地址可以是對映到不同的虛擬位址. 所以我們可以把df, ef 理解成是物理檔案結構,而adf,aef理解成虛擬的可供程式訪問的檔案結構.
adf與ddf有什麼區別呢? 簡單來說,adf就已經可以標識乙個或一組應用(為什麼有一組應用,因為有部分aid匹配, 具體可參考pboc/emv文件), 因為它就是應用的入口檔案. 而ddf是個目錄入口, 它下面有adf,也有可能還是ddf,當然也可能什麼都沒有, 總之它是乙個目錄. adf用adf名來標識應用, adf名也就是aid. 乙個aid代表乙個應用,比如電子錢包應用,借記應用,貸記應用等等. aid 是由iso這種組織來分配. 它分為兩個部分, 前面是五個位元組的rid, 這個用來唯一標識應用提供商, 後面最長是11位元組的pix., 用來標識某個專有應用, 它由應用提供商定義. 舉例來說, iso可能分給mastercard公司乙個rid, 就叫a000000002(5個位元組)吧, 然後master-
card 公司再用pix定義一些應用,比如電子錢包, 假設它是0001吧. 我們如果看到乙個aid是a0000000020010,就知道這是master-card 定義的電子錢包應用.事實上乙個符合emv/pboc l2標準的終端程式,就是以這些aid為中心在執行,簡單說就是找到乙個應用,然後處理(處理的過程可就複雜了).
PBOC EMV之檔案結構
我剛看pboc emv中ic卡的檔案結構時,就被df,mf,ef,ddf,adf這些概念弄暈了.無論是中文的pboc文件還是英文的emv文件,對這幾個概念講解的都不夠通俗.不過這也不奇怪,這種所謂的標準如果講的太通俗,那麼制定這些標準的人又怎麼能夠稱得上是專家呢 下面根據自己的理解,把這幾個概念講解...
PBOC EMV之電子現金應用
最近在做乙個基於pboc電子現金卡的終端應用,專案還沒有完成,但電子現金部分的處理模組已完成,剩下的基本是ui和除錯的事情了.想把對pboc電子現金理解整理成一篇文章.電子現金的概念是在pboc規範的第十三部分 基於借記 貸記應用的小額支付規範 裡提出的。可以這樣理解,電子現金是pboc裡的乙個應用...
PBOC EMV之CDA 復合資料認證
cda其實是dda的衍生方法.所以它和dda有很多相同的地方.先簡要說明一下cda的幾個要點 1 它也執行sda,這個和dda是一致的.2 它也執行dda,更先進的技術總是向下相容的.3 它也用到簽名的動態應用資料,不過這個資料不是內部認證請求的,而是在gac時終端請求的.而且這個資料的組成除了一些...