RF-SIM卡的多應用COS研究與設計
1前言
隨著(zhù)芯片技術(shù)的發(fā)展以及運營(yíng)商之間的業(yè)務(wù)擴展,手機智能卡將會(huì )突破個(gè)人身份識別的單應用平臺向多應用平臺方向發(fā)展,特別是移動(dòng)支付平臺。如今芯片生產(chǎn)商已經(jīng)開(kāi)發(fā)出了支持2.4GHz頻率的RF-SIM卡,它是接觸式智能卡與非接觸式智能卡的結合,在設計上,接觸式界面遵守ISO7816接口標準,非接觸式界面采用2.4GISM頻段進(jìn)行通信。在硬件實(shí)現上,RF-SIM卡有三芯片、雙芯片和單芯片三種硬件實(shí)現架構方式[1](如圖1)。在安全方面,數據采用自動(dòng)TDES加密技術(shù)進(jìn)行空中傳輸,防止竊聽(tīng)數據,在刷卡時(shí)采用雙向認證的安全機制,所以它是可靠的連接和安全的通信。另外,在不用更換手機的前提下,RF-SIM卡能夠完成更多手機終端無(wú)法完成的功能,所以基于RF-SIM卡的多行業(yè)多應用服務(wù)平臺具有廣闊的前景。在這個(gè)平臺體系里,COS(ChipOperatingSystem)是非常重要的,它既要管理底層硬件高效地工作,又要保證上層應用安全地運行。所以本文的目的就是設計一種基于RF-SIM卡的多應用COS結構。
2COS結構模型的選擇
雖然智能卡芯片的硬件資源有限,但是COS結構設計的要求卻并不低,它需要綜合考慮功能、性能、可移植性、可擴展性、靈活性和復雜度等諸多因素的要求:(1)功能上不但要求SIM卡端能夠實(shí)現電信方面的應用,而且還要求非接觸式界面端能夠實(shí)現無(wú)線(xiàn)方面的應用,如公交IC刷卡。(2)性能要求是指能在有效的時(shí)間內利用有限的存儲空間完成系統要求的功能。(3)可移植性要求COS能夠方便地移植到其他環(huán)境中運行。(4)可擴展性是指多應用平臺能夠方便地擴展上層業(yè)務(wù)功能,方便地增加、修改和刪除上層應用的功能模塊。最后從實(shí)現環(huán)節上還需要考慮系統的靈活性和復雜性要求。如今常見(jiàn)的COS結構模型有簡(jiǎn)單結構、層次結構、微內核結構和外核結構4種,其特性分析詳見(jiàn)表1。
顯然微內核結構的綜合特性較優(yōu),但時(shí)間性能和移植性卻是一般,所以,在微內核結構模型基礎上進(jìn)行改良設計(如圖2):在微內核層增設虛擬硬件層增強系統的可移植性和簡(jiǎn)化比較耗時(shí)的進(jìn)程機制與中斷處理機制提高系統時(shí)間性能。
3多應用COS設計的關(guān)鍵技術(shù)
3.1多應用文件系統的設計
多應用平臺的設計本質(zhì)上就是設計多應用文件系統,并在此基礎上安全運行多個(gè)應用。所以文件系統是COS的核心,它不僅負責存儲、管理和維護卡內存儲的數據而且為上層應用提供統一的透明訪(fǎng)問(wèn)機制。具體設計方案如下。
3.1.1多樣性存儲設計
SIM卡的文件結構遵守GSM11.11規范,是以MF為根,DF為枝葉和EF為葉的樹(shù)形結構(如圖3)[2],而RF端的文件結構卻可能沒(méi)有統一的規范,它可能是某行業(yè)通用結構也可能是運營(yíng)商的私有結構。因此,文件格式具有多樣性,為方便管理和解決文件系統間格式混亂問(wèn)題,把存儲空間分成基本文件區、應用文件區(如GSM文件區和Mifare文件區)和未分配存儲區三部分。其中不僅每部分區域連續分配,而且每個(gè)應用文件系統也是連續分配存儲空間(如圖4)?;疚募^存儲各文件系統的公共信息和注冊信息,如空間分配情況表、GSM文件和Mifare文件注冊表、全局安全信息等。GSM文件結構區以隱式鏈接方式存儲結構,用目錄項表示MF、DF、EF之間的邏輯結構,分配連續區域存放目錄項;統一把DF、EF放在實(shí)體文件區。Mifare文件實(shí)際上就是一種結構化的記錄塊文件,結構規范、管理較簡(jiǎn)單、存儲較方便,所以可以把該區域按記錄形式存儲操作。未分配存儲區的容量是該芯片的大小減去應用文件區的大小,所以它是應用文件區的空間補集。它的作用主要有兩方面:(1)為新應用分配存儲空間:在卡片運營(yíng)過(guò)程中,如果需要安裝新的應用軟件AppS1,那么從該區域劃分等于或微大于A(yíng)ppS1的存儲空間安裝它并且注冊在應用文件區中,剩下的空間成為新的未存儲分配區。(2)作為掉電保護的備份區之一。
3.1.2文件API接口設計
為多個(gè)文件系統設置統一的文件API接口,使上層應用能夠共享一套接口函數和存儲管理機制。對此具體設置了5個(gè)API訪(fǎng)問(wèn)接口函數:FS_SeleteFile(選擇文件),FS_CreateFile(創(chuàng )建文件),FS_DeleteFile(刪除文件),FS_ReadFile(讀文件),FS_WriteFile(寫(xiě)文件)。
3.1.3文件安全性設計
智能卡的安全性就是對卡片內數據對象訪(fǎng)問(wèn)的安全控制能力,卡片安全體系的總體結構分為安全屬性、安全狀態(tài)和安全機制[3]。對于文件對象而言,首先設置多個(gè)級別的安全屬性增強安全級別的靈活性和多樣性設置,然后采取先鑒權后操作的訪(fǎng)問(wèn)機制,也就是說(shuō)只有在鑒權通過(guò)時(shí)才能夠執行后繼操作,若不通過(guò),則拒絕訪(fǎng)問(wèn),例如選擇文件,創(chuàng )建文件都必須通過(guò)要SCB(SecureControlByte)字節的鑒權操作,如GSM11標準里的PIN碼、PUK碼和CDM碼的共同構成SCB。
3.1.4環(huán)境的適應性設計
一般來(lái)說(shuō),智能卡的應用環(huán)境是比較惡劣的,特別是供電不穩定和存儲介質(zhì)壽命約束問(wèn)題。所以為保證系統的穩定性和延長(cháng)卡片壽命設計了掉電保護和均衡磨損機制[4]。掉電保護是指在寫(xiě)數據塊時(shí),先把更新區數據備份到其他區域,防止在寫(xiě)數據過(guò)程中系統掉電而破壞原數據區的數據,可以從備份區把數據重新寫(xiě)回。具體算法如圖5所示(例如數據B要寫(xiě)到數據A區域)。
由上述算法可知,每完成一次掉電保護操作至少要寫(xiě)一次備份區C,因此從整體來(lái)說(shuō)備份區C的讀寫(xiě)是頻繁的,但是對存儲介質(zhì)的讀寫(xiě)次數有嚴格限制(如flash的擦寫(xiě)次數為100000~1000000次),所以備份區C不能靜態(tài)分配,需要動(dòng)態(tài)選擇。更本質(zhì)上說(shuō),由于對存儲塊的讀寫(xiě)訪(fǎng)問(wèn)不均勻,導致出現了“冷”“熱”數據塊,因此有必要協(xié)調好兩者之間的關(guān)系,也就是盡量使數據塊擦寫(xiě)趨于均衡,即均衡磨損機制。綜合考慮芯片的硬件環(huán)境及算法實(shí)現的難易程度,本系統采用“冷熱置換”策略:首先把當前應用的數據塊擦除次數表(Data-blockEraseTable,DET)調入RAM,對數據塊的擦除都要更新DET,當某塊S的擦除次數大于某一閾值時(shí)(如256次),選擇一擦除次數最少的數據塊置換。當DET表所有記錄的擦除項為“滿(mǎn)”(所有都為256次)或者DET總更新次數大于或等于某臨界值時(shí)(如1000次),DET記錄的擦除次數項全部清零,并且把DET從RAM中保存至flash存儲器。顯然,這種“冷熱置換”方式能夠很好地保證應用系統內部數據塊的均衡磨損,但是在掉電保護算法中,因為備份區C不需要置換,只是覆蓋即可,所以對于備份區C的選擇采用“循環(huán)寫(xiě)空閑塊”的方式:從未分配區域和系統文件區(如GSM文件區)中通過(guò)循環(huán)查找的方式選擇空閑塊充當備份區。
3.2多應用安全機制的設計
具體的單應用系統平臺中,一般都設計了規范的或者行業(yè)間私有的安全機制,所以本部分重點(diǎn)討論多文件系統環(huán)境下的安全問(wèn)題。
3.2.1數據內容安全管理:對文件中的數據進(jìn)行加密來(lái)保證內容的安全,因為即使數據被非法讀取,竊取的也只是密文,破解難度大。
3.2.2非法越界管理:多應用文件系統的最大威脅就是非法越界訪(fǎng)問(wèn)其他文件系統數據,所以必須設計防止多應用文件間非法越界訪(fǎng)問(wèn)的安全機制[5]:因為各文件系統的存儲空間是連續分配的,物理地址的范圍可表述為Addr[上界,下界],所以可以通過(guò)Addr中的上界和下界進(jìn)行匹配隔離方式防止越界訪(fǎng)問(wèn),這樣就如同在文件系統的上界和下界處設置了一道堅固的隔離墻。
3.2.3交互行為安全:某些事務(wù)邏輯中,需要在一次原子性操作過(guò)程中訪(fǎng)問(wèn)兩個(gè)或以上的文件系統,如用手機銀行為公交IC卡充值。在交互過(guò)程中,設置日志管理機制來(lái)保證事務(wù)邏輯的原子性。為保證多個(gè)應用系統間交互操作的行為安全,建立信任機制,采用雙向鑒權方式來(lái)增強行為安全的可信度,同時(shí)使用數字簽名認證方式來(lái)界定安全責任,因為這種方式具有不可抵賴(lài)性。
3.3雙通道通信設計
RF-SIM卡具有接觸和非接觸兩個(gè)界面,因此它存在SCD(接觸式7816接口)和SCR(非接觸式RF接口)兩個(gè)邏輯傳輸通道。兩個(gè)通道既能夠獨立地進(jìn)行數據傳輸又需要相互協(xié)調工作,當然也跟智能卡芯片內核密切聯(lián)系,它們之間的調用關(guān)系如圖6所示。
為方便移植和其他模塊對SCD與SCR通道進(jìn)行透明調用,分別設置如下通道命令處理接口[6]:Scd_RecvByte(7816接口接收一個(gè)字節數據),Scd_SendByte(7816接口發(fā)送一個(gè)字節數據),Scd_Mode(SCD通道收發(fā)模式轉換),Scd_Close(SCD通道關(guān)閉),Scd_Reset(SCD通道重設),Set_Timer(SCD通道發(fā)送60函數)Scr_Send(RF發(fā)數據),Scr_Recv(RF收數據),Scr_Data(RF數據緩存),Scr_param(RF的參數),Scr_Star(啟動(dòng)射頻功能)。
4實(shí)驗測試
經(jīng)過(guò)對各功能模塊進(jìn)行認真研究、仔細分析和逐步細化的過(guò)程,最后設計出基于RF-SIM卡的多應用COS結構圖(圖7)。隨后在此COS結構基礎上設計實(shí)驗方案:硬件平臺是以AT90SC320288RCT安全芯片為基礎的RF-SIM芯片卡,編譯工具使用的是IAREWAVR4.3A開(kāi)發(fā)平臺,應用層設計了GSM應用和RF應用。GSM應用是以電信EVDO卡為例設計,RF應用則以公交IC卡為例,在EVDO卡部分,文件模塊、安全模塊、命令模塊和通信模塊遵守GSM11.11系列規范和ISO7816規范。RF應用方面,射頻通信符合ISO/IEC14443系列標準,文件系統采用MAFIREI格式結構。同時(shí)設計了STK菜單,支撐GSM應用和公交IC卡的數據交互。最后經(jīng)過(guò)編碼、內部測試、仿真、卡片下載流程之后,基本實(shí)現了電信EVDO卡和公交IC卡的功能與性能等方面的要求,從而驗證了本設計方案的可行性。但是本方案只是在結構上預留了其他應用接口,而對應用的動(dòng)態(tài)更新還有待研究。
5總結
在多應用環(huán)境下,重點(diǎn)對文件系統、安全機制和雙通道通信管理進(jìn)行了研究與設計,最后基于RF-SIM卡設計了一種多應用COS結構和實(shí)現了一個(gè)簡(jiǎn)單原型,具有較高的穩定性和安全性,對其他研究人員設計多應用COS有一定的借簽價(jià)值。
評論