麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

基于802.1X協議的Windows局域網身份認證方法與流程

文檔序號:12493313閱讀:379來源:國知局
基于802.1X協議的Windows局域網身份認證方法與流程

本發明涉及網絡認證技術領域,尤其涉及一種基于802.1X協議的Windows局域網身份認證方法。



背景技術:

802.1X作為一種開放的認證協議,在實際應用中各個實現方案都或多或少的擴展這個協議來滿足自己的要求。其次,各種方案在Windows平臺下的實現方案都不具備簡單易用的特點。針對現在市面上常見的認證客戶端的實現缺點總結如下:

過分擴展協議,一些客戶端為了阻止用戶使用其他客戶端來進行身份認證,在標準協議之外擴展了自己的附加字段,導致用戶不能使用其他客戶端進行身份認證。

兼容性差,由于Windows平臺的特性限制,基于底層網絡協議的軟件都必須利用驅動程序來完成,但是市面上的客戶端在實現這種驅動的時候都采用自己技術,但是這種實現方案并不完美。經常造成客戶端無響應或者導致用戶電腦藍屏。

網絡類型支持不完善,在某些網絡環境下,網絡不支持802.1X的標準廣播包,這就造成一部分的認證客戶端無法正常發起身份認證請求。

多網卡支持,由于用戶電腦上可能出現多張網卡,這個時候會造成某些撥號軟件無法正確打開有效的網絡適配器;另一些常見的方式是讓用戶選擇網卡,但是針對普通用戶來說,這并不是一個完美的解決方案,因為普通用戶根本就不了解這些專業的名詞。

無法斷線重連,在實際的使用過程中,常見的認證客戶端無法在系統休眠再啟動或者網卡被禁用或啟用的情況下,再次自動發起重新認證的流程。

因此,本領域的技術人員亟需研究出一種使用最低的資源需求即可完成高效、穩定、自動化的局域網身份認證、不必擴展自定義字段與標準的認證服務就可實現正常兼容,無需任何修改即可完整認證匹配、兼容性好、降低了用戶的使用難度,可在異常的情況下自動在發起認證的基于802.1X協議的Windows局域網身份認證方法。



技術實現要素:

本發明要解決的技術問題是提供一種基于802.1X協議的Windows局域網身份認證方法,該基于802.1X協議的Windows局域網身份認證方法使用最低的資源需求即可完成高效、穩定、自動化的局域網身份認證、不必擴展自定義字段與標準的認證服務就可實現正常兼容,無需任何修改即可完整認證匹配、兼容性好、降低了用戶的使用難度,可在異常的情況下自動在發起認證。

為解決上述技術問題,本發明提供了一種基于802.1X協議的Windows局域網身份認證方法,其特征在于:提供客戶端、設備端及認證服務器,所述客戶端包括數據接收模塊、認證模塊、數據類型判斷模塊、數據請求類型判斷模塊、響應數據處理模塊、請求數據處理模塊、網絡重連模塊及登錄判斷模塊,所述設備端包括網卡判斷模塊及網卡自動選擇模塊,

所述基于802.1X協議的Windows局域網身份認證方法包括以下步驟:

S1:用戶啟動所述客戶端發起802.1X認證,所述設備端通過底層數據包收發對與所述設備端連接的客戶端進行認證,通過所述認證服務器對所述設備端的用戶進行認證、授權和計費;

S2:所述網卡判斷模塊通過所述信息列舉函數列舉客戶端上的所有網卡,獲取所有網卡基本信息并將其保存,所述網卡判斷模塊對所述網卡的數據進判斷并將判斷后的網卡數據發送給所述網卡自動選擇模塊,所述網卡自動選擇模塊根據所述網卡數據對所述物理網卡進行自動選擇;

S3:所述客戶端監控所述客戶端與所述設備端連接的系統狀態,當達到恢復狀態時,所述客戶端啟動與所述設備端重新連接的機制,與所述設備端重新連接;

