新四季網

代碼籤字系統及方法

2023-06-11 01:47:01 2

專利名稱:代碼籤字系統及方法
技術領域:
本發明涉及軟體應用程式的安全協議領域。更具體地說,本發明提供代碼籤字系 統及方法,特別適用於移動通信設備的Java 應用程式,例如個人數字助理、蜂窩電話,無 線雙程通信設備(以下通稱為"行動裝置"或簡稱"設備")。
背景技術:
包括軟體代碼籤字方案的安全協議是眾所周知的,典型地,這種安全協議用來保 證從網際網路下載的軟體應用程式的可靠性。在典型的代碼籤字方案中,數字籤字附於識別 軟體開發商的軟體應用程式。 一旦該軟體被用戶下載,用戶必須只根據對軟體開發商信譽 的了解來判斷該軟體應用程式的可靠性。這類代碼籤字方案不能保證由第三方為行動裝置 所寫的軟體應用程式適合與本地應用程式和其它資源交互作用。因為典型的代碼籤字協議 是不安全的,且只依賴於用戶的判斷,有嚴重破壞的風險,"特洛伊木馬"型軟體應用程式可 能被下載並安裝在行動裝置上。 網絡工作者還需要一種系統和方法,來控制軟體應用程式在行動裝置上起動。
還進一步需要2. 5G和3G網絡,其中合作客戶或網絡工作者都喜歡控制在設備上 發布給其顧員的軟體類型。

