411 (GPS經(jīng)瑋度)。
[0213]5-2:發(fā)起HttpURL連接請求,通過返回值1cat1nStr得到區(qū)域信息。
[0214]步驟9:認證服務器判斷解析當前地理位置信息得到的區(qū)域信息是否與所述IP地址對應的區(qū)域信息一致,是則執(zhí)行步驟10,否則執(zhí)行步驟12 ;
[0215]步驟10:認證服務器驗證接收到的0ΤΡ,若通過驗證則執(zhí)行步驟11,否則執(zhí)行步驟12 ;
[0216]例如:接收的OTP是123456,認證服務器在云數(shù)據(jù)庫中查詢出與當前用戶綁定的令牌,根據(jù)令牌的種子數(shù)據(jù)計算生成一個0ΤΡ,比對接收到的OTP和計算生成的OTP是否匹配,是則驗證成功,否則驗證失敗。所述根據(jù)令牌種子計算生成一個OTP的計算方式和移動終端設(shè)備生成OTP時的計算方式一致,在此不再贅述。
[0217]步驟11:認證服務器向客戶端返回認證成功信息,然后執(zhí)行步驟13 ;
[0218]具體的,認證服務器向客戶端返回表示認證成功的整數(shù)型數(shù)據(jù)。
[0219]例如:認證服務器向客戶端返回O。
[0220]步驟12:認證服務器向客戶端返回認證失敗信息,然后執(zhí)行步驟13 ;
[0221]具體的,認證服務器向客戶端返回表示認證失敗的整數(shù)型數(shù)據(jù)。
[0222]例如:認證服務器向客戶端返回I或2或3,其中,數(shù)值I表示參數(shù)錯誤,數(shù)值2表示地理位置認證失敗,數(shù)值3表示OTP驗證失敗。
[0223]步驟13:客戶端顯示登錄結(jié)果。
[0224]例如:客戶端顯示登錄成功或登錄失敗的提示信息。
[0225]本實施例提供的認證方法基于客戶端驗證用戶信息,認證服務器端驗證OTP及生成OTP時移動終端設(shè)備所在地理位置信息,本實施例中認證服務器驗證的OTP是由移動終端設(shè)備生成并顯示,由用戶輸入到客戶端再由客戶端發(fā)送到認證服務器。本實施例提供的認證方法通過將多種認證因素參與到認證流程中,可以有效增加應用系統(tǒng)登錄的保護強度,提高登錄安全性。
[0226]實施例4
[0227]本發(fā)明實施例4提供了一種基于地理位置信息的認證方法流程,基于客戶端、認證服務器和移動終端設(shè)備組成的認證系統(tǒng)來實現(xiàn),本實施例中的OTP是在移動終端生成,由移動終端發(fā)送到認證服務器,本實施例中對當前地理位置信息的驗證是將其與客戶端的IP地址對應的地理位置進行比較。
[0228]如圖5所示,本實施例4提供的認證方法包括以下步驟:
[0229]步驟201:客戶端啟動應用系統(tǒng),提示用戶輸入用戶信息,客戶端接收到用戶輸入的用戶信息,驗證用戶信息合法后,提示用戶點擊推送按鈕;
[0230]具體的,所述用戶信息可以是用戶名,也可以是用戶名和密碼。本實施例中以所述用戶信息是用戶名為例進行介紹。
[0231]步驟202:客戶端接收到用戶點擊確認后,根據(jù)用戶信息、IP地址和應用標識生成推送認證請求并發(fā)送給認證服務器;
[0232]具體的,一個應用系統(tǒng)唯一對應一個應用標識。所述根據(jù)用戶信息、IP地址和應用標識生成推送認證請求具體為根據(jù)用戶名、IP地址和應用標識生成推送認證請求通知。
[0233]步驟203:認證服務器接收到推送認證請求后,從推送認證請求中獲取用戶信息、IP地址和應用標識,根據(jù)所述IP地址獲得區(qū)域信息;
[0234]具體的,根據(jù)所述IP地址獲得區(qū)域信息具體為將IP地址作為輸入?yún)?shù)調(diào)用第三方接口獲得區(qū)域信息,例如,調(diào)用的第三方接口可以為百度地圖。
[0235]步驟204:認證服務器判斷與所述用戶信息綁定的移動終端設(shè)備是否設(shè)置了有效區(qū)域范圍,是則執(zhí)行步驟205,否則執(zhí)行步驟208 ;
[0236]具體的,認證服務器判斷是否存儲有第一預設(shè)數(shù)據(jù),是則表示預先設(shè)置了有效區(qū)域范圍,執(zhí)行步驟205,否則執(zhí)行步驟208。
[0237]步驟205:認證服務器獲取預先設(shè)置的有效區(qū)域范圍;
[0238]具體的,認證服務器根據(jù)第一預設(shè)數(shù)據(jù)得到預先設(shè)置的有效區(qū)域范圍,預先設(shè)置的有效區(qū)域范圍可以為一個或多個,例如,預先設(shè)置的有效區(qū)域范圍為北京市海淀區(qū),或者為北京市海淀區(qū)和天津市南開區(qū)。
[0239]本實施例中,認證服務器中預先設(shè)置的有效區(qū)域范圍,可以是通過在客戶端進行設(shè)置并發(fā)送給后臺的認證服務器進行保存的,也可以通過移動終端設(shè)備調(diào)用SDK接口(全稱:Software Development Kit,軟件開發(fā)工具包)將用戶設(shè)置的有效區(qū)域范圍上傳給認證服務器進行保存。
[0240]步驟206:認證服務器判斷所述IP地址對應的區(qū)域信息是否包含在所述有效區(qū)域范圍內(nèi),是則執(zhí)行步驟208,否則執(zhí)行步驟207 ;
[0241]步驟207:認證服務器向客戶端返回提示地理位置錯誤的信息,然后執(zhí)行步驟216 ;
[0242]步驟208:認證服務器生成挑戰(zhàn)值并保存,根據(jù)用戶信息獲取對應的令牌信息和網(wǎng)絡數(shù)據(jù)鏈路,并根據(jù)應用標識獲取對應的應用名稱,根據(jù)用戶信息、應用名稱和挑戰(zhàn)值生成登錄請求,并按照所述網(wǎng)絡數(shù)據(jù)鏈路發(fā)送給移動終端設(shè)備;
[0243]例如,生成的挑戰(zhàn)值為654321,根據(jù)用戶信息獲取的所述令牌信息包括令牌號、種子數(shù)據(jù)、口令生成算法等。
[0244]具體的,本步驟之前還包括,當移動終端設(shè)備上的令牌生成程序啟動時,根據(jù)內(nèi)部保存的訪問地址,訪問認證服務器,建立所述移動終端設(shè)備與所述認證服務器之間的網(wǎng)絡數(shù)據(jù)鏈路。
[0245]本步驟之后還包括移動終端設(shè)備執(zhí)行以下操作:
[0246]步驟208-1:移動終端設(shè)備接收到認證服務器發(fā)來的登錄請求后,根據(jù)登錄請求中的用戶信息和應用名稱生成登錄信息并顯示,等待接收用戶對所述登錄信息的響應;
[0247]步驟208-2:移動終端設(shè)備判斷接收到的響應類型,若是允許登錄則執(zhí)行步驟208-3,若是拒絕登錄則執(zhí)彳丁步驟208-4 ;
[0248]步驟208-3:移動終端設(shè)備從登錄請求中獲取挑戰(zhàn)值,對挑戰(zhàn)值和內(nèi)部保存的令牌種子數(shù)據(jù)進行計算生成0TP,獲取當前地理位置信息并上傳到認證服務器的云數(shù)據(jù)庫,并向認證服務器返回包含用戶信息和OTP的允許登錄信息,然后執(zhí)行步驟209 ;
[0249]例如,內(nèi)部保存的令牌種子數(shù)據(jù)為7F1%DE32A5BCDD394E9866E52B980B3,對挑戰(zhàn)值和所述令牌種子數(shù)據(jù)進行計算生成OTP采用的口令生成算法為6位60秒OATH算法。
[0250]所述獲取當前地理位置信息并上傳到認證服務器的云數(shù)據(jù)庫具體包括:
[0251]1-1、移動終端設(shè)備判斷是否存儲有地理位置信息,是則直接將存儲的地理位置信息上傳到云數(shù)據(jù)庫,否則執(zhí)行1-2 ;
[0252]1-2、判斷系統(tǒng)定位管理器中是否存儲有定位信息,是則直接將所述定位信息作為當前地理位置信息上傳到云數(shù)據(jù)庫,否則執(zhí)行1-3 ;
[0253]1-3、根據(jù)優(yōu)先級選用預設(shè)方法獲取當前地理位置信息,然后上傳到云數(shù)據(jù)庫。
[0254]例如,預設(shè)方法包括GPS、WIF1、GRPS三種,優(yōu)先級從高到低依次為GPS、WIF1、GRPS0
[0255]步驟208-4:移動終端設(shè)備向認證服務器返回拒絕登錄信息,然后執(zhí)行步驟209。
[0256]具體的,上述移動終端設(shè)備向認證服務器返回的信息均是通過所述網(wǎng)絡數(shù)據(jù)鏈路返回的。
[0257]進一步的,在步驟208-1中移動終端設(shè)備還可以將生成的登錄信息進行語音播報,等待采集用戶對所述登錄信息的語音響應,當采集到用戶的語音響應后,對其進行解析,在步驟208-2中根據(jù)解析結(jié)果判斷是否是允許登錄。
[0258]步驟209:認證服務器判斷是否接收到所述移動終端設(shè)備返回的允許登錄信息,是則執(zhí)行步驟211,否則執(zhí)行步驟210 ;
[0259]步驟210:認證服務器向客戶端返回拒絕登錄信息,然后執(zhí)行步驟216 ;
[0260]步驟211:認證服務器從允許登錄信息中獲取用戶信息和OTP,并從云數(shù)據(jù)庫中獲取與所述用戶信息綁定的移動終端設(shè)備的當前地理位置信息,解析當前地理位置信息得到區(qū)域信息;
[0261]本步驟中,所述解析當前地理位置信息獲得區(qū)域信息具體為:調(diào)用預設(shè)解析方法,根據(jù)該解析方法返回的內(nèi)容獲得區(qū)域信息,例如將當前地理位置信息“經(jīng)度:116.345345,瑋度:40.018276”作為輸入,調(diào)用預設(shè)解析方法,獲得的區(qū)域信息為北京市海淀區(qū)。
[0262]步驟212:認證服務器判斷解析當前地理位置信息得到的區(qū)域信息是否與所述IP地址對應的區(qū)域信息一致,是則執(zhí)行步驟213,否則執(zhí)行步驟215 ;
[0263]步驟213:認證服務器驗證接收到的OTP,若通過驗證則執(zhí)行步驟214,否則執(zhí)行步驟 215 ;
[0264]具體的,認證服務器根據(jù)步驟208保存的挑戰(zhàn)值以及獲取的令牌信息計算生成OTP,比較接收的OTP與計算生成的OTP是否匹配,是則通過驗證執(zhí)行步驟214,否則執(zhí)行步驟 215。
[0265]步驟214:認證服務器向客戶端返回認證成功信息,然后執(zhí)行步驟216 ;
[0266]具體的,認證服務器向客戶端返回表示認證成功的整數(shù)型數(shù)據(jù)。
[0267]例如:認證服務器向客戶端返回O。
[0268]步驟215:認證服務器向客戶端返回認證失敗信息,然后執(zhí)行步驟216 ;
[0269]具體的,認證服務器向客戶端返回表示認證失敗的整數(shù)型數(shù)據(jù)。
[0270]例如:認證服務器向客戶端返回I或2或3,其中,數(shù)值I表示參數(shù)錯誤,數(shù)值2表示地理位置認證失敗,數(shù)值3表示OTP驗證失敗。
[0271]步驟216:客戶端顯示登錄結(jié)果。
[0272]例如:客戶端顯示登錄成功或登錄失敗的提示信息。
[0273]本實施例提供的認證方法基于客戶端驗證用戶信息,認證服務器端驗證OTP和生成OTP時移動終端設(shè)備所在地理位置信息,本實施例中認證服務器驗證的OTP由移動終端設(shè)備生成并推送過來,本實施例提供的認證方法通過將多種認證因素參與到認證流程中,可以有效增加應用系統(tǒng)登錄的保護強度,提高登錄安全性。
[0274]實施例5
[0275]本發(fā)明實施例5提供了一種基于地理位置信息的認證方法流程,基于客戶端、認證服務器和移動終端設(shè)備組成的認證系統(tǒng)來實現(xiàn),本實施例中的OTP是在移動終端生成,由用戶輸入到客戶端,再由客戶端發(fā)送到認證服務器,本實施例中的地理位置驗證信息具體為歷史成功登錄地理位置信息。
[0276]如圖6所示,包括以下步驟:
[0277]步驟1:客戶端啟動應用系統(tǒng),提示用戶輸入用戶信息和OTP ;
[0278]具體的,所述用戶信息可以包括用戶名和密碼,或者僅包括用戶名。本實施例中以所述用戶信息僅包括用戶名為例進行介紹。
[0279]本步驟之后還包括:當移動終端設(shè)備接收到用戶的獲取OTP請求時,移動終端設(shè)備生成OTP并顯示,獲取當前地理位置信息并上傳到認證服務器的云數(shù)據(jù)庫。優(yōu)選的還包括:當移動終端設(shè)備上的令牌生成程序啟動時,根據(jù)內(nèi)部保存的訪問地址,訪問所述認證服務器,建立所述移動終端設(shè)備與所述認證服務器之間的網(wǎng)絡數(shù)據(jù)鏈路。
[0280]進一步的,認證服務器接收到移動終端設(shè)備上傳的當前地理位置信息時,檢查云數(shù)據(jù)庫中是否存儲有地理位置信息,若云數(shù)據(jù)庫中未存儲地理位置信息,則存儲上傳的當前地理位置信息,若云數(shù)據(jù)庫中已存儲有地理位置信息,則用上傳的當前地理位置信息替換已存儲的地理位置信息。移動終端設(shè)備生成OTP具體為移動終端設(shè)備利用已安裝的令牌應用程序生成OTP并顯示。所述令牌應用程序在移動終端設(shè)備上安裝時會生成一條令牌數(shù)據(jù),所述令牌數(shù)據(jù)包括令牌號、種子數(shù)據(jù)、口令生成算法等。
[0281]本步驟中所述移動終端設(shè)備接收到用戶的獲取OTP請求時,生成OTP并顯示可以具體為:移動終端設(shè)備根據(jù)口令生成算法對種子數(shù)據(jù)和當前時間戳計算得到OTP并顯示。例如,口令生成算法為6位60秒OATH算法,種子數(shù)據(jù)為7F1%DE32A5BCDD394E9866E52B980B3o除此之外口令生成算法還可以為國密時間型算法SM3算法。
[0282]所述獲取當前地理位置信息并上傳到云數(shù)據(jù)庫具體包括:
[0283]1-1、移動終端設(shè)備判斷是否存儲有地理位置信息,是則直接將存儲的地理位置信息上傳到云數(shù)據(jù)庫,否則執(zhí)行1-2 ;
[0284]1-2、判斷系統(tǒng)定位管理器中是否存儲有定位信息,是則直接將所述定位信息作為當前地理位置信息上傳到云數(shù)據(jù)庫,否則執(zhí)行1-3 ;
[0285]1-3、根據(jù)優(yōu)先級選用預設(shè)方法獲取當前地理位置信息,然后上傳到云數(shù)據(jù)庫。
[0286]例如,預設(shè)方法包括GPS、WIF1、GRPS三種,優(yōu)先級從高到低依次為GPS、WIF1、GRPS0
[0287]具體的,調(diào)用接口方法Locat1nManager locaManager,其中該接口方法中的參數(shù)latitude表示經(jīng)度,參數(shù)longitud