所述步驟S1的步驟“底層數據包收發”的實現步驟包括:

S1a:所述認證模塊發送第一次認證開始幀,判斷認證開始幀發送是否超時,如果是,則執行步驟S1c,如果否,則執行步驟S1b;

S1b:所述數據接收模塊等待接收數據包,并將所接收的數據包發送給所述數據類型判斷模塊;

S1c:所述認證模塊發送第二次認證開始幀,判斷認證開始幀發送是否超時,如果是,則結束流程,如果否,則返回所述步驟S1b;

S1d:所述數據類型判斷模塊判斷所接收的數據包的類型,如果是響應數據包,則將所述響應數據包發送給所述響應數據處理模塊,如果是請求數據包,則將所述請求數據包發送給所述請求數據處理模塊;

S1e:所述請求數據處理模塊將請求數據包發送給所述數據請求類型判斷模塊,所述響應數據處理模塊將響應數據包發送所述登錄判斷模塊,所述數據請求類型判斷模塊將所述請求數據包的數據判斷后進行認證分類并將認證分類的信息發送給所述登錄判斷模塊;

S1f:所述登錄判斷模塊對所設備端的登錄狀態進行判斷,如果登錄不成功,則結束流程,如果登錄成功,則所述客戶端與所述設備連接成功;

其中,所述設備端為支持802.1X協議的網絡設備,所述認證服務器是為設備端提供認證服務的實體;

其中,所述底層數據包收發的編程接口為WinPcap網絡驅動程序。

優選地,所述客戶端支持可擴展認證協議EAPOL,

所述設備端為客戶端提供接入局域網的端口,該端口是物理端口或者邏輯端口。

優選地,所述信息列舉函數為GetAdaptersAddresses函數。

優選地,所述網卡基本信息為網卡GUID、網卡設備名稱、網卡詳細名稱、網卡MAC地址及網卡設備類型。

優選地,所述認證分類包括發送用戶名、發送密碼及響應心跳。

優選地,所述步驟S3的步驟“所述網卡判斷模塊對所述網卡的數據進判斷并將判斷后的網卡數據發送給所述網卡自動選擇模塊”的實現步驟包括:所述網卡判斷模塊通過查詢對應系統注冊表路徑下對應網卡名稱的一個鍵,判斷所述鍵下面的子健“Connection”的開頭類型,如果所述子健的鍵值是以“PCI”開頭,則判斷所述物理網卡是否為一張,如果為一張,則所述網卡自動選擇模塊對所述物理網卡進行選擇,如果所述子健的鍵值不是以“PCI”開頭,則結束流程。

優選地,所述網絡重連模塊包括網絡變化判斷單元、數據獲取接收單元、狀態判斷單元及重新認證與連接恢復單元,所述步驟S4的實現步驟包括:

S401:所述網絡變化判斷單元根據NotifyAddrChange函數判斷客戶端與設備端連接的網絡是否發生變化,如果所述網絡發生變化,則執行步驟S402,否則,結束流程;

S402:所述網絡變化判斷單元將所述網絡變化的消息發送給所述數據獲取接收單元;

S403:所述數據獲取接收單元獲取所述客戶端與所述設備端連接狀態信息,所述數據獲取接收單元利用INetConnectionManager函數獲取所述客戶端網卡管理員的狀態信息,所述數據獲取接收單元將獲取的信息發送給所述狀態判斷單元;

S404:所述狀態判斷單元判斷所述設備端連接狀態信息及所述設備端管理員的狀態信息是否一致,如果一致,則返回步驟S401,如果不一致則所述狀態判斷單元將判斷結果的信息發送給所述重新認證與連接恢復單元并執行步驟S405;

S405:所述重新認證與連接恢復單元將所述客戶端與所述設備的網絡重新認證及連接。

優選地,所述認證服務器為Raduis認證服務器,所述Raduis認證服務器的認證方式為EAPOL-Md5。

