智能卡操作系統(tǒng)(COS)安全管理研究
引言
電子技術(shù)的快速發(fā)展推動了智能卡的發(fā)展,而智能卡的片內(nèi)操作系統(tǒng)COS(Chip Operating System)自然成為備受關(guān)注的焦點,它是根據(jù)它所服務的智能卡的特點而研發(fā)的。COS的主要功能是控制智能卡和外部的信息交換,管理智能卡內(nèi)部的存儲器,并在智能卡的內(nèi)部進行各種命令的處理。其中,與智能卡外部的信息交換是最基本的要求。
1 COS功能層結(jié)構(gòu)
符合智能卡規(guī)范和國際標準的智能卡操作系統(tǒng),主要包括4個功能模塊:通信管理模塊、命令解析模塊、文件管理模塊和安全管理模塊。如圖1所示。

通信管理模塊的功能是依據(jù)智能卡所使用的信息通信傳輸協(xié)議完成的。通信管理模塊對由終端讀寫設備發(fā)出的命令進行接收,同時,把對該命令的響應按照通信傳輸協(xié)議的格式發(fā)送出去。智能卡與讀寫終端的接觸式通信協(xié)議,目前國際標準中規(guī)定了T=0和T=1兩種。這兩種通信協(xié)議都是異步半雙工的傳輸協(xié)議.不同之處在于使用的傳輸?shù)臄?shù)據(jù)格式是不一樣:T=0傳輸協(xié)議以字符為基本單位進行傳輸,T=I傳輸協(xié)議以數(shù)據(jù)塊為基本單位進行傳輸。
命令解析模塊的功能是對智能卡接收的命令的可執(zhí)行性進行判斷.并且根據(jù)接收到的命令檢查智能卡內(nèi)部的各項參數(shù)是否正確等,并在此基礎上完成相應的操作和數(shù)據(jù)處理。COS是通過對命令的響應與外界進行信息交換的,在國際標準ISO/IEC7816-4中規(guī)定了COS的基本命令集。
2 文件管理
COS的文件系統(tǒng)采用的是樹形層次結(jié)構(gòu),類似于DOS.如圖2所示。在COS中定義了三種文件類型:主文件肝(Master File)、專用文件DF(Deicated File)和基本文件EF(Elementary File)。主文件MF是整個文件系統(tǒng)的根目錄,是整個樹形結(jié)構(gòu)的根節(jié)點。專用文件DF類似于是中間日錄,可以包含其它的DF和EF。基本文件EF是真正用來進行數(shù)據(jù)存儲的文件。在每個文件中都包含了兩部分:文件頭標和文件體,文件頭標通常是開發(fā)人員根據(jù)應用上的需求進行設計的固定了字節(jié)的字符串,并且長度通常是EEPROM的摹本分塊長度的整數(shù)倍。它規(guī)定了對文件的控制信息。對文件體來說,主文件MF和專用文件DF的文件體就是它下面包含的所有文件,對基本文件EF來說,文件體則包含了用戶數(shù)據(jù)或一些智能卡的專用數(shù)據(jù)。在智能卡的文件結(jié)構(gòu)中,主文件MF只能有一個,并且是隨著操作系統(tǒng)一起生成的,用戶不能在文件的存取過程中越層存取。若想讀寫子專有文件DF下的基本文件EF,則必須經(jīng)過其高層的文件層次中某一專有文件DF的大小在申請生成時預定并且不可修改。
3 安全管理
智能卡的安全體系是智能卡的核心,智能卡能夠迅速地發(fā)展起來的一個重要原因,就在于它能夠通過它的安全體系給用戶提供一個較高的安全保證。安全體系從概念上講主要包括三個部分:安全狀態(tài)、安全屬性和安全機制。
{$page$}
3.1安全狀態(tài)
安全狀態(tài)是指智能卡在當前情況下所處的狀態(tài).這種狀態(tài)會在智能卡進行完復位應答或者在它處理完某條命令之后得到。事實上,我們可以認為智能卡在整個工作過程中始終都是處在這樣或是那樣一種狀態(tài)。利用智能卡在當前已滿足條件的集合可以表示當前的安全狀態(tài),各種安全狀態(tài)和它的轉(zhuǎn)換條件組合在一起,從而構(gòu)成了狀態(tài)機。
3.2安全屬性
對智能卡的數(shù)據(jù)對象的訪問控制,稱為智能卡的安全屬性。對智能卡的數(shù)據(jù)對象進行操作,主要包括兩方砸的內(nèi)容:文件和操作命令。文件的安全屬性包括了兩個方面的內(nèi)容:允許進行操作的類型和進行操作需要滿足的安全狀態(tài),這兩者結(jié)合起來就構(gòu)成了文件的安全屬性。文件的安全屬性一般是在文件的初始建立階段定義,包含在文件描述塊中,并由cos來進行管理和維護。操作命令的安全屬性是由具體的命令來定義的,它主要也包括兩方面的內(nèi)容:命令全部報文的安傘控制和命令數(shù)據(jù)域的安全控制。操作命令的安全屬性,主要是通過MAC來確保命令傳輸過程中的安全性和完整性,在MAC校驗成功之后操作命令才能夠順利執(zhí)行。
3.3安全機制
與安全狀態(tài)和安全屬性相聯(lián)系的就是安全機制。安全機制可以理解為實現(xiàn)安全狀態(tài)的轉(zhuǎn)移所使用的方法和手段。cos安全體系的基本工作原理可以這樣認為,一種安全狀態(tài)經(jīng)過安全機制的一些轉(zhuǎn)移方法和手段就可以轉(zhuǎn)移到另一種狀態(tài),將這種狀態(tài)與相應的某個安全屬性相比較,如果是一致的,就執(zhí)行該安全屬性對應的命令。所以可以這樣說,沒有安全機制,COS就無法運作。
COS的安全機制主要包括三個方面的功能:數(shù)據(jù)加密與解密、鑒別與核實和文件訪問的安全控制。其中,數(shù)據(jù)的加解密貫穿安全體系整個過程中;鑒別與核實從本質(zhì)上說就是身份認證;文件訪問的安全控制與文件管理器的聯(lián)系十分緊密。
3.3.1 數(shù)據(jù)加密與解密
智能卡中的加密算法是整個智能卡安全體系的基礎。加密算法的關(guān)鍵在于對密鑰文件的選擇,在COS中密鑰文件通常指定了使用該密鑰的算法類型:
(1)在專用文件DF下都包含一個主控密鑰,該密鑰是整個DF文件下密鑰體系的基礎,只有通過了此密鑰的驗證,才能對此專用文件DF下的子文件做進一步的操作.該密鑰是專用文件DF中的根密鑰,保存在專用文件DF下的Key文件中[43。
(2)對稱密鑰一般統(tǒng)一保存在一個密鑰文件中,通常為DES或3DES密鑰,這些密鑰以記錄的形式保存,在記錄體的屬性段描述了密鑰的算法屬性。
(3)非對稱密鑰以密鑰對的形式出現(xiàn),可以只保存單獨一個公鑰或者一個私鑰,每一對非對稱密鑰保存在一個非對稱密鑰文件中,在文件的描述塊中保存了密鑰的屬性。
3.3.2鑒別與核實
鑒別(Authentication),是指對智能卡(或者是終端讀寫設備)的合法性進行驗證,而核實(Verify)是指對智能卡的持有者的合法性進行驗證。
鑒別是通過智能卡和讀寫設備雙方同時對任意一個相同的隨機數(shù)進行相同的加密運算(目前普遍采用DES算法),然后判斷雙方運算結(jié)果的是否一致來達到驗證的目的。核實則是通過由用戶向智能卡出示僅有他本人才知道的通行字,并由智能卡對該通行字的正確性進行判斷來達到驗證的目的。在通行字傳送的過程中,有時為了保證不被人竊聽,還可以對傳送的信息進行加密/解密運算。
根據(jù)鑒別對象的不同,鑒別分為內(nèi)部鑒別和外部鑒別。內(nèi)部鑒別是終端讀寫設備對智能卡的合法性進行驗證;外部鑒別是智能卡對終端讀寫設備的合法性進行驗證。
智能卡的內(nèi)部鑒別分為三步。首先,智能卡的讀寫設備向智能卡的COS發(fā)送數(shù)據(jù).要求智能卡COS對這批數(shù)據(jù)進行加解密或者計算MAC,同時智能卡讀寫設備也會對數(shù)據(jù)進行相應的計算。之后,智能卡COS在收到數(shù)據(jù)后,根據(jù)操作命令要求使用相應的密鑰對數(shù)據(jù)進行相應的計算,并將計算結(jié)果返回給智能卡讀寫終端設備.最后,智能卡讀寫終端設備在收到智能卡cos的認證數(shù)據(jù)后,將這些數(shù)據(jù)與自身計算的數(shù)據(jù)相比較,相同則驗證合
法。外部鑒別的原理與內(nèi)部鑒別相同。
3.3.3文件訪問的安全控制
對文件訪問的安全控制是系統(tǒng)中的非常重要的部分,其中代表性的兩種文件安全訪問的實現(xiàn)方式是:狀態(tài)機方式和鑒別寄存器方式.鑒別寄存器方式是使用兩個四位的寄存器來表示安全狀態(tài)。一個寄存器作為主文件盯的安全狀態(tài)寄存器,另一個寄存器作為當前專用文件DF的安全狀態(tài)寄存器。將每個寄存器的初始值都設置為0.設定取值范圍為0~F.文件會設置兩種訪問控制權(quán)限AC0,AC1。AC0是使用權(quán)限,AC1是修改權(quán)限,都用一個字節(jié)來表示.當安全狀態(tài)寄存器的值大于訪問控制權(quán)限AC的字節(jié)的低半字節(jié)而小于其高半字節(jié)時,則該文件的相應得讀和寫的權(quán)限在該安全狀態(tài)下被滿足,并且能進行相應的操作。COS在建立文件時會指定其AC0字節(jié)和AC1字節(jié)的值來對文件的訪問權(quán)限進行設定,通過校驗口令和外部認證可以改變安全狀態(tài)寄存器的值,從而利用安全機制實現(xiàn)對文件的安全訪問控制。
4 結(jié)束語
COS的安全是基于軟件的安全,相信隨著芯片制造技術(shù)水平的提高。CPU運行速度的提高和卡內(nèi)存儲器容量的增大,性能更好的加密算法的出現(xiàn),智能卡最終將得到更廣泛的應用。