專利名稱:移動通信終端的軟件認(rèn)證裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通信終端的軟件認(rèn)證相關(guān)的技術(shù),尤其涉及一種移動通信終端的軟件認(rèn)證裝置及其方法,在本發(fā)明中,針對下載到移動通信終端的軟件在安裝之前確認(rèn)源代碼的完整性(integrity),從而可確認(rèn)軟件是否感染病毒等情況。
背景技術(shù):
一般的移動通信終端中除了具有語音為主的通信裝置功能以外,還可執(zhí)行基于HDML(Handheld Device Markup Language-手持設(shè)備標(biāo)記語言)、WML(Wireless Markup Language-無線標(biāo)記語言)、WAP(Wireless ApplicationProtocol-無線應(yīng)用協(xié)議)的多種在線服務(wù)、電子詞典功能及導(dǎo)航功能等。
上述作為移動通信終端的增值功能使用的軟件,其隨著時間的經(jīng)過而始終得到發(fā)展并將更新為新版本的軟件。
由此,為了增加移動通信終端的增值功能或更新當(dāng)前使用中的增值功能,經(jīng)常發(fā)生將用于執(zhí)行相應(yīng)服務(wù)功能的軟件通過通信網(wǎng)或有線、無線近距離通信接口進(jìn)行下載并安裝在移動通信終端中。
圖1是通過移動通信終端的通信網(wǎng)進(jìn)行軟件下載的系統(tǒng)的一例,其圖示出用于通過移動通信終端提供在線JAVA游戲服務(wù)的系統(tǒng)的結(jié)構(gòu)示意圖。
如圖1所示,在通過移動通信終端1提供再現(xiàn)JAVA游戲服務(wù)的系統(tǒng)中,可驅(qū)動JAVA游戲的移動通信終端和使上述執(zhí)行JAVA游戲的移動通信終端可連接JAVA游戲及執(zhí)行在線游戲的WAP服務(wù)器(WAP serverWirelessApplication Protocol server)6通過通信網(wǎng)30連接構(gòu)成。
上述移動通信終端中內(nèi)置有用于連接到WAP服務(wù)器并執(zhí)行數(shù)據(jù)通信的WAP瀏覽器(WAP browser)2;用于管理JAVA游戲的驅(qū)動的JAVA應(yīng)用管理程序(JAMJAVA Application Manager)3;用于執(zhí)行JAVA游戲的JAVA虛擬器(JVMJAVA Virtual Machine)4。
其中,上述WAP瀏覽器2使移動通信終端連接到WAP服務(wù)器并可下載JAVA程序,上述JAM(3)執(zhí)行與通過WAP瀏覽器下載的JAVA程序?qū)?yīng)的編譯(compile)操作并將其安裝在移動通信終端中,JAVA虛擬器(JVM)4則讀取上述編譯的JAVA程序的代碼(code)使用戶執(zhí)行JAVA游戲。
上述WAP服務(wù)器6中包含有用于向移動通信終端提供WAP連接服務(wù)的WAP管理部7;用于管理移動通信終端的在線游戲相關(guān)的連接及游戲中的多個移動通信終端之間的游戲維持及個人信息數(shù)據(jù)的收發(fā)操作的游戲管理部8;用于管理用戶信息的用戶數(shù)據(jù)庫9。
在上述JAVA游戲服務(wù)提供系統(tǒng)中,移動通信終端連接到WAP服務(wù)器下載JAVA程序并安裝后,將可執(zhí)行基于通信網(wǎng)的在線JAVA游戲服務(wù)或終端單機的脫機JAVA游戲。
但是,在上述現(xiàn)有技術(shù)的移動通信終端的軟件下載過程中,移動通信終端只能通過通信網(wǎng)從服務(wù)器或是通過有線、無線近距離無線通信接口從計算機,以及可通過外置型存儲器等移動式存儲裝置下載所需的軟件,其將無法對相應(yīng)軟件進(jìn)行驗證操作。
即,現(xiàn)有技術(shù)中的移動通信終端在通過通信網(wǎng)下載所需的軟件并進(jìn)行安裝時,將無法確認(rèn)相應(yīng)軟件是否被移動通信終端的蠕蟲病毒(worm virus)等病毒程序或用于泄漏個人信息的黑客程序等感染。并且,在安裝了被病毒感染的軟件的情況下,移動通信終端自身沒有病毒檢索功能,一般用戶將無法確認(rèn)自己的移動通信終端是否被病毒感染。
由此,現(xiàn)有技術(shù)中的移動通信終端將以無設(shè)防的狀態(tài)向病毒程序露出,使將導(dǎo)致移動通信終端因上述病毒程序進(jìn)行誤操作。更嚴(yán)重的情況下,外部的他人將可通過軟件中包含的病毒程序容易獲取移動通信終端中的個人信息,從而無法向用戶提供值得信賴的安全性能。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種移動通信終端的軟件認(rèn)證裝置及其方法,在本發(fā)明中,在通過移動通信終端下載軟件的情況下,添加用于確認(rèn)與相應(yīng)軟件對應(yīng)的代碼是否變更的散列(hash)值、校驗和(checksum)等認(rèn)證信息,從而通過移動通信終端確認(rèn)軟件代碼的完整性的操作可檢測出被病毒等感染的軟件。
為實現(xiàn)上述目的,本發(fā)明中的移動通信終端的軟件認(rèn)證裝置,其特征在于,包含有如下幾個部分用于存儲通過通信網(wǎng)或有線、無線近距離通信接口下載的軟件和與上述軟件相關(guān)的認(rèn)證信息的終端存儲部;在安裝上述終端存儲部中存儲的軟件之前,通過利用上述認(rèn)證信息檢測上述軟件的代碼變更與否而驗證軟件的完整性的軟件認(rèn)證部。
并且,為實現(xiàn)上述目的,本發(fā)明中的移動通信終端的軟件認(rèn)證裝置,其特征在于,包含有移動通信終端和軟件提供服務(wù)器,其中,上述移動通信終端中設(shè)置有通過通信網(wǎng)連接到軟件提供服務(wù)器或是通過近距離通信方式連接到外部的計算機裝置并下載軟件和上述軟件的認(rèn)證信息的終端通信接口部;用于存儲上述軟件和軟件認(rèn)證信息的終端存儲部;在安裝上述終端存儲部中存儲的軟件之前,通過利用上述認(rèn)證信息檢測上述軟件的代碼變更與否而驗證軟件的完整性的軟件認(rèn)證部,上述軟件提供服務(wù)器中設(shè)置有用于控制上述移動通信終端的連接及軟件下載操作的服務(wù)器通信接口部;用于生成與上述軟件對應(yīng)的認(rèn)證信息的軟件認(rèn)證信息生成部;用于存儲上述軟件和與上述軟件對應(yīng)的認(rèn)證信息的服務(wù)器存儲部。
并且,為實現(xiàn)上述目的,本發(fā)明中的移動通信終端的軟件認(rèn)證方法,其特征在于,包含有如下幾個步驟生成用于驗證移動通信終端軟件的完整性的認(rèn)證信息的認(rèn)證信息生成步驟;分配上述軟件和上述認(rèn)證信息的軟件分配步驟;利用與上述軟件對應(yīng)的認(rèn)證信息檢測上述軟件代碼的完整性與否的軟件認(rèn)證步驟。
并且,上述認(rèn)證信息生成步驟中還可包含有利用密鑰對上述認(rèn)證信息進(jìn)行加密的加密步驟;生成具有與上述密鑰對應(yīng)的公鑰(public key)的認(rèn)證書的認(rèn)證書生成步驟。
并且,在上述軟件分配步驟中,將分配上述軟件和通過上述密鑰進(jìn)行加密的認(rèn)證信息及具有與上述密鑰對應(yīng)的公鑰的認(rèn)證書。此外,上述軟件分配步驟中還可包含有針對上述軟件的扣費的扣費處理步驟。
并且,上述軟件認(rèn)證步驟中還包含有利用上述認(rèn)證書的公鑰對上述加密的認(rèn)證信息進(jìn)行解密的解密步驟。并且,在上述軟件認(rèn)證步驟的結(jié)果當(dāng)軟件變更的情況下,若在軟件分配步驟中執(zhí)行扣費處理時,通過向軟件提供服務(wù)器傳送軟件的完整性未得到認(rèn)證,將執(zhí)行取消針對軟件的扣費處理的扣費取消步驟。
其中,上述認(rèn)證信息將可指定為基于預(yù)指定的散列函數(shù)的上述軟件代碼的散列值,并且,上述散列值可通過密鑰進(jìn)行加密。在此情況下,為了向用戶分配通過上述密鑰進(jìn)行加密的散列值和與上述密鑰對應(yīng)的公鑰,上述認(rèn)證信息中將包含具有上述公鑰的認(rèn)證書。
上述散列函數(shù)可通過軟件的下載操作一同提供,或是可使用通常較為熟知的散列函數(shù)。在此,在使用通常較為熟知的散列函數(shù)的情況下,使用的散列函數(shù)將預(yù)先存儲在移動通信終端和軟件提供服務(wù)器中。
在如上所述利用通常較為熟知的散列函數(shù)的情況下,軟件提供服務(wù)器在每次發(fā)生軟件下載操作時生成散列值并分配軟件,或是針對每個軟件預(yù)先生成散列值并添加后分配上述包含有散列值的軟件。此外,在發(fā)生軟件的下載操作時,移動通信終端將利用預(yù)先存儲的散列函數(shù)并檢測出散列值。
在上述本發(fā)明中,上述認(rèn)證信息并非限定于散列值,只要如CRC(CycleRedundancy Check-循環(huán)冗余校驗)那樣檢測出比特列的錯誤的方法等可通過校驗和(checksum)檢測出源代碼的變更與否,其任何將可作為認(rèn)證信息使用。
采用本發(fā)明,針對移動通信終端中執(zhí)行的軟件在安裝或驅(qū)動軟件之前,通過可確認(rèn)相應(yīng)軟件的源代碼的變更與否的認(rèn)證信息對軟件的完整性進(jìn)行驗證,使通過上述操作確認(rèn)其是否感染病毒等,從而可防止移動通信終端被惡性病毒等感染并提高移動通信終端用戶的個人信息的安全性。
圖1是現(xiàn)有技術(shù)中的JAVA游戲服務(wù)提供系統(tǒng)的一例的結(jié)構(gòu)框圖;圖2是本發(fā)明中的移動通信終端的軟件認(rèn)證裝置的結(jié)構(gòu)框圖;圖3是本發(fā)明中的移動通信終端的軟件認(rèn)證方法詳細(xì)處理過程的流程圖;圖4是作為本發(fā)明一實施例的采用本發(fā)明的JAVA游戲服務(wù)系統(tǒng)的結(jié)構(gòu)框圖。
其中,附圖標(biāo)記1、10、100移動通信終端2、101WAP瀏覽器3JAM 4JVM
5存儲部 6WAP服務(wù)器7WAP管理部8、202游戲管理部9、203用戶數(shù)據(jù)庫 11終端通信接口部12軟件認(rèn)證部 13終端存儲部20軟件提供服務(wù)器 21服務(wù)器通信接口部22軟件認(rèn)證信息生成部 23服務(wù)器存儲部102JAVA執(zhí)行部 103JAVA源認(rèn)證部200JAVA游戲服務(wù)器 204JAVA源認(rèn)證信息生成部205服務(wù)器存儲部具體實施方式
下面參照附圖對本發(fā)明進(jìn)行更為詳細(xì)的說明。
本發(fā)明可通過移動通信終端自身實現(xiàn),與此不同,本發(fā)明還可由移動通信終端10和通過通信網(wǎng)30提供軟件的軟件提供服務(wù)器20構(gòu)成。
在本發(fā)明通過移動通信終端自身實現(xiàn)的情況下,如圖2所示,上述移動通信終端中包含有用于存儲通過通信網(wǎng)30或有線、無線近距離終端通信接口部11下載的軟件和與上述軟件對應(yīng)的認(rèn)證信息的終端存儲部13;在安裝上述終端存儲部13中存儲的軟件之前,通過利用上述認(rèn)證信息檢測出上述軟件的代碼變更與否而驗證軟件的完整性的軟件認(rèn)證部12。
此外,在本發(fā)明由移動通信終端10和通過通信網(wǎng)30提供軟件的軟件提供服務(wù)器20構(gòu)成的情況下,本發(fā)明中可包含有移動通信終端10和軟件提供服務(wù)器20,其中,上述移動通信終端10中設(shè)置有通過通信網(wǎng)30連接到軟件提供服務(wù)器20或是通過近距離通信方式連接到外部的計算機裝置并下載軟件和上述軟件的認(rèn)證信息的終端通信接口部11;用于存儲上述軟件和軟件認(rèn)證信息的終端存儲部13;在安裝上述終端存儲部13中存儲的軟件之前,通過利用上述認(rèn)證信息檢測上述軟件的代碼變更與否而驗證軟件的完整性的軟件認(rèn)證部12,上述軟件提供服務(wù)器20中設(shè)置有用于控制上述移動通信終端10通過通信網(wǎng)30的連接及軟件下載操作的服務(wù)器通信接口部21;用于生成與上述軟件對應(yīng)的認(rèn)證信息的軟件認(rèn)證信息生成部22;用于存儲上述軟件和與上述軟件對應(yīng)的認(rèn)證信息的服務(wù)器存儲部23。
在如上所述的結(jié)構(gòu)中,上述終端通信接口部11中可包含有如下結(jié)構(gòu)中的至少一個以上通過射頻部(圖中未示)和通信網(wǎng)30連接到軟件提供服務(wù)器20后,檢索上述軟件提供服務(wù)器20中存儲的存儲信息并可進(jìn)行下載的WAP瀏覽器;用于提供與用戶計算機的近距離通信的紅外線通信裝置、藍(lán)牙、串行通信裝置和用于提供用戶接口(interface)的近距離通信裝置;外置型存儲器接口。
即,上述移動通信終端10可利用終端通信接口部11連接到軟件提供服務(wù)器20或用戶的外部計算機裝置,或是通過外置型存儲器下載軟件和軟件認(rèn)證信息。
當(dāng)輸入有下載到移動通信終端的軟件的驅(qū)動信號的情況下,上述軟件認(rèn)證部12利用終端存儲部13中存儲的散列函數(shù)或下載軟件時一同提供的散列函數(shù)求出軟件的散列值并與認(rèn)證信息中包含的散列值進(jìn)行比較,使通過檢查軟件的完整性而對軟件進(jìn)行驗證。其中,當(dāng)軟件中包含的散列值通過密鑰進(jìn)行加密的情況下,上述軟件認(rèn)證部12還將執(zhí)行利用與上述軟件對應(yīng)的認(rèn)證書中包含的公鑰對上述加密的散列值進(jìn)行解密的過程。
上述終端存儲部13中存儲有下載到移動通信終端的軟件和與下載的軟件對應(yīng)的認(rèn)證信息,上述認(rèn)證信息由與上述軟件對應(yīng)的散列值、具有與對散列值進(jìn)行加密的密鑰對應(yīng)的公鑰的認(rèn)證書,以及用于上述軟件的散列操作的散列函數(shù)等信息構(gòu)成,但是本發(fā)明并非限定于此,只要能確認(rèn)上述軟件代碼的變更與否,其可將任何信息作為認(rèn)證信息使用。
上述服務(wù)器通信接口部21用于提供基于移動通信終端的通信網(wǎng)30的連接及數(shù)據(jù)下載,其可由WAP服務(wù)器引擎(engine)等構(gòu)成。即,當(dāng)存在有移動通信終端的連接操作時,上述服務(wù)器通信接口部21使移動通信終端用戶可檢索軟件提供服務(wù)器20中存儲的信息,并在檢索出的信息中請求下載特定軟件時,將從服務(wù)器存儲部23中讀取軟件和軟件認(rèn)證信息并傳送給移動通信終端。此外,在需要針對軟件進(jìn)行扣費操作的情況下,將使移動通信終端用戶輸入扣費操作中需要的信息并執(zhí)行扣費處理。并且,當(dāng)從下載軟件的移動通信終端接收到下載的軟件變更的信號時,將取消針對相應(yīng)軟件執(zhí)行的扣費處理。
上述軟件認(rèn)證信息生成部22用于生成作為將分配給移動通信終端的軟件相關(guān)的認(rèn)證信息的散列值,通過密鑰對生成的散列值進(jìn)行加密操作,生成具有與密鑰對應(yīng)的公鑰的認(rèn)證書,以及將上述生成的信息存儲在服務(wù)器存儲部23等功能。
上述服務(wù)器存儲部23中存儲軟件和用于生成軟件的散列值的散列函數(shù)、與軟件對應(yīng)的散列值、用于加密操作的密鑰、公鑰及具有公鑰的認(rèn)證書。
在具有如上結(jié)構(gòu)的本發(fā)明中,當(dāng)向移動通信終端分配軟件時,將在軟件中包含針對上述軟件的利用特定散列函數(shù)的散列值并進(jìn)行分配,移動通信終端通過上述散列函數(shù)對軟件執(zhí)行散列操作并計算出散列值后,將其與分配軟件時提供的散列值進(jìn)行比較并確認(rèn)軟件代碼的變更與否,從而可確認(rèn)軟件中是否存在病毒、黑客程序。
圖3是本發(fā)明中的移動通信終端的軟件認(rèn)證方法詳細(xì)處理過程的流程圖。
如圖3所示,在本發(fā)明知,當(dāng)有將通過通信網(wǎng)或近距離通信網(wǎng)向移動通信終端分配的軟件時,首先生成與需要分配的軟件對應(yīng)的認(rèn)證信息。其中,上述認(rèn)證信息由指定針對相應(yīng)軟件的散列函數(shù)并通過指定的散列函數(shù)獲取的軟件代碼的散列值等構(gòu)成,生成軟件散列值(步驟S1)。
當(dāng)需要對散列值等認(rèn)證信息進(jìn)行加密的情況下,利用密鑰對散列值進(jìn)行加密操作,生成具有與密鑰對應(yīng)的公鑰的認(rèn)證書后將其添加到認(rèn)證信息中。其中,認(rèn)證信息將是如上所述的通過預(yù)先指定的散列函數(shù)獲取的軟件代碼的散列值,并在執(zhí)行加密操作的情況下將包含加密化的散列值和具有公鑰的認(rèn)證書。此外,在散列函數(shù)未公開的情況下將還包含上述散列函數(shù)(認(rèn)證書生成步驟),即利用密鑰進(jìn)行加密后生成具有公鑰的認(rèn)證書(步驟S2)。
上述S1或S1及S2步驟將構(gòu)成認(rèn)證信息生成步驟。
在如上所述生成與軟件對應(yīng)的認(rèn)證信息后,當(dāng)需要分配上述軟件時,將一同分配與上述軟件對應(yīng)的認(rèn)證信息。此時,上述軟件和認(rèn)證信息將通過通信網(wǎng)下載的方式直接分配到移動通信終端,或是通過光盤(compact disk)、硬盤(hard disk)、軟盤(floppy disk)等移動存儲裝置利用計算機和近距離通信裝置下載到移動通信終端,或是通過外置型存儲器進(jìn)行分配(軟件分配步驟),即分配軟件(源、加密散列值、認(rèn)證書)(步驟S3)。
在通過上述方式下載到軟件和軟件認(rèn)證信息的移動通信終端10將軟件和軟件認(rèn)證信息存儲在存儲部后,在軟件的安裝等初始執(zhí)行時點利用軟件認(rèn)證信息檢測出軟件的代碼變更與否并執(zhí)行確認(rèn)軟件的完整性的認(rèn)證操作。其中,在用于獲取執(zhí)行軟件認(rèn)證操作中需要的散列值的散列函數(shù)公開的情況下,上述散列函數(shù)將預(yù)先存儲在移動通信終端中,但若未公開的情況下,將在上述軟件分配步驟中一同分配給移動通信終端。由此,移動通信終端的軟件認(rèn)證部12將利用軟件中指定的散列函數(shù)生成與存儲的軟件對應(yīng)的散列值。
此時,當(dāng)散列值被加密的情況下,移動通信終端的軟件認(rèn)證部12還將執(zhí)行利用認(rèn)證書中包含的公鑰對加密的散列值進(jìn)行解密的步驟,即從認(rèn)證書提取出公鑰后對散列值進(jìn)行解密并檢測出源散列值(步驟S4)。
在S4步驟以后,移動通信終端的軟件認(rèn)證部12將下載軟件時提供的散列值與下載到的軟件代碼中采用散列函數(shù)而獲得的散列值進(jìn)行比較,即判斷解密散列值與源散列值是否相等?(步驟S5)。
在上述S5步驟中比較的結(jié)果當(dāng)散列值一致時,其表示相應(yīng)軟件的代碼未發(fā)生變更,使將判斷為不存在病毒等的感染而安裝或驅(qū)動軟件,即執(zhí)行軟件(步驟S6)。
此外,在上述S5步驟中比較的結(jié)果當(dāng)散列值不一致時,其表示相應(yīng)軟件的代碼發(fā)生變更,使將判斷為被病毒等感染并刪除下載的軟件。并且,若在此過程中發(fā)生針對軟件的扣費操作的情況下,還將執(zhí)行向軟件提供服務(wù)器傳送用于提示下載的軟件發(fā)生變更的信號,使軟件提供服務(wù)器取消扣費操作的扣費取消步驟,即刪除軟件(步驟S7)。
<實施例>
下面對移動通信終端的在線JAVA游戲服務(wù)中采用的本發(fā)明的實施例進(jìn)行說明。
如圖4所示,在提供給移動通信終端的在線JAVA游戲服務(wù)的情況的在線JAVA游戲服務(wù)提供系統(tǒng)中,其由至少一個以上的移動通信終端100和JAVA游戲服務(wù)器200通過通信網(wǎng)30連接構(gòu)成,其中,上述至少一個以上的移動通信終端100連接到JAVA游戲服務(wù)器200下載JAVA游戲相關(guān)的JAVA源代碼和JAVA源認(rèn)證信息并對JAVA源代碼進(jìn)行認(rèn)證后,對上述認(rèn)證的JAVA源代碼進(jìn)行編譯(compile)并接收在線JAVA游戲服務(wù);上述JAVA游戲服務(wù)器200向上述移動通信終端100提供用于JAVA游戲服務(wù)的JAVA源代碼和用于JAVA源認(rèn)證的認(rèn)證信息后提供JAVA游戲服務(wù)。
在上述結(jié)構(gòu)中,上述移動通信終端中包含有如下幾個部分通過無線因特網(wǎng)連接到JAVA游戲服務(wù)器200并下載JAVA源代碼和JAVA源認(rèn)證信息的WAP瀏覽器101;由對下載的JAVA源代碼執(zhí)行編譯操作的JAVA應(yīng)用管理程序(JAM)和執(zhí)行編譯的JAVA程序的JAVA虛擬器(JVM)構(gòu)成的JAVA執(zhí)行部102;利用下載的JAVA源認(rèn)證信息執(zhí)行編譯之前的JAVA源代碼的變更與否的認(rèn)證操作的JAVA源認(rèn)證部103;用于存儲下載到的JAVA源代碼和JAVA源認(rèn)證信息及根據(jù)需要而預(yù)先存儲的散列函數(shù)的終端存儲部104。
此外,上述JAVA游戲服務(wù)器200中包含有如下幾個部分用于提供移動通信終端100的無線因特網(wǎng)連接服務(wù),并提供將移動通信終端100選擇的JAVA源代碼和JAVA源認(rèn)證信息傳送給移動通信終端等WAP服務(wù)的WAP管理部201;用于管理上述移動通信終端100中執(zhí)行的在線JAVA游戲相關(guān)的服務(wù)器端的JAVA游戲的驅(qū)動,并以通過在線游戲用戶之間的游戲執(zhí)行而產(chǎn)生的數(shù)據(jù)信息為媒介執(zhí)行在線游戲的游戲管理部202;用于存儲接收上述游戲服務(wù)的用戶的信息的用戶數(shù)據(jù)庫203;用于生成與提供給移動通信終端100的JAVA源代碼對應(yīng)的散列值,并根據(jù)需要而利用密鑰對與JAVA源代碼對應(yīng)的散列值進(jìn)行加密后,生成具有與密鑰對應(yīng)的公鑰的認(rèn)證書的JAVA源認(rèn)證信息生成部204;用于存儲上述JAVA源代碼、JAVA源認(rèn)證信息、具有公鑰信息的認(rèn)證書及散列函數(shù)的服務(wù)器存儲部205。
在具有如上結(jié)構(gòu)的本發(fā)明一實施例中的移動通信終端的在線JAVA游戲服務(wù)系統(tǒng)的情況下,JAVA游戲服務(wù)器200中存儲有用于JAVA游戲的JAVA源代碼,并在通過通信網(wǎng)300連接的移動通信終端100請求進(jìn)行下載時,將上述存儲的JAVA源代碼傳送給移動通信終端,并在通過移動通信終端中驅(qū)動的JAVA程序請求提供在線游戲服務(wù)時,將向移動通信終端提供在線JAVA游戲服務(wù)。
執(zhí)行上述動作的JAVA游戲服務(wù)器200針對需要傳送給移動通信終端的JAVA源代碼將通過預(yù)先指定的散列函數(shù)或存儲的散列函數(shù)生成散列值,并將其作為與JAVA源代碼對應(yīng)的JAVA源認(rèn)證性能提供給移動通信終端。其中,上述作為JAVA源認(rèn)證信息的散列值可通過密鑰進(jìn)行加密,在此情況下,上述JAVA游戲服務(wù)器200將生成具有與密鑰對應(yīng)的公鑰的認(rèn)證書并提供給移動通信終端。
在上述服務(wù)器提供的作為JAVA源認(rèn)證信息的散列值、散列函數(shù)、認(rèn)證書等將在下載JAVA源代碼時生成并提供給移動通信終端,或是預(yù)先生成并存儲在服務(wù)器存儲部205后,在下載JAVA源代碼時一同傳送給移動通信終端。
此外,圖4的移動通信終端100在從JAVA游戲服務(wù)器200下載JAVA源代碼的情況下,將一同下載到包含有散列值和根據(jù)需要而包含認(rèn)證書的散列函數(shù)的JAVA源認(rèn)證信息。并且,移動通信終端100的JAVA源認(rèn)證部103在對JAVA源代碼的編譯操作之前,利用散列函數(shù)求出與JAVA源代碼對應(yīng)的散列值后,將其與和JAVA源代碼一同提供的作為認(rèn)證信息的散列值進(jìn)行比較。在此過程中,當(dāng)散列值通過密鑰進(jìn)行加密的情況下,將執(zhí)行利用認(rèn)證書中包含的公鑰進(jìn)行解密的過程。
在執(zhí)行上述過程后,當(dāng)JAVA游戲服務(wù)器200提供的JAVA源代碼的散列值與移動通信終端100的JAVA源認(rèn)證部103中生成的JAVA源代碼的散列值一致的情況下,其表示JAVA源代碼中未發(fā)生變更,使將判斷為沒有感染病毒等并執(zhí)行編譯操作。
此外,當(dāng)JAVA游戲服務(wù)器200提供的JAVA源代碼的散列值與移動通信終端100的JAVA源認(rèn)證部103中生成的JAVA源代碼的散列值不一致的情況下,其表示JAVA源代碼中發(fā)生變更,使將判斷為感染病毒等并刪除下載的JAVA源代碼。并且,當(dāng)執(zhí)行了針對下載的JAVA源代碼的扣費操作的情況下,刪除JAVA源代碼的同時還執(zhí)行將扣費取消信息傳送給JAVA游戲服務(wù)器200并使取消扣費操作的扣費取消過程。
通過如上所述的過程,將可對在線下載的JAVA源代碼的完整性進(jìn)行驗證。
發(fā)明效果在本發(fā)明中,針對移動通信終端中執(zhí)行的軟件在安裝或驅(qū)動軟件之前,通過可確認(rèn)相應(yīng)軟件的源代碼的變更與否的認(rèn)證信息對軟件的完整性進(jìn)行驗證,使通過上述操作確認(rèn)其是否感染病毒等,從而可防止移動通信終端被惡性病毒等感染并提高移動通信終端用戶的個人信息的安全性。
當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的普通技術(shù)人員當(dāng)可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種移動通信終端的軟件認(rèn)證裝置,其特征在于,包含有如下幾個部分用于存儲下載的軟件和與上述軟件相關(guān)的認(rèn)證信息的終端存儲部;在安裝上述終端存儲部中存儲的軟件之前,通過利用上述認(rèn)證信息檢測上述軟件的代碼變更與否而驗證軟件的完整性的軟件認(rèn)證部。
2.根據(jù)權(quán)利要求1所述的移動通信終端的軟件認(rèn)證裝置,其特征在于,上述認(rèn)證信息是針對上述軟件的通過預(yù)先指定的散列函數(shù)獲取的散列值。
3.根據(jù)權(quán)利要求1所述的移動通信終端的軟件認(rèn)證裝置,其特征在于,上述認(rèn)證信息是通過密鑰進(jìn)行加密的上述散列值和具有與上述密鑰對應(yīng)的公鑰的認(rèn)證書信息。
4.根據(jù)權(quán)利要求1所述的移動通信終端的軟件認(rèn)證裝置,其特征在于,上述軟件是JAVA源代碼。
5.一種移動通信終端的軟件認(rèn)證裝置,其特征在于,包含有移動通信終端和軟件提供服務(wù)器,其中,上述移動通信終端中設(shè)置有通過通信網(wǎng)連接到軟件提供服務(wù)器或是通過近距離通信方式連接到外部的計算機裝置并下載軟件和上述軟件的認(rèn)證信息的終端通信接口部;用于存儲上述軟件和軟件認(rèn)證信息的終端存儲部;在安裝上述終端存儲部中存儲的軟件之前,通過利用上述認(rèn)證信息檢測上述軟件的代碼變更與否而驗證軟件的完整性的軟件認(rèn)證部,上述軟件提供服務(wù)器中設(shè)置有用于控制上述移動通信終端的連接及軟件下載操作的服務(wù)器通信接口部;用于生成與上述軟件對應(yīng)的認(rèn)證信息的軟件認(rèn)證信息生成部;用于存儲上述軟件和與上述軟件對應(yīng)的認(rèn)證信息的服務(wù)器存儲部。
6.根據(jù)權(quán)利要求5所述的移動通信終端的軟件認(rèn)證裝置,其特征在于,上述認(rèn)證信息是針對上述軟件的通過預(yù)先指定的散列函數(shù)獲取的散列值。
7.根據(jù)權(quán)利要求5所述的移動通信終端的軟件認(rèn)證裝置,其特征在于,上述認(rèn)證信息是通過密鑰進(jìn)行加密的上述散列值和具有與上述密鑰對應(yīng)的公鑰的認(rèn)證書信息。
8.根據(jù)權(quán)利要求5所述的移動通信終端的軟件認(rèn)證裝置,其特征在于,上述軟件是JAVA源代碼。
9.一種移動通信終端的軟件認(rèn)證方法,其特征在于,包含有如下幾個步驟生成用于驗證移動通信終端軟件的完整性的認(rèn)證信息的認(rèn)證信息生成步驟;分配上述軟件和上述認(rèn)證信息的軟件分配步驟;利用與上述軟件對應(yīng)的認(rèn)證信息檢測上述軟件代碼的完整性與否的軟件認(rèn)證步驟。
10.根據(jù)權(quán)利要求9所述的移動通信終端的軟件認(rèn)證方法,其特征在于,上述認(rèn)證信息生成步驟中包含有利用密鑰對上述認(rèn)證信息進(jìn)行加密的加密步驟;生成具有與上述密鑰對應(yīng)的公鑰的認(rèn)證書的認(rèn)證書生成步驟。
11.根據(jù)權(quán)利要求9所述的移動通信終端的軟件認(rèn)證方法,其特征在于,在上述軟件分配步驟中,將分配上述軟件和通過上述密鑰進(jìn)行加密的認(rèn)證信息及具有與上述密鑰對應(yīng)的公鑰的認(rèn)證書。
12.根據(jù)權(quán)利要求9所述的移動通信終端的軟件認(rèn)證方法,其特征在于,上述軟件認(rèn)證步驟中還包含有利用上述認(rèn)證書的公鑰對上述加密的認(rèn)證信息進(jìn)行解密的解密步驟。
13.根據(jù)權(quán)利要求9所述的移動通信終端的軟件認(rèn)證方法,其特征在于,上述軟件認(rèn)證步驟中還包含有在對上述軟件代碼的完整性進(jìn)行驗證的結(jié)果,當(dāng)軟件發(fā)生變更的情況下,將針對上述軟件的扣費取消信息傳送給上述軟件提供服務(wù)器,并使其取消針對上述軟件的扣費的扣費取消步驟。
14.根據(jù)權(quán)利要求9至13中任何一項所述的移動通信終端的軟件認(rèn)證方法,其特征在于,上述認(rèn)證信息是通過散列函數(shù)獲取的上述軟件的散列值。
15.根據(jù)權(quán)利要求9至13中任何一項所述的移動通信終端的軟件認(rèn)證方法,其特征在于,上述軟件是JAVA源代碼。
全文摘要
本發(fā)明公開了一種移動通信終端的軟件認(rèn)證裝置及其方法,在本發(fā)明中,針對下載到移動通信終端的軟件在安裝之前確認(rèn)源代碼的完整性,從而可確認(rèn)軟件是否感染病毒等情況。上述本發(fā)明中的移動通信終端的軟件認(rèn)證裝置,其特征在于,包含有如下幾個部分用于存儲通過通信網(wǎng)或有線、無線近距離通信接口下載的軟件和與上述軟件相關(guān)的認(rèn)證信息的終端存儲部;在安裝上述終端存儲部中存儲的軟件之前,通過利用上述認(rèn)證信息檢測上述軟件的代碼變更與否而驗證軟件的完整性的軟件認(rèn)證部。根據(jù)如上所述的本發(fā)明,利用下載到移動通信終端的軟件的散列值驗證其完整性,使對下載到的軟件的病毒感染與否進(jìn)行判斷。
文檔編號H04L9/32GK1946222SQ20061015248
公開日2007年4月11日 申請日期2006年9月29日 優(yōu)先權(quán)日2005年10月4日
發(fā)明者李性美 申請人:樂金電子(中國)研究開發(fā)中心有限公司