優選地,還提供DHCP服務器,當所述客戶端與所述設備端的網絡連接認證成功之后,所述客戶端自動向所述DHCP服務器請求可用的IP地址。

優選地,所述步驟S1的實現步驟包括:

S101:當用戶有訪問網絡需求時,打開所述客戶端,輸入已經申請、登記過的用戶名和密碼,發起連接請求EAPOL-Start報文,所述客戶端將發出請求認證的報文發送給所述設備端;

S102:所述設備端接收請求認證的數據幀,發出一個EAP-Request/Identity請求幀請求所述客戶端發送輸入的用戶名;

S103:所述客戶端響應設備端發出的請求,將用戶名信息通過EAP-Response/Identity數據幀發送給所述設備端,所述設備端將所述客戶端發送的數據幀封包處理成RADIUS Access-Request報文,將所述RADIUS Access-Request報文發送給認證服務器進行處理,所述認證服務器接收所述設備端轉發的用戶名信息,將該信息與數據庫中的用戶名表對比,找到該用戶名對應的密碼信息,隨機生成的一個加密字對用戶名信息進行加密處理,所述認證服務器將所述加密字通過RADIUS Access-Challenge報文發送給所述設備端,所述設備端將所述加密字信息轉發給所述客戶端;

S104:所述客戶端接收到所述設備端發送的加密字,用該加密字對密碼部分進行加密處理,生成EAP-Response/MD5Challenge報文,并通過所述設備端發送給所述認證服務器;

S105:所述認證服務器將收到的已加密的RADIUS Access-Request密碼信息和本地經過加密運算后的密碼信息進行對比,如果相同,則認為該用戶為合法用戶,發送認證通過的EAP-Success消息給所述設備端;

S106:所述設備端接收認證通過消息后將為所述客戶端提供接入局域網的端口改為授權狀態,允許用戶通過端口訪問網絡,所述設備端通過向客戶端定期發送握手報文,對用戶的在線情況進行監測,在缺省情況下,如果兩次握手請求報文都得不到客戶端應答,所述設備端讓用戶下線;

S107:所述客戶端發送EAPOL-Logoff報文給設備端,主動要求下線,所述設備端把端口狀態從授權狀態改變成未授權狀態,并向客戶端發送EAP-Failure報文。

采用了上述方法之后,用戶啟動所述客戶端發起802.1X認證,所述設備端通過底層數據包收發對與所述設備端連接的客戶端進行認證,通過所述認證服務器對所述設備端的用戶進行認證、授權和計費;所述網卡判斷模塊通過所述信息列舉函數列舉客戶端上的所有網卡,獲取所有網卡基本信息并將其保存,所述網卡判斷模塊對所述網卡的數據進判斷并將判斷后的網卡數據發送給所述網卡自動選擇模塊,所述網卡自動選擇模塊根據所述網卡數據對所述物理網卡進行自動選擇;所述客戶端監控所述客戶端與所述設備端連接的系統狀態,當達到恢復狀態時,所述客戶端啟動與所述設備端重新連接的機制,與所述設備端重新連接;所述認證模塊發送第一次認證開始幀,判斷認證開始幀發送是否超時,如果是,所述認證模塊發送第二次認證開始幀,判斷認證開始幀發送是否超時,如果否,則所述數據接收模塊等待接收數據包,并將所接收的數據包發送給所述數據類型判斷模塊;所述數據類型判斷模塊判斷所接收的數據包的類型,如果是響應數據包,則將所述響應數據包發送給所述響應數據處理模塊,如果是請求數據包,則將所述請求數據包發送給所述請求數據處理模塊;

