一種在門戶伺服器和客戶端之間防重放攻擊的方法及設備的製作方法
2023-04-30 05:29:11
專利名稱:一種在門戶伺服器和客戶端之間防重放攻擊的方法及設備的製作方法
技術領域:
本發明涉及安全認證技術領域,具體涉及一種在門戶(Portal)Portal伺服器和 Portal客戶端之間防重放攻擊的方法及設備。
背景技術:
Portal認證通常也稱為Web認證,即通過網頁(Web)方式進行用戶認證。一般將 Portal認證網站稱為門戶網站。Portal認證協議主要應用於基於WEB的寬帶接入認證系 統中,完成用戶的認證和授權。未認證用戶上網時,設備強制用戶登錄到特定站點,用戶可 以免費訪問其中的服務。當用戶需要使用網際網路中的其它信息時,必須在門戶網站進行認 證,只有認證通過後用戶才可以使用網際網路資源。整個Portal認證過程涉及到了認證Portal客戶端(Portal Client)、認證伺服器 (Portal krver)、寬帶接入伺服器(BAS,Broad Access Server)和認證授權與計費(AAA, Authentication Authorization Accounting)月艮務器。認證主要通過在 Portal Server 禾口 BAS之間的協議交互,協議採用非嚴格意義上的客戶端/伺服器(Client/Server)結構,大 部分消息採用請求/響應(Request/Response)方式進行交互。目前,Portal客戶端主動要求下線的處理流程如圖1所示。在Portal客戶端 主動要求下線的過程中,Portal客戶端會先主動向Portal伺服器發送下線請求報文 (L0G0UT_REQUEST(0x66)),其中該下線請求報文中的認證(Authenticator)欄位是對該下 線請求報文中的部分欄位和Portal客戶端的預置共享密鑰進行信息-摘要算法5(MD5, Message-Digest algorithm 5)摘要計算而得出的。當Portal伺服器收到上述下線請求報 文後,就會根據這個請求報文中的部分欄位和Portal伺服器的預置共享密鑰進行MD5摘要 計算得到一個值,並和Portal客戶端的Authenticator欄位的值進行比較,如果相同,就認 為報文是合法的,執行與BAS的交互,最後向Portal客戶端返回下線回應報文;否則就認為 報文錯誤,可以簡單丟棄,並進行對丟棄報文的統計。上述處理過程是Portal伺服器對於 Portal客戶端的一個認證過程。為了完成這個認證過程,要求Portal伺服器和Portal客 戶端兩端需要配置相同的預置共享密鑰Gecret),並且雙方都是採用相同的加密算法(如 RFC1321中描述的MD5的加密算法),同時接收方為了驗證所接收到的報文的正確性,必須 採用和發送方完全一樣的計算過程,即對預定的欄位進行加密計算。現有技術的Portal客戶端下線實現方式存在中間人重放攻擊的安全問題。如果 在Portal客戶端和Portal伺服器之間有中間人攻擊者,它監聽到Portal客戶端向Portal 伺服器發送的某一次的主動下線請求報文後,把這個報文保存下來。當該Portal客戶端再 次通過認證,正常上線的時候,中間人攻擊者突然向Portal伺服器重放該報文,將會導致 Portal伺服器把該Portal客戶端踢下線。如果中間人攻擊者保存了 Portal客戶端的大 量不同Portal客戶端的主動下線請求報文,並不定期的進行故意重放,就會導致發生大量 Portal客戶端非正常掉線的情況,進而還可以衍生出其他的攻擊行為,如會話劫持,主機 間信任關係竊取等。
發明內容
本發明所要解決的技術問題是提供一種在Portal伺服器和Portal客戶端之間防 重放攻擊的方法及設備,有效地防止下線請求報文的重放攻擊,提高Portal認證系統的安 全性。為解決上述技術問題,本發明提供方案如下一種在Portal伺服器和Portal客戶端之間防重放攻擊的方法,包括步驟A,Portal伺服器接收到針對第一 Portal客戶端的下線請求報文,所述下線 請求報文中包括有第一驗證字、第一用戶序列號和第一 Portal客戶端的第一 IP位址;步驟B,Portal伺服器在本地保存的對應關係表中查找所述第一 IP位址對應的第 二用戶序列號,並判斷第一、第二用戶序列號是否相同若是,則進入步驟C,否則丟棄所述 下線請求報文並結束流程;其中,所述對應關係表中保存有所述Portal伺服器為各個在線 Portal客戶端分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任 意兩次上線後被分配到同一用戶序列號的概率不大於預定值;步驟C,Portal伺服器根據預定摘要算法,對預置共享密鑰和所述下線請求報文 中的預定欄位進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則 判斷所述第一 Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文並結束流程; 其中,所述預定欄位包括有所述第一用戶序列號。優選地,上述方法中,還包括所述Portal伺服器在各個Portal客戶端上線認證通過後,為各個Portal客戶 端分配用戶序列號,並將所分配的用戶序列號攜帶在認證回應報文中發送給對應的Portal 客戶端。優選地,上述方法中,所述為各個Portal客戶端分配用戶序列號是對於任一 Portal客戶端,從預定的數值空間內隨機選擇一個數值,作為該Portal 客戶端的用戶序列號;或者,按照各個Portal客戶端上線認證通過的先後順序,將預定的 數值空間內的數值順次分配給各個Portal客戶端,作為各個Portal客戶端的用戶序列號。優選地,上述方法中,所述步驟C中,在判斷所述第一 Portal客戶端的下線認證通 過後,所述Portal伺服器進一步刪除所述對應關係表中保存的所述第一 IP位址與所述第 二用戶序列號之間的對應關係。本發明還提供了另一種在Portal伺服器和Portal客戶端之間防重放攻擊的方 法,包括第一 Portal客戶端在需要下線時,向Portal伺服器發送下線請求報文,所述下線 請求報文中包括有第一驗證字、第一 Portal客戶端的第一 IP位址和第一用戶序列號,其 中,所述第一用戶序列號是所述Portal伺服器在第一 Portal客戶端上線後為第一 Portal 客戶端分配的用戶序列號,且任一 Portal客戶端在每次上線後被所述Portal伺服器分配 到同一用戶序列號的概率小於預定值;所述第一驗證字是根據預定摘要算法,對預置共享 密鑰和所述下線請求報文中的預定欄位進行摘要計算所得到的,所述預定欄位包括有所述 第一用戶序列號;
其中,所述下線請求報文中的第一用戶序列號用於提供給所述Portal伺服器與 第二用戶序列號進行比較,並在第一、第二用戶序列號不相同時丟棄所述下線請求報文, 其中,所述第二用戶序列號是所述Portal伺服器查找本地保存的對應關係表得到的與第 一 IP位址對應的用戶序列號,所述對應關係表中保存有所述Portal伺服器為各個在線 Portal客戶端分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任 意兩次上線後被分配到同一用戶序列號的概率不大於預定值;所述下線請求報文中的第一驗證字則用於提供給所述Portal伺服器與第二驗證 字進行比較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過, 在所述第一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述 Portal伺服器在所述第一、第二用戶序列號相同時,根據預定摘要算法對預置共享密鑰和 所述預定欄位進行摘要計算得到的。優選地,上述方法中,在發送所述下線請求報文之前,所述方法還包括第一 Portal客戶端在本Portal客戶端需要上線時向Portal伺服器發送上線請 求報文,並接收Portal伺服器在對所述第一 Portal客戶端的上線認證通過後返回的上線 回應報文,所述上線回應報文中攜帶有所述Portal伺服器為所述第一 Portal客戶端分配 的用戶序列號。本發明提供了一種Portal伺服器,包括接收單元,用於接收到針對第一 Portal客戶端的下線請求報文,所述下線請求報 文中包括有第一驗證字、第一用戶序列號和第一 Portal客戶端的第一 IP位址;第一判斷單元,用於在本地保存的對應關係表中查找所述第一 IP位址對應的第 二用戶序列號,並判斷第一、第二用戶序列號是否相同若是,則觸發第二判斷單元;否則 丟棄所述下線請求報文;其中,所述對應關係表中保存有所述Portal伺服器為各個在線 Portal客戶端分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任 意兩次上線後被分配到同一用戶序列號的概率不大於預定值;第二判斷單元,根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的預 定欄位進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則判斷所 述第一 Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文;其中,所述預定欄位 包括有所述第一用戶序列號。優選地,上述Portal伺服器中,還包括序列號分配單元,用於在各個Portal客戶端上線認證通過後,為各個Portal客戶 端分配用戶序列號,並將所分配的用戶序列號攜帶在認證回應報文中發送給對應的Portal 客戶端。優選地,上述Portal伺服器中,所述序列號分配單元,還用於對於任一 Portal客戶端,從預定的數值空間內隨機 選擇一個數值,作為該Portal客戶端的用戶序列號;或者,用於按照各個Portal客戶端上 線認證通過的先後順序,將預定的數值空間內的數值順次分配給各個Portal客戶端,作為 各個Portal客戶端的用戶序列號。本發明還提供了一種Portal客戶端,包括下線處理單元,用於在本Portal客戶端需要下線時,向所述Portal伺服器發送下線請求報文,所述下線請求報文中包括有第一驗證字、第一 Portal客戶端的第一 IP位址和 第一用戶序列號,其中,所述第一用戶序列號是所述Portal伺服器在第一 Portal客戶端上 線後為第一 Portal客戶端分配的用戶序列號,且任一 Portal客戶端在每次上線後被所述 Portal伺服器分配到同一用戶序列號的概率小於預定值;所述第一驗證字是根據預定摘 要算法,對預置共享密鑰和所述下線請求報文中的預定欄位進行摘要計算所得到的,所述 預定欄位包括有所述第一用戶序列號;其中,所述下線請求報文中的第一用戶序列號用於供所述Portal伺服器與第二 用戶序列號進行比較,並在第一、第二用戶序列號不相同時丟棄所述下線請求報文,其中, 所述第二用戶序列號是所述Portal伺服器查找本地保存的對應關係表得到的與第一 IP地 址對應的用戶序列號,所述對應關係表中保存有所述Portal伺服器為各個在線Portal客 戶端分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任意兩次上 線後被分配到同一用戶序列號的概率不大於預定值;所述下線請求報文中的第一驗證字則用於提供給所述Portal伺服器與第二驗證 字進行比較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過, 在所述第一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述 Portal伺服器在所述第一、第二用戶序列號相同時,根據預定摘要算法對預置共享密鑰和 所述預定欄位進行摘要計算得到的。優選地,上述Portal客戶端中,還包括上線處理單元,用於在本Portal客戶端需要上線時向Portal伺服器發送上線請 求報文,並接收Portal伺服器在對所述第一 Portal客戶端的上線認證通過後返回的上線 回應報文,所述上線回應報文中攜帶有所述Portal伺服器為所述第一 Portal客戶端分配 的用戶序列號。本發明還提供了一種在Portal伺服器和Portal客戶端之間防重放攻擊的方法, 包括步驟1,Portal伺服器接收到針對第一 Portal客戶端的下線請求報文,所述下線 請求報文中包括有第一驗證字、第一下線序列號和第一 Portal客戶端的第一 IP位址;步驟2,Portal伺服器判斷所述第一下線序列號是否處於本地維護的防重放的 滑動窗口範圍之內若是,則進入步驟3,否則丟棄所述下線請求報文並結束流程;其中, 所述滑動窗口的兩端分別是所述Portal伺服器當前已分配出去、且尚未通過下線認證的 Portal客戶端的下線序列號中的最大者和最小者,所述下線序列號的分配是Portal服務 器接收到各個Portal客戶端在需要下線時發送的用於請求下線序列號的序列號請求報文 後,按照接收到所述序列號請求報文的先後順序,為各個Portal客戶端順次分配的;步驟3,Portal伺服器根據預定摘要算法,對預置共享密鑰和所述下線請求報文 中的預定欄位進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則 判斷所述第一 Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文並結束流程; 其中,所述預定欄位中包括有所述第一下線序列號。優選地,上述方法中,還包括所述Portal伺服器接收到各個Portal客戶端在需要下線時發送的用於請求下線 序列號的序列號請求報文後,按照接收到所述序列號請求報文的先後順序,為各個Portal客戶端順次分配下線序列號。本發明又提供了一種在Portal伺服器和Portal客戶端之間防重放攻擊的方法, 包括第一 Portal客戶端在需要下線時,向Portal伺服器發送用於請求下線序列號的 序列號請求報文,並接收Portal伺服器返回的序列號回應報文,所述序列號回應報文中攜 帶有所述Portal伺服器為所述第一 Portal客戶端分配的下線序列號,其中,所述下線序列 號的分配是所述Portal伺服器根據接收到各個Portal客戶端發送的序列號請求報文的先 後順序,為各個Portal客戶端順次分配的;第一 Portal客戶端向所述Portal伺服器發送下線請求報文,所述下線請求報文 中包括有第一驗證字、所述第一下線序列號和第一 Portal客戶端的第一 IP位址,其中,所 述第一驗證字是根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的預定欄位進 行摘要計算所得到的,所述預定欄位包括有所述第一下線序列號;其中,所述下線請求報文中的第一下線序列號用於供所述Portal伺服器判斷是 否處於所述Portal伺服器維護的防重放的滑動窗口範圍之內,並在判斷結果為否時丟棄 所述下線請求報文;其中,所述滑動窗口的兩端分別是所述Portal伺服器當前已分配出 去、且尚未通過下線認證的Portal客戶端的下線序列號中的最大者和最小者;所述下線請求報文中的第一驗證字用於供所述Portal伺服器與第二驗證字進行 比較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過,在所述 第一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述Portal 伺服器在所述第一、第二下線序列號相同時,根據預定摘要算法對預置共享密鑰和所述預 定欄位進行摘要計算得到的。本發明還提供了另一種Portal伺服器,包括接收單元,用於收到針對第一 Portal客戶端的下線請求報文,所述下線請求報文 中包括有第一驗證字、第一下線序列號和第一 Portal客戶端的第一 IP位址;第一判斷單元,用於判斷所述第一下線序列號是否處於本地維護的防重放的滑動 窗口範圍之內若是,則觸發第二判斷單元,否則丟棄所述下線請求報文;其中,所述滑動 窗口的兩端分別是所述Portal伺服器當前已分配出去、且尚未通過下線認證的Portal客 戶端的下線序列號中的最大者和最小者,所述下線序列號的分配是Portal伺服器接收到 各個Portal客戶端在需要下線時發送的用於請求下線序列號的序列號請求報文後,按照 接收到所述序列號請求報文的先後順序,為各個Portal客戶端順次分配的;第二判斷單元,用於根據預定摘要算法,對預置共享密鑰和所述下線請求報文中 的預定欄位進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則判 斷所述第一 Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文;其中,所述預定 欄位中包括有所述第一下線序列號。優選地,上述Portal伺服器中,還包括序列號分配單元,用於在接收到各個Portal客戶端在需要下線時發送的用於請 求下線序列號的序列號請求報文後,按照接收到所述序列號請求報文的先後順序,為各個 Portal客戶端順次分配下線序列號。本發明還提供另一種Portal客戶端,包括
序列號請求單元,用於在本Portal客戶端需要下線時,向Portal伺服器發送用於 請求下線序列號的序列號請求報文,並接收Portal伺服器返回的序列號回應報文,所述序 列號回應報文中攜帶有所述Portal伺服器為所述第一 Portal客戶端分配的下線序列號, 其中,所述下線序列號的分配是所述Portal伺服器根據接收到各個Portal客戶端發送的 序列號請求報文的先後順序,為各個Portal客戶端順次分配的;下線處理單元,用於向所述Portal伺服器發送下線請求報文,所述下線請求報文 中包括有第一驗證字、所述第一下線序列號和第一 Portal客戶端的第一 IP位址,其中,所 述第一驗證字是根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的預定欄位進 行摘要計算所得到的,所述預定欄位包括有所述第一下線序列號;其中,所述下線請求報文中的第一下線序列號用於供所述Portal伺服器判斷該 第一下線序列號是否處於所述Portal伺服器本地設置的防重放的滑動窗口範圍之內,並 在判斷結果為否時丟棄所述下線請求報文;其中,所述滑動窗口的兩端分別是所述Portal 伺服器當前已分配出去、且尚未通過下線認證的Portal客戶端的下線序列號中的最大者 和最小者;所述下線請求報文中的第一驗證字用於供所述Portal伺服器與第二驗證字進行 比較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過,在所述 第一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述Portal 伺服器在所述第一、第二下線序列號相同時,根據預定摘要算法對預置共享密鑰和所述預 定欄位進行摘要計算得到的。從以上所述可以看出,本發明提供的在Portal伺服器和Portal客戶端之間防重 放攻擊的方法及設備,通過Portal客戶端為客戶端分配對應的序列號(如用戶序列號或下 線序列號),並在下線認證過程中利用該序列號來檢測重放報文,從而能夠有效地防止下線 請求報文的重放攻擊,提高Portal認證系統的安全性。
圖1為現有技術的Portal客戶端主動要求下線的流程示意圖;圖2為本發明實施例1所述防重放攻擊的方法的流程示意圖;圖3為Portal協議報文的格式示意圖;圖4為本發明實施例1所述Portal伺服器的結構示意圖;圖5為本發明實施例1所述Portal客戶端的結構示意圖;圖6為本發明實施例2所述防重放攻擊的方法的流程示意圖;圖7為本發明實施例2所述Portal伺服器的結構示意圖;圖8為本發明實施例2所述Portal客戶端的結構示意圖。
具體實施例方式現有技術中存在中間人重放攻擊安全問題的原因在於,現有技術方案中的Portal 伺服器主要是驗證了下線請求報文中的本次的可信性。換句話說,驗證的是下線請求報文 的部分指定欄位,預置共享密鑰和下線請求報文中的鑑別碼(Authenticator)欄位這三者 之間的可信關係。根據這個關係的認證過程只能夠保證本次的請求報文的可信性,即如果該報文被攻擊者篡改過,可以檢測出來。但是,不能驗證該請求報文的首發性,也就是說,不 能區分該請求報文是否是重複發送的。本發明的主要思想是,在Portal伺服器對於Portal客戶端的驗證過程中,通過弓I 入和該Portal用戶相關聯的可信因素,來解決中間人重放攻擊導致的安全問題。以下將結 合附圖,通過具體實施例對本發明作進一步的說明。〈實施例1>本實施例中,Portal伺服器在任一 Portal客戶端上線後為該Portal客戶端分配 一個用戶序列號,並且對於同一Portal客戶端,Portal伺服器儘量保證該Portal客戶端在 每次上線後被分配到不同的用戶序列號,並且Portal伺服器在本地保存各個在線Portal 客戶端的用戶序列號和IP位址之間的對應關係,進而在接收到Portal客戶端的下線請求 報文後,根據本地保存的對應關係以及下線請求報文中攜帶的用戶序列號,驗證該報文的 首發性。如圖2所示,本實施例提供的在Portal伺服器和Portal客戶端之間防重放攻擊 的方法,包括以下步驟步驟21,Portal客戶端在需要上線時,向Portal伺服器發送上線請求報文 (login_request) ;Portal伺服器在該Portal客戶端的上線認證通過後,為該Portal客 戶端分配IP位址和用戶序列號,並向該Portal客戶端返回一個用於指示認證通過的上線 回應報文(login_response),該上線回應報文中包括一個欄位(如自定義的USER_SEQNUM 欄位),該欄位攜帶有分配給該Portal客戶端的、用來唯一標識該Portal客戶端的用戶序 列號,同時,Portal伺服器還在本地維護一個對應關係表,在該對應關係表中保存分配該 Portal客戶端的IP位址和用戶序列號之間的對應關係。Portal客戶端接收到上線回應報 文後,從中提取Portal伺服器為其分配的IP位址和用戶序列號,此後Portal客戶端能夠 使用該IP位址訪問網際網路。這裡,Portal伺服器在為Portal客戶端分配用戶序列號時,需要保證Portal客 戶端在不同次上線後被分配到同一用戶序列號的概率不大於預定值,具體的分配方式可以 是1)在一個預定大小(假設為N)的數值空間內,隨機選取一個數值,作為Portal客 戶端的用戶序列號。這種分配方式下,假設Portal客戶端在第1次上線後被分配到用戶序 列號1,則在第2次上線後仍然被分配到用戶序列號1的概率為1/N。只要N足夠大,就能 夠保證Portal客戶端在不同次上線後被分配到同一用戶序列號的概率足夠小。例如,當N 取或264時,能夠滿足實際使用中的防重放攻擊的需求。2)按照各個Portal客戶端上線認證通過的先後順序,將預定的數值空間(假設為 N)內的數值順次分配給各個Portal客戶端,作為各個Portal客戶端的用戶序列號。這種 情況下,假設Portal客戶端在第1次上線後被分配到用戶序列號1,則在第2次上線後仍然 被分配到用戶序列號1的概率小於1/N。這裡,順次分配可以是順次遞增分配,如Portal客戶端的上線認證通過的先後順 序為=Portal客戶端1、Portal客戶端2、Portal客戶端3、...,那麼為Portal客戶端1、 Portal客戶端2、Portal客戶端3、...分配的用戶序列號分別是n、n+1、n+2、...。在分 配的用戶序列號達到數值空間的上限時,則繼續從數值空間的下限開始循環進行分配。
順次分配還可以是順次遞減分配,此時對於上述Portal客戶端1、Portal客戶端 2、Portal客戶端3、...分配的用戶序列號則分別是n、n-l、n-2、...。在分配的用戶序列 號達到數值空間的下限時,則繼續從數值空間的上限開始循環進行分配。下表1中示出了 Portal伺服器維護的對應關係表的中可能包括的內容。其中每 行的用戶序列號和IP位址就是Portal伺服器為某個客戶端所分配的用戶序列號和IP地 址。
權利要求
1.一種在Portal伺服器和Portal客戶端之間防重放攻擊的方法,其特徵在於,包括 步驟A,Portal伺服器接收到針對第一 Portal客戶端的下線請求報文,所述下線請求報文中包括有第一驗證字、第一用戶序列號和第一 Portal客戶端的第一 IP位址;步驟B,Portal伺服器在本地保存的對應關係表中查找所述第一 IP位址對應的第二 用戶序列號,並判斷第一、第二用戶序列號是否相同若是,則進入步驟C,否則丟棄所述下 線請求報文並結束流程;其中,所述對應關係表中保存有所述Portal伺服器為各個在線 Portal客戶端分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任 意兩次上線後被分配到同一用戶序列號的概率不大於預定值;步驟C,Portal伺服器根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的 預定欄位進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則判斷 所述第一 Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文並結束流程;其中, 所述預定欄位包括有所述第一用戶序列號。
2.如權利要求1所述的方法,其特徵在於,還包括所述Portal伺服器在各個Portal客戶端上線認證通過後,為各個Portal客戶端分配 用戶序列號,並將所分配的用戶序列號攜帶在認證回應報文中發送給對應的Portal客戶端。
3.如權利要求2所述的方法,其特徵在於, 所述為各個Portal客戶端分配用戶序列號是對於任一 Portal客戶端,從預定的數值空間內隨機選擇一個數值,作為該Portal客戶 端的用戶序列號;或者,按照各個Portal客戶端上線認證通過的先後順序,將預定的數值 空間內的數值順次分配給各個Portal客戶端,作為各個Portal客戶端的用戶序列號。
4.如權利要求2所述的方法,其特徵在於,所述步驟C中,在判斷所述第一Portal客戶 端的下線認證通過後,所述Portal伺服器進一步刪除所述對應關係表中保存的所述第一 IP位址與所述第二用戶序列號之間的對應關係。
5.一種在Portal伺服器和Portal客戶端之間防重放攻擊的方法,其特徵在於,包括 第一 Portal客戶端在需要下線時,向Portal伺服器發送下線請求報文,所述下線請求報文中包括有第一驗證字、第一 Portal客戶端的第一 IP位址和第一用戶序列號,其中,所 述第一用戶序列號是所述Portal伺服器在第一 Portal客戶端上線後為第一 Portal客戶 端分配的用戶序列號,且任一 Portal客戶端在每次上線後被所述Portal伺服器分配到同 一用戶序列號的概率小於預定值;所述第一驗證字是根據預定摘要算法,對預置共享密鑰 和所述下線請求報文中的預定欄位進行摘要計算所得到的,所述預定欄位包括有所述第一 用戶序列號;其中,所述下線請求報文中的第一用戶序列號用於提供給所述Portal伺服器與第二 用戶序列號進行比較,並在第一、第二用戶序列號不相同時丟棄所述下線請求報文,其中, 所述第二用戶序列號是所述Portal伺服器查找本地保存的對應關係表得到的與第一 IP地 址對應的用戶序列號,所述對應關係表中保存有所述Portal伺服器為各個在線Portal客 戶端分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任意兩次上 線後被分配到同一用戶序列號的概率不大於預定值;所述下線請求報文中的第一驗證字則用於提供給所述Portal伺服器與第二驗證字進行比較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過, 在所述第一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述 Portal伺服器在所述第一、第二用戶序列號相同時,根據預定摘要算法對預置共享密鑰和 所述預定欄位進行摘要計算得到的。
6.如權利要求5所述的方法,其特徵在於,在發送所述下線請求報文之前,所述方法還 包括第一 Portal客戶端在本Portal客戶端需要上線時向Portal伺服器發送上線請求報 文,並接收Portal伺服器在對所述第一 Portal客戶端的上線認證通過後返回的上線回應 報文,所述上線回應報文中攜帶有所述Portal伺服器為所述第一 Portal客戶端分配的用 戶序列號。
7.—種Portal伺服器,其特徵在於,包括接收單元,用於接收到針對第一 Portal客戶端的下線請求報文,所述下線請求報文中 包括有第一驗證字、第一用戶序列號和第一 Portal客戶端的第一 IP位址;第一判斷單元,用於在本地保存的對應關係表中查找所述第一 IP位址對應的第二用 戶序列號,並判斷第一、第二用戶序列號是否相同若是,則觸發第二判斷單元;否則丟棄 所述下線請求報文;其中,所述對應關係表中保存有所述Portal伺服器為各個在線Portal 客戶端分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任意兩次 上線後被分配到同一用戶序列號的概率不大於預定值;第二判斷單元,根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的預定字 段進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則判斷所述第 -Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文;其中,所述預定欄位包括 有所述第一用戶序列號。
8.如權利要求7所述的Portal伺服器,其特徵在於,還包括序列號分配單元,用於在各個Portal客戶端上線認證通過後,為各個Portal客戶端分 配用戶序列號,並將所分配的用戶序列號攜帶在認證回應報文中發送給對應的Portal客 戶端。
9.如權利要求8所述的Portal伺服器,其特徵在於,所述序列號分配單元,還用於對於任一 Portal客戶端,從預定的數值空間內隨機選擇 一個數值,作為該Portal客戶端的用戶序列號;或者,用於按照各個Portal客戶端上線認 證通過的先後順序,將預定的數值空間內的數值順次分配給各個Portal客戶端,作為各個 Portal客戶端的用戶序列號。
10.一種Portal客戶端,其特徵在於,包括下線處理單元,用於在本Portal客戶端需要下線時,向所述Portal伺服器發送下線 請求報文,所述下線請求報文中包括有第一驗證字、第一 Portal客戶端的第一 IP位址和第 一用戶序列號,其中,所述第一用戶序列號是所述Portal伺服器在第一 Portal客戶端上 線後為第一 Portal客戶端分配的用戶序列號,且任一 Portal客戶端在每次上線後被所述 Portal伺服器分配到同一用戶序列號的概率小於預定值;所述第一驗證字是根據預定摘 要算法,對預置共享密鑰和所述下線請求報文中的預定欄位進行摘要計算所得到的,所述 預定欄位包括有所述第一用戶序列號;其中,所述下線請求報文中的第一用戶序列號用於供所述Portal伺服器與第二用戶 序列號進行比較,並在第一、第二用戶序列號不相同時丟棄所述下線請求報文,其中,所述 第二用戶序列號是所述Portal伺服器查找本地保存的對應關係表得到的與第一 IP位址對 應的用戶序列號,所述對應關係表中保存有所述Portal伺服器為各個在線Portal客戶端 分配的IP位址與用戶序列號之間的對應關係,並且任一 Portal客戶端在任意兩次上線後 被分配到同一用戶序列號的概率不大於預定值;所述下線請求報文中的第一驗證字則用於提供給所述Portal伺服器與第二驗證字 進行比較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過, 在所述第一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述 Portal伺服器在所述第一、第二用戶序列號相同時,根據預定摘要算法對預置共享密鑰和 所述預定欄位進行摘要計算得到的。
11.如權利要求10所述的Portal客戶端,其特徵在於,還包括上線處理單元,用於在本Potal客戶端需要上線時向Portal伺服器發送上線請求報 文,並接收Portal伺服器在對所述第一 Portal客戶端的上線認證通過後返回的上線回應 報文,所述上線回應報文中攜帶有所述Portal伺服器為所述第一 Portal客戶端分配的用 戶序列號。
12.—種在Portal伺服器和Portal客戶端之間防重放攻擊的方法,其特徵在於,包括步驟1,Portal伺服器接收到針對第一 Portal客戶端的下線請求報文,所述下線請求 報文中包括有第一驗證字、第一下線序列號和第一 Portal客戶端的第一 IP位址;步驟2,Portal伺服器判斷所述第一下線序列號是否處於本地維護的防重放的滑動窗 口範圍之內若是,則進入步驟3,否則丟棄所述下線請求報文並結束流程;其中,所述滑動 窗口的兩端分別是所述Portal伺服器當前已分配出去、且尚未通過下線認證的Portal客 戶端的下線序列號中的最大者和最小者,所述下線序列號的分配是Portal伺服器接收到 各個Portal客戶端在需要下線時發送的用於請求下線序列號的序列號請求報文後,按照 接收到所述序列號請求報文的先後順序,為各個Portal客戶端順次分配的;步驟3,Portal伺服器根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的 預定欄位進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則判斷 所述第一 Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文並結束流程;其中, 所述預定欄位中包括有所述第一下線序列號。
13.如權利要求12所述的方法,其特徵在於,還包括所述Portal伺服器接收到各個Portal客戶端在需要下線時發送的用於請求下線序列 號的序列號請求報文後,按照接收到所述序列號請求報文的先後順序,為各個Portal客戶 端順次分配下線序列號。
14.一種在Portal伺服器和Portal客戶端之間防重放攻擊的方法,其特徵在於,包括第一 Portal客戶端在需要下線時,向Portal伺服器發送用於請求下線序列號的序列 號請求報文,並接收Portal伺服器返回的序列號回應報文,所述序列號回應報文中攜帶有 所述Portal伺服器為所述第一 Portal客戶端分配的下線序列號,其中,所述下線序列號的分配是所述Portal伺服器根據接收到各個Portal客戶端發送的序列號請求報文的先後順 序,為各個Portal客戶端順次分配的;第一 Portal客戶端向所述Portal伺服器發送下線請求報文,所述下線請求報文中包 括有第一驗證字、所述第一下線序列號和第一 Portal客戶端的第一 IP位址,其中,所述第 一驗證字是根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的預定欄位進行摘 要計算所得到的,所述預定欄位包括有所述第一下線序列號;其中,所述下線請求報文中的第一下線序列號用於供所述Portal伺服器判斷是否處 於所述Portal伺服器維護的防重放的滑動窗口範圍之內,並在判斷結果為否時丟棄所述 下線請求報文;其中,所述滑動窗口的兩端分別是所述Portal伺服器當前已分配出去、且 尚未通過下線認證的Portal客戶端的下線序列號中的最大者和最小者;所述下線請求報文中的第一驗證字用於供所述Portal伺服器與第二驗證字進行比 較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過,在所述第 一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述Portal服 務器在所述第一、第二下線序列號相同時,根據預定摘要算法對預置共享密鑰和所述預定 欄位進行摘要計算得到的。
15.一種Portal伺服器,其特徵在於,包括接收單元,用於收到針對第一 Portal客戶端的下線請求報文,所述下線請求報文中包 括有第一驗證字、第一下線序列號和第一 Portal客戶端的第一 IP位址;第一判斷單元,用於判斷所述第一下線序列號是否處於本地維護的防重放的滑動窗口 範圍之內若是,則觸發第二判斷單元,否則丟棄所述下線請求報文;其中,所述滑動窗口 的兩端分別是所述Portal伺服器當前已分配出去、且尚未通過下線認證的Portal客戶端 的下線序列號中的最大者和最小者,所述下線序列號的分配是Portal伺服器接收到各個 Portal客戶端在需要下線時發送的用於請求下線序列號的序列號請求報文後,按照接收到 所述序列號請求報文的先後順序,為各個Portal客戶端順次分配的;第二判斷單元,用於根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的預 定欄位進行摘要計算,得到第二驗證字,並判斷第一、第二驗證字是否相同若是,則判斷所 述第一 Portal客戶端的下線認證通過;否則,丟棄所述下線請求報文;其中,所述預定欄位 中包括有所述第一下線序列號。
16.如權利要求15所述的Portal伺服器,其特徵在於,還包括序列號分配單元,用於在接收到各個Portal客戶端在需要下線時發送的用於請求 下線序列號的序列號請求報文後,按照接收到所述序列號請求報文的先後順序,為各個 Portal客戶端順次分配下線序列號。
17.一種Portal客戶端,其特徵在於,包括序列號請求單元,用於在本Portal客戶端需要下線時,向Portal伺服器發送用於請求 下線序列號的序列號請求報文,並接收Portal伺服器返回的序列號回應報文,所述序列號 回應報文中攜帶有所述Portal伺服器為所述第一 Portal客戶端分配的下線序列號,其中, 所述下線序列號的分配是所述Portal伺服器根據接收到各個Portal客戶端發送的序列號 請求報文的先後順序,為各個Portal客戶端順次分配的;下線處理單元,用於向所述Portal伺服器發送下線請求報文,所述下線請求報文中包括有第一驗證字、所述第一下線序列號和第一 Portal客戶端的第一 IP位址,其中,所述第 一驗證字是根據預定摘要算法,對預置共享密鑰和所述下線請求報文中的預定欄位進行摘 要計算所得到的,所述預定欄位包括有所述第一下線序列號;其中,所述下線請求報文中的第一下線序列號用於供所述Portal伺服器判斷該第一 下線序列號是否處於所述Portal伺服器本地設置的防重放的滑動窗口範圍之內,並在判 斷結果為否時丟棄所述下線請求報文;其中,所述滑動窗口的兩端分別是所述Portal服務 器當前已分配出去、且尚未通過下線認證的Portal客戶端的下線序列號中的最大者和最 小者;所述下線請求報文中的第一驗證字用於供所述Portal伺服器與第二驗證字進行比 較,並在第一、第二驗證字相同時判斷所述第一 Portal客戶端的下線認證通過,在所述第 一、第二驗證字不相同時丟棄所述下線請求報文;其中,所述第二驗證字是所述Portal服 務器在所述第一、第二下線序列號相同時,根據預定摘要算法對預置共享密鑰和所述預定 欄位進行摘要計算得到的。
全文摘要
本發明提供了一種在門戶伺服器和客戶端之間防重放攻擊的方法及設備。本發明通過Portal伺服器為客戶端分配對應的序列號,例如用戶序列號或下線序列號,並在下線認證過程中利用該序列號來檢測重放報文,從而能夠有效地防止下線請求報文的重放攻擊,提高Portal認證系統的安全性。
文檔編號H04L29/06GK102065067SQ20091023752
公開日2011年5月18日 申請日期2009年11月11日 優先權日2009年11月11日
發明者伊莉娜, 劉洋 申請人:杭州華三通信技術有限公司