發明內容
本發明的目的是提供代碼籤字系統和方法。 按照本發明的一方面,一種代碼籤字系統,用於與具有數字籤字和籤字標識的軟 件應用程式一起工作,其中,數字籤字與籤字標識相關,包括
應用平臺; 應用編程接口 API,具有關聯的籤字標識符,設置API將軟體應用程式和應用平臺 連結; 虛擬機,如果籤字標識符對應籤字標識,則為了控制軟體應用程式訪問API,虛擬 機驗證數字籤字的真實性, 其中,通過將專用籤字密鑰應用到軟體應用程式的雜亂信號產生數字籤字,所述 虛擬機通過產生軟體應用程式的雜亂信號來獲得產生的雜亂信號、並將公用籤字密鑰應用 到數字籤字中來獲得恢復的雜亂信號、比較產生的雜亂信號和恢復的雜亂信號來驗證數字籤字的真實性。 優選地,如果數字籤字不真實,則虛擬機拒絕軟體應用程式訪問API。
優選地,如果數字籤字不真實,則虛擬機刪除軟體應用程式。
優選地,代碼籤字系統裝在行動裝置上。
優選地,數字籤字由代碼籤字授權機構產生。
優選地,還包括 多個API程序庫,每個API程序庫包括多個API,其中,虛擬機通過軟體應用程式控 制訪問多個API程序庫。 優選地,至少一個API程序庫被分類為敏感的; 訪問敏感的API程序庫要求將數字籤字與籤字標識關聯,其中,籤字標識對應與 敏感的API程序庫關聯的籤字標識符; 軟體應用程式包括至少一個數字籤字和至少一個關聯的籤字標識,用於訪問敏感 的API程序庫; 虛擬機通過驗證包括在軟體應用程式中的一個數字籤字來授權軟體應用程式訪 問敏感的API程序庫,所述軟體應用程式具有對應敏感的API程序庫的籤字標識符的籤字 標識。 優選地,敏感的API程序庫還包括描述字符串,其中,當軟體應用程式試圖訪問敏
感的API時,顯示描述字符串。 優選地,應用平臺包括作業系統。 優選地,包括一個或多個行動裝置的核心功能。 優選地,包括行動裝置上的硬體。 優選地,硬體包括用戶身份模塊卡。 優選地,軟體應用程式是用於行動裝置的Java應用程式。
優選地,API與應用平臺上的加密流程接口 。
優選地,API與應用平臺上的專用數據模塊接口。
優選地,虛擬機是安裝在行動裝置上的Java虛擬機。 按照本發明的另一方面,一種控制在行動裝置上訪問敏感的應用程式編程接口的 方法,包括下列步驟 把軟體應用程式裝到行動裝置上,所述軟體應用程式要求訪問具有籤字標識符的 敏感的應用程式編程接口 API ; 確定軟體應用程式是否包括數字籤字和籤字標識; 如果籤字標識不與籤字標識符對應,那麼拒絕軟體應用程式訪問敏感的API ;
如果籤字標識與籤字標識符對應,那麼驗證數字籤字的真實性,其中,基於數字籤 字的真實性的驗證,由軟體應用程式訪問敏感的API, 其中,通過將專用籤字密鑰應用到軟體應用程式的雜亂信號產生數字籤字,其中, 驗證數字籤字的真實性包括步驟 在行動裝置上存儲對應專用籤字密鑰的公用籤字密鑰;
產生軟體應用程式的雜亂信號來獲得產生的雜亂信號;
將公用籤字密鑰應用到數字籤字中來獲得恢復的雜亂信號;
比較產生的雜亂信號和恢復的雜亂信號。 優選地,還包括步驟如果籤字標識不對應籤字標識符,則從行動裝置刪除軟體應 用程序。 優選地,數字籤字和籤字標識由代碼籤字授權機構產生。 優選地,還包括步驟如果數字籤字不真實,則拒絕軟體應用程式訪問敏感的 API。 優選地,還包括步驟如果數字籤字不真實,則從行動裝置上刪除軟體應用程式。 優選地,當軟體應用程式試圖訪問所述的敏感的API時,向用戶顯示描述字符串。 優選地,還包括如下步驟顯示描述字符串,所述描述字符串通知行動裝置的用戶 軟體應用程式要求訪問敏感的API 。 優選地,還包括步驟從用戶接收指令,準許或拒 絕軟體應用程式訪問敏感的 API。 按照本發明的另一方面,一種行動裝置,包括 應用平臺,具有應用編程接口 API ; 虛擬機,用於驗證由各個軟體應用程式提供的數字籤字和籤字標識,以便訪問
API ; 在軟體應用程式提供的數字籤字由代碼籤字協議驗證後,虛擬機也允許軟體應用
程序訪問至少一個API ; 代碼籤字授權機構向要求訪問至少一個API的軟體應用程式提供數字籤字和籤 字標識,通過將專用籤字密鑰應用到軟體應用程式的雜亂信號產生數字籤字,其中,提供給 軟體應用程式的籤字標識包括僅被授權的籤字標識,以便允許訪問多個行動裝置的第一子 設備; 其中,第一數字籤字和第一籤字標識用於第一種類型的行動裝置;
第二數字籤字和第二籤字標識用於第二種類型的行動裝置; 與應用程式關聯的第一數字籤字和第一籤字標識防止使用第二種類型行動裝置 上的API的應用程式; 與應用程式關聯的第二數字籤字和第二籤字標識防止使用第一種類型行動裝置 上的API的應用程式, 其中,虛擬機通過產生軟體應用程式的雜亂信號來獲得產生的雜亂信號、並將公 用籤字密鑰應用到數字籤字中來獲得恢復的雜亂信號、比較產生的雜亂信號和恢復的雜亂 信號來驗證第一數字籤字或第二數字籤字的真實性。 優選地,虛擬機包括驗證系統和控制系統,其中,虛擬機是Java虛擬機,軟體應用 程序是Java應用程式。 優選地,控制系統為至少一個API的每個程序庫要求一個數字籤字和一個籤字標 識。 優選地,應用平臺的API至少接入執行加密算法的加密模塊、數據存儲器、專用數 據模型和用戶接口之一。 優選地,至少一個API被分類為敏感的,敏感的API還包括描述字符串,其中,當軟 件應用程式試圖訪問敏感的API時,描述字符串被顯示給用戶。
優選地,第一種類型的行動裝置和第二種類型的行動裝置是不同類型的移動設 備。 按照本發明的另一方面,一種在行動裝置上控制軟體開發商開發的軟體應用程式
訪問具有籤字標識符的應用程式編程接口 API的方法,包括如下步驟 從軟體開發商接收軟體應用程式; 確定軟體應用程式是否滿足至少一個標準; 如果軟體應用程式滿足至少一個標準,則把數字籤字和籤字標識添加到軟體應用 程序; 如果籤字標識對應籤字標識符,則驗證添加到軟體應用程式的數字籤字的真實 性; 如果數字籤字是真實的,向軟體應用程式提供到API的路徑; 把數字籤字和籤字標識添加到軟體應用程式的步驟包括產生數字籤字,包括下列 步驟 計算軟體應用程式的雜亂信號; 把專用籤字密鑰應用到軟體應用程式的雜亂信號,以產生數字籤字; 在行動裝置上提供公用籤字密鑰; 在行動裝置上計算軟體應用程式的雜亂信號以獲得計算的雜亂信號; 把公用籤字密鑰應用到數字籤字,以獲得恢復的雜亂信號; 通過比較計算的雜亂信號與恢復的雜亂信號來驗證數字籤字。 優選地,確定軟體應用程式是否滿足至少一個標準的步驟由代碼籤字授權機構執 行。 優選地,使用安全的雜亂信號算法計算軟體應用程式的雜亂信號。 優選地,進一步包括,如果數字籤字不真實,則拒絕該軟體應用程式訪問API。 按照本發明的另一方面,一種在行動裝置上控制訪問具有籤字標識符的敏感應用 編程接口 API的方法,包括步驟 註冊一個或多個可信的軟體開發商,編制訪問敏感的API的軟體應用程式; 接收軟體應用程式的雜亂信號; 確定雜亂信號是否是註冊的軟體開發商所發送; 產生數字籤字,其中, 數字籤字和籤字標識被添加到軟體應用程式; 如果籤字標識對應籤字標識符,為了控制軟體應用程式訪問敏感的API,行動裝置 驗證數字籤字的真實性; 產生數字籤字的步驟是把專用籤字密鑰應用到軟體應用程式的雜亂信號執行的, 所述雜亂信號由註冊的軟體開發商所發送; 其中,行動裝置執行下列附加的步驟驗證數字籤字的真實性 在行動裝置上提供公用籤字密鑰; 在行動裝置上計算軟體應用程式的雜亂信號,以獲得計算的雜亂信號; 把公用籤字密鑰應用到數字籤字,以獲得恢復的雜亂信號; 通過比較計算的雜亂信號與恢復的雜亂信號,以確定數字籤字是否真實;
如果數字籤字不真實,則拒絕軟體應用程式訪問敏感的API。
優選地,產生數字籤字的步驟由代碼籤字授權機構執行。 按照本發明的另一方面, 一種在行動裝置上限制訪問應用編程接口的方法,包括 如下步驟 把具有數字籤字和籤字標識的軟體應用程式裝到要求訪問一個或多個具有至少 一個籤字標識符的API的行動裝置上; 如果籤字標識對應籤字標識符,則驗證數字籤字; 如果軟體應用程式不包括真實的數字籤字,則拒絕軟體應用程式訪問一個或多個 API ; 其中,如果籤字標識與籤字標識符對應,則驗證數字籤字的步驟包括
驗證與籤字標識符對應的籤字標識; 把公用籤字密鑰存儲到行動裝置上,該公用籤字密鑰對應與代碼籤字授權機構關
聯的專用籤字密鑰,通過將專用籤字密鑰應用到軟體應用程式的雜亂信號產生數字籤字; 產生軟體應用程式的雜亂信號,以獲得產生的雜亂信號; 把公用籤字密鑰應用到數字籤字,以獲得恢復的雜亂信號; 將產生的雜亂信號與恢復的雜亂信號進行比較。 優選地,數字籤字和籤字標識與行動裝置的類型有關。 優選地,包括附加的步驟如果軟體應用程式不包括真實的數字籤字,則從移動設 備上消除該軟體應用程式。 優選地,軟體應用程式包括多個數字籤字和籤字標識; 多個數字籤字和籤字標識分別包括與各不同類型的行動裝置有關的數字籤字和 籤字標識。 優選地,每個數字籤字和有關的籤字標識是由各相應的代碼籤字授權機構產生 的。 優選地,通過把與代碼籤字授權機構有關的各個專用籤字密鑰應用到軟體應用程
序的雜亂信號,由對應的代碼籤字授權機構產生每個數字籤字和籤字標識。 按照本發明的另一方面,一種控制軟體應用程式訪問具有籤字標識符的應用編程
接口 API的方法,軟體應用程式具有數字籤字和籤字標識,包括 如果籤字標識對應於籤字標識符,則驗證數字籤字的真實性; 如果軟體應用程式提供的數字籤字是真實的,允許訪問至少一個API ; 軟體應用程式的數字籤字和籤字標識由代碼籤字授權機構產生; 其中,通過將專用籤字密鑰應用到軟體應用程式的雜亂信號產生數字籤字; 通過產生軟體應用程式的雜亂信號來獲得產生的雜亂信號、並將公用籤字密鑰應
用到數字籤字中來獲得恢復的雜亂信號、驗證產生的雜亂信號和恢復的雜亂信號是否相同
來驗證數字籤字。 優選地,如果軟體應用程式提供的數字籤字被驗證,則允許訪問API的程序庫。
優選地,API至少接入執行加密算法的加密模塊、數據存儲器、專用數據模型和用 戶接口之一。 優選地,至少一個API被分類為敏感的,敏感的API還包括描述字符串,其中,當軟體應用程式試圖訪問敏感的API時,向用戶顯示描述字符串。 優選地,API提供訪問至少一個或多個行動裝置的核心功能、作業系統和行動裝置 上的硬體。 優選地,要求軟體應用程式提供全局數字籤字的驗證,以訪問任何API。