所述請求數據處理模塊將請求數據包發送給所述數據請求類型判斷模塊,所述響應數據處理模塊將響應數據包發送所述登錄判斷模塊,所述數據請求類型判斷模塊將所述請求數據包的數據判斷后進行認證分類并將認證分類的信息發送給所述登錄判斷模塊;所述登錄判斷模塊對所設備端的登錄狀態進行判斷,如果登錄不成功,則結束流程,如果登錄成功,則所述客戶端與所述設備連接成功;該基于802.1X協議的Windows局域網身份認證方法使用最低的資源需求即可完成高效、穩定、自動化的局域網身份認證、不必擴展自定義字段與標準的認證服務就可實現正常兼容,無需任何修改即可完整認證匹配、兼容性好、降低了用戶的使用難度,可在異常的情況下自動在發起認證。

附圖說明

圖1是本發明的一種基于802.1X協議的Windows局域網身份認證方法的整體模型示意圖;

圖2是本發明的一種基于802.1X協議的Windows局域網身份認證方法的執行流程示意圖;

圖3是本發明的一種基于802.1X協議的Windows局域網身份認證方法的認證步驟的執行流程示意圖;

圖4是與圖3的認證步驟執行流程圖對應的認證過程模型圖。

具體實施方式

為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用于解釋本發明,并不用于限定本發明。

實施例1

請參閱圖1至圖3,圖1是本發明的一種基于802.1X協議的Windows局域網身份認證方法的整體模型示意圖;圖2是本發明的一種基于802.1X協議的Windows局域網身份認證方法的執行流程示意圖;圖3是本發明的一種基于802.1X協議的Windows局域網身份認證方法的認證步驟的執行流程示意圖。

本發明公開了一種基于802.1X協議的Windows局域網身份認證方法,提供客戶端、設備端及認證服務器,所述客戶端包括數據接收模塊、認證模塊、數據類型判斷模塊、數據請求類型判斷模塊、響應數據處理模塊、請求數據處理模塊、網絡重連模塊及登錄判斷模塊,所述設備端包括網卡判斷模塊及網卡自動選擇模塊,所述基于802.1X協議的Windows局域網身份認證方法包括以下步驟:

S1:用戶啟動所述客戶端發起802.1X認證,所述設備端通過底層數據包收發對與所述設備端連接的客戶端進行認證,通過所述認證服務器對所述設備端的用戶進行認證、授權和計費;

S2:所述網卡判斷模塊通過所述信息列舉函數列舉客戶端上的所有網卡,獲取所有網卡基本信息并將其保存,所述網卡判斷模塊對所述網卡的數據進判斷并將判斷后的網卡數據發送給所述網卡自動選擇模塊,所述網卡自動選擇模塊根據所述網卡數據對所述物理網卡進行自動選擇;

S3:所述客戶端監控所述客戶端與所述設備端連接的系統狀態,當達到恢復狀態時,所述客戶端啟動與所述設備端重新連接的機制,與所述設備端重新連接;

所述步驟S1的實現步驟包括:

S101:當用戶有訪問網絡需求時,打開所述客戶端,輸入已經申請、登記過的用戶名和密碼,發起連接請求EAPOL-Start報文,所述客戶端將發出請求認證的報文發送給所述設備端;

S102:所述設備端接收請求認證的數據幀,發出一個EAP-Request/Identity請求幀請求所述客戶端發送輸入的用戶名;

S103:所述客戶端響應設備端發出的請求,將用戶名信息通過EAP-Response/Identity數據幀發送給所述設備端,所述設備端將所述客戶端發送的數據幀封包處理成RADIUS Access-Request報文,將所述RADIUS Access-Request報文發送給認證服務器進行處理,所述認證服務器接收所述設備端轉發的用戶名信息,將該信息與數據庫中的用戶名表對比,找到該用戶名對應的密碼信息,隨機生成的一個加密字對用戶名信息進行加密處理,所述認證服務器將所述加密字通過RADIUS Access-Challenge報文發送給所述設備端,所述設備端將所述加密字信息轉發給所述客戶端;

S104:所述客戶端接收到所述設備端發送的加密字,用該加密字對密碼部分進行加密處理,生成EAP-Response/MD5Challenge報文,并通過所述設備端發送給所述認證服務器;

