一種網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密方法和設(shè)備的制作方法
【專利摘要】本發(fā)明的實施方式提供了一種網(wǎng)絡(luò)游戲數(shù)據(jù)加密方法,該方法包括:在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;將在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到游戲引擎中,在所述游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端,以使得所述服務(wù)器端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。本發(fā)明的方法顯著地降低了數(shù)據(jù)被破解的風(fēng)險,提高了網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩浴?br>
【專利說明】—種網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實施方式涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,更具體地,本發(fā)明的實施方式涉及一種網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密方法和設(shè)備。
【背景技術(shù)】
[0002]本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認(rèn)是現(xiàn)有技術(shù)。
[0003]隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)游戲應(yīng)用受到了廣大互聯(lián)網(wǎng)用戶的喜愛。目前的網(wǎng)絡(luò)游戲大多是基于客戶端和服務(wù)器端的運行模式,客戶端通過網(wǎng)絡(luò)與服務(wù)器端進行通信,交互網(wǎng)絡(luò)游戲數(shù)據(jù)。為了提高數(shù)據(jù)傳輸?shù)陌踩?,現(xiàn)有技術(shù)中存在使用基于“公鑰一私鑰”的加密機制對游戲數(shù)據(jù)進行加密的方法。在這種方法中,服務(wù)器端使用公鑰對數(shù)據(jù)進行加密,客戶端使用對應(yīng)的私鑰進行解密。這種實現(xiàn)方式在一定程度上提高了網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩浴?br>
【發(fā)明內(nèi)容】
[0004]但是,現(xiàn)有技術(shù)中,由于服務(wù)器端使用公鑰對網(wǎng)絡(luò)游戲數(shù)據(jù)進行加密,這就使得“明文”的數(shù)據(jù)暴露在客戶端解密的過程中,通過反編譯的手段則可以獲得明文的數(shù)據(jù),從而危害了網(wǎng)絡(luò)游戲數(shù)據(jù)安全。現(xiàn)有技術(shù)的加密方法,存在易被破獲、安全性低的缺陷。
[0005]因此在現(xiàn)有技術(shù)中,如何提高網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩允欠浅A钊藷赖倪^程。
[0006]為此,非常需要一種改進的網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密方法和設(shè)備,提高網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0007]在本上下文中,本發(fā)明的實施方式期望提供一種網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密方法和設(shè)備。
[0008]在本發(fā)明實施方式的第一方面中,提供了一種方法,包括:
[0009]在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0010]將在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到游戲引擎中,在所述游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);
[0011]將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端,以使得所述服務(wù)器端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
[0012]優(yōu)選地,所述方法還包括:
[0013]接收所述服務(wù)器端發(fā)送的第一加密種子與第一加密規(guī)則,所述第一加密種子與所述第一加密規(guī)則是所述服務(wù)器端實時更新的;[0014]其中,所述在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密包括:
[0015]使用所述服務(wù)器端發(fā)送的第一加密種子和第一加密規(guī)則對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
[0016]優(yōu)選地,所述在所述游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)包括:
[0017]利用第二加密種子生成加密表;
[0018]對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;
[0019]利用生成的所述隨機偏移擾亂加密表對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0020]在本發(fā)明實施方式的第二方面中,提供了一種方法,包括:
[0021]接收客戶端發(fā)送的經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述客戶端在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;
[0022]分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
[0023]優(yōu)選地,所述分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密包括:
[0024]在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0025]在游戲引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0026]優(yōu)選地,所述分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密包括:
[0027]在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0028]在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0029]優(yōu)選地,所述方法還包括:
[0030]對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
[0031]優(yōu)選地,所述對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗包括:
[0032]分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
[0033]在本發(fā)明實施方式的第三方面中,提供了一種方法,包括:
[0034]使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0035]使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密;
[0036]將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到客戶端,以使得所述客戶端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,以及,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0037]優(yōu)選地,所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密包括:
[0038]在游戲引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0039]所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:
[0040]在游戲引擎中使用第二加密方法對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加
LU O
[0041]優(yōu)選地,所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密包括:
[0042]在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0043]所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:
[0044]在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。
[0045]優(yōu)選地,所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:
[0046]利用第二加密種子生成加密表;
[0047]對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;
[0048]利用生成的所述隨機偏移擾亂加密表對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0049]在本發(fā)明實施方式的第四方面中,提供了一種方法,包括:
[0050]接收服務(wù)器端發(fā)送的雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述服務(wù)器端使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及使用第二加密方法對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;
[0051]在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0052]在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0053]優(yōu)選地,所述方法還包括:
[0054]接收所述服務(wù)器端發(fā)送的第一解密種子與第一解密規(guī)則,所述第一解密種子與所述第一解密規(guī)則是所述服務(wù)器端實時更新的;
[0055]其中,所述在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密包括:
[0056]使用所述服務(wù)器端發(fā)送的第一解密種子和第一解密規(guī)則,對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0057]優(yōu)選地,所述方法還包括:
[0058]對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
[0059]優(yōu)選地,所述對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗包括:
[0060]分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
[0061]在本發(fā)明實施方式的第五方面中,提供了一種客戶端設(shè)備,包括:
[0062]第一加密模塊,配置用于在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及將在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到游戲引擎中;
[0063]第二加密模塊,配置用于在游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);
[0064]第一發(fā)送模塊,配置用于將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端,以使得所述服務(wù)器端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,可以分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
[0065]優(yōu)選地,所述客戶端設(shè)備還包括:
[0066]第三接收模塊,配置用于接收所述服務(wù)器端發(fā)送的第一加密種子與第一加密規(guī)則,所述第一加密種子與所述第一加密規(guī)則是所述服務(wù)器端實時更新的;
[0067]其中,所述第一加密模塊配置用于:
[0068]使用所述服務(wù)器端發(fā)送的第一加密種子和第一加密規(guī)則對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
[0069]優(yōu)選地,所述第二加密模塊包括:
[0070]第一加密表生成單元,配置用于利用第二加密種子生成加密表;
[0071]第一隨機偏移擾亂加密表生成單元,配置用于對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;
[0072]第一加密單元,配置用于利用生成的所述隨機偏移擾亂加密表對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0073]在本發(fā)明實施方式的第六方面中,提供了一種服務(wù)器設(shè)備,包括:
[0074]第一接收模塊,配置用于接收客戶端設(shè)備發(fā)送的經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述客戶端設(shè)備在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;
[0075]第一解密模塊,配置用于使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密;
[0076]第二解密模塊,配置用于使用與所述第一加密方法對應(yīng)的第一解密方法對進行第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0077]優(yōu)選地,所述第一解密模塊配置用于:
[0078]在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0079]所述第二解密模塊配置用于:
[0080]在游戲引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0081]優(yōu)選地,所述第一解密模塊配置用于:
[0082]在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0083]所述第二解密模塊配置用于:
[0084]在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0085]優(yōu)選地,所述服務(wù)器設(shè)備還包括:
[0086]第一校驗?zāi)K,配置用于對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
[0087]優(yōu)選地,所述第一校驗?zāi)K配置用于:
[0088]分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
[0089]在本發(fā)明實施方式的第七方面中,提供了一種服務(wù)器設(shè)備,包括:
[0090]第三加密模塊,配置用于使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0091]第四加密模塊,配置用于使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密;
[0092]第二發(fā)送模塊,配置用于將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到客戶端,以使得所述客戶端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,以及,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0093]優(yōu)選地,所述第三加密模塊配置用于:
[0094]在游戲引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0095]所述第四加密模塊配置用于:
[0096]在游戲弓I擎中使用第二加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。
[0097]優(yōu)選地,所述第三加密模塊配置用于:
[0098]在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0099]所述第四加密模塊配置用于:
[0100]在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。
[0101]優(yōu)選地,所述第四加密模塊包括:
[0102]第二加密表生成單元,配置用于利用第二加密種子生成加密表;
[0103]第二隨機偏移擾亂加密表生成單元,配置用于對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;
[0104]第二加密單元,配置用于利用生成的所述隨機偏移擾亂加密表對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0105]在本發(fā)明實施方式的第八方面中,提供了一種客戶端設(shè)備,包括:
[0106]第二接收模塊,配置用于接收服務(wù)器端發(fā)送的雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述服務(wù)器端使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;
[0107]第三解密模塊,配置用于在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0108]第四解密模塊,配置用于在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密
[0109]優(yōu)選地,所述客戶端設(shè)備還包括:
[0110]第四接收模塊,配置用于接收所述服務(wù)器端發(fā)送的第一解密種子與第一解密規(guī)則,所述第一解密種子與所述第一解密規(guī)則是所述服務(wù)器端實時更新的;
[0111]其中,所述第四解密模塊配置用于:
[0112]使用所述服務(wù)器端發(fā)送的第一解密種子和第一解密規(guī)則,對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0113]優(yōu)選地,所述客戶端設(shè)備還包括:
[0114]第二校驗?zāi)K,配置用于對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
[0115]優(yōu)選地,所述第二校驗?zāi)K配置用于:
[0116]分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
[0117]根據(jù)本發(fā)明實施方式的網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密方法和設(shè)備,可以實現(xiàn)對網(wǎng)絡(luò)游戲數(shù)據(jù)進行兩次加密/解密處理,其中,對于客戶端來說,至少一次加密或者解密過程在腳本引擎中進行,由于腳本引擎中的數(shù)據(jù)難以被監(jiān)聽、破解,從而顯著地降低了數(shù)據(jù)被破解的風(fēng)險,提高了網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩?,為用戶帶來了更好的體驗。
【專利附圖】
【附圖說明】
[0118]通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:
[0119]圖1示意性地示出了本發(fā)明實施方式可以在其中實現(xiàn)的應(yīng)用場景;
[0120]圖2示意性地示出了根據(jù)本發(fā)明一實施例的網(wǎng)絡(luò)游戲數(shù)據(jù)加密方法的流程圖;
[0121]圖3示意性地示出了根據(jù)本發(fā)明另一實施例的網(wǎng)絡(luò)游戲數(shù)據(jù)解密方法的流程圖;
[0122]圖4示意性地示出了根據(jù)本發(fā)明又一實施例的網(wǎng)絡(luò)游戲數(shù)據(jù)加密方法的流程圖;
[0123]圖5示意性地示出了根據(jù)本發(fā)明再一實施例的網(wǎng)絡(luò)游戲數(shù)據(jù)解密方法的流程圖;
[0124]圖6示意性地示出了根據(jù)本發(fā)明一實施例的客戶端設(shè)備框圖;
[0125]圖7示意性地示出了根據(jù)本發(fā)明另一實施例的服務(wù)器設(shè)備框圖;
[0126]圖8示意性地示出了根據(jù)本發(fā)明又一實施例的服務(wù)器設(shè)備框圖;
[0127]圖9示意性地示出了根據(jù)本發(fā)明再一實施例的客戶端設(shè)備框圖。
[0128]在附圖中,相同或?qū)?yīng)的標(biāo)號表不相同或?qū)?yīng)的部分。
【具體實施方式】
[0129]下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領(lǐng)域的技術(shù)人員。[0130]本領(lǐng)域技術(shù)人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、裝置、設(shè)備、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
[0131]根據(jù)本發(fā)明的實施方式,提出了一種網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密的方法和設(shè)備。在本文中,需要理解的是,所涉及的術(shù)語“游戲引擎”可以用于表示已編寫好的可編輯游戲系統(tǒng)或者交互式實時圖像應(yīng)用程序的核心組件,其為游戲軟件的核心內(nèi)容,可以提供資源的直接控制接口。所涉及的術(shù)語“腳本引擎”通常用于表示一種計算機編程語言的解釋器,用于解釋執(zhí)行用戶的程序文本,將其翻譯成計算機能夠執(zhí)行的機器代碼以完成相應(yīng)的功能。在游戲應(yīng)用場景中,“腳本引擎”又可以稱為“腳本虛擬機”,是一種執(zhí)行指令序列的狀態(tài)機,其負責(zé)在執(zhí)行腳本時將腳本解析成指令序列并按照指令執(zhí)行。“腳本引擎”用于根據(jù)游戲玩法邏輯組織資源,“游戲引擎”則提供資源的直接控制接口。此外,附圖中的任何元素數(shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
[0132]下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。
[0133]發(fā)明概沭
[0134]本發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中,服務(wù)器端使用公鑰對網(wǎng)絡(luò)游戲數(shù)據(jù)進行加密,在客戶端進行解密的過程中,“明文”的數(shù)據(jù)暴露在解密的過程中,通過反編譯的手段則可以獲得明文的數(shù)據(jù),從而危害了網(wǎng)絡(luò)游戲數(shù)據(jù)安全,損害了用戶的利益。現(xiàn)有技術(shù)的加密方法,存在易被破獲、安全性低的缺陷。
[0135]針對現(xiàn)有技術(shù)中存在加密數(shù)據(jù)易被破獲、安全性低的問題,本發(fā)明提供了一種網(wǎng)絡(luò)游戲數(shù)據(jù)加密以及解密方法和設(shè)備,可以實現(xiàn)對網(wǎng)絡(luò)游戲數(shù)據(jù)進行兩次加密/解密處理,其中,在客戶端,至少一次加密或者解密過程在腳本引擎中進行,由于腳本引擎中的數(shù)據(jù)難以被監(jiān)聽、破解,從而顯著地降低了數(shù)據(jù)被破解的風(fēng)險,提高了網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0136]在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實施方式。
[0137]應(yīng)用場景總覽
[0138]首先參考圖1,本發(fā)明實施方式可以應(yīng)用的場景例如可以為如圖1所示的場景。圖1所示的客戶端和服務(wù)器之間可以交互網(wǎng)絡(luò)游戲數(shù)據(jù),本發(fā)明提供的方法和設(shè)備旨在提高在客戶端和服務(wù)器端之間傳輸網(wǎng)絡(luò)游戲數(shù)據(jù)的安全性。
[0139]示例性方法
[0140]下面結(jié)合圖1的應(yīng)用場景,參考圖2來描述根據(jù)本發(fā)明示例性實施方式的網(wǎng)絡(luò)游戲數(shù)據(jù)加密的方法。需要注意的是,上述應(yīng)用場景僅是為了便于理解本發(fā)明的精神和原理而示出的,本發(fā)明的實施方式在此方面不受任何限制。相反,本發(fā)明的實施方式可以應(yīng)用于適用的任何場景。
[0141]如圖2所示,為根據(jù)本發(fā)明一實施方式的網(wǎng)絡(luò)游戲數(shù)據(jù)加密方法的流程圖,該方法應(yīng)用于客戶端側(cè),具體例如可以包括:
[0142]S201,在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
[0143]在本發(fā)明實施例中,圖2所示意的方法應(yīng)用于客戶端側(cè),所述客戶端與服務(wù)器端可以進行通信以交互網(wǎng)絡(luò)游戲數(shù)據(jù)。由于客戶端需要通過網(wǎng)絡(luò)與服務(wù)器進行通信,大量的敏感數(shù)據(jù)有可能被截取,因此提高客戶端數(shù)據(jù)的安全性是非常必要的。
[0144]為了提高客戶端數(shù)據(jù)的安全性,在本發(fā)明第一實施例中,在將網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到服務(wù)器前,客戶端設(shè)備分別在腳本引擎和游戲引擎中使用了不同的加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行了兩次加密處理。這是因為,相對于服務(wù)器端,客戶端的數(shù)據(jù)安全性較低,因此需要進行兩次加密處理。此外,由于游戲引擎較容易被監(jiān)聽,而跟蹤、監(jiān)聽腳本引擎的難度則較大,因此,本發(fā)明首先在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密,然后在游戲引擎中使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,這樣,發(fā)送到游戲引擎中的數(shù)據(jù)已經(jīng)是經(jīng)過腳本引擎加密處理后的數(shù)據(jù),即便有惡意程序?qū)τ螒蛞孢M行監(jiān)聽,也難以破解已經(jīng)進行第一加密后的密文數(shù)據(jù)。由此,大大提高了客戶端數(shù)據(jù)的安全性。本領(lǐng)域技術(shù)人員可以理解的是,在腳本引擎中使用的第一加密方法可以是非常靈活的,在此不進行限定。
[0145]具體實現(xiàn)時,本發(fā)明提供的方法還可以包括:接收所述服務(wù)器端發(fā)送的第一加密種子與第一加密規(guī)則,所述第一加密種子與所述第一加密規(guī)則是所述服務(wù)器端實時更新的??蛻舳嗽谀_本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密時,可以使用從服務(wù)器端實時獲取的第一加密種子和第一加密規(guī)則對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。也就是說,本發(fā)明提供的方法,服務(wù)器端可以動態(tài)更新加密種子和加密規(guī)則,并將更新的加密種子和加密規(guī)則發(fā)送給客戶端,然后由客戶端利用從服務(wù)器端獲得第一加密種子和第一加密規(guī)則生成腳本引擎的加密表。當(dāng)需要對網(wǎng)絡(luò)游戲數(shù)據(jù)進行加密時,則使用生成的加密表對將要發(fā)送至服務(wù)器的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。由于服務(wù)器端相對于客戶端的數(shù)據(jù)安全性更高,可以由服務(wù)器端動態(tài)更新加密種子和加密規(guī)則,從而使得加密數(shù)據(jù)更加難以被破解,進而提高了客戶端數(shù)據(jù)的安全性。
[0146]S202,將在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到游戲引擎中,在所述游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0147]具體實現(xiàn)時,在腳本引擎使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密后,在游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。第一加密方法和第二加密方法可以不同。具體地,所述在所述游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)包括:利用第二加密種子生成加密表;對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;利用生成的所述隨機偏移擾亂加密表對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。當(dāng)?shù)诙用芊椒楦倪M的RC4方法時,上述實現(xiàn)方法例如可以包括:利用第二加密種子(一個整數(shù))初始化加密表,對加密表進行運算,對其進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表,然后利用獲得的隨機偏移擾亂加密表對網(wǎng)絡(luò)游戲數(shù)據(jù)進行加密,并保存所述隨機偏移擾亂加密表。
[0148]S203,將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端,以使得所述服務(wù)器端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。[0149]客戶端將經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端。服務(wù)器端接收所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù),然后分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密,以獲得解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0150]在本發(fā)明第一實施例中,在客戶端向服務(wù)器發(fā)送網(wǎng)絡(luò)游戲數(shù)據(jù)之前,客戶端設(shè)備分別在腳本引擎和游戲引擎中使用了不同的加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行了兩次加密處理。由于腳本引擎中的數(shù)據(jù)難以被監(jiān)聽、破解,發(fā)送到游戲引擎中的數(shù)據(jù)已經(jīng)是經(jīng)過腳本引擎加密處理后的數(shù)據(jù),即便有惡意程序?qū)τ螒蛞孢M行監(jiān)聽,也難以破解已經(jīng)進行第一加密后的密文數(shù)據(jù),從而提高了客戶端數(shù)據(jù)的安全性。由客戶端向服務(wù)器發(fā)送的網(wǎng)絡(luò)游戲數(shù)據(jù)是經(jīng)過雙重加密的數(shù)據(jù),顯著地降低了數(shù)據(jù)被破解的風(fēng)險,提高了網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0151]如圖3所示,示意性地示出了根據(jù)本發(fā)明另一實施例的網(wǎng)絡(luò)游戲數(shù)據(jù)解密方法的流程圖,該方法具體例如可以包括:
[0152]S301,接收客戶端發(fā)送的經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述客戶端在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及在游戲引擎中使用第二加密方法對在腳本引擎中第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的。
[0153]本發(fā)明這一實施例與圖2所示的實施例相對應(yīng),此實施例中提供的方法應(yīng)用于服務(wù)器端,服務(wù)器可以與客戶端進行通信以交互網(wǎng)絡(luò)游戲數(shù)據(jù)。服務(wù)器用于接收客戶端發(fā)送的經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。其中,客戶端設(shè)備首先在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密,然后在游戲引擎中使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密處理,以獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0154]S302,分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
[0155]具體實現(xiàn)時,服務(wù)器在接收到經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,則分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
[0156]在一種可能的實現(xiàn)方式中,所述分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密包括:在游戲弓I擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。在這種實現(xiàn)方式中,將兩次解密過程分別在游戲引擎和腳本引擎中進行,由于腳本引擎存在難以被監(jiān)聽、破解的特點,因此可以提高解密過程的安全性。第一解密方法對應(yīng)第一加密方法,第二解密方法對應(yīng)第二加密方法,具體的加密/解密方法可以由客戶端和服務(wù)器端預(yù)先約定,在此不進行限定。特別地,服務(wù)器端還可以動態(tài)更新在腳本引擎中進行加密/解密的第一加密/解密方法,并將實時更新的第一加密/解密種子和第一加密/解密規(guī)則發(fā)送到客戶端,使其生成對應(yīng)的加密表/解密表。
[0157]在另外一種可能的實現(xiàn)方式中,所述分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密包括:在游戲弓I擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;在游戲弓I擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。在這種實現(xiàn)方式中,由于服務(wù)器端的運行環(huán)境可以認(rèn)為是安全的,并沒有惡意程序?qū)崟r分析服務(wù)器的運行狀態(tài),因此為了提高解密的效率,可以將兩次解密處理均在游戲引擎中實現(xiàn)。
[0158]為了檢驗數(shù)據(jù)包在傳輸過程中是否存在丟失的情況,本發(fā)明提供的方法還進一步包括:對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。具體實現(xiàn)時,對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗包括:分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。需要說明的是,數(shù)據(jù)完整性校驗在游戲引擎層和腳本引擎層中均可以實現(xiàn)。
[0159]當(dāng)在游戲引擎層對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗時,包括對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。數(shù)據(jù)長度校驗是根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包的包頭所描述的長度為依據(jù),檢驗數(shù)據(jù)長度是否正確。在游戲引擎中進行校驗的數(shù)據(jù)由于經(jīng)過壓縮處理,因此數(shù)據(jù)長度校驗主要用于校驗壓縮后的數(shù)據(jù)包是否完整。在游戲引擎中進行數(shù)據(jù)有效性校驗時,判斷解密出來的數(shù)據(jù)內(nèi)容是否有效,如果無效,則說明數(shù)據(jù)存在丟失。
[0160]當(dāng)在腳本引擎層對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗時,包括對網(wǎng)絡(luò)游戲數(shù)據(jù)進行協(xié)議長度校驗和數(shù)據(jù)有效性校驗。其中,協(xié)議長度校驗時以網(wǎng)絡(luò)通信協(xié)議包格式定義為依據(jù)判斷解壓后的協(xié)議包是否完整。例如,網(wǎng)絡(luò)游戲數(shù)據(jù)包在傳送時通常會在傳輸雙方中約定傳輸協(xié)議,例如約定某個字節(jié)為固定值,當(dāng)進行數(shù)據(jù)長度校驗時,則可以通過協(xié)議包格式定義判斷解壓后的協(xié)議包是否完整,其與在游戲引擎中進行數(shù)據(jù)長度校驗略有不同,是通過數(shù)據(jù)的內(nèi)容判斷數(shù)據(jù)是否完整。在腳本引擎層對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)有效性校驗時,也可以利用解密方法進行檢查,如果數(shù)據(jù)被修改,則解密出來的數(shù)據(jù)為無效數(shù)據(jù)。將網(wǎng)絡(luò)游戲數(shù)據(jù)進行兩次校驗處理的目的在于防止監(jiān)聽客戶端的惡意程序修改網(wǎng)絡(luò)游戲數(shù)據(jù),以提高數(shù)據(jù)的安全性。
[0161]在本發(fā)明第二實施例中,服務(wù)器端接收客戶端設(shè)備分別在腳本引擎和游戲引擎中使用了不同的加密方法進行兩次加密處理后的網(wǎng)絡(luò)游戲數(shù)據(jù),并對網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密處理。由于客戶端向服務(wù)器發(fā)送的網(wǎng)絡(luò)游戲數(shù)據(jù)是經(jīng)過雙重加密的數(shù)據(jù),顯著地降低了數(shù)據(jù)被破解的風(fēng)險,并且提高了網(wǎng)絡(luò)游戲數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0162]如圖4所示,為根據(jù)本發(fā)明又一實施例的網(wǎng)絡(luò)游戲數(shù)據(jù)加密方法的流程圖,所示方法例如可以包括:
[0163]S401,使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
[0164]S402,使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。
[0165]S403,將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到客戶端,以使得所述客戶端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,以及,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0166]本發(fā)明圖4所示的方法應(yīng)用于服務(wù)器端,所述服務(wù)器可以與客戶端進行通信以交互網(wǎng)絡(luò)游戲數(shù)據(jù)。在服務(wù)器向客戶端發(fā)送網(wǎng)絡(luò)游戲數(shù)據(jù)之前,服務(wù)器分別使用不同的加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行兩次加密處理,以獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0167]具體實現(xiàn)時,在一種可能的實現(xiàn)方式中,服務(wù)器可以分別在腳本引擎中和游戲引擎中使用不同的加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行加密處理。其中,所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密包括:在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:在游戲弓I擎中使用第二加密方法對在腳本弓丨擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。由于游戲引擎較容易被監(jiān)聽,而跟蹤、監(jiān)聽腳本引擎的難度則較大,因此,本發(fā)明首先在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密,然后在游戲引擎中使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,這樣,發(fā)送到游戲引擎中的數(shù)據(jù)已經(jīng)是經(jīng)過腳本引擎加密處理后的數(shù)據(jù),即便有惡意程序?qū)τ螒蛞孢M行監(jiān)聽,也難以破解已經(jīng)進行第一加密后的密文數(shù)據(jù)。由此,大大提高了數(shù)據(jù)的安全性。具體實現(xiàn)時,第一加密方法和第二加密方法可以根據(jù)需要設(shè)定,在此不限定。其中,服務(wù)器端使用的腳本引擎加密方法即第一加密方法可以是動態(tài)實時更新的。
[0168]在一種可能的實現(xiàn)方式中,為了提高加密的效率,服務(wù)器可以進行在游戲引擎中使用不同的加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行兩次加密處理。具體地,所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密包括:在游戲引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:在游戲引擎中使用第二加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。由于服務(wù)器端的運行環(huán)境相對安全,為了兼顧加密的效率,可以將兩次加密過程均在游戲引擎中進行,只是使用不同的加密方法進行雙重加密。當(dāng)然,本領(lǐng)域技術(shù)人員可以理解的是,為了提高數(shù)據(jù)的安全性,也可以進行多重加密處理。
[0169]當(dāng)所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密具體為在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密時,可以利用服務(wù)器端實時更新的第一加密種子與第一加密規(guī)則生成腳本引擎的加密表,使用生成的加密表對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
[0170]同樣地,當(dāng)所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密具體為在游戲引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密時,可以利用服務(wù)器端實時更新的第一加密種子與第一加密規(guī)則生成游戲引擎的加密表,使用生成的加密表對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
[0171]具體實現(xiàn)時,在游戲引擎中使用第二加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:利用第二加密種子生成加密表;對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;利用生成的所述隨機偏移擾亂加密表對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。其中,第二加密方法可以為改進的RC4方法。
[0172]然后,服務(wù)器端將經(jīng)過雙重加密處理后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到客戶端,客戶端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,首先在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,然后,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密處理,以獲得解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0173]如圖5所示,為根據(jù)本發(fā)明再一實施例的網(wǎng)絡(luò)游戲數(shù)據(jù)解密方法的流程圖,所示方法例如可以包括:
[0174]S501,接收服務(wù)器端發(fā)送的雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述服務(wù)器端使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及使用第二加密方法對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的。
[0175]這一實施例的方法與圖4所示實施例的方法相對應(yīng)??蛻舳私邮辗?wù)器端發(fā)送的雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。服務(wù)器端對網(wǎng)絡(luò)游戲數(shù)據(jù)的加密處理過程可以參見前一實施例的描述。
[0176]S502,在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密。
[0177]S503,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0178]由于客戶端的安全性較低,因此本發(fā)明這一實施例中,兩次解密過程分別在游戲引擎和腳本引擎中進行。首先,在游戲引擎使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,而后,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。由于腳本弓I擎處理之前的數(shù)據(jù)均是密文數(shù)據(jù),可以很好地保護游戲數(shù)據(jù)的安全性。同時,由于腳本引擎解密沒有游戲引擎解密效率高,因此將第一次解密過程在游戲引擎中進行,可以提高解密效率。
[0179]具體實現(xiàn)時,客戶端還可以接收所述服務(wù)器端發(fā)送的第一解密種子與第一解密規(guī)則,所述第一解密種子與所述第一解密規(guī)則是所述服務(wù)器端實時更新的??蛻舳嗽谀_本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密時,可以使用所述服務(wù)器端發(fā)送的第一解密種子和第一解密規(guī)則,對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。也就是說,服務(wù)器端可以動態(tài)更新加密(解密)種子和加密(解密)規(guī)則,并將更新的加密(解密)種子和加密(解密)規(guī)則發(fā)送給客戶端,然后由客戶端利用從服務(wù)器端獲得第一加密(解密)種子和第一加密(解密)規(guī)則生成腳本引擎的加密表(解密表)。當(dāng)需要對網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密時,則使用生成的解密表對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密處理。由于服務(wù)器端相對于客戶端的數(shù)據(jù)安全性更高,可以由服務(wù)器端動態(tài)更新加密(解密)種子和加密(解密)規(guī)則,從而使得加密方法更加難以被破解,進而提高了客戶端數(shù)據(jù)的安全性。
[0180]為了檢驗數(shù)據(jù)包在傳輸過程中是否存在丟失的情況,本發(fā)明提供的方法還進一步包括:對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。具體實現(xiàn)時,對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗包括:分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
[0181]當(dāng)在游戲引擎層對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗時,包括對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。數(shù)據(jù)長度校驗是根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包的包頭所描述的長度為依據(jù),檢驗數(shù)據(jù)長度是否正確。在游戲引擎中進行校驗的數(shù)據(jù)由于經(jīng)過壓縮處理,因此數(shù)據(jù)長度校驗主要用于校驗壓縮后的數(shù)據(jù)包是否完整。在游戲引擎中進行數(shù)據(jù)有效性校驗時,判斷解密出來的數(shù)據(jù)內(nèi)容是否有效,如果無效,則說明數(shù)據(jù)存在丟失。
[0182]當(dāng)在腳本引擎層對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗時,包括對網(wǎng)絡(luò)游戲數(shù)據(jù)進行協(xié)議長度校驗和數(shù)據(jù)有效性校驗。其中,協(xié)議長度校驗時以網(wǎng)絡(luò)通信協(xié)議包格式定義為依據(jù)判斷解壓后的協(xié)議包是否完整。例如,網(wǎng)絡(luò)游戲數(shù)據(jù)包在傳送時通常會在傳輸雙方中約定傳輸協(xié)議,例如約定某個字節(jié)為固定值,當(dāng)進行數(shù)據(jù)長度校驗時,則可以通過協(xié)議包格式定義判斷解壓后的協(xié)議包是否完整,其與在游戲引擎中進行數(shù)據(jù)長度校驗略有不同,是通過數(shù)據(jù)的內(nèi)容判斷數(shù)據(jù)是否完整。在腳本引擎層對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)有效性校驗時,也可以利用解密方法進行檢查,如果數(shù)據(jù)被修改,則解密出來的數(shù)據(jù)為無效數(shù)據(jù)。將網(wǎng)絡(luò)游戲數(shù)據(jù)進行兩次校驗處理的目的在于防止監(jiān)聽客戶端的惡意程序修改網(wǎng)絡(luò)游戲數(shù)據(jù),以提高數(shù)據(jù)的安全性。
[0183]在本發(fā)明第四實施例中,客戶端接收服務(wù)器經(jīng)過雙重加密處理后的游戲數(shù)據(jù),并分別在游戲引擎中和腳本引擎中使用對應(yīng)的解密方法進行解密處理,由于腳本引擎難以被監(jiān)聽且在腳本引擎處理前的數(shù)據(jù)均為密文數(shù)據(jù),因此數(shù)據(jù)難以被破解,顯著提高了網(wǎng)絡(luò)游戲數(shù)據(jù)的安全性。
[0184]需要說明的是,以上實施例均以雙重加密為了進行說明,本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明提供的方法還可以包括對網(wǎng)絡(luò)游戲數(shù)據(jù)進行多重加密處理,可以參照上述實施例進行,再此不贅述。
_5] 示例性設(shè)備
[0186]在介紹了根據(jù)本發(fā)明示例性實施方式的方法之后,接下來,參考圖6對根據(jù)本發(fā)明一實施例的客戶端設(shè)備進行介紹。所述客戶端設(shè)備600例如可以包括:
[0187]第一加密模塊601,配置用于在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及將在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到游戲引擎中;
[0188]第二加密模塊602,配置用于在游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);
[0189]第一發(fā)送模塊603,配置用于將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端,以使得所述服務(wù)器端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,可以分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
[0190]優(yōu)選地,所述客戶端設(shè)備600還包括:
[0191]第三接收模塊604,配置用于接收所述服務(wù)器端發(fā)送的第一加密種子與第一加密規(guī)則,所述第一加密種子與所述第一加密規(guī)則是所述服務(wù)器端實時更新的;
[0192]其中,所述第一加密模塊601配置用于:
[0193]使用所述服務(wù)器端發(fā)送的第一加密種子和第一加密規(guī)則對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
[0194]優(yōu)選地,所述第二加密模塊602包括:
[0195]第一加密表生成單元,配置用于利用第二加密種子生成加密表;
[0196]第一隨機偏移擾亂加密表生成單元,配置用于對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;
[0197]第一加密單元,配置用于利用生成的所述隨機偏移擾亂加密表對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0198]如圖7所示,為根據(jù)本發(fā)明另一實施例的服務(wù)器設(shè)備框圖,所述服務(wù)器設(shè)備700例如可以包括:
[0199]第一接收模塊701,配置用于接收客戶端設(shè)備發(fā)送的經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述客戶端設(shè)備在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;
[0200]第一解密模塊702,配置用于使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密;
[0201]第二解密模塊703,配置用于使用與所述第一加密方法對應(yīng)的第一解密方法對進行第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0202]優(yōu)選地,所述第一解密模塊702配置用于:
[0203]在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0204]所述第二解密模塊703配置用于:
[0205]在游戲引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0206]優(yōu)選地,所述第一解密模塊702配置用于:
[0207]在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0208]所述第二解密模塊703配置用于:
[0209]在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0210]優(yōu)選地,所述服務(wù)器設(shè)備700還包括:
[0211]第一校驗?zāi)K704,配置用于對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
[0212]優(yōu)選地,所述第一校驗?zāi)K704配置用于:
[0213]分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
[0214]如圖8所示,為根據(jù)本發(fā)明又一實施例的服務(wù)器設(shè)備800框圖,所述服務(wù)器設(shè)備800例如可以包括:
[0215]第三加密模塊801,配置用于使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0216]第四加密模塊802,配置用于使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密;
[0217]第二發(fā)送模塊803,配置用于將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到客戶端,以使得所述客戶端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,以及,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0218]優(yōu)選地,所述第三加密模塊801配置用于:
[0219]在游戲引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;[0220]所述第四加密模塊802配置用于:
[0221]在游戲引擎中使用第二加密方法對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加
LU O
[0222]優(yōu)選地,所述第三加密模塊801配置用于:
[0223]在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;
[0224]所述第四加密模塊802配置用于:
[0225]在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。
[0226]優(yōu)選地,所述第四加密模塊802包括:
[0227]第二加密表生成單元,配置用于利用第二加密種子生成加密表;
[0228]第二隨機偏移擾亂加密表生成單元,配置用于對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;
[0229]第二加密單元,配置用于利用生成的所述隨機偏移擾亂加密表對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
[0230]如圖9所示,為根據(jù)本發(fā)明再一實施例的客戶端設(shè)備框圖,所述客戶端設(shè)備900例如可以包括:
[0231]第二接收模塊901,配置用于接收服務(wù)器端發(fā)送的雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述服務(wù)器端使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;
[0232]第三解密模塊902,配置用于在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;
[0233]第四解密模塊903,配置用于在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0234]優(yōu)選地,所述客戶端設(shè)備900還包括:
[0235]第四接收模塊904,配置用于接收所述服務(wù)器端發(fā)送的第一解密種子與第一解密規(guī)則,所述第一解密種子與所述第一解密規(guī)則是所述服務(wù)器端實時更新的;
[0236]其中,所述第四解密模塊903配置用于:
[0237]使用所述服務(wù)器端發(fā)送的第一解密種子和第一解密規(guī)則,對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
[0238]優(yōu)選地,所述客戶端設(shè)備900還包括:
[0239]第二校驗?zāi)K905,配置用于對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
[0240]優(yōu)選地,所述第二校驗?zāi)K905配置用于:
[0241]分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
[0242]應(yīng)當(dāng)注意,盡管在上文詳細描述中提及了設(shè)備的若干裝置或子裝置,但是這種劃分僅僅是示例性的并非強制性的。實際上,根據(jù)本發(fā)明的其他實施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進一步劃分為由多個裝置來具體化。[0243]此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
[0244]雖然已經(jīng)參考若干【具體實施方式】描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的【具體實施方式】,對各方面的劃分也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。
【權(quán)利要求】
1.一種方法,包括:在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;將在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到游戲引擎中,在所述游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端,以使得所述服務(wù)器端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
2.根據(jù)權(quán)利要求1所述的方法,還包括:接收所述服務(wù)器端發(fā)送的第一加密種子與第一加密規(guī)則,所述第一加密種子與所述第一加密規(guī)則是所述服務(wù)器端實時更新的;其中,所述在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密包括:使用所述服務(wù)器端發(fā)送的第一加密種子和第一加密規(guī)則對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述在所述游戲引擎中使用第二加密方法對所述在腳本弓丨擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)包括:利用第二加密種子生成加密表;對所述加密表進行隨機偏移擾`亂處理以生成隨機偏移擾亂加密表;利用生成的所述隨機偏移擾亂加密表對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
4.一種方法,包括:接收客戶端發(fā)送的經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述客戶端在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密包括:在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;在游戲引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
6.根據(jù)權(quán)利要求4所述的方法,其中,所述分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密包括:在游戲引擎中使用與第二加密方法對應(yīng)的第二解密方法對雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
7.根據(jù)權(quán)利要求4所述的方法,還包括:對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗包括:分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
9.一種方法,包括:使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密;將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到客戶端,以使得所述客戶端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,以及,在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
10.根據(jù)權(quán)利要求9所述的方法,其中,所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密 包括:在游戲引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:在游戲引擎中使用第二加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。
11.根據(jù)權(quán)利要求9所述的方法,其中,所述使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密包括:在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密。
12.根據(jù)權(quán)利要求9-11任意一項所述的方法,其中,所述使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密包括:利用第二加密種子生成加密表;對所述加密表進行隨機偏移擾亂處理以生成隨機偏移擾亂加密表;利用生成的所述隨機偏移擾亂加密表對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)。
13.—種方法,包括:接收服務(wù)器端發(fā)送的雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述服務(wù)器端使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及使用第二加密方法對第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
14.根據(jù)權(quán)利要求13所述的方法,所述方法還包括:接收所述服務(wù)器端發(fā)送的第一解密種子與第一解密規(guī)則,所述第一解密種子與所述第一解密規(guī)則是所述服務(wù)器端實時更新的;其中,所述在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密包括:使用所述服務(wù)器端發(fā)送的第一解密種子和第一解密規(guī)則,對所述網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
15.根據(jù)權(quán)利要求13所述的方法,還包括:對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗。
16.根據(jù)權(quán)利要求15所述的方法,其中,所述對接收的網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)完整性校驗包括:分別在游戲引擎中和腳本引擎中對網(wǎng)絡(luò)游戲數(shù)據(jù)進行數(shù)據(jù)長度校驗和數(shù)據(jù)有效性校驗。
17.—種客戶端設(shè)備,包括:第一加密模塊,配置用于在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及將在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)發(fā)送到游戲引擎中;第二加密模塊,配置用于在游戲引擎中使用第二加密方法對所述在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密,獲得雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);第一發(fā)送模塊,配置用于將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到服務(wù)器端,以使得所述服務(wù)器端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,可以分別使用與所述第二加密方法對應(yīng)的第二解密方法以及與所述第一加密方法對應(yīng)的第一解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密。
18.—種服務(wù)器設(shè)備,包括:第一接收模塊,配置用于接收客戶端設(shè)備發(fā)送的經(jīng)過雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述客戶端設(shè)備在腳本引擎中使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及在游戲引擎中使用第二加密方法對在腳本引擎中加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;第一解密模塊,配置用于使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行解密;第二解密模塊,配置用于使用與所述第一加密方法對應(yīng)的第一解密方法對進行第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
19.一種服務(wù)器設(shè)備,包括:第三加密模塊,配置用于使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密;第四加密模塊,配置用于使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密;第二發(fā)送模塊,配置用于將進行雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到客戶端,以使得所述客戶端在接收到所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)后,在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密,以及,在腳本弓丨擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
20.—種客戶端設(shè)備,包括:第二接收模塊,配置用于接收服務(wù)器端發(fā)送的雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù);其中,所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)是由所述服務(wù)器端使用第一加密方法對網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次加密以及使用第二加密方法對進行第一次加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次加密后而獲得的;第三解密模塊,配置用于在游戲引擎中使用與所述第二加密方法對應(yīng)的第二解密方法對所述雙重加密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第一次解密;第四解密模塊,配置用于在腳本引擎中使用與第一加密方法對應(yīng)的第一解密方法對第一次解密后的網(wǎng)絡(luò)游戲數(shù)據(jù)進行第二次解密。
【文檔編號】G06F9/44GK103607402SQ201310610956
【公開日】2014年2月26日 申請日期:2013年11月26日 優(yōu)先權(quán)日:2013年11月26日
【發(fā)明者】張志豪, 莊禮深 申請人:廣州博冠信息科技有限公司