欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

智能卡開放應用的開發(fā)方法

文檔序號:6572175閱讀:165來源:國知局
專利名稱:智能卡開放應用的開發(fā)方法
技術領域
本發(fā)明涉及一種智能卡開放應用的開發(fā)方法,尤其是一種可由第 三方下載應用程序到智能卡中的智能卡開》丈應用開發(fā)方法。
背景技術
智能卡具有安全性能高、體積小、存儲容量大等優(yōu)點,已經(jīng)廣泛 應用在移動通信、電子商務等領域?,F(xiàn)有的智能卡安裝有智能卡的操作系統(tǒng)(COS)以及運行在操作系統(tǒng)上應用程序?,F(xiàn)有部分智能卡的應用程序并不是由智能卡操作系統(tǒng)開發(fā)方開發(fā),而是由第三方,如銀 行等開發(fā),使智能卡實現(xiàn)某些特定的功能?,F(xiàn)有部分應用程序使用能夠編譯成機器指令的語言,如c語言開發(fā),然后編譯成中央處理器能夠直接執(zhí)行的指令,存儲在智能卡中。但這樣會對智能卡的安全性能帶來隱患。若第三方編寫惡意應用程序,對中央處理器進行梯:作,并 惡意修改智能卡存儲的數(shù)據(jù),可能造成智能卡數(shù)據(jù)丟失,甚至會竊取 用戶存儲在智能卡的個人數(shù)據(jù),給用戶個人信息安全帶來隱患,影響 智能卡開放應用的安全性。因此,現(xiàn)有部分智能卡需要第三方使用不能夠編譯成機器指令的語言,如Java語言編寫應用程序。這樣,雖然應用程序不能操作中 央處理器,使智能卡能夠安全地開放給第三方開發(fā)應用程序,但由于 Java語言在智能卡中運行速度較慢,不利于智能卡的快速運行。因此,專利號為US5894550的美國發(fā)明專利公告了名為"一種執(zhí) 行微處理卡安全程序的方法及安裝有安全程序的微處理卡,,的發(fā)明創(chuàng) 造,該專利公告的微處理卡為一智能卡,智能卡的硬件設備有定時 器、計數(shù)器、通用異步收發(fā)機、內(nèi)存管理單元等,該智能卡的中央處 理器與存儲器之間的連接關系如圖1所示。智能卡1包括中央處理器 20以及存儲器30,其中存儲器30包括兩個存儲區(qū),分別是第一存儲 區(qū)31和第二存儲區(qū)32,中央處理器20可分別訪問第一存儲區(qū)31和 第二存儲區(qū)32。其中,第一存儲區(qū)31存儲有智能卡1的操作系統(tǒng),而應用程序則存儲在第二存儲區(qū)32中,且存儲在第二存儲區(qū)32的應 用程序不能直接訪問第一存儲區(qū)31的數(shù)據(jù),即應用程序不能修改存 儲在第一存儲區(qū)31中的數(shù)據(jù),這樣可以保證存儲在第一存儲區(qū)的數(shù) 據(jù)不會被惡意修改。但是,這種智能卡僅在硬件設備上將操作系統(tǒng)和應用程序分開存 儲,并且存儲時需要按照存儲器的物理地址存放,不但給開發(fā)人員開 發(fā)帶來麻煩,而且存儲在第二存儲區(qū)32中不同的應用程序仍可相互 訪問,惡意第三方仍可以惡意修改存儲在第二存儲區(qū)32中的其它應 用程序,仍然給智能卡的開放應用帶來安全隱患。發(fā)明內(nèi)容本發(fā)明的主要目的是提供一種能夠安全地開放給第三方使用能夠 編譯成機器指令的語言開發(fā)應用程序的智能卡開放應用開發(fā)方法。為實現(xiàn)上述的主要目的,本發(fā)明提供的智能卡開放應用開發(fā)方法儲器、定時器、計數(shù)器,該方法包括以1^步i: 、 口 '步驟一將智能卡內(nèi)部結構分為硬件平臺層、平臺支持層、操作 系統(tǒng)層及應用層,其中,硬件平臺層包括智能卡的硬件設備,平臺支 持層包括驅動硬件設備的硬件驅動程序,操作系統(tǒng)層包括運行在硬件 平臺層上的智能卡操作系統(tǒng),應用層包括運行在操作系統(tǒng)上的應用程 序。步驟二在智能卡中設置多個特權數(shù)據(jù)包及多個普通數(shù)據(jù)包,其 中,該普通數(shù)據(jù)包用于存儲應用程序。步驟三設置特權數(shù)據(jù)包與普通數(shù)據(jù)包的訪問權限。其中,特權 數(shù)據(jù)包的訪問權限是特權數(shù)據(jù)包可無條件地訪問普通數(shù)據(jù)包,普通數(shù) 據(jù)包的訪問權限是普通數(shù)據(jù)包有條件地訪問特權數(shù)據(jù)包,且普通數(shù)據(jù) 包之間不能直接相互訪問,而是需要通過操作系統(tǒng)的調(diào)用來實現(xiàn)。步驟四將智能卡硬件設備的驅動程序及操作系統(tǒng)層的操作系統(tǒng)存儲到特權數(shù)據(jù)包中。智能卡操作系統(tǒng)開發(fā)方完成上述步驟后,將智能卡交給第三方, 如銀行開發(fā)應用程序。由于智能卡硬件驅動程序及操:作系統(tǒng)存儲在特 權數(shù)據(jù)包中,而第三方開發(fā)的應用程序存儲在普通數(shù)據(jù)包中,操作系 統(tǒng)即可無條件的訪問且調(diào)用應用程序,而應用程序卻需要獲得操作系 統(tǒng)允許后才可訪問或調(diào)用操作系統(tǒng)的數(shù)據(jù),可有效保護操作系統(tǒng),防 止第三方開發(fā)的應用程序直接直接讀取受保護的數(shù)據(jù),如操作系統(tǒng)、 硬件驅動程序等。這樣,即使第三方使用能夠被編譯成機器指令的語 言,如C語言開發(fā)應用程序,并將應用程序下載到智能卡中,也不會 影響智能卡開放應用的安全性。因此,第三方可使用能夠被編譯成機 器指令的語言開發(fā)應用程序,提高智能卡的運行速度,且保證智能卡 開放應用的安全性。


