專利名稱:一種網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)游戲技術(shù)領(lǐng)域,具體涉及一種網(wǎng)絡(luò)游戲客戶端與服 務(wù)器集群的認(rèn)證方法。
背景技術(shù):
隨著計算機網(wǎng)絡(luò)游戲的發(fā)展, 一個單一游戲世界承載的玩家數(shù)量在 不斷地增加,對服務(wù)器的處理要求也在不斷地提升,因此不可'能使用一 臺服務(wù)器就能實現(xiàn)一個游戲世界,而往往需要多臺服務(wù)器(服務(wù)器集群) 合作完成這一任務(wù)。每臺服務(wù)器只承擔(dān)整個游戲世界的一部分,具體的 劃分方式由具體的游戲?qū)崿F(xiàn)策略決定,這樣就有效的均分了服務(wù)器的壓 力,使得流暢的,宏大的游戲世界成為可能。
由此就引發(fā)了 一個問題,當(dāng)玩家在游戲世界的各個部分之間轉(zhuǎn)移, 對應(yīng)的也就是在服務(wù)器集群中的各臺服務(wù)器之間切換的時候,如何認(rèn)證
玩家的身份?如圖1所示,當(dāng)客戶端從服務(wù)器a切換到服務(wù)器b的時候, 要在服務(wù)器b上面重新建立連接,服務(wù)器b必須要有一種方法'確定登錄 到自己上面的玩家就是剛才在服務(wù)器a上面的玩家而不是其他人。如果 這一點不能嚴(yán)格的做到,就有可能發(fā)生冒名頂替的情況,導(dǎo)致玩家利益 受損。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種網(wǎng)絡(luò)游戲客戶端與服務(wù)器集 群的認(rèn)證方法,使得用戶在不同網(wǎng)絡(luò)游戲服務(wù)器之間切換時,不會發(fā)生冒名頂替的現(xiàn)象。
本發(fā)明為解決上述^t術(shù)問題所采用的技術(shù)方案為
一種網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,所述服務(wù)器集群包 括一臺認(rèn)證服務(wù)器和至少一臺網(wǎng)絡(luò)游戲服務(wù)器,包4舌步驟
Al、客戶端生成第一非對稱加密密鑰對,將用戶名、密碼和第一非 對稱加密密鑰對中的公鑰,發(fā)送到所述認(rèn)_逸服務(wù)器;
A2、所述認(rèn)證服務(wù)器驗證所述用戶名和密碼的有效性,認(rèn)證通過之 后,所述認(rèn)證服務(wù)器分配一個隨機數(shù)和一個對稱算法密鑰,并 將所述隨機數(shù)和對稱算法密鑰使用第一非對稱加密密鑰對中 的公鑰加密之后,形成反饋信息,發(fā)送給所述客戶端,同時在 戶,述認(rèn)證服務(wù)器上保存所述用戶名、所述隨機數(shù)和所述對稱算 法密鑰;
A3、所述客戶端使用第一非對稱加密密鑰對中的私鑰解密所述反饋 信息,得到第一隨機數(shù)和所述對稱算法密鑰;
A4、所述客戶端使用所述對稱算法密鑰加密第一隨機數(shù),形成驗證 數(shù)據(jù),發(fā)送給網(wǎng)絡(luò)游戲服務(wù)器,所述網(wǎng)絡(luò)游戲服務(wù)器從所述認(rèn) 證服務(wù)器獲得所述隨機數(shù)和所述對稱算法密鑰,使用'所i^t稱 算法密鑰解密所述驗證信息,將得到的笫 一隨機數(shù)和從所述認(rèn) 證服務(wù)器獲得的所述隨機數(shù)進行對比,若兩個隨機數(shù)相同,則 確認(rèn)所述用戶名對應(yīng)的用戶身份,否則拒絕確認(rèn)所述用戶名對 應(yīng)的用戶身份;
A5、當(dāng)所述客戶端在不同網(wǎng)絡(luò)游戲服務(wù)器切換時,重復(fù)執(zhí)行步驟 A4。
所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其中在步驟A4 中,所述網(wǎng)絡(luò)游戲服務(wù)器將所述驗證數(shù)據(jù)發(fā)送到所述i人證服務(wù)器,由所述認(rèn)證服務(wù)器完成-瞼證工作。
所述的網(wǎng)絡(luò)游戲客戶端與月艮務(wù)器集群的認(rèn)證方法,其中第一非對
稱加密密鑰對由RSA算法生成。.
所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其中所述對稱算 法密鑰由DES算法生成。
一種網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,所述服務(wù)器集群包 括一臺認(rèn)證服務(wù)器和至少一臺網(wǎng)絡(luò)游戲服務(wù)器,包括步驟
Bl、在所述認(rèn)證服務(wù)器上部署第一非對稱加密密鑰對中的私鑰,在 客戶端部署第一非對稱加密密鑰對中的公鑰;
B2、所述客戶端生成第二非對稱加密密鑰對,將用戶名、'密碼和第 二非對稱加密密鑰對中的公鑰使用第 一非對稱加密密鑰對中 的公鑰加密,形成認(rèn)證信息,發(fā)送到所述iU正服務(wù)器;
B3、所述認(rèn)證服務(wù)器使用第一非對稱加密密鑰對中的私鑰解密所述 認(rèn)證信息,驗證所述用戶名和密碼的有效性,認(rèn)證通過之后, 所述認(rèn)證服務(wù)器分配一個隨機數(shù)和一個對稱算法密鑰,并將所 述隨機數(shù)和對稱算法密鑰使用第二非對稱加密密鑰對中的公 鑰加密之后,形成反饋信息,發(fā)送給所述客戶端,同時在所述 認(rèn)證服務(wù)器上保存所述用戶名、所述隨機數(shù)和所述對'稱算法密 鑰;
B4、所述客戶端使用第二非對稱加密密鑰對中的私鑰解密所述反饋 信息,得到第一隨機數(shù)和所迷對稱算法密鑰;
B5、所述客戶端使用所述對稱算法密鑰加密第一隨機數(shù),形成聰3正 數(shù)據(jù),發(fā)送給網(wǎng)絡(luò)游戲服務(wù)器,所述網(wǎng)絡(luò)游戲服務(wù)器從所述認(rèn) 證服務(wù)器獲得所述隨機數(shù)和所述對稱算法密鑰,使用所述對稱 算法密鑰解密所述驗證信息,將得到的第 一隨機數(shù)和從所述認(rèn)證服務(wù)器獲得的所述隨機數(shù)進行對比,若兩個隨機數(shù)相同,則 確認(rèn)所述用戶名對應(yīng)的用戶身份,否則拒絕確認(rèn)所述用戶名對
應(yīng)的用戶身份;
B6、當(dāng)所述客戶端在不同網(wǎng)絡(luò)游戲服務(wù)器切換時,重復(fù)執(zhí)行步驟B5。
所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其中在步驟B5 中,所述網(wǎng)絡(luò)游戲服務(wù)器將所述驗證數(shù)據(jù)發(fā)送到所述認(rèn)證服務(wù)器,由所 述認(rèn)證服務(wù)器完成驗證工作。
所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其中'第 一 非對 稱加密密鑰對由RSA算法生成。
所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其中第二非對 稱力口密密鑰對由RSA算法生成。
所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其中'所述對稱 算法密鑰由DES算法生成。
本發(fā)明的有益效果為本發(fā)明使用認(rèn)證服務(wù)器分發(fā)的一個隨機數(shù)和 一個對稱加密密鑰作為客戶端與服務(wù)器集群中的網(wǎng)絡(luò)游戲服務(wù)器進行 身份認(rèn)證和鑒權(quán)的^s出,從而不用在客戶端長期保存用戶的用戶名和密 碼,避免了用戶名和密碼泄漏的可能性,簡化了服務(wù)器集群的認(rèn)證過程, 提高了網(wǎng)絡(luò)游戲服務(wù)器的效率。
圖l為現(xiàn)有技術(shù)客戶端在網(wǎng)絡(luò)游戲服務(wù)器間切換示意圖; 圖2為本發(fā)明客戶端在網(wǎng)絡(luò)游戲服務(wù)器間切換示意圖; 圖3為本發(fā)明客戶端登錄認(rèn)證服務(wù)器示意圖; 圖4為本發(fā)明認(rèn)證服務(wù)器發(fā)送隨機數(shù)和對稱密鑰示意圖; 圖5為冬發(fā)明客戶端到網(wǎng)絡(luò)游戲服務(wù)器進行驗證的示意圖。
具體實施例方式
下面根據(jù)附圖和實施例對本發(fā)明作進一步詳細(xì)說明 如圖2所示,服務(wù)器集群中的服務(wù)器有兩種角色的區(qū)別, 一種是認(rèn) 證服務(wù)器,另外一種是網(wǎng)絡(luò)游戲服務(wù)器,認(rèn)證服務(wù)器只部署一臺,而網(wǎng) 絡(luò)游戲服務(wù)器部署多臺。本發(fā)明所描述的認(rèn)證方法按照如下步驟進行具 體的實施
1. 如附'圖3所示,客戶端生成自己的非對稱加密算法的密鑰對, 將用戶名和密碼還有自己的非對稱加密算法的密鑰對中的7>鑰 KClientPub使用認(rèn)證服務(wù)器的非對稱加密公鑰KServerPub加密 之后發(fā)送到認(rèn)證服務(wù)器。認(rèn)證服務(wù)器的非對稱加密z〉鑰 KServerPub是客戶端軟件安裝之后就獲得的。
2. 如附圖4所示,認(rèn)證服務(wù)器使用自己的非對稱加密算法私鑰 KServerPrv解密客戶端發(fā)來的認(rèn)證信息,-瞼證用戶名和密碼的 有效性。認(rèn)證通過之后,認(rèn)證服務(wù)器為該用戶分配一個隨才幾數(shù) 和一個對稱算法的密鑰K,并將這個隨機數(shù)和密鑰使用客戶端 的非對稱公鑰KClientPub加密之后發(fā)送給客戶端。同時在認(rèn)證 服務(wù)器上也保存玩家、隨機數(shù)和對稱密鑰??蛻舳耸盏街?, 使用自己的非對稱加密算法的密鑰對中的私鑰KClientPrv解密, 得到隨機數(shù)和對稱算法密鑰K。
3. 如附圖5所示,客戶端使用對稱算法密鑰K加密自己的隨^U數(shù) 發(fā)送到游戲服務(wù)器進行驗證,游戲服務(wù)器從認(rèn)證服務(wù)器獲得玩 家對應(yīng)的對稱算法密鑰和隨機數(shù),使用對稱算法密鑰解密客戶 端的'認(rèn)證數(shù)據(jù)并且比對其中的隨機數(shù),以此確認(rèn)玩家的身份。
4. 重復(fù)第3步在不同的游戲服務(wù)器之間切換。本領(lǐng)域技術(shù)人員不脫離本發(fā)明的實質(zhì)和精神,可以有多秤變-形方案 實現(xiàn)本發(fā)明,以上所述僅為本發(fā)明較佳可行的實施例而已,并非因此局 限本發(fā)明的權(quán)利范圍,凡運用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu) 變化,均包含于本發(fā)明的權(quán)利范圍之內(nèi)。
權(quán)利要求
1、一種網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其特征在于,所述服務(wù)器集群包括一臺認(rèn)證服務(wù)器和至少一臺網(wǎng)絡(luò)游戲服務(wù)器,包括步驟A1、客戶端生成第一非對稱加密密鑰對,將用戶名、密碼和第一非對稱加密密鑰對中的公鑰,發(fā)送到所述認(rèn)證服務(wù)器;A2、所述認(rèn)證服務(wù)器驗證所述用戶名和密碼的有效性,認(rèn)證通過之后,所述認(rèn)證服務(wù)器分配一個隨機數(shù)和一個對稱算法密鑰,并將所述隨機數(shù)和對稱算法密鑰使用第一非對稱加密密鑰對中的公鑰加密之后,形成反饋信息,發(fā)送給所述客戶端,同時在所述認(rèn)證服務(wù)器上保存所述用戶名、所述隨機數(shù)和所述對稱算法密鑰;A3、所述客戶端使用第一非對稱加密密鑰對中的私鑰解密所述反饋信息,得到第一隨機數(shù)和所述對稱算法密鑰;A4、所述客戶端使用所述對稱算法密鑰加密第一隨機數(shù),形成驗證數(shù)據(jù),發(fā)送給網(wǎng)絡(luò)游戲服務(wù)器,所述網(wǎng)絡(luò)游戲服務(wù)器從所述認(rèn)證服務(wù)器獲得所述隨機數(shù)和所述對稱算法密鑰,使用所述對稱算法密鑰解密所述驗證信息,將得到的第一隨機數(shù)和從所述認(rèn)證服務(wù)器獲得的所述隨機數(shù)進行對比,若兩個隨機數(shù)相同,則確認(rèn)所述用戶名對應(yīng)的用戶身份,否則拒絕確認(rèn)所述用戶名對應(yīng)的用戶身份;A5、當(dāng)所述客戶端在不同網(wǎng)絡(luò)游戲服務(wù)器切換時,重復(fù)執(zhí)行步驟A4。
2、根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其特征在于在步驟A4中,所述網(wǎng)絡(luò)游戲服務(wù)器將所述驗證數(shù)據(jù) 發(fā)送到所迷認(rèn)證服務(wù)器,由所述認(rèn)證服務(wù)器完成驗證工作。
3、 根據(jù)權(quán)利要求1或2所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證 方法,其特征在于第一非對稱加密密鑰對由RSA算法生成。
4、 根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方 法,其特征在于所述對稱算法密鑰由DES算法生成。
5、 一種網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,其特^E在于, 所述服務(wù)器集群包括一臺認(rèn)證服務(wù)器和至少一臺網(wǎng)絡(luò)游戲服務(wù)器,包括 步驟Bl、在所述認(rèn)證服務(wù)器上部考第一非對稱加密密鑰對中的私鑰,在 客戶端部署第一非對稱加密密鑰對中的公鑰;B2、所il^戶端生成第二非對稱加密密鑰對,將用戶名、密碼和第 二非對稱加密密鑰對中的公鑰使用第 一非對稱加密密鑰對中 的7>鑰加密,形成認(rèn)證信息,發(fā)送到所述認(rèn)證服務(wù)器;B3 、所述認(rèn)證服務(wù)器使用第 一 非對稱加密密鑰對中的私鑰'解密所述 i人證信息,驗證所述用戶名和密碼的有效性,認(rèn)證通過之后, 所迷認(rèn)證服務(wù)器分配一個隨機數(shù)和一個對稱算法密鑰,并將所 迷隨機數(shù)和對稱算法密^1使用第二非對稱加密密鑰.對中的公 鑰加密之后,形成反饋信息,發(fā)送給所g戶端,同時在所述 認(rèn)證服務(wù)器上保存所述用戶名、所述隨機數(shù)和所述對稱算法密 鑰;B4、所述客戶端使用第二非對稱加密密鑰對中的私鑰解密所述反饋 信息,得到第一隨機數(shù)和所述對稱算法密鑰;B5、所i4^戶端使用所述對稱算法密鑰加密第一隨機數(shù),形成 £ 數(shù)據(jù),發(fā)送給網(wǎng)絡(luò)游戲服務(wù)器,所述網(wǎng)絡(luò)游戲服務(wù)器從所述認(rèn)證服務(wù)器獲得所述隨機數(shù)和所述對稱算法密鑰,使用所述對稱 算法密鑰解密所述驗證信息,將得到的第 一隨機數(shù)和從所述認(rèn) 證服務(wù)器獲得的所述隨機數(shù)進行對比,若兩個隨機數(shù)相同,則 確認(rèn)所述用戶名對應(yīng)的用戶身份,否則拒絕確認(rèn)所述用戶名對應(yīng)的用戶身份;B6、當(dāng)所述客戶端在不同網(wǎng)絡(luò)游戲服務(wù)器切換時,重復(fù)執(zhí)行步驟B5。
6、 根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方 法,其特征在于在步驟B5中,所述網(wǎng)絡(luò)游戲服務(wù)器將所述驗證數(shù)據(jù) 發(fā)送到所述認(rèn)證服務(wù)器,由所述A證服務(wù)器完成驗證工作。
7、 根據(jù)權(quán)利要求5或6所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證 方法,其特征在于第一非對稱加密密鑰對由RSA算法生成。
8、 根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方 法,其特征在于第二非對稱加密密鑰對由RSA算法生成。.
9、 根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)游戲客戶端與月l務(wù)器集群的認(rèn)證方 法,其特征在于所述對稱算法密鑰由DES算法生成。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)游戲客戶端與服務(wù)器集群的認(rèn)證方法,包括步驟客戶端使用用戶名和密碼與認(rèn)證服務(wù)器進行身份認(rèn)證;認(rèn)證服務(wù)器通過客戶端的認(rèn)證之后,為客戶端分配一個隨機數(shù)和一個對稱加密密鑰;客戶端使用對稱加密密鑰加密隨機數(shù),用這個加密之后的隨機數(shù)作為認(rèn)證依據(jù)與服務(wù)器集群中的其他服務(wù)器進行身份認(rèn)證。本發(fā)明使用認(rèn)證服務(wù)器分發(fā)的一個隨機數(shù)和一個對稱加密密鑰作為客戶端與服務(wù)器集群中的網(wǎng)絡(luò)游戲服務(wù)器進行身份認(rèn)證和鑒權(quán)的基礎(chǔ),從而不用在客戶端長期保存用戶的用戶名和密碼,避免了用戶名和密碼泄漏的可能性,簡化了服務(wù)器集群的認(rèn)證過程,提高了網(wǎng)絡(luò)游戲服務(wù)器的效率。
文檔編號H04L12/16GK101431410SQ20071012442
公開日2009年5月13日 申請日期2007年11月9日 優(yōu)先權(quán)日2007年11月9日
發(fā)明者李清暉, 袁鋒峰, 略 魏 申請人:康佳集團股份有限公司