新一代智能卡操作系統NOP的分析與解讀
文章出處:http://hz-huyue.com 作者:東信和平智能卡股份有限公司 人氣: 發表時間:2011年09月29日
一、NOP智能卡操作系統的開發動機
1、智能卡軟件發展的三個階段:
說明:
(1)安全性是智能卡軟件的核心問題。
(2)智能卡軟件是向后兼容的,第三階段也包括第一、二階段的功能。
(3)應用程序我國企業已經完全掌握了,具有國際競爭性。
(4)開放平臺由于版權和技術的問題,在我國尚未推廣,雖然在國外已經普及,但并沒有嚴重影響國內市場。
(5)智能卡行業現在正處在一個全面的產業升級階段。
2、智能卡操作系統的機遇與挑戰:
(1)經過十多年的技術積累,我國智能卡企業已經基本具備了參與第三次產業升級的能力。
(2)在進行第三次產業升級的同時解決第二階段中遺留的問題。
(3)國外企業為了重新拉開與我國企業的差距,最近幾年加大了對新一代智能卡操作系統的研發力度。
(4)新一代智能卡操作系統的復雜性大大提高,特別是開放、并發的系統安全性。
二、 NOP智能卡操作系統的歷史
1.何為NOP?NOP=National/New Open Platform
2.NO智能卡操作系統發展的三個階段:
NOP第一期:理論、工具、和方法研發。
(1)理論基礎:密碼學、信息安全等
(2)需求開發:挖掘需求,規范需求,管理需求
(3)分析設計:結構化方法,形式化方法,半形式化方法
(4)在線調試:模擬級,仿真級,目標板
(5)在線分析:跟蹤、性能、覆蓋率、內存分析等
(6)多處理器:硬件和虛擬機混合在線調試與分析
以上六個階段為新一代智能卡集成開發所需要的環境。
NOP第二期:核心技術、和新技術研發。
(1)開放技術:硬件的防火墻,微瀏覽器,解釋器,虛擬機等
(2)通信技術:USB,MMC,SWP,HTTP(S),TCP/IP,ISO14443等
(3)并發處理:多通道等因素造成并發性,因此需要同時處理
(4)圖形界面:傳統的為APDU命令行方式,現需要圖形化界面
(5)其它技術:斷電保護,補丁,安全文件系統,卡片管理等
以上技術可以組合成多種產品。
三、NOP智能卡操作系統的特點:
特點1:基于棧和寄存器的面向對象的虛擬機
用戶可以通過高級編程語言開發應用程序,通過虛擬機執行。虛擬機為基于棧和寄存器的面向對象的解決方案,它比其它虛擬機的時空效率高出大約20-25%。
特點2:多個高速對外通道
除了傳統的ISO7816、ISO14443等通道,還有更多種類的接口,如SWP和高速通道,如MMC,IC_USB(2.0)等。
不同種類通道的軟件通訊接口采用統一的Socket方式,它不但可以作為輸入輸出的,也可作為網絡編程、任務間通訊的統一形式的API接口。SOCKET方式不僅功能完善、而且也為普通的軟件開發人員所熟悉。
特點3:并發處理
由于智能卡的特殊性,針對不同的系統部件采用不同的并發處理模式。例如在通訊模塊采用協作方式,因為通訊程序對時間的準確性要求比較高;在用戶程序層面采用輪回方式,因為每個應用程序往往需要平等的執行機會;在系統內核和系統服務層面則采用搶先多任務方式,這樣,系統程序將有更高的優先級別,以便更好地管理整個系統和為應用程序提供服務。
特點4:網絡編程
卡內置TCP/IP協議棧,應用程序通過Socket編程接口進行網絡編程。Socket接口不僅作為網絡編程接口,而且作為點對點通訊和文件系統訪問和任務間通訊的統一接口。網絡編程不僅可以實現網絡結點間的數據交換,而且通過一定的協議,還可以實現例如遠程方法調用等功能,這樣,可以更好地支持分布式系統。
特點5:圖形化的人機界面
傳統的智能卡只能通過類似于命令行的方式(如APDU)與外界交互。隨著行業的發展,和用戶要求的提高,一個友好的圖形化用戶界面對智能卡程序而言變得越來越重要。NOP為智能卡程序員提供很方便的開發圖形化界面的程序(類似與VC++的編程方法)。
特點6:主動運行程序
傳統的智能卡只能以slave的身份被動地為master提供service,而無法以client的身份主動地要求slave提供service。這種限制來自于通訊協議和智能卡程序模式等多各方面。顯然,這種模式大大限制了智能卡程序的發展。而理想的模式應該是既支持被動方式,也支持主動方式,既對等模式(Peer to Peer)。NOP支持智能卡主動地運行程序。
特點7:集成開發環境
首先,NOP采用面向對象的高級語言(如C++等)開發應用程序;
其次,NOP為用戶提供集成化的開發環境(包括需求開發、分析、設計、編程、測試等,還包括例子代碼、文檔等);
最后,NOP為應用提供多種框架代碼,這不但方便了應用開發,提高了應用程序的質量,而且也增強了整個系統的安全型。
特點8:安全文件系統
采用內置文件系統作為可配置多應用的解決方案,為第三方的應用程序提供安全文件系統的支持,并為系統的內部管理提供服務。
特點9:管理
以文件系統作為存儲機制,以文件系統的操作作為管理接口,對卡片、程序進行統一的管理,分別包括:卡片平臺管理、應用程序管理、應用程序安裝與卸載管理、應用程序運行管理。
特點10:安全
設計時,采用形式化與半形式化的方式進行設計和證明。
采用多種安全機制,如系統程序和應用程序、應用程序之間的防火墻機制,設置用戶訪問權限,運行中檢測訪問者的身份與權限等。
進行安全分析和測試。準備安全認證,如CC認證。
四、NOP智能卡操作系統應用程序集成開發環境
五、 NOP智能卡操作系統的安全性
1.簡單化,在不影響功能和性能的前提下,采用簡單明了的軟件體系結構。
2.系統化,全面地設計、開發、測試整個系統的安全性。
3.標準化,采用符合國際標準的方法,如CC,開發與認證系統安全。
4.此外,其它的安全措施。如通過軟、硬件相結合,提高系統的防攻擊性;如采用多種保護措施(再AES加密等)例如DES加密后。