專利名稱:利用服務供應商鑒權的增強的安全性的制作方法
技術領域:
本發(fā)明涉及通信網絡,以及具體來說涉及無線通信網絡。
現有技術移動信息設備組(MIDP)以及有限連接設備配置(CLDC)是用于資源受限制的設備的Java運行環(huán)境,諸如移動電話和個人數字助理(PDA)。在該運行環(huán)境中,CLDC定義了應用編程接口的基集以及設備使用的虛擬機,且MIDP規(guī)范定義了用于動態(tài)且安全地將網絡應用配置到設備的平臺。值得注意地,利用MIDP的開發(fā)者可以寫入應用程序一次,并隨后將它們配置到多種移動通信設備。上述應用程序稱為MIDlets。
MIDlet組是一個或多個MIDlets的封裝且由Java Descriptor(JAD)文件、Java Archive(JAR)文件以及描述該JAR文件的清單組成。JAD文件包括應用程序軟件所使用的屬性,用于管理MIDlets的壽命周期,以及包括MIDlet組本身將使用的特定應用程序的屬性。JAR文件包括MIDlet組的Java類文件。關于這些類文件的標題字段數據被包含在該清單中。
MIDP增加了對于設備上的數據和服務的訪問,且由此必須在應用程序、設備以及用戶之間建立信任的水平。在MIDP的版本2.0中,利用保護域來建立信任的水平。保護域定義了可以被授予MIDlet組的許可的集合,包括在設備上對特權功能進行訪問。
根據X.509公共密鑰基礎結構(PKI)安全標準,可以通過恰當地簽署該MIDlet組而將MIDlet組限制到保護域。簽署步驟包括利用簽名來簽署JAR文件,其中所述簽名是利用簽名者的私有密鑰而創(chuàng)建的。隨后將包括該簽署者的公用密鑰的簽署者證書和該簽名一起添加為JAD文件的屬性。最后,根證書被分配給在其上將執(zhí)行MIDlets的設備,從而建立了對于MIDlets的信任基礎,所述的MIDlets是根據PKI安全標準簽署過的。根證書是未簽署的或自我簽署的X.509公用密鑰證書。根證書通常包括來自其真實性已被確認了的證書管理機構的簽名。
當將MIDlet組下載到設備時,將對照存儲在該設備上的根證書對該MIDlet組的簽名和簽署者證書進行鑒權。如果該簽名和簽署者證書與關于特定的保護域的根證書相匹配,則MIDlet組將被限制到該保護域和定義在其中的授予許可。如果簽名或簽署者證書與存儲在該設備上的根證書不相匹配,則向該MIDlet組分配不信任的狀態(tài)。由此,MIDlet組對該設備上的特權功能的訪問將被拒絕。
在所有具有適當的根證書的移動通信設備上,簽署了Java應用程序的載體都將得到信任。然而,不同的載體時常使用具有相同根證書的移動通信設備。結果,Java應用程序有時將會向Java應用程序不希望的設備提供特權功能的訪問。重要的是,特定的載體可能不希望它的Java應用程序被提供到預訂了另一載體的設備。例如,載體通常提供為其訂戶設計的游戲,其可以在因特網上下載且可以利用個人電腦傳送到移動通信設備。載體可能不希望上述游戲對于預訂了另一載體的設備也可用。類似地,如果預訂了第一載體的移動通信設備處于漫游模式中且臨時使用了第二載體,則那個載體可以自動地對為了第二載體的訂戶而設計的應用程序進行下載,但是這對于該設備來說是無效的。該設備的用戶可能不希望利用上述應用程序綁定到已經受到限制的資源。
發(fā)明內容根據本發(fā)明的實施例涉及一種通過利用服務供應商鑒權而提供增強的應用程序安全性的方法和裝置。更具體地,當應用程序被加載到網絡節(jié)點時,除了對照存儲在該網絡節(jié)點上的根證書對應用程序的簽名進行鑒權之外,將與應用程序相關的第一載體標識與第二載體標識進行比較。如果第一和第二載體的標識相匹配,則將信任的保護域和授予的許可分配給該應用程序,其中所述信任的保護域和授予的許可向網絡節(jié)點提供了特權訪問。例如,可以將許可授予應用程序,從而在網絡節(jié)點上安裝和/或執(zhí)行。其他應用程序的特權訪問可能會被拒絕。因此,將僅僅在這樣的網絡節(jié)點上安裝載體的應用程序,其中所述網絡節(jié)點是該應用程序預期的接收方。
通信網絡可以是無線通信網絡。例如,網絡節(jié)點可以是移動通信設備。如果網絡節(jié)點符合移動信息設備組(MIDP),則包括該應用程序的MIDlet組可以識別第一載體標識。例如,可以對MIDlet組進行解析,且可以在解析過的MIDlet組中識別該載體標識。可以在MIDlet組中包含的Java Archive(JAR)文件和/或Java Descriptor(JAD)文件中的清單中對第一載體標識進行識別。可以在通信網絡上接收第二載體標識或可以從網絡節(jié)點內的數據存儲器中檢索第二載體標識。在一種結構中,數據存儲器可以訂戶身份模塊(SIM)卡。
圖1示出了根據本發(fā)明實施例的利用服務供應商鑒權提供增強的應用程序安全性的流程圖。
圖2示出了有助于理解本發(fā)明的通信網絡圖。
具體實施方式根據本發(fā)明的實施例涉及一種通過利用服務供應商鑒權提供增強的應用程序安全性的方法和裝置。更具體地,當應用程序被加載到網絡節(jié)點時,除了對照根證書對應用程序的簽名進行鑒權之外,將與應用程序相關的第一載體標識與關于網絡節(jié)點的第二載體標識進行比較??梢栽诰W絡節(jié)點上預存儲第二載體標識,或當需要時向網絡節(jié)點提供第二載體標識。如果第一和第二載體標識相匹配,則可以在該網絡節(jié)點上授予該應用程序對特權功能的訪問。例如,可以在該網絡節(jié)點上安裝該應用程序。然而,如果第一和第二標識不相匹配,可以拒絕對于特權功能的訪問。
圖1示出了流程圖,其有助于理解該方法。如其中示出的,方法100可以包括若干步驟,其始于步驟105,網絡節(jié)點在通信網絡上接收應用程序。例如,可以在陸線和/或無線通信鏈路上從內容供應商接處應用程序。在網絡節(jié)點的運行環(huán)境是移動信息設備組(MIDP)的結構中,該應用程序可以是包含在MIDlet組中的MIDlet。本發(fā)明在這方面沒有限制,然而,應用程序可以是能夠在通信網絡上傳送且可以在網絡節(jié)點上安裝/執(zhí)行的任何類型的應用程序。
應用程序可以與安全信息相關聯(lián),所述安全信息被用于建立應用程序的信任水平。如此處所定義的,將應用程序與安全信息相關聯(lián)意味著在可以對具有安全信息的安全文件進行識別的應用程序中提供標識符,在具有識別應用程序的安全信息的文件中提供標識符,或者將安全信息并入到程序本身中。例如,如本領域技術人員將會理解的,按照X.509公共密鑰基礎結構(PKI)安全標準,簽名和簽署者證書可以被并入到應用程序中。然而,本發(fā)明并不僅限于此,本領域技術人員將理解,還可以實現其他安全協(xié)議。在步驟110處,可以對照存儲在網絡節(jié)點上的根證書對與應用程序相關的安全信息進行鑒權,從而確定應用程序是否被限制在被信任的保護域中。
參考判定框115和步驟120,如果應用程序沒有被限制到信任的保護域中,則可以拒絕應用程序在該網絡節(jié)點上對于特權功能的訪問。例如,可以向應用程序分配不信任的保護域,且據此對其進行處理。例如,可以在網絡節(jié)點上提供消息以警告用戶該應用程序是沒有得到信任的。隨后,如果希望繼續(xù)進行該應用程序的安裝和/或執(zhí)行,則可以提示用戶錄入特定的用戶輸入。
如果應用程序被限制到信任的保護域,如步驟125所示,則可以將與應用程序相關的第一載體標識與與網絡節(jié)點相關的第二載體標識進行比較。第一載體標識可以標識這樣的載體,所述載體的用戶是應用程序的預期接收方,以及可以被配置在與應用程序一起接收到的文件中。例如,第一載體標識可以被配置在與應用程序相關的根證書中或被嵌入在應用程序內。第二載體標識可以被存儲在網絡節(jié)點上,例如存儲在數據存儲器中,或者在通信網絡上從載體傳送到網絡節(jié)點。
前進到判定框130且再次到步驟120,如果第一和第二載體標識不相匹配,則可以拒絕應用程序在該網絡節(jié)點上對特權功能的訪問。例如,可以防止在該網絡節(jié)點上安裝和/或執(zhí)行該應用程序,由此確保該應用程序對于非特權用戶是不可訪問的。然而,如步驟135所示,如果第一和第二載體標識相匹配,則可以在該網絡節(jié)點上提供應用程序對特權功能的訪問。例如,可以在網絡節(jié)點上安裝和/或執(zhí)行應用程序。
圖2示出了在其中可以實現上述方法的通信網絡200的實例。通信網絡200可以包括陸線和/或無線通信鏈路。例如,通信網絡200可以是移動無線電通信網絡、蜂窩電話通信網絡、遙測系統(tǒng)、廣域網絡(WAN)、局域網絡(LAN)、內部網絡、因特網、或者任何其他適當的通信網絡。
至少一個網絡節(jié)點210可以通信地鏈接到通信網絡200。節(jié)點210可以是例如移動通信設備,所述移動通信設備例如是移動電話或個人數字助理(PDA)、計算機設備、或者能夠在通信網絡200上接收應用程序240的任何其他設備。
網絡節(jié)點210可以包括網絡接口215、處理器220以及第一數據存儲器225。可替換地,網絡還可以包括第二數據存儲器230。網絡接口215可以是陸線或無線網絡接口。例如,網絡接口215可以是調制解調器、LAN或WAN接口、或者具有互連和/或發(fā)送能力的電臺。處理器220可以是中央處理器(CPU)、數字信號處理器(DSP)、專用并入電路(ASIC)、或者適用于對在通信網絡200上接收到的應用程序240進行處理的任何其他處理器。
每個數據存儲器225、230可以包括電子存儲媒體,例如是只讀存儲器(ROM)、閃速存儲器或者隨機存取存儲器(RAM)、磁存儲介質(例如硬盤驅動器)、光存儲介質、磁光存儲介質、或者任何其他適當的數據存儲器。例如,第一和/或第二數據存儲器可以是訂戶身份模塊(SIM)卡。SIM卡可以識別操作網絡節(jié)點210的用戶帳戶、可以處理網絡節(jié)點的鑒權、以及可以向數據存儲器提供用戶數據,所述用戶數據例如是電話號碼和關于通信網絡200的信息。SIM卡還可以包括在網絡節(jié)點210上運行的應用程序。
根證書235可以存儲在第一數據存儲器225中。例如,根證書235可以被嵌入在操作系統(tǒng)中,而所述操作系統(tǒng)存儲在數據存儲器225上。如所指出的,根證書可以與保護域相關聯(lián),且當節(jié)點210接收到應用程序240時,處理器220可以使用根證書對與應用程序240相關的安全信息245進行鑒權第一載體標識250可以被添加到如文本文件的應用程序240、嵌入在應用程序240的程序代碼內、并入在安全信息中,或者以其它適當的方式與應用程序240相關聯(lián)。例如,在應用程序240被包含在MIDlet組的情形中,第一載體標識250可以被包含在MIDlet組的JavaDescriptor(JAD)文件和/或Java Archive(JAR)文件的清單中。JAD文件和清單都是包括屬性的文本文件。第一載體標識250可以被作為屬性添加到一個或這兩個文件,且當對文件進行解析時,網絡節(jié)點的操作系統(tǒng)可以被配置為對載體標識250進行識別和處理。
值得注意的是,如果使用了X.509PKI安全標準,則通過簽名保護了JAR文件的清單內定義的屬性,然而JAD文件則沒有。由此,可以期望使用清單以安全地傳送第一載體標識250。然而,由于可以隨后對清單和JAD文件中的載體標識250的值進行比較,因此,在清單和JAD文件中都包含載體標識250可以提供更好的安全水平。上述比較可以檢測出JAD文件或清單是否已經被不擇手段地改變了。
當節(jié)點210接收到應用程序240時,處理器220可以將第一載體標識250與第二載體標識255進行比較。如所示的,第二載體標識255可以存儲在第二數據存儲器230中??商鎿Q地,第二載體標識255可以存儲在另一數據存儲器上,例如第一數據存儲器225。
在一種結構中,當網絡節(jié)點進入服務時或在接收第一載體標識250之前的某個時間處,可以將存儲第二載體標識255在網絡節(jié)點210上。在另一結構中,必要時,處理器220可以將第二載體標識255傳送到網絡節(jié)點210以執(zhí)行比較。例如,當接收到應用程序240時,網絡節(jié)點210可以請求服務器經由通信網絡200向網絡節(jié)點210提供第二載體標識255。根據通信網絡200的實現,可以對載體標識225進行加密。上述加密技術是本領域技術人員所公知的。
本發(fā)明可以以硬件、軟件或硬件和軟件的組合來實現。本發(fā)明可以以在一個系統(tǒng)中的集中方式實現、或可以以不同部件散布在若干互連系統(tǒng)之間的分布方式實現。任何種類的處理設備或適合于執(zhí)行此處描述的方法的其他裝置都是合適的。硬件和軟件的通常的組合可以是具有應用程序的處理設備,當被加載和執(zhí)行時,所述應用程序可以控制該處理設備以使其執(zhí)行此處描述的方法。
本發(fā)明還可以被嵌入在應用程序產品中,該應用程序產品包括能夠實現此處描述的方法的全部特征,以及當被加載到所述處理設備中時,該應用程序產品可以執(zhí)行這些方法。在目前的背景下的應用程序意味著一組命令的任何表達式、任何語言、代碼或符號,所述命令組使得具有信息處理能力的系統(tǒng)能夠直接或在以下兩者之后執(zhí)行特定的功能a)轉換為另一語言、代碼或符號;b)以不同的材料形式重現。
在不背離本發(fā)明精神或其本質特征的情況下,可以以其他形式實現本發(fā)明。因此,應當按照表示本發(fā)明保護范圍的以下權利要求
書來理解,而不是以上述說明來理解。
權利要求
1.一種用于在網絡節(jié)點上提供增強的安全性的方法,包括響應于在通信網絡上接收到應用程序,將與所述應用程序相關的第一載體標識與第二載體標識進行比較;以及響應于在所述第一以及第二載體標識之間識別匹配,向所述應用程序分配許可,其中所述許可在所述網絡節(jié)點上提供了對特權功能的訪問。
2.根據權利要求
1的方法,進一步包括以下步驟確定所述應用程序是否被限制到信任的保護域。
3.根據權利要求
2的方法,其中所述確定步驟進一步包括對照存儲在所述網絡節(jié)點上的根證書,對與應用程序相關的簽名進行鑒權。
4.根據權利要求
1的方法,其中所述比較步驟包括解析MIDlet組;以及在解析過的MIDlet組中識別第一載體標識。
5.根據權利要求
4的方法,其中所述識別步驟包括在從由JavaArchive(JAR)文件和Java Descriptor(JAD)文件構成的組中選出的至少一個文件中識別第一載體標識。
6.根據權利要求
4的方法,其中所述識別步驟進一步包括根據Java Archive(JAR)文件且根據Java Descriptor(JAD)文件,識別第一載體標識。
7.一種用于處理應用程序的裝置,包括網絡接口,用于在通信網絡上接收所述應用程序;處理器,用于將與所述應用程序相關的第一載體標識與第二載體標識進行比較,且響應于在所述第一和第二載體標識之間識別匹配,向所述應用程序分配許可,所述許可在所述裝置提供了對特權功能的訪問。
8.根據權利要求
7的方法,其中所述處理器進一步確定所述應用程序是否被限制到信任的保護域。
9.根據權利要求
8的方法,其中所述處理器進一步對照存儲在網絡節(jié)點上的根證書,對與應用程序相關的簽名進行鑒權。
10.如權利要求
7的裝置,其中所述處理器對MIDlet組進行解析且在解析過的MIDlet組中識別第一載體標識。
專利摘要
一種用于利用服務供應商鑒權提供增強的安全性的方法(100)和裝置(210)。除了對照存儲在網絡節(jié)點(210)上的根證書(235)對應用程序簽名(245)進行鑒權之外,將與應用程序(240)相關的第一載體標識(250)與第二載體標識(255)相比較。如果第一和第二載體的標識相匹配,則將信任的保護域和授予的許可分配給該應用程序,其中所述信任的保護域和授予的許可向網絡節(jié)點提供了特權訪問。例如,應用程序可以被授予許可,以在網絡節(jié)點上安裝和/或執(zhí)行。在其他情況下,應用程序的特權訪問可能會被拒絕。因此,將僅僅在網絡節(jié)點上安裝載體的應用程序,所述的網絡節(jié)點是該應用程序預期的接收方。
文檔編號H04K1/00GK1993921SQ20058002672
公開日2007年7月4日 申請日期2005年8月5日
發(fā)明者肖冀, 林志翰, 羅納德·R·史密斯, 莊瑞強 申請人:摩托羅拉公司導出引文BiBTeX, EndNote, RefMan