本發(fā)明涉及電子
技術(shù)領(lǐng)域:
,特別涉及一種程序文件驗(yàn)證方法及程序文件驗(yàn)證裝置。
背景技術(shù):
:在網(wǎng)絡(luò)數(shù)據(jù)交互過(guò)程中,為避免向非法客戶端發(fā)送一些重要的文件數(shù)據(jù),對(duì)網(wǎng)絡(luò)信息交互系統(tǒng)的安全性造成極大隱患,服務(wù)器往往要對(duì)客戶端的合法性進(jìn)行驗(yàn)證。目前,對(duì)客戶端的驗(yàn)證往往都是靜態(tài)驗(yàn)證,如:license驗(yàn)證,首先生成密鑰對(duì);服務(wù)器保留私鑰,使用私鑰對(duì)包含授權(quán)信息的license進(jìn)行數(shù)字簽名;公鑰給客戶端,用于驗(yàn)證license是否符合使用條件。對(duì)于靜態(tài)驗(yàn)證方法,即使客戶端的用戶對(duì)客戶端的應(yīng)用程序的相關(guān)文件進(jìn)行篡改,也并不會(huì)妨礙服務(wù)器對(duì)客戶端的驗(yàn)證,這樣,仍會(huì)給網(wǎng)絡(luò)信息交互系統(tǒng)的安全性造成隱患。可見(jiàn),現(xiàn)有技術(shù)中對(duì)應(yīng)用程序文件的驗(yàn)證存在驗(yàn)證精確度較低的技術(shù)問(wèn)題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種程序文件驗(yàn)證方法及程序文件驗(yàn)證裝置,用于解決現(xiàn)有技術(shù)中對(duì)應(yīng)用程序文件的驗(yàn)證存在驗(yàn)證精確度較低的技術(shù)問(wèn)題,實(shí)現(xiàn)提高應(yīng)用程序文件的驗(yàn)證精確度的技術(shù)效果。本發(fā)明實(shí)施例一方面提供一種程序文件驗(yàn)證方法,該方法應(yīng)用于一服務(wù)器,該服務(wù)器與至少一個(gè)客戶端連接,包括:接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求;根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼;接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證??蛇x的,根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引,包括:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,從所述服務(wù)器的存儲(chǔ)單元中獲取索引表;其中,所述索引表中的不同索引用于標(biāo)識(shí)基于所述第一應(yīng)用程序的不同文件形成的待驗(yàn)證文件;從所述索引表中隨機(jī)確定出所述至少一個(gè)索引。可選的,從所述索引表中隨機(jī)確定出所述至少一個(gè)索引,包括:從所述索引表中確定出與安全等級(jí)高于預(yù)設(shè)安全等級(jí)的驗(yàn)證文件對(duì)應(yīng)的部分或全部索引;從所述部分或全部索引中,隨機(jī)確定出所述至少一個(gè)索引??蛇x的,所述方法還包括:通過(guò)隨機(jī)數(shù)算法生成與所述第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù);將所述隨機(jī)數(shù)發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述第一應(yīng)用程序的全部或部分文件形成的第二驗(yàn)證文件及所述隨機(jī)數(shù)生成所述第一驗(yàn)證碼??蛇x的,在將所述至少一個(gè)索引發(fā)送給所述任一客戶端的同時(shí),所述方法還包括:根據(jù)所述第一驗(yàn)證文件及所述隨機(jī)數(shù),生成所述第二驗(yàn)證碼;相應(yīng)的,接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證,包括:判斷所述第二驗(yàn)證碼和所述第一驗(yàn)證碼是否相同;其中,若相同,則表明所述所述第二驗(yàn)證文件為合法文件;若不相同,則表明所述第二驗(yàn)證文件為非法文件。本發(fā)明實(shí)施例另一方面提供一種程序文件驗(yàn)證方法,應(yīng)用于一客戶端,包括:接收由服務(wù)器發(fā)送的與第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;根據(jù)所述至少一個(gè)索引,獲得第一驗(yàn)證碼;將所述第一驗(yàn)證碼發(fā)送給所述服務(wù)器,以使所述服務(wù)器基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證??蛇x的,根據(jù)所述至少一個(gè)索引,獲得第一驗(yàn)證碼,包括:接收由所述服務(wù)器發(fā)送的與所述第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù);根據(jù)所述至少一個(gè)索引及所述隨機(jī)數(shù),獲得所述第一驗(yàn)證碼。本申請(qǐng)實(shí)施例另一方面提供一種程序文件驗(yàn)證裝置,該裝置應(yīng)用于一服務(wù)器,該服務(wù)器與至少一個(gè)客戶端連接,包括:第一接收模塊,用于接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求;第一確定模塊,用于根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;第一發(fā)送模塊,用于將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼;第一驗(yàn)證模塊,用于接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證??蛇x的,第一確定模塊用于:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,從所述服務(wù)器的存儲(chǔ)單元中獲取索引表;其中,所述索引表中的不同索引用于標(biāo)識(shí)基于所述第一應(yīng)用程序的不同文件形成的待驗(yàn)證文件;從所述索引表中隨機(jī)確定出所述至少一個(gè)索引??蛇x的,在將所述至少一個(gè)索引發(fā)送給所述任一客戶端的同時(shí),所述裝置還包括:第一生成模塊,用于根據(jù)所述第一驗(yàn)證文件及所述隨機(jī)數(shù),生成所述第二驗(yàn)證碼;相應(yīng)的,第一驗(yàn)證模塊用于:判斷所述第二驗(yàn)證碼和所述第一驗(yàn)證碼是否相同;其中,若相同,則表明所述所述第二驗(yàn)證文件為合法文件;若不相同,則表明所述第二驗(yàn)證文件為非法文件。本發(fā)明實(shí)施例另一方面提供一種程序文件驗(yàn)證裝置,應(yīng)用于一客戶端,包括:第二接收模塊,用于接收由服務(wù)器發(fā)送的與第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;第二獲得模塊,用于根據(jù)所述至少一個(gè)索引,獲得第一驗(yàn)證碼;第二發(fā)送模塊,用于將所述第一驗(yàn)證碼發(fā)送給所述服務(wù)器,以使所述服務(wù)器基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證??蛇x的,所述第二獲得模塊用于:接收由所述服務(wù)器發(fā)送的與所述第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù);根據(jù)所述至少一個(gè)索引及所述隨機(jī)數(shù),獲得所述第一驗(yàn)證碼。本申請(qǐng)實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下一種或多種技術(shù)效果:由于本發(fā)明實(shí)施例中的技術(shù)方案,采用接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求;根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼;接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證的技術(shù)手段,這樣,在對(duì)客戶端進(jìn)行驗(yàn)證時(shí),服務(wù)器基于第一應(yīng)用程序的部分或全部文件形成的第一驗(yàn)證文件而生成驗(yàn)證碼對(duì)客戶端生成的驗(yàn)證碼進(jìn)行驗(yàn)證,避免了非法使用者對(duì)完整性驗(yàn)證文件的更改,有效解決了現(xiàn)有技術(shù)中對(duì)應(yīng)用程序文件的驗(yàn)證存在驗(yàn)證精確度較低的技術(shù)問(wèn)題,進(jìn)而達(dá)到了提高應(yīng)用程序文件的驗(yàn)證精確度的技術(shù)效果。附圖說(shuō)明圖1為本發(fā)明實(shí)施例第一方面提供的一種程序文件的驗(yàn)證方法的流程圖;圖2為本發(fā)明實(shí)施例第二方面提供的一種程序文件的驗(yàn)證方法的流程圖;圖3為本發(fā)明實(shí)施例第三方面提供的一種程序文件的驗(yàn)證裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例第四方面提供的一種程序文件的驗(yàn)證裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式本發(fā)明實(shí)施例提供一種程序文件驗(yàn)證方法及程序文件驗(yàn)證裝置,用于解決現(xiàn)有技術(shù)中對(duì)應(yīng)用程序文件的驗(yàn)證存在驗(yàn)證精確度較低的技術(shù)問(wèn)題,實(shí)現(xiàn)提高應(yīng)用程序文件的驗(yàn)證精確度的技術(shù)效果。下面結(jié)合附圖對(duì)本申請(qǐng)實(shí)施例技術(shù)方案的主要實(shí)現(xiàn)原理、具體實(shí)施方式及其對(duì)應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)的闡述。第一方面請(qǐng)參考圖1,為本申請(qǐng)實(shí)施例一中提供的一種程序文件的驗(yàn)證方法的流程圖,該方法應(yīng)用于一服務(wù)器,該服務(wù)器與至少一個(gè)客戶端連接,包括:s101:接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求;s102:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;s103:將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼;s104:接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證。本發(fā)明實(shí)施例提供的程序文件的驗(yàn)證方法能夠應(yīng)用于服務(wù)器,該服務(wù)器可以為計(jì)算機(jī);由多個(gè)計(jì)算機(jī)組成的計(jì)算機(jī)組;或者為云,或者為其它類型的服務(wù)器。服務(wù)器與至少一個(gè)客戶端連接,用于為運(yùn)行在至少一個(gè)客戶端內(nèi)的承載于應(yīng)用程序文件的應(yīng)用程序提供網(wǎng)絡(luò)服務(wù)的服務(wù)器。本發(fā)明實(shí)施例中的至少一個(gè)客戶端可以為智能手機(jī)、平板電腦或者為筆記本電腦,或者為其它電子設(shè)備。本發(fā)明實(shí)施例中的服務(wù)器與至少一個(gè)客戶端可以通過(guò)有線方式連接,也可以通過(guò)無(wú)線方式連接,或者通過(guò)其它方式連接,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,首先執(zhí)行步驟s101:接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求。在具體實(shí)現(xiàn)過(guò)程中,在服務(wù)器與任一客戶端建立連接后,會(huì)接收由客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求,如:請(qǐng)求登陸或者請(qǐng)求服務(wù)器發(fā)送與第一應(yīng)用程序相關(guān)數(shù)據(jù)信息等,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,第一應(yīng)用程序可以為游戲應(yīng)用程序、購(gòu)物應(yīng)用程序、或者為辦公應(yīng)用程序等,或者為其它類型的應(yīng)用程序,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,在服務(wù)器接收到數(shù)據(jù)交互請(qǐng)求之后,則要執(zhí)行對(duì)第一應(yīng)用程序的文件的驗(yàn)證。在具體實(shí)現(xiàn)過(guò)程中,對(duì)第一應(yīng)用程序的文件的驗(yàn)證,可以是在每次接收到由任一客戶端發(fā)送的數(shù)據(jù)交互請(qǐng)求后均進(jìn)行驗(yàn)證,也可以是在某幾次接收到由任一客戶端發(fā)送的數(shù)據(jù)交互請(qǐng)求后才進(jìn)行驗(yàn)證,也可以是在某些時(shí)段內(nèi)接收到由任一客戶端發(fā)送的數(shù)據(jù)交互請(qǐng)求后進(jìn)行驗(yàn)證等,本領(lǐng)域普通技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行選擇,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,在執(zhí)行完步驟s101之后,則執(zhí)行步驟s102:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引。在本發(fā)明實(shí)施例中,服務(wù)器會(huì)根據(jù)第一應(yīng)用程序的全部或部分文件生成驗(yàn)證文件,可以為1個(gè),2個(gè)或多個(gè)。其中,第一應(yīng)用程序的文件可以為適用于安卓操作系統(tǒng)的文件,也可以為適用于ios操作系統(tǒng)的文件,或者為適用于其他類型的操作系統(tǒng)的文件,在此,就不再一一舉例了。在具體實(shí)現(xiàn)過(guò)程中,服務(wù)器可以根據(jù)第一應(yīng)用程序的密鑰生成驗(yàn)證文件;或根據(jù)第一應(yīng)用程序的摘要生成驗(yàn)證文件;或根據(jù)第一應(yīng)用程序的動(dòng)態(tài)庫(kù)生成驗(yàn)證文件等,或者根據(jù)其它應(yīng)用程序中可能被篡改的文件生成驗(yàn)證文件,且在生成驗(yàn)證文件后,為驗(yàn)證文件分配索引,用于指示生成的驗(yàn)證文件。在本發(fā)明實(shí)施例中,索引可以為數(shù)字、字符或者為數(shù)字與字符的組合,或者為用于標(biāo)識(shí)驗(yàn)證文件的其它形式,本領(lǐng)域普通技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,索引以數(shù)字為例,對(duì)索引與驗(yàn)證文件之間的對(duì)應(yīng)關(guān)系,具體請(qǐng)參見(jiàn)下表1表1索引驗(yàn)證文件1密鑰2摘要3動(dòng)態(tài)庫(kù)4校驗(yàn)值在本發(fā)明實(shí)施例中,第一驗(yàn)證文件為服務(wù)器利用第一應(yīng)用程序的部分或全部文件生成的驗(yàn)證文件中的部分或全部,且與至少一個(gè)索引對(duì)應(yīng)。在本發(fā)明實(shí)施例中,進(jìn)一步提高對(duì)第一應(yīng)用程序的文件的驗(yàn)證的精確度,在本發(fā)明實(shí)施例中,對(duì)于步驟s102的具體實(shí)現(xiàn)過(guò)程,具體包括如下步驟:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,從所述服務(wù)器的存儲(chǔ)單元中獲取索引表;其中,所述索引表中的不同索引用于標(biāo)識(shí)基于所述第一應(yīng)用程序的不同文件形成的待驗(yàn)證文件;從所述索引表中隨機(jī)確定出所述至少一個(gè)索引。在本發(fā)明實(shí)施例中,索引表中的索引用于標(biāo)識(shí)基于第一應(yīng)用程序的不同文件形成的待驗(yàn)證文件。在接收到數(shù)據(jù)交互請(qǐng)求后,則從服務(wù)器的存儲(chǔ)單元中獲取索引表,從索引表中隨機(jī)確定出至少一個(gè)索引,如:第一次接收到由任一客戶端發(fā)送的數(shù)據(jù)交互請(qǐng)求時(shí),則從索引表中確定出索引1、2作為至少一個(gè)索引,在第二次接收到由任一客戶端發(fā)送的數(shù)據(jù)交互請(qǐng)求時(shí),則從索引表中確定出索引2、3作為至少一個(gè)索引;而在第三次接收到由任一客戶端發(fā)送的數(shù)據(jù)交互請(qǐng)求時(shí),則從索引表中確定出索引1、3作為至少一個(gè)索引。在本發(fā)明實(shí)施例中,由于每次都是隨機(jī)確定出至少一個(gè)索引,從而保證用于生成驗(yàn)證碼的驗(yàn)證文件也是隨機(jī)的,進(jìn)而保證應(yīng)用程序的文件都可能被驗(yàn)證,而不是每次都只對(duì)其中固定的驗(yàn)證文件進(jìn)行驗(yàn)證,進(jìn)行達(dá)到提高驗(yàn)證精確度的技術(shù)效果。在本發(fā)明實(shí)施例中,為了更進(jìn)一步提高驗(yàn)證的精確度,在本發(fā)明實(shí)施例中,對(duì)于步驟從所述索引表中隨機(jī)確定出所述至少一個(gè)索引的具體實(shí)現(xiàn)過(guò)程,具體包括如下步驟:從所述索引表中確定出與安全等級(jí)高于預(yù)設(shè)安全等級(jí)的驗(yàn)證文件對(duì)應(yīng)的部分或全部索引;從所述部分或全部索引中,隨機(jī)確定出所述至少一個(gè)索引。在具體實(shí)現(xiàn)過(guò)程中,以表1為例,索引表中每個(gè)索引對(duì)應(yīng)的驗(yàn)證文件的安全等級(jí)不同,如:索引1、4對(duì)應(yīng)的驗(yàn)證文件為密鑰和校驗(yàn)值,被非法用戶篡改的機(jī)會(huì)較大,則其對(duì)應(yīng)的安全等級(jí)較高為3級(jí);索引3對(duì)應(yīng)的驗(yàn)證文件文件為動(dòng)態(tài)庫(kù),即為應(yīng)用程序?qū)?yīng)的庫(kù)函數(shù),相較于密鑰及校驗(yàn)值,安全等級(jí)稍低為2級(jí);索引2對(duì)應(yīng)的的驗(yàn)證文件為摘要值,安全等級(jí)為1級(jí)。在驗(yàn)證過(guò)程中,為了提高驗(yàn)證效率及驗(yàn)證精確度,每次對(duì)驗(yàn)證文件中最可能被篡改的文件進(jìn)行驗(yàn)證,則要從索引表中確定出與安全等級(jí)高于預(yù)設(shè)安全等級(jí)的驗(yàn)證文件對(duì)應(yīng)的部分或全部索引,然后從上述索引中隨機(jī)確定出至少一個(gè)索引。在具體實(shí)現(xiàn)過(guò)程中,預(yù)設(shè)等級(jí)可以為1級(jí)、2級(jí)或者為其它級(jí)別,本領(lǐng)域普通技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,預(yù)設(shè)等級(jí)以1級(jí)為例,確定安全等級(jí)高于預(yù)設(shè)安全等級(jí)的驗(yàn)證文件對(duì)應(yīng)的部分或全部索引為索引1、4、3。在確定出上述索引之后,則從上述索引中隨機(jī)確定出至少一個(gè)索引,如:索引1、4;或索引1、3或則為索引4、3,或者為其它情況,在本發(fā)明實(shí)施例中不作具體限定。通過(guò)上述技術(shù)方案,在隨機(jī)選擇的前提下,能夠保證應(yīng)用程序的文件中比較重要的文件能夠被驗(yàn)證,進(jìn)而進(jìn)一步達(dá)到提高驗(yàn)證精確度的技術(shù)效果。在本發(fā)明實(shí)施例中,在確定出至少一個(gè)索引之后,則執(zhí)行步驟s103:將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼。在本發(fā)明實(shí)施例中,在確定出至少一個(gè)索引之后,則將至少一個(gè)索引發(fā)送給任一客戶端,以使任一客戶端根據(jù)至少一個(gè)索引,獲得第一驗(yàn)證碼。進(jìn)一步,在本發(fā)明實(shí)施例中,所述方法還包括:通過(guò)隨機(jī)數(shù)算法生成與所述第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù);將所述隨機(jī)數(shù)發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述第一應(yīng)用程序的全部或部分文件形成的第二驗(yàn)證文件及所述隨機(jī)數(shù)生成所述第一驗(yàn)證碼。在具體實(shí)現(xiàn)過(guò)程中,服務(wù)器通過(guò)隨機(jī)數(shù)算法生成與第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù)。在本發(fā)明實(shí)施例中,可以根據(jù)現(xiàn)有技術(shù)中的隨機(jī)數(shù)算法生成隨機(jī)數(shù);也可以根據(jù)自行設(shè)計(jì)的隨機(jī)數(shù)算法生成隨機(jī)數(shù);也可以從預(yù)先構(gòu)建的隨機(jī)數(shù)集合中隨機(jī)選擇一個(gè)隨機(jī)數(shù)作為針對(duì)第一應(yīng)用程序的隨機(jī)數(shù),本領(lǐng)域普通技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行選擇,在本發(fā)明實(shí)施例中不作具體限定。在生成隨機(jī)數(shù)之后,則將隨機(jī)數(shù)發(fā)送給任一客戶端,以使任一客戶端根據(jù)隨機(jī)數(shù)即根據(jù)第一應(yīng)用程序的全部或部分文件形成的第二驗(yàn)證文件生成第一驗(yàn)證碼。在本發(fā)明實(shí)施例中,在第二驗(yàn)證文件的基礎(chǔ)上,增加了隨機(jī)數(shù),提高了驗(yàn)證碼的不確定性,降低了驗(yàn)證碼被非法用戶窮舉的風(fēng)險(xiǎn),因此,進(jìn)一步大大提高驗(yàn)證精確度的技術(shù)效果。在本發(fā)明實(shí)施例中,在將所述至少一個(gè)索引發(fā)送給所述任一客戶端的同時(shí),所述方法還包括:根據(jù)所述第一驗(yàn)證文件及所述隨機(jī)數(shù),生成所述第二驗(yàn)證碼;相應(yīng)的,執(zhí)行步驟s104:接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證。在本發(fā)明實(shí)施例中,可以在將至少一個(gè)索引發(fā)送給任一客戶端的同時(shí),生成第二驗(yàn)證碼;也可以在接收到由任一客戶端反饋的第一驗(yàn)證碼時(shí),生成第二驗(yàn)證碼,本發(fā)明實(shí)施例中不作具體限定。在具體實(shí)現(xiàn)過(guò)程中,服務(wù)器也會(huì)根據(jù)與至少一個(gè)索引對(duì)應(yīng)的利用第一應(yīng)用程序的全部或部分文件生成的第二驗(yàn)證文件,生成第二驗(yàn)證碼。在本發(fā)明實(shí)施例中,服務(wù)器可以根據(jù)已有的加密算法,如:des等直接對(duì)摘要值進(jìn)行加密處理,或者使用專用的mac算法,本領(lǐng)域普通技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行選擇,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,在接收到由任一客戶端反饋的第一驗(yàn)證碼之后,則執(zhí)行步驟s104,對(duì)于步驟s104的具體實(shí)現(xiàn)過(guò)程,具體包括如下步驟:判斷所述第二驗(yàn)證碼和所述第一驗(yàn)證碼是否相同;其中,若相同,則表明所述所述第二驗(yàn)證文件為合法文件;若不相同,則表明所述第二驗(yàn)證文件為非法文件。在本發(fā)明實(shí)施例中,在利用生成驗(yàn)證碼的算法相同的前提下,若第一應(yīng)用程序的全部或部分文件生成第一驗(yàn)證文件完整(未被篡改),則第一驗(yàn)證碼和第二驗(yàn)證碼必然相同,因此,為了實(shí)現(xiàn)完整性驗(yàn)證,服務(wù)器在接收由任一客戶端反饋的第一驗(yàn)證碼后,可以根據(jù)第一驗(yàn)證碼和第二驗(yàn)證碼確定第一應(yīng)用程序的文件的完整性的驗(yàn)證結(jié)果。在具體實(shí)現(xiàn)過(guò)程中,服務(wù)器將第二驗(yàn)證碼與第一驗(yàn)證碼進(jìn)行比對(duì),若相同,則表明第一應(yīng)用程序的文件沒(méi)有被非法用戶篡改,為合法文件;若不相同,則表明第一應(yīng)用程序的文件被非法用戶篡改,為非法文件。進(jìn)一步,在本發(fā)明實(shí)施例中,在服務(wù)器確定出任一客戶端的應(yīng)用程序的文件不完整的次數(shù)超出預(yù)設(shè)值,直接斷開(kāi)與任一客戶端的連接,不為該任一客戶端提供服務(wù)。第二方面基于與本申請(qǐng)實(shí)施例第一方面的相同的發(fā)明構(gòu)思,請(qǐng)參考圖2,為本申請(qǐng)實(shí)施例第二方面提供的一種程序文件的驗(yàn)證方法,應(yīng)用于一客戶端,包括:s201:接收由服務(wù)器發(fā)送的與第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;s202:根據(jù)所述至少一個(gè)索引,獲得第一驗(yàn)證碼;s203:將所述第一驗(yàn)證碼發(fā)送給所述服務(wù)器,以使所述服務(wù)器基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證。本發(fā)明實(shí)施例提供的一種程序文件的驗(yàn)證方法,應(yīng)用于一客戶端,該客戶端可以為智能手機(jī)、平板電腦或者為筆記本電腦等,或者為其它電子設(shè)備,在本發(fā)明實(shí)施例中不作具體限定。在本發(fā)明實(shí)施例中,首先執(zhí)行步驟s201:接收由服務(wù)器發(fā)送的與第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引。在本發(fā)明實(shí)施例中,對(duì)于服務(wù)器如何確定出至少一個(gè)索引,及索引與驗(yàn)證文件之間的對(duì)應(yīng)關(guān)系,已經(jīng)在本發(fā)明實(shí)施例的第一方面中描述,在此,就不再一一贅述了。在本發(fā)明實(shí)施例中,在接收到由服務(wù)器發(fā)送的至少一個(gè)索引之后,則執(zhí)行步驟s202:根據(jù)所述至少一個(gè)索引,獲得第一驗(yàn)證碼。在本發(fā)明實(shí)施例中,對(duì)于步驟s202的具體實(shí)現(xiàn)過(guò)程,具體包括如下步驟:接收由所述服務(wù)器發(fā)送的與所述第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù);根據(jù)所述至少一個(gè)索引及所述隨機(jī)數(shù),獲得所述第一驗(yàn)證碼。在本發(fā)明實(shí)施例中,客戶端還接收由服務(wù)器發(fā)送的隨機(jī)數(shù),利用隨機(jī)數(shù)及與至少一個(gè)索引對(duì)應(yīng)的利用第一應(yīng)用程序文件的全部或部分文件生成的第二驗(yàn)證文件生成第一驗(yàn)證碼。在本發(fā)明實(shí)施例中,生成第一驗(yàn)證碼的方法可以為根據(jù)已有的加密算法,如:des等直接對(duì)摘要值進(jìn)行加密處理,或者使用專用的mac算法,本領(lǐng)域普通技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行選擇,在本發(fā)明實(shí)施例中不作具體限定。但是,無(wú)論采用上述算法中的哪種算法,服務(wù)器和客戶端都需要使用同樣的算法。在本發(fā)明實(shí)施例中,在第二驗(yàn)證文件的基礎(chǔ)上,增加了隨機(jī)數(shù),提高了驗(yàn)證碼的不確定性,降低了驗(yàn)證碼被非法用戶窮舉的風(fēng)險(xiǎn),因此,進(jìn)一步大大提高驗(yàn)證精確度的技術(shù)效果。在執(zhí)行完步驟s202之后,則執(zhí)行步驟s203:將所述第一驗(yàn)證碼發(fā)送給所述服務(wù)器,以使所述服務(wù)器基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證。在本發(fā)明實(shí)施例中,在生成第一驗(yàn)證碼之后,則將第一驗(yàn)證碼發(fā)送給服務(wù)器,以使服務(wù)器基于第一驗(yàn)證文件生成的第二驗(yàn)證碼對(duì)第一驗(yàn)證碼進(jìn)行驗(yàn)證。其中,對(duì)于服務(wù)器如何根據(jù)第二驗(yàn)證碼對(duì)第一驗(yàn)證碼進(jìn)行驗(yàn)證,在本發(fā)明實(shí)施例的第一方面中已經(jīng)描述,在此,就不再一一贅述了。第三方面基于本發(fā)明實(shí)施例第一方面的同樣發(fā)明構(gòu)思,本發(fā)明實(shí)施例第三方面提供一種程序文件驗(yàn)證裝置,該裝置應(yīng)用于一服務(wù)器,該服務(wù)器與至少一個(gè)客戶端連接,請(qǐng)參考圖3,包括:第一接收模塊301,用于接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求;第一確定模塊302,用于根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;第一發(fā)送模塊303,用于將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼;第一驗(yàn)證模塊304,用于接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證??蛇x的,第一確定模塊302用于:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,從所述服務(wù)器的存儲(chǔ)單元中獲取索引表;其中,所述索引表中的不同索引用于標(biāo)識(shí)基于所述第一應(yīng)用程序的不同文件形成的待驗(yàn)證文件;從所述索引表中隨機(jī)確定出所述至少一個(gè)索引??蛇x的,在將所述至少一個(gè)索引發(fā)送給所述任一客戶端的同時(shí),所述裝置還包括:第一生成模塊305,用于根據(jù)所述第一驗(yàn)證文件及所述隨機(jī)數(shù),生成所述第二驗(yàn)證碼;相應(yīng)的,第一驗(yàn)證模塊304用于:判斷所述第二驗(yàn)證碼和所述第一驗(yàn)證碼是否相同;其中,若相同,則表明所述所述第二驗(yàn)證文件為合法文件;若不相同,則表明所述第二驗(yàn)證文件為非法文件。第四方面基于本發(fā)明實(shí)施例第二方面同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例第四方面提供一種程序文件驗(yàn)證裝置,應(yīng)用于一客戶端,請(qǐng)參考圖4,包括:第二接收模塊401,用于接收由服務(wù)器發(fā)送的與第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;第二獲得模塊402,用于根據(jù)所述至少一個(gè)索引,獲得第一驗(yàn)證碼;第二發(fā)送模塊403,用于將所述第一驗(yàn)證碼發(fā)送給所述服務(wù)器,以使所述服務(wù)器基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證??蛇x的,所述第二獲得模塊402用于:接收由所述服務(wù)器發(fā)送的與所述第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù);根據(jù)所述至少一個(gè)索引及所述隨機(jī)數(shù),獲得所述第一驗(yàn)證碼。通過(guò)本申請(qǐng)實(shí)施例中的一個(gè)或多個(gè)技術(shù)方案,可以實(shí)現(xiàn)如下一個(gè)或多個(gè)技術(shù)效果:由于本發(fā)明實(shí)施例中的技術(shù)方案,采用接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求;根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼;接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證的技術(shù)手段,這樣,在對(duì)客戶端進(jìn)行驗(yàn)證時(shí),服務(wù)器基于第一應(yīng)用程序的部分或全部文件形成的第一驗(yàn)證文件而生成驗(yàn)證碼對(duì)客戶端生成的驗(yàn)證碼進(jìn)行驗(yàn)證,避免了非法使用者對(duì)完整性驗(yàn)證文件的更改,有效解決了現(xiàn)有技術(shù)中對(duì)應(yīng)用程序文件的驗(yàn)證存在精確度較低的技術(shù)問(wèn)題,進(jìn)而達(dá)到了提高應(yīng)用程序文件的驗(yàn)證精確度的技術(shù)效果。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。具體來(lái)講,本申請(qǐng)實(shí)施例中的密鑰保護(hù)方法對(duì)應(yīng)的計(jì)算機(jī)程序指令可以被存儲(chǔ)在光盤,硬盤,u盤等存儲(chǔ)介質(zhì)上,當(dāng)存儲(chǔ)介質(zhì)中的與程序文件的驗(yàn)證方法對(duì)應(yīng)的計(jì)算機(jī)程序指令被一電子設(shè)備讀取或被執(zhí)行時(shí),包括如下步驟:接收由所述至少一個(gè)客戶端中任一客戶端發(fā)送的針對(duì)第一應(yīng)用程序的數(shù)據(jù)交互請(qǐng)求;根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;將所述至少一個(gè)索引發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述至少一個(gè)索引獲得第一驗(yàn)證碼;接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,并使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證??蛇x的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,確定出與所述第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行過(guò)程中,包括:根據(jù)所述數(shù)據(jù)交互請(qǐng)求,從所述服務(wù)器的存儲(chǔ)單元中獲取索引表;其中,所述索引表中的不同索引用于標(biāo)識(shí)基于所述第一應(yīng)用程序的不同文件形成的待驗(yàn)證文件;從所述索引表中隨機(jī)確定出所述至少一個(gè)索引??蛇x的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:從所述索引表中隨機(jī)確定出所述至少一個(gè)索引對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行過(guò)程中,包括:從所述索引表中確定出與安全等級(jí)高于預(yù)設(shè)安全等級(jí)的驗(yàn)證文件對(duì)應(yīng)的部分或全部索引;從所述部分或全部索引中,隨機(jī)確定出所述至少一個(gè)索引??蛇x的,所述存儲(chǔ)介質(zhì)還包括另外一些計(jì)算機(jī)指令,該另外一些計(jì)算機(jī)指令在具體被執(zhí)行過(guò)程中,包括:通過(guò)隨機(jī)數(shù)算法生成與所述第一應(yīng)用程序?qū)?yīng)的隨機(jī)數(shù);將所述隨機(jī)數(shù)發(fā)送給所述任一客戶端,以使所述任一客戶端根據(jù)所述第一應(yīng)用程序的全部或部分文件形成的第二驗(yàn)證文件及所述隨機(jī)數(shù)生成所述第一驗(yàn)證碼??蛇x的,所述存儲(chǔ)介質(zhì)中還存儲(chǔ)有另外一些計(jì)算機(jī)指令,該另外一些計(jì)算機(jī)指令與步驟:在將所述至少一個(gè)索引發(fā)送給所述任一客戶端對(duì)應(yīng)的計(jì)算機(jī)指令被執(zhí)行的同時(shí)被執(zhí)行,該另外一些計(jì)算機(jī)指令在具體被執(zhí)行過(guò)程中,包括:根據(jù)所述第一驗(yàn)證文件及所述隨機(jī)數(shù),生成所述第二驗(yàn)證碼;相應(yīng)的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:接收由所述任一客戶端反饋的所述第一驗(yàn)證碼,使用基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行過(guò)程中,包括:判斷所述第二驗(yàn)證碼和所述第一驗(yàn)證碼是否相同;其中,若相同,則表明所述所述第二驗(yàn)證文件為合法文件;若不相同,則表明所述第二驗(yàn)證文件為非法文件。另一方面,當(dāng)存儲(chǔ)介質(zhì)中的與程序文件的驗(yàn)證方法對(duì)應(yīng)的計(jì)算機(jī)程序指令被一電子設(shè)備讀取或被執(zhí)行時(shí),包括如下步驟:接收由服務(wù)器發(fā)送的與第一應(yīng)用程序?qū)?yīng)的至少一個(gè)索引;其中,所述索引用于標(biāo)識(shí)利用所述第一應(yīng)用程序的全部或部分文件形成的第一驗(yàn)證文件;根據(jù)所述至少一個(gè)索引,獲得第一驗(yàn)證碼;將所述第一驗(yàn)證碼發(fā)送給所述服務(wù)器,以使所述服務(wù)器基于所述第一驗(yàn)證文件形成的第二驗(yàn)證碼對(duì)所述第一驗(yàn)證碼進(jìn)行驗(yàn)證。盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。當(dāng)前第1頁(yè)12