智能卡安全機制比較系列(三) MPCOS
文章出處:http://m.dipdnbxp.cn 作者: 人氣: 發(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è)計了兩種操作模式:支付模式和管理模式。每種模式都有一個專有命令來啟動一個會話過程,而這個會話過程只有在啟動了另一種模式或者是卡片復位后才能被終止。(其實這種機制和后來的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)建后,當滿足安全控制條件的情況下,可以通過Lock和Localize兩個命名來改變文件的訪問控制屬性,其中Lock是用來鎖定文件的,文件被鎖定后,拒絕任何訪問;而Localize則是把文件訪問控制所需參考主控文件MF下的密碼或者密鑰,改成參考當前DF下的密碼或者密鑰。
在MPCOS的支付交易處理過程中,同樣引入了終端編號以及終端交易序號這樣的參數(shù),通過這些參數(shù)的參與來計算交易驗證碼。