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