本發(fā)明涉及網絡通信技術領域,具體而言,涉及一種arp認證方法、裝置及系統(tǒng)。
背景技術:
arp(addressresolutionprotocol,地址解析協(xié)議)用于把ip地址解析成lan(localareanetwork,局域網)硬件使用的mac地址。ip數據包通常通過以太網發(fā)送,但以太網設備并不識別32位ip地址,它們是以48位以太網地址傳輸以太網數據包。因此,必須把ip目的地址轉換成以太網目的地址。arp協(xié)議用于將網絡中的ip地址解析為目標硬件地址(mac地址),以保證通信的順利進行。
由于arp協(xié)議本身沒有做任何安全考慮,不會對arp報文進行合法性驗證,使得在以太交換網絡中攻擊者很容易實現arp攻擊。為防止arp攻擊采用的很多安全措施都很難有效地建立正確的arp表項,無法保證網絡數據傳輸的穩(wěn)定性、安全性。
目前企業(yè)網,特別是金融行業(yè)客戶,中、農、工、建、交等各大銀行,對局域網的安全性要求非常高,正在逐步的部署安全接入控制機制,因此需要一種有效的方法來防止arp攻擊。但是,當前以太交換網絡防止arp攻擊所采用的方法,例如關閉arp動態(tài)學習而配置靜態(tài)arp,或采用動態(tài)arp監(jiān)測(dynamicarpinspection)等技術,不是效率大幅度降低,就是使用有局限性、不能從根本上解決arp攻擊。
技術實現要素:
有鑒于此,本發(fā)明的目的在于提供一種arp認證方法、裝置及系統(tǒng),以改善上述問題。
本發(fā)明較佳實施例提供一種arp認證方法,應用于請求端,所述方法包括:生成地址解析協(xié)議arp請求報文并將其進行廣播,所述arp請求報文的目標硬件地址字段中寫入特定組播硬件地址,所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能;接收被請求端響應于所述arp請求報文而返回的arp響應報文;根據arp響應報文中攜帶的chap認證的挑戰(zhàn)信息對被請求端進行認證,并將認證結果寫入認證響應報文發(fā)送至所述被請求端。
相應的,本發(fā)明另一較佳實施例提供一種arp認證方法,應用于請求端,所述方法包括:接收請求端發(fā)送的地址解析協(xié)議arp請求報文,所述arp請求報文的目標硬件地址字段中寫入特定組播硬件地址,所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能;響應于所述arp請求報文而生成挑戰(zhàn)握手認證協(xié)議chap認證的挑戰(zhàn)信息;將所述chap認證的挑戰(zhàn)信息寫入arp響應報文發(fā)送至所述請求端,以使所述請求端響應于所述chap認證的挑戰(zhàn)信息而生成認證響應報文;接收請求端返回的攜帶有認證結果的認證響應報文。
本發(fā)明另一較佳實施例提供一種arp認證裝置,應用于請求端,所述裝置包括:arp模塊,用于生成地址解析協(xié)議arp請求報文,并交由報文發(fā)送模塊,所述arp請求報文的目標硬件地址字段中寫入特定組播硬件地址,所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能;報文發(fā)送模塊,用于將所述arp請求報文進行廣播;報文接收模塊,用于接收被請求端響應于所述arp請求報文而返回的arp響應報文;認證模塊,用于根據arp響應報文中攜帶的chap認證信息對被請求端進行認證,并將認證結果通知給所述arp模塊;所述arp模塊,還用于將所述認證結果寫入認證響應報文發(fā);所述報文發(fā)送模塊,還用于將所述認證響應報文發(fā)送至所述被請求端。
相應的,本發(fā)明另一較佳實施例提供一種arp認證裝置,應用于被請求端,所述裝置包括:報文接收模塊,用于接收請求端發(fā)送的地址解析協(xié)議arp請求報文,所述arp請求報文的目標硬件地址字段中寫入有特定組播硬件地址,所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能;認證模塊,用于響應于所述arp請求報文而生成挑戰(zhàn)握手認證協(xié)議chap認證信息;arp模塊,用于將所述chap認證的挑戰(zhàn)信息寫入arp響應報文;報文發(fā)送模塊,用于將所述arp響應報文發(fā)送至所述請求端,以使所述請求端響應于chap認證的挑戰(zhàn)信息而生成認證響應報文;所述報文接收模塊,還用于接收請求端返回的攜帶有認證結果的認證響應報文。
相應的,本發(fā)明另一較佳實施例提供了一種arp認證系統(tǒng),包括:請求端和被請求端,其中,所述請求端包括本發(fā)明的應用于請求端的arp認證裝置,所述被請求端包括本發(fā)明的應用于被請求端的arp認證裝置。
本發(fā)明實施例提供的arp認證方法、裝置及系統(tǒng),通過基于arp報文的chap(challengehandshakeauthenticationprotocol,挑戰(zhàn)握手認證協(xié)議)認證過程確定arp報文的合法性,可以有效的過濾arp欺騙報文,防止arp報文欺騙,這種認證方法的實現代價小,能極大提升arp學習過程的安全性。而且,對于未開啟arp認證的以太網設備(如交換機或終端),其傳統(tǒng)的arp學習過程不會受到任何影響。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
圖1為本發(fā)明實施例提供的一種arp認證方法的應用場景圖;
圖2為本發(fā)明實施例提供的一種應用于請求端的arp認證方法的流程圖;
圖3為本發(fā)明實施例提供的arp報文的部分結構示意圖;
圖4為本發(fā)明實施例提供的一種應用于被請求端的arp認證方法的流程圖;
圖5為本發(fā)明實施例提供的應用于請求端的arp認證裝置的功能模塊示意圖;
圖6為本發(fā)明實施例提供的應用于被請求端的arp認證裝置的功能模塊示意圖。
圖標:100-請求端;200-被請求端;110、210-arp認證裝置;112-arp模塊;114-報文發(fā)送模塊;116-報文接收模塊;118-認證模塊;212-報文接收模塊;214-認證模塊;216-arp模塊;218-報文發(fā)送模塊。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。
因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1,是本發(fā)明實施例提供的一種arp認證方法的應用場景圖。如圖所示,該arp認證方法可以應用于以太網絡中兩端存在通信交互的設備,其中一端為arp(addressresolutionprotocol,地址解析協(xié)議)報文的請求端100,另一端為arp報文的響應端(被請求端200)。作為一種非限制性實施方式,請求端100可以是以太網交換機,相應地,被請求端200可以是以太網主機。
請參閱圖2,是本發(fā)明實施例提供的一種應用于請求端100的arp認證方法的流程圖。所應說明的是,本實施例中的方法不以圖2及以下所述的具體順序為限制。下面對圖2中所示的各步驟進行詳細闡述。
步驟101,預先啟用請求端100的arp報文主動認證功能,并配置用于認證的被請求端的arp認證信息。
本實施例中,以請求端100為以太網交換機為示例,在以太網交換機的全局和相應端口啟用arp報文主動認證功能,并配置被請求端的arp認證信息,如用戶名及密碼。
步驟s103,生成arp請求報文并將其進行廣播。
如圖3所示,是arp報文的部分結構示意圖。傳統(tǒng)的arp請求報文中,sendermacaddress(發(fā)送方硬件地址)字段寫入的是請求端100的硬件地址,senderipaddress(發(fā)送方ip地址)字段寫入的是請求端100的ip地址,targetmacaddress(目標硬件地址)字段由全0填充,targetipaddress(目標ip地址)字段寫入的是被請求端200的ip地址。
本實施例中,當請求端100需要添加或刪除被請求端200的arp表項時,則生成一arp請求報文并將其進行廣播。該arp請求報文的諸如targetmacaddress字段中寫有特定組播硬件地址。換言之,在targetmacaddress字段中用該特定組播硬件地址代替?zhèn)鹘y(tǒng)的全0填充。該特定組播硬件地址可以用于指示被請求端200開啟被動認證功能。
作為一種實施方式,所述特定組播硬件地址可以用于指示所述被請求端開啟被動認證功能的添加arp表項,相應地,該特定組播地址可以是0100.5e00.0001,但不限制于此。
作為一種實施方式,所述特定組播硬件地址可以用于指示所述被請求端開啟被動認證功能的刪除arp表項,相應地,該特定組播地址可以是0100.5e00.0002,但不限制于此。
當被請求端200接收到上述arp請求報文后,可以根據目標硬件地址字段中的特定組播硬件地址(例如,0100.5e00.0001或0100.5e00.0002)的指示開啟被動認證功能,并相應地配置arp認證信息(如用戶名及密碼,不限于此)。當被請求端200接收到上述arp請求報文后,可以根據arp請求報文中的sendermacaddress及senderipaddress字段信息建立對應于請求端100的臨時arp表項。
s105,接收被請求端200響應于所述arp請求報文而返回的arp響應報文。
本實施例中,被請求端200返回的arp響應報文中包含有被請求端200的硬件地址信息。由此,請求端100可以根據從arp響應報文中獲得的被請求端200的ip地址(即從arp響應報文中獲取的發(fā)送方ip地址)以及硬件地址(即從arp響應報文中獲取的發(fā)送方硬件地址)生成對應于被請求端200的臨時arp表項。
另外,本實施例中,被請求端200返回的arp響應報文中攜帶有chap(challengehandshakeauthenticationprotocol,挑戰(zhàn)握手認證協(xié)議)認證的挑戰(zhàn)信息。被請求端200可以將chap認證的挑戰(zhàn)信息寫入arp響應報文。例如,被請求端100可以將chap認證的挑戰(zhàn)信息寫在arp響應報文中的目標ip地址字段之后,然后將攜帶有chap認證的挑戰(zhàn)信息的arp響應報文發(fā)送至請求端100。具體地,被請求端200可以依據之前建立的對應于請求端100的臨時arp表項將攜帶有chap認證的挑戰(zhàn)信息的arp響應報文發(fā)送至請求端100。
在本發(fā)明實施例中,被請求端200會預先配置認證用的arp認證信息,被請求端200所使用的chap認證的挑戰(zhàn)信息是基于該arp認證信息生成的。在本步驟s101中已說明,請求端100上已預先配置該被請求端的arp認證信;也就是說請求端100與被請求端200都擁有被請求端200的arp認證信息。
步驟s107,根據arp響應報文中攜帶的chap認證的挑戰(zhàn)信息對被請求端進行認證,并將認證結果寫入認證響應報文發(fā)送至所述被請求端。
本實施例中,當所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能的添加arp表項時,作為一種實施方式,請求端100可以獲取arp響應報文中攜帶的chap認證的挑戰(zhàn)信息,再根據本地預先配置的被請求端的arp認證信息同樣生成chap認證的挑戰(zhàn)信息,根據chap認證的挑戰(zhàn)信息是否相同,判斷所述被請求端是否合法。若認證結果為合法,則將所述臨時arp表項寫入靜態(tài)arp表項,并將認證成功指示信息寫入認證響應報文發(fā)送至所述被請求端;若認證結果為不合法,則將認證失敗指示信息寫入認證響應報文,根據臨時arp表項將所述認證響應報文發(fā)送至所述被請求端后,刪除所述臨時arp表項。
當所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能的刪除arp表項時,作為一種實施方式,請求端100可以獲取arp響應報文中攜帶的chap認證的挑戰(zhàn)信息,再根據本地預先配置的被請求端的arp認證信息,同樣生成chap認證的挑戰(zhàn)信息,根據chap認證的挑戰(zhàn)信息是否相同,判斷所述被請求端是否合法。若認證結果為合法,則刪除與所述arp請求報文相關的目標靜態(tài)arp表項,若認證結果為不合法,則不刪除與所述arp請求報文相關的目標靜態(tài)arp表項。
需要說明的是,本發(fā)明實施例中,當arp報文被認證為欺騙報文,或者認證時間超時(例如,超過預設時間)時,均可以判定arp報文的認證結果為“不合法”。
可以理解的是,在其他實施例中,上述步驟s101可以是預先完成的。在預先完成的基礎上,圖2中所示的方法可以直接由步驟s103開始執(zhí)行。
本發(fā)明實施例提供的arp認證方法,通過在arp響應報文中攜帶chap認證的挑戰(zhàn)信息以認證arp報文的合法性,可以有效的過濾arp欺騙報文,有效的防止arp報文欺騙。這種arp驗證方法不但實現代價小,而且能極大提升arp學習過程的安全性。對于未開啟arp認證的以太網設備(例如,交換機或終端),其arp學習過程不會受任何影響。
請參閱圖4,是本發(fā)明實施例提供的一種應用于被請求端200的arp認證方法的流程圖。下面將對圖4中所示的各步驟進行詳細描述。
步驟s301,接收請求端100發(fā)送的arp請求報文。該arp請求報文的目標硬件地址字段中寫入有特定的組播硬件地址,該組播硬件地址可以用于指示被請求端200開啟被動認證功能。
作為一種實施方式,所述特定組播硬件地址可以用于指示所述被請求端開啟被動認證功能的添加arp表項,相應地,該特定組播地址可以是0100.5e00.0001,但不限制于此。
作為一種實施方式,所述特定組播硬件地址可以用于指示所述被請求端開啟被動認證功能的刪除arp表項,相應地,該特定組播地址可以是0100.5e00.0002,但不限制于此。
步驟s303,響應于所述arp請求報文而生成chap認證的挑戰(zhàn)信息。
本實施例中,被請求端200開啟被動認證功能并響應于arp請求報文生成chap認證的挑戰(zhàn)信息。
步驟s305,將所述chap認證的挑戰(zhàn)信息寫入arp響應報文發(fā)送至請求端100,以使請求端100響應于chap認證的挑戰(zhàn)信息而生成認證響應報文。
步驟s307,接收請求端100返回的攜帶有認證結果的認證響應報文。
本實施例中,在接收到請求端100發(fā)送的arp請求報文之后,以及在響應于所述arp請求報文而生成挑戰(zhàn)握手認證協(xié)議chap認證的挑戰(zhàn)信息之前,被請求端200還可以根據從所述arp請求報文中獲得的請求端100的ip地址(即從arp響應報文中獲取的發(fā)送方ip地址)以及硬件地址(即從arp響應報文中獲取的發(fā)送方硬件地址)生成臨時arp表項,以便根據該臨時arp表項將攜帶chap認證的挑戰(zhàn)信息的arp響應報文發(fā)送至請求端100。
當所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能的添加arp表項時,被請求端200在接收到請求端100返回的攜帶有認證結果的認證響應報文后,若認證結果為合法,則將所述臨時arp表項寫入靜態(tài)arp表項;若認證結果為不合法,則刪除所述臨時arp表項。
當所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能的刪除arp表項時,被請求端200在接收到請求端100返回的攜帶有認證結果的認證響應報文之后,若認證結果為合法,則刪除與所述arp請求報文相關的目標靜態(tài)arp表項,若認證結果為不合法,則不刪除與所述arp請求報文相關的目標靜態(tài)arp表項。
本實施例中提供的應用于被請求端200的arp認證方法中,每個步驟的具體操作方法可以對應參照圖2所示方法中相應步驟的詳細闡述,在此不再一一贅述。
請參閱圖5,是本發(fā)明實施例提供的應用于請求端100的arp認證裝置110的功能模塊示意圖。該arp認證裝置110包括arp模塊112、報文發(fā)送模塊114、報文接收模塊116、認證模塊118。
arp模塊112,用于生成arp請求報文,并交由報文發(fā)送模塊,所述arp請求報文的目標硬件地址字段中寫入特定組播硬件地址,所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能。
報文發(fā)送模塊114,用于將所述arp請求報文進行廣播。
報文接收模塊116,用于接收被請求端200響應于所述arp請求報文而返回的arp響應報文。
認證模塊118,用于根據arp響應報文中攜帶的chap認證的挑戰(zhàn)信息對被請求端進行認證,并將認證結果通知給所述arp模塊。
所述arp模塊112,還用于將所述認證結果寫入認證響應報文。
所述報文發(fā)送模塊114,還用于將所述認證響應報文發(fā)送至所述被請求端。
本發(fā)明實施例所提供的arp認證裝置,其實現原理及產生的技術效果和圖2所示的方法實施例相同,為簡要描述,裝置實施例部分未提及之處,可參考前述方法實施例中相應內容。
請參閱圖6,是本發(fā)明實施例提供的應用于被請求端200的arp認證裝置210的功能模塊示意圖。arp認證裝置210包括報文接收模塊212、認證模塊214、arp模塊216、報文發(fā)送模塊218。
報文接收模塊212,用于接收請求端100發(fā)送的arp請求報文,所述arp請求報文的目標硬件地址字段中寫入有特定組播硬件地址,所述特定組播硬件地址用于指示所述被請求端開啟被動認證功能。
認證模塊214,用于響應于所述arp請求報文而生成挑戰(zhàn)握手認證協(xié)議chap認證的挑戰(zhàn)信息。
arp模塊216,用于將所述chap認證的挑戰(zhàn)信息寫入arp響應報文。
報文發(fā)送模塊218,用于將所述arp響應報文發(fā)送至所述請求端,以使所述請求端響應于所述chap認證的挑戰(zhàn)信息而生成認證響應報文。
所述報文接收模塊218,還用于接收請求端返回的攜帶有認證結果的認證響應報文。
以上各模塊可以是由軟件代碼實現,此時,上述的各模塊可存儲于請求端或被請求端的存儲器內。以上各模塊同樣可以由硬件例如集成電路芯片實現。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本發(fā)明實施例所提供的arp認證裝置,其實現原理及產生的技術效果和圖4所示的方法實施例相同,為簡要描述,裝置實施例部分未提及之處,可參考前述方法實施例中相應內容。
最后,本發(fā)明實施例還提供一種arp認證系統(tǒng),該系統(tǒng)包括上述的請求端100和被請求端。其中,請求端100可以用于執(zhí)行上述arp認證裝置110,被請求端可以用于執(zhí)行上述arp認證裝置210,具體的執(zhí)行方法可參照上述方法實施例或裝置實施例中的具體描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據本發(fā)明的多個實施例的裝置、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現,或者可以用專用硬件與計算機指令的組合來實現。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
所述功能如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器、隨機存取存儲器、磁碟或者光盤等各種可以存儲程序代碼的介質。需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。