PBOC/EMV之文件結(jié)構(gòu)
文章出處:http://www.mjagi.com 作者: 人氣: 發(fā)表時間:2012年03月07日
我剛看PBOC/EMV中IC卡的文件結(jié)構(gòu)時,就被DF, MF, EF,DDF,ADF這些概念弄暈了. 無論是中文的PBOC文檔還是英文的EMV文檔, 對這幾個概念講解的都不夠通俗. 不過這也不奇怪, 這種所謂的標準如果講的太通俗,那么制定這些標準的人又怎么能夠稱得上是專家呢!
下面根據(jù)自己的理解, 把這幾個概念講解一下.
首先, MF, DF和EF這三個其實是iso7816里的概念. 是7816里規(guī)定的卡的文件結(jié)構(gòu). 這種文件結(jié)構(gòu)是一種樹形的結(jié)構(gòu). MF 可以理解為根目錄,DF是目錄,EF當成是目錄里的文件. 所以MF其是也是一種DF,只不過是最上層的DF.
而ADF,DDF和AEF是PBOC/EMV里的概念. PBOC/EMV里定義的IC卡文件結(jié)構(gòu)是符合ISO7816標準的. ADF和DDF其實是DF的兩種映射, 而AEF是EF的映射. 程序訪問時,訪問的是ADF,DDF和AEF, 而不是DF和EF. 這種機制非常像操作系統(tǒng)的地址訪問, 我們的程序不能訪問系統(tǒng)的物理地址,而只能訪問由這個物理地址映射的虛擬地址,而同一個物理地址可以是映射到不同的虛擬地址. 所以我們可以把DF, EF 理解成是物理文件結(jié)構(gòu),而ADF,AEF理解成虛擬的可供程序訪問的文件結(jié)構(gòu).
ADF與DDF有什么區(qū)別呢? 簡單來說,ADF就已經(jīng)可以標識一個或一組應(yīng)用(為什么有一組應(yīng)用,因為有部分AID匹配, 具體可參考PBOC/EMV文檔), 因為它就是應(yīng)用的入口文件. 而DDF是個目錄入口, 它下面有ADF,也有可能還是DDF, 當然也可能什么都沒有, 總之它是一個目錄. ADF用ADF名來標識應(yīng)用, ADF名也就是AID. 一個AID代表一個應(yīng)用,比如電子錢包應(yīng)用,借記應(yīng)用,貸記應(yīng)用等等. AID 是由ISO這種組織來分配. 它分為兩個部分, 前面是五個字節(jié)的RID, 這個用來唯一標識應(yīng)用提供商, 后面最長是11字節(jié)的PIX., 用來標識某個專有應(yīng)用, 它由應(yīng)用提供商定義. 舉例來說, ISO可能分給mastercard公司一個RID, 就叫A000000002(5個字節(jié))吧, 然后master-
card 公司再用PIX定義一些應(yīng)用,比如電子錢包, 假設(shè)它是0001吧. 我們?nèi)绻吹揭粋€AID是A0000000020010, 就知道這是master-card 定義的電子錢包應(yīng)用.事實上一個符合EMV/PBOC L2標準的終端程序,就是以這些AID為中心在運行,簡單說就是找到一個應(yīng)用,然后處理(處理的過程可就復(fù)雜了).