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