客戶(hù)端的更新方法、系統(tǒng)及客戶(hù)端與服務(wù)器的制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例提供一種客戶(hù)端的更新方法、系統(tǒng)及客戶(hù)端與服務(wù)器,其中,所述方法包括:從服務(wù)器下載加密的腳本程序代碼文件;所述腳本程序代碼文件用于對(duì)所述客戶(hù)端進(jìn)行更新,所述加密的腳本程序代碼文件為使用預(yù)先生成的私鑰進(jìn)行加密后的腳本程序代碼文件;利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件;使用加載后的所述加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。本發(fā)明實(shí)施例提高了客戶(hù)端更新的安全性。
【專(zhuān)利說(shuō)明】
客戶(hù)端的更新方法、系統(tǒng)及客戶(hù)端與服務(wù)器
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種客戶(hù)端的更新方法、系統(tǒng)及客戶(hù)端與服務(wù)器。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)時(shí)代,移動(dòng)應(yīng)用發(fā)展迅速,新需求頻繁,產(chǎn)品版本更新迭代快,為了高效應(yīng)對(duì)靈活多變的需求,或者修復(fù)已上線客戶(hù)端的代碼中的bug,出現(xiàn)了很多腳本語(yǔ)言動(dòng)態(tài)更新的機(jī)制,不用發(fā)布新的客戶(hù)端版本去替換舊版本的客戶(hù)端的代碼??梢栽诳蛻?hù)端運(yùn)行期間下載腳本語(yǔ)言文件,在客戶(hù)端本地動(dòng)態(tài)執(zhí)行腳本語(yǔ)言文件,修改客戶(hù)端的原有邏輯代碼。
[0003]現(xiàn)有的腳本語(yǔ)言動(dòng)態(tài)更新機(jī)制在快速解決了客戶(hù)端需求和bug的同時(shí),也留下了不容忽視的安全隱患一一腳本語(yǔ)言文件流通于服務(wù)器與客戶(hù)端之間,容易被第三方劫持、篡改,甚至重新注入惡意腳本代碼。利用被篡改或者被注入惡意腳本代碼的腳本語(yǔ)言文件更新客戶(hù)端,對(duì)客戶(hù)端的安全性造成威脅,尤其是一些涉及到用戶(hù)隱私或者重要數(shù)據(jù)的客戶(hù)端。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種客戶(hù)端的更新方法、系統(tǒng)及客戶(hù)端與服務(wù)器,用以解決傳統(tǒng)的腳本語(yǔ)言動(dòng)態(tài)更新機(jī)制對(duì)客戶(hù)端的安全性造成威脅的問(wèn)題。
[0005]本發(fā)明實(shí)施例提供一種客戶(hù)端的更新方法,包括:
[0006]從服務(wù)器下載加密的腳本程序代碼文件;所述腳本程序代碼文件用于對(duì)所述客戶(hù)端進(jìn)行更新,所述加密的腳本程序代碼文件為使用預(yù)先生成的私鑰進(jìn)行加密后的腳本程序代碼文件;
[0007]利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件;
[0008]使用加載后的所述加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。
[0009]相應(yīng)地,本發(fā)明實(shí)施例還提供一種客戶(hù)端的更新方法,包括:
[0010]接收或生成私鑰;
[0011]接收或生成使用所述私鑰進(jìn)行加密后的腳本程序代碼文件,以令客戶(hù)端從所述服務(wù)器下載并加載所述加密的腳本程序代碼文件,并使用加載后的所述腳本程序代碼文件進(jìn)行所述客戶(hù)端的更新。
[0012]相應(yīng)地,本發(fā)明實(shí)施例還提供一種客戶(hù)端,包括:
[0013]下載模塊,用于從服務(wù)器下載加密的腳本程序代碼文件;所述腳本程序代碼文件用于對(duì)所述客戶(hù)端進(jìn)行更新,所述加密的腳本程序代碼文件為使用預(yù)先生成的私鑰進(jìn)行加密后的腳本程序代碼文件;
[0014]加載模塊,用于利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件;
[0015]更新模塊,用于使用加載后的所述加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。
[0016]相應(yīng)地,本發(fā)明實(shí)施例還提供一種服務(wù)器,包括:
[0017]私鑰模塊,用于接收或生成私鑰;
[0018]處理模塊,用于接收或生成使用所述私鑰進(jìn)行加密后的腳本程序代碼文件,以令客戶(hù)端從所述服務(wù)器下載并加載所述加密的腳本程序代碼文件,并使用加載后的所述腳本程序代碼文件進(jìn)行所述客戶(hù)端的更新。
[0019]相應(yīng)地,本發(fā)明實(shí)施例還提供一種客戶(hù)端的更新系統(tǒng),包括:上述客戶(hù)端和上述服務(wù)器。
[0020]本發(fā)明實(shí)施例提供的客戶(hù)端的更新方法、系統(tǒng)及客戶(hù)端與服務(wù)器,在對(duì)客戶(hù)端進(jìn)行更新之前,利用加密工具生成一對(duì)公鑰和私鑰,將公鑰寫(xiě)入客戶(hù)端的程序代碼中,將私鑰保存在服務(wù)器。利用私鑰對(duì)用于更新客戶(hù)端的腳本程序文件進(jìn)行加密??蛻?hù)端從服務(wù)器下載加密的腳本程序文件,并利用內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載加密的腳本程序文件,使用加載后的加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。用于更新客戶(hù)端的腳本程序代碼文件在服務(wù)器經(jīng)過(guò)加密,即使加密的腳本程序代碼文件被劫持,甚至非法反編譯了客戶(hù)端獲取了解密邏輯,在沒(méi)有私鑰的情況下,無(wú)法對(duì)解密后的腳本程序代碼文件重新加密為客戶(hù)端可以解密讀取的腳本程序代碼文件,無(wú)法對(duì)客戶(hù)端進(jìn)行更新,提高了客戶(hù)端更新的安全性。
【附圖說(shuō)明】
[0021]為了更清楚地說(shuō)明本發(fā)明的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0022]圖1為本發(fā)明實(shí)施例一中的一種客戶(hù)端的更新方法的步驟流程圖;
[0023]圖2為本發(fā)明實(shí)施例二中的一種客戶(hù)端的更新方法的步驟流程圖;
[0024]圖3為本發(fā)明實(shí)施例三中的一種客戶(hù)端的結(jié)構(gòu)示意圖;
[0025]圖4為本發(fā)明實(shí)施例三中的一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0027]實(shí)施例一
[0028]詳細(xì)介紹本發(fā)明實(shí)施例一提出的一種客戶(hù)端的更新方法,應(yīng)用于待更新的客戶(hù)端。
[0029]參照?qǐng)D1,示出了本發(fā)明實(shí)施例一中的一種客戶(hù)端的更新方法的步驟流程圖。
[0030]步驟100,從服務(wù)器下載加密的腳本程序代碼文件。
[0031]所述腳本程序代碼文件用于對(duì)所述客戶(hù)端進(jìn)行更新,所述加密的腳本程序代碼文件為使用預(yù)先生成的私鑰進(jìn)行加密后的腳本程序代碼文件。加密的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)均與加密之前的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)相同。
[0032]所述私鑰可以為在服務(wù)器利用加密工具預(yù)先生成,所述加密工具可以為非對(duì)稱(chēng)加密工具(RSA Algorithm),例如OpenSSL等加密工具。
[0033]在利用加密工具預(yù)先生成私鑰的同時(shí),還預(yù)先生成公鑰,所述公鑰與私鑰為利用非對(duì)稱(chēng)加密工具預(yù)先生成的一對(duì)密鑰。即利用私鑰進(jìn)行加密后的文件,只能使用公鑰進(jìn)行解密。
[0034]步驟102,利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件。
[0035]所述步驟102具體可以為:利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎,讀取加密的腳本程序代碼文件的入口文件,加載所述加密的腳本程序代碼文件。
[0036]由于腳本語(yǔ)言加載引擎內(nèi)置有解密邏輯,所以,腳本語(yǔ)言加載引擎可以直接加載加密的腳本程序代碼文件。
[0037]優(yōu)選地,內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎為使用內(nèi)置的公鑰對(duì)加密的腳本程序代碼文件進(jìn)行解密的腳本語(yǔ)言加載引擎。其中,公鑰以字符串形式內(nèi)置在所述客戶(hù)端的腳本語(yǔ)言加載引擎中。
[0038]步驟104,使用加載后的加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。
[0039]本發(fā)明實(shí)施例中,只能利用經(jīng)過(guò)私鑰加密后的腳本程序代碼文件對(duì)客戶(hù)端進(jìn)行更新操作。由于私鑰存儲(chǔ)在服務(wù)器,在服務(wù)器之外無(wú)法獲取到私鑰,即使對(duì)加密后的腳本程序代碼文件進(jìn)行解密,也無(wú)法重新利用私鑰再次對(duì)腳本程序代碼文件進(jìn)行加密,客戶(hù)端無(wú)法根據(jù)未經(jīng)私鑰加密的腳本程序代碼文件進(jìn)行更新。
[0040]本發(fā)明實(shí)施例中的客戶(hù)端可以為1s系統(tǒng)中的客戶(hù)端,1s系統(tǒng)中的js (Javascript)腳本程序代碼文件可以通過(guò)腳本語(yǔ)言加載引擎(例如,JavaScriptCore框架)加載。
[0041]對(duì)于本發(fā)明實(shí)施例而言,存在兩個(gè)可能篡改腳本程序代碼文件的時(shí)機(jī):
[0042]1、腳本程序代碼文件下載時(shí)
[0043]2、客戶(hù)端本地程序目錄緩存加密的腳本程序代碼文件時(shí)
[0044]因?yàn)榭蛻?hù)端面向大眾,可以自由獲取服務(wù)器下發(fā)的腳本程序代碼文件,所以在客戶(hù)端中存放公鑰,由客戶(hù)端開(kāi)放方自己持有私鑰,即使被惡意劫持了經(jīng)私鑰加密過(guò)的腳本程序代碼文件,甚至被非法反編譯了客戶(hù)端的本地代碼獲取到了公鑰,因?yàn)闆](méi)有私鑰文件,致使篡改后不能重新加密成客戶(hù)端可以解密讀取的腳本程序代碼文件,保障了整個(gè)流程中的安全性。對(duì)于客戶(hù)端本地程序目錄的加密的腳本程序代碼文件,即使被篡改或刪除,其結(jié)果只是不能實(shí)現(xiàn)腳本程序代碼文件的功能,不會(huì)影響客戶(hù)端的原有功能。
[0045]綜上所述,本發(fā)明實(shí)施例中的技術(shù)方案,在對(duì)客戶(hù)端進(jìn)行更新之前,利用加密工具生成一對(duì)公鑰和私鑰,將公鑰寫(xiě)入客戶(hù)端的程序代碼中,將私鑰保存在服務(wù)器。利用私鑰對(duì)用于更新客戶(hù)端的腳本程序文件進(jìn)行加密??蛻?hù)端從服務(wù)器下載加密的腳本程序文件,并利用內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載加密的腳本程序文件,使用加載后得到的明文腳本程序代碼文件進(jìn)行客戶(hù)端的更新。用于更新客戶(hù)端的腳本程序代碼文件在服務(wù)器經(jīng)過(guò)加密,即使加密的腳本程序代碼文件被劫持,甚至非法反編譯了客戶(hù)端獲取了解密邏輯,在沒(méi)有私鑰的情況下,無(wú)法對(duì)解密后的腳本程序代碼文件重新加密為客戶(hù)端可以解密讀取的腳本程序代碼文件,無(wú)法對(duì)客戶(hù)端進(jìn)行更新,提高了客戶(hù)端更新的安全性。
[0046]實(shí)施例二
[0047]詳細(xì)介紹本發(fā)明實(shí)施例二提出的一種客戶(hù)端的更新方法,本發(fā)明實(shí)施例中的客戶(hù)端為1s系統(tǒng)下的客戶(hù)端,本發(fā)明實(shí)施例中的腳本語(yǔ)言為Iua腳本語(yǔ)言。
[0048]參照?qǐng)D2,示出了本發(fā)明實(shí)施例二中的一種客戶(hù)端的更新方法的步驟流程圖。
[0049]步驟200,在Iua腳本語(yǔ)言的源代碼中,改寫(xiě)getF函數(shù)方法和luaL_loadf ile函數(shù)方法。
[0050]具體為:將getF函數(shù)方法(功能為讀取腳本程序代碼文件,輸出文件流),改寫(xiě)為getCipherF函數(shù)(功能為讀取加密腳本程序代碼文件,用公鑰解密后,輸出文件流)。將luaL_loadfile函數(shù)方法(功能為加載并執(zhí)行代碼文件),改寫(xiě)為luaL_loadfile_encrypt1n函數(shù)(功能為加載并執(zhí)行代碼文件,支持對(duì)非對(duì)稱(chēng)加密文件的加載)。
[0051]步驟202,基于已上線的客戶(hù)端現(xiàn)存的問(wèn)題,或根據(jù)新功能需求,開(kāi)發(fā)人員編寫(xiě)出Iua腳本程序代碼文件。
[0052]上述Iua腳本程序代碼文件可以為多個(gè),本發(fā)明實(shí)施例對(duì)Iua腳本程序代碼文件的數(shù)量不做限制。
[0053]步驟204,使用非對(duì)稱(chēng)加密工具生成一對(duì)私鑰和公約,用私鑰對(duì)所有Iua腳本程序代碼文件逐一進(jìn)行加密,將公鑰以字符串形式寫(xiě)入客戶(hù)端的程序代碼中。
[0054]其中,加密后的Iua腳本程序代碼文件的文件名、腳本文件存放結(jié)構(gòu)不變。
[0055]步驟206,將所有加密的Iua腳本程序代碼文件打包上傳至服務(wù)器。
[0056]步驟208,在客戶(hù)端程序運(yùn)行期間下載打包的加密的Iua腳本程序代碼文件,解壓至客戶(hù)端本地程序目錄。
[0057]步驟210,客戶(hù)端通過(guò)WaxPatch等Iua腳本語(yǔ)言加載引擎,讀取加密的Iua腳本程序代碼文件的入口文件,進(jìn)而加載所有本次更新的加密的Iua腳本程序代碼文件。
[0058]綜上所述,本發(fā)明實(shí)施例中的技術(shù)方案,在對(duì)客戶(hù)端進(jìn)行更新之前,利用加密工具生成一對(duì)公鑰和私鑰,將公鑰寫(xiě)入客戶(hù)端的程序代碼中,將私鑰保存在服務(wù)器。利用私鑰對(duì)用于更新客戶(hù)端的腳本程序文件進(jìn)行加密??蛻?hù)端從服務(wù)器下載加密的腳本程序文件,并利用內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載加密的腳本程序文件,使用加載后得到的明文腳本程序代碼文件進(jìn)行客戶(hù)端的更新。用于更新客戶(hù)端的腳本程序代碼文件在服務(wù)器經(jīng)過(guò)加密,即使加密的腳本程序代碼文件被劫持,甚至非法反編譯了客戶(hù)端獲取了解密邏輯,在沒(méi)有私鑰的情況下,無(wú)法對(duì)解密后的腳本程序代碼文件重新加密為客戶(hù)端可以解密讀取的腳本程序代碼文件,無(wú)法對(duì)客戶(hù)端進(jìn)行更新,提高了客戶(hù)端更新的安全性。
[0059]實(shí)施例三
[0060]詳細(xì)介紹本發(fā)明實(shí)施例三提出的一種客戶(hù)端。
[0061]參照?qǐng)D3,示出了本發(fā)明實(shí)施例三中的一種客戶(hù)端的結(jié)構(gòu)示意圖。
[0062]所述客戶(hù)端可以包括:下載模塊30、加載模塊32和更新模塊34。
[0063]下面分別詳細(xì)介紹各模塊的功能以及各模塊之間的關(guān)系。
[0064]下載模塊30,用于從服務(wù)器下載加密的腳本程序代碼文件;所述腳本程序代碼文件用于對(duì)所述客戶(hù)端進(jìn)行更新,所述加密的腳本程序代碼文件為使用預(yù)先生成的私鑰進(jìn)行加密后的腳本程序代碼文件。
[0065]優(yōu)選地,所述下載模塊30從服務(wù)器下載經(jīng)過(guò)打包的加密的腳本程序代碼文件。
[0066]加載模塊32,用于利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件。
[0067]優(yōu)選地,所述加載模塊32利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎,讀取加密的腳本程序代碼文件的入口文件,加載所述加密的腳本程序代碼文件。
[0068]優(yōu)選地,所述內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎為使用內(nèi)置的公鑰對(duì)加密的腳本程序代碼文件進(jìn)行解密的腳本語(yǔ)言加載引擎。
[0069]優(yōu)選地,所述公鑰和私鑰為利用非對(duì)稱(chēng)加密工具預(yù)先生成的一對(duì)密鑰;所述公鑰以字符串形式內(nèi)置在所述客戶(hù)端的腳本語(yǔ)言加載引擎中。
[0070]優(yōu)選地,所述加密的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)均與加密之前的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)相同。
[0071]更新模塊34,用于使用加載后的所述加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。
[0072]本發(fā)明實(shí)施例中的服務(wù)器可以包括私鑰模塊35,用于接收或生成私鑰;處理模塊36,用于接收或生成使用所述私鑰進(jìn)行加密后的腳本程序代碼文件,以令客戶(hù)端從所述服務(wù)器下載并加載所述加密的腳本程序代碼文件,并使用加載后的所述腳本程序代碼文件進(jìn)行所述客戶(hù)端的更新,如圖4所示。
[0073]綜上所述,本發(fā)明實(shí)施例中的技術(shù)方案,在對(duì)客戶(hù)端進(jìn)行更新之前,利用加密工具生成一對(duì)公鑰和私鑰,將公鑰寫(xiě)入客戶(hù)端的程序代碼中,將私鑰保存在服務(wù)器。利用私鑰對(duì)用于更新客戶(hù)端的腳本程序文件進(jìn)行加密。客戶(hù)端從服務(wù)器下載加密的腳本程序文件,并利用內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載加密的腳本程序文件,使用加載后得到的明文腳本程序代碼文件進(jìn)行客戶(hù)端的更新。用于更新客戶(hù)端的腳本程序代碼文件在服務(wù)器經(jīng)過(guò)加密,即使加密的腳本程序代碼文件被劫持,甚至非法反編譯了客戶(hù)端獲取了解密邏輯,在沒(méi)有私鑰的情況下,無(wú)法對(duì)解密后的腳本程序代碼文件重新加密為客戶(hù)端可以解密讀取的腳本程序代碼文件,無(wú)法對(duì)客戶(hù)端進(jìn)行更新,提高了客戶(hù)端更新的安全性。本發(fā)明實(shí)施例還提供了一種客戶(hù)端的更新系統(tǒng),包括上述實(shí)施例中的至少一個(gè)客戶(hù)端和服務(wù)器。
[0074]以上所描述的客戶(hù)端、服務(wù)器和系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0075]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0076]最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種客戶(hù)端的更新方法,其特征在于,包括: 從服務(wù)器下載加密的腳本程序代碼文件;所述腳本程序代碼文件用于對(duì)所述客戶(hù)端進(jìn)行更新,所述加密的腳本程序代碼文件為使用預(yù)先生成的私鑰進(jìn)行加密后的腳本程序代碼文件; 利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件; 使用加載后的所述加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件,包括: 利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎,讀取加密的腳本程序代碼文件的入口文件,加載所述加密的腳本程序代碼文件。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎為使用內(nèi)置的公鑰對(duì)加密的腳本程序代碼文件進(jìn)行解密的腳本語(yǔ)言加載引擎。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述公鑰和私鑰為利用非對(duì)稱(chēng)加密工具預(yù)先生成的一對(duì)密鑰。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述加密的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)均與加密之前的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)相同。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從服務(wù)器下載加密的腳本程序代碼文件,包括: 從服務(wù)器下載經(jīng)過(guò)打包的加密的腳本程序代碼文件。7.—種客戶(hù)端的更新方法,其特征在于,包括: 接收或生成私鑰; 接收或生成使用所述私鑰進(jìn)行加密后的腳本程序代碼文件,以令客戶(hù)端從所述服務(wù)器下載并加載所述加密的腳本程序代碼文件,并使用加載后的所述腳本程序代碼文件進(jìn)行所述客戶(hù)端的更新。8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述加密后的腳本程序代碼文件為經(jīng)過(guò)打包的加密的腳本程序代碼文件。9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述加密的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)均與加密之前的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)相同。10.一種客戶(hù)端,其特征在于,包括: 下載模塊,用于從服務(wù)器下載加密的腳本程序代碼文件;所述腳本程序代碼文件用于對(duì)所述客戶(hù)端進(jìn)行更新,所述加密的腳本程序代碼文件為使用預(yù)先生成的私鑰進(jìn)行加密后的腳本程序代碼文件; 加載模塊,用于利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎加載所述加密的腳本程序代碼文件; 更新模塊,用于使用加載后的所述加密的腳本程序代碼文件進(jìn)行客戶(hù)端的更新。11.根據(jù)權(quán)利要求10所述的客戶(hù)端,其特征在于,所述加載模塊利用所述客戶(hù)端的內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎,讀取加密的腳本程序代碼文件的入口文件,加載所述加密的腳本程序代碼文件。12.根據(jù)權(quán)利要求10或11所述的客戶(hù)端,其特征在于,所述內(nèi)置有解密邏輯的腳本語(yǔ)言加載引擎為使用內(nèi)置的公鑰對(duì)加密的腳本程序代碼文件進(jìn)行解密的腳本語(yǔ)言加載引擎。13.根據(jù)權(quán)利要求12所述的客戶(hù)端,其特征在于,所述公鑰和私鑰為利用非對(duì)稱(chēng)加密工具預(yù)先生成的一對(duì)密鑰。14.根據(jù)權(quán)利要求10所述的客戶(hù)端,其特征在于,所述加密的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)均與加密之前的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)相同。15.根據(jù)權(quán)利要求10所述的客戶(hù)端,其特征在于,所述下載模塊從服務(wù)器下載經(jīng)過(guò)打包的加密的腳本程序代碼文件。16.一種服務(wù)器,其特征在于,包括: 私鑰模塊,用于接收或生成私鑰; 處理模塊,用于接收或生成使用所述私鑰進(jìn)行加密后的腳本程序代碼文件,以令客戶(hù)端從所述服務(wù)器下載并加載所述加密的腳本程序代碼文件,并使用加載后的所述腳本程序代碼文件進(jìn)行所述客戶(hù)端的更新。17.根據(jù)權(quán)利要求16所述的服務(wù)器,其特征在于,所述加密后的腳本程序代碼文件為經(jīng)過(guò)打包的加密的腳本程序代碼文件。18.根據(jù)權(quán)利要求16所述的服務(wù)器,其特征在于,所述加密的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)均與加密之前的腳本程序代碼文件的文件名和腳本文件存放結(jié)構(gòu)相同。19.一種客戶(hù)端的更新系統(tǒng),其特征在于,包括:上述權(quán)利要求10-15任一所述的客戶(hù)端和上述權(quán)利要求16-18任一所述的服務(wù)器。
【文檔編號(hào)】H04L29/06GK105978849SQ201510898073
【公開(kāi)日】2016年9月28日
【申請(qǐng)日】2015年12月8日
【發(fā)明人】曹士謙
【申請(qǐng)人】樂(lè)視網(wǎng)信息技術(shù)(北京)股份有限公司