欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于短信的身份驗證方法、系統(tǒng)和裝置的制作方法

文檔序號:7903380閱讀:174來源:國知局
專利名稱:一種基于短信的身份驗證方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種基于短信的身份驗證方法、系統(tǒng)和裝置
背景技術(shù)
目前,用戶通過客戶端使用服務(wù)器端提供的有權(quán)限要求的軟件或應(yīng)用程序時,服務(wù)器通常通過客戶端要求用戶輸入相應(yīng)的密碼和賬號信息,以防止非法用戶的進入,但是處于黑客軟件盛行的網(wǎng)絡(luò)環(huán)境下,常常會出現(xiàn)用戶密碼被盜取的現(xiàn)象,因此,嚴重侵害了合法用戶使用服務(wù)器端提供的有權(quán)限要求的軟件或應(yīng)用程序的權(quán)益?,F(xiàn)有技術(shù)中常用的身份驗證技術(shù)有靜態(tài)密碼認證技術(shù),其用用戶的賬號名和密碼來認證和識別用戶的合法性,其主要特點是用一個固定的密碼去激活一個特定的賬號, 但由于密碼和賬號作為軟性標識,靜態(tài)不變,且在網(wǎng)絡(luò)中傳輸,存在許多弊端和安全漏洞, 針對它的破解技術(shù)在不斷發(fā)展,產(chǎn)生了許多可以盜取賬號密碼的工具和方法,例如采取竊取、破譯、偷窺、騙取等,此外對用戶創(chuàng)建、記憶、修改口令的要求較高,口令設(shè)定太簡單容易破解,設(shè)得太復(fù)雜,就容易被遺忘。

