專利名稱:基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信安全技術(shù)領(lǐng)域,具體而言,涉及一種基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法和裝置。
背景技術(shù):
路由協(xié)議的安全是一項(xiàng)關(guān)鍵的技術(shù),在IETF中有很多工作組對(duì)其進(jìn)行研究和標(biāo)準(zhǔn)化,其中KARP工作組主要研究路由技術(shù)中的認(rèn)證技術(shù)以及在認(rèn)證中所需要的密鑰管理。在KARP 工作組中,提出一個(gè) KMP 的概念,這里,KMP(KeyManagement Protocol,密鑰管理協(xié)議)運(yùn)行在兩個(gè)執(zhí)行路由協(xié)議的通信實(shí)體之間,為這兩個(gè)通信實(shí)體提供認(rèn)證,產(chǎn)生會(huì)話密鑰和更新會(huì)話密鑰。KMP之所以重要是因?yàn)槿斯さ拿荑€管理方案更加依賴于管理員的工作,一旦網(wǎng)絡(luò)規(guī)模變大,管理員將對(duì)復(fù)雜的密鑰管理束手無策。但是,在自動(dòng)的密鑰管理協(xié)議中有一種攻擊不可不防,這就是Dos攻擊,在這種攻擊下,黑客可以不斷的給一臺(tái)路由器發(fā)送請(qǐng)求會(huì)話的消息,并且在此過程中不斷的去嘗試密鑰來產(chǎn)生身份認(rèn)證報(bào)文,但是這臺(tái)路由器每一次都要去驗(yàn)證這個(gè)身份認(rèn)證報(bào)文。由于身份認(rèn)證報(bào)文是基于密碼學(xué)運(yùn)算的某種算法(例如,對(duì)稱密鑰中的MAC或者非對(duì)稱密鑰中的簽名),而這些運(yùn)算都是需要耗費(fèi)大量計(jì)算資源的過程,因此在上述的攻擊過程中這臺(tái)路由器的工作效率明顯降低,從而對(duì)性能產(chǎn)生重要的影響,最終疲于應(yīng)付這個(gè)黑客而拒絕對(duì)其他合法的路由器進(jìn)行對(duì)話。由上可知,在現(xiàn)有的基于KMP的認(rèn)證過程中,如果接收到請(qǐng)求會(huì)話報(bào)文,則路由器將直接對(duì)該請(qǐng)求會(huì)話報(bào)文進(jìn)行認(rèn)證。這樣的認(rèn)證機(jī)制很可能受到上述的黑客攻擊,而導(dǎo)致工作效率明顯降低。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法和裝置,以至少解決現(xiàn)有技術(shù)中認(rèn)證機(jī)制由于受到攻擊而導(dǎo)致的工作效率明顯降低問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法,其包括判斷接收到的報(bào)文是否異常;若異常,則向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息;對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息進(jìn)行判斷;若上述答復(fù)信息正確,則對(duì)接收到的上述報(bào)文進(jìn)行認(rèn)證。進(jìn)一步地,上述判斷接收到的報(bào)文是否異常的步驟包括判斷在時(shí)間段內(nèi)接收到的報(bào)文是否同時(shí)滿足以下條件,若同時(shí)滿足,則上述報(bào)文異常在上述時(shí)間段內(nèi)接收到的上述報(bào)文的數(shù)量超過第一閾值;在上述時(shí)間段內(nèi)接收到的上述報(bào)文的間隔小于第二閾值。進(jìn)一步地,對(duì)上述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度與自然數(shù)η相關(guān),其中,上述η越大,上述運(yùn)算復(fù)雜度越大,向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息包括將η加上預(yù)定的步長;根據(jù)更新后的η生成上述問題信息,并發(fā)送給上述實(shí)體。進(jìn)一步地,在向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息之前,還包括判斷上述η是否小于第三閾值;若η小于上述第三閾值,則執(zhí)行將η加上預(yù)定的步長的步驟;若η大于等于上述第三閾值,則停止接收來自上述實(shí)體的報(bào)文。進(jìn)一步地,上述問題信息包括m比特的數(shù)據(jù)Y,哈希函數(shù);上述答復(fù)信息包括上述實(shí)體返回的數(shù)據(jù)X。進(jìn)一步地,對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息進(jìn)行判斷的步驟包括對(duì)X進(jìn)行上述哈希函數(shù)運(yùn)算得到函數(shù)值;若得到的上述函數(shù)值的前η個(gè)比特為上述數(shù)據(jù)Y,則上述答復(fù)信息正確。進(jìn)一步地,上述問題信息包括圖G的信息;上述答復(fù)信息包括上述實(shí)體返回的上述圖G的三著色向量,其中,圖G = <V,E>,|V| = n,n為自然數(shù),V用于表示節(jié)點(diǎn),E用于表示上述節(jié)點(diǎn)之間的連線。進(jìn)一步地,對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息進(jìn)行判斷的步驟包括若上述三著色向量將上述圖G正確三著色,則上述答復(fù)信息正確。根據(jù)本發(fā)明的另一方面,提供了一種基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的裝置,其包括第一判斷模塊,用于判斷接收到的報(bào)文是否異常;發(fā)送模塊,用于在判斷出異常時(shí),向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息;接收模塊,用于接收來自上述實(shí)體的上述問題信息的答復(fù)信息;第二判斷模塊,用于判斷上述答復(fù)信息是否正確 ’認(rèn)證模塊,用于在上述答復(fù)信息正確時(shí),對(duì)接收到的上述報(bào)文進(jìn)行認(rèn)證。進(jìn)一步地,上述裝置還包括處理模塊,用于在判斷出上述接收到的報(bào)文異常時(shí), 將自然數(shù)η加上預(yù)定的步長,并根據(jù)更新后的η生成上述問題信息,其中,對(duì)上述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度與上述η相關(guān),上述η越大,上述運(yùn)算復(fù)雜度越大。進(jìn)一步地,上述裝置還包括第三判斷模塊,用于在上述發(fā)送模塊向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息之前,判斷上述η是否小于第三閾值;通知模塊,用于在η小于上述第三閾值時(shí),通知上述處理模塊執(zhí)行將η加上預(yù)定的步長的步驟;在η大于等于上述第三閾值時(shí),通知上述接收模塊停止接收來自上述實(shí)體的報(bào)文。進(jìn)一步地,上述問題信息包括η比特的數(shù)據(jù)Y,哈希函數(shù);上述答復(fù)信息包括上述實(shí)體返回的數(shù)據(jù)X。進(jìn)一步地,上述第二判斷模塊用于在對(duì)X進(jìn)行上述哈希函數(shù)運(yùn)算得到的函數(shù)值的前η個(gè)比特為上述數(shù)據(jù)Y時(shí)判斷上述答復(fù)信息正確。進(jìn)一步地,上述問題信息包括圖G的信息;上述答復(fù)信息包括上述實(shí)體返回上述圖G的三著色向量;其中,圖G = <V,E>,I V| = n,n為自然數(shù),V用于表示節(jié)點(diǎn),E用于表示上述節(jié)點(diǎn)之間的連線。進(jìn)一步地,上述第二判斷模塊用于在上述三著色向量將上述圖G正確三著色時(shí)判斷上述答復(fù)信息正確。本發(fā)明在接收到報(bào)文之后,沒有直接對(duì)該報(bào)文進(jìn)行認(rèn)證,而是向發(fā)送報(bào)文的實(shí)體發(fā)送攜帶有問題的信息,并只有上述實(shí)體返回正確答復(fù)的情況下,才對(duì)上述報(bào)文進(jìn)行認(rèn)證。 這樣,如果上述實(shí)體是攻擊設(shè)備,則需要消耗大量的資源來反復(fù)答復(fù)上述問題,從而無法實(shí)現(xiàn)攻擊的目的。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)本發(fā)明實(shí)施例的基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的用于防止Dos攻擊的報(bào)文選項(xiàng)格式的示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的用于防Dos攻擊的報(bào)文選項(xiàng)在密鑰管理協(xié)議通用報(bào)文頭中的位置的示意圖;圖4是根據(jù)本發(fā)明實(shí)施例的認(rèn)證過程中的接收方(即發(fā)送原始攻擊報(bào)文的實(shí)體) 的處理步驟的示意圖;圖5是根據(jù)本發(fā)明實(shí)施例的認(rèn)證過程中的發(fā)送方(即接收原始攻擊報(bào)文的實(shí)體) 的處理步驟的示意圖;圖6是根據(jù)本發(fā)明實(shí)施例的所采用的系統(tǒng)的示意圖;圖7是根據(jù)本發(fā)明實(shí)施例的基于對(duì)稱密鑰認(rèn)證和哈希函數(shù)問題的防止拒絕服務(wù)攻擊的方法的流程圖;圖8是根據(jù)本發(fā)明實(shí)施例的基于對(duì)稱密鑰認(rèn)證和圖三著色問題的防止拒絕服務(wù)攻擊的方法的流程圖;圖9是根據(jù)本發(fā)明實(shí)施例的基于非對(duì)稱密鑰認(rèn)證和哈希函數(shù)問題的防止拒絕服務(wù)攻擊的方法的流程圖;圖10是根據(jù)本發(fā)明實(shí)施例的基于非對(duì)稱密鑰認(rèn)證和圖三著色問題的防止拒絕服務(wù)攻擊的方法的流程圖;圖11是根據(jù)本發(fā)明實(shí)施例的基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。圖1是根據(jù)本發(fā)明實(shí)施例的基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法的流程圖,其包括如下步驟S102,判斷接收到的報(bào)文是否異常;S104,若異常,則向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息;S106,對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息進(jìn)行判斷;S108,若上述答復(fù)信息正確,則對(duì)接收到的上述報(bào)文進(jìn)行認(rèn)證。在現(xiàn)有的基于KMP的認(rèn)證過程中,如果接收到請(qǐng)求會(huì)話報(bào)文,則路由器將直接對(duì)該請(qǐng)求會(huì)話報(bào)文進(jìn)行認(rèn)證。這樣的認(rèn)證機(jī)制很可能受到上述的黑客攻擊,而導(dǎo)致工作效率明顯降低。反觀本發(fā)明,在接收到報(bào)文之后,沒有直接對(duì)該報(bào)文進(jìn)行認(rèn)證,而是向發(fā)送報(bào)文的實(shí)體發(fā)送攜帶有問題的信息,并只有上述實(shí)體返回正確答復(fù)的情況下,才對(duì)上述報(bào)文進(jìn)行認(rèn)證。這樣,如果上述實(shí)體是攻擊設(shè)備,則需要消耗大量的資源來反復(fù)答復(fù)上述問題,從而無法實(shí)現(xiàn)攻擊的目的。優(yōu)選的,上述判斷接收到的報(bào)文是否異常包括判斷在時(shí)間段內(nèi)接收到的報(bào)文是否同時(shí)滿足以下條件,若同時(shí)滿足,則上述報(bào)文異常在上述時(shí)間段內(nèi)接收到的上述報(bào)文的數(shù)量超過第一閾值;在上述時(shí)間段內(nèi)接收到的上述報(bào)文的間隔小于第二閾值。通過上述的判斷方法,可以準(zhǔn)確地判斷出接收到的報(bào)文是否異常,從而提高了本發(fā)明實(shí)施例的認(rèn)證方法的準(zhǔn)確性。優(yōu)選的,對(duì)上述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度與自然數(shù)η相關(guān),其中,上述 η越大,上述運(yùn)算復(fù)雜度越大,向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息包括將η加上預(yù)定的步長;根據(jù)更新后的η生成上述問題信息,并發(fā)送給上述實(shí)體。優(yōu)選的, 上述預(yù)定的步長為1,即,η = η+1。通過上述的方法,逐步增加了發(fā)起攻擊的實(shí)體對(duì)上述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度,而這種運(yùn)算復(fù)雜度的提高,更有效地防止了發(fā)起攻擊的實(shí)體繼續(xù)發(fā)送攻擊報(bào)文, 逐級(jí)提升了安全強(qiáng)度。作為另一種可選的方案,上述問題信息的運(yùn)算復(fù)雜度與自然數(shù)η相關(guān),其中,上述 η越大,上述問題信息的運(yùn)算復(fù)雜度越大。在這種情況下,若上述答復(fù)信息不正確,上述認(rèn)證方法還包括將η加上預(yù)定的步長;接收上述實(shí)體發(fā)送的當(dāng)前報(bào)文;判斷上述當(dāng)前報(bào)文是否異常;若異常,則根據(jù)更新后的η生成當(dāng)前問題信息,并將上述當(dāng)前問題信息發(fā)送給上述實(shí)體;對(duì)接收到的來自上述實(shí)體的上述當(dāng)前問題信息的答復(fù)信息進(jìn)行判斷;若上述當(dāng)前問題信息的答復(fù)信息正確,則對(duì)接收到的上述當(dāng)前報(bào)文進(jìn)行認(rèn)證。優(yōu)選的,在向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息之前,上述方法還包括判斷上述η是否小于第三閾值;若η小于上述第三閾值,則執(zhí)行將η加上預(yù)定的步長的步驟;若η大于等于上述第三閾值,則停止接收來自上述實(shí)體的報(bào)文。通過上述的方法,可以避免無窮盡地與發(fā)送攻擊的實(shí)體進(jìn)行交互,互相消耗系統(tǒng)資源,從而進(jìn)一步保證了系統(tǒng)的安全性。優(yōu)選的,上述問題信息包括η比特的數(shù)據(jù)Y,哈希函數(shù),用于指示上述實(shí)體返回?cái)?shù)據(jù)X的指示信息,其中,對(duì)X進(jìn)行上述哈希函數(shù)運(yùn)算得到的函數(shù)值的前η個(gè)比特為上述數(shù)據(jù) Y,η為自然數(shù)。優(yōu)選的,該哈希函數(shù)為MD5。優(yōu)選的,上述問題信息包括η比特的數(shù)據(jù)Y,哈希函數(shù);上述答復(fù)信息包括上述實(shí)體返回的數(shù)據(jù)X。優(yōu)選的,在本優(yōu)選實(shí)施例所提出的上述問題信息和答復(fù)信息的情況下, 對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息包括對(duì)X進(jìn)行上述哈希函數(shù)運(yùn)算得到函數(shù)值;若得到的上述函數(shù)值的前η個(gè)比特為上述數(shù)據(jù)Y,則上述答復(fù)信息正確。優(yōu)選的,上述問題信息包括圖G的信息,用于指示上述實(shí)體返回上述圖G的三著色向量的指示信息,其中,圖G = <V,E>,|V| =η,η為自然數(shù)。優(yōu)選的,上述問題信息包括圖G的信息;上述答復(fù)信息包括上述實(shí)體返回的上述圖G的三著色向量,其中,圖G =〈V,E>, IVI = η,η為自然數(shù),V用于表示節(jié)點(diǎn),E用于表示節(jié)點(diǎn)之間的連線。在本優(yōu)選實(shí)施例所提出的上述問題信息和答復(fù)信息的情況下,對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息包括若上述三著色向量將上述圖G正確三著色,則上述答復(fù)信息正確。上述問題信息只是本發(fā)明的優(yōu)選方式,本發(fā)明不僅限于此,例如,本發(fā)明中的問題信息還可以是其他的運(yùn)算函數(shù)。以下結(jié)合附圖來描述接收方和發(fā)送方的相關(guān)處理步驟。
首先,描述用于防止Dos攻擊的報(bào)文選項(xiàng)格式,如圖2所示。在用于防止Dos攻擊的報(bào)文選項(xiàng)格式中,類型選項(xiàng)用來說明是密鑰管理協(xié)議通用報(bào)文中的哪一種報(bào)文選項(xiàng),長度指的是這個(gè)整個(gè)報(bào)文的長度,命令類型指的是這個(gè)報(bào)文是發(fā)送方發(fā)送的還是接受方發(fā)送的,Hash算法指的是雙方用的是哪一種哈希函數(shù),最后的挑戰(zhàn)值指的是問題信息內(nèi)容。圖3示出了上述用于防Dos攻擊的報(bào)文選項(xiàng)格式在密鑰管理協(xié)議通用報(bào)文頭中的位置。圖4示出了認(rèn)證過程中的接收方(即發(fā)送原始攻擊報(bào)文的實(shí)體)的處理步驟。其中,首先判斷收到的報(bào)文中是否有防止拒絕服務(wù)攻擊的選項(xiàng),如果有,則從選項(xiàng)中取出挑戰(zhàn)值,設(shè)為Y,然后從Hash算法選擇得到應(yīng)該使用的函數(shù),然后尋找X,使得Hash (X) = Y,最后發(fā)送攜帶有X的響應(yīng)報(bào)文。圖5示出了認(rèn)證過程中的發(fā)送方(即接收原始攻擊報(bào)文的實(shí)體)的處理步驟。其中,首先選擇Y,然后配置防拒絕服務(wù)攻擊選項(xiàng),設(shè)置挑戰(zhàn)值為Y,如果有Hash選擇,則設(shè)置響應(yīng)的Hash算法選擇,最后發(fā)送這個(gè)報(bào)文,等待圖4所示的接收方的響應(yīng)報(bào)文。如果接收到接收方發(fā)送的響應(yīng)報(bào)文,則發(fā)送方提取上述響應(yīng)報(bào)文中的數(shù)值X,然后判斷該X的哈希函數(shù)值是否等于Y,即,判斷Hash (X)是否等于Y。圖6示出了本發(fā)明實(shí)施例的采用上述方法的系統(tǒng)在核心網(wǎng)和承載網(wǎng)中的位置。下面將結(jié)合附圖來詳細(xì)描述不同問題下的認(rèn)證方法的實(shí)施例。在本發(fā)明的實(shí)施例中,在KMP中添加了兩個(gè)功能模塊(這兩個(gè)模塊只是功能模塊, 為了便于敘述,將其單獨(dú)拿出來解釋,但是在具體實(shí)施中,可以放在KMP的交換流程之中作為協(xié)議的一部分來設(shè)計(jì),具體的實(shí)施可以參見實(shí)施例)預(yù)警模塊和逆向資源耗費(fèi)模塊。在具體實(shí)施的時(shí)候,逆向資源耗費(fèi)模塊可以單獨(dú)使用,也可以將逆向資源耗費(fèi)模塊和預(yù)警模塊結(jié)合起來使用。其中,預(yù)警模塊由入侵檢測系統(tǒng)構(gòu)成,這個(gè)預(yù)警模塊當(dāng)遇到如下3個(gè)條件時(shí)候會(huì)報(bào)警1)突然有大量的請(qǐng)求會(huì)話報(bào)文到來;2)這些請(qǐng)求會(huì)話報(bào)文基本上不能通過身份認(rèn)證流程;3)報(bào)文的間隔時(shí)間非常短,并且不停的收到。當(dāng)以上的3個(gè)條件都滿足的時(shí)候,預(yù)警模塊發(fā)出預(yù)警,并且觸發(fā)逆向資源耗費(fèi)模塊。逆向資源耗費(fèi)模塊要求請(qǐng)求服務(wù)的路由器完成一系列的回答,只有回答的結(jié)果正確,才可以進(jìn)入到下面的認(rèn)證環(huán)節(jié),這些回答可以是一個(gè)特定輸出的哈希函數(shù)輸入值,或者是一個(gè)合適規(guī)模的NP問題(在本發(fā)明的實(shí)施例中,我們使用了兩種,一種是基于哈希函數(shù)輸入值的運(yùn)算,另一種是基于圖三著色運(yùn)算)。這樣,服務(wù)器在收到回答的時(shí)候,他判斷這個(gè)回答是否正確是一個(gè)P問題,可以很快的計(jì)算出來,而攻擊者(發(fā)起攻擊的服務(wù)器)為了回答這個(gè)問題卻需要花費(fèi)高于驗(yàn)證者指數(shù)級(jí)的計(jì)算復(fù)雜性。在這種情況下,攻擊者的拒絕服務(wù)攻擊的目的就不能達(dá)到,因?yàn)椋绻胱屇康穆酚善骱馁M(fèi)資源,他必須讓目的路由器進(jìn)入到認(rèn)證環(huán)節(jié),因?yàn)橹挥姓J(rèn)證環(huán)節(jié)是需要大量耗費(fèi)資源的,而要想進(jìn)入到認(rèn)證環(huán)節(jié),必須要通過逆向資源耗費(fèi)模塊的回答,而這個(gè)回答已經(jīng)讓他自己的資源耗費(fèi)掉了,所以他要么是沒有能力發(fā)動(dòng)這種攻擊,要么會(huì)因?yàn)樾枰馁M(fèi)的資源量太大而放棄攻擊。注意,這種逆向資源耗費(fèi)模塊不會(huì)太過于影響合法的請(qǐng)求服務(wù)者,因?yàn)閷?duì)于合法的請(qǐng)求服務(wù)者,他只需要進(jìn)行一次回答,所以他是不會(huì)被顯著的影響,而對(duì)于攻擊者,他的攻擊目的就是不斷的請(qǐng)求,所以,他需要不斷的進(jìn)行耗費(fèi)自己的資源來計(jì)算,如果這樣,他會(huì)首先將自己的資源消耗掉。另外,在本發(fā)明實(shí)施例中,還提出了逐級(jí)提升安全強(qiáng)度的概念,就是說,在每一個(gè) IP有連接請(qǐng)求的時(shí)候,為每個(gè)IP對(duì)應(yīng)的分配一個(gè)規(guī)模值η (這里,η與對(duì)問題進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度相關(guān),η越大,上述運(yùn)算復(fù)雜度越大),當(dāng)來自這個(gè)IP的一次請(qǐng)求沒有通過的時(shí)候,我們可以對(duì)這個(gè)η+1,使得規(guī)模加大,當(dāng)規(guī)模大于一定的閾值時(shí),將這個(gè)IP列入黑名單,拒絕再次為這個(gè)IP地址的請(qǐng)求予以處理。這樣,攻擊嫌疑人會(huì)隨著自己攻擊次數(shù)的增加而以指數(shù)級(jí)速度的加劇自己的計(jì)算復(fù)雜性。注意,指數(shù)級(jí)的增加是非??膳碌?。而增加 η的數(shù)量對(duì)于逆向耗費(fèi)模塊只是多項(xiàng)式級(jí)別的(甚至是常數(shù)級(jí)別的),可以忽略不計(jì)。實(shí)施例1 在本實(shí)施例中,逆向資源耗費(fèi)模塊生成的問題信息是基于哈希函數(shù)的。逆向資源耗費(fèi)系統(tǒng)將向攻擊嫌疑人提出一個(gè)特定的值,讓攻擊嫌疑人給出一個(gè)輸入,使得這個(gè)輸入的哈希值等于這個(gè)特定的值。比如逆向資源耗費(fèi)系統(tǒng)向攻擊嫌疑人提出η比特的數(shù)Y,并指定使用MD5哈希函數(shù),要求攻擊人給出一個(gè)值X,使得MD5 (χ)的前η個(gè)比特為Y,那么攻擊嫌疑人平均需要搜索0(2~η)次方次以后,可以得出這個(gè)X值,而逆向資源耗費(fèi)模塊只要進(jìn)行0(1)次方的運(yùn)算就可以判斷這個(gè)值是否是正確值,從這個(gè)意義上來講,如果這個(gè)嫌疑人是個(gè)合法用戶,他會(huì)不介意這點(diǎn)時(shí)間來做一次搜索(事實(shí)上,他只需要做一次),然后進(jìn)入會(huì)話請(qǐng)求。而如果是一個(gè)黑客,他為了達(dá)到服務(wù)器資源耗費(fèi)的目的的前提是自己先反復(fù)的做HASH函數(shù)的指數(shù)次搜索,那么這樣,他自己首先就被資源耗費(fèi)掉了。另外,我們可以在這個(gè)過程中調(diào)整這個(gè)η的大小,比如來自同一個(gè)IP地址的多次請(qǐng)求的回答都不正確,我們就可以將η變大,使得對(duì)方耗費(fèi)的速度加快,如果η大于某一個(gè)閾值,那么以后來自這個(gè)IP的請(qǐng)求不予處理。圖7是根據(jù)本發(fā)明實(shí)施例的基于對(duì)稱密鑰認(rèn)證和哈希函數(shù)問題的防止拒絕服務(wù)攻擊的方法的流程圖,其具體包括如下步驟S701 請(qǐng)求設(shè)備anitiator)在本地產(chǎn)生隨機(jī)數(shù)Ni。S702 Jnitiator 將 IDi,SAi 1,Ni 發(fā)往響應(yīng)設(shè)備(Responder),其中 IDi 為 Initiator的ID, SAil為Initiator所支持的密碼算法集合,Ni為Initiator的隨機(jī)數(shù)。 優(yōu)選的,在本實(shí)施例中,預(yù)警模塊和逆向資源耗費(fèi)模塊位于響應(yīng)設(shè)備中。S703:如果此時(shí)預(yù)警模塊已經(jīng)發(fā)現(xiàn)在短時(shí)間內(nèi)有大量的請(qǐng)求會(huì)話流量進(jìn)入系統(tǒng), 他就會(huì)觸發(fā)逆向資源耗費(fèi)模塊,并將這個(gè)要求會(huì)話的用戶定為攻擊嫌疑人。S704 逆向資源耗費(fèi)模塊啟動(dòng)。并且判斷這個(gè)IP地址在短時(shí)間內(nèi)有沒有發(fā)動(dòng)過請(qǐng)求,如果沒有,則為這個(gè)IP設(shè)置一個(gè)η的初始值。S705 逆向資源耗費(fèi)模塊向攻擊者提出一個(gè)η比特的數(shù)y。S706 攻擊嫌疑人計(jì)算問題(或者隨機(jī)回答問題)。S707 攻擊嫌疑人向逆向資源耗費(fèi)模塊回答χ。S708 逆向資源耗費(fèi)模塊檢測Hash(X)的前η個(gè)比特是否為y,如果是,進(jìn)入下一步,如果不是,檢測η是否為設(shè)定的閾值。如果η為設(shè)定的閾值,則將這個(gè)IP列入黑名單,中斷連接;如果η不為設(shè)定的閾值,則將η加1,并中斷本次連接。S709 =Responder在本地產(chǎn)生隨機(jī)數(shù)Nr。S710 =Responder 進(jìn)行以下運(yùn)算prf+ (Ni I Nr,master key) = {SK_d | SK_ai | SK_ar},其中,prf 為一個(gè)偽隨機(jī)函數(shù), Master key為雙方的主密鑰,SK_ai為Initiator用于MAC運(yùn)算的密鑰,SK_ar為Responder 用于MAC運(yùn)算的密鑰,SK_d為用于產(chǎn)生通信會(huì)話密鑰的密鑰材料,符號(hào)“ I ”為連接符。S711 =Responder^f IDr, SArl,Ni 發(fā)送給 Initiator,其中 IDr 為 Responder 的 ID, SArl為Responder所選擇的密碼算法,Nr為Responder的隨機(jī)數(shù)。S712 :Initiator產(chǎn)生prf+(Ni |Nr,master key) = {SK_d| SK_ai | SK_ar},其中prf 為一個(gè)偽隨機(jī)函數(shù),Master key為雙方的主密鑰。S713 Initiator 將 SAi2,MAC_SK_ai (IDi, SAi 1,SAi2, Ni)發(fā)送給 Responder,其中SAi2是兩個(gè)通信實(shí)體可用的真正用于通信時(shí)候的密碼算法集合,MAC_SK_ai (IDi, SAi 1, SAi2, Ni)指的是用SK_ai對(duì)IDi,SAi 1,SAi2, Ni這些輸入做MAC運(yùn)算,其中MAC算法是通過SAil,SArl來協(xié)商的。S714 :Responder在收到上一個(gè)消息后,對(duì)IDi, SAil, SAi2, Ni重新做MAC運(yùn)算, 來比對(duì)消息中的載荷是否相同。如果相同,做下面的過程,如果不相同,則丟棄報(bào)文,中斷流程。S715 =Responder 將 SAr2, MAC_SK_ar (IDr, SAr 1, SAr2, Nr)發(fā)送給 Initiator,其中SAr2是Responder選擇的用于通信時(shí)候的密碼算法,MAC_SK_ar(IDr,SArl,SAr2,Nr)指的是用SK_ar對(duì)IDr,SArl, SAr2,Nr這些輸入做MAC運(yùn)算,其中MAC算法是通過SAi 1,SArl 來協(xié)商的。S716 =Initiator在收到對(duì)方的MAC值以后,重新計(jì)算一下MAC值,并和收到的值作比對(duì),如果相同,做下面的流程,如果不相同,則丟棄報(bào)文并中斷流程。S717 =Initiator利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni |Nr)。S718 :Responder利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni | Nr)。實(shí)施例2 在本實(shí)施例中,逆向資源耗費(fèi)模塊生成的問題信息是基于圖三著色的。逆向資源耗費(fèi)模塊向攻擊嫌疑人提出一個(gè)圖G =〈V,E>,其中|V| = n,然后攻擊嫌疑人計(jì)算這個(gè)著色向量,并且回答這個(gè)向量,逆向資源耗費(fèi)模塊可以檢測這個(gè)向量是否正確,注意,攻擊嫌疑人在尋找規(guī)模為η的圖的著色序列的時(shí)間復(fù)雜度為0((ιΓ2) X (3~η)),而逆向資源耗費(fèi)模塊在判斷這個(gè)是否正確只需要0(ιΓ2)的時(shí)間復(fù)雜度。另外,我們可以在過程中為每個(gè)IP 綁定一個(gè)η的值,這個(gè)值從一個(gè)固定設(shè)置值開始慢慢變大,直到達(dá)到閾值后,把這個(gè)IP列入黑名單,不再提供連接服務(wù)。圖8是根據(jù)本發(fā)明實(shí)施例的基于對(duì)稱密鑰認(rèn)證和圖三著色問題的防止拒絕服務(wù)攻擊的方法的流程圖,其具體包括如下步驟S801 請(qǐng)求設(shè)備anitiator)在本地產(chǎn)生隨機(jī)數(shù)Ni。S802 Jnitiator 將 IDi,SAi 1,Ni 發(fā)往響應(yīng)設(shè)備(Responder),其中 IDi 為 Initiator的ID, SAil為Initiator所支持的密碼算法集合,Ni為Initiator的隨機(jī)數(shù)。 優(yōu)選的,在本實(shí)施例中,預(yù)警模塊和逆向資源耗費(fèi)模塊位于響應(yīng)設(shè)備中。
S803:如果此時(shí)預(yù)警模塊已經(jīng)發(fā)現(xiàn)在短時(shí)間內(nèi)有大量的請(qǐng)求會(huì)話流量進(jìn)入系統(tǒng), 他就會(huì)觸發(fā)逆向資源耗費(fèi)模塊,并將這個(gè)要求會(huì)話的用戶定為攻擊嫌疑人。S804 逆向資源耗費(fèi)模塊啟動(dòng)。并且判斷這個(gè)IP地址在短時(shí)間內(nèi)有沒有發(fā)動(dòng)過請(qǐng)求,如果沒有,則為這個(gè)IP設(shè)置一個(gè)η的初始值。S805 逆向資源耗費(fèi)模塊向攻擊者提出一個(gè)圖G =〈V,Ε>,其中|V| = η。S806 攻擊嫌疑人計(jì)算問題(或者隨機(jī)回答問題)。S807 攻擊嫌疑人向逆向資源耗費(fèi)模塊回答著色向量<xl,x2. . . xn>0S808:逆向資源耗費(fèi)模塊檢測這個(gè)向量是否為三著色,如果是,進(jìn)入下一步,如果不是,檢測η是否為設(shè)定的閾值,如果η為設(shè)定的閾值,則將這個(gè)IP列入黑名單,中斷連接; 如果η不為設(shè)定的閾值,則將η加1,并中斷本次連接。S809 =Responder在本地產(chǎn)生隨機(jī)數(shù)Nr。S810 =Responder 進(jìn)行以下運(yùn)算prf+(Ni I Nr,master key) = {SK_d| SK_ai | SK_ar},其中 prf 為一個(gè)偽隨機(jī)函數(shù), Master key為雙方的主密鑰。S811 :Responder 將 IDr,SArl,Ni 發(fā)送給 hitiator,其中 IDr 為 Responder 的 ID, SArl為Responder所選擇的密碼算法,Nr為Responder的隨機(jī)數(shù)。S812 :Initiator產(chǎn)生prf+(Ni |Nr,master key) = {SK_d| SK_ai | SK ar},其中prf 為一個(gè)偽隨機(jī)函數(shù),Master key為雙方的主密鑰。S813 Jnitiator 將 SAi2,MAC_SK_ai (IDi, SAi 1, SAi2, Ni)發(fā)送給 Responder,其中SAi2是兩個(gè)通信實(shí)體可用的真正用于通信時(shí)候的密碼算法集合,MAC_SK_ai (IDi, SAi 1, SAi2, Ni)指的是用SK_ai對(duì)IDi,SAi 1,SAi2, Ni這些輸入做MAC運(yùn)算,其中MAC算法是通過SAil,SArl來協(xié)商的。S814 :Responder在收到上一個(gè)消息后,對(duì)IDi, SAil, SAi2, Ni重新做MAC運(yùn)算, 來比對(duì)消息中的載荷是否相同。如果相同,做下面的過程,如果不相同,則丟棄報(bào)文,中斷流程。S815 =Responder 將 SAr2, MAC_SK_ar (IDr, SAr 1, SAr2, Nr)發(fā)送給 Initiator,其中SAr2是Responder選擇的用于通信時(shí)候的密碼算法,MAC_SK_ar (IDr, SAr 1, SAr2, Nr) 指的是用SK_ar 對(duì)IDr,SAr 1, SAr2,Nr這些輸入做MAC運(yùn)算,其中MAC算法是通過SAi 1, SArl來協(xié)商的。S816 =Initiator在收到對(duì)方的MAC值以后,重新計(jì)算一下MAC值,并和收到的值作比對(duì),如果相同,做下面的流程,如果不相同,則丟棄報(bào)文并中斷流程。S817 =Initiator利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni |Nr)。S818 :Responder利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni | Nr)。實(shí)施例3:圖9是根據(jù)本發(fā)明實(shí)施例的基于非對(duì)稱密鑰認(rèn)證和哈希函數(shù)問題的防止拒絕服務(wù)攻擊的方法的流程圖,其具體包括如下步驟S901 請(qǐng)求設(shè)備anitiator)在本地產(chǎn)生隨機(jī)數(shù)Ni。S902 Initiator 將 IDi,SAil,Ni,CERTi 發(fā)往響應(yīng)設(shè)備(Responder),其中 IDi 為 Initiator的ID, SAil為Initiator所支持的密碼算法集合,Ni為Initiator的隨機(jī)數(shù),CERTi為hitiator的證書。優(yōu)選的,在本實(shí)施例中,預(yù)警模塊和逆向資源耗費(fèi)模塊位于響應(yīng)設(shè)備中。S903:如果此時(shí)預(yù)警模塊已經(jīng)發(fā)現(xiàn)在短時(shí)間內(nèi)有大量的請(qǐng)求會(huì)話流量進(jìn)入系統(tǒng), 他就會(huì)觸發(fā)逆向資源耗費(fèi)模塊,并將這個(gè)要求會(huì)話的用戶定為攻擊嫌疑人。S904 逆向資源耗費(fèi)模塊啟動(dòng)。并且判斷這個(gè)IP地址在短時(shí)間內(nèi)有沒有發(fā)動(dòng)過請(qǐng)求,如果沒有,則為這個(gè)IP設(shè)置一個(gè)η的初始值。S905 逆向資源耗費(fèi)模塊向攻擊者提出一個(gè)η比特的數(shù)y。S906 攻擊嫌疑人計(jì)算問題(或者隨機(jī)回答問題)。S907 攻擊嫌疑人向逆向資源耗費(fèi)模塊回答χ。S908:逆向資源耗費(fèi)模塊檢測Hash(X)的前η個(gè)比特是否為y,如果是,進(jìn)入下一步,如果不是,則進(jìn)一步檢測η是否為設(shè)定的閾值。如果η為設(shè)定的閾值,則將這個(gè)IP列入黑名單,中斷連接;如果η不為設(shè)定的閾值,則將η加1,并中斷本次連接。S909 =Responder在本地產(chǎn)生隨機(jī)數(shù)Nr。S910 =Responder 在本地產(chǎn)生 Sk_d = prf+ (Ni |Nr, Master key),其中 prf 為一個(gè)偽隨機(jī)函數(shù),Master key為雙方的主密鑰。S911 =Responder M IDr,SArl,Ni,CERTr 給 hitiator,其中 IDr 為 Responder 的 ID, SArl為Responder所選擇的密碼算法,Nr為Responder的隨機(jī)數(shù),CERTr為Responder 的證書。S912 Initiator 在本地產(chǎn)生 Sk_d = prf+ (Ni |Nr, Master key),其中 prf 為一個(gè)偽隨機(jī)函數(shù),Master key為雙方的主密鑰。S913 Initiator 將 SAi2,Sig_sk_i (IDi, SAi 1,SAi2, Ni)發(fā)送給 Responder,其中SAi2是兩個(gè)通信實(shí)體可用的真正用于通信時(shí)候的密碼算法集合,Sig_sk_i(IDi, SAil, SAi2,Ni)指的是用Initiator的私鑰Sk_i對(duì)IDi, SAil, SAi2,Ni這些輸入做簽名運(yùn)算,其中簽名算法是通過SAi 1,SArl來協(xié)商的。S914 =Responder在收到上一個(gè)消息后,用對(duì)方證書里面的公鑰解密簽名,來比對(duì)消息中的載荷是否相同。如果相同,做下面的過程,如果不相同,則丟棄報(bào)文,中斷流程。S915 :Respondei^fSAr2,Sig_sk_r(IDr,SArl,SAr2,Nr)發(fā)送給 hitiator,其中 SAr2是Responder選擇的用于通信時(shí)候的密碼算法,Sig_sk_r(IDr,SArl, SAr2,Nr)指的是用Responder的私鑰sk_r對(duì)IDr,SArl,SAr2,Nr這些輸入做簽名運(yùn)算,其中簽名算法是通過SAi 1,SArl來協(xié)商的。S916 =Initiator在收到對(duì)方的簽名值以后,用對(duì)方的證書里面的公鑰來解密簽名,并和上一次報(bào)文作比對(duì),如果相同,做下面的流程,如果不相同,則丟棄報(bào)文并中斷流程。S917 =Initiator利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni |Nr)。S918 :Responder利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni | Nr)。實(shí)施例4:圖10是根據(jù)本發(fā)明實(shí)施例的基于非對(duì)稱密鑰認(rèn)證和圖三著色問題的防止拒絕服務(wù)攻擊的方法的流程圖,其具體包括如下步驟SlOOl 請(qǐng)求設(shè)備anitiator)在本地產(chǎn)生隨機(jī)數(shù)Ni。
S1002 Initiator 將 IDi,SAil,Ni,CERTi 發(fā)往響應(yīng)設(shè)備(Responder),其中 IDi 為 Initiator的ID, SAil為Initiator所支持的密碼算法集合,Ni為Initiator的隨機(jī)數(shù), CERTi為hitiator的證書。優(yōu)選的,在本實(shí)施例中,預(yù)警模塊和逆向資源耗費(fèi)模塊位于響應(yīng)設(shè)備中。S1003:如果此時(shí)預(yù)警模塊已經(jīng)發(fā)現(xiàn)在短時(shí)間內(nèi)有大量的請(qǐng)求會(huì)話流量進(jìn)入系統(tǒng), 他就會(huì)觸發(fā)逆向資源耗費(fèi)模塊,并將這個(gè)要求會(huì)話的用戶定為攻擊嫌疑人。S1004 逆向資源耗費(fèi)模塊啟動(dòng)。并且判斷這個(gè)IP地址在短時(shí)間內(nèi)有沒有發(fā)動(dòng)過請(qǐng)求,如果沒有,則為這個(gè)IP設(shè)置一個(gè)η的初始值。S1005 逆向資源耗費(fèi)模塊向攻擊者提出一個(gè)圖G =〈V,Ε>,其中|V| = η。S1006 攻擊嫌疑人計(jì)算問題(或者隨機(jī)回答問題)。S1007 攻擊嫌疑人向逆向資源耗費(fèi)模塊回答著色向量<xl,x2. . . xn>。S1008:逆向資源耗費(fèi)模塊檢測這個(gè)向量是否為三著色,如果是,進(jìn)入下一步,如果不是,檢測η是否為設(shè)定的閾值。如果η為設(shè)定的閾值,則將這個(gè)IP列入黑名單,中斷連接; 如果η不為設(shè)定的閾值,則將η加1,并中斷本次連接。S1009 Responder在本地產(chǎn)生隨機(jī)數(shù)Nr。SlOlO :Responder 在本地產(chǎn)生 Sk_d = prf+(Ni |Nr,Master key),其中 prf 為一個(gè)偽隨機(jī)函數(shù),Master key為雙方的主密鑰。SlOll :Responder 將 IDr,SArl,Ni,CERTr 給 Initiator,其中 IDr 為 Responder 的 ID, SArl為Responder所選擇的密碼算法,Nr為Responder的隨機(jī)數(shù),CERTr為Responder 的證書。S1012 Initiator 在本地產(chǎn)生 Sk_d = prf+(Ni I Nr ,Master key),其中 prf 為一個(gè)偽隨機(jī)函數(shù),Master key為雙方的主密鑰。S1013 :Initiator 將 SAi2,Sig_sk_i (IDi, SAi 1, SAi2, Ni)發(fā)送給 Responder,其中SAi2是兩個(gè)通信實(shí)體可用的真正用于通信時(shí)候的密碼算法集合,Sig_sk_i (IDi, SAi 1, SAi2,Ni)指的是用Initiator的私鑰Sk_i對(duì)IDi,SAil,SAi2,Ni這些輸入做簽名運(yùn)算,其中簽名算法是通過SAi 1,SArl來協(xié)商的。S1014 Aesponder在收到上一個(gè)消息后,用對(duì)方證書里面的公鑰解密簽名,來比對(duì)消息中的載荷是否相同。如果相同,做下面的過程,如果不相同,則丟棄報(bào)文,中斷流程。S1015 =Responder 將 SAr2, Sig_sk_r (IDr, SAr 1, SAr2, Nr)發(fā)送給 Initiator,其中SAr2是Responder選擇的用于通信時(shí)候的密碼算法,Sig_sk_r (IDr, SAr 1, SAr2,Nr)指的是用Responder的私鑰sk_r對(duì)IDr,SArl, SAr2,Nr這些輸入做簽名運(yùn)算,其中簽名算法是通過SAi 1,SArl來協(xié)商的。S1016 =Initiator在收到對(duì)方的簽名值以后,用對(duì)方的證書里面的公鑰來解密簽名,并和上一次報(bào)文作比對(duì),如果相同,做下面的流程,如果不相同,則丟棄報(bào)文并中斷流程。S1017 =Initiator利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni |Nr)。S1018 Aesponder利用SK_d來產(chǎn)生真正用于通信的會(huì)話密鑰prf+(SK_d,Ni |Nr)。本發(fā)明還提供了一種基于KMP的防止拒絕服務(wù)攻擊的裝置,其可以運(yùn)用上述各個(gè)基于KMP的防止拒絕服務(wù)攻擊的方法的實(shí)施例。圖11是根據(jù)本發(fā)明實(shí)施例的基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的裝置的結(jié)構(gòu)示意圖,其具體包括第一判斷模塊1102,用于判斷接收到的報(bào)文是否異常;發(fā)送模塊1104,用于在判斷出異常時(shí),向發(fā)送所述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息;接收模塊1106,用于接收來自所述實(shí)體的所述問題信息的答復(fù)信息;第二判斷模塊1108,用于判斷所述答復(fù)信息是否正確;認(rèn)證模塊1110,用于在所述答復(fù)信息正確時(shí),對(duì)接收到的所述報(bào)文進(jìn)行認(rèn)證。本發(fā)明實(shí)施例在接收到報(bào)文之后,沒有直接對(duì)該報(bào)文進(jìn)行認(rèn)證,而是向發(fā)送報(bào)文的實(shí)體發(fā)送攜帶有問題的信息,并只有上述實(shí)體返回正確答復(fù)的情況下,才對(duì)上述報(bào)文進(jìn)行認(rèn)證。這樣,如果上述實(shí)體是攻擊設(shè)備,則需要消耗大量的資源來反復(fù)答復(fù)上述問題,從而無法實(shí)現(xiàn)攻擊的目的。優(yōu)選的,上述認(rèn)證裝置還包括處理模塊1112,用于在判斷出所述接收到的報(bào)文異常時(shí),將自然數(shù)η加上預(yù)定的步長,并根據(jù)更新后的η生成所述問題信息,其中,對(duì)所述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度與所述η相關(guān),所述η越大,所述運(yùn)算復(fù)雜度越大。通過上述的方法,逐步增加了發(fā)起攻擊的實(shí)體對(duì)所述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度,而這種運(yùn)算復(fù)雜度的提高,更有效地防止了發(fā)起攻擊的實(shí)體繼續(xù)發(fā)送攻擊報(bào)文, 逐級(jí)提升了安全強(qiáng)度。作為另一種可選的方案,上述問題信息的運(yùn)算復(fù)雜度與自然數(shù)η相關(guān),其中,上述 η越大,上述問題信息的運(yùn)算復(fù)雜度越大。在這種情況下,若接收到的答復(fù)信息不正確,則處理模塊1112將η加上預(yù)定的步長。此后,接收模塊1106接收上述實(shí)體發(fā)送的當(dāng)前報(bào)文; 第一判斷模塊1102判斷上述當(dāng)前報(bào)文是否異常;若異常,則處理模塊1112根據(jù)更新后的η 生成當(dāng)前問題信息,并通知發(fā)送模塊1104將上述當(dāng)前問題信息發(fā)送給上述實(shí)體;第二判斷模塊1108對(duì)接收到的來自上述實(shí)體的上述當(dāng)前問題信息的答復(fù)信息進(jìn)行判斷;若上述當(dāng)前問題信息的答復(fù)信息正確,則認(rèn)證模塊1110對(duì)接收到的上述當(dāng)前報(bào)文進(jìn)行認(rèn)證。優(yōu)選的,上述認(rèn)證裝置還包括第三判斷模塊1114,用于在所述發(fā)送模塊向發(fā)送所述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息之前,判斷所述η是否小于第三閾值;通知模塊1116,用于在η小于所述第三閾值時(shí),通知所述處理模塊1112執(zhí)行將η加上預(yù)定的步長的步驟;在η大于等于所述第三閾值時(shí),通知所述接收模塊1106停止接收來自所述實(shí)體的報(bào)文。通過上述的方法,可以避免無窮盡地與發(fā)送攻擊的實(shí)體進(jìn)行交互,互相消耗系統(tǒng)資源,從而進(jìn)一步保證了系統(tǒng)的安全性。優(yōu)選的,所述問題信息包括η比特的數(shù)據(jù)Y,哈希函數(shù),用于指示所述實(shí)體返回?cái)?shù)據(jù)X的指示信息,其中,對(duì)X進(jìn)行所述哈希函數(shù)運(yùn)算得到的函數(shù)值的前η個(gè)比特為所述數(shù)據(jù) Y,η為自然數(shù)。優(yōu)選的,該哈希函數(shù)為MD5。作為另一種優(yōu)選的實(shí)施例,上述問題信息包括η比特的數(shù)據(jù)Y,哈希函數(shù);上述答復(fù)信息包括上述實(shí)體返回的數(shù)據(jù)X。優(yōu)選的,在本優(yōu)選實(shí)施例所提出的上述問題信息和答復(fù)信息的情況下,所述第二判斷模塊1108對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息進(jìn)行判斷包括對(duì)X進(jìn)行上述哈希函數(shù)運(yùn)算得到函數(shù)值;若得到的上述函數(shù)值的前η 個(gè)比特為上述數(shù)據(jù)Y,則上述答復(fù)信息正確。優(yōu)選的,所述問題信息包括圖G的信息,用于指示所述實(shí)體返回所述圖G的三著色向量的指示信息,其中,圖G = <V,E>,|V| =η,η為自然數(shù)。
作為另一種優(yōu)選的實(shí)施例,上述問題信息包括圖G的信息;上述答復(fù)信息包括 上述實(shí)體返回的上述圖G的三著色向量,其中,圖G =〈V,E>, |V| = η,η為自然數(shù),V用于表示節(jié)點(diǎn),E用于表示節(jié)點(diǎn)之間的連線。在本優(yōu)選實(shí)施例所提出的上述問題信息和答復(fù)信息的情況下,所述第二判斷模塊1108對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息進(jìn)行判斷包括若上述三著色向量將上述圖G正確三著色,則上述答復(fù)信息正確。上述問題信息只是本發(fā)明的優(yōu)選方式,本發(fā)明不僅限于此,例如,本發(fā)明中的問題信息還可以是其他的運(yùn)算函數(shù)。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法,其特征在于,包括 判斷接收到的報(bào)文是否異常;若異常,則向發(fā)送所述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息; 對(duì)接收到的來自所述實(shí)體的所述問題信息的答復(fù)信息進(jìn)行判斷; 若所述答復(fù)信息正確,則對(duì)接收到的所述報(bào)文進(jìn)行認(rèn)證。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷接收到的報(bào)文是否異常的步驟包括判斷在時(shí)間段內(nèi)接收到的報(bào)文是否同時(shí)滿足以下條件,若同時(shí)滿足,則所述報(bào)文異常在所述時(shí)間段內(nèi)接收到的所述報(bào)文的數(shù)量超過第一閾值; 在所述時(shí)間段內(nèi)接收到的所述報(bào)文的間隔小于第二閾值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)所述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度與自然數(shù)η相關(guān),其中,所述η越大,所述運(yùn)算復(fù)雜度越大,向發(fā)送所述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息包括將η加上預(yù)定的步長;根據(jù)更新后的η生成所述問題信息,并發(fā)送給所述實(shí)體。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在向發(fā)送所述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息之前,還包括判斷所述η是否小于第三閾值;若η小于所述第三閾值,則執(zhí)行將η加上預(yù)定的步長的步驟; 若η大于等于所述第三閾值,則停止接收來自所述實(shí)體的報(bào)文。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述問題信息包括η比特的數(shù)據(jù)Y,哈希函數(shù);所述答復(fù)信息包括所述實(shí)體返回的數(shù)據(jù)X。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,對(duì)接收到的來自所述實(shí)體的所述問題信息的答復(fù)信息進(jìn)行判斷的步驟包括對(duì)X進(jìn)行所述哈希函數(shù)運(yùn)算得到函數(shù)值;若得到的所述函數(shù)值的前η個(gè)比特為所述數(shù)據(jù)Y,則所述答復(fù)信息正確。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述問題信息包括圖G的信息;所述答復(fù)信息包括所述實(shí)體返回的所述圖G的三著色向量,其中,圖G =〈V,E>,IVI = η,η為自然數(shù),V用于表示節(jié)點(diǎn),E用于表示所述節(jié)點(diǎn)之間的連線。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,對(duì)接收到的來自所述實(shí)體的所述問題信息的答復(fù)信息進(jìn)行判斷的步驟包括若所述三著色向量將所述圖G正確三著色,則所述答復(fù)信息正確。
9.一種基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的裝置,其特征在于,包括 第一判斷模塊,用于判斷接收到的報(bào)文是否異常;發(fā)送模塊,用于在判斷出異常時(shí),向發(fā)送所述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息;接收模塊,用于接收來自所述實(shí)體的所述問題信息的答復(fù)信息; 第二判斷模塊,用于判斷所述答復(fù)信息是否正確;認(rèn)證模塊,用于在所述答復(fù)信息正確時(shí),對(duì)接收到的所述報(bào)文進(jìn)行認(rèn)證。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括處理模塊,用于在判斷出所述接收到的報(bào)文異常時(shí),將自然數(shù)η加上預(yù)定的步長,并根據(jù)更新后的η生成所述問題信息,其中,對(duì)所述問題信息進(jìn)行答復(fù)所需的運(yùn)算復(fù)雜度與所述η相關(guān),所述η越大,所述運(yùn)算復(fù)雜度越大。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括第三判斷模塊,用于在所述發(fā)送模塊向發(fā)送所述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息之前,判斷所述η是否小于第三閾值;通知模塊,用于在η小于所述第三閾值時(shí),通知所述處理模塊執(zhí)行將η加上預(yù)定的步長的步驟;在η大于等于所述第三閾值時(shí),通知所述接收模塊停止接收來自所述實(shí)體的報(bào)文。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述問題信息包括η比特的數(shù)據(jù)Y,哈希函數(shù);所述答復(fù)信息包括所述實(shí)體返回的數(shù)據(jù)X。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第二判斷模塊用于在對(duì)X進(jìn)行所述哈希函數(shù)運(yùn)算得到的函數(shù)值的前η個(gè)比特為所述數(shù)據(jù)Y時(shí)判斷所述答復(fù)信息正確。
14.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述問題信息包括圖G的信息;所述答復(fù)信息包括所述實(shí)體返回所述圖G的三著色向量;其中,圖G = <V,E>,IV| = η,η為自然數(shù),V用于表示節(jié)點(diǎn),E用于表示所述節(jié)點(diǎn)之間的連線。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述第二判斷模塊用于在所述三著色向量將所述圖G正確三著色時(shí)判斷所述答復(fù)信息正確。
全文摘要
本發(fā)明公開了一種基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法和裝置,其中,該基于密鑰管理協(xié)議的防止拒絕服務(wù)攻擊的方法包括判斷接收到的報(bào)文是否異常;若異常,則向發(fā)送上述報(bào)文的實(shí)體發(fā)送攜帶有問題信息的請(qǐng)求消息;對(duì)接收到的來自上述實(shí)體的上述問題信息的答復(fù)信息進(jìn)行判斷;若上述答復(fù)信息正確,則對(duì)接收到的上述報(bào)文進(jìn)行認(rèn)證。本發(fā)明解決了現(xiàn)有技術(shù)中認(rèn)證機(jī)制由于受到攻擊而導(dǎo)致的工作效率明顯降低問題,有效地防止了攻擊。
文檔編號(hào)H04L29/06GK102281258SQ20101019943
公開日2011年12月14日 申請(qǐng)日期2010年6月9日 優(yōu)先權(quán)日2010年6月9日
發(fā)明者周晨, 王鴻彥, 端時(shí)立, 陳浩然, 韋銀星 申請(qǐng)人:中興通訊股份有限公司