對局域網(wǎng)中的arp中間人攻擊進(jìn)行防范的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例提供了一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法和系統(tǒng)。該方法主要包括:局域網(wǎng)內(nèi)的第一節(jié)點接收到第二節(jié)點發(fā)送的用第二節(jié)點的私鑰簽名后的ARP數(shù)據(jù)包,當(dāng)?shù)谝还?jié)點在本地沒有查詢到第二節(jié)點的IP地址對應(yīng)的公鑰時,向所述局域網(wǎng)中的可信任節(jié)點發(fā)送攜帶第二節(jié)點的IP地址的查詢請求??尚湃喂?jié)點向第一節(jié)點發(fā)送第二節(jié)點的公鑰,第一節(jié)點用第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包。本發(fā)明實施例可以有效地防止局域網(wǎng)中的ARP中間人攻擊,保證局域網(wǎng)中的各個節(jié)點之間的通信安全。
【專利說明】對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及局域網(wǎng)安全領(lǐng)域,具體是涉及到一種對局域網(wǎng)中的ARP (AddressResolut1n Protocol,地址解析協(xié)議)中間人攻擊進(jìn)行防范的方法和系統(tǒng)。
【背景技術(shù)】
[0002]電信級IP技術(shù)的發(fā)展成熟使得話音、數(shù)據(jù)、視頻和移動等應(yīng)用的融合成為必然,統(tǒng)一通訊已成為發(fā)展的趨勢。以IP技術(shù)為核心進(jìn)行網(wǎng)絡(luò)改造并承載多種新型業(yè)務(wù)以提升競爭力,是固網(wǎng)運(yùn)營商的發(fā)展方向。而以太網(wǎng)技術(shù)由于標(biāo)準(zhǔn)化程度高、應(yīng)用廣泛、帶寬提供能力強(qiáng)、擴(kuò)展性良好、技術(shù)成熟,設(shè)備性價比高,對IP的良好支持,成為城域網(wǎng)和接入網(wǎng)的發(fā)展趨勢。但是,由于以太網(wǎng)技術(shù)的開放性和其應(yīng)用廣泛,也帶來了一些安全上的問題。特別是當(dāng)網(wǎng)絡(luò)由原有的單業(yè)務(wù)承載轉(zhuǎn)為多業(yè)務(wù)承載時,安全問題帶來的影響愈發(fā)明顯,已經(jīng)逐步影響到業(yè)務(wù)的開展和部署。
[0003]ARP (Address Resolut1n Protocol,地址解析協(xié)議)是獲取物理地址的一個TCP(Transmiss1n Control Protocol,傳輸控制協(xié)議)/IP協(xié)議。按照ARP協(xié)議的設(shè)計,一個節(jié)點即使收到的ARP數(shù)據(jù)包并非自身請求得到的,也會將上述ARP數(shù)據(jù)包中攜帶的IP地址和MAC (Medium/MediaAccess Control,介質(zhì)訪問控制)地址的對應(yīng)關(guān)系添加到自身的ARP映射表中。這樣可以減少網(wǎng)絡(luò)上過多的ARP數(shù)據(jù)通信,但也為“ARP中間人”創(chuàng)造了條件。
[0004]網(wǎng)絡(luò)節(jié)點A和網(wǎng)絡(luò)節(jié)點C進(jìn)行通信。此時,如果有黑客(節(jié)點B)想探聽節(jié)點A和節(jié)點C之間的通信,節(jié)點B可以分別給節(jié)點A和節(jié)點C發(fā)送偽造的ARP數(shù)據(jù)包,使節(jié)點A和節(jié)點C用B的MAC地址更新自身ARP映射表中與對方IP地址相應(yīng)的表項。之后,節(jié)點A和節(jié)點C之間的通信,卻都是通過黑客所在的節(jié)點B間接進(jìn)行的,即節(jié)點B擔(dān)當(dāng)了“中間人”的角色,可以對信息進(jìn)行了竊取和篡改。這種攻擊方式就稱作“ARP中間人(Man-1n-The-Middle)攻擊”。顯而易見,該種攻擊對于網(wǎng)絡(luò)具有極大的危害性。
[0005]目前,現(xiàn)有技術(shù)中還沒有一種有效地解決上述ARP中間人攻擊的方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實施例提供了一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法和系統(tǒng),以有效地解決上述局域網(wǎng)中的ARP中間人攻擊。
[0007]一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法,包括:
[0008]局域網(wǎng)內(nèi)的第一節(jié)點接收到第二節(jié)點發(fā)送的地址解析協(xié)議ARP數(shù)據(jù)包,所述ARP數(shù)據(jù)包用所述第二節(jié)點的私鑰進(jìn)行簽名,所述第一節(jié)點獲取所述ARP數(shù)據(jù)包中攜帶的所述第二節(jié)點的IP地址;
[0009]當(dāng)所述第一節(jié)點在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,所述第一節(jié)點向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求;
[0010]所述可信任節(jié)點向所述第一節(jié)點發(fā)送所述第二節(jié)點的公鑰,所述第一節(jié)點用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包。
[0011]所述的局域網(wǎng)內(nèi)第一節(jié)點接收到第二節(jié)點發(fā)送的ARP數(shù)據(jù)包之前還包括:
[0012]在所述局域網(wǎng)中設(shè)置可信任節(jié)點,所述可信任節(jié)點向所述局域網(wǎng)內(nèi)的所有節(jié)點發(fā)送該可信任節(jié)點的公鑰和介質(zhì)訪問控制MAC地址;
[0013]所述各個節(jié)點接收到所述可信任節(jié)點的公鑰和MAC地址后,將所述可信任節(jié)點的公鑰進(jìn)行存儲,利用可信任節(jié)點的公鑰生成各個節(jié)點自身的公鑰和私鑰,再將其IP地址和公鑰用可信任節(jié)點的公鑰簽名之后發(fā)送到所述可信任節(jié)點;
[0014]所述可信任節(jié)點接收到所述各個節(jié)點發(fā)送的IP地址和公鑰信息后,將各個節(jié)點的IP地址和公鑰信息在節(jié)點信息數(shù)據(jù)庫中進(jìn)行關(guān)聯(lián)存儲。
[0015]所述的當(dāng)所述第一節(jié)點在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,所述第一節(jié)點向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求,包括:
[0016]所述第一節(jié)點根據(jù)所述第二節(jié)點的IP地址查詢本地ARP緩存表,當(dāng)所述第一節(jié)點從所述本地ARP緩存表中沒有查詢到所述第二節(jié)點的公鑰時;或者,查詢到的所述第二節(jié)點的公鑰過期或者錯誤,而不能驗簽所述ARP數(shù)據(jù)包時,所述第一節(jié)點向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求。
[0017]所述的可信任節(jié)點向所述第一節(jié)點發(fā)送所述第二節(jié)點的公鑰,包括:
[0018]所述可信任節(jié)點接收到所述第一節(jié)點發(fā)送的所述查詢請求后,根據(jù)所述查詢請求中攜帶的所述第二節(jié)點的IP地址查詢所述節(jié)點信息數(shù)據(jù)庫中關(guān)聯(lián)存儲的各個節(jié)點的IP地址和公鑰信息,獲取所述第二節(jié)點的公鑰,將所述第二節(jié)點的公鑰用自身的私鑰加密后發(fā)送給所述第一節(jié)點。
[0019]所述的第一節(jié)點用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包,包括:
[0020]所述第一節(jié)點接收到所述可信任節(jié)點發(fā)送的加密后的所述第二節(jié)點的公鑰后,使用所述可信任節(jié)點的公鑰進(jìn)行解密處理,得到所述第二節(jié)點的公鑰;
[0021]所述第一節(jié)點用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包,若驗簽成功,則將所述第二節(jié)點的公鑰和IP地址之間的對應(yīng)關(guān)系存儲在本地ARP緩存表中,若驗簽不成功,則將所述ARP數(shù)據(jù)包和所述第二節(jié)點的公鑰拋棄。
[0022]一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng),包括:設(shè)置在局域網(wǎng)中的第一節(jié)點、第二節(jié)點和可信任節(jié)點,
[0023]所述的第二節(jié)點,用于向所述第一節(jié)點發(fā)送地址解析協(xié)議ARP數(shù)據(jù)包,所述ARP數(shù)據(jù)包用所述第二節(jié)點的私鑰進(jìn)行簽名
[0024]所述的第一節(jié)點,用于接收到所述第二節(jié)點發(fā)送的所述ARP數(shù)據(jù)包后,獲取所述ARP數(shù)據(jù)包中攜帶的所述第二節(jié)點的IP地址;當(dāng)在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,向所述可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求;
[0025]所述的可信任節(jié)點,用于接收到所述第一節(jié)點發(fā)送的所述查詢請求后,向所述第一節(jié)點發(fā)送所述第二節(jié)點的公鑰,
[0026]所述的第一節(jié)點,還用于用所述可信任主機(jī)發(fā)送過來的第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包。
[0027]所述的可信任節(jié)點,具體用于向所述局域網(wǎng)內(nèi)的各個節(jié)點發(fā)送該可信任節(jié)點的公鑰和介質(zhì)訪問控制MAC地址,以使得所述各個節(jié)點將所述可信任節(jié)點的公鑰進(jìn)行存儲,利用可信任節(jié)點的公鑰生成各個節(jié)點自身的公鑰和私鑰,接收到所述各個節(jié)點發(fā)送的IP地址和公鑰信息后,將各個節(jié)點的IP地址和公鑰信息在節(jié)點信息數(shù)據(jù)庫中進(jìn)行關(guān)聯(lián)存儲。
[0028]所述的第一節(jié)點,具體用于根據(jù)所述第二節(jié)點的IP地址查詢本地ARP緩存表,當(dāng)從所述本地ARP緩存表中沒有查詢到所述第二節(jié)點的公鑰時;或者,查詢到的所述第二節(jié)點的公鑰過期或者錯誤,而不能驗簽所述ARP數(shù)據(jù)包時,向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求。
[0029]所述的可信任節(jié)點,具體用于接收到所述第一節(jié)點發(fā)送的所述查詢請求后,根據(jù)所述查詢請求中攜帶的所述第二節(jié)點的IP地址查詢所述節(jié)點信息數(shù)據(jù)庫中關(guān)聯(lián)存儲的各個節(jié)點的IP地址和公鑰信息,獲取所述第二節(jié)點的公鑰,將所述第二節(jié)點的公鑰用自身的私鑰加密后發(fā)送給所述第一節(jié)點。
[0030]所述的第一節(jié)點,具體用于接收到所述可信任節(jié)點發(fā)送的加密后的所述第二節(jié)點的公鑰后,使用所述可信任節(jié)點的公鑰進(jìn)行解密處理,得到所述第二節(jié)點的公鑰;
[0031]用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包,若驗簽成功,則將所述第二節(jié)點的公鑰和IP地址之間的對應(yīng)關(guān)系存儲在本地ARP緩存表中,若驗簽不成功,則將所述ARP數(shù)據(jù)包和所述第二節(jié)點的公鑰拋棄。
[0032]由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,本發(fā)明實施例通過在局域網(wǎng)中設(shè)置可信任主機(jī),該可信任節(jié)點中存儲各個節(jié)點的公鑰和IP地址,節(jié)點發(fā)送的ARP數(shù)據(jù)包用節(jié)點的私鑰進(jìn)行簽名,可以有效地防止局域網(wǎng)中的ARP中間人攻擊,保證局域網(wǎng)中的各個節(jié)點之間的通信安全。
【專利附圖】
【附圖說明】
[0033]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0034]圖1為本發(fā)明實施例一提供的一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法的實現(xiàn)原理不意圖;
[0035]圖2為本發(fā)明實施例一提供的一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法的處理流程圖;
[0036]圖3為本發(fā)明實施例二提供的一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng)的具體實現(xiàn)結(jié)構(gòu)圖。
【具體實施方式】
[0037]為便于對本發(fā)明實施例的理解,下面將結(jié)合附圖以幾個具體實施例為例做進(jìn)一步的解釋說明,且各個實施例并不構(gòu)成對本發(fā)明實施例的限定。
[0038]實施例一
[0039]局域網(wǎng)中的ARP中間人攻擊在局域網(wǎng)中是一種不僅具有非常大的威脅而且是極其難于發(fā)覺的威脅,是局域網(wǎng)中的重大危害。在本發(fā)明實施例中,局域網(wǎng)內(nèi)的第一節(jié)點接收到第二節(jié)點發(fā)送的用第二節(jié)點的私鑰進(jìn)行簽名后的ARP數(shù)據(jù)包后,在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,從局域網(wǎng)中可信任節(jié)點獲取第二節(jié)點的公鑰,用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包。
[0040]該實施例提供了一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法的實現(xiàn)原理示意圖如圖1所示,具體處理流程如圖2所示,包括如下的處理步驟:
[0041]步驟21、在局域網(wǎng)中設(shè)置一臺可信任節(jié)點,該可信任節(jié)點中存儲各個節(jié)點的公鑰和IP地址。
[0042]首先,系統(tǒng)管理員和部署人員在局域網(wǎng)中設(shè)置一臺可信任節(jié)點,用于存儲各個節(jié)點的公鑰和IP地址。該可信任節(jié)點在網(wǎng)絡(luò)內(nèi)處于絕對重要的地位,該可信任節(jié)點向局域網(wǎng)內(nèi)的所有節(jié)點(包括新加入的節(jié)點)發(fā)送該可信任節(jié)點的公鑰和MAC地址,該發(fā)送方式必須保證絕對安全,可以由網(wǎng)絡(luò)管理員通過專用網(wǎng)絡(luò)來傳送。上述局域網(wǎng)中的節(jié)點可以為主機(jī)。
[0043]局域網(wǎng)內(nèi)的各個節(jié)點接收到上述可信任節(jié)點的公鑰和MAC地址后,將上述可信任節(jié)點的公鑰進(jìn)行存儲。利用可信任節(jié)點的公鑰采用非對稱加密算法SM2生成各個節(jié)點自身的公鑰和私鑰,再將其IP地址和公鑰用可信任節(jié)點的公鑰簽名之后通過專用網(wǎng)絡(luò)傳送到可信任節(jié)點??尚湃喂?jié)點接收到各個節(jié)點發(fā)送的IP地址和公鑰信息后,將各個節(jié)點的IP地址和公鑰信息在節(jié)點信息數(shù)據(jù)庫中進(jìn)行關(guān)聯(lián)存儲。
[0044]步驟22、節(jié)點A接收到節(jié)點B發(fā)送的ARP數(shù)據(jù)包,節(jié)點A在本地沒有查詢到節(jié)點B的IP地址對應(yīng)的公鑰時,向可信任節(jié)點發(fā)送攜帶節(jié)點B的IP地址的查詢請求。
[0045]上述局域網(wǎng)中的各個節(jié)點包括新加入的合法節(jié)點A(即第一節(jié)點)和合法節(jié)點B(即第二節(jié)點),當(dāng)?shù)谝还?jié)點和第二節(jié)點需要進(jìn)行通信時,第一節(jié)點和第二節(jié)點之間互相交互自己的IP地址。
[0046]節(jié)點B構(gòu)造ARP數(shù)據(jù)包,將該ARP數(shù)據(jù)包中的除了源IP地址(節(jié)點B的IP地址)、MAC地址、目的IP地址(節(jié)點A的IP地址)之外的其它部分用哈希提取摘要,再用節(jié)點B的私鑰進(jìn)行簽名,然后,節(jié)點B將簽名后的上述ARP數(shù)據(jù)包發(fā)送給節(jié)點A。節(jié)點A接收到節(jié)點B發(fā)送的上述ARP數(shù)據(jù)包后,獲取所述ARP數(shù)據(jù)包中攜帶的所述節(jié)點B的IP地址(源IP地址)。
[0047]上述節(jié)點A在本地查詢所述節(jié)點B的IP地址對應(yīng)的公鑰,比如,所述節(jié)點A根據(jù)所述節(jié)點B的IP地址查詢本地ARP緩存表,當(dāng)所述節(jié)點A從所述本地ARP緩存表中沒有查詢到所述節(jié)點B的公鑰時;或者,查詢到的所述節(jié)點B的公鑰過期或者錯誤,而不能驗簽上述ARP數(shù)據(jù)包時,所述節(jié)點A向所述局域網(wǎng)中上述可信任節(jié)點發(fā)送攜帶所述節(jié)點B的IP地址的查詢請求。
[0048]步驟23。可信任節(jié)點將所述節(jié)點B的公鑰用自身的私鑰加密后發(fā)送給節(jié)點A。
[0049]上述可信任節(jié)點接收到上述節(jié)點A發(fā)送的所述節(jié)點B的IP地址的查詢請求后,根據(jù)所述查詢請求中攜帶的所述節(jié)點B的IP地址查詢所述節(jié)點信息數(shù)據(jù)庫中關(guān)聯(lián)存儲的各個節(jié)點的IP地址和公鑰信息,獲取所述節(jié)點B的公鑰。
[0050]上述可信任節(jié)點將所述節(jié)點B的公鑰和對應(yīng)的時間戳用自身的私鑰加密后發(fā)送給所述節(jié)點A。
[0051]步驟24、節(jié)點A用節(jié)點B的公鑰驗簽上述ARP數(shù)據(jù)包,在驗簽成功后將節(jié)點B的公鑰和IP地址之間的對應(yīng)關(guān)系存儲在本地ARP緩存表中。
[0052]節(jié)點A接收到所述可信任節(jié)點發(fā)送過來的加密后的所述節(jié)點B的公鑰后,用預(yù)先存儲的所述可信任節(jié)點的公鑰進(jìn)行解密處理,得到所述節(jié)點B的公鑰。
[0053]上述節(jié)點A用所述節(jié)點B的公鑰驗簽所述ARP數(shù)據(jù)包,若驗簽成功,則將所述節(jié)點B的公鑰存儲在本地ARP緩存表中,若驗簽不成功,則將所述ARP數(shù)據(jù)包和所述節(jié)點B的公鑰拋棄。同時節(jié)點A會將這一情況報告給可信任節(jié)點和網(wǎng)絡(luò)管理員,網(wǎng)絡(luò)管理員會根據(jù)情況進(jìn)行相應(yīng)的排查動作。
[0054]在本發(fā)明實施例中,即使中間人節(jié)點B想截獲或者篡改節(jié)點A和C之間的ARP數(shù)據(jù)包也是無法做到的。因為即使攻擊者B知道了 A和C的MAC地址,因為它不知A和C的私鑰,所以無法對發(fā)送給A和C的ARP數(shù)據(jù)包進(jìn)行簽名,從而無法對原信息進(jìn)行惡意篡改,也即無法進(jìn)行ARP欺騙。所以當(dāng)節(jié)點A和C對于偽造的ARP應(yīng)答包進(jìn)行驗簽的時候,破綻立顯,不會按照黑客節(jié)點B的意思來更新ARP緩存表。同時收到偽造ARP數(shù)據(jù)包的節(jié)點會將這一情況報告可信任主機(jī)和管理員,從而打掉和排查掉黑客中間人網(wǎng)絡(luò)節(jié)點。這樣就達(dá)到了在局域網(wǎng)中比較好的防范ARP中間人攻擊的目的了。
[0055]實施例二
[0056]該實施例提供了一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng),其具體實現(xiàn)結(jié)構(gòu)如圖3所示,具體包括設(shè)置在局域網(wǎng)中的第一節(jié)點31、第二節(jié)點32和可信任節(jié)點33。
[0057]所述的第二節(jié)點32,用于向所述第一節(jié)點發(fā)送地址解析協(xié)議ARP數(shù)據(jù)包,所述ARP數(shù)據(jù)包用所述第二節(jié)點的私鑰進(jìn)行簽名
[0058]所述的第一節(jié)點31,用于接收到所述第二節(jié)點發(fā)送的所述ARP數(shù)據(jù)包后,獲取所述ARP數(shù)據(jù)包中攜帶的所述第二節(jié)點的IP地址;當(dāng)在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,向所述可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求;
[0059]所述的可信任節(jié)點33,用于接收到所述第一節(jié)點發(fā)送的所述查詢請求后,向所述第一節(jié)點發(fā)送所述第二節(jié)點的公鑰,
[0060]所述的第一節(jié)點31,還用于用所述可信任主機(jī)發(fā)送過來的第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包。
[0061]具體的,所述的可信任節(jié)點33,具體用于向所述局域網(wǎng)內(nèi)的各個節(jié)點發(fā)送該可信任節(jié)點的公鑰和介質(zhì)訪問控制MAC地址,以使得所述各個節(jié)點將所述可信任節(jié)點的公鑰進(jìn)行存儲,利用可信任節(jié)點的公鑰生成各個節(jié)點自身的公鑰和私鑰,接收到所述各個節(jié)點發(fā)送的IP地址和公鑰信息后,將各個節(jié)點的IP地址和公鑰信息在節(jié)點信息數(shù)據(jù)庫中進(jìn)行關(guān)聯(lián)存儲。
[0062]具體的,所述的第一節(jié)點31,具體用于根據(jù)所述第二節(jié)點的IP地址查詢本地ARP緩存表,當(dāng)從所述本地ARP緩存表中沒有查詢到所述第二節(jié)點的公鑰時;或者,查詢到的所述第二節(jié)點的公鑰過期或者錯誤,而不能驗簽所述ARP數(shù)據(jù)包時,向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求。
[0063]具體的,所述的可信任節(jié)點33,具體用于接收到所述第一節(jié)點發(fā)送的所述查詢請求后,根據(jù)所述查詢請求中攜帶的所述第二節(jié)點的IP地址查詢所述節(jié)點信息數(shù)據(jù)庫中關(guān)聯(lián)存儲的各個節(jié)點的IP地址和公鑰信息,獲取所述第二節(jié)點的公鑰,將所述第二節(jié)點的公鑰用自身的私鑰加密后發(fā)送給所述第一節(jié)點。
[0064]具體的,所述的第一節(jié)點31,具體用于接收到所述可信任節(jié)點發(fā)送的加密后的所述第二節(jié)點的公鑰后,使用所述可信任節(jié)點的公鑰進(jìn)行解密處理,得到所述第二節(jié)點的公鑰;
[0065]用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包,若驗簽成功,則將所述第二節(jié)點的公鑰和IP地址之間的對應(yīng)關(guān)系存儲在本地ARP緩存表中,若驗簽不成功,則將所述ARP數(shù)據(jù)包和所述第二節(jié)點的公鑰拋棄。
[0066]用本發(fā)明實施例的系統(tǒng)進(jìn)行對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的具體過程與前述方法實施例類似,此處不再贅述。
[0067]本領(lǐng)域普通技術(shù)人員可以理解:附圖只是一個實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。
[0068]本領(lǐng)域普通技術(shù)人員可以理解:實施例中的設(shè)備中的模塊可以按照實施例描述分布于實施例的設(shè)備中,也可以進(jìn)行相應(yīng)變化位于不同于本實施例的一個或多個設(shè)備中。上述實施例的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。
[0069]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random AccessMemory, RAM)等。
[0070]綜上所述,本發(fā)明實施例通過在局域網(wǎng)中設(shè)置可信任主機(jī),該可信任節(jié)點中存儲各個節(jié)點的公鑰和IP地址,節(jié)點發(fā)送的ARP數(shù)據(jù)包用節(jié)點的私鑰進(jìn)行簽名,可以有效地防止局域網(wǎng)中的ARP中間人攻擊,保證局域網(wǎng)中的各個節(jié)點之間的通信安全。
[0071 ] 本發(fā)明實施例的方法的實際部署比較容易和易于擴(kuò)充,對于大的企業(yè)級的網(wǎng)絡(luò)環(huán)境還是比較小級別的網(wǎng)絡(luò),都可以使用。另外本發(fā)明實施例的方法采用了國密SM2算法,SM2是由國家密碼管理局編制的一種基于ECC (Elliptic Curves Cryptography,橢圓曲線密碼編碼學(xué))算法的非對稱算法,SM2算法規(guī)定了簽名、驗證、密鑰交換等具體細(xì)節(jié),效率比之前的算法更高,破解難度更大、更安全。
[0072]本發(fā)明實施例在ARP協(xié)議使用的過程中,增加了國產(chǎn)SM2算法的加驗簽和簽名保護(hù)之后,可以比較好的防范ARP中間人攻擊。
[0073]以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法,其特征在于,包括: 局域網(wǎng)內(nèi)的第一節(jié)點接收到第二節(jié)點發(fā)送的地址解析協(xié)議ARP數(shù)據(jù)包,所述ARP數(shù)據(jù)包用所述第二節(jié)點的私鑰進(jìn)行簽名,所述第一節(jié)點獲取所述ARP數(shù)據(jù)包中攜帶的所述第二節(jié)點的IP地址; 當(dāng)所述第一節(jié)點在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,所述第一節(jié)點向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求; 所述可信任節(jié)點向所述第一節(jié)點發(fā)送所述第二節(jié)點的公鑰,所述第一節(jié)點用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包。
2.根據(jù)權(quán)利要求1所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法,其特征在于,所述的局域網(wǎng)內(nèi)第一節(jié)點接收到第二節(jié)點發(fā)送的ARP數(shù)據(jù)包之前還包括: 在所述局域網(wǎng)中設(shè)置可信任節(jié)點,所述可信任節(jié)點向所述局域網(wǎng)內(nèi)的所有節(jié)點發(fā)送該可信任節(jié)點的公鑰和介質(zhì)訪問控制MAC地址; 所述各個節(jié)點接收到所述可信任節(jié)點的公鑰和MAC地址后,將所述可信任節(jié)點的公鑰進(jìn)行存儲,利用可信任節(jié)點的公鑰生成各個節(jié)點自身的公鑰和私鑰,再將其IP地址和公鑰用可信任節(jié)點的公鑰簽名之后發(fā)送到所述可信任節(jié)點; 所述可信任節(jié)點接收到所述各個節(jié)點發(fā)送的IP地址和公鑰信息后,將各個節(jié)點的IP地址和公鑰信息在節(jié)點信息數(shù)據(jù)庫中進(jìn)行關(guān)聯(lián)存儲。
3.根據(jù)權(quán)利要求2所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法,其特征在于,所述的當(dāng)所述第一節(jié)點在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,所述第一節(jié)點向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求,包括: 所述第一節(jié)點根據(jù)所述第二節(jié)點的IP地址查詢本地ARP緩存表,當(dāng)所述第一節(jié)點從所述本地ARP緩存表中沒有查詢到所述第二節(jié)點的公鑰時;或者,查詢到的所述第二節(jié)點的公鑰過期或者錯誤,而不能驗簽所述ARP數(shù)據(jù)包時,所述第一節(jié)點向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求。
4.根據(jù)權(quán)利要求2所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法,其特征在于,所述的可信任節(jié)點向所述第一節(jié)點發(fā)送所述第二節(jié)點的公鑰,包括: 所述可信任節(jié)點接收到所述第一節(jié)點發(fā)送的所述查詢請求后,根據(jù)所述查詢請求中攜帶的所述第二節(jié)點的IP地址查詢所述節(jié)點信息數(shù)據(jù)庫中關(guān)聯(lián)存儲的各個節(jié)點的IP地址和公鑰信息,獲取所述第二節(jié)點的公鑰,將所述第二節(jié)點的公鑰用自身的私鑰加密后發(fā)送給所述第一節(jié)點。
5.根據(jù)權(quán)利要求1至4任一項所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的方法,其特征在于,所述的第一節(jié)點用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包,包括: 所述第一節(jié)點接收到所述可信任節(jié)點發(fā)送的加密后的所述第二節(jié)點的公鑰后,使用所述可信任節(jié)點的公鑰進(jìn)行解密處理,得到所述第二節(jié)點的公鑰; 所述第一節(jié)點用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包,若驗簽成功,則將所述第二節(jié)點的公鑰和IP地址之間的對應(yīng)關(guān)系存儲在本地ARP緩存表中,若驗簽不成功,則將所述ARP數(shù)據(jù)包和所述第二節(jié)點的公鑰拋棄。
6.一種對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng),其特征在于,包括:設(shè)置在局域網(wǎng)中的第一節(jié)點、第二節(jié)點和可信任節(jié)點, 所述的第二節(jié)點,用于向所述第一節(jié)點發(fā)送地址解析協(xié)議ARP數(shù)據(jù)包,所述ARP數(shù)據(jù)包用所述第二節(jié)點的私鑰進(jìn)行簽名 所述的第一節(jié)點,用于接收到所述第二節(jié)點發(fā)送的所述ARP數(shù)據(jù)包后,獲取所述ARP數(shù)據(jù)包中攜帶的所述第二節(jié)點的IP地址;當(dāng)在本地沒有查詢到所述第二節(jié)點的IP地址對應(yīng)的公鑰時,向所述可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求; 所述的可信任節(jié)點,用于接收到所述第一節(jié)點發(fā)送的所述查詢請求后,向所述第一節(jié)點發(fā)送所述第二節(jié)點的公鑰, 所述的第一節(jié)點,還用于用所述可信任主機(jī)發(fā)送過來的第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包。
7.根據(jù)權(quán)利要求6所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng),其特征在于: 所述的可信任節(jié)點,具體用于向所述局域網(wǎng)內(nèi)的各個節(jié)點發(fā)送該可信任節(jié)點的公鑰和介質(zhì)訪問控制MAC地址,以使得所述各個節(jié)點將所述可信任節(jié)點的公鑰進(jìn)行存儲,利用可信任節(jié)點的公鑰生成各個節(jié)點自身的公鑰和私鑰,接收到所述各個節(jié)點發(fā)送的IP地址和公鑰信息后,將各個節(jié)點的IP地址和公鑰信息在節(jié)點信息數(shù)據(jù)庫中進(jìn)行關(guān)聯(lián)存儲。
8.根據(jù)權(quán)利要求7所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng),其特征在于: 所述的第一節(jié)點,具體用于根據(jù)所述第二節(jié)點的IP地址查詢本地ARP緩存表,當(dāng)從所述本地ARP緩存表中沒有查詢到所述第二節(jié)點的公鑰時;或者,查詢到的所述第二節(jié)點的公鑰過期或者錯誤,而不能驗簽所述ARP數(shù)據(jù)包時,向所述局域網(wǎng)中預(yù)先設(shè)置的可信任節(jié)點發(fā)送攜帶所述第二節(jié)點的IP地址的查詢請求。
9.根據(jù)權(quán)利要求7所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng),其特征在于: 所述的可信任節(jié)點,具體用于接收到所述第一節(jié)點發(fā)送的所述查詢請求后,根據(jù)所述查詢請求中攜帶的所述第二節(jié)點的IP地址查詢所述節(jié)點信息數(shù)據(jù)庫中關(guān)聯(lián)存儲的各個節(jié)點的IP地址和公鑰信息,獲取所述第二節(jié)點的公鑰,將所述第二節(jié)點的公鑰用自身的私鑰加密后發(fā)送給所述第一節(jié)點。
10.根據(jù)權(quán)利要求6至9任一項所述的對局域網(wǎng)中的ARP中間人攻擊進(jìn)行防范的系統(tǒng),其特征在于: 所述的第一節(jié)點,具體用于接收到所述可信任節(jié)點發(fā)送的加密后的所述第二節(jié)點的公鑰后,使用所述可信任節(jié)點的公鑰進(jìn)行解密處理,得到所述第二節(jié)點的公鑰; 用所述第二節(jié)點的公鑰驗簽所述ARP數(shù)據(jù)包,若驗簽成功,則將所述第二節(jié)點的公鑰和IP地址之間的對應(yīng)關(guān)系存儲在本地ARP緩存表中,若驗簽不成功,則將所述ARP數(shù)據(jù)包和所述第二節(jié)點的公鑰拋棄。
【文檔編號】H04L12/28GK104243413SQ201310237069
【公開日】2014年12月24日 申請日期:2013年6月14日 優(yōu)先權(quán)日:2013年6月14日
【發(fā)明者】梁劍, 羅世新, 何麗, 尹剛 申請人:航天信息股份有限公司