簡述
COS的全稱是Chip Operating System(片內作業系統),它一般是緊緊圍繞著它所服務的智慧卡的特點而開發的。由於不可避免地受到了智慧卡內微處理器晶片的性能及記憶體容量的影響,因此,COS在很大程度上不同於我們通常所能見到的微機上的作業系統(例如DOS、UNIX等)。首先,COS是一個專用系統而不是通用系統。即:一種COS一般都只能套用於特定的某種(或者是某些)智慧卡,不同卡內的COS一般是不相同的。因為COS一般都是根據某種智慧卡的特點及其套用範圍而特定設計開發的,儘管它們在所實際完成的功能上可能大部分都遵循著同一個國際標準。其次,與那些常見的微機上的作業系統相比較而言,COS在本質上更加接近於監控程式、而不是一個通常所謂的真正意義上的作業系統,這一點至少在目前看來仍是如此。因為在當前階段,COS所需要解決的主要還是對外部的命令如何進行處理、回響的問題,這其中一般並不涉及到共享、並發的管理及處理,而且就智慧卡在現在的套用情況而言,並發和共享的工作也確實是不需要的。
COS在設計時一般都是緊密結合智慧卡記憶體儲器分區的情況,按照國際標準(ISO /IEC 7816系列標準)中所規定的一些功能進行設計、開發。但是由於現在的智慧卡的發展速度很快,而國際標準的制定周期相對比較長一些,因而造成了當前的智慧卡國際標準還不太完善的情況,據此,許多廠家又各自都對自己開發的COS作了一些擴充。就目前而言,還沒有任何一家公司的COS產品能形成一種工業標準。因此本章將主要結合現有的(指1994年以前)國際標準,重點講述COS的基本原理以及基本功能,在其中適當地列舉它們在某些產品中的實現方式作為例子。
功能
COS的主要功能是控制智慧卡和外界的信息交換,管理智慧卡內的存儲器並在卡內部完成各種命令的處理。其中,與外界進行信息交換是coS最基本的要求。在交換過程中,COS所遵循的信息交換協定目前包括兩類:異步字元傳輸的 T=0協定以及異步分組傳輸的T=l協定。這兩種信息交換協定的具體內容和實現機制在ISO/IEC7816—3和ISO/IEC7816—3A3標準中作了規定;而COS所應完成的管理和控制的基本功能則是在ISO/IEC7816—4標準中作出規定的。在該國際標準中,還對智慧卡的數據結構以及COS的基本命令集作出了較為詳細的說明。
至於ISO/IEC7816—1和2,則是對智慧卡的物理參數、外形尺寸作了規定,它們與COS的關係不是很密切。
部分體系
傳送管理(Transmission Manager)
傳送管理主要是依據智慧卡所使用的信息傳輸協定,對由讀寫設備發出的命令進行接收。同時,把對命令的回響按照傳輸協定的格式傳送出去。由此可見,這一部分主要和智慧卡具體使用的通信協定有關,而且,所採用的通信協定越複雜,這一部分實現起來也就越困難、越複雜。
我們在前面提到過目前智慧型技術卡採用的傳輸協定一般是T=0協定和T=1協定,如果說這兩類協定的COS在實現功能上有什麼不同的話,主要就是在傳送管理器的實現上有不同。不過,無論是採用T=0協定還T=1協定,智慧卡在信息交換時使用的都是異步通信模式;而且由於智慧卡的數據連線埠只有一個,此信息交換也只能採用半雙工的方式,即在任一時刻,數據連線埠上最多只能有一方(智慧卡或者讀寫設備)在傳送數據。T=0、T=1協定的不同之處在於它們數據傳輸的單位和格式不一樣,T=0協定以單位元組的字元為基本單位,T=1協定則以有一定長度的數據塊為傳輸的基本單位。
如果傳送管理器認為對命令的接收是正確的,那么,它一般是只將接收到的命令的信息部分傳到下一功能模組,即安全管理器,而濾掉諸如起始位、停止位之類的附加信息。相應地,當傳送管理器在向讀寫設備傳送應答的時候,則應該對每個傳送單位加上信息交換協定中所規定的各種必要的附屬信息。
檔案管理器(File Manager)
與安全一樣,檔案也是COS中的一個極為重要的概念。所謂檔案,是指關於數據單元或卡中記錄的有組織的集合。COS通過給每種套用建立一個對應檔案的方法來實現它對各個套用的存儲及管理。因此,COS的套用檔案中存儲的都是與應用程式有關的各種數據或記錄。此外,對某些智慧卡的COS,可能還包含有對套用檔案進行控制的套用控制檔案。在CoS中,所有的檔案都有一個唯一的檔案標識符(Filel Identifier),因此通過檔案標識符就可以直接查找所需的檔案。此外,每個檔案還可以有一個檔案名稱作為助記符,它與檔案標識符的不同之處在於它是可以重複的。CoS中的各檔案在智慧卡的個人化過程中由發行商(Is suer)根據卡的套用而創建,對卡的用戶而言通常是不能對檔案進行創建或刪除的。但是用戶可以根據情況對檔案內容進行修改,可以對檔案中的記錄或數據單元進行增加、刪除等操作。
(1) 檔案系統:COS的檔案按照其所處的邏輯層次可以分為三類; 主檔案(Master File),專用檔案(Dedicated File) 以及基本檔案(Elementary File)。其中,主檔案對任何COS都是必不可少的,它是包含有檔案控制信息及可分配存儲區的唯一檔案,其作用相當於是CoS檔案系統的根檔案,處於COS檔案系統的最高層;基本檔案也是必不可少的一個部分,它是實際用來存儲套用的數據單元或記錄的檔案,處於檔案系統的最底層,而專用檔案是可選的,它存儲的主要是檔案的控制信息、檔案的位置、大小等數據信息。我們可以用下圖的樹狀結構來形象地描述一個COS的檔案系統的基本結構。
當然,對於具體的某個COS產品,很可能由於套用的不同,對檔案的實際分類表示會有所不同。但只要仔細地進行分析,都可以歸結為上面的三個邏輯層次。例如前面提到過的PCOS產品。它對檔案的分類不是按照邏輯層次劃分的,而是根據檔案的用途進行的。它的檔案分為三類: COS檔案(COS File)、密碼檔案(Key File)和錢包檔案(Purses File)。其中所謂的COS檔案保存有基本的套用數據;密碼檔案存儲的是進行數據加密時要用到的密碼;錢包檔案的作用有些類似 於我們日常生活中的錢包。由此可見,它的這三類檔案本質上又都屬於基本檔案(EF)類。在PCOS中,專用檔案的概念不是很明顯,但是事實上,如果大家留心的話,那么從以前的論述中,應該不難發現該產品存儲器分區中FAT區內的檔案的作用就類似於專用檔案;而整張PCOS卡本身的性質實際就是一個主檔案。COS檔案有四種邏輯結構:透明結構,線性定長結構,線性變長結構,定長循環結構。它們的定義及特點可以參閱ISO/IEC78l 6-4協定中的有關部分,這裡不再詳述。不過無論採取的是什麼樣的邏輯結構,COS中的檔案在智慧卡的存儲器中都是物理上連續存放的。卡中數據的存取方式、記錄的編號方法、數據單元的大小等作為檔案系統的特徵,在智慧卡的復位應答過程中由卡給出。
一般而言,在智慧卡中最為重要的數據存取方式還是隨機存取方式,也就是卡的用戶在得到授權後,可以直接地任意訪問檔案中的某個數據單元或記錄。至於COS具體對檔案可以進行什麼樣的操作.我們將在cos的命令系統中進行討論。
(2) 檔案訪問安全:對檔案訪問的安全性控制是cos系統中的一個十分重要的部分,由於目前的國際標準(1S0/IEC78l 6-4)在這方面基本沒有作出什麼實質性的規定,因此,現有的檔案訪問的安全控制機制的具體實現方式多種多樣。我們在這裡準備介紹其中比較有代表性的兩種實現方式:鑑別暫存器方式以及狀態機方式。其中,採用鑑別暫存器方式的有PCOS、ME2000等產品:採用狀態機方式的產品有STARCOS。採用鑑別暫存器方式時,通常是在記憶體RAM中設定一個8位(或者是16位)長的區域作為鑑別用暫存器。這裡的鑑別是指對安全控制密碼的鑑別。鑑別用暫存器所反映的是智慧卡在當前所處的安全狀態。採用這種方式時,智慧卡的每個檔案的檔案頭(或者是檔案描述器)中通常都存儲有該檔案能夠被訪問的條件,一般是包括讀、寫兩個條件,分別用cr、cu表示這就構成了該檔案的安全屬性。而用戶通過向智慧卡輸入安全密碼.就可以改變卡的安全狀態,這一過程我們通常稱為出示,這就是鑑別暫存器為主的安全機制。把上面的兩方面結合起來,就能夠對卡中檔案的讀寫許可權加以控制了。具體的操作機制我們以PCOS為例加以描述。