發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于短信的身份驗證方法、系統(tǒng)和裝置,身份驗證信息傳送保密度高,也無需配備專用認證設(shè)備。本發(fā)明采取的技術(shù)方案是,一種基于短信的身份驗證裝置包括第一收發(fā)模塊,用于接收客戶端發(fā)送來的用戶信息、登錄請求以及驗證碼并傳輸給驗證模塊,用于向客戶端返回相應(yīng)應(yīng)答結(jié)果;還用于接收生成模塊傳輸來的驗證碼并向與當前登錄請求綁定的手機號發(fā)送包含驗證碼的短信;存儲模塊,用于存儲用戶信息、手機號、起始參考時間、校驗碼生成時間、認證基數(shù)、時間戳、存活周期、用戶密鑰;計數(shù)模塊,用于對認證基數(shù)進行計數(shù),并將計數(shù)結(jié)果即當前認證基數(shù)傳輸給存儲模塊,用于對時間戳清零并將清零結(jié)果傳輸給存儲模塊;判斷模塊,用于判斷當前時間戳是否為零,還用于判斷當前時間戳是否超出存活周期;生成模塊,用于獲取存儲模塊中的當前認證基數(shù)和用戶密鑰并生成驗證碼或校驗碼,用于將生成的驗證碼傳輸給第一收發(fā)模塊,將生成的校驗碼傳輸給驗證模塊;驗證模塊,用于接收第一收發(fā)模塊傳輸來的驗證碼和生成模塊傳輸來的校驗碼, 并比對兩者是否一致,并將比對結(jié)果傳輸給控制模塊;還用于驗證第一收發(fā)模塊傳輸來的用戶信息是否與存儲模塊中存儲的用戶信息一致,并將驗證結(jié)果傳輸給控制模塊;控制模塊,用于接收驗證模塊傳輸來的比對結(jié)果和驗證結(jié)果,并根據(jù)比對結(jié)果向第一收發(fā)模塊發(fā)送認證成功或失敗的返回碼,根據(jù)驗證結(jié)果控制第一收發(fā)模塊向客戶端發(fā)
6送是否通過臨時驗證的應(yīng)答;計算模塊,用于計算當前時間與起始參考時間的差值,用于根據(jù)差值和存活周期計算得到認證基數(shù)預(yù)增加的步長。所述存儲模塊還用于存儲驗證碼,當存儲模塊接收到生成模塊發(fā)送來的驗證碼則用所述接收到的驗證碼替換當前存儲的驗證碼;所述生成模塊還用于將生成的驗證碼傳輸給存儲模塊;所述驗證模塊還用于直接從存儲模塊獲取驗證碼,并比對所述獲取的驗證碼與接收到的第一收發(fā)模塊傳輸來的驗證碼是否一致,并將比對結(jié)果傳輸給控制模塊。一種基于短信的身份驗證系統(tǒng)包括身份驗證裝置、客戶端和手機,所述身份驗證裝置,用于接收客戶端傳輸來的用戶登錄請求和用戶信息,用于產(chǎn)生驗證碼發(fā)送到用戶手機,還用于接收客戶端傳輸來的驗證碼,驗證接收到的驗證碼是否正確并將驗證結(jié)果返回給客戶端;所述客戶端,用于接收用戶輸入的登錄請求并將用戶信息和所述登錄請求發(fā)送給所述身份驗證裝置,用于接收用戶輸入的驗證碼并發(fā)送給所述身份驗證裝置以及接收所述身份驗證裝置返回的驗證結(jié)果;所述手機,用于接收所述身份驗證裝置發(fā)送來的驗證碼并顯示給用戶。所述客戶端包括第二收發(fā)模塊,用于接收用戶輸入的驗證碼及登錄請求并發(fā)送給身份驗證裝置, 用于接收所述身份驗證裝置返回的驗證結(jié)果及是否通過臨時驗證的應(yīng)答;液晶顯示模塊用于顯示所述第二收發(fā)模塊接收到的所述身份驗證裝置返回的驗證結(jié)果及是否通過臨時驗證的應(yīng)答。所述手機包括第三收發(fā)模塊,用于接收所述身份驗證裝置發(fā)送來的短信并傳輸給短信存儲模塊;短信存儲模塊,用于存儲所述第三收發(fā)模塊傳輸來的短信;顯示模塊,用于從所述短信存儲模塊獲取短信并顯示。一種基于短信的身份驗證方法,包括服務(wù)器生成驗證碼的過程和所述服務(wù)器驗證接收到的驗證碼的過程;所述服務(wù)器生成驗證碼的過程包括以下步驟,步驟Sl 服務(wù)器接收用戶登錄請求;步驟S2 所述服務(wù)器判斷當前時間戳是否為無效,是則執(zhí)行步驟S3,否則執(zhí)行步驟S4 ;步驟S3 所述服務(wù)器生成驗證碼并更新當前時間戳,然后執(zhí)行步驟S5 ;步驟S4 所述服務(wù)器判斷當前時間是否超出存活周期,是則生成驗證碼然后執(zhí)行下一步,否則生成驗證碼并更新當前時間戳然后執(zhí)行下一步;具體為若當前時間的時間值大于當前時間戳加存活周期得到的時間值,則當前時間超出存活周期。步驟S5 所述服務(wù)器發(fā)送所述驗證碼到與所述用戶登錄請求綁定的手機號;所述服務(wù)器驗證接收到的驗證碼的過程包括以下步驟,步驟S6 所述服務(wù)器接收到驗證碼和第二用戶信息,判斷當前時間是否超出存活周期,是則認證失敗,否則執(zhí)行下一步;
步驟S7 所述服務(wù)器生成校驗碼,將所述校驗碼與接收到的所述驗證碼進行比對,若一致則執(zhí)行下一步,否則認證失?。徊襟ES8 服務(wù)器將當前時間戳置為無效;步驟S9:認證成功。所述步驟Sl具體為服務(wù)器接收到客戶端發(fā)送來的用戶登錄請求,從中提取第一用戶信息,在數(shù)據(jù)庫中檢索是否存在與所述第一用戶信息相符的用戶信息,若存在則通過臨時驗證,所述服務(wù)器從數(shù)據(jù)庫中提取與所述第一用戶信息綁定的手機號,若不存在則認證失敗。所述步驟S6還包括所述服務(wù)器接收到所述驗證碼和所述第二用戶信息,并判斷所述第二用戶信息是否與存儲的所述第一用戶信息一致,若一致則判斷當前時間是否超出存活周期,否則認證失敗。所述步驟S2之前包括所述服務(wù)器從數(shù)據(jù)庫中獲取當前認證基數(shù)和當前時間戳;步驟S3所述服務(wù)器生成驗證碼并更新當前時間戳具體為所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成驗證碼,并將當前時間戳更新為生成驗證碼的時間;步驟S4中所述若當前時間未超出存活周期則生成驗證碼具體為所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成驗證碼;步驟S4中所述若當前時間超出存活周期則生成驗證碼并更新當前時間戳具體為所述服務(wù)器將當前認證基數(shù)按預(yù)設(shè)規(guī)則計算并用計算結(jié)果更新當前認證基數(shù);所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,所述服務(wù)器采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成驗證碼,將當前時間戳更新為生成所述驗證碼的時間。步驟S7所述服務(wù)器生成校驗碼具體為所述服務(wù)器獲取當前認證基數(shù),根據(jù)第二用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成校驗碼;所述步驟S3或步驟S8還包括服務(wù)器將當前認證基數(shù)按預(yù)設(shè)規(guī)則進行計算并記錄計算結(jié)果,用計算結(jié)果更新當前認證基數(shù)。所述將當前認證基數(shù)按預(yù)設(shè)規(guī)則計算具體為將當前認證基數(shù)遞增或遞減預(yù)設(shè)步長。步驟S6所述判斷當前時間是否超出存活周期具體為判斷當前時間的時間值是否大于當前時間戳加存活周期得到的時間值。步驟S8所述當前時間戳置為無效優(yōu)選設(shè)置將當前時間戳清零。所述步驟S2之前可以包括所述服務(wù)器從數(shù)據(jù)庫中獲取起始參考時間、校驗碼生成時間、存活周期、當前認證基數(shù)和當前時間戳,從內(nèi)部時鐘源讀取當前時間,所述服務(wù)器根據(jù)起始參考時間、當前時間、存活周期計算得到第一步長;步驟S3所述服務(wù)器生成驗證碼并更新當前時間戳包括步驟205 判斷當前時間是否超出存活周期,是則執(zhí)行步驟205-1,否則執(zhí)行步驟 205-1';具體為判斷當前時間是否超出校驗碼生成時間加存活周期得到的時間值。步驟205-1 ‘將當前認證基數(shù)增加第二步長后得到的結(jié)果替換數(shù)據(jù)庫中存儲的當前認證基數(shù),然后執(zhí)行步驟205-1 ;步驟205-1 根據(jù)當前認證基數(shù)和第一步長計算得到第一計數(shù)值,然后執(zhí)行步驟 205-2 ;步驟205-2 根據(jù)所述第一計數(shù)值生成驗證碼,將當前時間戳更新為生成驗證碼的時間;步驟S4中所述若當前時間未超出存活周期則生成驗證碼具體為所述服務(wù)器根據(jù)當前認證基數(shù)和第一步長計算得到第二計數(shù)值;所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和所述第二計數(shù)值進行計算生成驗證碼;步驟S4中所述若當前時間超出存活周期則生成驗證碼并更新當前時間戳具體為所述服務(wù)器根據(jù)當前認證基數(shù)和第一步長計算得到第二計數(shù)值;所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和所述第二計數(shù)值進行計算生成驗證碼,所述服務(wù)器將當前時間戳更新為生成驗證碼的時間;步驟S7所述服務(wù)器生成校驗碼具體為根據(jù)起始參考時間、當前時間、存活周期計算得到第三步長;服務(wù)器獲取當前認證基數(shù),根據(jù)當前認證基數(shù)和第三步長計算得到第三計數(shù)值;所述服務(wù)器根據(jù)第二用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和所述第三計數(shù)值進行計算生成校驗碼;步驟S8之前包括記錄校驗碼生成時間。所述第一步長和第三步長的計算方法為將當前時間轉(zhuǎn)換為一個相對值,所述相對值是指當前時間與起始參考時間的差值,用所述相對值除以存活周期并取整數(shù)部分。所述步驟S3可用步驟S3’替換,所述步驟S4可用步驟S4’替換,所述步驟S7可用步驟S7’替換,且所述步驟S3’為,所述服務(wù)器生成驗證碼并用所述生成的驗證碼更新數(shù)據(jù)庫中存儲的驗證碼,將當前時間戳更新為生成驗證碼的時間;所述步驟S4’為,所述服務(wù)器判斷當前時間是否超出存活周期,然后執(zhí)行下一步;若當前時間未超出存活周期則獲取數(shù)據(jù)庫中存儲的驗證碼,若當前時間超出存活周期則所述服務(wù)器生成驗證碼并用所述生成的驗證碼更新數(shù)據(jù)庫中存儲的驗證碼,將當前時間戳更新為生成驗證碼的時間;所述步驟S7’為,所述服務(wù)器獲取數(shù)據(jù)庫中存儲的驗證碼,所述服務(wù)器將接收到的驗證碼和獲取的所述數(shù)據(jù)庫中存儲的驗證碼進行比對,若比對結(jié)果一致則執(zhí)行下一步,否則認證失敗。本發(fā)明具有如下有益效果1.驗證碼由服務(wù)器產(chǎn)生,通過外帶方式發(fā)送至用戶,可在一定程度上阻止中間人攻擊;2.驗證碼具備時效性,過期作廢。


