PBOC/EMV之文件結構
文章出處:http://hz-huyue.com 作者: 人氣: 發表時間:2012年03月07日
我剛看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為中心在運行,簡單說就是找到一個應用,然后處理(處理的過程可就復雜了).