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