圖1是實施例1提供的一種基于短信的身份驗證系統(tǒng)示意圖;圖2是實施例2提供的一種基于短信的身份驗證裝置組成框圖;圖3是實施例3提供的一種基于短信的身份驗證方法流程圖;圖4是實施例4提供的另一種基于短信的身份驗證方法流程圖5是實施例4提供的又一種基于短信的身份驗證方法流程圖。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為對本發(fā)明的限定。實施例1本實施例1提供了一種基于短信的身份驗證系統(tǒng),包括服務(wù)器10、客戶端20、手機 30,所述服務(wù)器10相當于一種身份驗證裝置,其中,所述服務(wù)器10用于接收客戶端20傳輸來的用戶登錄請求和用戶信息,用于產(chǎn)生驗證碼發(fā)送到用戶手機30,還用于接收客戶端20傳輸來的驗證碼,驗證接收到的驗證碼是否正確并將驗證結(jié)果返回給客戶端20 ;所述客戶端20用于接收用戶輸入的登錄請求并將用戶信息和登錄請求發(fā)送給服務(wù)器10,用于接收用戶輸入的驗證碼并發(fā)送給服務(wù)器10以及接收服務(wù)器10返回的驗證結(jié)果;所述手機30用于接收服務(wù)器10發(fā)送來的驗證碼并顯示給用戶。所述服務(wù)器10包括第一收發(fā)模塊101、存儲模塊102、計數(shù)模塊103、判斷模塊 104、生成模塊105、驗證模塊106、控制模塊107和計算模塊108 ;第一收發(fā)模塊101,用于收發(fā)客戶端20與服務(wù)器10之間傳輸?shù)臄?shù)據(jù),接收生成模塊105傳輸來的驗證碼并向綁定的手機號發(fā)送包含驗證碼的短信;本實施例中,第一收發(fā)模塊101具體用于接收客戶端20發(fā)送來的用戶信息、登錄請求以及驗證碼并傳輸給驗證模塊106,用于向客戶端20返回相應(yīng)應(yīng)答結(jié)果。存儲模塊102,用于存儲用戶信息、手機號、起始參考時間、校驗碼生成時間、認證基數(shù)、時間戳、存活周期、用戶密鑰;所述存儲模塊102還可以用于存儲驗證碼,當服務(wù)器接收到登錄請求時,若當前時間戳不為零且當前時間未超出存活周期則所述服務(wù)器直接從存儲模塊102獲取所述驗證碼發(fā)送給當前用戶綁定的手機號;相應(yīng)地當服務(wù)器接收到驗證碼時,直接從存儲模塊 102獲取當前存儲的驗證碼與所述接收到的驗證碼進行比對得出驗證結(jié)果。計數(shù)模塊103,用于對認證基數(shù)進行計數(shù),并將計數(shù)結(jié)果即當前認證基數(shù)傳輸給存儲模塊102,用于對時間戳清零并將清零結(jié)果傳輸給存儲模塊102 ;判斷模塊104,用于判斷當前時間戳是否為零,判斷當前時間是否超出存活周期;生成模塊105,用于獲取存儲模塊102中的當前認證基數(shù)和用戶密鑰,并根據(jù)所述當前認證基數(shù)和用戶密鑰生成驗證碼或校驗碼,并將生成的驗證碼傳輸給第一收發(fā)模塊 101,將生成的校驗碼傳輸給驗證模塊106 ;所述生成模塊105還用于將生成的驗證碼傳輸給存儲模塊102。驗證模塊106,用于接收第一收發(fā)模塊101傳輸來的驗證碼和生成模塊105傳輸來的校驗碼,并比對兩者是否一致,并將比對結(jié)果傳輸給控制模塊107 ;用于驗證第一收發(fā)模塊101傳輸來的用戶信息是否與存儲模塊102中存儲的用戶信息一致,并將驗證結(jié)果傳輸給控制模塊107 ;所述驗證模塊106還可以用于比對第一收發(fā)模塊101傳輸來的驗證碼和從存儲模塊102中獲取的驗證碼是否一致,并將比對結(jié)果傳輸給控制模塊107 ;
控制模塊107,用于接收驗證模塊106傳輸來的比對結(jié)果和驗證結(jié)果,并根據(jù)比對結(jié)果向第一收發(fā)模塊101發(fā)送認證成功或失敗的返回碼,根據(jù)驗證結(jié)果控制第一收發(fā)模塊 101向客戶端20發(fā)送是否通過臨時驗證的應(yīng)答;計算模塊108 用于計算當前時間與起始參考時間的差值,用于根據(jù)差值和存活周期計算得到認證基數(shù)預(yù)增加的步長;所述計數(shù)模塊103對認證基數(shù)進行計數(shù)時調(diào)用計算模塊108計算得到的步長。所述客戶端20包括第二收發(fā)模塊201和液晶顯示模塊202,其中,第二收發(fā)模塊201,用于接收用戶輸入的驗證碼及登錄請求并發(fā)送給服務(wù)器10, 用于接收服務(wù)器10返回的驗證結(jié)果及是否通過臨時驗證的應(yīng)答;液晶顯示模塊202 用于顯示第二收發(fā)模塊201接收到的服務(wù)器10返回的驗證結(jié)果及是否通過臨時驗證的應(yīng)答;所述手機30包括第三收發(fā)模塊301、短信存儲模塊302和顯示模塊303,其中第三收發(fā)模塊301,用于接收服務(wù)器10發(fā)送來的短信并傳輸給短信存儲模塊 302 ;短信存儲模塊302,用于存儲第三收發(fā)模塊301傳輸來的短信;顯示模塊303,用于從短信存儲模塊302獲取短信并顯示。實施例2如圖2所示,本發(fā)明提出了一種基于短信的身份驗證裝置,所述裝置包括第一收發(fā)模塊1001、存儲模塊1002、計數(shù)模塊1003、判斷模塊1004、生成模塊1005、驗證模塊 1006、控制模塊1007和計算模塊1008 ;第一收發(fā)模塊1001,用于收發(fā)客戶端與服務(wù)器之間傳輸?shù)臄?shù)據(jù),用于接收生成模塊1005傳輸來的驗證碼并向與當前登錄請求綁定的手機號發(fā)送包含驗證碼的短信;本實施例中,第一收發(fā)模塊1001具體用于接收客戶端發(fā)送來的用戶信息、登錄請求以及驗證碼并傳輸給驗證模塊1006,用于向客戶端返回相應(yīng)應(yīng)答結(jié)果。存儲模塊1002,用于存儲用戶信息、手機號、起始參考時間、校驗碼生成時間、認證基數(shù)、時間戳、存活周期、用戶密鑰;所述存儲模塊1002還可以用于存儲驗證碼,當存儲模塊1002接收到生成模塊 1005發(fā)送來的驗證碼時則用新接收到的驗證碼替換當前存儲的驗證碼。計數(shù)模塊1003,用于對認證基數(shù)進行計數(shù),并將計數(shù)結(jié)果即當前認證基數(shù)傳輸給存儲模塊1002存儲,用于對時間戳清零并將清零結(jié)果傳輸給存儲模塊1002 ;本實施例中,具體為每完成一次認證,認證基數(shù)按照預(yù)設(shè)步長遞增或遞減;例如, 優(yōu)選設(shè)置為認證基數(shù)的初始值為0,完成一次認證,認證基數(shù)加1。每完成一次認證,當前時間戳清零并記錄在存儲模塊1002中。判斷模塊1004,用于判斷當前時間戳是否為零,用于判斷當前時間戳是否超出存活周期;生成模塊1005,用于獲取存儲模塊1002中的當前認證基數(shù)和用戶密鑰并生成驗證碼或校驗碼,用于將生成的驗證碼傳輸給第一收發(fā)模塊1001,將生成的校驗碼傳輸給驗證模塊1006 ;所述生成模塊1005還用于將生成的驗證碼傳輸給存儲模塊1002存儲。
驗證模塊1006,用于接收第一收發(fā)模塊1001傳輸來的驗證碼和生成模塊1005傳輸來的校驗碼,并比對兩者是否一致,并將比對結(jié)果傳輸給控制模塊1007 ;用于驗證第一收發(fā)模塊1001傳輸來的用戶信息是否與存儲模塊1002中存儲的用戶信息一致,并將驗證結(jié)果傳輸給控制模塊1007 ;所述驗證模塊1006還用于直接從存儲模塊1002獲取驗證碼,并比對所述獲取的驗證碼與接收到的第一收發(fā)模塊1001傳輸來的驗證碼是否一致,并將比對結(jié)果傳輸給控制模塊1007??刂颇K1007,用于接收驗證模塊1006傳輸來的比對結(jié)果和驗證結(jié)果,并根據(jù)比對結(jié)果向第一收發(fā)模塊1001發(fā)送認證成功或失敗的返回碼,根據(jù)驗證結(jié)果控制第一收發(fā)模塊1001向客戶端發(fā)送是否通過臨時驗證的應(yīng)答。計算模塊1008,用于計算當前時間與起始參考時間的差值,用于根據(jù)差值和存活周期計算得到認證基數(shù)預(yù)增加的步長。所述計數(shù)模塊1003對認證基數(shù)進行計數(shù)時調(diào)用計算模塊1008得到的步長。實施例3本實施例提供了一種基于短信的身份驗證方法,其中服務(wù)器生成驗證碼的過程包括如下步驟步驟Sl 服務(wù)器接收用戶登錄請求;步驟S2 所述服務(wù)器判斷當前時間戳是否為無效,是則執(zhí)行步驟S3,否則執(zhí)行步驟S4 ;步驟S3 所述服務(wù)器生成驗證碼并更新當前時間戳,然后執(zhí)行步驟S5 ;步驟S4 所述服務(wù)器判斷當前時間是否超出存活周期,是則生成驗證碼然后執(zhí)行下一步,否則生成驗證碼并更新當前時間戳然后執(zhí)行下一步;步驟S5 所述服務(wù)器發(fā)送所述驗證碼到與所述用戶登錄請求綁定的手機號。其中,服務(wù)器驗證接收到的驗證碼的過程包括以下步驟步驟S6 所述服務(wù)器接收到驗證碼和第二用戶信息,判斷當前時間是否超出存活周期,是則認證失敗,否則執(zhí)行下一步;步驟S7 所述服務(wù)器生成校驗碼,將所述校驗碼與接收到的所述驗證碼進行比對,若一致則執(zhí)行下一步,否則認證失敗;步驟S8 服務(wù)器將當前時間戳置為無效;步驟S9:認證成功。實施例4本實施例是基于實施例3的一種基于短信的身份驗證方法,如圖3所示本實施例提出的方法包括以下步驟步驟101 服務(wù)器接收登錄請求,從中提取與登錄請求綁定的手機號和第一用戶 fn息;本實施例中,在步驟101之前包括客戶端接收到用戶的登錄請求,向服務(wù)器發(fā)送登錄請求;具體為,當客戶端出現(xiàn)登錄窗口時,用戶通過在登錄窗口輸入第一用戶信息的方式向客戶端發(fā)送登錄請求,客戶端將接收到的登錄請求發(fā)送給服務(wù)器。用戶在登錄窗口輸入的第一用戶信息可以具體為用戶賬號、密碼或者兩者的組合等。
進一步的,客戶端向服務(wù)器發(fā)送登錄請求的同時將接收到的第一用戶信息發(fā)送給服務(wù)器。所述步驟101具體為服務(wù)器接收到客戶端發(fā)送的第一用戶信息,在數(shù)據(jù)庫中對其進行檢索,如果第一用戶信息例如用戶賬號與服務(wù)器在數(shù)據(jù)庫中檢索到的信息相符,則通過臨時驗證,服務(wù)器提取與該用戶賬號綁定了的手機號。進一步的,服務(wù)器接收到登錄請求后會存儲當前登錄用戶的用戶信息直至接收到客戶端發(fā)送的退出登錄請求。步驟102 服務(wù)器獲取當前認證基數(shù)、當前時間戳;當前認證基數(shù)記錄在服務(wù)器的數(shù)據(jù)庫中,是一個具體的數(shù)值,用于生成驗證碼;當前時間戳記錄在服務(wù)器的數(shù)據(jù)庫中,是一個具體的時間值。本實施例中,優(yōu)選設(shè)置服務(wù)器若是第一次接收到登錄請求,則當前認證基數(shù)取值為0。步驟103 服務(wù)器判斷當前時間戳是否為無效,如果是則執(zhí)行步驟106,否則執(zhí)行步驟104 ;在本實施例中,當前時間戳被置為無效優(yōu)選設(shè)置將當前時間戳清零,相應(yīng)的本步驟中,判斷當前時間戳是否為無效是通過判斷當前時間戳是否為零來判斷的。步驟104 服務(wù)器判斷當前時間是否超出存活周期,若超出則執(zhí)行步驟105,否則執(zhí)行步驟107 ;存活周期是一個具體的以時間為單位的數(shù)值,比如存活周期取值為600s ;當前時間是否超出存活周期的判斷方法具體為當前時間的時間值如果大于當前時間戳加存活周期得到的時間值,則當前時間超出了存活周期,例如,當前時間戳為1:20, 存活周期為600s,則當前時間如果超出1:30則判斷為當前時間超出存活周期。步驟105 將當前認證基數(shù)按預(yù)設(shè)規(guī)則計算并用計算結(jié)果更新當前認證基數(shù);本實施例中具體為服務(wù)器利用計數(shù)器對第一認證基數(shù)進行遞增或遞減的計算,并用計算結(jié)果更新當前認證基數(shù)。優(yōu)選的,所述將當前認證基數(shù)按預(yù)設(shè)規(guī)則計算具體為對當前認證基數(shù)進行加1的計算。步驟106 根據(jù)當前認證基數(shù)生成驗證碼,將當前時間戳更新為生成驗證碼的時間,執(zhí)行步驟108 ;本實施例中具體為服務(wù)器根據(jù)當前存儲的用戶信息獲取與當前用戶綁定的密鑰,服務(wù)器采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算得到驗證碼,并記錄驗證碼的生成時間。將當前時間戳更新為生成驗證碼的時間則當前時間戳有效。若當前時間戳等于生成驗證碼的時間則認為當前時間戳有效,則從步驟103跳轉(zhuǎn)到執(zhí)行步驟106是將當前時間戳置為有效的過程,從步驟103順序執(zhí)行到步驟106是將一個有效的當前時間戳更新的過程,更新后的時間戳仍有效。步驟107 根據(jù)當前認證基數(shù)生成驗證碼;本實施例中具體為服務(wù)器根據(jù)當前存儲的用戶信息獲取與當前用戶綁定的密鑰,服務(wù)器采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算得到驗證碼。步驟108 服務(wù)器以短信方式向與當前登錄請求綁定的手機號發(fā)送驗證碼;步驟109 客戶端接收用戶輸入的驗證碼,向服務(wù)器發(fā)送驗證碼和第二用戶信息;
步驟110 服務(wù)器接收驗證碼和第二用戶信息,并判斷第二用戶信息是否與存儲的第一用戶信息一致,若一致則執(zhí)行步驟111,否則認證失敗;步驟111 服務(wù)器判斷當前時間是否超出存活周期,如果超出則認證失敗,否則執(zhí)行步驟112 ;具體為服務(wù)器從內(nèi)部時鐘源讀取當前時間,從數(shù)據(jù)庫中獲取當前時間戳,判斷當前時間是否超出當前時間戳加存活周期得到的時間值,若超出則驗證碼失效,認證失敗,若未超出則繼續(xù)執(zhí)行下一步;步驟112 服務(wù)器獲取當前認證基數(shù),根據(jù)當前認證基數(shù)計算生成校驗碼;具體為服務(wù)器根據(jù)第二用戶信息獲取與第二用戶綁定的密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算得到校驗碼。步驟113 服務(wù)器將接收到的驗證碼與生成的校驗碼進行比對,若比對結(jié)果一致則執(zhí)行步驟114,否則認證失??;步驟114 服務(wù)器將當前認證基數(shù)按預(yù)設(shè)規(guī)則進行計算并記錄計算結(jié)果,用計算結(jié)果更新數(shù)據(jù)庫中存儲的當前認證基數(shù);所述預(yù)設(shè)規(guī)則與步驟105所述預(yù)設(shè)規(guī)則相同。進一步的,步驟114還可以調(diào)整到步驟103后執(zhí)行,具體為當步驟103判斷得出當前時間戳為無效時執(zhí)行步驟114,然后再執(zhí)行步驟106根據(jù)當前認證基數(shù)生成驗證碼,將當前時間戳更新為生成驗證碼的時間。步驟115 服務(wù)器將當前時間戳置為無效,認證成功。在本實施例中,服務(wù)器每成功認證一次,都會執(zhí)行步驟114和115的操作,即更新當前認證基數(shù),將當前時間戳置為無效,為下一次認證做準備。具體的,本實施例中認證完成后服務(wù)器會向客戶端返回認證成功或認證失敗的驗證結(jié)果。進一步地,本實施例中上述步驟106、步驟107、步驟112和步驟113還可分別用步驟106'、步驟107'、步驟112'和步驟113'替換,具體如下步驟106'根據(jù)當前認證基數(shù)生成驗證碼并用生成的驗證碼更新數(shù)據(jù)庫中存儲的驗證碼,將當前時間戳更新為生成驗證碼的時間,執(zhí)行步驟108 ;本實施例中具體的,服務(wù)器數(shù)據(jù)庫中存儲的驗證碼的更新時長等于存活周期;將當前時間戳更新為生成驗證碼的時間則當前時間戳有效。步驟107'獲取數(shù)據(jù)庫中存儲的驗證碼;具體地,在當前時間戳有效且當前時間未超出存活周期時直接從數(shù)據(jù)庫中獲取驗證碼。步驟112':服務(wù)器獲取當前認證基數(shù)和當前數(shù)據(jù)庫中存儲的驗證碼;步驟113'服務(wù)器將接收到的驗證碼和獲取的數(shù)據(jù)庫中存儲的驗證碼進行比對, 若比對結(jié)果為二者一致則執(zhí)行步驟114,否則認證失敗。實施例5本實施例是基于實施例3的一種基于短信的身份驗證方法,如圖4所示本實施例提出的方法包括以下步驟步驟201 服務(wù)器接收登錄請求,從中提取與登錄請求綁定的手機號和第一用戶Ih息;步驟202 獲取起始參考時間、校驗碼生成時間、存活周期、當前時間、當前認證基數(shù)、當前時間戳;步驟203 根據(jù)起始參考時間、當前時間、存活周期計算得到第一步長;本實施例中具體為將當前時間轉(zhuǎn)換為一個相對值,所述相對值是指當前時間與起始參考時間的差值,用所述相對值除以存活周期并取整數(shù)部分即得到第一步長。步驟204 判斷當前時間戳是否為無效,是則執(zhí)行步驟205,否則執(zhí)行步驟206 ;在本實施例中,當前時間戳被置為無效優(yōu)選設(shè)置將當前時間戳清零,相應(yīng)的本步驟中,判斷當前時間戳是否為無效是通過判斷當前時間戳是否為零來判斷的。步驟205 判斷當前時間是否超出存活周期,是則執(zhí)行步驟205-1,否則執(zhí)行步驟 205-1',本實施例中具體為判斷當前時間是否超出校驗碼生成時間加存活周期得到的時間值。步驟205-1'利用當前認證基數(shù)增加第二步長后得到的結(jié)果替換數(shù)據(jù)庫中存儲的當前認證基數(shù),返回執(zhí)行步驟205-1 ;所述第二步長是一個預(yù)設(shè)數(shù)值,例如,可以設(shè)置第二步長取值為1,則將當前認證基數(shù)更新為當前認證基數(shù)加1的計算結(jié)果;步驟205-1 根據(jù)當前認證基數(shù)和第一步長計算得到第一計數(shù)值,然后執(zhí)行步驟
205-2;所述第一計數(shù)值是當前認證基數(shù)加第一步長計算得到的。步驟205-2 根據(jù)第一計數(shù)值生成驗證碼,然后執(zhí)行步驟207 ;本實施例中生成驗證碼的過程具體為服務(wù)器根據(jù)第一用戶信息獲取與第一用戶綁定的密鑰,采用一次口令生成算法對所述密鑰和所述第一計數(shù)值進行計算得到驗證碼。步驟206 根據(jù)當前認證基數(shù)和第一步長計算得到第二計數(shù)值,然后執(zhí)行步驟
206-1;所述第二計數(shù)值是當前認證基數(shù)加第一步長計算得到的。步驟206-1 根據(jù)所述第二計數(shù)值生成驗證碼;本實施例中生成驗證碼的過程與步驟205-2相同,在此不再贅述。步驟206-2 判斷當前時間是否超出存活周期,是則執(zhí)行步驟207,否則執(zhí)行步驟 208 ;所述當前時間是否超出存活周期的判斷方法具體為當前時間如果超出當前時間戳加存活周期得到的時間值,則當前時間超出了存活周期,例如,當前時間戳為1:20,存活周期為600s,則當前時間如果超出1:30則判斷為當前時間超出存活周期。步驟207 將當前時間戳更新為生成驗證碼的時間,然后執(zhí)行步驟208 ;本實施例中具體地,當前時間戳更新為生成驗證碼的時間時則當前時間戳有效。步驟208 服務(wù)器以短信方式向所述手機號發(fā)送驗證碼;所述手機號是步驟201獲取的與登錄請求綁定的手機號。步驟209 客戶端接收用戶輸入的驗證碼,向服務(wù)器發(fā)送驗證碼和第二用戶信息;步驟210 服務(wù)器接收驗證碼和第二用戶信息,判斷第二用戶信息是否與第一用戶信息一致,是則執(zhí)行步驟211,否則認證失??;本實施例中步驟209和步驟210具體為客戶端提示用戶輸入驗證碼和用戶信息, 客戶端將接收到的驗證碼和用戶信息發(fā)送給服務(wù)器,服務(wù)器驗證當前接收到的用戶信息是否與登錄請求中獲取的用戶信息一致,若一致則執(zhí)行步驟211,若不一致則認證失敗。步驟211 服務(wù)器獲取當前時間,判斷當前時間是否超出存活周期,若是則認證失敗,否則執(zhí)行下一步;本實施例中判斷當前時間是否超出存活周期具體為判斷當前時間是否超出步驟 207記錄的當前時間戳加存活周期得到的時間值,若超出則認證失敗,否則執(zhí)行步驟212。步驟212 根據(jù)起始參考時間、當前時間、存活周期計算得到第三步長;本實施例中具體計算方法為計算當前時間與起始參考時間的差值,用所述差值除以存活周期并取整數(shù)部分得到的結(jié)果即為第三步長;例如起始參考時間為T0,當前時間距起始參考時間的相對秒數(shù)為S,存活周期為I,則第三步長等于S/I并取整數(shù)部分。所述當前時間為一個變量,起始參考時間和存活周期為常量。步驟213 服務(wù)器獲取當前認證基數(shù),根據(jù)當前認證基數(shù)和第三步長計算得到第三計數(shù)值;步驟214 根據(jù)第三計數(shù)值生成校驗碼;本實施例中具體為服務(wù)器獲取當前用戶的密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算得到校驗碼。步驟215 比對步驟214生成的校驗碼和步驟210接收到的驗證碼,若一致則執(zhí)行下一步,否則認證失??;步驟216 記錄步驟214所述校驗碼的生成時間;步驟217 將當前時間戳置為無效。本實施例中將當前時間戳置為無效優(yōu)選設(shè)置將當前時間戳清零。順序執(zhí)行至步驟217則認證成功,服務(wù)器向客戶端返回認證成功的提示,客戶端顯示提示信息給用戶以便執(zhí)行其他操作。進一步地,本實施例中上述步驟205-2可用步驟205-2'替換,具體如下步驟205-2'根據(jù)第一計數(shù)值生成驗證碼并用生成的驗證碼更新數(shù)據(jù)庫中存儲的驗證碼,執(zhí)行步驟207 ;本實施例中生成驗證碼的過程具體為服務(wù)器根據(jù)第一用戶信息獲取與第一用戶綁定的密鑰,采用一次口令生成算法對所述密鑰和所述第一計數(shù)值進行計算得到驗證碼。上述步驟206至步驟207可用圖5所示方法替換,具體如下步驟206 ’ :判斷當前時間是否超出存活周期,是則執(zhí)行步驟206-1 ’,否則執(zhí)行步驟 206-3‘;步驟206-1'根據(jù)當前認證基數(shù)計算得到第二計數(shù)值;然后執(zhí)行步驟206-2';所述第二計數(shù)值是當前認證基數(shù)加第一步長計算得到的。步驟206-2'根據(jù)所述第二計數(shù)值生成驗證碼并用生成的驗證碼更新數(shù)據(jù)庫中存儲的驗證碼,然后執(zhí)行步驟207 ;本實施例中生成驗證碼的過程與步驟205-2'相同,在此不再贅述。步驟206-3'獲取數(shù)據(jù)庫中存儲的驗證碼;
上述步驟214可用步驟214'替換,步驟215用步驟215‘替換,同時,步驟212和 213可以略去,執(zhí)行完步驟211后直接執(zhí)行步驟214',具體如下步驟214'服務(wù)器獲取當前數(shù)據(jù)庫中存儲的驗證碼;步驟215':服務(wù)器將接收到的驗證碼和獲取的數(shù)據(jù)庫中存儲的驗證碼進行比對, 若比對結(jié)果為二者一致則執(zhí)行步驟216,否則認證失敗。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種基于短信的身份驗證裝置,其特征是所述裝置包括第一收發(fā)模塊,用于接收客戶端發(fā)送來的用戶信息、登錄請求以及驗證碼并傳輸給驗證模塊,用于向客戶端返回相應(yīng)應(yīng)答結(jié)果;還用于接收生成模塊傳輸來的驗證碼并向與當前登錄請求綁定的手機號發(fā)送包含所述驗證碼的短信;存儲模塊,用于存儲用戶信息、手機號、起始參考時間、校驗碼生成時間、認證基數(shù)、時間戳、存活周期、用戶密鑰;計數(shù)模塊,用于對認證基數(shù)進行計數(shù),并將計數(shù)結(jié)果傳輸給存儲模塊,用于對時間戳清零并將清零結(jié)果傳輸給存儲模塊;判斷模塊,用于判斷當前時間戳是否為零,還用于判斷當前時間戳是否超出存活周期;生成模塊,用于獲取存儲模塊中的當前認證基數(shù)和用戶密鑰并根據(jù)所述當前認證基數(shù)和所述用戶密鑰生成驗證碼或校驗碼,用于將生成的所述驗證碼傳輸給第一收發(fā)模塊,將生成的所述校驗碼傳輸給驗證模塊;驗證模塊,用于接收第一收發(fā)模塊傳輸來的驗證碼和生成模塊傳輸來的校驗碼,并比對兩者是否一致,并將比對結(jié)果傳輸給控制模塊;還用于驗證第一收發(fā)模塊傳輸來的用戶信息是否與存儲模塊中存儲的用戶信息一致,并將驗證結(jié)果傳輸給控制模塊;控制模塊,用于接收驗證模塊傳輸來的比對結(jié)果和驗證結(jié)果,并根據(jù)比對結(jié)果向第一收發(fā)模塊發(fā)送認證成功或失敗的返回碼,根據(jù)驗證結(jié)果控制第一收發(fā)模塊向客戶端發(fā)送是否通過臨時驗證的應(yīng)答;計算模塊,用于計算當前時間與起始參考時間的差值,用于根據(jù)所述差值和存活周期計算認證基數(shù)預(yù)增加的步長。
2.根據(jù)權(quán)利要求1所述的裝置,其特征是所述存儲模塊還用于存儲驗證碼,當存儲模塊接收到生成模塊發(fā)送來的驗證碼時用所述接收到的驗證碼替換當前存儲的驗證碼;所述生成模塊還用于將生成的驗證碼傳輸給存儲模塊;所述驗證模塊還用于直接從存儲模塊獲取驗證碼,并比對所述獲取的驗證碼與接收到的第一收發(fā)模塊傳輸來的驗證碼是否一致,并將比對結(jié)果傳輸給控制模塊。
3.一種基于短信的身份驗證系統(tǒng),包括身份驗證裝置、客戶端和手機,其特征是所述身份驗證裝置,用于接收客戶端傳輸來的用戶登錄請求和用戶信息,用于產(chǎn)生驗證碼發(fā)送到用戶手機,還用于接收客戶端傳輸來的驗證碼,驗證接收到的所述驗證碼是否正確并將驗證結(jié)果返回給客戶端;所述客戶端,用于接收用戶輸入的登錄請求并將用戶信息和所述登錄請求發(fā)送給所述身份驗證裝置,用于接收用戶輸入的驗證碼并發(fā)送給所述身份驗證裝置以及接收所述身份驗證裝置返回的驗證結(jié)果;所述手機,用于接收所述身份驗證裝置發(fā)送來的驗證碼并顯示給用戶。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征是所述客戶端包括第二收發(fā)模塊,用于接收用戶輸入的驗證碼及登錄請求并發(fā)送給身份驗證裝置,用于接收所述身份驗證裝置返回的驗證結(jié)果及是否通過臨時驗證的應(yīng)答;液晶顯示模塊用于顯示所述第二收發(fā)模塊接收到的所述身份驗證裝置返回的驗證結(jié)果及是否通過臨時驗證的應(yīng)答。
5.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征是所述手機包括第三收發(fā)模塊,用于接收身份驗證裝置發(fā)送來的短信并傳輸給短信存儲模塊; 短信存儲模塊,用于存儲所述第三收發(fā)模塊傳輸來的短信; 顯示模塊,用于從所述短信存儲模塊中獲取短信并顯示。
6.一種基于短信的身份驗證方法,其特征是包括服務(wù)器生成驗證碼的過程和所述服務(wù)器驗證接收到的驗證碼的過程;所述服務(wù)器生成驗證碼的過程包括以下步驟, 步驟Sl 服務(wù)器接收用戶登錄請求;步驟S2 所述服務(wù)器判斷當前時間戳是否為無效,是則執(zhí)行步驟S3,否則執(zhí)行步驟S4;步驟S3 所述服務(wù)器生成驗證碼并更新當前時間戳,然后執(zhí)行步驟S5 ; 步驟S4 所述服務(wù)器判斷當前時間是否超出存活周期,是則生成驗證碼然后執(zhí)行下一步,否則生成驗證碼并更新當前時間戳然后執(zhí)行下一步;步驟S5 所述服務(wù)器發(fā)送所述驗證碼到與所述用戶登錄請求綁定的手機號; 所述服務(wù)器驗證接收到的驗證碼的過程包括以下步驟,步驟S6 所述服務(wù)器接收到驗證碼和第二用戶信息,判斷當前時間是否超出存活周期,是則認證失敗,否則執(zhí)行下一步;步驟S7 所述服務(wù)器生成校驗碼,將所述校驗碼與接收到的所述驗證碼進行比對,若一致則執(zhí)行下一步,否則認證失??;步驟S8 服務(wù)器將當前時間戳置為無效; 步驟S9 認證成功。
7.根據(jù)權(quán)利要求6所述的身份驗證方法,其特征是所述步驟Sl具體為,服務(wù)器接收到客戶端發(fā)送來的用戶登錄請求,從中提取第一用戶信息,在數(shù)據(jù)庫中檢索是否存在與所述第一用戶信息相符的用戶信息,若存在則通過臨時驗證,所述服務(wù)器從數(shù)據(jù)庫中提取與所述第一用戶信息綁定的手機號,若不存在則認證失敗。
8.根據(jù)權(quán)利要求6所述的身份驗證方法,其特征是所述步驟S4中當前時間是否超出存活周期的判斷方法為,若當前時間的時間值大于當前時間戳加存活周期得到的時間值, 則當前時間超出存活周期。
9.根據(jù)權(quán)利要求7所述的身份驗證方法,其特征是所述步驟S6還包括所述服務(wù)器接收到所述驗證碼和所述第二用戶信息,并判斷所述第二用戶信息是否與存儲的所述第一用戶信息一致,若一致則繼續(xù)判斷當前時間是否超出存活周期,若不一致則認證失敗。
10.根據(jù)權(quán)利要求9所述的身份驗證方法,其特征是所述步驟S2之前包括所述服務(wù)器從數(shù)據(jù)庫中獲取當前認證基數(shù)和當前時間戳;步驟S3所述服務(wù)器生成驗證碼并更新當前時間戳具體為所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成驗證碼,并將當前時間戳更新為生成驗證碼的時間;步驟S4中所述若當前時間未超出存活周期則生成驗證碼具體為所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成驗證碼;步驟S4中所述若當前時間超出存活周期則生成驗證碼并更新當前時間戳具體為 所述服務(wù)器將當前認證基數(shù)按預(yù)設(shè)規(guī)則計算并用計算結(jié)果更新當前認證基數(shù); 所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,所述服務(wù)器采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成驗證碼,將當前時間戳更新為生成所述驗證碼的時間;步驟S7所述服務(wù)器生成校驗碼具體為所述服務(wù)器獲取當前認證基數(shù),根據(jù)第二用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和當前認證基數(shù)進行計算生成校驗碼;所述步驟S3或步驟S8還包括服務(wù)器將當前認證基數(shù)按預(yù)設(shè)規(guī)則計算并記錄計算結(jié)果,用計算結(jié)果更新當前認證基數(shù)。
11.根據(jù)權(quán)利要求10所述的身份驗證方法,其特征是所述將當前認證基數(shù)按預(yù)設(shè)規(guī)則計算具體為將當前認證基數(shù)遞增或遞減預(yù)設(shè)步長。
12.根據(jù)權(quán)利要求6所述的身份驗證方法,其特征是步驟S6所述判斷當前時間是否超出存活周期具體為判斷當前時間的時間值是否大于當前時間戳加存活周期得到的時間值。
13.根據(jù)權(quán)利要求6所述的身份驗證方法,其特征是步驟S8所述當前時間戳置為無效優(yōu)選設(shè)置將當前時間戳清零。
14.根據(jù)權(quán)利要求9所述的身份驗證方法,其特征是所述步驟S2之前包括所述服務(wù)器從數(shù)據(jù)庫中獲取起始參考時間、校驗碼生成時間、存活周期、當前認證基數(shù)和當前時間戳,從內(nèi)部時鐘源讀取當前時間,所述服務(wù)器根據(jù)起始參考時間、當前時間、存活周期計算得到第一步長;步驟S3所述服務(wù)器生成驗證碼并更新當前時間戳包括步驟205:判斷當前時間是否超出存活周期,是則執(zhí)行步驟205-1,否則執(zhí)行步驟 205-1';步驟205-1'將當前認證基數(shù)增加第二步長后得到的結(jié)果替換數(shù)據(jù)庫中存儲的當前認證基數(shù),然后執(zhí)行步驟205-1 ;步驟205-1 根據(jù)當前認證基數(shù)和第一步長計算得到第一計數(shù)值,然后執(zhí)行步驟 205-2 ;步驟205-2 根據(jù)所述第一計數(shù)值生成驗證碼,將當前時間戳更新為生成驗證碼的時間;步驟S4中所述若當前時間未超出存活周期則生成驗證碼具體為 所述服務(wù)器根據(jù)當前認證基數(shù)和第一步長計算得到第二計數(shù)值; 所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和所述第二計數(shù)值進行計算生成驗證碼;步驟S4中所述若當前時間超出存活周期則生成驗證碼并更新當前時間戳具體為 所述服務(wù)器根據(jù)當前認證基數(shù)和第一步長計算得到第二計數(shù)值; 所述服務(wù)器根據(jù)第一用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和所述第二計數(shù)值進行計算生成驗證碼,所述服務(wù)器將當前時間戳更新為生成驗證碼的時間; 步驟S7所述服務(wù)器生成校驗碼具體為 根據(jù)起始參考時間、當前時間、存活周期計算得到第三步長; 服務(wù)器獲取當前認證基數(shù),根據(jù)當前認證基數(shù)和第三步長計算得到第三計數(shù)值;所述服務(wù)器根據(jù)第二用戶信息獲取密鑰,采用一次口令生成算法對所述密鑰和所述第三計數(shù)值進行計算生成校驗碼;步驟S8之前包括記錄校驗碼生成時間。
15.根據(jù)權(quán)利要求14所述的身份驗證方法,其特征是所述第一步長和第三步長的計算方法為將當前時間轉(zhuǎn)換為一個相對值,所述相對值是指當前時間與起始參考時間的差值,用所述相對值除以存活周期并取整數(shù)部分。
16.根據(jù)權(quán)利要求14所述的身份驗證方法,其特征是步驟205所述判斷當前時間是否超出存活周期具體為判斷當前時間是否超出校驗碼生成時間加存活周期得到的時間值。
17.根據(jù)權(quán)利要求6所述的身份驗證方法,其特征是所述步驟S3用步驟S3’替換,所述步驟S4用步驟S4’替換,所述步驟S7用步驟S7’替換,所述步驟S3’為,所述服務(wù)器生成驗證碼并用所述生成的驗證碼更新數(shù)據(jù)庫中存儲的驗證碼,將當前時間戳更新為生成驗證碼的時間;所述步驟S4’為,所述服務(wù)器判斷當前時間是否超出存活周期,然后執(zhí)行下一步; 若當前時間未超出存活周期則獲取數(shù)據(jù)庫中存儲的驗證碼,若當前時間超出存活周期則所述服務(wù)器生成驗證碼并用所述生成的驗證碼更新數(shù)據(jù)庫中存儲的驗證碼,將當前時間戳更新為生成驗證碼的時間;所述步驟S7’為,所述服務(wù)器獲取數(shù)據(jù)庫中存儲的驗證碼,所述服務(wù)器將接收到的驗證碼和獲取的所述數(shù)據(jù)庫中存儲的驗證碼進行比對,若比對結(jié)果一致則執(zhí)行下一步,否則認證失敗。
全文摘要
本發(fā)明公開了一種基于短信的身份驗證方法、系統(tǒng)和裝置,涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域。所述身份驗證系統(tǒng)包括服務(wù)器、客戶端和手機,所述身份驗證裝置即所述服務(wù)器包括收發(fā)模塊、存儲模塊、計數(shù)模塊、判斷模塊、生成模塊、驗證模塊、控制模塊和計算模塊。所述基于短信的身份驗證方法由服務(wù)器生成驗證碼并記錄生成驗證碼的時間,通過外帶方式發(fā)送生成的驗證碼至用戶手機,再由用戶輸入客戶端,由客戶端發(fā)送給服務(wù)器進行驗證,可在一定程度上阻止中間人攻擊,并且服務(wù)器產(chǎn)生的驗證碼具備時效性,過期作廢。
文檔編號H04L9/32GK102300182SQ20111026445
公開日2011年12月28日 申請日期2011年9月7日 優(yōu)先權(quán)日2011年9月7日
發(fā)明者于華章, 陸舟 申請人:飛天誠信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
松阳县| 盐亭县| 临海市| 崇义县| 肃南| 镇原县| 平舆县| 九龙坡区| 无为县| 合阳县| 杨浦区| 兴海县| 巴里| 威海市| 青川县| 罗定市| 徐闻县| 义乌市| 彩票| 海伦市| 阜城县| 西和县| 扬州市| 香格里拉县| 公安县| 志丹县| 贵南县| 石屏县| 天津市| 上林县| 山阳县| 洪洞县| 孟连| 洪雅县| 平塘县| 新兴县| 彩票| 章丘市| 洛浦县| 漾濞| 秦安县|