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