智能卡安全機(jī)制比較系列(三) MPCOS
文章出處:http://www.fang1.net 作者: 人氣: 發(fā)表時(shí)間:2012年03月01日
MPCOS是金普斯早期推出的一款多應(yīng)用支付芯片卡操作系統(tǒng),支持ISO7816以及PCOS的數(shù)據(jù)格式和命令。MPCOS具有兩級(jí)目錄文件結(jié)構(gòu),即MF下可以有一級(jí)DF,每個(gè)DF下最多可創(chuàng)建63個(gè)EF。
MPCOS的文件訪問(wèn)控制是由密碼來(lái)實(shí)現(xiàn)的,該密碼存儲(chǔ)在一個(gè)特殊的密碼文件EFsc中,每個(gè)DF下只有一個(gè)EFsc,每個(gè)EFsc可以存儲(chǔ)8個(gè)密碼,對(duì)應(yīng)的編號(hào)分別為0-7。對(duì)于EF和DF分別對(duì)應(yīng)不同的訪問(wèn)控制操作,比如創(chuàng)建文件,讀寫(xiě)操作等。這些訪問(wèn)控制操作就需要通過(guò)訪問(wèn)控制條件來(lái)實(shí)現(xiàn)。對(duì)于DF和EF而言,分別有兩個(gè)字節(jié)的寄存器來(lái)表示在進(jìn)行創(chuàng)建、讀寫(xiě)等文件操作之前需要驗(yàn)證的密碼編號(hào),對(duì)于某一種文件操作最多可以指明需要驗(yàn)證兩個(gè)密碼。另外這個(gè)寄存器也指出了在進(jìn)行安全報(bào)文操作時(shí),進(jìn)行數(shù)據(jù)加密和MAC計(jì)算需要使用的密鑰編號(hào)。由此可以看出,MPCOS的安全控制依靠的是密碼比對(duì)方法,而數(shù)據(jù)傳輸?shù)陌踩Wo(hù)(MAC以及數(shù)據(jù)密文的計(jì)算)使用另外一個(gè)密鑰文件EFkey中存儲(chǔ)的密鑰通過(guò)DES運(yùn)算來(lái)完成。
MPCOS是在金普斯原來(lái)的PCOS基礎(chǔ)上擴(kuò)展了ISO7816的文件結(jié)構(gòu),從而形成的多應(yīng)用智能卡操作系統(tǒng)。所以MPCOS中保留了原來(lái)PCOS在支付應(yīng)用方面的特色,做到了面向PCOS的向下兼容。
金普斯在結(jié)合支付應(yīng)用和ISO7816文件操作的過(guò)程中,設(shè)計(jì)了兩種操作模式:支付模式和管理模式。每種模式都有一個(gè)專有命令來(lái)啟動(dòng)一個(gè)會(huì)話過(guò)程,而這個(gè)會(huì)話過(guò)程只有在啟動(dòng)了另一種模式或者是卡片復(fù)位后才能被終止。(其實(shí)這種機(jī)制和后來(lái)的EMV96,以及PBOC電子錢包的狀態(tài)機(jī)模式很像)
MPCOS對(duì)于支付和文件管理分別定義了不同的安全機(jī)制,在支付應(yīng)用中可以加密敏感數(shù)據(jù)、生成交易證書(shū)、設(shè)定交易計(jì)數(shù)器等;而對(duì)于文件管理操作,可以通過(guò)MAC驗(yàn)證來(lái)確保數(shù)據(jù)的完整性、監(jiān)控追蹤某些敏感命令的執(zhí)行等。不過(guò)MPCOS的MAC是3個(gè)字節(jié)的,這點(diǎn)和目前流行的4字節(jié)MAC稍有不同,但是計(jì)算方式是類似的。
針對(duì)文件的訪問(wèn)控制MPCOS是在文件創(chuàng)建的時(shí)候定義訪問(wèn)控制條件的,但是在文件被創(chuàng)建后,當(dāng)滿足安全控制條件的情況下,可以通過(guò)Lock和Localize兩個(gè)命名來(lái)改變文件的訪問(wèn)控制屬性,其中Lock是用來(lái)鎖定文件的,文件被鎖定后,拒絕任何訪問(wèn);而Localize則是把文件訪問(wèn)控制所需參考主控文件MF下的密碼或者密鑰,改成參考當(dāng)前DF下的密碼或者密鑰。
在MPCOS的支付交易處理過(guò)程中,同樣引入了終端編號(hào)以及終端交易序號(hào)這樣的參數(shù),通過(guò)這些參數(shù)的參與來(lái)計(jì)算交易驗(yàn)證碼。