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