本技術涉及身份認證,尤其涉及基于國密算法的身份認證系統(tǒng)及方法。
背景技術:
1、隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡安全問題日益凸顯,特別是在用戶身份認證領域,傳統(tǒng)的用戶名和密碼驗證方式已難以滿足日益增長的安全需求。
2、
3、傳統(tǒng)的身份認證方法,如僅使用用戶名和密碼,已經不能充分保障用戶賬戶的安全。一方面,密碼可能因各種原因(如弱密碼、密碼泄露等)而變得不再可靠;另一方面,設備和位置信息的變動也可能指示潛在的安全威脅;傳統(tǒng)的認證機制往往不能根據(jù)用戶行為、設備信息或位置信息的變化自動調整其安全策略,導致無法及時應對新型攻擊。許多認證系統(tǒng)沒有全面的風險評分機制,不能準確評估每次登錄嘗試的風險水平,從而難以在保證安全的同時保持用戶體驗。現(xiàn)有的異常檢測模型可能過于簡單,無法區(qū)分輕微、中等和嚴重的異常行為,導致要么誤報率高,要么真正的威脅未能及時被識別;在現(xiàn)有的身份認證方法中,往往缺乏對認證過程中的實時監(jiān)控和日志記錄,以及對異常認證行為的有效處理機制;這導致在發(fā)生安全事件時,難以及時發(fā)現(xiàn)和應對,增加了系統(tǒng)的安全風險。
技術實現(xiàn)思路
1、針對上述問題,本技術提出一種基于國密算法的身份認證系統(tǒng)及方法,通過集成先進的密碼學技術和智能化的認證策略,有效地提升了在線服務的安全性和用戶體驗,既防止了惡意攻擊,也避免了對合法用戶的過度限制。
2、本技術的目的采用以下技術方案實現(xiàn):
3、第一方面,本技術提供了基于國密算法的身份認證方法,所述方法包括:
4、響應于用戶第一輸入,通過國密算法進行第一驗證;所述第一驗證包括用戶名和密碼驗證;
5、通過所述第一驗證,獲取用戶第一信息、設備信息以及位置信息;
6、若用戶當前位置信息不在預設區(qū)域列表內,進行多層級驗證;
7、或,若當前用戶位置信息在預設區(qū)域列表內,根據(jù)該用戶當前登錄設備、登錄時間、歷史登錄設備、歷史登錄時間、登錄頻率以及驗證過程獲得當前位置該用戶的登錄風險評分,根據(jù)用戶登錄風險評分確定是否進入多層級認證;其中,通過歷史記錄中該用戶登錄區(qū)域的變化頻率確定第一預設時間;在第一預設時間內,獲取該用戶的歷史正常登錄區(qū)域作為預設區(qū)域列表;
8、實時監(jiān)控認證過程中的各個環(huán)節(jié),記錄日志信息;根據(jù)日志信息確定異常認證;根據(jù)異常認證,進行預警以及確定鎖定時長。
9、優(yōu)選地,所述第一驗證包括:
10、響應于用戶端通過登錄界面的第一輸入,通過sm3算法對輸入的密碼進行計算,生成一個哈希值;
11、將生成的哈希值與數(shù)據(jù)庫中存儲的對應用戶哈希值進行比較;獲得比較結果;
12、獲取用戶的設備信息以及位置信息,并記錄驗證操作。
13、優(yōu)選地,所述方法包括:
14、若用戶當前位置信息不在預設區(qū)域列表內,進行多層級驗證;
15、若當前用戶位置信息在預設區(qū)域列表內,則獲取該用戶在該位置的登錄設備、登錄頻率以及驗證過程;
16、根據(jù)該用戶當前登錄設備、登錄時間、歷史登錄設備、歷史登錄時間、登錄頻率以及驗證過程獲得當前位置該用戶的登錄風險評分;
17、若生成哈希值與存儲的哈希值匹配,則密碼驗證成功;根據(jù)登錄風險評分確定是否進入多層級驗證;
18、若生成哈希值與存儲的哈希值不匹配,則反饋錯誤信息給用戶,提示用戶名或密碼不正確;根據(jù)登錄風險評分以及用戶設置確定是否通過另一層級驗證或在預設次數(shù)范圍內重復進行第一驗證。
19、優(yōu)選地,所述預設區(qū)域列表的獲取方法包括:
20、獲取歷史記錄中該用戶登錄區(qū)域的變化頻率,根據(jù)變化頻率確定第一預設時間;
21、s=k*(jc/ja)*(n+1)*sy/ny
22、其中,s為用戶的第一預設時間,n為該用戶在過去t天內登錄區(qū)域的總變化次數(shù);k調節(jié)為系數(shù),k>0;sy為參考第一預設時間;ny為用戶在過去t天內登錄區(qū)域的參考總變化次數(shù);ny大于等于1;jc為該用戶最近一次位置變化時登錄時間與前一次登錄時間的間隔,ja為該用戶在過去t天內相鄰兩次位置變化時正常登錄時間間隔的均值;
23、在第一預設時間內,獲取該用戶的歷史正常登錄區(qū)域作為預設區(qū)域列表。
24、優(yōu)選地,所述根據(jù)該用戶當前登錄設備、登錄時間、歷史登錄設備、歷史登錄時間、登錄頻率以及驗證過程獲得當前位置該用戶的登錄風險評分,包括:
25、基于歷史登錄頻率以及驗證過程獲得該位置的第一評分;
26、
27、其中,pi為用戶在第i個位置的第一評分;fi為該用戶在第i個位置的登錄頻率;fa為該用戶在多個位置的登錄頻率的均值;czi為該用戶在第i個位置的總登錄次數(shù);cci為該用戶在第i個位置被鎖定的登錄次數(shù);m為該用戶登錄位置的個數(shù);
28、w1、w2為權重系數(shù);
29、根據(jù)該用戶當前登錄設備、登錄時間和所述第一評分;獲得該用戶在該位置的登錄風險評分;所述登錄風險評分為pi2=(1+x1+x2)*pi
30、其中,若當前登錄設備與該位置歷史登錄設備一致,則x1=0;若當前登錄設備與該位置歷史正常登錄設備不一致,則0<x1<0.5;若當前登錄時間與該位置歷史正常登錄時間范圍一致,則x2=0;若當前登錄時間與該位置歷史正常登錄時間范圍不一致,則0<x2<0.5。
31、優(yōu)選地,所述方法包括:
32、若登錄風險評分大于預設評分閾值,則提示進行多層級認證;若登錄風險評分小于或等于預設評分閾值;則直接登錄;
33、若登錄風險評分小于或等于預設評分閾值,但當前用戶名或密碼不正確,則根據(jù)用戶預先設置,確定是否選擇其它層級驗證;或在預設次數(shù)范圍內重復進行第一驗證。
34、優(yōu)選地,所述多層級認證包括動態(tài)口令、生物識別和/或挑戰(zhàn)應答;包括:
35、通過當前時間或事件計數(shù),使用種子密鑰和sm1/sm3算法生成一次性密碼,通過所述一次性密碼,進行動態(tài)口令驗證;
36、通過生物識別設備采集用戶的生物特征數(shù)據(jù);通過國密算法對特征數(shù)據(jù)進行加密,服務器端接收到加密的生物特征數(shù)據(jù)后,進行解密并與存儲的特征模板進行比對,通過比對獲得生物識別驗證結果;
37、生成一個隨機數(shù)作為挑戰(zhàn),并發(fā)送給用戶;獲取用戶根據(jù)挑戰(zhàn)、自己的私鑰以及國密算法生成的應答;通過用戶的公鑰驗證應答的正確性,獲得挑戰(zhàn)應答結果。
38、優(yōu)選地,所述實時監(jiān)控認證過程中的各個環(huán)節(jié),記錄日志信息;根據(jù)日志信息確定異常認證;根據(jù)異常認證,進行預警以及確定鎖定時長,包括:
39、收集用戶認證過程中的日志信息,所述日志信息包括認證時間、認證方式、認證結果、設備信息以及位置信息;
40、劃分不同的評估維度,包括失敗次數(shù)、設備變化、地理位置變化以及時間因素;
41、計算每個維度的得分;將各個維度的得分加權求和,得到異??偡?;
42、根據(jù)異??偡謩澐之惓5燃?;所述異常等級包括:輕微異常、中等異常以及嚴重異常;對嚴重異常進行賬戶鎖定,并設置鎖定時長。
43、優(yōu)選地,所述鎖定時長通過如下公式獲?。?/p>
44、若
45、則:
46、
47、若
48、則:
49、
50、若
51、則bs=p*by;
52、其中,bs為目標賬戶鎖定時長;abz目標賬戶當前登錄異??偡郑籥by為嚴重異常分值閾值;r目標賬戶在預設時間內的認證總次數(shù);e為目標賬戶在預設時間內歷史被鎖定的次數(shù);jlast為當前時間與前一次認證之間的時間間隔;dj為目標賬戶第j次認證的時間,dj-1為目標賬戶第j-1次認證的時間,by為參考鎖定時長;h為系數(shù),h>1。
53、本技術提供基于國密算法的身份認證系統(tǒng),所述系統(tǒng)包括:
54、第一驗證模塊,用于響應于用戶第一輸入,通過國密算法進行第一驗證;所述第一驗證包括用戶名和密碼驗證;
55、第一獲取模塊,用于通過所述第一驗證,獲取用戶第一信息、設備信息以及位置信息;
56、判定模塊,用于若用戶當前位置信息不在預設區(qū)域列表內,進行多層級驗證;
57、或,若當前用戶位置信息在預設區(qū)域列表內,根據(jù)該用戶當前登錄設備、登錄時間、歷史登錄設備、歷史登錄時間、登錄頻率以及驗證過程獲得當前位置該用戶的登錄風險評分,根據(jù)用戶登錄風險評分確定是否進入多層級認證;其中,通過歷史記錄中該用戶登錄區(qū)域的變化頻率確定第一預設時間;在第一預設時間內,獲取該用戶的歷史正常登錄區(qū)域作為預設區(qū)域列表;
58、監(jiān)控模塊,用于實時監(jiān)控認證過程中的各個環(huán)節(jié),記錄日志信息;根據(jù)日志信息確定異常認證;根據(jù)異常認證,進行預警以及確定鎖定時長。
59、本發(fā)明的有益效果包括:根據(jù)用戶的行為、歷史數(shù)據(jù)和實時驗證結果,動態(tài)生成用戶登錄風險評分,用于判斷是否需要啟動額外的認證層;依據(jù)用戶過去登錄區(qū)域的變化頻率和時間間隔,自動更新預設安全區(qū)域,增強位置驗證的有效性;當風險評分超過閾值時,啟用動態(tài)口令、生物識別或挑戰(zhàn)應答等多種認證手段,增加認證的復雜度和安全性。通過實時監(jiān)控認證過程中的各項指標,如失敗次數(shù)、設備和地理位置變化,自動識別異常行為并采取相應措施,如預警和賬戶鎖定;基于異常行為的量化分析,動態(tài)調整賬戶鎖定時長,既防止了惡意攻擊,也避免了對合法用戶的過度限制。異常行為的分級管理和智能響應減少了誤判,提高了系統(tǒng)的整體穩(wěn)定性和可靠性。預設區(qū)域列表的動態(tài)更新機制使得系統(tǒng)能夠適應用戶行為的變化,增強了認證機制的靈活性和有效性。多層級認證機制在必要時啟動,避免了不必要的用戶干擾,同時在高風險場景下提供額外的安全保障;智能鎖定策略減少了對系統(tǒng)資源的無效占用,同時確保了對異常行為的及時反應。