圖l是現(xiàn)有智能卡中央處理器與存儲器連接關系的示意框圖; 圖2是應用本發(fā)明智能卡開放應用開發(fā)方法的智能卡層次的結構 示意圖;圖3是應用本發(fā)明智能卡開放應用開發(fā)方法的智能卡虛擬地址與 物理地址轉換示意圖;圖4是應用本發(fā)明智能卡開放應用開發(fā)方法的智能卡特權數(shù)據(jù)包 與普通數(shù)據(jù)包的劃分示意圖;圖5是本發(fā)明智能卡開放應用開發(fā)方法實施例的流程圖;圖6是應用本發(fā)明智能卡開放應用開發(fā)方法的智能卡中應用程序 與才乘作系統(tǒng)訪問關系示意圖;圖7是應用本發(fā)明智能卡開放應用開發(fā)方法的智能卡中兩個應用 程序之間訪問關系示意圖。以下結合附圖及實施例對本發(fā)明作進一 步說明。
具體實施方式
應用本發(fā)明智能卡開放應用開發(fā)方法的智能卡包括有硬件設備, 這些硬件設備包括中央處理器、存儲器、定時器、計數(shù)器、通用異步 收發(fā)機、內(nèi)存管理單元等,其中中央處理器可讀取或改寫存儲在存儲器中的數(shù)據(jù),存儲器包括隨機存儲器RAM、只讀存儲器R0M、電可擦 可編程只讀存儲器EEPROM等,這些與現(xiàn)有的智能卡是一致的。智能卡的存儲器中存儲有驅動硬件設備的驅動程序、智能卡的操 作系統(tǒng)、文件系統(tǒng)管理程序以及應用程序,這些程序、文件被劃分為 不同層次存儲在存儲器中。參見圖2,圖2是應用本發(fā)明智能卡開放 應用開發(fā)方法的智能卡層次的結構示意圖。由圖中可見,智能卡內(nèi)部結構被劃分為五個層次,包括處于最底 層的硬件平臺層11,包括智能卡的硬件設備,如定時器、計數(shù)器、 內(nèi)存管理單元等。在硬件平臺層11上的是平臺支持層12,包括驅動 硬件設備的驅動程序。運行在硬件平臺層11上的操作系統(tǒng)形成了本 實施例的操作系統(tǒng)層13,操作系統(tǒng)層13是智能卡的核心,可通過平 臺支持層12的驅動程序驅動硬件設備進行相關的操作。運行在操作 系統(tǒng)上的多個應用禾呈序構成應用層15。應用禾呈序可以由第三方,如 銀行開發(fā)并下載到智能卡中,可實現(xiàn)智能卡的多種功能。在應用層 15與才喿作系統(tǒng)層13中間有一系統(tǒng)服務層14,系統(tǒng)服務層14包括文 件系統(tǒng)管理程序,且運行在操作系統(tǒng)上。上述各層中均設置有接口函數(shù),用于相互調(diào)用其它層的程序,這 樣各層的程序可以同時開發(fā),加快開發(fā)的速度。平臺支持層12的驅動程序、操作系統(tǒng)層13的才喿作系統(tǒng)、系統(tǒng)服 務層14的文件系統(tǒng)管理程序及應用層15的應用程序存儲在智能卡的 存儲器中,但這些數(shù)據(jù)并不是順序存儲的。智能卡內(nèi)使用虛擬內(nèi)存管 理,即程序編寫人員編寫程序時,使用虛擬地址編寫程序,程序編譯 時,則通過一個轉換頁表將虛擬地址轉換智能卡中的物理地址,再下 載到智能卡中。參見圖3,圖3是應用本發(fā)明智能卡開放應用開發(fā)方 法的智能卡虛擬地址與物理地址轉換示意圖。程序編寫人員使用虛擬地址編寫程序后,通過編譯器件進行編譯 時,編譯器件使用轉換頁表將虛擬地址轉換成智能卡的物理地址。某 一虛擬地址傳送到轉換頁表時,轉換頁表使用專用的算法,計算出該 虛擬地址對應的物理地址。轉換頁表使用的專用算法是由編譯器件定 義的,且確保轉換的唯一性,即每一虛擬地址轉換后獲得唯一確定的物理地址,而每一物理地址也只能對應唯一確定的虛擬地址。并且, 地址轉換是非線性轉換,轉換成物理地址后,程序不是順序排列,而 是無規(guī)則的排列。這樣,第三方開發(fā)應用程序時也是使用虛擬地址進 行編寫,則第三方應用程序編寫人員無法直接對物理地址進行操作, 僅能使用虛擬地址進行編程,有效保證智能卡開力文應用的安全性。硬件驅動程序、操作系統(tǒng)以及應用程序下載到智能卡后,智能卡 內(nèi)存管理單元使用虛擬地址對程序進行管理。程序運行時,內(nèi)存管理 單元使用轉換頁表,即使用相同的算法計算物理地址,再執(zhí)行對應物 理地址存儲的指令。當然,物理地址可以是智能卡的隨機存儲器RAM、只讀存儲器 R0M、非易失性內(nèi)存NVM等存儲器的實際物理地址。智能卡實現(xiàn)虛擬內(nèi)存管理,同時也將虛擬內(nèi)存空間劃分為多個大 小相等的特權數(shù)據(jù)包和普通數(shù)據(jù)包。參見圖4,圖4是應用本發(fā)明智 能卡開放應用開發(fā)方法的智能卡中特權數(shù)據(jù)包與普通數(shù)據(jù)包的劃分示 意圖。由圖中可見,平臺支持層12的硬件驅動程序、才乘作系統(tǒng)層13的 操作系統(tǒng)和系統(tǒng)服務層14的文件系統(tǒng)管理程序存儲在特權數(shù)據(jù)包21 中,而應用層15的應用程序存儲在普通數(shù)據(jù)包22中。其中,每一特 權數(shù)據(jù)包21中均設有一特權程序調(diào)用模塊,特權數(shù)據(jù)包21可通過特 權程序調(diào)用模塊訪問普通數(shù)據(jù)包22,而普通數(shù)據(jù)包22也設有普通程 序調(diào)用模塊,普通數(shù)據(jù)包22也可以通過普通程序調(diào)用模塊訪問特權 數(shù)據(jù)包21。但是,特權數(shù)據(jù)包21與普通數(shù)據(jù)包22具有不同的訪問權限,特 權數(shù)據(jù)包21可無條件地訪問普通數(shù)據(jù)包22,也就是特權數(shù)據(jù)包21 的程序需要訪問普通數(shù)據(jù)包22時,普通數(shù)據(jù)包22需要無條件地接收 特權數(shù)據(jù)包21的訪問。而普通數(shù)據(jù)包22是有條件地訪問特權數(shù)據(jù)包 21,即普通數(shù)據(jù)包22需要訪問特權數(shù)據(jù)包21時,需要獲得特權數(shù)據(jù) 包21的允許,并且在訪問時需要受到特權數(shù)據(jù)包21的監(jiān)控。另外, 普通數(shù)據(jù)包22之間是不能直接訪問,而是需要通過操作系統(tǒng)的調(diào)用來冗成o參見圖5,圖5是本發(fā)明智能卡開放應用開發(fā)方法實施例的流程 圖。應用本發(fā)明的方法時,首先將智能卡的內(nèi)部結構分層(步驟 Sl),分成硬件平臺層、平臺支持層、操作系統(tǒng)層、系統(tǒng)服務層及應 用層。其中,硬件平臺層包括智能卡的硬件設備,如中央處理器、存 儲器、計數(shù)器、定時器等,平臺支持層包括硬件設備的驅動程序,操 作系統(tǒng)層包括運行在硬件平臺層上的操作系統(tǒng),系統(tǒng)服務層包括運行 在操作系統(tǒng)上的文件系統(tǒng)管理程序,而應用層包括智能卡的應用程 序,這些應用程序可由第三方,如銀行開發(fā)。當然,智能卡操作系統(tǒng) 開發(fā)方開發(fā)操作系統(tǒng)后,將智能卡交給第三方時,智能卡中可不存儲 有任何應用程序,即應用層不存儲有任何程序。然后,將智能卡的虛擬內(nèi)存空間劃分為多個大小相等的特權數(shù)據(jù) 包和多個普通數(shù)據(jù)包(步驟S2),并在特權數(shù)據(jù)包中設置特權程序調(diào)用模塊,在普通數(shù)據(jù)包中設置普通程序調(diào)用模塊。然后,設置每一 特權數(shù)據(jù)包和普通數(shù)據(jù)包的訪問權限(步驟S3)。其中,特權數(shù)據(jù) 包可以無條件的訪問普通數(shù)據(jù)包,而普通數(shù)據(jù)包是有條件的訪問特權 數(shù)據(jù)包。也就是,特權數(shù)據(jù)包需要訪問普通數(shù)據(jù)包時,不需要獲得普 通數(shù)據(jù)包的允許即可訪問。若普通數(shù)據(jù)包需要訪問特權數(shù)據(jù)包,需要 獲得特權數(shù)據(jù)包的允許。這種允許可以通過設置哪些普通數(shù)據(jù)包可以 訪問某一特權數(shù)據(jù)包的方式實現(xiàn),當普通數(shù)據(jù)包需要訪問某 一特權數(shù) 據(jù)包時,特權數(shù)據(jù)包先判斷該普通數(shù)據(jù)包是否有權限訪問,若沒有訪 問權限,則普通數(shù)據(jù)包不能訪問該特權數(shù)據(jù)包。同時,還可以設置普通數(shù)據(jù)包之間的訪問權限,例如普通數(shù)據(jù)包 之間不能直接訪問,而是需要經(jīng)過操作系統(tǒng)調(diào)用來實現(xiàn)訪問。并且,普通數(shù)據(jù)包訪問另 一普通數(shù)據(jù)包時,需要獲得祐:訪問的普通數(shù)據(jù)包允許才能訪問等。最后,將平臺支持層的硬件驅動程序、操作系統(tǒng)層的操作系統(tǒng)和系統(tǒng)服務層的文件系統(tǒng)管理程序存儲到特權數(shù)據(jù)包中(步驟S4)。 同時在各層中預留相應的接口函數(shù),方便第三方開發(fā)并下載智能卡的 應用程序到智能卡中。至此,智能卡開放應用開發(fā)便完成,可將智能 卡交給第三方開發(fā)應用程序。智能卡操作系統(tǒng)開發(fā)方完成上述工作后,將智能卡交給第三方, 如銀行開發(fā)智能卡的應用程序。第三方使用能夠被編譯成機器指令的語言,如c語言開發(fā)相應的應用程序,并對應用程序進行編譯,同時對應用程序進行安全處理,如對應用程序進行加密或簽名處理,再將 其下載到智能卡中。應用程序下載到智能卡后,將其存儲在普通數(shù)據(jù) 包中。當然,不同的應用程序應該存儲在不同的普通數(shù)據(jù)包中,而同 一應用程序可以存^f渚在兩個或兩個以上的普通數(shù)據(jù)包中,以確保應用 程序不能直接訪問。應用程序下載到智能卡后,智能卡對其進行身份識別及解密,只 有通過身份驗證的應用程序才能被智能卡執(zhí)行。參見圖6,圖6是應用本發(fā)明智能卡開放應用開發(fā)方法的智能卡 中應用程序與操作系統(tǒng)訪問關系示意圖。當存儲在普通數(shù)據(jù)包中的應 用程序41需要訪問存儲在特權數(shù)據(jù)包內(nèi)的操作系統(tǒng)45時,需要通過 系統(tǒng)調(diào)用程序46訪問操作系統(tǒng)45,而操作系統(tǒng)45需要訪問應用程 序41時,則可直4妄訪問應用程序41。也就是特4又數(shù)據(jù)包訪問普通數(shù) 據(jù)包時是無條件的訪問,而普通數(shù)據(jù)包訪問特權數(shù)據(jù)包時需要特權數(shù) 據(jù)包的允許才能訪問,這樣可有效防止應用程序41對操作系統(tǒng)45的 惡意破壞,也確保智能卡開放應用的安全性。另外,普通數(shù)據(jù)包之間也是不能直接訪問,也就是應用程序之間 調(diào)用也是需要獲得允許才能調(diào)用。參見圖7,圖7是應用本發(fā)明智能 卡開放應用開發(fā)方法的智能卡中兩個應用程序之間訪問關系示意圖。 當?shù)谝粦贸绦?2需要訪問第二應用程序43時,第一應用程序42 通過操作系統(tǒng)45的系統(tǒng)調(diào)用程序46發(fā)出訪問請求,系統(tǒng)調(diào)用程序 46將該訪問請求發(fā)送到信任判斷模塊47,信任判斷模塊47判斷第一 應用程序41是否具有訪問第二應用程序的權限,若有,則將相關數(shù) 據(jù)發(fā)送到才乘作系統(tǒng)45,再由操作系統(tǒng)45發(fā)送至第一應用程序42。若 第一應用程序42不具備訪問的權限,則拒絕第一應用程序訪問。這 樣,有效防止惡意應用程序讀取或篡改其它應用程序的數(shù)據(jù),確保開 放應用的安全性。當然,上述實施例僅是本發(fā)明部分實施方案,實際應用中還可以 有更多的變形,例如,將虛擬內(nèi)存劃分為訪問權限不同的更多級別的 數(shù)據(jù)包,也就是數(shù)據(jù)包的級別不限于特權數(shù)據(jù)包和普通數(shù)據(jù)包,還可 以設置更多級別?;蛘咧悄芸▋?nèi)劃分為更多層次結構,對應用程序使 用加密和簽名以外的安全處理等,又或者特權數(shù)據(jù)包與普通數(shù)據(jù)包的 大小不相等,這些并不影響本發(fā)明的實施。同時,本發(fā)明的智能卡也是多種多樣的,不但是應用在電信領域 的電信智能卡,還可以是使用在公共交通領域的公交卡,還有社保卡 等,也可以使用本發(fā)明實現(xiàn)提高智能卡存儲數(shù)據(jù)的安全性。最后,需要強調(diào)的是,本發(fā)明不限于上述實施方式,諸如智能卡 存儲器類型的改變、地址轉換頁表使用算法的改變、應用程序編寫語 言的改變等微小變化也應該包括在本發(fā)明的保護范圍內(nèi)。
權利要求
1、智能卡開放應用的開發(fā)方法,該智能卡的硬件設備包括有中央處理器及可由所述中央處理器訪問的存儲器、定時器、計數(shù)器,該方法包括以下步驟步驟一將智能卡內(nèi)部結構分為硬件平臺層、平臺支持層、操作系統(tǒng)層及應用層,所述硬件平臺層包括智能卡的硬件設備,所述平臺支持層包括驅動所述硬件設備的硬件驅動程序,所述操作系統(tǒng)層包括運行在所述硬件平臺層上的智能卡操作系統(tǒng),所述應用層包括運行在所述操作系統(tǒng)上的應用程序;步驟二在智能卡中設置多個特權數(shù)據(jù)包及多個普通數(shù)據(jù)包,所述普通數(shù)據(jù)包用于存儲所述應用程序;步驟三設置特權數(shù)據(jù)包與普通數(shù)據(jù)包的訪問權限,特權數(shù)據(jù)包的訪問權限是特權數(shù)據(jù)包可無條件地訪問普通數(shù)據(jù)包,普通數(shù)據(jù)包的訪問權限是普通數(shù)據(jù)包有條件地訪問特權數(shù)據(jù)包,普通數(shù)據(jù)包之間的訪問需要通過所述操作系統(tǒng)的調(diào)用來實現(xiàn);步驟四將智能卡硬件設備的驅動程序及操作系統(tǒng)層的操作系統(tǒng)存儲到所述特權數(shù)據(jù)包中。
2、 根據(jù)權利要求1所述的智能卡開放應用的開發(fā)方法,其特征 在于所述步驟一中,所述智能卡內(nèi)部結構還劃分有系統(tǒng)服務層,所述 系統(tǒng)服務層包括運行在操作系統(tǒng)上的文件系統(tǒng)管理程序。
3、 根據(jù)權利要求2所述的智能卡開放應用的開發(fā)方法,其特征 在于所述步驟四中還包括將所述系統(tǒng)服務層的文件系統(tǒng)管理程序存儲 到特權數(shù)據(jù)包中。
4、 根據(jù)權利要求1至3任一項所述的智能卡開放應用的開發(fā)方 法,其特征在于所述步驟二中還包括在特權數(shù)據(jù)包中設置特權程序調(diào)用模塊,在 普通數(shù)據(jù)包中設置普通程序調(diào)用模塊;特權數(shù)據(jù)包通過特權程序調(diào)用模塊無條件訪問普通數(shù)據(jù)包,普通 數(shù)據(jù)包通過普通程序調(diào)用模塊有條件訪問特權數(shù)據(jù)包。
全文摘要
本發(fā)明提供一種智能卡開放應用的開發(fā)方法,包括將智能卡分層,分為硬件平臺層、平臺支持層、操作系統(tǒng)層及應用層,然后將智能卡的虛擬空間劃分為多個特權數(shù)據(jù)包和普通數(shù)據(jù)包,并設置特權數(shù)據(jù)包與普通數(shù)據(jù)包的訪問權限,再將操作平臺支持層的硬件驅動程序及操作系統(tǒng)層的操作系統(tǒng)存儲在特權數(shù)據(jù)包中。本發(fā)明可使智能卡可安全地開放給第三方開放應用程序,并讓第三方,如銀行,應用能夠被編譯成機器指令的語言來開發(fā)智能卡的應用程序,提高智能卡的運行速度。
文檔編號G06F9/44GK101216758SQ200710033019
公開日2008年7月9日 申請日期2007年12月27日 優(yōu)先權日2007年12月27日
發(fā)明者徐云峰, 偉 郭 申請人:東信和平智能卡股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
庆云县| 家居| 库尔勒市| 河西区| 六安市| 两当县| 祁东县| 滁州市| 香港 | 逊克县| 全州县| 枞阳县| 新建县| 兴隆县| 腾冲县| 昭觉县| 新绛县| 抚松县| 溧阳市| 广丰县| 旺苍县| 新余市| 乐陵市| 房产| 北票市| 合水县| 铜陵市| 洛扎县| 克拉玛依市| 津市市| 临桂县| 东台市| 吴江市| 武穴市| 临桂县| 祁连县| 长岭县| 余庆县| 平乐县| 乌兰浩特市| 五指山市|