圖1是根據本發明實施例的代碼籤字協議圖; 圖2是圖1的代碼籤字協議的流程圖; 圖3是在行動裝置上的代碼籤字系統方框圖; 圖3A是在一組行動裝置上的代碼籤字系統方框圖; 圖4是圖3和圖3A代碼籤字系統的工作流程圖; 圖5是管理圖3A的代碼籤字真實性的流程圖; 圖6是移動通信設備的方框圖,其中可實現代碼籤字系統和方法。
具體實施例方式
圖1是本發明一個實施例的代碼籤字協議圖。應用程式開發商12產生軟體應用程 序14(應用程式Y),用於要訪問行動裝置上一個或多個敏感的API的行動裝置。軟體應用 程序Y14可以是Jara應用程式,它工作於安裝在行動裝置中的Java虛擬機。API能使軟體 應用程式Y與應用平臺界面連接,該應用平臺可包括如設備硬體、作業系統、核心軟體和數 據模塊這樣的資源。為了調用或與這些設備資源交互作用,軟體應用程式Y必須訪問一個 或多個API,因此API可有效地"橋接"軟體應用程式和有關的設備資源。在本說明和附著 的權利要求中,涉及API訪問應理解包括以這樣方法訪問API,即允許軟體應用程式Y與一 個或多個相應設備資源交互作用,因此,在提供訪問任何API的同時,允許軟體應用程式Y 與有關的設備資源交互作用,而否定訪問API,則防止軟體應用程式與有關資源交互作用。 例如,資料庫API可與設備文件或數據儲存系統通信,訪問資料庫API將提供軟體應用程式 Y與文件或數據存儲系統之間交互作用。用戶界面(UI)API可與控制器和/或控制軟體通 信,用於像屏幕、密鑰盤、和任何其它向用戶提供輸出或從用戶接收輸入的設備部件。在移 動設備中,無線電API也可作用界面提供給無線通信資源,例如發射機和接收機。同樣,加 密的API可提供與保密模塊交互作用,後者在設備上實現保密運算。這些僅僅是可在設備 上提供API的例子。設備可包括任何這些例子的API,或不同的API代替或附加到上面所述 的例子中。 可取的是,任何API可分類成由行動裝置製造商、或由API作者,無線網絡工作者, 設備擁有或操作者敏感的,或其它實體理解的,後者可由在設備軟體應用程式中的病毒或 病毒碼影響。例如,行動裝置製造商可分成對加密程序,無線通信功能或專用的數據模型 (如地址薄或日曆本)互作用敏感。為防備無授權情況下對這些敏感的API訪問,要求應用 程序開發商12從行動裝置製造商獲得一個或多個數字籤字,或從其它按敏感分類任何API 的實體中獲得一個或多個數字籤字,或從影響到製造商利益的代碼籤字授權機構或其它有 意保護訪問敏感的設備API的實體獲得數字籤字,並把籤字添加到軟體應用程式Y14。
在一個實例中,對每個要訪問的敏感的API或包括API的程序庫獲得數字籤字。在某些情況下,需要多個籤字,這就允許服務提供商,公司或網絡工作者限制某些或全部軟體 應用程式在特定的一組行動裝置上加載或更新。在這一多籤字方案中,所有API被限制和 鎖定,直到對軟體應用程式的"全局"籤字得到驗證。例如,公司可能希望防止它的顧員在 沒有首先獲得公司信息技術(IT)或計算機服務部準許的情況下,在它們的設備上運行任 何軟體應用程式,於是所有這些公司的行動裝置可構成在軟體應用程式能被執行前,至少 需要全局籤字,即使要訪問敏感的API和程序庫,根據相應數字籤字的驗證,作出進一步限 制。 二進位可執行的軟體應用程式Y的表達可與具體的行動裝置類型或行動裝置型 號無關。軟體應用程式Y14可以是一次寫入任何地方可運行的二進位格式,與Java軟體應 用程序的情況一樣。但是,可能要對每種行動裝置類型或型號有數字籤字,或代以對每種移 動設備平臺或製造商有數字籤字。因此,如果軟體應用程式把幾種行動裝置作為對象的話, 軟體應用程式Y14可送請幾個代碼籤字授權機構。 軟體應用程式Y14從應用程式開發商12送到代碼籤字授權機構16。在圖1所示 的實施例中,代碼籤字授權機構16檢查軟體應用程式Y14,如在下面更詳細描述那樣,設想 代碼籤字授權機構16也可以或代替考慮應用軟體開發商12的身份,以確定是否應對軟體 應用程式籤字。代碼籤字授權機構16優先地是一個或多個來自行動裝置製造商,任何敏感 的API的作者的代表,或其它具有操作敏感的API知識的人(該API是軟體應用程式需訪 問的對象)。 如果代碼籤字授權機構16確定軟體應用程式可訪問敏感的API並因而要籤字, 那麼對軟體應用程式的籤字(未畫出)由代碼籤字授權機構16產生並附加軟體應用程式 Y14。然後,經籤字的軟體應用程式Y22,包括軟體應用程式Y14和數字籤字,返回應用程式 開發商12,數字籤字優先地是一標籤,它是用只有代碼籤字授權機構16保持的專用籤字密 鑰18產生。例如,根據一種籤字方案,用hash算法(如保密雜亂信號(hash)算法SHAI) 可產生軟體應用程式14的雜亂信號(hash),然後與專用的籤字密鑰18 —起用,以建立數字 籤字。在某些籤字方案中,專用籤字密鑰用於加密要籤字的信息的雜亂信號(hash),例如軟 件應用程式Y14,而在其它方案中,專用密鑰可以其它方式用於從要籤字的信息或該信息的 變換版本產生籤字。 然後,把經籤字的軟體應用程式Y12發送給行動裝置28或由行動裝置28在無線 網絡24上下載,但應當理解,本發明的代碼籤字協議不限於在無線網上下載的軟體應用程 序,例如,在另一實施例中,經籤字的軟體應用程式Y22可通過計算機網絡下載到個人計算 機,並通過串聯連接加載到行動裝置,或可以任何其它形式從應用程式開發商12獲得並加 載到行動裝置上。 一旦經籤字的軟體應用程式Y22裝到行動裝置28上,每一數字籤字,優 先用公司籤字密鑰20,在軟體應用程式Y14準許訪問敏感的API程序庫之前,進行驗證。雖 然經籤字的軟體應用程式Y22裝在設備上,但應理解,即使在設備上可執行的軟體應用程 序是軟體應用程式Y14。如前面所述,經籤字的軟體應用程式Y22包括軟體應用程式Y14和 一個或多個附加的數字籤字(未示出)。當籤字被驗證時,軟體應用程式Y14可在該設備上 執行並訪問已驗證相應籤字的任何API 。 公用籤字密鑰20相應於由代碼籤字授權機構16保持的專用籤字密鑰18,並且優 先與敏感的API—起安裝在行動裝置上。但是,公用密鑰10可用設備28或可能的個人計算機系統替換從公用密鑰庫獲得(未示出),並按需要安裝在設備28上。根據籤字方案的一 個實施例,行動裝置28計算經籤字的軟體應用程式Y22中的軟體應用程式Y14的雜亂信號 (hash),其中使用與代碼籤字授權機構16相同的散列算法,並用數字籤字和公用籤字密鑰 20來恢復由籤字授權機構16計算的雜亂信號(hash),然後把本地算得的雜亂信號(hash) 結果與從數字籤字恢復的雜亂信號(hash)進行比較,如果雜亂信號(hash)相同,則籤字被 驗證。於是,軟體應用程式Y14可能在設備28上執行,並訪問相應籤字已被驗證的敏感的 API。如上所述,本發明決不限於這具體說明籤字方案的例子,其它籤字方案,包括公用密鑰 籤字方案,也可結合這裡描述的代碼籤字方法和系統使用。 圖2是參考圖1的上述代碼籤字協議的流程圖30。協議從步驟32開始,在步驟 34,軟體開發商為需要訪問敏感的API或陣列敏感的API的程序庫(API程序庫A)的移動 設備寫軟體應用程式Y。如上所述,行動裝置上的一些或全部API可合成敏感性一類,這樣, 任何軟體應用程式對它的訪問都需要數字籤字驗證,例如軟體應用程式Y。在步驟36中,應 用程序Y由軟體開發商優先使用設備模擬器來測試,該模擬器中,數字籤字驗證功能已不 適用。這樣,軟體開發商可在從代碼籤字授權機構獲得數字籤字之前調試軟體應用程式Y。 一旦軟體應用程式Y寫好並調試完畢,則可在步驟38傳送給代碼籤字授權機構。
在步驟40和42,代碼籤字授權機構檢查軟體應用程式Y,以確定是否應允許訪問 敏感的API,並作出接受或拒絕該軟體應用程式的決定。代碼籤字授權機構可應用一組準則 來確定是否準許軟體應用程式訪問敏感的API,包括,例如軟體應用程式的大小,由API訪 問的設備資源,軟體應用程式的實用性,與其它軟體應用程式的相互作用,包含病毒或其它 破壞性的代碼,和開發商是否有合同義務或與行動裝置製造商有其它業務安排。更多管理 代碼籤字授權機構和開發商的細節,參考圖5描述如下。 如果代碼籤字授權機構接受軟體應用程式Y,那麼在步驟46,數字籤字,最好是籤 字標識,附加到軟體應用程式Y中。如上所述,數字籤字可用軟體應用程式Y的雜亂信號 (hash)和專用籤字密鑰18來產生。籤字標識參考圖3和4描述如下。 一旦數字籤字和籤 字標識加到軟體應用程式Y,得到籤了字的軟體應用程式,則經籤字的軟體應用程式在步驟 48返回軟體開發商。然後,軟體開發商可申請把籤字的軟體應用程式Y裝到行動裝置(步 驟50)上的許可證。如果代碼籤字授權機構拒絕軟體應用程式Y,那麼把拒絕說明發送給軟 件開發商(步驟44),軟體應用程式Y將不能訪問與該籤字有關的任何API。
在另一個實施例中,軟體開發商可提供軟體應用程式Y的雜亂信號(hash)給代碼 籤字授權機構,或以某種簡化的格式提供軟體應用程式Y。如果軟體應用程式是Java應用 程序,那麼設備有關的二進位*. class文件可用於雜亂信號(hash)工作中,不過,當軟體應 用程序想要在特別設備或設備類型上工作時,由本申請的代理人所用的設備有關的文件, 例如*. coa可代替用於雜亂信號(hash)或其它數字籤字工作中。藉助於只提供軟體應用程 序Y的雜亂信號(hash)或簡化版本,軟體開發商可把沒有顯示專有代碼籤字的軟體應用程 序給代碼籤字授權機構。軟體應用程式Y的雜亂信號(hash)與專門的籤字密鑰18—起, 可用來由代碼籤字授權機構產生數字籤字。如果其它簡化的軟體應用程式Y的版本發送給 代碼籤字授權機構,那麼該簡化的版本同樣可用來產生數字籤字,只要簡化的方案或算法, 像雜亂信號(hash)算法一樣,對不同的輸入產生不同的輸出。這就保證了每個軟體應用程 序可有不同的簡化版本和因此不同的籤字,該籤字只能在附加到產生簡化版本的具體相應的軟體應用程式時才能驗證。因為這一實施例不能使代碼籤字授權機構對病毒或其它破壞性代碼來充分評審軟體應用程式,因此,也可要求軟體開發商和代碼籤字授權機構之間進行登記處理。例如,代碼籤字授權機構可預先同意可信任的軟體開發商訪問一組有限的敏感的API。 在另一個實施例中,軟體應用程式Y可提交給多於一個籤字機構,每個籤字機構可負責對特定敏感的API或特定型號的行動裝置上的API或支持由軟體應用程式要求的敏感的API的行動裝置組的軟體應用程式的籤字。製造商,移動通信網絡操作員,服務商,或公司用戶可對使用敏感的API有籤字權,用於他們特定的行動裝置型號,或工作於特定網絡上的行動裝置,預訂一個或多個具體業務,或分配到公司顧員。經籤字的軟體應用程式可包括軟體應用程式和至少一個來自每個籤字機構的附加數字籤字。儘管這些籤字機構在本例中能對同樣軟體應用程式產生籤字,但不同的籤字和籤字驗證方案可與不同的籤字機構有關。 圖3是行動裝置62上代碼籤字系統60的方框圖。該系統60包括虛擬機64, 一組軟體應用程式66-70, 一組API程序庫72-78,和應用平臺80。應用平臺80最好包括所有行動裝置62上的資源,它們可由軟體應用程式訪問。例如,應用平臺可包括設備硬體82,行動裝置作業系統84,或核心軟體和數據模型86。每個API程序庫72-78最好包括一組API ,它與應用平臺中的有效資源接口 ,例如, 一個API程序庫可包括所有與日曆程序和日曆項數據模型接口的API 。另一個API程序庫可包括所有與行動裝置62的傳輸線路和功能接口的API。再另一個API程序庫可包括所有能與行動裝置作業系統84執行的低級業務接口的API 。此外, 一組API程序庫72-78既可包括陣列敏感的API 74和78的程序庫,例如與保密功能的接口 ,也可包括可被訪問而沒有陣列敏感的API的程序庫72和76。同樣, 一組軟體應用程式66-70既可包括籤字的軟體應用程式66和70,它們要求訪問一個或多個敏感的API,也可包括未籤字的軟體應用程式,如68。虛擬機64優先地是面向運行時環境的目標,如Sun Micro系統的J2METM(JaVa2平臺,Micro出版),它管理行動裝置62上工作的所有軟體應用程式66-70,並把軟體應用程式66-70連結到各API程序庫72-78。
軟體應用程式Y70是經籤字的軟體應用程式的例子,每個經籤字的軟體應用程式優先包括實際的軟體應用程式,如包括能在應用平臺80上執行的軟體代碼的軟體應用程式Y, 一個或多個籤字標識94和一個或多個相應的數字籤字96。在籤字的軟體應用程式66或70中,每一數字籤字96和相應的籤字標識94相應於敏感的API程序庫74或78,它是軟體應用程式X或軟體應用程式Y要求訪問的API 。敏感的API程序庫74或78可包括一個或多個敏感的API。在一個替換的例子中,籤字的軟體應用程式可包括數字籤字96,用於在API程序庫74或78中的每個敏感的API。籤字標識94可以是唯一的整數,或某些把數字籤字96與特定API程序庫74或78、API、應用平臺80或行動裝置62的型號相連繫的其它裝置。 API程序庫A78是陣列敏感的API的API程序庫的例子。每個包括敏感的API的API程序庫74和78應優先包括描述字符串88,公用籤字密鑰20,和籤字標識符92。籤字標識符92優先相應於籤字的軟體應用程式66或70中的籤字標識,並能使虛擬機讓數字籤字96與API程序庫74或78快速匹配。公用密鑰20相應於由代碼籤字授權機構保持的專用籤字密鑰18,並用於驗證數字籤字96的真實性。描述字符串88可以是文本消息,當加載籤字的軟體應用程式時,它顯示在行動裝置上,或換句話說,當軟體應用程式X或Y要想訪問敏感的API時,它顯示在行動裝置上。 操作上,當籤字的軟體應用程式68-70 (分別包括要訪問敏感的API程序庫74_78的軟體應用程式X, Z,或Y)裝到行動裝置上時,虛擬機64搜索附加的、與API程序庫74或78有關的數字籤字96的符號。優先地,由虛擬機64藉助於把API程序庫74或78中的籤字標識符92與籤字的軟體應用程式中的籤字標識94相匹配而測出合適的數字籤字96。如果籤字的軟體應用程式包括合適的數字籤字96,那麼,虛擬機64用公用密鑰20驗證其真實性,然後, 一旦合適的數字籤字96被測出並驗證,在執行軟體應用程式X或Y並訪問敏感的API之前,則描述字符串88顯示在行動裝置上。例如,描述字符串88可顯示這樣的消息"應用程式Y要想訪問API程序庫A",並藉助向行動裝置用戶提供批准或否定訪問敏感的API的最後控制。 圖3A是在一組行動裝置62E,62F和62G上的代碼籤字系統61的方框圖。系統61包括一組行動裝置,其中只有三個62E,62F和62G示於圖中。還示出了籤字的軟體應用程式70,它包括軟體應用程式Y,兩個相應於籤字標識94E和94F的數字籤字96E和96F已加到該軟體應用程式上。在作為例子的系統61中,由數字籤字和標識組成的每對94E/96E和94F/96F,相應於行動裝置62的型號、API程序庫78或有關的平臺80。如果籤字標識94E和94F相應於行動裝置62的不同型號,那麼,當籤字的軟體應用程式70,它包括要訪問敏感的API程序庫78的、經籤字的軟體應用程式Y裝到行動裝置62E上時,虛擬機64藉助於把標識94E與籤字標識符92相匹配來為與API移動庫78有關的數字籤字96E搜索籤字的軟體應用程式70。同樣,當籤字的軟體應用程式70,它包括要訪問敏感的API程序庫78的軟體應用程式Y,裝到行動裝置62上時,在設備62F中的虛擬機64為與API程序庫78有關的數字籤字96F搜索軟體應用程式70。但是,在要訪問敏感的API程序庫78的、經籤字的軟體應用程式70中的軟體應用程式Y裝到應用程式開發商未獲得數字籤字的行動裝置的型號上時,圖3中的設備62G,設備64G中的虛擬機64找不到附加於軟體應用程式Y的數字籤字,因此否定在設備62G上訪問API程序庫78。從前面描述應可以理解,像軟體應用程式Y那樣的軟體應用程式可以有多個規定的設備,規定的程序庫,或規定的API籤字或加於其上的這些籤字的組合。同樣,對不同的設備構成不同的籤字驗證要求,例如,設備62E可要求既有全局籤字,又有對任何敏感的API的附加籤字,為了使該軟體應用程式得以執行,軟體應用程式需訪問API 。而設備62F可要求只有全局籤字的驗證,設備62G可要求只對其敏感的API籤字的驗證。很明顯,通信系統可包括裝置(未示出),在該裝置上,接收的作為如70的籤字的部分軟體程序的軟體應用程式Y可以執行而沒有任何籤字驗證。雖然籤字的軟體應用程式有一個或多個附加的籤字,但軟體應用程式Y可能在某些設備上執行而沒有首要的任何籤字驗證。對軟體應用程式的籤字最好不與它在沒有實現籤字驗證的設備上的執行相干涉。 圖4是流程圖100,表示圖3和圖4的代碼籤字系統的工作。在步驟102,軟體應用程式裝到行動裝置上, 一旦軟體應用程式安裝完畢,該設備最好用虛擬機來確定該軟體應用程式是否要訪問任何陣列敏感的API的API程序庫(步驟104)。如果否,那麼軟體應用程式與所有它所要求的API程序庫連接並執行(步驟118),如果軟體應用程式要訪問敏感的API,那麼在步驟106-116中,虛擬機驗證該軟體應用程式包括與任何要訪問的敏感的API有關的有效數字籤字。 在步驟106,虛擬機從敏感的API程序庫查找公用籤字密鑰20和籤字標識符92,籤字標識符92被虛擬機在步驟108中用來確定軟體應用程式是否有附加的數字籤字與相應的籤字標識94相應。如果沒有,則軟體應用程式沒有被代碼籤字授權機構批准訪問敏感的API,並最好防止軟體應用程式在步驟116中執行。在另一個實例中,沒有合適數字籤字96的軟體應用程式可以行動裝置上消除,或可以否定它訪問陣列敏感的API的API程序庫,但可在沒有訪問API程序庫的可能範圍內執行。也可想到,當籤字驗證失效時,用戶可以有輸入提醒,供用戶控制後續操作從設備中消除該軟體應用程式。 如果相應於敏感的API程序庫的數字籤字96加到軟體應用程式並由虛擬機測出,那麼,虛擬機用公用密鑰20來驗證該數字籤字96的真實性(步驟110)。這一步可用上面描述的籤字驗證方案或其它替換的籤字方案來執行。如果數字籤字96不真實,則軟體應用程式最好不被執行、消除或如上所述限制訪問敏感的API (參考步驟116)。如果數字籤字是真實的,則描述字符串88最好在步驟112中顯示,警告行動裝置用戶,該軟體應用程式要訪問敏感的API,並提示用戶授權執行或安裝該軟體應用程式(步驟114)。當軟體應用程式有多於一個籤字要驗證時,在112步提示用戶之前,最好對每一籤字重複步驟104-110。如果步驟114中的行動裝置用戶認可該軟體應用程式,則它可被執行並連到敏感的API程序庫(步驟118)。 圖5是流程圖,表示圖3A的代碼籤字授權機構的管理200。在步驟210,應用程式開發商已開發了新的軟體應用程式,它要在一個或多個目標設備型號或類型上執行。目標設備可包括來自不同製造商的一組設備,來自同一製造商的一組設備模型或類型,或一般具有特別籤字和驗證要求的任一組設備。"目標設備"一詞涉及有共同籤字要求的設備。例如,對執行所有軟體應用程式要求全局籤字的一組設備可包括目標設備。既要求全局籤字又要求對敏感的API的進一步籤字的設備可以是多於一個目標設備組的部分。軟體應用程式可用至少一個已知的API以與設備無關的狀態寫成,可在至少一個有API程序庫的目標設備上獲得支持。最好是,被開發的軟體應用程式要在幾個目標設備上執行,其中每個至少有它自己的一個API程序庫。 在步驟220,對一個目標設備的代碼籤字授權機構從開發商接收目標籤字請求,目標籤字請求包括軟體應用程式或軟體應用程式的雜亂信號(hash),開發商標識符,以及至少一個目標設備標識符,它識別請求籤字的目標設備。在步驟230,籤字機構查閱開發商資料庫235或其它記錄,以確定是否信任開發商220。這一確定可根據前面討論的幾個準則來做,例如開發商是否有合同義務或已進入設備製造商,網絡工作者,服務供應商安排的某些其它類型的業務。如果開發商是可信的,則該方法在步驟240開始。但是,如果開發商不可信,則該軟體應用程式被拒絕(250),並不被籤字機構籤字。假定開發商是可信任的,則在步驟240,籤字機構藉助於查詢專用密鑰存儲器,如目標專用密鑰資料庫來確定它是否有相應於提交的目標標識符的目標專用密鑰245,如果找到目標專用密鑰,則在步驟260產生對該軟體應用程式的數字籤字,並且該數字籤字或經籤字的軟體應用程式(包括附加到該軟體應用程式的數字籤字)返回開發商(步驟280)。但是,如果目標專用密鑰在步驟240沒有找到,則該軟體應用程式在步驟270被拒絕,並不對該軟體應用程式產生數字籤字。
方便的是,如果目標籤字機構接受圖5方法得可兼容的實例,則為了方便管理代碼籤字授權機構和開發商共同體代碼籤字過程,可建立目標籤字機構的網絡,以便對多個 具有毀壞碼的低似然性的目標提供經籤字的軟體應用程式。 當軟體應用程式在設備上執行時,一經發現或根據其表現懷疑軟體應用程式中有 任何破壞性或其它有問題的碼,那麼,相應的應用程式開發商與任何或全部籤字機構的登 記或特權可被懷疑或取消,因為數字籤字提供了檢查跟蹤,通過它可識別有問題的軟體應 用程序的開發商。在這種事件中,設備者藉助於配置周期性下載籤字取消表通知取消。如 果相應的數字籤字已被取消的軟體應用程式在設備上運行,那麼該設備可停止任何這種軟 件應用程式的執行,併合理地從其本地存儲器中消除。如果願意,設備還可配置重新執行籤 字驗證,例如周期性地或當新的取消表被下載時。 雖然由籤字機構產生的數字籤字與應用程式開發商的身份驗證和確認該應用程 序開發商已確實註冊,那麼數字籤字優先從軟體應用程式的雜亂信號(hash)或其它變換 的版本產生,並成為專門的應用,這與已知的代碼籤字方案不同,其中允許任何來自可信的 應用程式開發商或作者的軟體應用程式訪問API。在這裡描述的代碼籤字系統和方法中, API的訪問是逐個應用的基礎上準許的,因而能比較嚴格地控制或限制。
圖6是移動通信設備的方框圖,其中可實現代碼籤字系統和方法。移動通信設備 610最好是雙程通信設備,它至少具有聲音和數據通信能力。該設備優先具有與網際網路上的 其它計算機系統通信的能力。根據由設備提供的功能,設備可稱為數據收發設備,雙程尋呼 機,有數據收發功能的蜂窩電話,無線網際網路設備或數據通信設備(帶或不帶電話功能)。
在設備能用於雙程通信的地方,設備將採用通信分系統611,它包括接收機612, 發射機614,和有關的一個或多個嵌入的或內部的部件,天線單元616和618,本地振蕩器 (L0) 613,和處理模塊,例如數位訊號處理器(DSP) 620。通信領域內的業務人士知道,通信系 統611的具體設計與設備要在其中工作的通信網絡有關。例如,北美市場用的設備610可 包括通信分系統611,它設計成在Mobitex 移動通信系統或DataTAC 移動通信系統內工 作,而用於歐洲的設備610可採用通信分組無線業務(GPRS)通信分系統611。
網絡訪問要求也隨網絡919的類型而變化,例如,Mobitex和DataTAC網絡中,移動 設備610用與每個設備有關的唯一識別數字在網上註冊,但在GPRS網絡中,網絡訪問與設 備610的用戶有關。因此,GPRS設備為在GPRS網上工作要求用戶識別模塊(未示出)。通 常稱為SIM卡。沒有SIM卡,GPRS設備將不能起充分的作用。本地或無網絡通信功能(如 果有)可以運作,但設備610不能在網絡619上實行任何功能,包括通信,除了像"911"緊 急呼叫那樣合法地所要求的工作。 當要求的網絡註冊或激勵過程已完成時,設備610可在網絡619上發送和接收通 信信號。由天線616通過通信網絡619收到的信號輸入接收機612,它可實行普通接收機的 功能,例如信號放大,下變頻,濾波,通道選擇等等,以及在圖6系統所示的例中的模-數變 換。接收信號的模數變換允許比較複雜的通信功能,例如解調和解碼可在DSP620中執行。 以同樣的狀態處理髮射信號,包括用DSP620調製和編碼,並輸入發射機614作數-模變換, 上變頻,濾波,放大和通過天線618在通信網絡619上傳輸。 DSP620不僅處理通信信號,也為接收機和發射機提供控制,例如,作用於接收機 和發射機中的通信信號的增益可通過在DSP620中實現的自動增益控制算法進行自適應控 制。
設備610優先包括微處理機638,它控制整個設備的工作。通信功能,至少包括數 據和聲音通信,通過通信分系統611實行。微處理器638也與另外的分系統或資源,如顯示 器622,快閃記憶體624,隨機訪問存儲器(RAM)626,輔助輸入/輸出(I/O)分系統628,串口 630, 密鑰盤632,揚聲器634,麥克風636,短距通信分系統640和任何其它的設備分系統(統稱 642)互作用。API,包括敏感的API,它要求在準許訪問前驗證一個或多個數字籤字,可安裝 在設備610上,提供軟體應用程式上圖6中的任何資源的接口。 圖6中所示的某些分系統執行與通信有關的功能,而其它分系統可提供"常駐的" 或在設備上的功能。要說明的是,某些分系統,例如密鑰盤632和顯示器622,既可用於與通 信有關的功能,如輸入文本消息用於在通信網絡上傳輸,也可用於常駐設備的功能,如計算 器或任務表。 微處理器638所用的作業系統軟體和由軟體應用程式訪問的合理的API,優先存 入永久性存儲器,如快閃記憶體624,它可替代只讀存儲器(ROM)或類似的存儲單元(未示出)。業 內人士理解,作業系統,專門的設備軟體應用程式,或其中的部分,可臨時裝到易失性存儲 器(如RAM626)中。接收和發射的通信信號也可存入RAM620。 微處理器638,除了它的作業系統功能,能優先執行在設備上的軟體應用程式。預 定的一組應用程式控制基本的設備操作,包括至少數據和聲音的通信應用程式,通常在制 造期間就裝在設備610上。可裝在設備上的優先應用程式可以是個人信息管理(PM)應用 程序,它具有組織和管理涉及設備用戶的數據項目的能力,例如,但不限於電子郵件,日曆 事件,語音郵件,約定和任務項。自然,在設備上一個或多個存儲器是有用的,以適合PIM數 據項目在設備上儲存。這種PIM的應用優先具有通過無線網發送和接收數據項的能力。在 一個優選實施例中,PIM數據項通過無線網絡無縫連接地集成、合成和更新,以存儲的或與 主計算機系統有關的設備用戶相應的數據項在行動裝置上建立關於數據項的鏡像主計算 機。這對主計算機系統是行動裝置用戶的辦公室計算機系統的情況特別有利。另外的應用 軟體,包括上述籤字的軟體應用程式,也可通過網絡619,輔助I/O分系統628,串口 630,短 距離通信分系統640或任何其它合適的分系統642裝到設備610上。設備的微處理器638 可驗證任何數字籤字,包括"全局"設備籤字和規定的API籤字,這些籤字在軟體應用程式 由微處理器638執行和/或訪問任何有關的敏感的API前加到軟體應用程式。安裝應用程 序的這種可塑性增加了設備的功能,並提供增強的在設備功能、有關通信功能或兩者。例 如,保密通信應用程式可使要用設備610通過保密API和保密模塊(其中實現設備上的保 密運算)(未示出)執行的電子商務功能和其它會計事務成為可能。 在數據通信模型中,收到的信號,如下載的文本消息或全球資訊網頁,由通信分系統處 理並輸入微處理器638,它進一步處理收到的信號,輸出到顯示器622,或輸出到輔助的I/0 設備628。設備610的用戶也可用密鑰盤632構成數據項,如電子郵件短文密鑰盤632是 完全的字母數字密鑰或電話型的輔助密鑰盤,與顯示器622和合理的I/O設備628相結合。 這樣構成的數據項可通過通信分系統611在通信網絡上傳輸。 對於聲音通信,設備610的整體工作基本上是相同,除了收到的信號優先輸出給 揚聲器,發射的信號由麥克風636產生之外。可替代的聲音或音頻1/0分系統,例如聲音消 息記錄分系統,也可在設備610上實現。雖然聲音或音頻信號輸出主要是通過揚聲器634 完成的,但顯示器622也可用來提供呼叫方身份,呼叫持續時間,或其它有關信息的語音呼叫。 圖6中的串口 630通常是在個人數字助理(PDA)型通信設備中實現的,它可能要 與用戶桌面計算機(未畫)同步,但是一種可選的部件。這種埠 630使用戶能通過外部 設備或軟體應用程式設置預定選項,並藉助於不通過無線通信網絡而提供信息或軟體下載 到設備610來擴展設備的能力。這種下載路徑可用於把保密密鑰直接加載到設備上,這種 可靠和可信的連接使保密設備通信成為可能。 短距通信分系統640是另一可選的部件,它可提供設備624和不同的系統或設備
間的通信,合併不需要是同類設備。例如,分系統640可包括紅外設備和有關的電路及元
件,或BluetoorhTM(藍牙)通信模式,以提供與有相同能力的系統和設備通信。 這裡描述的實施例是相應於權利要求中各部件的結構、系統和方法。本說明可使
業內人士能製造和使用相應於權利要求中的可替代的部件。本發明預定的範圍包括其它結
構、系統或方法,它們與權利要求書的文字語言沒有不同,並進一步包括與權利要求書中的
文字語言有非實質性判別的結構、系統和方法。 例如,當在圖5方法中,在步驟250拒絕軟體應用程式時,籤字機構可要求開發商 籤一合同或與設備製造商或籤字機構影響其利益的其它實體建立業務關係。同樣,如果在 步驟270拒絕軟體應用程式,對該軟體應用程式籤字的籤字機構可授權給不同的籤字機 構,這種授權籤字基本上可如圖5所示進行,其中從信任的開發商那裡收到最初請求的目 標籤字機構(步驟220),根據信任的開發商來自目標籤字機構的利益,要求不同的籤字機 構對該軟體應用程式籤字。 一旦代碼籤字授權機構間建立起信任關係,目標專用代碼籤字 密鑰可在代碼籤字授權機構間共享,以改善步驟240方法的性能,或設備可配置成從任何 一個信任的籤字機構籤字。 此外,雖然描述了軟體應用程式的上下文,但本發明的代碼籤字系統和方法也可 用於其它設備有關的部件,包括,但不限於,指令和有關的指令變元系統,和構成與設備資 源接口的程序庫。這種指令和程序庫可由設備製造商,設備擁有者,網絡工作者,服務提供 商,軟體應用程式開發商等發送給行動裝置。希望根據本權利要求書中描述的代碼籤字系 統和方法,藉助於在指令能在設備上執行之前,要求驗證一個或多個數字籤字,來控制可能 影響設備工作的任何指令的執行,例如改變設備標識碼或無線通信網絡地址的指令。
權利要求
一種代碼籤字系統,用於與具有數字籤字和籤字標識的軟體應用程式一起工作,其中,數字籤字與籤字標識相關,包括應用平臺;應用編程接口API,具有關聯的籤字標識符,設置API將軟體應用程式和應用平臺連結;虛擬機,如果籤字標識符對應籤字標識,則為了控制軟體應用程式訪問API,虛擬機驗證數字籤字的真實性。
2. 根據權利要求l所述的代碼籤字系統,其特徵在於(i) 如果數字籤字不真實,則虛擬機拒絕軟體應用程式訪問API ;或(ii) 如果數字籤字不真實,則虛擬機刪除軟體應用程式。
3. 根據權利要求2所述的代碼籤字系統,其特徵在於(iii) 代碼籤字系統裝在行動裝置上;或(iv) 數字籤字由代碼籤字授權機構產生。
4. 根據權利要求1所述的代碼籤字系統,其特徵在於還包括多個API程序庫,每個API程序庫包括多個API,其中,虛擬機通過軟體應用程式控制訪問多個API程序庫。
5. 根據權利要求l所述的代碼籤字系統,其特徵在於至少一個API程序庫被分類為敏感的;訪問敏感的API程序庫要求將數字籤字與籤字標識關聯,其中,籤字標識對應與敏感的API程序庫關聯的籤字標識符;軟體應用程式包括至少一個數字籤字和至少一個關聯的籤字標識,用於訪問敏感的API程序庫;虛擬機通過驗證包括在軟體應用程式中的一個數字籤字來授權軟體應用程式訪問敏感的API程序庫,所述軟體應用程式具有對應敏感的API程序庫的籤字標識符的籤字標識。
6. 根據權利要求1所述的代碼籤字系統,其特徵在於使用專用籤字密鑰產生數字籤字,虛擬機使用公用籤字密鑰驗證數字籤字的真實性。
7. 根據權利要求6所述的代碼籤字系統,其特徵在於通過將專用籤字密鑰應用到軟體應用程式的雜亂信號產生數字籤字;虛擬機通過產生軟體應用程式的雜亂信號來獲得產生的雜亂信號、並將公用籤字密鑰應用到數字籤字中來獲得恢復的雜亂信號、比較產生的雜亂信號和恢復的雜亂信號來驗證數字籤字的真實性。
8. 根據權利要求3所述的系統,其特徵在於API還包括當軟體應用程式試圖訪問敏感的API時,行動裝置顯示描述字符串。
9. 根據權利要求1所述的代碼籤字系統,其特徵在於應用平臺包括作業系統;或一個或多個行動裝置的核心功能;或行動裝置上的硬體。
10. 根據權利要求9所述的代碼籤字系統,其特徵在於硬體包括用戶身份模塊卡。
11. 根據權利要求1所述的代碼籤字系統,其特徵在於軟體應用程式是用於行動裝置 的Java應用程式。
12. 根據權利要求1所述的代碼籤字系統,其特徵在於(i) API與應用平臺上的加密流程接口 ;(ii) API與應用平臺上的專用數據模塊接口。
13. 根據權利要求1所述的代碼籤字系統,其特徵在於虛擬機是安裝在行動裝置上的 Java虛擬機。
14. 一種控制在行動裝置上訪問敏感的應用程式編程接口的方法,包括步驟 把軟體應用程式裝載到行動裝置上,所述軟體應用程式要求訪問具有籤字標識符的敏感的應用程式編程接口 API ;確定軟體應用程式是否包括數字籤字和籤字標識;如果籤字標識不與籤字標識符對應,那麼拒絕軟體應用程式訪問敏感的API 。
15. 根據權利要求14所述的方法,其特徵在於還包括 如果籤字標識不對應籤字標識符,則從行動裝置刪除軟體應用程式。
16. 根據權利要求14所述的方法,其特徵在於數字籤字和籤字標識由代碼籤字授權機 構產生。
17. 根據權利要求14所述的方法,其特徵在於還包括步驟 如果籤字標識對應籤字標識符,則驗證數字籤字的真實性; 如果數字籤字不真實,則拒絕軟體應用程式訪問敏感的API。
18. 根據權利要求17所述的方法,其特徵在於還包括步驟 如果數字籤字不真實,則從行動裝置上刪除軟體應用程式。
19. 根據權利要求17所述的方法,其特徵在於通過將專用籤字密鑰應用到軟體應用程 序的雜亂信號產生數字籤字,其中,驗證數字籤字的真實性包括在行動裝置上存儲對應專用籤字密鑰的公用籤字密鑰; 產生軟體應用程式的雜亂信號,以獲得產生的雜亂信號; 將公用籤字密鑰應用到數字籤字,以獲得恢復的雜亂信號; 比較產生的雜亂信號與恢復的雜亂信號。
20. 根據權利要求19所述的方法,其特徵在於通過計算軟體應用程的雜亂信號和應用 專用籤字密鑰產生數字籤字。
21. 根據權利要求14所述的方法,其特徵在於還包括顯示描述字符串,所述描述字符串通知行動裝置的用戶軟體應用程式要求訪問敏感的API。
22. 根據權利要求21所述的方法,其特徵在於還包括步驟 從用戶接收指令,準許或拒絕軟體應用程式訪問敏感的API。
23. —種行動裝置,包括應用平臺,具有應用編程接口 API ;驗證系統,用於認證由各個軟體應用程式提供的數字籤字和籤字標識,以便訪問API ;控制系統,允許軟體應用程式訪問至少一個API,其中,由軟體應用程式提供的數字籤 字由驗證認證;其中,代碼籤字授權機構向要求訪問至少一個API的軟體應用程式提供數字籤字和籤 字標識,以致用於軟體應用程式的數字籤字根據籤字標識的籤字方案產生,其中,提供給軟 件應用程式的籤字標識包括僅被授權的籤字標識允許在多個行動裝置的子集上訪問。
24. 根據權利要求23所述的行動裝置,其特徵在於還包括驗證系統和控制系統的虛擬 機,所述虛擬機使Java虛擬機,軟體應用程式是Java應用程式。
25. 根據權利要求23所述的行動裝置,其特徵在於控制系統為至少一個API的每個程序庫要求一個數字籤字和一個籤字標識。
26. 根據權利要求23所述的行動裝置,其特徵在於應用平臺的API訪問至少接入執行 加密算法的加密模塊、數據存儲器、專用數據模型和用戶接口之一。
27. 根據權利要求23所述的行動裝置,其特徵在於使用籤字方案下的專用籤字密鑰產 生數字籤字,驗證系統使用公用籤字密鑰認證數字籤字。
28. 根據權利要求27所述的行動裝置,其特徵在於通過將專用籤字密鑰應用到籤字方案下的軟體應用程式的雜亂信號產生數字籤字; 驗證系統通過產生軟體應用程式的雜亂信號獲得產生的雜亂信號、將公用籤字密鑰應用到數字籤字獲得恢復的雜亂信號、驗證產生的雜亂信號與恢復的雜亂信號相同來認證數字籤字。
29. 根據權利要求23所述的行動裝置,其特徵在於至少一個API還包括 當軟體應用程式試圖訪問至少一個API時,描述字符串被顯示給用戶。
全文摘要
提供了一種代碼籤字系統和方法。代碼籤字系統與有數字籤字的軟體應用程式一起工作,並包括應用平臺、應用程式編程接口(API)和虛擬機。API用來把軟體應用程式與應用平臺相連結。虛擬機驗證數字籤字的真實性,以控制軟體應用程式訪問API。
文檔編號G06F21/22GK101694688SQ20091020791
公開日2010年4月14日 申請日期2001年9月20日 優先權日2000年9月21日
發明者戴維·P·亞切, 赫伯特·A·利特爾, 麥可斯·S·布朗 申請人:捷訊研究有限公司;

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