智能卡3G COS軟件的設計與實現
文章出處:http://www.nyfzw.net 作者:覃毅 陳榮征 黃健 人氣: 發表時間:2011年09月29日
1 引言
3G系統能提供多類型高質量多媒體業務,能實現全球無縫覆蓋,并具有全球漫游能力與固定網絡兼容。
COS(Chip Operation System)是智能卡芯片操作系統。是駐留智能卡內的操作系統軟件,使智能卡實現“智能”的重要支撐平臺。優秀的智能卡COS系統將使智能卡實現“安全可靠的應用智能”。目前,3GCOS主要存在體系結構模型、關鍵技術的選擇以及覆蓋模型的建立等三個問題。體系結構模型和關鍵技術的選擇主要體現的是COS系統的效率和擴展性問題,覆蓋模型的建立主要是為了適應不同硬件UICC的需要。為了解決系統的效率和擴展問題,本文采用一種將層次結構和微內核結構優點相結合的半層次結構模型;為了解決COS系統在不同硬件上的適應性問題,而又不增加COS系統的代碼量,系統決定采用從覆蓋模型到特殊模型相映射的方法,當掩模罐裝到具體UICC硬件時,由覆蓋模型根據具體要掩模的UICC硬件特征抽象出特殊模型,而不直接將覆蓋模型掩模到UICC中,這樣既可以減少COS系統的代碼量,又可以相對增加用戶數據可存儲量。
2 體系結構設計
當前,比較主流的系統模型主要有四種 J:單塊式結構模型、層次結構模型、客戶/服務模型、REO模型,通過對四種模型各自的優缺點、適用場景進行詳細分析,本文根據3GCOS系統的設計目標和設計原則,提出適合系統實際開發的半層次結構模型,如圖1所示。
2.1 各模塊功能劃分
COS結構模型從整體上可劃分為兩大層次:功能模塊層和微內核層。其中,功能層主要實現COS的應用邏輯處理功能,主要包含通信管理模塊、安全管理模塊、命令解釋模塊、文件管理模塊。
(1)功能模塊層
通信管理模塊:對I/O輸入緩沖區中接收到的數據采取奇偶校驗、累加和及分組長度檢驗等到手段進行正確性判斷,不進行信息內容的判斷,判斷的標準參見ISO 7816—4 APDU指令結構;接收經過安全管理、命令處理、文件管理處理后的信息,并按照ISO 7816 APDU指令結構要求打包成完整的數據幀,發送到I/O的輸出緩沖區。
安全管理模塊:接受通信管理模塊的調度,并向通信管理模塊返回處理后的數據信息;將由通信管理模塊接收到的進行安全驗證;不做數據內容的驗證;當安全驗證不通過時,直接向通信管理模塊返回數據。
命令解釋模塊:接受安全管理模塊的調度,并向安全管理模塊返回處理后的數據信息,即返回與命令相對應的響應代碼;需要作數據內容上的鑒別;當數據內容鑒別不通過時,直接向通信模塊返回數據。
文件管理模塊:接受命令管理模塊的調度,并執行命令,向命令解釋模塊返回數據。
(2)微內核層
微內核整體功能:對功能層的邏輯處理提供硬件支持,實現卡與終端的通信。微內核分為轉換層、硬件接口層、硬件三個部分。轉換層接受功能層的調度,并將功能層的調度轉換為對底層驅動接口的調用,向功能層提供統一的向上接口,實現對覆蓋模型各種底層硬件驅動的管理,當由覆蓋模型轉換為特殊模型時,實現對底層驅動的具體硬件配置,剝離覆蓋模型中冗余的底層驅動,在特殊模型中使功能層實現對底層驅動的透明調用;硬件接口層主要實現對底層硬件的驅動調度。
2.2 功能模塊之間的狀態轉換及調度關系
功能層各模塊之問的關系表現為程序調度請求和數據響應關系,模塊的輸出為程序調度請求,輸入為調度后得到的數據響應,調度和相應均以事務來表示,而事務表示一組數據以及在數據上的一組操作。3GCOS功能層各模塊之間的狀態轉換與調度關系如圖2所示。
圖2 模塊狀態轉換及調度關系圖
其中,上圖中的事務2、事務3表示卡與終端之間的一種通信關系。
3 關鍵技術
3.1 系統主調度流程的設計
3.1.1 主調度流程
COS系統的調度流程,分主調度流程和功能子流程 。主流程對終端輸入指令的接收可以采用輪詢方式或中斷方式,由于采用輪詢方式系統開銷較大,故在本文的3GCOS系統中采用了中斷調度方式。3GCOS主調度流程的執行步驟如下:
(1)卡上電復位;
(2)發送ATR復位應答指令的第一字節;
(3)初始化系統運行環境:初始化安全環境,清空I/O輸入輸出緩沖區APDU—IN—buffer、AP.DU— OUT— buffer;
(4)發送ATR剩余字節;
(5)等待中斷指令信號;
(6)調度中斷處理程序,獲取與中斷源相對應的中斷服務程序入口地址;
(7)根據中斷服務程序入口地址,調度執行中斷服務程序;
(8)判斷輸入緩沖區APDU指令的完整性;
(9)APDU指令不完整則返回⑤繼續等待中斷指令信號;
(10)APDU指令完整,則系統關中斷,調度功能執行子流程進行命令處理,返回處理結果到輸出緩沖區APDU—OUT—buffer:
(11)調用輸出I/O輸出驅動,將APDU響應指令發給終端;
(12)清空輸輸入輸出,緩沖區;
(13)開中斷,返回。
主層序執行流程圖,如圖3所示。
3.1.2 算法描述
方案,現已完成軟件整體測試,系統運行穩定、可靠,符合ISO/IEC 7816和ISO/IECI443 TYPE B標準以及《中國金融集成電路(IC)卡規范》、《中國金融集成電路(IC)卡應用規范》等標準,現正進行用戶測試。
(文/仲愷農業技術學院現代教育技術中心 廣東工業大學計算機學院 覃毅 陳榮征 黃健)