智能卡操作系統(tǒng)Chip Operating System(片內(nèi)操作系統(tǒng))概述
- 2019-01-13 20:28:00
- 諾塔斯智能科技 原創(chuàng)
- 3709
隨著IC卡從簡(jiǎn)單的同步卡發(fā)展到異步卡,從簡(jiǎn)單的EPROM卡發(fā)展到內(nèi)帶微處理器的智能卡(又稱CPU卡),對(duì)IC卡的各種要求越來(lái)越高。而卡本身所需要的各種管理工作也越來(lái)越復(fù)雜,因此就迫切地需要有一種工具來(lái)解決這一矛盾,而內(nèi)部帶有微處理器的智能卡的出現(xiàn),使得這種工具的實(shí)現(xiàn)變成了現(xiàn)實(shí)。人們利用它內(nèi)部的微處理器芯片,開(kāi)發(fā)了應(yīng)用于智能卡內(nèi)部的各種各樣的操作系統(tǒng)。COS的出現(xiàn)不僅大大地改善了智能卡的交互界面,使智能卡的管理變得容易;而且,更為重要的是使智能卡本身向著個(gè)人計(jì)算機(jī)化的方向邁出了一大步,為智能卡的發(fā)展開(kāi)拓了極為廣闊的前景。
COS的全稱是Chip Operating System(片內(nèi)操作系統(tǒng)),它一般是緊緊圍繞著它所服務(wù)的智能卡的特點(diǎn)而開(kāi)發(fā)的。由于不可避免地受到了智能卡內(nèi)微處理器芯片的性能及內(nèi)存容量的影響,因此,COS在很大程度上不同于我們通常所能見(jiàn)到的微機(jī)上的操作系統(tǒng)(例如DOS、UNIX等)。首先,COS是一個(gè)專用系統(tǒng)而不是通用系統(tǒng)。即:一種COS一般都只能應(yīng)用于特定的某種(或者是某些)智能卡,不同卡內(nèi)的COS一般是不相同的。因?yàn)镃OS一般都是根據(jù)某種智能卡的特點(diǎn)及其應(yīng)用范圍而特定設(shè)計(jì)開(kāi)發(fā)的,盡管它們?cè)谒鶎?shí)際完成的功能上可能大部分都遵循著同一個(gè)國(guó)際標(biāo)準(zhǔn)。其次,與那些常見(jiàn)的微機(jī)上的操作系統(tǒng)相比較而言,COS在本質(zhì)上更加接近于臨控程序、而不是一個(gè)通常所謂的真正意義上的操作系統(tǒng),這一點(diǎn)至少在目前看來(lái)仍是如此。因?yàn)樵诋?dāng)前階段,COS所需要解決的主要還是對(duì)外部的命令如何進(jìn)行處理、響應(yīng)的問(wèn)題,這其中一般并不涉及到共享、并發(fā)的管理及處理,而且就智能卡在目前的應(yīng)用情況而盲,并發(fā)和共享的工作也確實(shí)是不需要曲。COS在設(shè)計(jì)時(shí)一般都是緊密結(jié)合智能卡內(nèi)存儲(chǔ)器分區(qū)的情況,按照國(guó)際標(biāo)準(zhǔn)(ISO/IEC7816系列標(biāo)準(zhǔn))中所規(guī)定的一些功能進(jìn)行設(shè)計(jì)、開(kāi)發(fā)。但是由于目前智能卡的發(fā)展速度很快,而國(guó)際標(biāo)準(zhǔn)的制定周期相對(duì)比較長(zhǎng)一些,因而造成了當(dāng)前的智能卡國(guó)際標(biāo)準(zhǔn)還不太完善的情況,據(jù)此,許多廠家又各自都對(duì)自己開(kāi)發(fā)的COS作了一引起擴(kuò)充。
就目前而言,還沒(méi)有任何一家公司的COS產(chǎn)品能形成一種工業(yè)標(biāo)準(zhǔn)。因此本文將主要結(jié)合現(xiàn)有的(指l994年以前)國(guó)際標(biāo)準(zhǔn),重點(diǎn)講述COS的基本原理以及基本功能,在其中適當(dāng)?shù)亓信e它們?cè)谀承┊a(chǎn)品中的實(shí)現(xiàn)方式作為例子。
COS的主要功能是控制智能卡同外界的信息交換,管理智能卡內(nèi)的存儲(chǔ)器并在卡內(nèi)部完成各種命令的處理。其中,與外界進(jìn)行信息交換是COS最基本的要求。在交換過(guò)程中,COS所遵循的信息交換協(xié)議目前包括兩類(lèi):異步字符傳輸?shù)腡=0協(xié)議以及異步分組傳輸?shù)腡=l協(xié)議。這兩種信息交換協(xié)議的具體內(nèi)容和實(shí)現(xiàn)機(jī)制在IS0/IEC78l6-3和IS0/IEC7816-3A3標(biāo)準(zhǔn)中作了規(guī)定;而COS所應(yīng)完成的管理和控制的基中功能則是在 ISO/IEC78l6-4標(biāo)準(zhǔn)中作出規(guī)定的。在該國(guó)際標(biāo)準(zhǔn)中,還對(duì)智能卡的數(shù)據(jù)結(jié)構(gòu)以及COS的基本命令集作出了較為詳細(xì)的說(shuō)明。至于IS0/IEC78l6-l和2,則是對(duì)智能卡的物理參數(shù)、外形尺寸作了規(guī)定,它們與COS的關(guān)系不是很密切。
COS的體系
依賴于上一節(jié)中所描述的智能卡的硬件環(huán)境,可以設(shè)計(jì)出各種各樣的COS。但是,所有的COS都必須能夠解決至少三個(gè)問(wèn)題,即:文件操作、鑒別與核實(shí)、安全機(jī)制。事實(shí)上,鑒別與核實(shí)和安全機(jī)制都屬于智能卡的安全體系的范疇之中,所以,智能卡的COS中最重要的兩方面就是文件與安全。但再具體地分析一下,則我們實(shí)際上可以把從讀寫(xiě)設(shè)備(即接口設(shè)備IFD)發(fā)出命令到卡給出響應(yīng)的一個(gè)完整過(guò)程劃分為四個(gè)階段,也可以說(shuō)是四個(gè)功能模塊:傳送管理器(TM)、安全管理器(SM)、應(yīng)用管理器(AM)和文件管理器(FM)。其中,傳送管理器用于檢查信息是否被正確地傳送。這一部分主要和智能卡所采用的通信協(xié)議有關(guān);安全管理器主要是對(duì)所傳送的信息進(jìn)行安全性的檢查或處理,防止非法的竊聽(tīng)或侵入;應(yīng)用管理器則用于判斷所接收的命令執(zhí)行的可能性;文件管理器通過(guò)核實(shí)命令的操作權(quán)限,最終完成對(duì)命令的處理。對(duì)于一個(gè)具體的COS命令而言,這四個(gè)階段并不一定都是必須具備的,有些階段可以省略,或者是并人另一階段中;但一般來(lái)說(shuō),具備這四個(gè)階段的COS是比較常見(jiàn)的。以下我們將按照這四個(gè)階段對(duì)COS進(jìn)行較為詳細(xì)的論述。在這里需要提起注意的是,智能卡中的“文件”概念與我們通常所說(shuō)的“文件”是有區(qū)別的。盡管智能卡中的文件內(nèi)存儲(chǔ)的也是數(shù)據(jù)單元或記錄,但它們都是與智能卡的具體應(yīng)用直接相關(guān)的。一般而言,一個(gè)具體的應(yīng)用必然要對(duì)應(yīng)于智能卡中的一個(gè)文件,因此,智能卡中的文件不存在通常所謂的文件共享的情況。而且,這種文件不僅在邏輯廣必須是完整的,在物理組織上也都是連續(xù)的。此外,智能卡中的文件盡管也可以擁有文件名,但對(duì)文件的標(biāo)識(shí)依靠的是與卡中文件—一對(duì)應(yīng)的文件標(biāo)識(shí)符,而不是文件名。因?yàn)橹悄芸ㄖ械奈募窃试S重復(fù)的,它在本質(zhì)上只是文件的一種助記符,并不能完全代表整個(gè)文件。
傳送管理(Transmission Manager)
傳送管理主要是依據(jù)智能卡所使用的信息傳輸協(xié)議,對(duì)由讀寫(xiě)設(shè)備發(fā)出的命令進(jìn)行接收。同時(shí),把對(duì)命令的響應(yīng)按照傳輸協(xié)漢的格式發(fā)送出去。由此可見(jiàn),這一部分主要和智能卡具體使用的通信協(xié)議有關(guān),而且,所采用的通信協(xié)議越復(fù)雜,這一部分實(shí)現(xiàn)起來(lái)也就越困難、越復(fù)雜。我們?cè)谇懊嫣岬竭^(guò)目前智能技術(shù)卡采用的住處傳輸協(xié)議一般是T=0協(xié)議和T=1協(xié)議,如果說(shuō)這兩類(lèi)協(xié)議的COS在實(shí)現(xiàn)功能上有什么不同的話,主要就是在傳送管理器的實(shí)現(xiàn)上有不同。不過(guò),無(wú)論是采用T=0協(xié)議還T=1協(xié)議,智能卡在信息交換時(shí)使用的都是異步通信模式;而且由于智能卡的數(shù)據(jù)端口只有一個(gè),此信息交換也只能采用半雙工的方式,即在任一時(shí)刻,數(shù)據(jù)端口上最多只能有一方(智能卡或者讀寫(xiě)設(shè)備)在發(fā)送數(shù)據(jù)。T=0、T=1協(xié)議的不同之處在于它們數(shù)據(jù)傳輸?shù)膯挝缓透袷讲灰粯?,T=0協(xié)議以單字節(jié)的字符為基本單位,T=1協(xié)議則以有一定長(zhǎng)度的數(shù)據(jù)塊為傳輸?shù)幕締挝弧?/span>
如果傳送管理器認(rèn)為對(duì)命令的接收是正確的,那么,它一般是只將接收到的命令的信息部分傳到下一功能模塊,即安全管理器,而濾掉諸如起始位、停止位之類(lèi)的附加信息。相應(yīng)地,當(dāng)傳送管理器在向讀寫(xiě)設(shè)備發(fā)送應(yīng)答的時(shí)候,則應(yīng)該對(duì)每個(gè)傳送單位加上信息交換協(xié)議中所規(guī)定的各種必要的附屬信息。
安全體系(Security Structure)
智能卡的安全體系是智能卡COS中一個(gè)極為重要的部分,它涉及到卡的鑒別與核實(shí)方式的選擇,包括COS在對(duì)卡中文件進(jìn)行訪問(wèn)時(shí)的權(quán)限控制機(jī)制,還關(guān)系到卡中信息的保密機(jī)制??梢哉J(rèn)為,智能卡之所以能夠迅速地發(fā)展并且流行起來(lái).其中一個(gè)重要的原因就在于它能夠通過(guò)COS的安全體系給用戶提供一個(gè)較高的安全ttributes)和安全機(jī)制(SecurityMachinams) 。其中,安全狀態(tài)是指智能卡在當(dāng)前所處的一種狀態(tài),這種狀態(tài)是在智能卡進(jìn)行完復(fù)位應(yīng)答或者是在它處理完某命令之后得到的。事實(shí)上,我們完全可以認(rèn)為智能卡在整個(gè)工作過(guò)程中始終都是處在這樣或是那樣的一種狀態(tài)之中,安全狀態(tài)通??梢岳弥悄芸ㄔ诋?dāng)前已經(jīng)滿足條件的集合來(lái)表示。安全屬性實(shí)際上是定義了執(zhí)行某個(gè)命令所需要的…些條件,只有智能卡滿足了這些條件,該命令才是可以執(zhí)行的。因此,如果將智能卡當(dāng)前所處的安全狀態(tài)與某個(gè)操作的安全屬性相比較,那么根據(jù)比較的結(jié)果就可以很容易地判斷出一個(gè)命令在當(dāng)前狀態(tài)下是否是允許執(zhí)行的,從而達(dá)到了安全控制的目的和安全狀態(tài)與安全屬性相聯(lián)系的是安全機(jī)制。安全機(jī)制可以認(rèn)為是安全狀態(tài)實(shí)現(xiàn)轉(zhuǎn)移所采用的轉(zhuǎn)移方法和手段,通常包括:通行字鑒別,密碼鑒別,數(shù)據(jù)鑒別及數(shù)據(jù)加密。一種安全狀態(tài)經(jīng)過(guò)上述的這些手段就可以轉(zhuǎn)移到另一種狀態(tài),把這種狀態(tài)與某個(gè)安全屬性相比較,如果一致的話,就表明能夠執(zhí)行該屬性對(duì)應(yīng)的命令,這就是COS安全體系的基本工作原理。從上面對(duì)cos安全體系的工作原理的敘述中,我們可以看到,相對(duì)于安全屬性和安全狀態(tài)而言,安全機(jī)制的實(shí)現(xiàn)是安全體系中極為重要的一個(gè)方面。沒(méi)有安全機(jī)制,cos就無(wú)法進(jìn)行任何操作。而從上面對(duì)安全機(jī)制的介紹中,我們可以看到,coS的安全機(jī)制所實(shí)現(xiàn)的就是如下三個(gè)功能:鑒別與核實(shí),數(shù)據(jù)加密與解密,文件訪問(wèn)的安全控制。因此,我們將在下面對(duì)它們分別進(jìn)行介紹。其中,關(guān)于文件訪問(wèn)的安全控制,由于它與文件管理器的聯(lián)系十分緊密,因此我們把它放到文件系統(tǒng)中加以討論。
鑒別與核實(shí):鑒別與核實(shí)其實(shí)是兩個(gè)不同的概念,但是由于它們二者在所實(shí)現(xiàn)的功能上十分地相似,所以我們同時(shí)對(duì)它們進(jìn)行討論,這樣也有利于在比較中掌握這兩個(gè)概念。
通常所謂的鑒別(Authentication)指的是對(duì)智能卡(或者是讀寫(xiě)設(shè)備)的合法性的驗(yàn)證,即是如何判定一張智能卡(或讀寫(xiě)設(shè)備)不是偽造的卡(或讀寫(xiě)設(shè)備)的問(wèn)題;而核實(shí)(verlfy)是指對(duì)智能卡的持有者的合法性的驗(yàn)證,也就是如何判定一個(gè)持卡人是經(jīng)過(guò)了合法的授權(quán)的問(wèn)題。由此可見(jiàn),二者實(shí)質(zhì)都是對(duì)合法性的一種驗(yàn)證,就其所完成的功能而言是十分類(lèi)似的。但是,在具體的實(shí)現(xiàn)方式上,由于二者所要驗(yàn)證的對(duì)象的不同,所采用的手段也就不盡相同了。具體而言,在實(shí)現(xiàn)原理上,核實(shí)是通過(guò)由用戶向智能卡出示僅有他本人才知道的通行字,并由智能卡對(duì)該通行字的正確性進(jìn)行判斷來(lái)達(dá)到驗(yàn)證的目的的。在通行字的傳送過(guò)程中,有時(shí)為了保證不被人竊聽(tīng)還可以對(duì)要傳送的信息進(jìn)行加密/解密運(yùn)算,這一過(guò)程通常也稱為通行字鑒別。
鑒別則是通過(guò)智能卡和讀寫(xiě)設(shè)備雙方同時(shí)對(duì)任意一個(gè)相同的隨機(jī)數(shù)進(jìn)行某種相同的加密運(yùn)算(目前常用DES算法),然后判斷雙方運(yùn)算結(jié)果的一致性來(lái)達(dá)到驗(yàn)證的目的。根據(jù)所鑒別的對(duì)象的不同,COS又把鑒別分為內(nèi)部鑒別(Internal Authentlcation)和外部鑒別(EXternal Authentication)兩類(lèi)。這里所說(shuō)的"內(nèi)部"、"外部"均以智能卡作為參照點(diǎn),因此,內(nèi)部鑒別就是讀寫(xiě)設(shè)備對(duì)智能卡的合法性進(jìn)行的驗(yàn)證;外部簽別就是智能卡對(duì)讀寫(xiě)設(shè)備的合法性進(jìn)行的驗(yàn)證。
智能卡通過(guò)鑒別與核實(shí)的方法可以有效地防止偽卡的使用,防止非法用戶的入侵,但還無(wú)法防止在信息交換過(guò)程中可能發(fā)生的竊聽(tīng)。因此,在卡與讀寫(xiě)設(shè)備的通信過(guò)程中對(duì)重要的數(shù)據(jù)進(jìn)行加密就作為反竊聽(tīng)的有效手段提了出來(lái)。我們下面僅對(duì)加密中的一個(gè)重要部件密碼在COS中的管理及存儲(chǔ)原理加以說(shuō)明。
密碼管理:目前智能卡中常用的數(shù)據(jù)加密算法是DES算法。采用DES算法的原因是因?yàn)樵撍惴ㄒ驯蛔C明是一個(gè)十分成功的加密算法,而且算法的運(yùn)算復(fù)雜度相對(duì)而言也較小,比較適用于智能卡這樣運(yùn)算能力不是很強(qiáng)的情況。 DES算法的密碼(或稱密鑰)長(zhǎng)度是64位的。COS把數(shù)據(jù)加密時(shí)要用到的密碼組織在一起,以文件的形式儲(chǔ)存起來(lái),稱為密碼文件。最簡(jiǎn)單的密碼文件就是長(zhǎng)度為8個(gè)字節(jié)的記錄的集合,其中的每個(gè)記錄對(duì)應(yīng)著一個(gè)DES密碼;較為復(fù)雜的密碼文件的記錄中則可能還包含著該記錄所對(duì)應(yīng)的密碼的各種屬性和為了保證每個(gè)記錄的完整性而附加的校驗(yàn)和信息。其中的記錄頭部分存儲(chǔ)的就是密碼的屬性信息,例如是可以應(yīng)用于所有應(yīng)用文件的密碼還是只對(duì)應(yīng)某-應(yīng)用文件可用的密碼;是可以修改的還是只能讀取的密碼等等。但是,不論是什么樣的密碼文件,作為一個(gè)文件本身,COS都是通過(guò)對(duì)文件訪問(wèn)的安全控制機(jī)制來(lái)保證密碼文件的安全性的。
當(dāng)需要進(jìn)行數(shù)據(jù)加密運(yùn)算時(shí),COS就從密碼文件中選取密碼加入運(yùn)算。從密碼文件中讀出密碼時(shí),與讀取應(yīng)用數(shù)據(jù)一樣,只要直接給出密碼所在的地址就可以了。當(dāng)然,最簡(jiǎn)單的產(chǎn)生密碼的方法是直接從密碼文件中隨機(jī)讀出一個(gè)密碼作為加密用密碼。但是這樣的機(jī)制可能會(huì)多次選中同一密碼,從而給竊聽(tīng)者提供破譯的機(jī)會(huì),安全性不太高。因此,比較好的辦法是在隨機(jī)抽取出一個(gè)密碼后再對(duì)密碼本身作一些處理,盡量減少其重復(fù)出現(xiàn)的機(jī)會(huì)。
例如PCOS產(chǎn)品中,采用的辦法就是對(duì)從密碼文件中選出的密碼首先進(jìn)行一次DES加密運(yùn)算,然后將運(yùn)算結(jié)果作為數(shù)據(jù)加密的密碼使用。其計(jì)算公式如下:Key=DES(CTC,K(a))式中,K是從密碼文件中隨機(jī)選取的一個(gè)密碼;CTC是一個(gè)記錄智能卡的交易次數(shù)的計(jì)數(shù)器,該計(jì)數(shù)器每完成一次交易就增一;key就是最后要提供給數(shù)據(jù)加密運(yùn)算使用的密碼。使用這種方法可以提高智能卡的安全性,但卻降低了執(zhí)行的效率。因此,具體采用什么樣的方法來(lái)產(chǎn)生密碼應(yīng)當(dāng)根據(jù)智能卡的應(yīng)用范圍及安全性要求的高低而具體決定。
應(yīng)用管理器(AppIication Manager)
應(yīng)用管理器的主要任務(wù)在于對(duì)智能卡接收的命令的可執(zhí)行性進(jìn)行判斷。關(guān)于如何判斷一條命令的可執(zhí)行性,我們已經(jīng)在安全體系一節(jié)中作了說(shuō)明,所以我們可以認(rèn)為,應(yīng)用管理器的實(shí)現(xiàn)主要是智能卡應(yīng)用軟件的安全機(jī)制的實(shí)現(xiàn)問(wèn)題。而因?yàn)橹悄芸ǖ母鱾€(gè)應(yīng)用都以文件的形式存在,所以應(yīng)用管理器的本質(zhì)就是我們將要在下一節(jié)加以討論的文件訪問(wèn)的安全控制問(wèn)題。正是基于這一點(diǎn),我們也可以把應(yīng)用管理器看作是文件管理器的一個(gè)部分。文件管理器(File Manager)
與安全一樣,文件也是COS中的一個(gè)極為重要的概念。所謂文件,是指關(guān)于數(shù)據(jù)單元或卡中記錄的有組織的集合。COS通過(guò)給每種應(yīng)用建立一個(gè)對(duì)應(yīng)文件的方法來(lái)實(shí)現(xiàn)它對(duì)各個(gè)應(yīng)用的存儲(chǔ)及管理。因此,COS的應(yīng)用文件中存儲(chǔ)的都是與應(yīng)用程序有關(guān)的各種數(shù)據(jù)或記錄。此外,對(duì)某些智能卡的COS,可能還包含有對(duì)應(yīng)用文件進(jìn)行控制的應(yīng)用控制文件。在CoS中,所有的文件都有一個(gè)唯一的文件標(biāo)識(shí)符(Filel Identifier),因此通過(guò)文件標(biāo)識(shí)符就可以直接查找所需的文件。此外,每個(gè)文件還可以有一個(gè)文件名作為助記符,它與文件標(biāo)識(shí)符的不同之處在于它是可以重復(fù)的。CoS中的各文件在智能卡的個(gè)人化過(guò)程中由發(fā)行商(Is suer)根據(jù)卡的應(yīng)用而創(chuàng)建,對(duì)卡的用戶而言通常是不能對(duì)文件進(jìn)行創(chuàng)建或刪除的。但是用戶可以根據(jù)情況對(duì)文件內(nèi)容進(jìn)行修改,可以對(duì)文件中的記錄或數(shù)據(jù)單元進(jìn)行增加、刪除等操作。(1) 文件系統(tǒng):COS的文件按照其所處的邏輯層次可以分為三類(lèi); 主文件(Master File),專用文件(Dedicated File) 以及基本文件(Elementary File)。其中,主文件對(duì)任何COS都是必不可少的,它是包含有文件控制信息及可分配存儲(chǔ)區(qū)的唯一文件,其作用相當(dāng)于是CoS文件系統(tǒng)的根文件,處于COS文件系統(tǒng)的最高層;基本文件也是必不可少的一個(gè)部分,它是實(shí)際用來(lái)存儲(chǔ)應(yīng)用的數(shù)據(jù)單元或記錄的文件,處于文件系統(tǒng)的最底層,而專用文件是可選的,它存儲(chǔ)的主要是文件的控制信息、文件的位置、大小等數(shù)據(jù)信息。我們可以用下圖的樹(shù)狀結(jié)構(gòu)來(lái)形象地描述一個(gè)COS的文件系統(tǒng)的基本結(jié)構(gòu)。
當(dāng)然,對(duì)于具體的某個(gè)COS產(chǎn)品,很可能由于應(yīng)用的不同,對(duì)文件的實(shí)際分類(lèi)表示會(huì)有所不同。但只要仔細(xì)地進(jìn)行分析,都可以歸結(jié)為上面的三個(gè)邏輯層次。例如前面提到過(guò)的PCOS產(chǎn)品。它對(duì)文件的分類(lèi)不是按照邏輯層次劃分的,而是根據(jù)文件的用途進(jìn)行的。它的文件分為三類(lèi): COS文件(COS File)、密碼文件(Key File)和錢(qián)包文件(Purses File)。其中所謂的COS文件保存有基本的應(yīng)用數(shù)據(jù);密碼文件存儲(chǔ)的是進(jìn)行數(shù)據(jù)加密時(shí)要用到的密碼;錢(qián)包文件的作用有些類(lèi)似 于我們?nèi)粘I钪械腻X(qián)包。由此可見(jiàn),它的這三類(lèi)文件本質(zhì)上又都介于基本文件(EF)類(lèi)。在PCOS中,專用文件的概念不是很明顯,但是事實(shí)上,如果大家留心的話,那么從以前的論述中,應(yīng)該不難發(fā)現(xiàn)該產(chǎn)品存儲(chǔ)器分區(qū)中FAT區(qū)內(nèi)的文件的作用就類(lèi)似于專用文件;而整張PCOS卡本身的性質(zhì)實(shí)際就是一個(gè)主文件。COS文件有四種邏輯結(jié)構(gòu):透明結(jié)構(gòu),線性定長(zhǎng)結(jié)構(gòu),線性變長(zhǎng)結(jié)構(gòu),定長(zhǎng)循環(huán)結(jié)構(gòu)。它們的定義及特點(diǎn)可以參閱ISO/IEC78l 6-4協(xié)議中的有關(guān)部分,這里不再詳述。不過(guò)無(wú)論采取的是什么樣的邏輯結(jié)構(gòu),COS中的文件在 智能卡的存儲(chǔ)器中都是物理上連續(xù)存放的??ㄖ袛?shù)據(jù)的存取方式、記錄的編號(hào)方法、數(shù)據(jù)單元的大小等作為文件系統(tǒng)的特征,在智能卡的復(fù)位應(yīng)答過(guò)程中由卡給出。
一般而言,在智能卡中最為重要的數(shù)據(jù)存取方式還是隨機(jī)存取方式,也就是卡的用戶在得到授權(quán)后,可以直接地任意訪問(wèn)文件中的某個(gè)數(shù)據(jù)單元或記錄。至于COS具體對(duì)文件可以進(jìn)行什么樣的操作.我們將在cos的命令系統(tǒng)中進(jìn)行討論。
(2) 文件訪問(wèn)安全:對(duì)文件訪問(wèn)的安全性控制是cos系統(tǒng)中的一個(gè)十分重要的部分,由于目前的國(guó)際標(biāo)準(zhǔn)(1S0/IEC78l 6-4)在這方面基本沒(méi)有作出什么實(shí)質(zhì)性的規(guī)定,因此,現(xiàn)有的文件訪問(wèn)的安全控制機(jī)制的具體實(shí)現(xiàn)方式多種多樣。我們?cè)谶@里準(zhǔn)備介紹其中比較有代表性的兩種實(shí)現(xiàn)方式:鑒別寄存器方式以及狀態(tài)機(jī)方式。其中,采用鑒別寄存器方式的有PCOS、ME2000等產(chǎn)品:采用狀態(tài)機(jī)方式的產(chǎn)品有STARCOS。采用鑒別寄存器方式時(shí),通常是在內(nèi)存RAM中設(shè)置一個(gè)8位(或者是16位)長(zhǎng)的區(qū)域作為鑒別用寄存器。這里的鑒別是指對(duì)安全控制密碼的鑒別。鑒別用寄存器所反映的是智能卡在當(dāng)前所處的安全狀態(tài)。采用這種方式時(shí),智能卡的每個(gè)文件的文件頭(或者是文件描述器)中通常都存儲(chǔ)有該文件能夠被訪問(wèn)的條件,一般是包括讀、寫(xiě)兩個(gè)條件,分別用cr、cu表示這就構(gòu)成了該文件的安全屬性。而用戶通過(guò)向智能卡輸入安全密碼.就可以改變卡的安全狀態(tài),這一過(guò)程我們通常稱為出示,這就是鑒別寄存器為主的安全機(jī)制。把上面的兩方面結(jié)合起來(lái),就能夠?qū)ㄖ形募淖x寫(xiě)權(quán)限加以控制了。具體的操作機(jī)制我們以PCOS為例加以描述。
首先,PCOS中的鑒別寄存器是8位字長(zhǎng)的,這8位字長(zhǎng)的各位分別與PCOS存儲(chǔ)器中保密字區(qū)內(nèi)的7個(gè)安全密碼的序號(hào)一一對(duì)應(yīng)。寄存器中每一位的初始值都被置為"o"。如果用戶向智能卡出示了某一個(gè)安全密碼,并且被判斷為正確的話,系統(tǒng)就在鑒別寄存器的相應(yīng)位上寫(xiě)入"l"。例如,如果處于保密字區(qū)中的第2個(gè)安全密碼被用戶正確出示的話,PCoS就在寄存器的第2位上寫(xiě)"l"。同時(shí),文件描述器中的讀、寫(xiě)條件Cr、Cu保存的都是在o和7之間的一個(gè)數(shù),它的值對(duì)應(yīng)于該文件進(jìn)行讀(或?qū)?操作時(shí)所需要出示的密碼在保密字區(qū)小的序號(hào)。在對(duì)某個(gè)文件進(jìn)行讀(或?qū)?操作之前,系統(tǒng)首先判斷在鑒別寄存器內(nèi)對(duì)應(yīng)的第Cr(或Cu)位是否己被置為"l" (如果Cr等于O,就表示該文件可以被用戶隨意讀取;對(duì)于Cu也是一樣),只有當(dāng)該位為"l"時(shí),才表示讀(或?qū)?權(quán)限已經(jīng)得到滿足.才能對(duì)該文件進(jìn)行讀(或?qū)?操作。這也就是說(shuō),如果用戶想要對(duì)一個(gè)件進(jìn)行操作的話,就必須要首先出示對(duì)應(yīng)于該文件的安全屬性為正確的安全密碼。系統(tǒng)據(jù)此就達(dá)到了對(duì)文件的訪問(wèn)進(jìn)行安全控制的目的。與鑒別寄存器方式完全不一樣,狀態(tài)機(jī)方式更加明顯地表示出安全狀態(tài)、安全屬性以及安全機(jī)制的概念以及它們之間的關(guān)系(關(guān)于狀態(tài)機(jī)的知識(shí)不屬于本文章的范疇,有興趣的讀者請(qǐng)自行查閱有關(guān)資料)。以STARCoS為例,它采用的是一種確定狀態(tài)機(jī)的機(jī)制,該機(jī)制通過(guò)系統(tǒng)內(nèi)的應(yīng)用控制文件(Application Control File,ACF)而得以實(shí)現(xiàn)。ACF是一個(gè)線性變長(zhǎng)結(jié)構(gòu)的文件,其rh記錄0l包括了該ACP所控制的應(yīng)用可以允許的所有命令的指令碼 (INS);其余的記錄分別與記錄ol中的指令碼一一對(duì)應(yīng),其中存儲(chǔ)的都是對(duì)應(yīng)命令的變體(Varient)記錄。所謂變體記錄指的是這樣的一些記錄:記錄中存儲(chǔ)的是控制信息、初始狀態(tài)、可能的下一狀態(tài)以及某些附加的指令信息的組合,利用ACF中的這些變體記錄就可以形成狀態(tài)轉(zhuǎn)移圖。在變體記錄中,控制信息部分是必不可少的。不同的變體記錄主要在兩個(gè)方面有區(qū)別:一是命令所允許的狀態(tài)不同,二是以CLA字節(jié)開(kāi)始的指令信息部分不相同。這主要是由命令要操作的應(yīng)用的對(duì)象不同而決定的。
利用ACF,COS系統(tǒng)就可以實(shí)現(xiàn)對(duì)文件訪問(wèn)的安全控制了。當(dāng)系統(tǒng)接收到一個(gè)應(yīng)用進(jìn)行操作的一條命令后,首先檢驗(yàn)其指令碼是否在相應(yīng)的ACF文件的記錄01中。如果不在其中,系統(tǒng)就認(rèn)為該命令是錯(cuò)誤的。在找到了對(duì)應(yīng)的指令碼后,系統(tǒng)把命令的其余部分與該命令對(duì)應(yīng)的備變體記錄中的指令信息按照該變體記錄的控制信息的要求進(jìn)行比較,如果比較結(jié)果一致,那么再查驗(yàn)變體記錄中的初始狀態(tài)信息。若所有這些檢測(cè)都順利通過(guò),那么系統(tǒng)就進(jìn)入對(duì)應(yīng)變體記錄中指明的下一狀態(tài);否則,繼續(xù)查找下一個(gè)變體記錄直到發(fā)現(xiàn)相應(yīng)變體或是查完該命令對(duì)應(yīng)的所有變體記錄為止。如果沒(méi)有找到相應(yīng)的變體記錄,說(shuō)明該命令是非法的;否則就進(jìn)入下一步對(duì)命令的處理,即由COS調(diào)用實(shí)際的處理過(guò)程執(zhí)行對(duì)命令的處理。并且僅當(dāng)處理過(guò)程正常結(jié)束的時(shí)候,系統(tǒng)才進(jìn)入一個(gè)新的狀態(tài),并開(kāi)始等待對(duì)下一條命令的接收。
聯(lián)系人: | 張經(jīng)理 |
---|---|
電話: | 400-023-6659 |
傳真: | 023-68798110 |
Email: | 843718693@qq.com |
QQ: | 843718693 |
微信: | Lotus-Smart |
微博: | lotusreader |
旺旺: | 諾塔斯智能科技有限公司 |
地址: | 重慶市江北區(qū)宏帆路36號(hào)宏帆天地1棟6樓 |