本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種更新配置的方法、裝置和系統(tǒng)。
背景技術(shù):
隨著瀏覽器的不斷發(fā)展,已經(jīng)逐步成為“互聯(lián)網(wǎng)的入口”。目前的瀏覽器上,存在著大量的“默認(rèn)設(shè)置”,這些默認(rèn)設(shè)置引導(dǎo)著用戶快捷的到達(dá)網(wǎng)絡(luò)上的各種應(yīng)用。而且隨著云時(shí)代的來臨,很多應(yīng)用都能夠集成到瀏覽器插件中運(yùn)行。如何更有效的管理和使用這些設(shè)置項(xiàng)、以及越來越多的插件,顯得越發(fā)重要。
通常情況下,瀏覽器客戶端在發(fā)布的時(shí)候會(huì)設(shè)置有默認(rèn)的配置,用戶在安裝瀏覽器客戶端的時(shí)候,瀏覽器安裝程序會(huì)把默認(rèn)的配置和部分控件安裝好,但是在用戶的實(shí)際使用的過程中,可能會(huì)遇到需要更新配置管理或加載新控件的情況。目前的做法是瀏覽器客戶端程序會(huì)自動(dòng)連接瀏覽器配置管理服務(wù)器,瀏覽器配置管理服務(wù)器根據(jù)客戶端請求,把對應(yīng)的項(xiàng)目的更新的配置和新的控件發(fā)給瀏覽器客戶端,瀏覽器客戶端接收到更新的配置管理和控件后,更新瀏覽器客戶端本地的配置管理和控件。
然而瀏覽器客戶端在連接瀏覽器服務(wù)器的時(shí)候雖然是瀏覽器客戶端程序自動(dòng)連接,不會(huì)連接到釣魚網(wǎng)站,確保了服務(wù)器連接不會(huì)有問題,但是在數(shù)據(jù)傳輸?shù)倪^程中,存在一種第三方程序修改瀏覽器服務(wù)器端的更新配置的可能,給瀏覽器客戶端的更新配置帶來隱患,導(dǎo)致后續(xù)使用更新配置的時(shí)候,下載下來的配置項(xiàng)不是客戶端真正需要的配置項(xiàng)。
針對現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種更新配置的方法、裝置和系統(tǒng),以至少解決現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種更新配置的方法,包括:根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息;接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,其中,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù);對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件。
進(jìn)一步地,客戶端生成隨機(jī)數(shù),并從預(yù)設(shè)算法列表中選擇任意一個(gè)算法作為預(yù)設(shè)算法,獲取預(yù)設(shè)算法對應(yīng)的算法ID;按照預(yù)設(shè)順序連接隨機(jī)數(shù)和算法ID,得到第三數(shù)據(jù)。使用預(yù)設(shè)證書對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)。
進(jìn)一步地,使用預(yù)設(shè)證書對應(yīng)的私鑰解密第一數(shù)據(jù);解析解密第一數(shù)據(jù)得到的解密結(jié)果,得到隨機(jī)數(shù)和算法ID;使用隨機(jī)數(shù)作為密鑰,按照算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。
進(jìn)一步地,使用預(yù)設(shè)證書對第二數(shù)據(jù)進(jìn)行簽名,得到簽名值。
進(jìn)一步地,在驗(yàn)簽成功的情況下,使用隨機(jī)數(shù)作為密鑰,按照預(yù)設(shè)算法解密第二數(shù)據(jù),得到配置文件。
進(jìn)一步地,在驗(yàn)簽失敗的情況下,結(jié)束更新配置的行為。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種更新配置的方法,包括:接收客戶端發(fā)送的第一數(shù)據(jù),其中,第一數(shù)據(jù)根據(jù)客戶端生成的隨機(jī)數(shù)和客戶端選擇的預(yù)設(shè)算法對應(yīng)的算法ID得到;使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù);將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種更新配置的裝置,包括:發(fā)送模塊,用于根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息;接收模塊,用于接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,其中,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù);驗(yàn)簽?zāi)K,用于對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件。
進(jìn)一步地,生成模塊,用于客戶端生成隨機(jī)數(shù),并從預(yù)設(shè)算法列表中選擇任意一個(gè)算法作為預(yù)設(shè)算法,獲取預(yù)設(shè)算法對應(yīng)的算法ID;連接模塊,用于按照預(yù)設(shè)順序連接隨機(jī)數(shù)和算法ID,得到第三數(shù)據(jù);第一加密模塊,用于使用預(yù)設(shè)證書對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)。
進(jìn)一步地,第一解密模塊,用于使用預(yù)設(shè)證書對應(yīng)的私鑰解密第一數(shù)據(jù);解析模塊,用于解析解密第一數(shù)據(jù)得到的解密結(jié)果,得到隨機(jī)數(shù)和算法ID;第二加密模塊,用于使用隨機(jī)數(shù)作為密鑰,按照算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。
進(jìn)一步地,簽名子模塊,用于使用預(yù)設(shè)證書對第二數(shù)據(jù)進(jìn)行簽名,得到簽名值。
進(jìn)一步地,第二解密模塊,用于在驗(yàn)簽成功的情況下,使用隨機(jī)數(shù)作為密鑰,按照預(yù)設(shè)算法解密第二數(shù)據(jù),得到配置文件。
進(jìn)一步地,結(jié)束模塊,用于在驗(yàn)簽失敗的情況下,結(jié)束更新配置的行為。
根據(jù)本發(fā)明實(shí)施例的再一方面,還提供了一種更新配置的裝置,包括:接收模塊,用于接收客戶端發(fā)送的第一數(shù)據(jù),其中,第一數(shù)據(jù)根據(jù)客戶端生成的隨機(jī)數(shù)和客戶端選擇的預(yù)設(shè)算法對應(yīng)的算法ID得到;加密模塊,用于使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù);簽名模塊,用于將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。
根據(jù)本發(fā)明實(shí)施例的再一方面,還提供了一種更新配置的系統(tǒng),包括:客戶端:根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器;接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù)。服務(wù)器:接收客戶端發(fā)送的第一數(shù)據(jù),使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù),將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。
在本發(fā)明實(shí)施例中,根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器,接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件。上述方案通過使用隨機(jī)數(shù)和算法ID構(gòu)成第一數(shù)據(jù),在客戶端接收到服務(wù)器返回的加密的配置文件后,對應(yīng)的簽名值進(jìn)行驗(yàn)簽,驗(yàn)簽成功使用隨機(jī)數(shù)和算法ID對加密的配置文件進(jìn)行解密,從而得到配置文件進(jìn)行配置更新,目前通常的加密都是直接對數(shù)據(jù)加密,本發(fā)明中可以實(shí)現(xiàn)每次選擇的算法不固定,每次的隨機(jī)數(shù)不固定,避免被第三方破解,從而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種更新配置的方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的一種更新配置的方法的信息交互圖;
圖3是根據(jù)本發(fā)明實(shí)施例的另一種更新配置的方法的流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的一種更新配置的裝置的結(jié)構(gòu)圖;
圖5是根據(jù)本發(fā)明實(shí)施例的另一種更新配置的裝置的結(jié)構(gòu)圖;以及
圖6是根據(jù)本發(fā)明實(shí)施例的一種更新配置的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種更新配置的方法實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的一種更新配置的方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息。
具體的,在上述步驟中,隨機(jī)數(shù)為瀏覽器客戶端隨意生成的數(shù)據(jù),可以為純數(shù)字的形式,也可以為數(shù)字與字母混淆的形式,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息,上述預(yù)設(shè)算法可以是任意一種對稱算法,其中,對于隨機(jī)數(shù)的位數(shù)本申請不做具體限定。
步驟S104,接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,其中,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù)。
步驟S106,對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件。
在一種可選的實(shí)施例中,客戶端接收到服務(wù)器發(fā)布瀏覽器新版本的通知,客戶端隨即向服務(wù)器發(fā)出更新瀏覽器配置的請求,該請求可以是向服務(wù)器發(fā)送第一數(shù)據(jù),服務(wù)器在接收到第一數(shù)據(jù)后,使用隨機(jī)數(shù)和算法ID對需要更新的配置文件進(jìn)行加密,得到第二文件,并將第二文件以及第二文件對應(yīng)的簽名值返回至客戶端,其中,配置文件即為瀏覽器需要更新的配置的相關(guān)文件。
此處需要說明的是,上述步驟的執(zhí)行主體可以是瀏覽器客戶端,該客戶端可以是瀏覽器客戶端,可以是用戶安裝于PC、智能手機(jī)、平板電腦等智能設(shè)備上用于使用瀏覽器的客戶端,例如:UC瀏覽器客戶端、火狐瀏覽器客戶端、IE瀏覽器客戶端等;上述預(yù)設(shè)算法可以是對稱算法;其中,對于隨機(jī)數(shù)的位數(shù),本申請不做具體限定。
此處還需要說明的是,由于服務(wù)器使用客戶端生成的第一數(shù)據(jù)對配置文件進(jìn)行加密,因此第三方程序在服務(wù)器向客戶端發(fā)送配置文件的過程中,即使能夠截獲配置文件,也不能對配置文件進(jìn)行破壞或篡改。
由上可知,本申請上述步驟根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息,接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,其中,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù),對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件。上述方案通過使用隨機(jī)數(shù)和算法ID構(gòu)成第一數(shù)據(jù),在客戶端接收到服務(wù)器返回的加密的配置文件后,對配置文件對應(yīng)的簽名值進(jìn)行驗(yàn)簽,驗(yàn)簽成功使用隨機(jī)數(shù)和算法ID對加密的配置文件進(jìn)行解密,從而得到配置文件進(jìn)行配置更新,目前通常的加密都是直接對數(shù)據(jù)加密,本發(fā)明中可以實(shí)現(xiàn)每次選擇的算法不固定,每次的隨機(jī)數(shù)不固定,避免被第三方程序?qū)Ψ?wù)器返回給客戶端的配置文件進(jìn)行破壞或篡改,從而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
可選的,根據(jù)本申請上述實(shí)施例,步驟S102,根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),包括:
步驟S1021,客戶端生成隨機(jī)數(shù),并從預(yù)設(shè)算法列表中選擇任意一個(gè)算法作為預(yù)設(shè)算法,獲取預(yù)設(shè)算法對應(yīng)的算法ID。
具體的,每個(gè)算法都具有對應(yīng)的標(biāo)識信息,該標(biāo)識信息即為算法ID。
在一種可選的實(shí)施例中,預(yù)設(shè)算法列表可以是如下列表:
AES-128-CBC
AES-128-CBC-HMAC-SHA1
AES-128-CFB
AES-128-CFB1
AES-128-CFB8
AES-128-CTR
AES-128-ECB
AES-128-OFB
AES-128-XTS
AES-192-CBC
AES-192-CBC-HMAC-SHA1
AES-192-CFB
AES-192-CFB1
AES-192-CFB8
AES-192-CTR
AES-192-ECB
AES-192-OFB
AES-256-CBC
AES-256-CBC-HMAC-SHA1
AES-256-CFB
AES-256-CFB1
AES-256-CFB8
AES-256-CTR
AES-256-ECB
AES-256-OFB
AES-256-XTS
BF-CBC
BF-CFB
BF-ECB
BF-OFB
CAMELLIA-128-CBC
CAMELLIA-128-CFB
CAMELLIA-128-CFB1
CAMELLIA-128-CFB8
CAMELLIA-128-ECB
CAMELLIA-128-OFB
CAMELLIA-192-CBC
CAMELLIA-192-CFB
CAMELLIA-192-CFB1
CAMELLIA-192-CFB8
CAMELLIA-192-ECB
CAMELLIA-192-OFB
CAMELLIA-256-CBC
CAMELLIA-256-CFB
CAMELLIA-256-CFB 1
CAMELLIA-256-CFB8
CAMELLIA-256-ECB
CAMELLIA-256-OFB
CAST5-CBC
CAST5-CFB
CAST5-ECB
CAST5-OFB
CMAC
CN
CRLReason
CSPName
CrlID
DC
DES-CBC
DES-CDMF
DES-CFB
DES-CFB1
DES-CFB8
DES-ECB
DES-EDE
DES-EDE-CBC
DES-EDE-CFB
DES-EDE-OFB
DES-EDE3
DES-EDE3-CBC
DES-EDE3-CFB
DES-EDE3-CFB1
DES-EDE3-CFB8
DES-EDE3-OFB
DES-OFB
DESX-CBC
DOD
DSA
DSA-SHA
DSA-SHA1
DSA-SHA1-old
DSA-old
DVCS
GN
HMAC
HMAC-MD5
HMAC-SHA1
IANA
IDEA-CBC
IDEA-CFB
IDEA-ECB
IDEA-OFB
ISO
ISO-US
ITU-T
JOINT-ISO-ITU-T
KISA
MD2
MD4
MD5
MD5-SHA1
MDC2
Oakley-EC2N-3
Oakley-EC2N-4
PBE-MD2-DES
PBE-MD2-RC2-64
PBE-MD5-DES
PBE-MD5-RC2-64
PBE-SHA1-2DES
PBE-SHA1-3DES
PBE-SHA1-DES
PBE-SHA1-RC2-128
PBE-SHA1-RC2-40
PBE-SHA1-RC2-64
PBE-SHA1-RC4-128
PBE-SHA1-RC4-40
PBES2
PBKDF2
PBMAC1
PKIX
PSPECIFIED
RC2-40-CBC
RC2-64-CBC
RC2-CBC
RC2-CFB
RC2-ECB
RC2-OFB
RC4
RC4-40
RC4-HMAC-MD5
RC5-CBC
RC5-CFB
RC5-ECB
RC5-OFB
RIPEMD160
RSA
RSA-MD2
RSA-MD4
RSA-MD5
RSA-MDC2
RSA-NP-MD5
RSA-RIPEMD160
RSA-SHA
RSA-SHA1
RSA-SHA1-2
RSA-SHA224
RSA-SHA256
RSA-SHA384
RSA-SHA512
RSA-SM3
RSAES-OAEP
RSASSA-PSS
SEED-CBC
SEED-CFB
SEED-ECB
SEED-OFB
SHA
SHA1
SHA224
SHA256
SHA384
SHA512
SM2
SM2-ECDH
SM2-ENC
SM2-ID-ECPUBLICKEY
SM2-SHA1
SM2-SHA256
SM2-SM3
SM3
SM4
SM4-CBC
SM4-ECB
SMIME
SMIME-CAPS
步驟S1023,按照預(yù)設(shè)順序連接隨機(jī)數(shù)和算法ID,得到第三數(shù)據(jù)。
此處需要說明的是,上述隨機(jī)數(shù)和算法ID連接的順序不做具體限定。
在一種可選的實(shí)施例中,以隨機(jī)數(shù)為16字節(jié)隨機(jī)數(shù)A:EE8F6025EA59378FF7FF398C5A5AB57F,算法ID為數(shù)據(jù)B:0x80作為示例,第三數(shù)據(jù)可以是C:EE8F6025EA59378FF7FF398C5A5AB57F80。
步驟S1025,使用預(yù)設(shè)證書對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)。
具體的,在上述步驟中,上述預(yù)設(shè)證書可以是瀏覽器服務(wù)器的證書。
在一種可選的實(shí)施例中,在第三數(shù)據(jù)為EE8F6025EA59378FF7FF398C5A5AB57F80的示例中,客戶端對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)D:
4B3F8F3124F06CBE18275C85143F67A0452B85E43705E0163808BCA90A7DD4D60289CEC6D56BA15537FBECBCC0F477A3B725DD44A3E3781B18C814A70420510A8BA67A9D64C9EA927A30551A44F369DB552F3B0FC50BFD47FCD89E62295371CCF9459C2D5A321814C496905A25FBE5A80D67752F818DC669494D9DCE5567561。
由上可知,本申請上述步驟生成隨機(jī)數(shù),并從預(yù)設(shè)算法列表中選擇任意一個(gè)算法作為預(yù)設(shè)算法,獲取預(yù)設(shè)算法對應(yīng)的算法ID,按照預(yù)設(shè)順序連接隨機(jī)數(shù)和算法ID,得到第三數(shù)據(jù),再使用預(yù)設(shè)證書對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)。上述方案的隨機(jī)數(shù)和算法ID都是不固定的,避免第三方程序?qū)ε渲梦募M(jìn)行破壞或篡改,從而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
可選的,根據(jù)本申請上述實(shí)施例,步驟S104,在接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值之前,方法還包括:使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到第二數(shù)據(jù),其中,使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到第二數(shù)據(jù),包括:
步驟S1041,使用預(yù)設(shè)證書對應(yīng)的私鑰解密第一數(shù)據(jù)。
在上述步驟中,使用預(yù)設(shè)證書對應(yīng)的私鑰解密第一數(shù)據(jù)得到的解密結(jié)果為隨機(jī)數(shù)和算法ID連接得到的第三數(shù)據(jù)。
步驟S1043,解析解密第一數(shù)據(jù)得到的解密結(jié)果,得到隨機(jī)數(shù)和算法ID。
在一種可選的實(shí)施例中,以第一數(shù)據(jù)為數(shù)據(jù)D作為示例,在對數(shù)據(jù)D驗(yàn)簽成功的情況下,得到數(shù)據(jù)E:
74C6A2FF5EA3409FFFB70D8553EA5452CB6E4769398A833FFB64121B5F46F7E1C1E7594C6B52C270414A1E1D0AF0F89D0C990D3037A9F9B6205EAE5967E6E2608CE5725A4D91D096433E89C48A012CBAF57430FABA8FA78B0FD92487CC3EDDB10E68E24A2B0D3212CE9ACB0EDCEA5720391C27700ED6077455805467BD5AD63D。
對數(shù)據(jù)E進(jìn)行解密,得到數(shù)據(jù)F:EE8F6025EA59378FF7FF398C5A5AB57F80,從而得到客戶端選擇的隨機(jī)算法ID 0x80,和密鑰EE8F6025EA59378FF7FF398C5A5AB57F。
在上述步驟中,解析解密第一數(shù)據(jù)得到的解密結(jié)果即為解析第三數(shù)據(jù),解析第三數(shù)據(jù)的過程可以是按著預(yù)設(shè)的順序拆分第三數(shù)據(jù),得到隨機(jī)數(shù)和算法ID的過程。
步驟S1045,使用隨機(jī)數(shù)作為密鑰,按照算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。
此處需要說明的是,上述步驟的執(zhí)行主體可以是瀏覽器服務(wù)器。
需要注意的是,在解析得到隨機(jī)數(shù)和算法ID之后,使用算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,并以隨機(jī)數(shù)作為密鑰,從而實(shí)現(xiàn)了配置文件的安全性,由于隨機(jī)數(shù)和算法ID均由從客戶端獲取得到,且通過了預(yù)設(shè)證書加密,因此第三方程序或應(yīng)用不能獲取到隨機(jī)數(shù)和算法ID,因此,第三方程序或應(yīng)用也不能解密第二數(shù)據(jù),從而不能對配置文件進(jìn)行破壞或篡改。
由上可知,本申請上述步驟使用預(yù)設(shè)證書對應(yīng)的私鑰解密第一數(shù)據(jù),解析解密第一數(shù)據(jù)得到的解密結(jié)果,得到隨機(jī)數(shù)和算法ID,使用隨機(jī)數(shù)作為密鑰,按照算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。上述方案在對配置文件加密用的密鑰以及算法均由客戶端發(fā)送的第一數(shù)據(jù)得到,由于第一數(shù)據(jù)使用了預(yù)設(shè)證書進(jìn)行加密,因此第三方程序不能得到隨機(jī)數(shù)和算法ID,從而使得第三方程序不能對第二數(shù)據(jù)進(jìn)行解密得到位置文件,因此達(dá)到了避免第三方程序破壞或篡改配置文件的技術(shù)效果。
可選的,根據(jù)本申請上述實(shí)施例,步驟S1045,在得到第二數(shù)據(jù)之后,上述方法還包括:
步驟S1047,使用預(yù)設(shè)證書對第二數(shù)據(jù)進(jìn)行簽名,得到簽名值。
值得注意的是,對第二數(shù)據(jù)進(jìn)行簽名使用的證書仍為預(yù)設(shè)證書,即對第三數(shù)據(jù)進(jìn)行加密所使用的證書。
可選的,根據(jù)本申請上述實(shí)施例,步驟S106,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),上述方法還包括:
步驟S1061,客戶端對簽名值進(jìn)行驗(yàn)簽。
在上述步驟中,客戶端可以使用預(yù)設(shè)證書對簽名值進(jìn)行驗(yàn)簽,以證實(shí)該第二數(shù)據(jù)為服務(wù)器向客戶端發(fā)送的第二數(shù)據(jù),而非第三方程序截獲隨機(jī)數(shù)和算法ID后偽造的第二數(shù)據(jù)。
步驟S1063,在客戶端驗(yàn)簽成功的情況下,使用隨機(jī)數(shù)作為密鑰,按照預(yù)設(shè)算法解密第二數(shù)據(jù),得到配置文件。
在上述步驟中,客戶端存儲(chǔ)有向服務(wù)器發(fā)送的隨機(jī)數(shù)和算法ID,因此在驗(yàn)簽成功的情況下,能夠使用隨機(jī)數(shù)作為密鑰,按照預(yù)設(shè)算法解密第二數(shù)據(jù),得到配置文件。
在得到配置文件后,客戶端可以根據(jù)配置文件進(jìn)行配置更新。
由上可知,本申請上述實(shí)施例中客戶端對簽名值進(jìn)行驗(yàn)簽,在客戶端驗(yàn)簽成功的情況下,使用隨機(jī)數(shù)作為密鑰,按照預(yù)設(shè)算法解密第二數(shù)據(jù),得到配置文件。在上述方案中,由于客戶端對簽名值進(jìn)行驗(yàn)簽,以證實(shí)該第二數(shù)據(jù)為服務(wù)器向客戶端發(fā)送的第二數(shù)據(jù),而非第三方程序截獲隨機(jī)數(shù)和算法ID后偽造的第二數(shù)據(jù),從而進(jìn)一步的解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
可選的,根據(jù)本申請上述實(shí)施例,在驗(yàn)簽失敗的情況下,結(jié)束更新配置的行為。
在上述步驟中,由于客戶端驗(yàn)簽失敗,則第二數(shù)據(jù)有可能是第三方程序偽造的第二數(shù)據(jù),因此結(jié)束此次更新配置的行為。
圖2是根據(jù)本發(fā)明實(shí)施例的一種更新配置的方法的信息交互圖,下面結(jié)合圖2,對上述方法的一種優(yōu)選的實(shí)施例進(jìn)行描述。
步驟S201,瀏覽器客戶端生成第三數(shù)據(jù)。
具體的,在上述步驟中,瀏覽器客戶端生成隨機(jī)數(shù)并選擇預(yù)設(shè)算法以及預(yù)設(shè)算法對應(yīng)的算法ID,將隨機(jī)數(shù)與算法ID連接構(gòu)成第三數(shù)據(jù)。
步驟S202,瀏覽器客戶端使用預(yù)設(shè)證書對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)。
步驟S203,瀏覽器客戶端將第一數(shù)據(jù)發(fā)送至瀏覽器服務(wù)器。
步驟S204,瀏覽器服務(wù)器對第一數(shù)據(jù)進(jìn)行解密。
具體的,在上述步驟中,瀏覽器服務(wù)器使用預(yù)設(shè)證書對應(yīng)的私鑰對第一數(shù)據(jù)解密,并對解密結(jié)果進(jìn)行分析,得到隨機(jī)數(shù)和算法ID。
步驟S205,瀏覽器服務(wù)器使用解密第一數(shù)據(jù)得到的隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。
步驟S206,瀏覽器服務(wù)器使用預(yù)設(shè)證書對第二數(shù)據(jù)進(jìn)行簽名,得到簽名值。
步驟S207,瀏覽器服務(wù)器將第二數(shù)據(jù)和簽名值發(fā)送至瀏覽器客戶端。
步驟S208,瀏覽器客戶端使用預(yù)設(shè)證書對簽名值進(jìn)行驗(yàn)簽。
步驟S209,在上述驗(yàn)簽成功的情況下,使用隨機(jī)數(shù)和算法ID對第二數(shù)據(jù)進(jìn)行解密,得到配置文件。
實(shí)施例2
圖3是根據(jù)本發(fā)明實(shí)施例的另一種更新配置的方法的流程圖,如圖3所示,該方法包括如下步驟:
步驟S301,接收客戶端發(fā)送的第一數(shù)據(jù),其中,第一數(shù)據(jù)根據(jù)客戶端生成的隨機(jī)數(shù)和客戶端選擇的預(yù)設(shè)算法對應(yīng)的算法ID得到。
具體的,在上述步驟中,客戶端為瀏覽器客戶端,可以是用戶安裝于PC、智能手機(jī)、平板電腦等智能設(shè)備上用于使用瀏覽器的客戶端,例如:UC瀏覽器客戶端、火狐瀏覽器客戶端、IE瀏覽器客戶端等;上述預(yù)設(shè)算法可以是對稱算法;其中,對于隨機(jī)數(shù)的位數(shù),本申請不做具體限定。
步驟S303,使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。
步驟S305,將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。
由上可知,本申請上述步驟接收客戶端發(fā)送的第一數(shù)據(jù),使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù),將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。上述方案通過使用第一數(shù)據(jù)中包含的隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,并對加密后的配置文件進(jìn)行簽名,實(shí)現(xiàn)了在服務(wù)器向客戶端傳輸配置文件的過程中,傳輸于網(wǎng)絡(luò)中的數(shù)據(jù)為密文的技術(shù)效果,從而可以實(shí)現(xiàn)每次選擇的算法不固定,每次的隨機(jī)數(shù)不固定,避免被第三方程序?qū)Ψ?wù)器返回給客戶端的配置文件進(jìn)行破壞或篡改,進(jìn)而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
實(shí)施例3
圖4是根據(jù)本發(fā)明實(shí)施例的一種更新配置的裝置的結(jié)構(gòu)圖。出于描述的目的,所繪的體系結(jié)構(gòu)僅為合適環(huán)境的一個(gè)示例,并非對本申請的使用范圍或功能提出任何局限。也不應(yīng)該將更新配置的裝置視為對圖4所示的任一組件或組合具有任何依賴或需求。如圖4所示,該更新配置的裝置可以包括:
發(fā)送模塊40,用于根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息。
接收模塊42,用于接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,其中,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù)。
驗(yàn)簽?zāi)K44,用于對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件。
由上可知,本申請上述裝置通過發(fā)送模塊根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息,通過接收模塊接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,其中,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù),通過驗(yàn)證模塊對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件。上述方案通過使用隨機(jī)數(shù)和算法ID構(gòu)成第一數(shù)據(jù),在客戶端接收到服務(wù)器返回的加密的配置文件后,對配置文件對應(yīng)的簽名值進(jìn)行驗(yàn)簽,驗(yàn)簽成功使用隨機(jī)數(shù)和算法ID對加密的配置文件進(jìn)行解密,從而得到配置文件進(jìn)行配置更新,目前通常的加密都是直接對數(shù)據(jù)加密,本發(fā)明中可以實(shí)現(xiàn)每次選擇的算法不固定,每次的隨機(jī)數(shù)不固定,避免被第三方程序?qū)Ψ?wù)器返回給客戶端的配置文件進(jìn)行破壞或篡改,從而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
可選的,根據(jù)本申請上述實(shí)施例,上述發(fā)送模塊包括:
生成模塊,用于客戶端生成隨機(jī)數(shù),并從預(yù)設(shè)算法列表中選擇任意一個(gè)算法作為預(yù)設(shè)算法,獲取預(yù)設(shè)算法對應(yīng)的算法ID。
連接模塊,用于按照預(yù)設(shè)順序連接隨機(jī)數(shù)和算法ID,得到第三數(shù)據(jù)。
第一加密模塊,用于使用預(yù)設(shè)證書對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)。
由上可知,本申請上述裝置通過生成模塊生成隨機(jī)數(shù),并從預(yù)設(shè)算法列表中選擇任意一個(gè)算法作為預(yù)設(shè)算法,獲取預(yù)設(shè)算法對應(yīng)的算法ID,通過連接模塊按照預(yù)設(shè)順序連接隨機(jī)數(shù)和算法ID,得到第三數(shù)據(jù),再通過第一加密模塊使用預(yù)設(shè)證書對第三數(shù)據(jù)進(jìn)行加密,得到第一數(shù)據(jù)。上述方案的隨機(jī)數(shù)和算法ID都是不固定的,避免第三方程序?qū)ε渲梦募M(jìn)行破壞或篡改,從而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
可選的,根據(jù)本申請上述實(shí)施例,上述裝置還包括:
第一解密模塊,用于使用預(yù)設(shè)證書對應(yīng)的私鑰解密第一數(shù)據(jù);
解析模塊,用于解析解密第一數(shù)據(jù)得到的解密結(jié)果,得到隨機(jī)數(shù)和算法ID;
第二加密模塊,用于使用隨機(jī)數(shù)作為密鑰,按照算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。
需要注意的是,在解析得到隨機(jī)數(shù)和算法ID之后,使用算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,并以隨機(jī)數(shù)作為密鑰,從而實(shí)現(xiàn)了配置文件的安全性,由于隨機(jī)數(shù)和算法ID均由從客戶端獲取得到,且通過了預(yù)設(shè)證書加密,因此第三方程序或應(yīng)用不能獲取到隨機(jī)數(shù)和算法ID,因此,第三方程序或應(yīng)用也不能解密第二數(shù)據(jù),從而不能對配置文件進(jìn)行破壞或篡改。
由上可知,本申請上述裝置通過第一解密模塊使用預(yù)設(shè)證書對應(yīng)的私鑰解密第一數(shù)據(jù),通過解析模塊解析解密第一數(shù)據(jù)得到的解密結(jié)果,得到隨機(jī)數(shù)和算法ID,通過第二加密模塊使用隨機(jī)數(shù)作為密鑰,按照算法ID對應(yīng)的預(yù)設(shè)算法對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。上述方案在對配置文件加密用的密鑰以及算法均由客戶端發(fā)送的第一數(shù)據(jù)得到,由于第一數(shù)據(jù)使用了預(yù)設(shè)證書進(jìn)行加密,因此第三方程序不能得到隨機(jī)數(shù)和算法ID,從而使得第三方程序不能對第二數(shù)據(jù)進(jìn)行解密得到位置文件,因此達(dá)到了避免第三方程序破壞或篡改配置文件的技術(shù)效果。
可選的,根據(jù)本申請上述實(shí)施例,上述裝置還包括:
簽名子模塊,用于使用預(yù)設(shè)證書對第二數(shù)據(jù)進(jìn)行簽名,得到簽名值。
值得注意的是,對第二數(shù)據(jù)進(jìn)行簽名使用的證書仍為預(yù)設(shè)證書,即對第三數(shù)據(jù)進(jìn)行加密所使用的證書。
可選的,根據(jù)本申請上述實(shí)施例,上述驗(yàn)簽?zāi)K包括:
驗(yàn)簽?zāi)K,用于客戶端對簽名值進(jìn)行驗(yàn)簽。
第二解密模塊,用于在驗(yàn)簽成功的情況下,使用隨機(jī)數(shù)作為密鑰,按照算法解密第二數(shù)據(jù),得到配置文件。
由上可知,本申請上述實(shí)施例中通過驗(yàn)簽?zāi)K客戶端對簽名值進(jìn)行驗(yàn)簽,通過第二解密模塊在客戶端驗(yàn)簽成功的情況下,使用隨機(jī)數(shù)作為密鑰,按照預(yù)設(shè)算法解密第二數(shù)據(jù),得到配置文件。在上述方案中,由于客戶端對簽名值進(jìn)行驗(yàn)簽,以證實(shí)該第二數(shù)據(jù)為服務(wù)器向客戶端發(fā)送的第二數(shù)據(jù),而非第三方程序截獲隨機(jī)數(shù)和算法ID后偽造的第二數(shù)據(jù),從而進(jìn)一步的解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
可選的,根據(jù)本申請上述實(shí)施例,裝置還包括:
結(jié)束模塊,用于在驗(yàn)簽失敗的情況下,結(jié)束更新配置的行為。
實(shí)施例4
圖5是根據(jù)本發(fā)明實(shí)施例的另一種更新配置的裝置的結(jié)構(gòu)圖。出于描述的目的,所繪的體系結(jié)構(gòu)僅為合適環(huán)境的一個(gè)示例,并非對本申請的使用范圍或功能提出任何局限。也不應(yīng)該將更新配置的裝置視為對圖5所示的任一組件或組合具有任何依賴或需求。如圖5所示,該更新配置的裝置可以包括:
接收模塊50,用于接收客戶端發(fā)送的第一數(shù)據(jù),其中,第一數(shù)據(jù)根據(jù)客戶端生成的隨機(jī)數(shù)和客戶端選擇的預(yù)設(shè)算法對應(yīng)的算法ID得到。
加密模塊52,用于使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù)。
簽名模塊54,用于將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。
由上可知,本申請上述裝置通過接收模塊接收客戶端發(fā)送的第一數(shù)據(jù),通過加密模塊使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù),通過簽名模塊將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。上述方案通過使用第一數(shù)據(jù)中包含的隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,并對加密后的配置文件進(jìn)行簽名,實(shí)現(xiàn)了在服務(wù)器向客戶端傳輸配置文件的過程中,傳輸于網(wǎng)絡(luò)中的數(shù)據(jù)為密文的技術(shù)效果,從而可以實(shí)現(xiàn)每次選擇的算法不固定,每次的隨機(jī)數(shù)不固定,避免被第三方程序?qū)Ψ?wù)器返回給客戶端的配置文件進(jìn)行破壞或篡改,進(jìn)而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
實(shí)施例5
圖6是根據(jù)本發(fā)明實(shí)施例的一種更新配置的系統(tǒng)的結(jié)構(gòu)示意圖。如圖6所示,更新配置的系統(tǒng)包括:
客戶端60,根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器;接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù)。
服務(wù)器62,接收客戶端發(fā)送的第一數(shù)據(jù),使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù),將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。
此處還需要說明的是,由于服務(wù)器使用客戶端生成的第一數(shù)據(jù)對配置文件進(jìn)行加密,因此第三方程序在服務(wù)器向客戶端發(fā)送配置文件的過程中,即使能夠截獲配置文件,也不能對配置文件進(jìn)行破壞或篡改。
由上可知,本申請上述系統(tǒng)中的客戶端根據(jù)隨機(jī)數(shù)和算法ID得到第一數(shù)據(jù),并將第一數(shù)據(jù)發(fā)送至服務(wù)器;接收服務(wù)器返回的第二數(shù)據(jù)以及第二數(shù)據(jù)對應(yīng)的簽名值,對簽名值進(jìn)行驗(yàn)簽,在驗(yàn)簽成功的情況下使用隨機(jī)數(shù)和算法ID解密第二數(shù)據(jù),得到配置文件,其中,算法ID為預(yù)設(shè)算法對應(yīng)的標(biāo)識信息,第二數(shù)據(jù)為使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密得到的數(shù)據(jù),服務(wù)器,接收客戶端發(fā)送的第一數(shù)據(jù),使用隨機(jī)數(shù)和算法ID對配置文件進(jìn)行加密,得到第二數(shù)據(jù),將第二數(shù)據(jù)進(jìn)行簽名得到簽名值,并將第二數(shù)據(jù)和簽名值返回至客戶端。上述方案通過使用隨機(jī)數(shù)和算法ID構(gòu)成第一數(shù)據(jù),在客戶端接收到服務(wù)器返回的加密的配置文件后,對配置文件對應(yīng)的簽名值進(jìn)行驗(yàn)簽,驗(yàn)簽成功使用隨機(jī)數(shù)和算法ID對加密的配置文件進(jìn)行解密,從而得到配置文件進(jìn)行配置更新,目前通常的加密都是直接對數(shù)據(jù)加密,本發(fā)明中可以實(shí)現(xiàn)每次選擇的算法不固定,每次的隨機(jī)數(shù)不固定,避免被第三方程序?qū)Ψ?wù)器返回給客戶端的配置文件進(jìn)行破壞或篡改,從而解決了現(xiàn)有技術(shù)中用戶更新配置時(shí)可能存在第三方程序修改服務(wù)器的更新配置導(dǎo)致客戶端得到的配置項(xiàng)不準(zhǔn)確的技術(shù)問題。
上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。