S105:所述認證服務器將收到的已加密的RADIUS Access-Request密碼信息和本地經過加密運算后的密碼信息進行對比,如果相同,則認為該用戶為合法用戶,發送認證通過的EAP-Success消息給所述設備端;

S106:所述設備端接收認證通過消息后將為所述客戶端提供接入局域網的端口改為授權狀態,允許用戶通過端口訪問網絡,所述設備端通過向客戶端定期發送握手報文,對用戶的在線情況進行監測,在缺省情況下,如果兩次握手請求報文都得不到客戶端應答,所述設備端讓用戶下線;

S107:所述客戶端發送EAPOL-Logoff報文給設備端,主動要求下線,所述設備端把端口狀態從授權狀態改變成未授權狀態,并向客戶端發送EAP-Failure報文。

其中,所述設備端為支持802.1X協議的網絡設備,所述認證服務器是為設備端提供認證服務的實體;

其中,所述網卡基本信息為網卡GUID、網卡設備名稱、網卡詳細名稱、網卡MAC地址及網卡設備類型。

其中,所述認證分類包括發送用戶名、發送密碼及響應心跳。

其中,所述底層數據包收發的編程接口為WinPcap網絡驅動程序。

所述步驟S1的步驟“底層數據包收發”的實現步驟包括:

S1a:所述認證模塊發送第一次認證開始幀,判斷認證開始幀發送是否超時,如果是,則執行步驟S1c,如果否,則執行步驟S1b;

S1b:所述數據接收模塊等待接收數據包,并將所接收的數據包發送給所述數據類型判斷模塊;

S1c:所述認證模塊發送第二次認證開始幀,判斷認證開始幀發送是否超時,如果是,則結束流程,如果否,則返回所述步驟S1b;

S1d:所述數據類型判斷模塊判斷所接收的數據包的類型,如果是響應數據包,則將所述響應數據包發送給所述響應數據處理模塊,如果是請求數據包,則將所述請求數據包發送給所述請求數據處理模塊;

S1e:所述請求數據處理模塊將請求數據包發送給所述數據請求類型判斷模塊,所述響應數據處理模塊將響應數據包發送所述登錄判斷模塊,所述數據請求類型判斷模塊將所述請求數據包的數據判斷后進行認證分類并將認證分類的信息發送給所述登錄判斷模塊;

S1f:所述登錄判斷模塊對所設備端的登錄狀態進行判斷,如果登錄不成功,則結束流程,如果登錄成功,則所述客戶端與所述設備連接成功。

在本實施例,所述客戶端支持可擴展認證協議EAPOL,所述設備端為客戶端提供接入局域網的端口,該端口是物理端口或者邏輯端口。

在本實施例,優選的所述信息列舉函數為GetAdaptersAddresses函數,所述信息列舉函數也可以為其他類型的函數。

所述步驟S3的步驟“所述網卡判斷模塊對所述網卡的數據進判斷并將判斷后的網卡數據發送給所述網卡自動選擇模塊”的實現步驟包括:所述網卡判斷模塊通過查詢對應系統注冊表路徑下對應網卡名稱的一個鍵,判斷所述鍵下面的子健“Connection”的開頭類型,如果所述子健的鍵值是以“PCI”開頭,則判斷所述物理網卡是否為一張,如果為一張,則所述網卡自動選擇模塊對所述物理網卡進行選擇,如果所述子健的鍵值不是以“PCI”開頭,則結束流程。

所述網絡重連模塊包括網絡變化判斷單元、數據獲取接收單元、狀態判斷單元及重新認證與連接恢復單元,所述步驟S4的實現步驟包括:

S401:所述網絡變化判斷單元根據NotifyAddrChange函數判斷客戶端與設備端連接的網絡是否發生變化,如果所述網絡發生變化,則執行步驟S402,否則,結束流程;

