專利名稱:應(yīng)用程序認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及也被稱為蜂窩網(wǎng)絡(luò)的移動(dòng)網(wǎng)絡(luò)領(lǐng)域。尤其是涉及對(duì)具有和移動(dòng)電話的移動(dòng)設(shè)備相關(guān)的安全模塊功能的應(yīng)用程序的安全性進(jìn)行管理。
移動(dòng)電話或便攜式電話的安全模塊的已知被稱為構(gòu)成這些電話的中央安全元件的“SIM卡”(用戶識(shí)別模塊)。在制造和/或個(gè)性化階段,電話操作者引入一個(gè)被稱為IMSI(國際移動(dòng)用戶身份識(shí)別)的號(hào)碼,該號(hào)碼用來以安全、唯一的方式識(shí)別希望連接到移動(dòng)網(wǎng)絡(luò)的每個(gè)用戶。下面被稱為移動(dòng)設(shè)備的每個(gè)移動(dòng)電話由一個(gè)存儲(chǔ)在移動(dòng)設(shè)備的非易失性存儲(chǔ)器中的號(hào)碼在物理上識(shí)別。這個(gè)號(hào)碼被稱為IMEI(國際移動(dòng)設(shè)備識(shí)別碼),它包含對(duì)移動(dòng)設(shè)備類型的識(shí)別以及在GSM(全球移動(dòng)通信系統(tǒng))、GPRS(通用分組無線系統(tǒng))或UMTS(通用移動(dòng)電信系統(tǒng))類型的網(wǎng)絡(luò)中用于以唯一方式識(shí)別一個(gè)給定移動(dòng)設(shè)備的序列號(hào)。此外,移動(dòng)設(shè)備的特性由表明安裝在移動(dòng)設(shè)備上的基本軟件的更新狀態(tài)的軟件版本SVN(軟件版本號(hào))來描述。具有軟件版本(SVN)的移動(dòng)設(shè)備的類型識(shí)別和序列號(hào)的組合給出了一個(gè)新的識(shí)別,被稱為IMEISV(國際移動(dòng)設(shè)備識(shí)別碼和軟件版本序列號(hào))。同樣的識(shí)別概念也適用于WLAN(無線局域網(wǎng))或者雙向有線電視。物理識(shí)別符可以是對(duì)應(yīng)于唯一地址的MAC(媒體訪問控制)地址,該地址識(shí)別了在一個(gè)IP(互聯(lián)網(wǎng)協(xié)議)網(wǎng)絡(luò)上一個(gè)用戶設(shè)備的硬件配置,并且軟件版本可以基于IP通過上層協(xié)議傳輸。
ETSI(“歐洲電信標(biāo)準(zhǔn)協(xié)會(huì)”)標(biāo)準(zhǔn)定義了一種移動(dòng)臺(tái)(MS,移動(dòng)臺(tái)),它由一個(gè)移動(dòng)設(shè)備(ME,移動(dòng)設(shè)備)和一個(gè)用戶模塊(SIM,用戶識(shí)別模塊)組成。這個(gè)用戶模塊通常是可拆卸的,也就是說它可以被抽回或者從一個(gè)移動(dòng)設(shè)備轉(zhuǎn)移至另一設(shè)備。
在啟用一個(gè)移動(dòng)設(shè)備期間,特別是在其連接至一個(gè)操作員網(wǎng)絡(luò)的過程中,在授權(quán)或禁止其使用的操作員的移動(dòng)設(shè)備和管理中心之間交換包含識(shí)別數(shù)據(jù)的信息。目前,移動(dòng)設(shè)備除了通過訪問移動(dòng)網(wǎng)絡(luò)向用戶提供建立電話通信的一般功能外,還提供許多其他的補(bǔ)充增值服務(wù),如不同數(shù)據(jù)的咨詢、遠(yuǎn)程銀行交易、電子商務(wù)、訪問多媒體內(nèi)容等。這些改進(jìn)服務(wù)需要不斷提升的安全性,以保護(hù)用戶避免由于第三方試圖利用可能出現(xiàn)在移動(dòng)設(shè)備中的安全隱患而可能導(dǎo)致的欺詐。
因此,有必要執(zhí)行至少兩個(gè)層次的驗(yàn)證一方面是移動(dòng)設(shè)備本身的層次,另一方面是允許操作員或第三方所建議的不同業(yè)務(wù)功能的軟件應(yīng)用的層次。這些應(yīng)用程序通??梢詮膽?yīng)用程序提供商的服務(wù)器下載,該服務(wù)器必須對(duì)這一下載進(jìn)行驗(yàn)證。這是個(gè)保證問題,即一旦該模塊已經(jīng)被控制服務(wù)器識(shí)別為可以與該模塊所插入的移動(dòng)設(shè)備一起工作,則用戶模塊只向經(jīng)過授權(quán)的應(yīng)用程序提供數(shù)據(jù)。
該已訂用的模塊可包含機(jī)密信息,如銀行帳號(hào)或密碼。在移動(dòng)設(shè)備上工作的應(yīng)用程序負(fù)責(zé)使用這些個(gè)人數(shù)據(jù),以提供給所期待的服務(wù)。然而,一個(gè)應(yīng)用程序可以將個(gè)人數(shù)據(jù)轉(zhuǎn)用作其他用途,而不僅僅是與相關(guān)應(yīng)用程序提供商進(jìn)行對(duì)話。這可能導(dǎo)致對(duì)用戶模塊所有者嚴(yán)重地侵權(quán)。
在移動(dòng)設(shè)備中執(zhí)行的這些應(yīng)用程序利用用戶模塊中的可用資源。資源被理解為不同功能和對(duì)一個(gè)應(yīng)用程序的正確功能所必需的數(shù)據(jù)。某些資源可能對(duì)于多個(gè)應(yīng)用程序來說是共用的,尤其是涉及安全性的功能。用戶模塊因此可能被封鎖或者改變某些應(yīng)用程序的功能,對(duì)于這些應(yīng)用程序,在有問題的移動(dòng)設(shè)備中并不重視由操作員和/或應(yīng)用程序提供商所建立的安全條件,或者移動(dòng)設(shè)備的用戶權(quán)限不足。
文件FR2831362描述了在提供有SIM卡的移動(dòng)電話和應(yīng)用程序服務(wù)器之間進(jìn)行安全交易的過程。該過程的目的是為了保護(hù)涉及使用從服務(wù)器通過SIM卡下載的應(yīng)用程序的權(quán)限。
根據(jù)該過程,首先通過公共密鑰的安全交換,在服務(wù)器和SIM卡之間建立信任連接,然后通過移動(dòng)設(shè)備向服務(wù)器傳輸所請求的文件,購買一個(gè)應(yīng)用程序。后者部分地或全部地對(duì)該應(yīng)用程序進(jìn)行加密,并向移動(dòng)設(shè)備發(fā)送一個(gè)由加密密鑰和命令組成的密文,全部都是由SIM卡所知的公共密鑰來進(jìn)行加密的。在移動(dòng)設(shè)備接收時(shí),該密文被解密,密鑰被存儲(chǔ)在SIM卡中。執(zhí)行命令,從而在移動(dòng)設(shè)備中下載由服務(wù)器部分或全部加密的應(yīng)用程序。一旦下載完成,該應(yīng)用程序由存儲(chǔ)在SIM卡中的密鑰進(jìn)行解密,然后安裝在移動(dòng)設(shè)備中。
根據(jù)該過程,由于最初在設(shè)備和服務(wù)器之間建立了信任連接并進(jìn)行交易,移動(dòng)設(shè)備中的該應(yīng)用程序的使用權(quán)限得到了保護(hù)。服務(wù)器所起的作用主要在于移動(dòng)設(shè)備中的應(yīng)用程序的用戶權(quán)限管理或DRM(數(shù)字權(quán)限管理)。下文中提出的解決方案基于由操作員、應(yīng)用程序提供商或者與該應(yīng)用程序相關(guān)的用戶所考慮的風(fēng)險(xiǎn)的管理(風(fēng)險(xiǎn)管理)。
本發(fā)明的目的是提出一種在下載和執(zhí)行期間對(duì)移動(dòng)設(shè)備中的應(yīng)用程序進(jìn)行認(rèn)證的方法。其限制了用戶模塊被不正當(dāng)使用、或者通過不符合特定的預(yù)定安全標(biāo)準(zhǔn)的應(yīng)用程序而被使用的風(fēng)險(xiǎn)。
另一個(gè)目的在于,保護(hù)移動(dòng)設(shè)備的用戶和相關(guān)應(yīng)用程序提供商避免由于未經(jīng)授權(quán)使用應(yīng)用程序而導(dǎo)致的濫用。
這些目的通過一種對(duì)工作在與經(jīng)由網(wǎng)絡(luò)連接至控制服務(wù)器的設(shè)備中的至少一個(gè)應(yīng)用程序的認(rèn)證方法來實(shí)現(xiàn),所述設(shè)備局部地連接至一個(gè)安全模塊,所述應(yīng)用程序通過該設(shè)備的應(yīng)用程序執(zhí)行環(huán)境被加載和/或執(zhí)行,并使用存儲(chǔ)在安全模塊的資源,包括以下主要步驟-由控制服務(wù)器經(jīng)由網(wǎng)絡(luò)接收至少包含設(shè)備的標(biāo)識(shí)符和安全模塊的標(biāo)識(shí)符的數(shù)據(jù),-由控制服務(wù)器對(duì)所述數(shù)據(jù)進(jìn)行分析和驗(yàn)證,-生成包含該應(yīng)用程序的摘要、識(shí)別設(shè)備和安全模塊的數(shù)據(jù)、以及供所述模塊使用的指令的密文,-通過網(wǎng)絡(luò)和設(shè)備將所述密文傳輸至安全模塊,-通過將從接收到的密文中提取的摘要與由安全模塊所確定的摘要進(jìn)行比較來驗(yàn)證該應(yīng)用程序。
所述方法的特征在于,在應(yīng)用程序初始化和/或激活期間,安全模塊執(zhí)行從密文中提取的指令,根據(jù)對(duì)先前所執(zhí)行的該應(yīng)用程序的驗(yàn)證結(jié)果分別釋放或封鎖對(duì)所述安全模塊的特定資源的訪問。
以所希望的方式對(duì)該安全模塊的資源進(jìn)行封鎖或釋放,其目的是使特定應(yīng)用程序可用或不可用。該移動(dòng)設(shè)備的應(yīng)用程序不直接被封鎖或釋放而是間接作用于應(yīng)用程序,也就是說封鎖或釋放效果只有當(dāng)移動(dòng)設(shè)備試圖執(zhí)行這些應(yīng)用程序時(shí)才顯現(xiàn)出來。
這個(gè)方法最好應(yīng)用于移動(dòng)網(wǎng)絡(luò),因此,例如該設(shè)備是移動(dòng)電話設(shè)備,安全模塊是用戶模塊或SIM卡。這一組件連接至GSM(全球移動(dòng)通信系統(tǒng))、GPRS(通用分組無線業(yè)務(wù))或UMTS(通用移動(dòng)遠(yuǎn)程通信系統(tǒng))等類型的移動(dòng)網(wǎng)絡(luò),由操作員的控制服務(wù)器來管理。軟件應(yīng)用程序安裝在移動(dòng)設(shè)備中,并被配置為可以使用用戶模塊中的資源(數(shù)據(jù)或功能)。因此,只有當(dāng)安全條件滿足操作員和/或應(yīng)用程序提供商所確定的標(biāo)準(zhǔn)時(shí),資源才能被全部使用。對(duì)該標(biāo)準(zhǔn)的驗(yàn)證負(fù)責(zé)控制服務(wù)器,在控制服務(wù)器發(fā)出指令后,應(yīng)用程序最后由安全模塊來負(fù)責(zé),安全模塊可以釋放或封鎖安裝在移動(dòng)設(shè)備中的應(yīng)用程序的正常工作所需的資源訪問。
這些資源數(shù)據(jù)可包含如帳號(hào)、程序(以代碼形式安裝在移動(dòng)設(shè)備中)、加密/解密密匙、對(duì)內(nèi)容的訪問權(quán)限等信息。
這些資源的功能可包括密文算法、驗(yàn)證過程、數(shù)字簽名產(chǎn)生過程、加密過程、認(rèn)證過程、數(shù)據(jù)確認(rèn)過程、訪問控制過程、數(shù)據(jù)保存過程、支付過程等。
與文件FR2831362所描述的過程不同,在下載到移動(dòng)設(shè)備中之前,應(yīng)用程序的部分或全部加密并不是必需的。實(shí)際上,根據(jù)本發(fā)明的方法,服務(wù)器與安全模塊(或用戶模塊)之間的連接以最佳方式控制其資源,決定是否開始與在移動(dòng)設(shè)備中執(zhí)行的應(yīng)用程序相關(guān)的應(yīng)用。在所引用的文件所述的方法中,由服務(wù)器所接收的命令允許控制安裝在移動(dòng)設(shè)備中的應(yīng)用程序的使用,而在本發(fā)明所述的方法中,它允許激活或不激活安全模塊資源。
例如,當(dāng)資源未被激活時(shí),應(yīng)用程序以“最小”的方式運(yùn)作,留給用戶較少的可能性。在一個(gè)實(shí)施例中,這種減少可能同授權(quán)購買服務(wù)的最高額有關(guān),另外,這些服務(wù)只能在特定的地方(購物中心,體育館,火車站,機(jī)場等)才能得到。
在第一個(gè)實(shí)施例中,在下載應(yīng)用程序期間,密文被傳輸至用戶模塊。在第二個(gè)實(shí)施例中,該應(yīng)用程序在其首次使用時(shí)請求在控制服務(wù)器上的密文。
根據(jù)本發(fā)明的認(rèn)證方法也可以在移動(dòng)設(shè)備執(zhí)行應(yīng)用程序期間采用,借助于用戶模塊,確保了該應(yīng)用程序被授權(quán)訪問包含在所述用戶模塊中的特定資源(數(shù)據(jù)或功能)。特別地,該用戶模塊在所述應(yīng)用程序執(zhí)行的過程中,有規(guī)律地驗(yàn)證應(yīng)用程序所附的密文。
例如,將一個(gè)用戶的用戶模塊插入到另一個(gè)移動(dòng)設(shè)備中將影響特定應(yīng)用程序的功能,但不阻止標(biāo)準(zhǔn)電話通信的建立。這一障礙作為過濾器,其目的是消除未經(jīng)授權(quán)的移動(dòng)設(shè)備或仿真設(shè)備、或者甚至是由未經(jīng)過操作員或合作方應(yīng)用程序提供商所批準(zhǔn)的來源所得到的應(yīng)用程序。
由第三方對(duì)應(yīng)用程序的更改也通過用戶模塊被檢測出來,用戶模塊將拒絕執(zhí)行所接收的特定指令,從而阻礙或限制應(yīng)用程序的執(zhí)行。
在管理與移動(dòng)設(shè)備/用戶模塊組件相關(guān)的信任或安全元件時(shí),控制服務(wù)器起著重要的作用。它解釋由移動(dòng)設(shè)備傳送給它的數(shù)據(jù),以根據(jù)存儲(chǔ)在用戶模塊中的資源(數(shù)據(jù)或功能)來控制或限制使用應(yīng)用程序。
從移動(dòng)設(shè)備和它的用戶模塊接收包含識(shí)別碼IMEISV和IMSI的識(shí)別信息的服務(wù)器根據(jù)特定標(biāo)準(zhǔn)確定是否需要向用戶模塊發(fā)送一個(gè)新指令,用于重新定義一個(gè)限定了能夠由移動(dòng)設(shè)備中所執(zhí)行的應(yīng)用程序所使用的用戶模塊資源的新的保護(hù)框架。該標(biāo)準(zhǔn)例如可以參考安裝在移動(dòng)設(shè)備中的軟件版本的更新,向移動(dòng)設(shè)備中下載新的應(yīng)用程序,保護(hù)框架的更新周期,網(wǎng)絡(luò)的連接數(shù)目,訪問網(wǎng)絡(luò)所使用的技術(shù),以及所使用的訪問網(wǎng)絡(luò)的身份。這些標(biāo)準(zhǔn)還涉及與所使用的硬件或軟件相關(guān)的、操作員和/或應(yīng)用程序提供商和/或用戶所考慮的不同風(fēng)險(xiǎn)。
對(duì)密文的驗(yàn)證可以在首次初始化期間或首次使用應(yīng)用程序時(shí),或者在應(yīng)用程序的每次初始化期間進(jìn)行。根據(jù)一個(gè)變化方案,這種驗(yàn)證可以根據(jù)由控制服務(wù)器所發(fā)送的指令,以給定的頻率周期性地執(zhí)行。
在向移動(dòng)設(shè)備中加載應(yīng)用程序期間,伴隨應(yīng)用程序的所附密文通常包含應(yīng)用程序本身的摘要,即借助于數(shù)學(xué)上的單向散列函數(shù)從應(yīng)用程序代碼中計(jì)算出的數(shù)據(jù)塊。
當(dāng)用戶模塊驗(yàn)證密文的有效性時(shí),它也間接識(shí)別移動(dòng)設(shè)備,并確保數(shù)據(jù)有效地來自控制服務(wù)器。換句話說,通過這種密文,控制服務(wù)器隱含地確保了用戶模塊已經(jīng)考慮了移動(dòng)設(shè)備的類型和軟件版本,應(yīng)用程序的加載已經(jīng)得到控制,應(yīng)用程序是可信的。根據(jù)事先接收到的指令,用戶模塊將確定是接受還是拒絕來自應(yīng)用程序的請求或命令。
在這個(gè)驗(yàn)證步驟中,通過在用戶模塊和控制服務(wù)器之間建立一個(gè)近似直接的對(duì)話,移動(dòng)設(shè)備起到中繼作用。因此,從始至終確保了在控制服務(wù)器和用戶模塊之間經(jīng)由移動(dòng)設(shè)備的應(yīng)用程序執(zhí)行環(huán)境來交換信息的安全性。因此后者不能“欺騙”或改變與用戶模塊相關(guān)的數(shù)據(jù)。
本發(fā)明還涉及一種安全模塊,其包含希望通過至少一個(gè)安裝在連接至網(wǎng)絡(luò)的設(shè)備中的應(yīng)用程序進(jìn)行本地訪問的資源,所述設(shè)備包含用于讀取和傳輸至少包含設(shè)備的標(biāo)識(shí)符和安全模塊的標(biāo)識(shí)符的數(shù)據(jù)的裝置,所述模塊的特征在于它包括用于對(duì)除了其他數(shù)據(jù)外還包含所述應(yīng)用程序的摘要和指令的密文進(jìn)行接收、存儲(chǔ)和分析的裝置,還包括用于驗(yàn)證所述應(yīng)用程序的裝置,以及用于提取和執(zhí)行包含在密文中、根據(jù)應(yīng)用程序的驗(yàn)證結(jié)果釋放或封鎖特定資源的指令的裝置。
這個(gè)安全模塊例如用作用戶模塊或連接至移動(dòng)設(shè)備的SIM卡。
借助于參考附圖作為非限制性示例給出的詳細(xì)說明將更好地理解本發(fā)明,即-
圖1a示出了根據(jù)第一個(gè)實(shí)施例,應(yīng)用程序安裝過程的方框圖,其中密文通過應(yīng)用程序執(zhí)行環(huán)境來傳遞。
-圖1b示出了根據(jù)圖1a所示方法的密文驗(yàn)證過程。
-圖1c示出了根據(jù)圖1a所示的方法,使用用戶模塊資源的應(yīng)用程序執(zhí)行過程。
-圖2a示出了根據(jù)第二個(gè)實(shí)施例,應(yīng)用程序安裝過程的方框圖,其中只有該應(yīng)用程序被下載。
-圖2b示出了驗(yàn)證過程,其中應(yīng)用程序根據(jù)圖2a所示的方法從控制服務(wù)器請求密文。
-圖2c示出了根據(jù)圖2a的方法,使用用戶模塊資源的應(yīng)用程序的執(zhí)行過程。
-圖3a示出了根據(jù)第三個(gè)實(shí)施例,應(yīng)用程序安裝過程的方框圖,其中只有該應(yīng)用程序被下載。
-圖3b示出了驗(yàn)證過程,其中應(yīng)用程序根據(jù)圖3a的方法從控制服務(wù)器請求密文和應(yīng)用程序摘要。
-圖3c示出了根據(jù)圖3a的方法,使用用戶模塊資源的應(yīng)用程序的執(zhí)行過程。
-圖4示出了一個(gè)密文例子的結(jié)構(gòu)。
圖1a,1b,1c,2a,2b,2c,3a,3b,3c中的方框圖示出了移動(dòng)設(shè)備組件CB用戶模塊SIM,其包含了經(jīng)由移動(dòng)網(wǎng)絡(luò)NET連接至由操作員所管理的控制服務(wù)器CSE的資源RES。這個(gè)服務(wù)器與一個(gè)或多個(gè)應(yīng)用程序提供商FA相連。
移動(dòng)設(shè)備CB包含一個(gè)或多個(gè)在執(zhí)行環(huán)境AEE下工作的軟件應(yīng)用程序APP。這些應(yīng)用程序或者來自與操作員的控制服務(wù)器CSE相連的應(yīng)用程序提供商FA,或者它們可以由移動(dòng)設(shè)備制造商初始編程。在后一種情況下,有時(shí)需要下載更新,這些更新也需要由用戶模塊SIM進(jìn)行驗(yàn)證。
根據(jù)圖1a,1b,1c所示的第一個(gè)實(shí)施例,應(yīng)用程序APP的密文CRY在應(yīng)用程序APP的安裝過程中通過應(yīng)用程序執(zhí)行環(huán)境AEE傳輸至用戶模塊SIM。
圖1a示出了安裝過程,其中移動(dòng)設(shè)備CB首先發(fā)送用作用戶模塊SIM的標(biāo)識(shí)ID的數(shù)據(jù),它由控制服務(wù)器CSE來驗(yàn)證。這個(gè)標(biāo)識(shí)ID由用戶模塊SIM的識(shí)別碼IMSI和移動(dòng)設(shè)備CB的唯一識(shí)別碼IMEISV來實(shí)現(xiàn)。然后從服務(wù)器CSE伴隨一個(gè)密文CRY下載應(yīng)用程序APP,該密文將通過執(zhí)行環(huán)境AEE傳輸給用戶模塊SIM進(jìn)行驗(yàn)證,如圖1b所示。
需要注意的是,提供商FA被操作員認(rèn)為是可靠的,也就是說,應(yīng)用程序APP得到批準(zhǔn),并以不侵害用戶和/或操作員的方式工作。
根據(jù)本發(fā)明的方法應(yīng)用于多種在不同執(zhí)行環(huán)境類型AEE下執(zhí)行的應(yīng)用程序APP。例如許多移動(dòng)電話擁有Jave應(yīng)用程序的功能,其由用作處理器和運(yùn)行環(huán)境的Jave虛擬機(jī)VM來執(zhí)行。下面的描述基于Jave應(yīng)用程序的例子。當(dāng)然,其他環(huán)境或操作系統(tǒng),如Symbian OS、Windows、Palm OS、Linux等,也可以作為應(yīng)用程序支持。
參見圖1c,在執(zhí)行期間,Jave應(yīng)用程序請求用戶模塊SIM,并通過發(fā)送該請求或命令CMD告知執(zhí)行環(huán)境AEE。執(zhí)行環(huán)境AEE計(jì)算應(yīng)用程序的摘要FIN2,將其發(fā)送至用戶模塊SIM。已經(jīng)由控制服務(wù)器CSE生成、然后與應(yīng)用程序APP一道(或單獨(dú))加載到移動(dòng)設(shè)備CB中的密文CRY被存儲(chǔ)在用戶模塊SIM中。后者首先確認(rèn)它有效地含有決定是否需要響應(yīng)應(yīng)用程序APP的請求或控制CMD所必需的數(shù)據(jù)。該數(shù)據(jù)作為權(quán)限,在加載應(yīng)用程序APP期間從控制服務(wù)器CSE下載,其允許控制應(yīng)用程序APP的操作。在缺少這些權(quán)限的情況下,應(yīng)用程序APP不能使用用戶模塊SIM的資源RES(數(shù)據(jù)或功能)。
在擁有這些權(quán)限的情況下,用戶模塊SIM通過將所存儲(chǔ)的密文CRY產(chǎn)生的摘要FIN1與和應(yīng)用程序APP相關(guān)并由應(yīng)用程序環(huán)境AEE所提供的摘要FIN2進(jìn)行比較,來驗(yàn)證由所存儲(chǔ)的密文CRY產(chǎn)生的摘要FIN1。該密文CRY可以通過用RSA類型(Rivest,Shamir,Adelman)的私有密匙加密過的數(shù)據(jù)塊的方式生成。這類如圖4所示的數(shù)據(jù)塊除了其他數(shù)據(jù)外例如還包含用戶模塊的識(shí)別碼IMSI(ID SIM)、移動(dòng)設(shè)備的識(shí)別碼IMEISV(ID CB)、應(yīng)用程序的標(biāo)識(shí)符(ID APP)、應(yīng)用程序的摘要FIN1、SIM資源標(biāo)識(shí)符(RES ID)和用于封鎖/釋放SIM資源的指令(INS RES)。這個(gè)私有密匙只由控制服務(wù)器CSE所知,而所述密匙的公共部分對(duì)于用戶模塊SIM是已知的。使用不對(duì)稱密匙的優(yōu)點(diǎn)在于產(chǎn)生密文的密匙不在控制服務(wù)器CSE的外部。
當(dāng)然,其他不對(duì)稱密匙算法,如DSA(數(shù)字算法簽名)、ECC(橢圓曲線密文),也可以代替RSA。
使用不對(duì)稱密匙算法可以是優(yōu)選的,其原因是可以簡單、快捷地進(jìn)行驗(yàn)證,降低制造和實(shí)施成本。在這種情況下,密匙對(duì)于服務(wù)器CSE和用戶模塊SIM都是已知的,例如算法IDEA(國際數(shù)據(jù)加密算法)可用于給數(shù)據(jù)塊(IMSI,IMEISV,應(yīng)用程序識(shí)別碼,應(yīng)用程序摘要,SIM資源識(shí)別碼,封鎖/釋放SIM資源的指令)進(jìn)行簽名。作為IDEA算法的替代,也可以采用如TDES(三數(shù)據(jù)加密標(biāo)準(zhǔn))和AES(高級(jí)加密標(biāo)準(zhǔn))等算法。
在這兩種非對(duì)稱和對(duì)稱的密匙方法中,用戶模塊SIM驗(yàn)證出現(xiàn)在密文CRY的不同位置處的一致性,特別是它控制應(yīng)用程序標(biāo)識(shí)符ID_APP和被授權(quán)或禁止使用其資源RES(數(shù)據(jù)或功能)的應(yīng)用程序摘要FIN1。
在一種變體中,密文CRY可包含一個(gè)計(jì)數(shù)器,用于避免重復(fù)使用提供給用戶模塊SIM所用的同一密文(重復(fù)攻擊)。實(shí)際上,兩個(gè)同一類型的應(yīng)用程序可攜帶相同的標(biāo)識(shí)符和相同的摘要FIN1。在這種情況下,用戶模塊SIM還通過與已存儲(chǔ)并規(guī)律更新的參考計(jì)數(shù)器的值進(jìn)行比較來控制上述計(jì)算器的值。
計(jì)數(shù)器的一個(gè)變體是使用由用戶模塊SIM生成的隨機(jī)變量(隨機(jī)數(shù))。這個(gè)隨機(jī)變量與發(fā)送至控制服務(wù)器CSE的數(shù)據(jù)一起傳輸。后者在響應(yīng)信息中發(fā)回這個(gè)隨機(jī)變量,用戶模塊可證實(shí)它與新的信息有關(guān)。更為普遍地,為了避免使用舊密文CRY所帶來的所有風(fēng)險(xiǎn),后者包含一個(gè)可由用戶模塊SIM預(yù)知的變量,不影響計(jì)數(shù)器或隨機(jī)變量。
在另一個(gè)變體中,借助于RSA或IDEA類型的密匙產(chǎn)生的密文CRY可以由利用共享密匙HMAC(用于信息認(rèn)證密鑰散列)由以下集合(IMSI、IMEISV、應(yīng)用程序識(shí)別碼、應(yīng)用程序摘要、SIM資源識(shí)別碼、用于封鎖/釋放SIM資源的指令)所生成的數(shù)據(jù)塊來代替。HMAC是一種信息認(rèn)證機(jī)制,使用密文散列函數(shù),如MD5(信息摘要)或SHA-1(安全散列算法),與一個(gè)公共密匙相結(jié)合。
該密匙出現(xiàn)在控制服務(wù)器CSE和用戶模塊SIM中,可以在用戶模塊SIM進(jìn)行個(gè)性化時(shí)或者在將特定資源RES安裝到用戶模塊SIM中時(shí)被加載。根據(jù)上述選項(xiàng),用戶模塊SIM的每個(gè)資源RES或資源組可與一個(gè)不同的密匙相結(jié)合,或者該密匙對(duì)于所有資源RES是全局性的,而對(duì)給定的用戶模塊SIM是唯一的。
因此,密文CRY允許用戶模塊SIM了解在用戶模塊SIM中對(duì)于相應(yīng)的移動(dòng)設(shè)備CB可釋放或封鎖的資源RES。
所使用的兩個(gè)摘要(分別為FIN1、FIN2)來確定元件,因?yàn)樗鼈兺ㄟ^移動(dòng)設(shè)備CB和用戶模塊SIM構(gòu)成了應(yīng)用程序APP的密文控制裝置。這類控制對(duì)于阻止第三方應(yīng)用程序通過給定密文CRY執(zhí)行認(rèn)證是必要的。實(shí)際上,如果密文A證明來自移動(dòng)設(shè)備A中的用戶模塊A的應(yīng)用程序A是可靠的,則需要避免另一個(gè)應(yīng)用程序B通過來自移動(dòng)設(shè)備A中的用戶模塊A的同一個(gè)密文A被不正當(dāng)驗(yàn)證的情況。
根據(jù)一個(gè)變體,包含在密文CRY中的應(yīng)用程序摘要FIN1在控制服務(wù)器CSE和用戶模塊SIM之間從始至終保持其機(jī)密性。為此,摘要FIN1通過控制服務(wù)器CSE來加密,并通過用戶模塊SIM來解密。此外,應(yīng)用程序APP可以通過以下方式為給定的加載進(jìn)行個(gè)性化,即包含在密文CRY中的摘要FIN1和由執(zhí)行環(huán)境AEE計(jì)算出的應(yīng)用程序APP的摘要FIN2保持相同,但取決于移動(dòng)設(shè)備CB的標(biāo)識(shí)。當(dāng)需要避免利用在其與用戶模塊SIM的接口可能受到危害的另一應(yīng)用程序的執(zhí)行環(huán)境中給出的摘要來驗(yàn)證第三方應(yīng)用程序的情況時(shí),這類措施是必需的。實(shí)際上,如果摘要A驗(yàn)證來自移動(dòng)設(shè)備A中的用戶模塊A的應(yīng)用程序A,則需要避免另一應(yīng)用程序B利用來自移動(dòng)設(shè)備B中的用戶模塊B的同一摘要A被不正當(dāng)?shù)仳?yàn)證。
根據(jù)另一個(gè)變體,每個(gè)應(yīng)用程序(Jave類型)伴有兩個(gè)密文用于虛擬機(jī)VM的Jave密文和用于用戶模塊SIM的密文CRY。除此之外,這兩個(gè)密文包含相同的應(yīng)用程序摘要(這里稱為FIN2),它是Java應(yīng)用程序代碼的摘要。因此,當(dāng)用戶模塊SIM必須驗(yàn)證應(yīng)用程序的密文CRY時(shí),它從虛擬機(jī)VM等待與先前有必要計(jì)算出來的有問題的應(yīng)用程序APP相關(guān)的摘要FIN2。應(yīng)用程序摘要由移動(dòng)設(shè)備CB傳輸至用戶模塊SIM。這個(gè)摘要并非來自控制服務(wù)器,它是在下載應(yīng)用程序APP之后由移動(dòng)設(shè)備CB的應(yīng)用程序執(zhí)行環(huán)境AEE計(jì)算出來的。另一方面,移動(dòng)設(shè)備CB將先前加載的密文CRY和來自控制服務(wù)器的應(yīng)用程序一起傳輸至用戶模塊。因此,后者可以驗(yàn)證通過比較所接收到的摘要。移動(dòng)設(shè)備CB不能作弊,因?yàn)樗恢烙捎脩裟KSIM接收到的摘要;如果是這樣,則必須使摘要計(jì)算的功能(通常是散列函數(shù))可逆,或者必須找到另一個(gè)給出相同密文CRY的摘要,這幾乎是不可能的。
圖1b示出了密文CRY的驗(yàn)證過程,其例如可以在每次請求相關(guān)應(yīng)用程序APP之前有規(guī)律地執(zhí)行,或者最好在其安裝或首次使用之前執(zhí)行一次。如果密文CRY是有效的,則用戶模塊SIM將一個(gè)接受信息OK傳輸至執(zhí)行環(huán)境AEE。應(yīng)用程序APP然后可通過執(zhí)行環(huán)境AEE將它的請求或命令CMD尋址到用戶模塊SIM,并使用用戶模塊SIM的資源RES。后者通過經(jīng)由執(zhí)行環(huán)境AEE發(fā)送對(duì)于應(yīng)用程序來說足夠的響應(yīng)RSP來接收這些命令CMD,參見圖1c。
在無效密文CRY的情況下,用戶模塊SIM將一個(gè)拒絕信息NOK發(fā)送到執(zhí)行環(huán)境AEE。在這種情況下,執(zhí)行環(huán)境AEE可取消應(yīng)用程序安裝過程APP,或者安裝應(yīng)用程序APP,其經(jīng)由執(zhí)行環(huán)境AEE尋址到用戶模塊SIM的請求或命令CMD沒有響應(yīng)RSP,用戶模塊SIM的資源RES將不可用。
在接受和拒絕(OK和NOK)這兩種情況下,應(yīng)用程序執(zhí)行環(huán)境AEE可以將響應(yīng)中繼傳輸至控制服務(wù)器CSE。用戶模塊可以向控制服務(wù)器CSE間接發(fā)回接收密文CRY的確認(rèn)CF,并允許從始至終控制操作,參見圖1b。所述確認(rèn)CF包含至少一個(gè)操作成功或操作錯(cuò)誤的代碼,以及用于防止重復(fù)攻擊的計(jì)數(shù)器。這個(gè)信息允許控制服務(wù)器CSE維持已被更新的、與用戶模塊SIM相關(guān)的計(jì)數(shù)器。
根據(jù)圖2a,2b,2c所示的第二個(gè)實(shí)施例,應(yīng)用程序APP只能在沒有密文CRY的情況下移動(dòng)設(shè)備CB的識(shí)別ID之后被下載,參見圖2a。
圖2b,在驗(yàn)證期間,在由用戶對(duì)其初始化時(shí),應(yīng)用程序APP請求包含所述應(yīng)用程序的資源使用權(quán)限RES的密文。這個(gè)密文CRY是由應(yīng)用程序APP從控制服務(wù)器CSE直接下載的,應(yīng)用程序?qū)⑵浣?jīng)由執(zhí)行環(huán)境AEE傳輸至用戶模塊SIM。用戶模塊SIM通過應(yīng)用程序APP而不是像第一個(gè)實(shí)施例那樣通過執(zhí)行環(huán)境AEE將密文CRY的接收確認(rèn)CF傳輸?shù)椒?wù)器CSE。這樣,執(zhí)行環(huán)境AEE在應(yīng)用程序APP和用戶模塊SIM之間只起到中繼的作用。
在密文CRY被驗(yàn)證之后,應(yīng)用程序的執(zhí)行過程以上面所述圖1c所示的第一種方法的同樣方式發(fā)生,參見圖2c。
圖3a,3b,3c示出了第三個(gè)變體,其中應(yīng)用程序APP只是在移動(dòng)設(shè)備CB的識(shí)別ID之后從控制服務(wù)器CSE或者從中間應(yīng)用程序下載服務(wù)器APP下載,參見圖3a。在驗(yàn)證過程中(圖3b),應(yīng)用程序直接從服務(wù)器CSE或者從中間應(yīng)用程序下載服務(wù)器APP加載密文CRY和摘要FIN2。在這種情況下,不像前兩個(gè)變體,應(yīng)用程序環(huán)境AEE不再計(jì)算摘要FIN2,而是由一個(gè)外部單元,由控制服務(wù)器CSE或中間應(yīng)用程序下載服務(wù)器APP來進(jìn)行計(jì)算。
在密文CRY驗(yàn)證之后,應(yīng)用程序執(zhí)行過程APP以與圖1c和2c所示的兩種先前描述的方法相同的方式發(fā)生。
這個(gè)第三實(shí)施例可以是優(yōu)選的,其優(yōu)點(diǎn)在于它不需要對(duì)執(zhí)行環(huán)境AEE進(jìn)行任何更改,因?yàn)樗壳笆菫榘惭b在移動(dòng)電話的Java應(yīng)用程序所定義的,也就是說不必對(duì)現(xiàn)有的標(biāo)準(zhǔn)進(jìn)行修改。
此外,假定密文CRY的驗(yàn)證過程和應(yīng)用程序安裝的驗(yàn)證過程是完全獨(dú)立的,則對(duì)請求使用相同摘要的兩個(gè)密文的第一變體的限制不再出現(xiàn)。
為了對(duì)在應(yīng)用程序上計(jì)算的摘要進(jìn)行個(gè)性化,可以在加載到移動(dòng)設(shè)備中之前將移動(dòng)設(shè)備每個(gè)項(xiàng)目的不同數(shù)據(jù)添加到應(yīng)用程序代碼中。因此,當(dāng)摘要由移動(dòng)設(shè)備的應(yīng)用程序環(huán)境計(jì)算時(shí),該摘要是唯一的,不能用于其他移動(dòng)設(shè)備。當(dāng)然,密文將由控制服務(wù)器基于應(yīng)用程序的最初數(shù)據(jù)和這個(gè)唯一的數(shù)據(jù)來計(jì)算。
在本發(fā)明的一個(gè)變體中,移動(dòng)設(shè)備可由固定設(shè)備,如付費(fèi)電視解碼器或計(jì)算機(jī)來代替。應(yīng)用程序可以通過電信網(wǎng)絡(luò)從一個(gè)服務(wù)器下載到設(shè)備中。與應(yīng)用程序相關(guān)的密文被存儲(chǔ)在安全模塊中,并在執(zhí)行或每次應(yīng)用程序初始化時(shí)被驗(yàn)證。這一驗(yàn)證結(jié)果通過釋放或封鎖安全模塊中的資源來控制應(yīng)用程序的功能。
權(quán)利要求
1.對(duì)工作在通過網(wǎng)絡(luò)(NET)連接至控制服務(wù)器(CSE)的設(shè)備(CB)中的至少一個(gè)應(yīng)用程序(APP)進(jìn)行認(rèn)證的方法,所述設(shè)備(CB)局部地連接至一個(gè)安全模塊(SIM),所述應(yīng)用程序(APP)通過設(shè)備(CB)的應(yīng)用程序執(zhí)行環(huán)境(AEE)被裝載和/或執(zhí)行,并使用存儲(chǔ)在安全模塊(SIM)中的資源(RES),包括以下主要步驟-由控制服務(wù)器(CSE)經(jīng)由網(wǎng)絡(luò)(NET)接收至少包含設(shè)備(CB)的識(shí)別碼(IMEISV)和安全模塊(SIM)的識(shí)別碼(IMSI)數(shù)據(jù),-由控制服務(wù)器(CSE)對(duì)所述數(shù)據(jù)進(jìn)行分析和驗(yàn)證,-生成包含應(yīng)用程序(APP)的摘要(FIN1)、識(shí)別設(shè)備(CB)和安全模塊(SIM)的數(shù)據(jù)、以及提供給所述模塊使用的指令(INSRES)的密文(CRY),-通過網(wǎng)絡(luò)(NET)和設(shè)備(CB)將所述密文(CRY)傳輸?shù)桨踩K(SIM),-通過將從接收到的密文(CRY)中提取的摘要(FIN1)與由安全模塊(SIM)所確定的摘要(FIN2)進(jìn)行比較來驗(yàn)證應(yīng)用程序(APP),所述方法的特征在于,在應(yīng)用程序(APP)初始化和/或激活期間,安全模塊(SIM)執(zhí)行從密文(CRY)中提取的指令(INS_RES),并根據(jù)先前針對(duì)該應(yīng)用程序(APP)進(jìn)行驗(yàn)證的結(jié)果分別釋放或封鎖對(duì)所述安全模塊(SIM)的特定資源(RES)的訪問。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)備是一個(gè)移動(dòng)電話的移動(dòng)設(shè)備(CB)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)(NET)是一種GSM、GPRS或UMTS類型的網(wǎng)絡(luò)。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述安全模塊(SIM)是插入到SIM卡類型的移動(dòng)電話的移動(dòng)設(shè)備(CB)中的用戶模塊。
5.根據(jù)權(quán)利要求1或4所述的方法,其特征在于,由移動(dòng)設(shè)備(CB)的識(shí)別碼(IMEISV)以及由適用于網(wǎng)絡(luò)(NET)的用戶的用戶模塊(SIM)的識(shí)別碼來實(shí)現(xiàn)對(duì)所設(shè)定的移動(dòng)設(shè)備(CB)/用戶模塊(SIM)的識(shí)別(ID)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述包含在由安全模塊(SIM)接收到的密文(CRY)中的指令根據(jù)由操作員和/或應(yīng)用程序提供商(FA)和/或設(shè)備的用戶事先所確立的標(biāo)準(zhǔn)來控制應(yīng)用程序(APP)的使用。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述的標(biāo)準(zhǔn)根據(jù)操作員所希望考慮的與所述應(yīng)用程序(APP)的軟件或者與所述設(shè)備(CB)的硬件相關(guān)的風(fēng)險(xiǎn)定義了應(yīng)用程序(APP)的使用限制。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,在第一次初始化或第一次使用所述應(yīng)用程序(APP)時(shí),驗(yàn)證帶有所述密文(CRY)的應(yīng)用程序(APP)。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)由所述控制服務(wù)器(CSE)產(chǎn)生的指令,以給定的頻率周期性地驗(yàn)證帶有所述密文(CRY)的應(yīng)用程序(APP)。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,在每次初始化設(shè)備(CB)上的所述應(yīng)用程序(APP)時(shí),驗(yàn)證帶有所述密文(CRY)的應(yīng)用程序(APP)。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,密文(CRY)借助于來自一個(gè)數(shù)據(jù)集的非對(duì)稱或?qū)ΨQ的加密密鑰來生成,所述數(shù)據(jù)集除了其他數(shù)據(jù)外還包含設(shè)備(CB)的識(shí)別碼(IMEISV)、安全模塊(SIM)的識(shí)別碼(IMSI)、應(yīng)用程序(APP)的識(shí)別碼、用單向散列函數(shù)計(jì)算出的應(yīng)用程序(APP)的摘要(FIN1)、安全模塊(SIM)資源的識(shí)別碼(RES_ID)、以及用于鎖住/釋放安全模塊(SIM)的資源的指令(INS_RES)。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,密文(CRY)包含一個(gè)由安全模塊(SIM)預(yù)知的變量,以避免重復(fù)使用同一密文(CRY),由安全模塊(SIM)通過與存儲(chǔ)在所述模塊中并規(guī)則更新的參考值進(jìn)行比較來控制所述變量的值。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述安全模塊(SIM)接收或拒絕應(yīng)用程序(APP)的密文(CRY)時(shí),安全模塊(SIM)通過所述設(shè)備(CB)和網(wǎng)絡(luò)(NET)將一個(gè)確認(rèn)信息(CF)傳輸給所述控制服務(wù)器(CSE)。
14.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述應(yīng)用程序(APP)通過應(yīng)用程序執(zhí)行環(huán)境(AEE)被加載到所述設(shè)備(CB)中的同時(shí),所述密文(CRY)被傳輸至安全模塊(SIM)。
15.根據(jù)權(quán)利要求1所述的方法,其特征在于,一旦所述應(yīng)用程序(APP)經(jīng)由所述網(wǎng)絡(luò)(NET)從所述控制服務(wù)器(CSE)被加載到所述設(shè)備(CB)中,則所述應(yīng)用程序(APP)在其初始化時(shí)從所述服務(wù)器(CSE)請求一個(gè)密文(CRY),并將所述密文(CRY)傳輸至所述安全模塊(SIM),密文(CRY)被接受或拒絕的確認(rèn)信息(CF)由安全模塊(SIM)通過應(yīng)用程序(APP)被傳輸至服務(wù)器。
16.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)備是與安全模塊相連接的付費(fèi)電視解碼器或計(jì)算機(jī)。
17.一種安全模塊,其包含希望由安裝在連接至網(wǎng)絡(luò)(NET)的設(shè)備(CB)中的至少一個(gè)應(yīng)用程序(APP)進(jìn)行本地訪問的資源(RES),所述設(shè)備(CB)包括用于讀取和傳輸至少包含設(shè)備(CB)的識(shí)別碼(IMEISV)和安全模塊(SIM)的識(shí)別碼(IMSI)的數(shù)據(jù)的裝置,所述模塊的特征在于,它包括用于對(duì)一個(gè)除了其他數(shù)據(jù)外還包含所述應(yīng)用程序(APP)的摘要(FIN1)和指令(INS_RES)的密文(CRY)進(jìn)行接收、存儲(chǔ)和分析的裝置,還包括用于驗(yàn)證所述應(yīng)用程序(APP)的裝置,以及用于提取和執(zhí)行包含在所述密文(CRY)中的、根據(jù)應(yīng)用程序(APP)的驗(yàn)證結(jié)果釋放或封鎖特定資源(RES)的指令(INS_RES)的裝置。
18.根據(jù)權(quán)利要求17所述的安全模塊,其特征在于,它是希望連接到一個(gè)移動(dòng)設(shè)備的“用戶模塊”或“SIM卡”類型。
全文摘要
本發(fā)明涉及一種借助于和移動(dòng)設(shè)備相關(guān)的安全模塊所執(zhí)行的、對(duì)應(yīng)用程序的安全性進(jìn)行管理的方法。本發(fā)明的方法對(duì)工作在經(jīng)由網(wǎng)絡(luò)(NET)連接到控制服務(wù)器(CSE)的設(shè)備(CB)中的至少一個(gè)應(yīng)用程序(APP)進(jìn)行認(rèn)證,所述設(shè)備(CB)局部地連接至安全模塊(SIM),所述應(yīng)用程序(APP)通過設(shè)備(CB)的應(yīng)用程序執(zhí)行環(huán)境(AEE)被裝載和/或執(zhí)行,使用存儲(chǔ)在安全模塊的資源(RES),包括以下主要步驟由控制服務(wù)器(CSE)經(jīng)由網(wǎng)絡(luò)(NET)接收至少包含設(shè)備(CB)的識(shí)別碼(IMEISV)和安全模塊(SIM)的識(shí)別碼(IMSI)的數(shù)據(jù);由控制服務(wù)器(CSE)對(duì)所述數(shù)據(jù)進(jìn)行分析和驗(yàn)證;生成包含應(yīng)用程序(APP)摘要(FIN1)、識(shí)別設(shè)備(CB)和安全模塊(SIM)的數(shù)據(jù)、以及用于所述模塊的指令(INS RES)的密文(CRY);經(jīng)由網(wǎng)絡(luò)(NET)和設(shè)備(CB)將所述密文(CRY)傳輸至安全模塊(SIM);通過將從接收到的密文(CRY)中提取的摘要(FIN1)與由安全模塊(SIM)所確定的摘要(FIN2)進(jìn)行比較來驗(yàn)證應(yīng)用程序(APP)。所述方法的特征在于,在應(yīng)用程序(APP)初始化和/或激活期間,安全模塊(SIM)執(zhí)行從密文(CRY)中提取的指令(INS RES),并根據(jù)先前針對(duì)所述應(yīng)用程序(APP)的運(yùn)行驗(yàn)證結(jié)果分別釋放或封鎖對(duì)所述安全模塊(SIM)的特定資源(RES)的訪問。
文檔編號(hào)H04L29/06GK1886963SQ200480034606
公開日2006年12月27日 申請日期2004年11月26日 優(yōu)先權(quán)日2003年11月27日
發(fā)明者雷查德·克桑迪尼, 雷納托·坎迪尼 申請人:納格拉卡德股份有限公司