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