專利名稱:一種網絡認證方法
技術領域:
本發明涉及網絡技術,特別是涉及一種將代理檢測技術和認證技術相結合的網絡認證方法。
背景技術:
隨著Internet(互聯網)與Intranet(局域網)的飛速發展,作為連接Internet與Intranet的橋梁,共享上網技術在實際應用中發揮著極其重要的作用。但網絡用戶使用了共享上網技術以后,網絡中的資源訪問權限變得不可控,給網絡資源帶來了安全隱患,同時逃避計費也給通過網絡運營的各類ISP(網絡服務提供商)和校園網絡管理部門帶來了很大的損失。
802.1x是IEEE為了解決基于端口的接入控制(Port-Based Network AccessControl)而定義的一個標準,802.1x的體系結構如圖1所示,包括請求者(客戶端)1——請求認證的用戶/設備;認證者(認證系統)2——對接入的用戶/設備進行認證的端口;以太網的每個物理端口被分為受控和不受控的兩個邏輯端口,物理端口收到的每個幀都被送到受控和不受控端口。對受控端口的訪問,受限于受控端口的授權狀態。認證者的PAE(端口訪問實體)根據認證服務器認證過程的結果,控制“受控端口”的授權/未授權狀態。處在未授權狀態的控制端口,拒絕用戶/設備的訪問。
認證服務器3——根據認證者的信息,對請求訪問網絡資源的用戶/設備進行實際認證的設備。
但在采用802.1x技術的寬帶網環境中,用戶可以通過代理上網來實現“一個賬號多人使用”的方法,如何防范和檢測用戶使用共享上網技術成為目前需要重點關注研究并急待解決的問題。如圖2所示,客戶機4通過代理服務器5連接外部服務器6,代理服務器的代理方式一般有NAT(Network AddressTranslator,網絡地址轉換)服務程序代理,雙網卡代理和單網卡代理等,本發明采用了數據包特征分析和802.1x認證相結合以進行代理檢測。
發明內容
本發明的目的在于提供一種網絡認證方法,本發明的認證方法結合代理檢測技術,能夠防范和檢測用戶使用共享上網技術。
為實現本發明的上述目的,本發明提供了一種網絡認證方法,基于802.1X的體系結構,用于對客戶端的用戶設備進行認證,其中,包括步驟101,認證設備根據802.1X的認證流程對用戶設備進行認證,當所述用戶設備通過所述802.1X標準的認證時轉入步驟102;步驟102,認證設備向用戶設備發送包含代理檢測策略信息的擴展認證協議關鍵字類型數據報文,以啟動對用戶設備的代理檢測;步驟103,認證設備接收所述用戶設備向其發送的包含代理檢測結果信息的擴展認證協議關鍵字類型數據報文。
所述的方法,其中,所述步驟102中的代理檢測策略信息填充在所述擴展認證協議關鍵字類型數據報文的關鍵字域;和/或,所述步驟103中的代理檢測結果信息填充在所述擴展認證協議關鍵字類型數據報文的關鍵字域。
所述的方法,其中,所述步驟102中,在發送所述擴展認證協議關鍵字類型數據報文前進一步包括步驟301,所述認證設備將所述代理檢測策略加密;步驟302,所述認證設備將所述經加密的代理檢測策略填充到所述擴展認證協議關鍵字類型數據報文的關鍵字域;步驟303,所述認證設備對所述已填充的擴展認證協議關鍵字類型數據報文的關鍵字域進行加密簽名并填充擴展認證協議關鍵字類型數據報文的其它域。
所述的方法,其中,所述步驟103中,在用戶設備發送所述擴展認證協議關鍵字類型數據報文前進一步包括步驟401,所述用戶設備將代理檢測結果加密;步驟402,所述用戶設備將所述經加密的代理檢測結果填充到所述擴展認證協議關鍵字類型數據報文的關鍵字域;步驟403,所述用戶設備對所述已填充的擴展認證協議關鍵字類型數據報文的關鍵字域進行加密簽名并填充擴展認證協議關鍵字類型數據報文的其它域。
所述的方法,其中,所述步驟102中啟動對用戶設備的代理檢測為基于數據包分析的代理檢測策略、基于代理軟件特征檢測策略、基于端口掃描和監視的檢測策略、基于TCP連接數的突變的檢測策略、和/或基于端口連接數的突變的檢測策略。
所述的方法,其中,當所述用戶設備的代理檢測為基于數據包分析的代理檢測策略時,具體包括步驟601,利用抓包引擎從網卡驅動程序處獲取特定的進出數據包;步驟602,利用一數據包分析模塊根據預先設定的特征規則的數據結構,提取數據包的特征數據,并將所述提取的特征數據存入數據結構隊列;步驟603,從所述數據結構隊列中提取數據結構元素,根據預先設定的特征匹配規則進行數據特征匹配;步驟604,如數據特征相匹配,則返回存在代理,并按照預定響應策略進行響應;如不匹配,則進一步判斷所述數據包隊列是否為非空,若為非空則返回步驟602;若數據包隊列為空,則返回步驟601。
所述的方法,其中,所述步驟602中所述的數據包的特征數據進一步包括數據包頭部的特征數據和/或數據包數據部分的特征數據;其中,所述數據包頭部的特征數據進一步包括MAC地址和/或IP地址。
所述的方法,其中,所述特征匹配規則包括數據包的目的和源MAC地址互不相同而數據部分的特征內容相同;和/或,數據包的目的MAC地址與另一數據包的源MAC地址相同,而同時數據包的源MAC地址與另一數據包的目的MAC地址不相同;和/或,數據包的源MAC地址和另一數據包的目的MAC地址相同,而同時數據包的目的MAC地址和另一數據包的源MAC地址不同。
所述的方法,其中,所述步驟102進一步包括定時對所述用戶設備進行代理檢測的步驟。
所述的方法,其中,所述步驟101中基于802.1X的認證流程進一步包括步驟1001,客戶端向接入設備發送一基于局域網的擴展認證協議開始報文,開始802.1x認證接入;步驟1002,接入設備向客戶端發送擴展認證協議身份請求報文,要求客戶端將用戶名送上來;
步驟1003,客戶端回應一擴展認證協議身份應答報文給接入設備的請求,其中包括用戶名;步驟1004,接入設備將擴展認證協議身份應答報文封裝到RADIUS接入請求報文中,發送給認證服務器;步驟1005,認證服務器產生一質詢報文,并將其發送到接入設備;步驟1006,接入設備通過擴展認證協議請求報文將RADIUS接入質詢報文發送給客戶端,要求客戶端進行認證;步驟1007,客戶端收到擴展認證協議質詢請求報文后,將用戶的密碼和質詢報文做加密算法處理后的質詢密碼,以擴展認證協議應答報文回應給接入設備;步驟1008,接入設備將質詢報文、質詢密碼和用戶名一起發送到RADIUS服務器,由RADIUS服務器進行認證步驟1009,RADIUS服務器根據用戶信息,做算法處理,判斷用戶是否合法,然后回應認證成功/失敗報文到接入設備。
本發明的效果在于,本發明通過EAP-Key報文進行代理檢測請求和檢測結果的加密傳送,能實現代理檢測,從而能夠防范和檢測用戶使用共享上網技術,并保證了數據的安全性。
以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。
圖1是現有的802.1X的體系結構圖;圖2是現有的客戶機通過代理服務器連接外網服務器的示意圖;圖3是EAPoL包和EAPoL-Key的格式示意圖;圖4是EAPoL包中的包類型域取值示意圖;圖5是本發明一實施例的結合代理檢測和802.1x認證的流程示意圖;圖6是本發明一實施例的代理檢測方法流程圖;圖7是本發明一實施例的代理檢查策略請求/回應數據結構示意圖。
具體實施例方式
圖3是EAPoL(基于局域網的擴展認證協議)包和EAPoL-Key(基于局域網的擴展認證協議的關鍵字)的格式示意圖。EAPoL包由目的MAC地址、源MAC地址、以太網PAE報文類型(PAE報文值為2)、EAP協議版本號(0x01)、包類型(類型如圖4所示,此字段用于指示包所傳輸的數據類型,如傳輸的數據類型為EAP-Key即擴展認證協議關鍵字類型時,取值3)、包長度(不包含包的頭部數據)及包數據等字段組成。如圖3所示,本發明中的包數據是按EAPoL-Key的數據格式填充Descriptor Type(描述符類型如Key數據采用RC4加密,則取值1)、Key Length(關鍵字數據長度)、Replay Counter(重傳計數器)、Key IV(關鍵字隨機數據)、Key index(關鍵字索引號)、KeySignature(關鍵字數據簽名)和Key(關鍵字,填充經過加密的代理檢測策略或結果)組成。其中,代理檢測策略(如基于包分析的檢測策略、基于代理軟件特征檢測策略、基于端口掃描和監視的檢測策略、基于TCP連接數的突變、基于某端口連接數的突變等)請求和回應數據的數據結構如圖7所示。通過將圖7所示的策略數據進行加密后填充EAPoL-Key的Key域,以完成請求者和認證者間的數據交互。在圖7中,策略編號對應相應的代理檢測策略,例如,策略編號為1,為基于數據包分析;策略編號為2,為基于代理軟件特征檢測;策略編號為3,為基于端口掃描和監視;策略編號為4,為基于TCP連接數的突變等。
圖4是EAPoL包中的包類型域取值示意圖。如圖4,當傳輸的包類型為EAP-Packet(認證信息幀,用于承載認證信息)時,包類型域取值為0;當傳輸的包類型為EAPOL-Start(認證發起幀)時,包類型域取值為1;當傳輸的包類型為EAPOL-Logoff(退出請求幀,可主動終止已認證狀態)時,包類型域取值為2;當傳輸的包類型為EAPOL-Key(密鑰信息幀,支持對EAP報文的加密)時,包類型域取值為3;當傳輸的包類型EAPOL-Encapsulated-ASF-Alert(用于支持Alert Standard Forum ASF的Alerting消息)時,包類型域取值為4。
圖5是本發明一實施例的方法結合代理檢測和802.1x認證流程進行認證的過程,包括如下步驟步驟501,客戶端向接入設備發送一個EAPoL-Start(EAPoL開始)報文,開始802.1x認證接入;
步驟502,接入設備向客戶端發送EAP-Request/Identity(EAP身份請求)報文,要求客戶端將用戶名送上來;步驟503,客戶端回應一個EAP-Response/Identity(EAP身份應答)報文給接入設備的請求,其中包括用戶名;步驟504,接入設備將EAP-Response/Identity(EAP身份應答)報文封裝到RADIUS Access-Request(認證服務器接入請求)報文中,發送給認證服務器;步驟505,認證服務器產生一個RADIUS Access-Challenge(質詢)報文,并將其發送到接入設備;步驟506,接入設備通過EAP-Request(EAP請求)報文將RADIUSAccess-Challenge(質詢)報文發送給客戶端,要求客戶端進行認證;步驟507,客戶端收到EAP-Request(EAP質詢請求)報文后,將用戶的密碼和Challenge(質詢報文)做加密算法處理后的Challenged-Password(質詢密碼),以EAP-Response(EAP應答)報文回應給接入設備;步驟508,接入設備將Challenge(質詢報文),Challenged Password(質詢密碼)和用戶名一起送到RADIUS(遠程接入認證服務)服務器,由RADIUS服務器進行認證步驟509,RADIUS服務器根據用戶信息,做算法處理(如MD5),判斷用戶是否合法,然后回應認證成功/失敗報文到接入設備。如果成功,攜帶協商參數,以及用戶的相關業務策略給用戶授權。如果認證失敗,則流程到此結束;步驟510,如果認證通過,則接入設備也可以發起計費開始請求給RADIUS用戶認證服務器;RADIUS用戶認證服務器回應計費開始請求報文開始計費;在通過802.1x的認證后可以開始執行代理檢測流程,具體包括步驟511,接入設備將代理檢測策略(對應于相應的代理檢測方法)加密,然后用加密后的代理檢測策略填充EAP-Key報文的Key域,并進行加密簽名和填充EAP-Key數據報文的其它域(如圖3所示),向客戶端發送經過數據加密的代理檢測策略的EAP-Key數據報文,以啟動客戶端的代理檢測;客戶端啟動策略解析,并根據解析的策略啟動相應的代理檢測方法(在圖7中,策略編號對應相應的代理檢測策略,例如,策略編號為1,為基于數據包分析;策略編號為2,為基于代理軟件特征檢測;策略編號為3,為基于端口掃描和監視;策略編號為4,為基于TCP連接數的突變等),然后定時的檢測代理是否存在;步驟512,客戶端將根據設置策略的對應檢測方法的檢測結果(在圖7中,策略值對應相應策略編號的代理檢測結果,如對應策略的檢測方法檢測存在代理,則在對應策略編號的策略值處填1;否則對應策略編號的策略值處填0)加密,并用加密后的檢測結果填充EAP-Key報文的Key域,并進行加密簽名和填充EAP-Key數據報文的其它域,向接入設備發送經過數據加密的代理檢測結果的EAP-Key數據報文;認證設備根據獲取的檢測結果采取相應處理措施(如讓客戶端下線或在用戶的上網記錄上進行記載等)。
代理服務器的代理方式一般有NAT服務程序代理,雙網卡代理和單網卡代理等。單網卡有兩種代理方式,即單網卡NAT代理和單網卡一般代理,但在代理服務器上它們有共同的數據包頭部特征一個包進(出)源(目的)數據包的MAC地址與另一個包出(進)目的(源)數據包的MAC地址相同,但同時這個包出(進)目的(源)MAC地址與另一個包的進(出)源(目的)數據包的MAC地址不同。雙網卡也有兩種代理方式,即雙網卡NAT代理和雙網卡一般代理,但在代理服務器上它們有共同的數據包頭部特征一個包進(出)源(目的)數據包的MAC地址與另一個包出(進)目的(源)數據包的MAC地址不同,但同時這個包出(進)目的(源)MAC地址與另一個包的進(出)源(目的)數據包的MAC地址也不同,即兩個數據包的MAC地址兩兩互不相同。為了避免可能存在代理服務器在上外網服務器的同時,將客戶機訪問代理服務器的情況檢測為代理,則增加對數據包數據部分特征內容進行檢測。因此本發明一實施例的方法,當所述用戶設備的代理檢測為基于數據包分析的代理檢測策略時,采用了數據包頭部特征和數據部分特征相結合的方法來實現代理檢測。
圖6是本發明一實施例的基于數據包的代理檢測方法流程圖。包括以下處理流程和數據結構步驟601,利用抓包引擎從網卡驅動程序處獲取特定的進出數據包;步驟602,603,利用一數據包分析模塊根據預設的特征規則的數據結構(數據包頭部MAC地址,IP地址等;數據部分提取部分特征數據),提取數據包的特征數據(數據包頭部MAC地址,IP地址等;數據部分提取部分特征數據),并將特征數據存入數據結構隊列;步驟604,605,606,607,從數據結構隊列中提取數據結構元素,根據特征匹配規則(如數據包的目的和源MAC地址互不相同而數據部分的特征內容相同;或數據包目的(源)MAC地址和另一數據包源(目的)MAC地址相同,而同時數據包源(目的)MAC地址和另一數據包目的(源)MAC地址不同等)進行數據特征匹配,若數據代理特征(數據包頭部特征和數據部分特征)匹配,則轉入步驟608;如否,則進一步判斷數據包隊列是否為非空,若為非空則轉入步驟602,繼續根據預設的特征規則提取數據包的特征進行分析;若數據包隊列為空,則轉入步驟601。
步驟608,返回存在代理,并按照預定響應策略進行響應(如讓客戶端下線或在用戶的上網記錄上進行記載等)。
同樣的,本發明的其它實施例可采用其它的代理檢測策略來進行代理檢測,如基于代理軟件特征檢測策略、基于端口掃描和監視的檢測策略、基于TCP連接數的突變的檢測策略、基于某端口連接數的突變的檢測策略等,在此不再贅述。
本發明通過EAP-Key報文進行代理檢測請求和檢測結果的加密傳送能實現代理檢測,從而可在采用802.1x技術的寬帶網環境中,防范和檢測用戶使用共享上網技術,并保證了數據的安全性。
當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。
權利要求
1.一種網絡認證方法,基于802.1X的體系結構,用于對客戶端的用戶設備進行認證,其特征在于,包括步驟101,認證設備根據802.1X的認證流程對用戶設備進行認證,當所述用戶設備通過所述802.1X標準的認證時轉入步驟102;步驟102,認證設備向用戶設備發送包含代理檢測策略信息的擴展認證協議關鍵字類型數據報文,以啟動對用戶設備的代理檢測;步驟103,認證設備接收所述用戶設備向其發送的包含代理檢測結果信息的擴展認證協議關鍵字類型數據報文。
2.根據權利要求1所述的方法,其特征在于,所述步驟102中的代理檢測策略信息填充在所述擴展認證協議關鍵字類型數據報文的關鍵字域;和/或,所述步驟103中的代理檢測結果信息填充在所述擴展認證協議關鍵字類型數據報文的關鍵字域。
3.根據權利要求2所述的方法,其特征在于,所述步驟102中,在發送所述擴展認證協議關鍵字類型數據報文前進一步包括步驟301,所述認證設備將所述代理檢測策略加密;步驟302,所述認證設備將所述經加密的代理檢測策略填充到所述擴展認證協議關鍵字類型數據報文的關鍵字域;步驟303,所述認證設備對所述已填充的擴展認證協議關鍵字類型數據報文的關鍵字域進行加密簽名并填充擴展認證協議關鍵字類型數據報文的其它域。
4.根據權利要求3所述的方法,其特征在于,所述步驟103中,在用戶設備發送所述擴展認證協議關鍵字類型數據報文前進一步包括步驟401,所述用戶設備將代理檢測結果加密;步驟402,所述用戶設備將所述經加密的代理檢測結果填充到所述擴展認證協議關鍵字類型數據報文的關鍵字域;步驟403,所述用戶設備對所述已填充的擴展認證協議關鍵字類型數據報文的關鍵字域進行加密簽名并填充擴展認證協議關鍵字類型數據報文的其它域。
5.根據權利要求1-4中任一權利要求所述的方法,其特征在于,所述步驟102中啟動對用戶設備的代理檢測為基于數據包分析的代理檢測策略、基于代理軟件特征檢測策略、基于端口掃描和監視的檢測策略、基于TCP連接數的突變的檢測策略、和/或基于端口連接數的突變的檢測策略。
6.根據權利要求5所述的方法,其特征在于,當所述用戶設備的代理檢測為基于數據包分析的代理檢測策略時,具體包括步驟601,利用抓包引擎從網卡驅動程序處獲取特定的進出數據包;步驟602,利用數據包分析模塊根據預先設定的特征規則的數據結構,提取數據包的特征數據,并將所述提取的特征數據存入數據結構隊列;步驟603,從所述數據結構隊列中提取數據結構元素,根據預先設定的特征匹配規則進行數據特征匹配;步驟604,如數據特征相匹配,則返回存在代理,并按照預定響應策略進行響應;如不匹配,則進一步判斷所述數據包隊列是否為非空,若為非空則返回步驟602;若數據包隊列為空,則返回步驟601。
7.根據權利要求6所述的方法,其特征在于,所述步驟602中所述的數據包的特征數據進一步包括數據包頭部的特征數據和/或數據包數據部分的特征數據;其中,所述數據包頭部的特征數據進一步包括MAC地址和/或IP地址。
8.根據權利要求7所述的方法,其特征在于,所述特征匹配規則包括數據包的目的和源MAC地址互不相同而數據部分的特征內容相同;和/或,數據包的目的MAC地址與另一數據包的源MAC地址相同,而同時數據包的源MAC地址與另一數據包的目的MAC地址不相同;和/或,數據包的源MAC地址和另一數據包的目的MAC地址相同,而同時數據包的目的MAC地址和另一數據包的源MAC地址不同。
9.根據權利要求1所述的方法,其特征在于,所述步驟102進一步包括定時對所述用戶設備進行代理檢測的步驟。
10.根據權利要求1-4,6-9中任一權利要求所述的方法,其特征在于,所述步驟101中基于802.1X的認證流程進一步包括步驟1001,客戶端向接入設備發送一基于局域網的擴展認證協議開始報文,開始802.1x認證接入;步驟1002,接入設備向客戶端發送擴展認證協議身份請求報文,要求客戶端將用戶名送上來;步驟1003,客戶端回應一擴展認證協議身份應答報文給接入設備的請求,其中包括用戶名;步驟1004,接入設備將擴展認證協議身份應答報文封裝到RADIUS接入請求報文中,發送給認證服務器;步驟1005,認證服務器產生一質詢報文,并將其發送到接入設備;步驟1006,接入設備通過擴展認證協議請求報文將RADIUS接入質詢報文發送給客戶端,要求客戶端進行認證;步驟1007,客戶端收到擴展認證協議質詢請求報文后,將用戶的密碼和質詢報文做加密算法處理后的質詢密碼,以擴展認證協議應答報文回應給接入設備;步驟1008,接入設備將質詢報文、質詢密碼和用戶名一起發送到RADIUS服務器,由RADIUS服務器進行認證步驟1009,RADIUS服務器根據用戶信息,做算法處理,判斷用戶是否合法,然后回應認證成功/失敗報文到接入設備。
全文摘要
本發明提供了一種網絡認證方法,基于802.1X的體系結構,用于對客戶端的用戶設備進行認證,其特征在于,包括步驟101,認證設備根據802.1X的認證流程對用戶設備進行認證,當所述用戶設備通過所述802.1X標準的認證時轉入步驟102;步驟102,認證設備向用戶設備發送包含代理檢測策略信息的EAP-Key數據報文,以啟動對用戶設備的代理檢測;步驟103,認證設備接收所述用戶設備向其發送的包含代理檢測結果信息的EAP-Key數據報文。利用本發明的方法,能在采用802.1x技術的寬帶網環境中,防范和檢測用戶使用共享上網技術,并保證了數據的安全性。
文檔編號H04L29/06GK101047502SQ20061001157
公開日2007年10月3日 申請日期2006年3月29日 優先權日2006年3月29日
發明者黃小華, 盧應華, 蔣勇 申請人:中興通訊股份有限公司