關于“將軍令”工作原理與算法思想的研究_第1頁
關于“將軍令”工作原理與算法思想的研究_第2頁
關于“將軍令”工作原理與算法思想的研究_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

關于“將軍令”工作原理與算法思想的研究

摘要:“將軍令”是每隔1min產(chǎn)生一個全新的、不能重復使用的密碼(6位),用來保護網(wǎng)易通行證(游戲賬號)、直銷商賬號的密碼。文章根據(jù)作者的研究,闡述了幾種可行的“將軍令”的工作原理與算法思想。

關鍵詞:將軍令;動態(tài)密碼;原理;算法

“將軍令”是廣州網(wǎng)易互動娛樂有限公司自主研發(fā)的、具有完全知識產(chǎn)權的高科技身份認證產(chǎn)品,專門用來保護網(wǎng)易通行證(游戲賬號)、直銷商賬號的密碼?!皩④娏睢笔敲扛?min(60s)產(chǎn)生一個全新的、不能重復使用的密碼(6位),俗稱“動態(tài)密碼”。采用“將軍令”后,網(wǎng)易以“賬號+密碼+動態(tài)密碼”的形式對游戲ID進行保護,大大提高了賬號的安全性。對于將軍令的工作原理,很多人提出自己的設想,筆者也就自己的研究,進行如下闡述。

“將軍令”的實際工作流程很簡單:即用戶端(“將軍令”本身)產(chǎn)生一個動態(tài)密碼,然后將這個動態(tài)密碼和服務器端進行匹配。由于用戶端在出廠之后,同服務器端就再沒有物理上直接的聯(lián)系,因而,如何與服務器端保持邏輯上的同步是最大的問題,即如何保證用戶端產(chǎn)生的動態(tài)密碼與服務器端驗證的動態(tài)密碼是一個密碼。

1第一種設想

在“將軍令”內(nèi)置微型芯片,里面保存大量“以6位數(shù)字為一組”的預定數(shù)組(6位數(shù)字動態(tài)碼),每60s自動讀取下一組新數(shù)組,數(shù)組的排列順序無規(guī)律并無一相同,但全部已經(jīng)預先存放好,利用循環(huán)模式,當讀完最后一組數(shù)后便從頭再開始讀取第一組數(shù)組。主機服務器端也同樣預先存放好同樣的數(shù)組列,啟用“將軍令”時以序列號來識別該取用哪一條數(shù)組列。這種方法是一種最易實現(xiàn)的方法,但這也是一種最易被破解的方法,安全性較低。

2第二種設想

這種設想是利用算法來實現(xiàn)動態(tài)密碼的產(chǎn)生。

算法思想1:用戶端在出廠時就植入一個算法,這個算法同樣會被保存在服務器端。這個算法不一定要很復雜,比如f(x)=aX+b,X最好是一些獨特的,各個“將軍令”都不重復的數(shù)字,比如“將軍令”的序列號等。a可以是一個固定的數(shù)字,而b可以是一個動態(tài)變化的數(shù)字,如第1次產(chǎn)生動態(tài)密碼,b就為“1”;第2次產(chǎn)生動態(tài)密碼,b就為“2”……

算法思想2:用戶端產(chǎn)生的動態(tài)密碼是一個與時間有關的動態(tài)密碼,即密碼M與時間T之間存在著關系:M=rand(TX),rand()為隨機函數(shù),TX為隨機函數(shù)的種子,x為另一因素,比如“將軍令”的序列號等。

這里,x是一個服務器端已知的變量,出廠時就已經(jīng)設定了,最大的可能是“將軍令”的序列號所對應的一個因子,在生產(chǎn)“將軍令”寫入初始數(shù)據(jù)的時候,同時被植入用戶端和服務器端,由于每個“將軍令”的序列號是唯一的,因而,拿不到“將軍令”就無法知道x,也就無法知道動態(tài)密碼M。

顯然,只有因子X是不夠的,M=rand(x)是可以產(chǎn)生一個密碼M,但這個密碼M顯然無法動態(tài)變化,也就失去了意義,因而時間因子T也同樣不可缺少。但是,引入時間因子T之后,又將產(chǎn)生一個問題:就是用戶端和服務器端時間同步的問題。

時間同步的同題,筆者認為可以這樣解決:服務器端固定T0,引入因子△t,服務器端植入△t,△t為用戶端時鐘同服務器端時鐘之差,即△t=T3-T1這樣,用戶端的密碼M=rand(T3X),服務器端密碼M=rand((T1+△t)X)。對于成千上萬的用戶端在服務器端只要記錄了△t就可以了。這個△t,可以在“將軍令”生產(chǎn)的時候植入服務器端予以記錄。開通“將軍令”后,在提交序列號和動態(tài)密碼的時候,服務器端動態(tài)的調(diào)整△t,服務器端計算M=rand[(T2+△t)X],并且在△t的基礎上,計算出……,△t-5*60,△t-4*60,△t-3*60,△t-2*60,△t-1*60,△t,△t+1*60,△t+2*60,△t+3*60,△t+4*60,△t+5*60,……這個數(shù)列。具體數(shù)列長度根據(jù)需要來定,由于是產(chǎn)生隨機6位數(shù)的函數(shù),在這個數(shù)列中是不會出現(xiàn)重復的M的。這樣,就可以計算出△t附近前后相差n分鐘所產(chǎn)生的密碼M,只需要比對提交的動態(tài)密碼與數(shù)列中的哪個值對應,就可以動態(tài)的調(diào)整△t。假設,動態(tài)密碼與△t-2*60對應的密碼相同,就可以調(diào)整△t=△t-2*60。這樣,解決了用戶端從出廠到開通使用所產(chǎn)生的時間誤差。這個n,根據(jù)實際需要制定。

在使用“將軍令”的時候,采用同樣的方法可以同步。在確定了At后,服務器端在每次驗證的時候,只要算出M1=rand[(TI+△t-y)x],M=rand[(TI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論