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