S402:所述網絡變化判斷單元將所述網絡變化的消息發送給所述數據獲取接收單元;

S403:所述數據獲取接收單元獲取所述客戶端與所述設備端連接狀態信息,所述數據獲取接收單元利用INetConnectionManager函數獲取所述客戶端網卡管理員的狀態信息,所述數據獲取接收單元將獲取的信息發送給所述狀態判斷單元;

S404:所述狀態判斷單元判斷所述設備端連接狀態信息及所述設備端管理員的狀態信息是否一致,如果一致,則返回步驟S401,如果不一致則所述狀態判斷單元將判斷結果的信息發送給所述重新認證與連接恢復單元并執行步驟S405;

S405:所述重新認證與連接恢復單元將所述客戶端與所述設備的網絡重新認證及連接。

在本實施例,所述認證服務器為Raduis認證服務器,所述Raduis認證服務器的認證方式為EAPOL-Md5。

還提供DHCP服務器,當所述客戶端與所述設備端的網絡連接認證成功之后,所述客戶端自動向所述DHCP服務器請求可用的IP地址。

采用了上述方法之后,用戶啟動所述客戶端發起802.1X認證,所述設備端通過底層數據包收發對與所述設備端連接的客戶端進行認證,通過所述認證服務器對所述設備端的用戶進行認證、授權和計費;所述網卡判斷模塊通過所述信息列舉函數列舉客戶端上的所有網卡,獲取所有網卡基本信息并將其保存,所述網卡判斷模塊對所述網卡的數據進判斷并將判斷后的網卡數據發送給所述網卡自動選擇模塊,所述網卡自動選擇模塊根據所述網卡數據對所述物理網卡進行自動選擇;所述客戶端監控所述客戶端與所述設備端連接的系統狀態,當達到恢復狀態時,所述客戶端啟動與所述設備端重新連接的機制,與所述設備端重新連接;所述認證模塊發送第一次認證開始幀,判斷認證開始幀發送是否超時,如果是,所述認證模塊發送第二次認證開始幀,判斷認證開始幀發送是否超時,如果否,則所述數據接收模塊等待接收數據包,并將所接收的數據包發送給所述數據類型判斷模塊;所述數據類型判斷模塊判斷所接收的數據包的類型,如果是響應數據包,則將所述響應數據包發送給所述響應數據處理模塊,如果是請求數據包,則將所述請求數據包發送給所述請求數據處理模塊;所述請求數據處理模塊將請求數據包發送給所述數據請求類型判斷模塊,所述響應數據處理模塊將響應數據包發送所述登錄判斷模塊,所述數據請求類型判斷模塊將所述請求數據包的數據判斷后進行認證分類并將認證分類的信息發送給所述登錄判斷模塊;所述登錄判斷模塊對所設備端的登錄狀態進行判斷,如果登錄不成功,則結束流程,如果登錄成功,則所述客戶端與所述設備連接成功;該基于802.1X協議的Windows局域網身份認證方法使用最低的資源需求即可完成高效、穩定、自動化的局域網身份認證、不必擴展自定義字段與標準的認證服務就可實現正常兼容,無需任何修改即可完整認證匹配、兼容性好、降低了用戶的使用難度,可在異常的情況下自動在發起認證。

同時,應當理解的是,以上僅為本發明的優選實施例,不能因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效實現方法,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 乐山市| 乌鲁木齐市| 射阳县| 博罗县| 浮山县| 金堂县| 宁津县| 界首市| 馆陶县| 新龙县| 台中县| 九龙县| 牡丹江市| 建平县| 凤城市| 垣曲县| 广元市| 如东县| 教育| 延津县| 蕉岭县| 岳池县| 西贡区| 毕节市| 张家川| 通化县| 宣城市| 陆河县| 五家渠市| 老河口市| 普格县| 甘南县| 阿尔山市| 望谟县| 佛冈县| 庆元县| 铜梁县| 资兴市| 将乐县| 中超| 博罗县|