檢測非法無線接入點的方法及系統的制作方法
【技術領域】
[0001]本發明涉及無線局域網通信技術領域,尤其涉及一種檢測非法無線接入點的方法及系統。
【背景技術】
[0002]在公用WIFI網絡中,安全問題是一個日益嚴重的問題,一些非法分子在公用WIFI網絡中布置非法AP (Access Point,無線接入點),設置SSID (Service Set Identifier,月艮務集標識)與公用WIFI合法AP的SSID —致,致使有無線連接需求的STA (終端)被引誘連接到非法AP上,導致嚴重的網絡和信息安全問題。
[0003]合法AP通過簡單的SSID檢測無法準確發現非法AP。如果非法AP的SSID與合法AP的SSID —致,負責檢測的合法AP只能通過非法AP的MAC (Media Access Control,媒體訪問控制)地址來區分這個AP是否為合法AP。但所謂道高一尺,魔高一丈,如果非法AP能夠修改MAC地址,把自身的MAC地址修改成一臺合法AP的MAC地址,這樣的話,合法AP就會將非法AP誤認為是一臺合法AP。
【發明內容】
[0004]本發明的目的是為解決目前僅通過對比兩個無線接入點(AP)的服務集標識(SSID)是否相同來檢測AP的合法性,非法AP可通過修改自身的MAC地址偽裝成合法AP,導致嚴重威脅網絡和信息安全的技術問題。
[0005]為了解決上述技術問題,一方面,本發明提供一種檢測非法無線接入點的方法,包括如下步驟:
[0006](1)接入控制服務器通知合法無線接入點對待驗證合法性的無線接入點進行合法性檢測;
[0007](2)所述合法無線接入點檢測收到的來自所述待驗證合法性的無線接入點的信標幀和探索響應幀中的服務集標識,若所述服務集標識與所述合法無線接入點的服務集標識不同,則不再繼續檢測;若所述服務集標識與所述合法無線接入點的服務集標識相同,則繼續到下一步;
[0008](3)所述合法無線接入點檢測所述信標幀和探索響應幀中是否有供應商特定信息要素,若沒有,則所述待驗證合法性的無線接入點為非法無線接入點。
[0009]進一步地,所述步驟(3)中,若所述信標幀和探索響應幀中有供應商特定信息要素,所述合法無線接入點檢測所述供應商特定信息要素中是否有序列號、CPU序列號和驗證數,若沒有,則所述待驗證合法性的無線接入點為非法無線接入點。
[0010]進一步地,若所述合法無線接入點檢測到所述供應商特定信息要素中有序列號、CPU序列號和驗證數,則所述合法無線接入點將所述序列號、CPU序列號、驗證數和所述信標幀或探索響應幀的源MAC地址發送至所述接入控制服務器;
[0011]所述接入控制服務器收到所述序列號、CPU序列號、驗證數和所述MAC地址后,根據驗證數生成公式,采用所述序列號、CPU序列號和所述MAC地址計算出第二驗證數;
[0012]若所述第二驗證數=所述驗證數,則所述待驗證合法性的無線接入點為合法無線接入點;若所述第二驗證數#所述驗證數,則所述待驗證合法性的無線接入點為非法無線接入點。
[0013]進一步地,所述驗證數生成公式為:
[0014]驗證數=MACXfl(X) +SNXf2 (x) +CPU_SNXf3 (x);
[0015]式中:MAC為待驗證合法性的無線接入點發出的信標幀或探索響應幀的源MAC地址;SN為待驗證合法性的無線接入點的設備序列號;CPU_SN為待驗證合法性的無線接入點的設備中所用CPU的序列號;fl (x)、f2 (x)和f3(x)為n次自變量是χ的生成函數。
[0016]進一步地,所述fl(x)、f2(x)和f3(x)預存于所述接入控制服務器中。
[0017]進一步地,所述fl(x) = l+x2+x4+x6+x7。
[0018]另一方面,本發明提供一種檢測非法無線接入點的系統,包括設于合法無線接入點中的檢測模塊,所述檢測模塊適于在接入控制服務器的控制下檢測待驗證合法性的無線接入點的合法性;
[0019]若所述檢測模塊檢測到的來自所述待驗證合法性的無線接入點的信標幀和探索響應幀中的服務集標識與所述合法無線接入點的服務集標識不同,則不再繼續檢測;若相同,則所述檢測模塊繼續檢測所述待驗證合法性的無線接入點的信標幀和探索響應幀中是否存在供應商特定信息要素,若不存在,則所述待驗證合法性的無線接入點為非法無線接入點。
[0020]進一步地,若所述待驗證合法性的無線接入點的信標幀和探索響應幀中存在供應商特定信息要素,則所述檢測模塊繼續檢測所述供應商特定信息要素中是否存在序列號、CPU序列號和驗證數,若不存在,則所述待驗證合法性的無線接入點為非法無線接入點。
[0021]進一步地,若所述供應商特定信息要素中存在序列號、CPU序列號和驗證數,則所述檢測模塊將所述序列號、CPU序列號、驗證數和所述信標幀或探索響應幀的源MAC地址發送至所述接入控制服務器;
[0022]所述接入控制服務器包括生成函數存儲器及驗證數生成模塊,所述驗證數生成模塊收到所述序列號、CPU序列號、驗證數和所述MAC地址后,根據驗證數生成公式:
[0023]驗證數=MACXfl(x)+SNXf2(x)+CPU_SNXf3(x),采用所述序列號、CPU 序列號和所述MAC地址計算出第二驗證數;
[0024]所述驗證數生成公式中,MAC為待驗證合法性的無線接入點發出的信標幀或探索響應幀的源MAC地址;SN為待驗證合法性的無線接入點的設備序列號;CPU_SN為待驗證合法性的無線接入點的設備中所用〇卩1]的序列號汀100、€2 00和f3(x)為η次自變量是χ的生成函數,f 1 (x)、f2 (χ)和f3 (x)均存于所述生成函數存儲器中;
[0025]若所述第二驗證數=所述驗證數,則所述待驗證合法性的無線接入點為合法無線接入點;若所述第二驗證數#所述驗證數,則所述待驗證合法性的無線接入點為非法無線接入點。
[0026]進一步地,所述fl(x) = l+x2+x4+x6+x7。
[0027]本發明通過在合法AP發送的Beacon (信標)幀和Probe Response (探測響應)幀中添加可選的 Vendor Specific IE (Vendor Specific Informat1n Elements,供應商特定信息要素),在Vendor Specific IE中,包含SN(Serial Number,待驗證合法性的AP的設備序列號)、CPU_SN(CPU_Serial Number,待驗證合法性的AP的設備中所用CPU的序列號)和驗證數,合法AP通過檢測待驗證合法性的AP發送的Beacon幀和Probe Response幀中是否存在Vendor Specific IE信息,若不存在,則待驗證合法性的AP為非法AP ;若存在,進一步檢測Vendor Specific IE中是否有SN、CPU_SN和驗證數,若沒有,則待驗證合法性的AP為非法AP,若有,進一步檢測根據驗證數生成公式計算出的新驗證數是否等于原驗證數,若相等,則待驗證合法性的AP為合法AP,若不相等,則待驗證合法性的AP為非法AP。由于生成函數fl (x)、f2 (χ)和f3 (x)完全保密,MAC地址、SN和CPU_SN被同時篡改的可能性很小,尤其是MAC地址和SN —般放在AP設備的閃存中,CPU_SN則固化在CPU的寄存器中,所以用這種方法生成出的新驗證數有著高有效性,非法AP如果想用自己的MA地址、SN和CPU_SN生成合法的新驗證數幾乎不可能;而如果直接在Vendor Specific IE中用其他AP發出的合法的驗證數,則AC會發現此驗證數對應兩臺AP,馬上就能報警,能精確識別非法AP的偽裝,保障了網絡和信息安全。
【附圖說明】
[0028]圖1為本發明所述方法一個實施例的流程圖;
[0029]圖2為本發明所述系統一個實施例的原理框圖。
【具體實施方式】
[0030]現在結合附圖和實施例對本發明作進一步詳細的說明。這些附圖均為簡化的示意圖,僅以示意方式說明本發明的基本結構,因此其僅顯示與本發明有關的構成,且其不應理解為對本發明的限制。
[0031]如圖1所示的實施例,本發明的檢測非法無線接入點的方法,包括如下步驟:
[0032]S100、接入控制服務器AC通知合法無線接入點API對待驗證合法性的無線接入點AP2進行合法性檢測;
[0033]S110、判斷 AP2 的 Beacon 幀和 Probe Response 幀中的 SSID 是否等于 API 的 SSID,若相等,則繼續到下一步;若不相等,則結束檢測,因為AP2根本無法使用WIFI網絡,不存在安全威脅;
[0034]S120、判斷 AP2 的 Beacon 幀和 Probe Response 幀中是否有 Vendor Specific IE,若有,則繼續到下一步;若沒有,則轉到步驟S126 ;
[0035]S125、判斷Vendor Specific IE中是否有SN、CPU_SN和驗證數N,若有,則轉到步驟S130 ;若沒有,則轉到步驟S126 ;
[0036]S126、AP2為非法AP,拒絕其使用WIFI網絡;
[0037]S130、API 將 SN、CPU_SN、驗證數 N 和 Beacon 幀或 Probe Response 幀的源 MAC 地址發送至AC;
[0038]S140、AC 根據驗證數生成公式:驗證數=MACX f 1 (x) +SNXf2 (x) +CPU_SNXf3 (x),計算出新驗證數M ;fl (χ)、f2 (x)和f3 (χ)預存于AC中,如果f 1 (χ)=1+χ2+χ4+χ6+χ7,貝lj fl 的二進制表達為:10101011 ;
[0039]MAC = 34-65-a2-3e-32-73,則 MAC 的二進制表達為:
[0040]001100100100010110100010001111110011001001110011
[0041]則MACXfl = 00110010