本發明屬于設備接入管理技術領域,涉及一種Portal環境下管理設備在線狀態的方法,本方法可以方便管理設備在線狀態信息,快速識別設備是否在線,方便用戶連網認證和下線。
背景技術:
公共Wifi環境下,目前一般使用Portal技術方案來認證接入設備,實現設備的訪問控制功能。常規Portal方案只能基于設備的IP地址授權訪問,以IP地址作為會話的核心數據,實現用戶上下線功能。當用戶加入網絡時,設備會得到一個IP地址。用戶上線認證時,接入端檢查用戶名和密碼,確認用戶信息后,放通設備的IP地址的訪問權限,同時開始計費。當用戶發起下線請求時,接入端關閉用戶IP的訪問權限。
當網絡不穩定或用戶短暫離開網絡范圍的時候,移動設備會自動切換網絡、更新IP地址。考慮安全因素,接入系統不能根據客戶端提供的、之前的IP地址來終結先前的會話,計費系統會繼續計費、認證系統會拒絕新的認證請求。
技術實現要素:
本發明的目的是提供一種Portal環境下管理設備在線狀態的方法,解決了現有技術中存在的問題,基于基礎的Portal協議,在交互中擴展了部分認證數據,可以有效查詢設備在線狀態,方便控制設備上線下線。
一種Portal環境下管理設備在線狀態的方法,包括以下步驟:
步驟一、設備發出上線認證請求后,設備的客戶端將設備連接網絡需要的數據信息打包成數據包后發送至服務端;
步驟二、所述服務端根據客戶端發出去的數據包、接入的信息以及加密算法生成一個會話認證串,發送給設備的客戶端后,以使所述設備與所述服務端建立數據連接通道;
步驟三、所述客戶端發出數據時均攜帶所述會話認證串,所述服務端解密所述會話認證串后,提取所述設備發出數據。
在本發明的一個優選實施例中,所述步驟三中包括客戶端持續在線和非正常下線兩種狀態:
當客戶端持續在線時,服務端根據所述會話認證串解密后的信息,快速檢索用戶的會話信息,加快請求處理過程;
當所述客戶端非正常下線時,所述服務端根據客戶端提供的會話認證串,找回先前會話的信息,安全的執行下線、終結計費。
在本發明的一個優選實施例中,所述步驟一中的數據包中包括設備的IP和MAC地址信息。
在本發明的一個優選實施例中,所述步驟一中的設備在發出上線認證請求之前,設備處于接入Portal的環境下,且對應所述數據包還包括Portal服務端地址、網關地址。
在本發明的一個優選實施例中,所述客戶端將所述步驟一的數據包嵌套于HTTP請求頭中發送至所述服務端。
在本發明的一個優選實施例中,所述會話認證串中的加密算法由服務端確定,所述客戶端只是保存、持有所述會話認證串,無法解密查看或修改所述會話認證串;所述服務端可以解密所述會話認證串,從而拿到設備當前會話的全部信息。
通過以上方案,本發明所采用的技術方案是:
本發明解決了移動網絡環境變化時,客戶端的安全下線問題。與現有的用戶名+密碼的登錄認證方式相比,本發明的方法在登錄之后,服務端的響應數據中增加了認證串數據,客戶端在后續的會話中需要攜帶該認證串。服務端的后續會話操作,不再單純依賴容易變動的IP地址,而是綜合了IP、MAC、用戶基礎信息、接入網關信息的認證串;該認證串在認證成功后由服務端加密,也不存在假冒、偽造的問題,是一種安全可靠的在線狀態管理方法。
附圖說明
圖1是本發明實施流程圖。
圖2是使用本發明后,服務端發回的認證響應數據包的部分示意圖。
具體實施方式
本發明提供的技術方案是:
一種Portal環境下管理設備在線狀態的方法,包括以下步驟:
步驟一、設備發出上線認證請求后,設備的客戶端將設備連接網絡需要的數據信息打包成數據包,該數據包嵌套于HTTP請求頭中發送至所述服務端;步驟一中的數據包中包括設備的IP和MAC地址信息;
步驟二、所述服務端根據客戶端發出去的數據包、接入的信息以及加密算法生成一個會話認證串,發送給設備的客戶端后,以使所述設備與所述服務端建立數據連接通道;
步驟三、所述客戶端發出數據時均攜帶所述會話認證串,所述服務端解密所述會話認證串后,提取所述設備發出數據。
上述步驟三中包括客戶端持續在線和非正常下線兩種狀態:當客戶端持續在線時,服務端根據所述會話認證串解密后的信息,快速檢索用戶的會話信息,加快請求處理過程;當所述客戶端非正常下線時,所述服務端根據客戶端提供的會話認證串,找回先前會話的信息,安全的執行下線、終結計費。
為了更好實現數據連接,步驟一中的設備在發出上線認證請求之前,設備處于接入Portal的環境下,且對應所述數據包還包括Portal服務端地址、網關地址。
上述會話認證串中的加密算法由服務端確定,所述客戶端只是保存、持有所述會話認證串,無法解密查看或修改所述會話認證串;所述服務端可以解密所述會話認證串,從而拿到設備當前會話的全部信息。
具體地:在需接入網絡的設備發起上線認證請求、接入端處理完成后,接入服務的Portal-Web端(以下稱“服務端”)會給接入設備的客戶端以HTTP認證響應數據(Response)的形式提供一個加密的會話認證串。
該會話認證串基于用戶基礎信息、接入設備Mac地址、認證狀態、會話ID等文本信息連接、加密后生成,是一個長度在1KB以內的文本串。加密算法和密鑰由服務端確定,根據對安全性的要求等級,一般使用AES或RSA作為加密算法??蛻舳酥皇潜4?、持有該串,無法解密查看或修改該串。在后續的所有會話請求過程中,客戶端以該認證串作為核心數據,所有請求都攜帶該認證串。
服務端可以解密該會話認證串,從而拿到設備當前會話的全部信息。
當客戶端持續在線時,服務端可以根據該認證串解密后的信息,快速檢索用戶的會話信息,加快請求處理過程。
當客戶端非正常下線時,服務端可以根據客戶端提供的該認證串,找回先前會話的信息,安全的執行下線、終結計費等操作。
設備發起上線請求時,附帶設備的硬件唯一性標識,由服務端根據設備的信息、本次接入的信息生成一個會話認證串,發送給設備的客戶端;在后續的會話管理過程中,以該信息串作為會話的信息索引,提供唯一標識連接、快速檢索連接信息、管理上下線等功能。
下面結合附圖和具體實施方式對本發明進行詳細說明。
本方法的實施包含附圖1所示的完整流程,其中步驟1-4屬于信息的建立階段,主要是建立會話對應的SKeyData,步驟5-9是SKeyData的具體應用場景和處理方法。
當設備預備上線時,首先必須已經接入了一個Portal的環境。在該環境下,設備訪問外部網絡,會拿到一個重定向地址的文本串(后續稱之“重定向串”)。為了保證后續的認證、下線過程,重定向串需要具備Portal服務端地址、網關地址(NASIP),以及客戶端所在設備的MAC地址、IP地址。
步驟1中,客戶端將所在設備的IP和MAC地址信息和重定向串,包含在HTTP請求頭中,發送到服務端。
在步驟2中,服務端根據收到的客戶端設備信息,加上重定向的參數串,對比這些信息,可以判斷用戶提供的信息是否正常。驗證用戶端IP、MAC地址信息與重定向串的數據數據一致后,服務端使用Portal認證協議發送用戶名、密碼到網關,認證接入的會話設備。如果認證通過,會話就建立起來,服務端創建一個會話標識SessionID,同時保存會話數據到內部存儲,以SessionID作為會話的索引值。
之后,服務端以(用戶設備的IP、MAC地址+重定向串+Session ID+服務端會話密鑰)為參數,構造一個加密串SKeyData(會話認證串)。加密過程考慮服務端的承載能力和安全要求,一般使用AES作為基礎加密算法。服務端的加密密鑰以可靠方式保存在服務端。
步驟3、4,是服務端將認證處理結果發回客戶端,在認證成功的情況下,返回了一個SKeyData,具體樣式參考附圖2(其中的token字段即為SKeyData)。客戶端因為沒有服務端的加密信息,無法解密SKeyData,只需要穩妥保存SKeyData,并在后續的所有會話交互中使用該數據。
步驟5-9是SKeyData的使用步驟。對客戶端來講,每次會話都攜帶SKeyData。服務端收到一個客戶端請求后,根據SKeyData、服務端的密鑰,根據加密使用的算法,執行對應的解密過程,還原出出會話信息,據此可以得到服務端保存的初始會話信息。根據這些信息,結合客戶端本次請求的參數數據,就可以安全校驗會話用戶身份,從而恢復已有會話。
當客戶端發出斷開連接的請求時,服務端在處理成功后,刪除會話的信息。后續再有請求到來時,該會話因為已經終結,不需要再做別的操作。
在大多的Portal實施環境中,網關、認證數據端(一般是基于Radius協議的AAA端)都是已有、在網運行的系統;Portal認證系統,作為對已有接入方式的一種補充而融入現有系統。
在這種情況下,本方法所闡述處理方式,可以避免對已有接入、認證系統做改動,能顯著縮短上線周期,加快新系統的部署和上線。對比類似的Portal部署方案,如果做基于用戶名、密碼的下線管理,將需要認證端(一般為AAA平臺)開放新的認證檢查和下線接口,無疑需要額外的商務協商、開發、測試、試運行的工作,延后Portal系統的部署上線時間。