System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及安全,尤其涉及一種基于token認證的防重放攻擊方法及相關裝置。
技術介紹
1、token(即令牌),在計算機網絡和分布式系統中,通常指一種證明數字身份或訪問授權的憑證,能夠用于實現對用戶訪問服務的授權控制。token有著無狀態、防止跨站請求偽造(cross-site?requestforgery,csrf)攻擊以及單點登錄友好等優點,在移動端和微服務鑒權中得到了廣泛應用。但是,token也存在被盜用后冒用身份的問題,容易帶來信息泄露風險和接口重放攻擊的危險;而且,token一經頒發,服務端無法主動讓token失效。
2、隨著互聯網場景下網絡安全問題愈發嚴峻,接口防重放攻擊的設計也越來越重要。尤其在銀行等金融場景下,接口防重放攻擊的設計能夠增加接口安全性,避免重要金融交易重提,從而增加重要金融交易的安全性。
3、但是,目前基于token認證的防重放攻擊,通常都是基于客戶端和服務端的時鐘進行驗證,驗證結果不夠可靠?;诖耍酱峁┮环N更加可靠和安全的、基于token認證的防重放攻擊方法,提高接口安全性,從而提高銀行等金融場景下金融交易的安全性。
技術實現思路
1、為了解決上述技術問題,本申請提供了一種基于token認證的防重放攻擊方法及相關裝置,通過token對應的請求序列驗證包括該token和該請求序列的請求消息是否已經處理過,以獲得更加可靠和準確的、基于token認證的防重放攻擊的驗證結果,從而,提高了接口安全性。
2、為了實現上述目
3、第一方面,本申請提供了一種基于token認證的防重放攻擊方法,應用于服務端,所述方法包括:
4、接收第一請求消息,所述第一請求消息包括加密信息;
5、對所述加密信息進行解密,獲得第一token和第一請求序列,所述第一請求序列用于指示所述第一請求消息的順序;
6、若所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token無效,則拒絕處理所述第一請求消息,所述請求序列集合用于存儲針對所述第一token認證的有效請求消息中的請求序列。
7、可選地,所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token無效,包括:
8、所述第一token對應的請求序列集合包括所述第一請求序列;
9、或者,所述第一token對應的請求序列集合不包括所述第一請求序列,但所述第一請求序列小于或等于請求數量下限,所述請求數量下限基于請求并發數量閾值和當前與所述第一token對應的請求序列集合中最大的第二請求序列確定。
10、可選地,所述方法還包括:
11、確定所述第一請求消息為針對所述第一token認證的重放攻擊。
12、可選地,所述方法還包括:
13、若所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token有效,則響應于對所述第一請求消息的處理,獲取所述第一token對應的用戶信息。
14、可選地,所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token有效,包括:
15、所述第一token對應的請求序列集合為空;
16、或者,所述第一token對應的請求序列集合不包括所述第一請求序列,且所述第一請求序列大于請求數量下限,所述請求數量下限基于請求并發數量閾值和當前與所述第一token對應的請求序列集合中最大的第二請求序列確定。
17、可選地,所述方法還包括:
18、基于所述第一請求序列更新所述第一token對應的請求序列集合。
19、可選地,
20、若所述第一token對應的請求序列集合為空,則所述基于所述第一請求序列更新所述第一token對應的請求序列集合,包括:
21、將所述第一請求序列保存在所述第一token對應的請求序列集合中;
22、若所述第一token對應的請求序列集合不包括所述第一請求序列,且所述第一請求序列大于請求數量下限,則所述基于所述第一請求序列更新所述第一token對應的請求序列集合,包括:
23、若所述第一token對應的請求序列集合中所包括的請求序列的數量達到所述請求并發數量閾值,則移除當前與所述第一token對應的請求序列集合中最小的第三請求序列,并將所述第一請求序列插入所述第一token對應的請求序列集合中。
24、可選地,所述請求序列集合采用redis中的zset結構進行存儲,zset結構的數據包括以token作為鍵以及以與所述token對應的請求序列作為值的鍵值對。
25、第二方面,本申請還提供了一種基于token認證的防重放攻擊方法,應用于客戶端,所述方法包括:
26、生成第一請求消息,所述第一請求消息包括第一加密信息,所述第一加密信息為所述客戶端對所述第一令牌token和第一請求序列加密得到的信息,所述第一請求序列用于指示所述第一請求消息的順序;
27、向服務端發送所述第一請求消息,以便所述服務端基于對所述第一請求消息中所述第一token的認證結果處理所述第一請求消息。
28、可選地,所述方法還包括:
29、將存儲的所述第一請求序列加一,得到第二請求序列;
30、生成第二請求消息,所述第二請求消息包括第二加密信息,所述第二加密信息為所述客戶端對所述第一token和所述第二請求序列加密得到的信息;
31、向所述服務端發送所述第二請求消息。
32、第三方面,本申請還提供了一種基于token認證的防重放攻擊裝置,應用于服務端,包括:
33、接收單元,用于接收第一請求消息,所述第一請求消息包括加密信息;
34、解密單元,用于對所述加密信息進行解密,獲得第一token和第一請求序列,所述第一請求序列用于指示所述第一請求消息的順序;
35、處理單元,用于若所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token無效,則拒絕處理所述第一請求消息,所述請求序列集合用于存儲針對所述第一token認證的有效請求消息中的請求序列。
36、可選地,所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token無效,包括:
37、所述第一token對應的請求序列集合包括所述第一請求序列;
38、或者,所述第一token對應的請求序列集合不包括所述第一請求序列,但所述第一請求序列小于或等于請求數量下限,所述請求數量下限基于請求并發數量閾值和當前與所述第一token對應的請求序列集合中最大的第二請求序列確定。
39、可選地,所述裝置還包括:
40、確定單元,用于確定所述第一請求消息為針對所述第一token認證的重放攻擊。
41、可選地,所述裝置本文檔來自技高網...
【技術保護點】
1.一種基于Token認證的防重放攻擊方法,其特征在于,應用于服務端,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述第一請求序列和所述第一Token對應的請求序列集合指示所述第一Token無效,包括:
3.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求1所述的方法,其特征在于,所述方法還包括:
5.根據權利要求4所述的方法,其特征在于,所述第一請求序列和所述第一Token對應的請求序列集合指示所述第一Token有效,包括:
6.根據權利要求4或5所述的方法,其特征在于,所述方法還包括:
7.根據權利要求6所述的方法,其特征在于,
8.根據權利要求1-7任一項所述的方法,其特征在于,所述請求序列集合采用Redis中的Zset結構進行存儲,Zset結構的數據包括以Token作為鍵以及以與所述Token對應的請求序列作為值的鍵值對。
9.一種基于Token認證的防重放攻擊方法,其特征在于,應用于客戶端,所述方法包括:
10.根據權利要
...【技術特征摘要】
1.一種基于token認證的防重放攻擊方法,其特征在于,應用于服務端,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token無效,包括:
3.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求1所述的方法,其特征在于,所述方法還包括:
5.根據權利要求4所述的方法,其特征在于,所述第一請求序列和所述第一token對應的請求序列集合指示所述第一token有效,包括:...
【專利技術屬性】
技術研發人員:訚勁松,
申請(專利權)人:中國農業銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。