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