專利名稱:會話的控制方法及控制裝置的制作方法
技術領域:
本發(fā)明涉及信息安全技術,特別涉及一種會話的控制方法及控制裝置,屬于通信領域。
背景技術:
因特網(wǎng)密鑰交換協(xié)議(Internet Key Exchange,簡稱IKE)是認證及密鑰協(xié)議族的總稱,該協(xié)議族包括因特網(wǎng)安全關聯(lián)和密鑰管理協(xié)議(簡稱ISAKMP)、密鑰確定協(xié)議(簡稱Oakley)以及通用因特網(wǎng)安全密鑰交換協(xié)議(簡稱SKEME)。
ISAKMP協(xié)議是IKE的核心組成部分,它定義了包括協(xié)商、建立、修改及刪除安全關聯(lián)的全過程和報文格式,為交換密鑰生成和身份認證數(shù)據(jù)定義了載荷格式。這些格式的定義為密鑰傳輸和身份認證提供了一個獨立于密鑰生成技術、加密算法和身份認證方法的固定框架。
ISAKMP提供了兩個階段的協(xié)商在第一階段為通信雙方建立一個安全的通道即IKE安全關聯(lián)(簡稱IKE SA),用于保護第二階段中交互的消息的安全;在第二階段為IPsec建立起具體的IPsec安全關聯(lián)(簡稱IPsec SA),用于保證通信雙方的數(shù)據(jù)傳輸安全。
現(xiàn)有技術中,在IKE連接建立的第一階段協(xié)商過程中,攻擊者可以冒充合法IKE協(xié)商發(fā)起者向通信設備發(fā)送IKE請求消息;通信設備收到攻擊者的請求消息后,向其冒充的合法IKE協(xié)商發(fā)起者的設備發(fā)送回應消息,并保留攻擊者發(fā)送的請求狀態(tài),形成半連接狀態(tài)。合法IKE協(xié)商發(fā)起者的設備收到該回應消息后,由于未發(fā)送請求消息則丟棄該回應消息。而此時若該合法IKE協(xié)商發(fā)起者的設備也向所述通信設備發(fā)送IKE請求消息,則該通信設備由于先前已收到攻擊者冒充該合法IKE協(xié)商發(fā)起者發(fā)送的請求消息并正在處理中,則會丟棄此次收到的請求消息,從而造成合法IKE協(xié)商發(fā)起者的設備與該通信設備的正常IKE協(xié)商無法進行。
例如,如圖1所示,網(wǎng)關A和網(wǎng)關B是相互信任的IPsec隧道的兩個端點,在正常情況下網(wǎng)關A可以和網(wǎng)關B通過IKE協(xié)商建立IPsec隧道。現(xiàn)在如果網(wǎng)關A作為IPsec隧道發(fā)起者欲向網(wǎng)關B發(fā)起IKE協(xié)商,但是在網(wǎng)關A發(fā)送IKE協(xié)商的第一個報文之前,攻擊者的設備偽裝成網(wǎng)關A向網(wǎng)關B發(fā)送了一個IKE請求,則網(wǎng)關B收到該IKE請求后,回應給網(wǎng)關A第二個IKE報文即IKE響應消息,并且保留攻擊者發(fā)送的請求狀態(tài),形成“半連接”的IKE會話。而由于網(wǎng)關A并沒有發(fā)送第一個IKE請求,因此網(wǎng)關A會丟棄網(wǎng)關B發(fā)送給網(wǎng)關A的IKE響應消息。此時如果網(wǎng)關A向網(wǎng)關B發(fā)送正常的IKE請求報文,則網(wǎng)關B收到這個請求后無法辨別是否是真正的網(wǎng)關A發(fā)送的請求,由于先前已經(jīng)收到了攻擊者冒充網(wǎng)關A的地址所發(fā)送的請求,并且正在處理該請求,因此會把真正的網(wǎng)關A發(fā)送的請求丟棄,從而造成網(wǎng)關A與網(wǎng)關B無法進行IKE協(xié)商。以上過程也就是攻擊者通過中間設備實現(xiàn)的對IKE協(xié)商的拒絕服務(簡稱DoS)攻擊,造成了正常IKE協(xié)商不能進行。
在現(xiàn)有的技術方案中,為了緩解這種DoS攻擊,IKE協(xié)議采用了“甜餅”(Cookie)機制。Cookie是對一些必要信息的哈希(簡稱Hash)值,一般包括通信雙方的IP地址、端口號、秘密隨機數(shù)以及日期和時間等。Cookie機制是使用IKE報文中包括的Cookie來識別一個IKE會話,并設定IKE會話的連接總數(shù)。當攻擊者通過IP地址欺騙來發(fā)起大量交換請求時,系統(tǒng)對每個請求生成一個Cookie回應消息,只有在收到請求方返回的消息且該消息中包括先前發(fā)送的請求消息中的Cookie,并且驗證該Cookie值無誤后,才進行下一步的交換,否則拒絕交換。對上文的例子來說,當攻擊者發(fā)送了固定Cookie值的IKE拒絕服務攻擊后,只要網(wǎng)關A發(fā)送的正常請求的IKE報文中包括的Cookie值與攻擊者發(fā)送的IKE報文中包括的Cookie值不同,網(wǎng)關A就可以與網(wǎng)關B進行正常的IKE協(xié)商,建立安全關聯(lián)。
上述Cookie機制在有效避免攻擊者采用相同的Cookie進行攻擊的同時,引入了更嚴重的拒絕服務攻擊問題。一方面,根據(jù)Cookie機制,在系統(tǒng)收到攻擊者發(fā)送的IKE請求報文后,對該請求生成一個Cookie回應消息,并且該請求占用了Cookie機制所限定的總連接數(shù)中的一個連接數(shù),然后系統(tǒng)一直等待攻擊者返回包括系統(tǒng)發(fā)送的回應消息中的Cookie的消息,直到達到IKE協(xié)議規(guī)定的超時老化時間,才釋放該請求所占用的連接數(shù)和其它資源。而另一方面,在正常情況下,IKE協(xié)議規(guī)定的超時老化時間比較長,與重傳次數(shù)以及每次的超時時間相關,并且每次重傳后的超時時間是以指數(shù)形式增長的。因此,當攻擊者在短時間內(nèi)頻繁發(fā)送包括不同Cookie的IKE請求時,很快就可以在IKE協(xié)議規(guī)定的超時老化時間內(nèi)完全占用IKE機制所限定的最大連接數(shù),導致其它IKE協(xié)商發(fā)起者無法與系統(tǒng)建立IKE連接,從而導致了拒絕服務攻擊的后果加重。尤其是,如果攻擊者冒充一個合法IKE協(xié)商發(fā)起者的身份在短時間內(nèi)頻繁發(fā)送包括不同Cookie的IKE請求時,將很快占滿IKE的最大連接數(shù)而導致其它IKE協(xié)商發(fā)起者均無法與系統(tǒng)建立IKE連接。
以上文的應用場景為例,當攻擊者以變化的Cookie頻繁發(fā)送攻擊報文的時候,很快就可以在短時間內(nèi)把Cookie機制所限定的IKE會話總數(shù)占滿,從而導致其他非網(wǎng)關A地址的網(wǎng)關無法與網(wǎng)關B進行正常的IKE協(xié)商。
此外,除了DoS攻擊,還存在其它的一些攻擊也可能耗盡系統(tǒng)資源,導致其他IKE協(xié)商發(fā)起者無法與系統(tǒng)進行正常的IKE協(xié)商。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種會話的控制方法及控制裝置,能夠有效地克服上述現(xiàn)有技術的缺陷,大大減少攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理。
為實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種會話的控制方法,包括預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體,并為每個可信任對等體預留系統(tǒng)資源;在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,當該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所對應的預留系統(tǒng)資源未被全部占用時,從該可信任對等體所對應的預留系統(tǒng)資源中為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。
在上述技術方案中,通過引入可信任對等體并為每個可信任對等體預留系統(tǒng)資源,同時將合法IKE協(xié)商發(fā)起者劃分為多個組,每個組與一個可信任對等體對應,從而使得每個組中的IKE協(xié)商發(fā)起者不能占用其它組所對應的可信任對等體的預留系統(tǒng)資源。在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程中的第一個請求消息后,只有當該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所對應的預留系統(tǒng)資源未被全部占用時,才從該可信任對等體所對應的預留系統(tǒng)資源中,為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。因此,上述技術方案通過引入為可信任對等體預留系統(tǒng)資源的機制,將合法IKE協(xié)商發(fā)起者虛擬地劃分為多個可信任對等體,不同的可信任對等體之間不能占用對方的預留系統(tǒng)資源,從而有效地避免了攻擊者冒充一個合法IKE協(xié)商發(fā)起者發(fā)送大量IKE請求從而迅速耗盡系統(tǒng)資源并使得其它合法IKE協(xié)商發(fā)起者無法進行正常的IKE協(xié)商的情況,因此能夠大大減少攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理。并且上述技術方案適用于對抗通過冒充合法IKE協(xié)商發(fā)起者來占用系統(tǒng)資源的攻擊,而并不僅僅限于對抗DoS攻擊。
上述技術方案中,所述預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體可具體包括預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者的IP地址或IP地址所屬的網(wǎng)段劃分為多個組,每個組對應一個可信任對等體。所述為每個可信任對等體預留系統(tǒng)資源可具體包括為每一個可信任對等體設置預留的IKE連接數(shù)。其中,一個組中可以包含一個或者多個IKE協(xié)商發(fā)起者的IP地址,也可以使用一個或多個IP地址網(wǎng)段來包括一個或多個連續(xù)地址的IKE協(xié)商發(fā)起者。
為了進一步地對同一個可信任對等體所對應的合法IKE協(xié)商發(fā)起者對系統(tǒng)資源的占用進行限制以進一步對抗拒絕服務攻擊,上述技術方案中還可包括預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式,為每個可信任對等體設置對應的IKE半連接的超時時間;按照預設的檢測時間對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
在上述技術方案中,針對現(xiàn)有技術中按照IKE協(xié)議規(guī)定的超時老化時間無法及時地檢測到攻擊者頻繁發(fā)送的包括不同Cookie的IKE請求報文的缺陷,通過根據(jù)IKE的協(xié)商模式(包括主模式和野蠻模式)來預先設置對應的IKE半連接的超時時間,也就是說根據(jù)不同的協(xié)商模式中半連接狀態(tài)的正常持續(xù)時間來預先設置對應的IKE半連接的超時時間,并且按照預設的檢測時間對已建立的半連接進行檢測,對持續(xù)時間超出所述預先設置的超時時間的半連接,釋放其占用的資源和連接數(shù),從而能夠有效地克服現(xiàn)有技術的缺陷,通過預設的超時時間對半連接的持續(xù)時間進行有效地控制,在攻擊者通過發(fā)送包括不同的Cookie的請求報文來建立半連接從而占用資源和IKE連接數(shù)時,能夠及時地釋放超出超時時間的半連接所占用的資源和連接數(shù),從而能夠保證其它IKE協(xié)商發(fā)起者的正常IKE協(xié)商的順利進行。
優(yōu)選地,所述預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式為每個可信任對等體設置對應的IKE半連接的超時時間可包括當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的主模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間以及對端生成D-H公共值的計算時間,來設置對應的IKE半連接的超時時間;當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的野蠻模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間、本端生成D-H公共值的計算時間以及對端對IKE協(xié)商過程的第三個消息進行加密的時間,來設置對應的IKE半連接的超時時間。
為實現(xiàn)上述發(fā)明目的,本發(fā)明還提供了一種會話的控制裝置,包括資源預留模塊,用于預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體,并為每個可信任對等體預留系統(tǒng)資源;控制模塊,與所述資源預留模塊連接,用于在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,當所述資源預留模塊為該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所預留的系統(tǒng)資源未被全部占用時,從該可信任對等體所對應的預留系統(tǒng)資源中為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。
在上述技術方案中,通過資源預留模塊預先為每個可信任對等體預留系統(tǒng)資源,通過控制模塊在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,根據(jù)該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體的預留系統(tǒng)資源的占用狀況,來控制是否對該請求消息進行回應及分配資源,從而使得屬于不同的組的IKE協(xié)商發(fā)起者不能互相占用對方的預留系統(tǒng)資源,有效地限制了冒充合法IKE協(xié)商發(fā)起者的攻擊對系統(tǒng)資源的占用,有效地避免了攻擊者冒充一個合法IKE協(xié)商發(fā)起者發(fā)送大量IKE請求從而迅速耗盡系統(tǒng)資源并使得其它合法IKE協(xié)商發(fā)起者無法進行正常的IKE協(xié)商的情況,因此能夠大大減少攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理。并且上述技術方案適用于對抗通過冒充合法IKE協(xié)商發(fā)起者來占用系統(tǒng)資源的攻擊,而并不僅僅限于對抗DoS攻擊。
在上述技術方案中,所述資源預留模塊可包括IKE協(xié)商發(fā)起者劃分模塊,用于預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者的IP地址或IP地址所屬的網(wǎng)段劃分為多個組,每個組對應一個可信任對等體。其中,一個組中可以包含一個或者多個I KE協(xié)商發(fā)起者的IP地址,也可以使用一個或多個IP地址網(wǎng)段來包括一個或多個連續(xù)地址的IKE協(xié)商發(fā)起者。所述資源預留模塊還可包括IKE連接預留模塊,用于為每一個可信任對等體設置預留的IKE連接數(shù)。
為了進一步地對同一個可信任對等體所對應的合法IKE協(xié)商發(fā)起者對系統(tǒng)資源的占用進行限制以進一步對抗拒絕服務攻擊,上述技術方案中所述控制模塊可包括設置模塊,用于預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式,為每個可信任對等體設置對應的IKE半連接的超時時間;檢測模塊,與設置模塊連接,用于按照設置模塊所預設的檢測時間,對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
在上述技術方案中,通過針對現(xiàn)有技術中按照IKE協(xié)議規(guī)定的超時老化時間無法及時地檢測到攻擊者頻繁發(fā)送的包括不同Cookie的IKE請求報文的缺陷,通過設置模塊根據(jù)IKE的協(xié)商模式(包括主模式和野蠻模式)來預先設置對應的IKE半連接的超時時間,也就是說通過設置模塊根據(jù)不同的IKE協(xié)商模式中半連接狀態(tài)的正常持續(xù)時間來預先設置對應的IKE半連接的超時時間,并且通過檢測模塊按照預設的檢測時間對已建立的半連接的持續(xù)時間進行檢測,對持續(xù)時間超出所述預先設置的超時時間的半連接,釋放其占用的資源和連接數(shù),從而能夠有效地克服現(xiàn)有技術的缺陷,通過預設的超時時間對半連接的持續(xù)時間進行有效地控制,在攻擊者通過發(fā)送包括不同的Cookie的請求報文來建立半連接從而占用資源和IKE連接數(shù)時,能夠及時地釋放超出超時時間的半連接所占用的資源和連接數(shù),從而能夠保證其它IKE協(xié)商發(fā)起者的正常IKE協(xié)商的順利進行。
優(yōu)選地,所述設置模塊可包括主模式設置模塊,用于當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的主模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間以及對端生成D-H公共值的計算時間,來設置對應的IKE半連接的超時時間;和/或野蠻模式設置模塊,用于當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的野蠻模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間、本端生成D-H公共值的計算時間以及對端對IKE協(xié)商過程的第三個消息進行加密的時間,來設置對應的IKE半連接的超時時間。
綜上所述,本發(fā)明通過將合法IKE協(xié)商發(fā)起者劃分為多個組,每個組與一個可信任對等體對應,并為每個可信任對等體預留系統(tǒng)資源,不屬于同一組的IKE協(xié)商發(fā)起者不能占用對方所屬的組對應的可信任對等體的預留系統(tǒng)資源,有效地限制了冒充合法IKE協(xié)商發(fā)起者的攻擊對系統(tǒng)資源的占用;通過在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程中的第一個請求消息后,只有當該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所對應的預留系統(tǒng)資源未被全部占用時,才從該可信任對等體所對應的預留系統(tǒng)資源中,為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息,從而有效地避免了攻擊者冒充一個合法IKE協(xié)商發(fā)起者發(fā)送大量IKE請求從而迅速耗盡系統(tǒng)資源并使得其它合法IKE協(xié)商發(fā)起者無法進行正常的IKE協(xié)商的情況,能夠大大減少攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理。
圖1為現(xiàn)有的拒絕服務攻擊模式的示意圖;圖2為本發(fā)明會話的控制方法的實施例一的流程示意圖;圖3為本發(fā)明會話的控制方法的實施例一的另一示意圖;圖4為本發(fā)明會話的控制裝置的實施例一的結(jié)構示意圖;圖5為本發(fā)明會話的控制裝置的實施例二的結(jié)構示意圖;圖6為本發(fā)明會話的控制裝置的實施例三的結(jié)構示意圖。
具體實施例方式
下面結(jié)合附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
現(xiàn)有技術中,因特網(wǎng)密鑰交換協(xié)議(簡稱IKE)采用Cookie機制,使用IKE報文中包括的Cookie來識別一個IKE會話,并設定IKE會話的連接總數(shù)。雖然這種Cookie機制能夠有效地對抗攻擊者通過發(fā)送大量包括固定的Cookie值的IKE請求報文來試圖耗盡系統(tǒng)資源的拒絕服務攻擊,但卻無法有效地對抗攻擊者通過發(fā)送大量包括變化的Cookie值的IKE請求報文來耗盡系統(tǒng)資源的拒絕服務攻擊。此外,除了DoS攻擊,還存在其它的一些攻擊也可能耗盡系統(tǒng)資源,導致其他IKE協(xié)商發(fā)起者無法與系統(tǒng)進行正常的IKE協(xié)商。
針對上述現(xiàn)有技術的不足之處,通過引入可信任對等體的機制,為每個可信任對等體預留系統(tǒng)資源,同時將合法IKE協(xié)商發(fā)起者劃分為多個組,每個組與一個可信任對等體對應,從而使得每個組中的IKE協(xié)商發(fā)起者不能占用其它組所對應的可信任對等體的預留系統(tǒng)資源。因此有效地避免了攻擊者冒充一個合法IKE協(xié)商發(fā)起者發(fā)送大量IKE請求從而迅速耗盡系統(tǒng)資源并使得其它合法IKE協(xié)商發(fā)起者無法進行正常的IKE協(xié)商的情況,大大減少了攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理,適用于對抗通過冒充合法IKE協(xié)商發(fā)起者來占用系統(tǒng)資源的攻擊,而并不僅僅限于對抗DoS攻擊。
圖2為本發(fā)明會話控制方法的實施例一的流程示意圖,本實施例一包括以下步驟首先在步驟1中,預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體,并為每個可信任對等體預留系統(tǒng)資源;然后在步驟2中,在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,當該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所對應的預留系統(tǒng)資源未被全部占用時,從該可信任對等體所對應的預留系統(tǒng)資源中為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。
本實施例一針對攻擊者冒充合法IKE協(xié)商發(fā)起者通過大量發(fā)送IKE請求消息而耗盡系統(tǒng)資源的情況,通過預先將合法IKE協(xié)商發(fā)起者劃分為多個組,并將每個組與一個可信任對等體對應,從而使得每個組中的IKE協(xié)商發(fā)起者不能占用其它組所對應的可信任對等體的預留系統(tǒng)資源。在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程中的第一個請求消息后,只有當該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所對應的預留系統(tǒng)資源未被全部占用時,才從該可信任對等體所對應的預留系統(tǒng)資源中,為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。因此,上述技術方案通過引入為可信任對等體預留系統(tǒng)資源的機制,將合法IKE協(xié)商發(fā)起者虛擬地劃分為多個可信任對等體,不同的可信任對等體之間不能占用對方的預留系統(tǒng)資源,從而有效地避免了攻擊者冒充一個合法IKE協(xié)商發(fā)起者發(fā)送大量IKE請求從而迅速耗盡系統(tǒng)資源并使得其它合法IKE協(xié)商發(fā)起者無法進行正常的IKE協(xié)商的情況,因此能夠大大減少攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理。并且本實施例一適用于對抗通過冒充合法IKE協(xié)商發(fā)起者來占用系統(tǒng)資源的攻擊,而并不僅僅限于對抗DoS攻擊。
優(yōu)選地,本實施例一中,所述預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體可具體包括預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者的IP地址或IP地址所屬的網(wǎng)段劃分為多個組,每個組對應一個可信任對等體。其中,一個組中可以包含一個或者多個IKE協(xié)商發(fā)起者的IP地址,也可以使用一個或多個IP地址網(wǎng)段來包括一個或多個連續(xù)地址的IKE協(xié)商發(fā)起者。
在應用于對抗拒絕服務攻擊的應用場景時,所述為每個可信任對等體預留系統(tǒng)資源可具體包括為每一個可信任對等體設置預留的IKE連接數(shù)。
圖3為本實施例一的另一示意圖,網(wǎng)關C預先將合法IKE協(xié)商發(fā)起者劃分為兩個組,分別對應于可信任對等體M和可信任對等體N,并為可信任對等體M預留資源C1,為可信任對等體N預留資源C2,這樣可信任對等體M所對應的組中的IKE協(xié)商發(fā)起者只能占用預留資源C1,而不能占用預留資源C2,同樣,可信任對等體N所對應的組中的IKE協(xié)商發(fā)起者只能占用預留資源C2,而不能占用預留資源C1。這樣攻擊者在冒充可信任對等體M所對應的組中的IKE協(xié)商發(fā)起者并發(fā)起大量的IKE請求消息以占用系統(tǒng)資源時,最多只能全部占用預留資源C1,而不能占用其它可信任對等體對應的預留資源。由此可見,本實施例一大大減少了攻擊對系統(tǒng)資源的占用,有效地避免了因攻擊耗盡系統(tǒng)資源而導致其他合法IKE協(xié)商發(fā)起者無法進行正常的IKE協(xié)商的情況。
下面在本發(fā)明會話的控制方法的實施例二中,在實施例一的技術方案基礎上進一步提供了對所屬組對應于同一個可信任對等體的IKE協(xié)商發(fā)起者的IKE協(xié)商所占用的資源進行控制的實施方式,從而能夠進一步地避免攻擊者所占用的資源對與攻擊者對應于同一個可信任對等體的IKE協(xié)商發(fā)起者的正常IKE協(xié)商的影響。本實施例二與上述實施例一的區(qū)別在于還包括預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式,為每個可信任對等體設置對應的IKE半連接的超時時間;按照預設的檢測時間對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
本實施例二除了解決上述實施例一所解決的技術問題外,還解決了現(xiàn)有技術中的如下技術問題由于IKE協(xié)議本身規(guī)定的超時老化時間過長,無法及時地對攻擊者發(fā)送的請求報文所建立的半連接進行釋放資源,從而使得攻擊者能夠很快耗盡系統(tǒng)資源而無法及時進行緩解。針對上述技術問題,本實施例二通過預先根據(jù)IKE的不同協(xié)商模式(包括主模式和野蠻模式)來設置對應的IKE半連接的超時時間,從而使得該超時時間能夠最優(yōu)地體現(xiàn)IKE的不同協(xié)商模式中正常IKE會話的半連接持續(xù)時間,而根據(jù)該超時時間對所建立的半連接的持續(xù)時間進行控制,克服了現(xiàn)有技術中IKE的超時老化時間過長的缺陷,能夠有效地甄別和檢測出攻擊者所發(fā)送的IKE請求報文所建立的半連接,并釋放所檢測到的半連接所占用的資源和連接數(shù)。因此,通過采用本實施例二提供的方法,在攻擊者通過發(fā)送包括不同的Cookie的請求報文來建立半連接從而占用資源和IKE連接數(shù)時,不僅能夠有效地避免攻擊者冒充合法IKE協(xié)商發(fā)起者發(fā)起的攻擊對其它可信任對等體對應的合法IKE協(xié)商發(fā)起者的資源的占用,而且能夠保證與攻擊者對應于同一個可信任對等體的其它合法IKE協(xié)商發(fā)起者的正常IKE協(xié)商的順利進行。
IKE會話的第一階段可以選擇主模式或野蠻模式。主模式由發(fā)起方和響應者之間交換的6條消息組成。其中前兩條消息協(xié)商策略;接下來兩條消息交換Diffie-Hellman公開值(簡稱D-H公開值)及交換所必須的隨機數(shù);最后兩條消息交換標識數(shù)據(jù)并認證Diffie-Hellman交換。野蠻模式由發(fā)起方和響應者之間的三次握手組成。前兩條消息協(xié)商策略、交換Diffie-Hellman公開值、隨機數(shù)以及身份信息。另外第二條消息還對響應者進行認證。第三條消息對發(fā)起者進行認證并提供交換參與方的身份證明。
對于主模式,IKE協(xié)議只要接收到IEK主模式協(xié)商的第三個報文就認為該過程是一個合法交互過程,在這個過程中所占用的時間有a)報文在網(wǎng)絡傳輸?shù)臅r間,這個時間包括兩個時間,一個是發(fā)出去達到對端的時間,另一個是對端相應報文到達本端的時間;b)對端生成D-H公共值的計算時間。這個時間取決于對端設備性能。
因此,上述實施例二中,當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的主模式進行協(xié)商時,所述預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式為每個可信任對等體設置對應的IKE半連接的超時時間可包括根據(jù)每個可信任對等體所對應的報文在網(wǎng)絡傳輸?shù)臅r間以及對端生成D-H公共值(IKE會話過程中需要計算的數(shù)值)的計算時間,來設置每個可信任對等體所對應的IKE半連接的超時時間。
對于野蠻模式,IKE協(xié)議只要接收到IEK野蠻模式協(xié)商的第三個報文就認為該過程是一個合法交互過程,在這個過程中所占用的時間有a)報文在網(wǎng)絡傳輸?shù)臅r間,這個時間包括兩個時間,一個是發(fā)送的報文到達對端所經(jīng)過的時間,另一個是對端相應報文到達本端所經(jīng)過的時間;b)本端成D-H公共值的計算時間。這個時間取決于本端設備性能;c)對端加密第三個消息所需要的時間,這個時間取決于對端的性能。
因此,上述實施例二中,當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的野蠻模式進行協(xié)商時,所述預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式為每個可信任對等體設置對應的IKE半連接的超時時間可包括根據(jù)每個可信任對等體所對應的報文在網(wǎng)絡傳輸?shù)臅r間、本端生成D-H公共值的計算時間以及對端對IKE協(xié)商過程的第三個消息進行加密的時間,來設置每個可信任對等體所對應的IKE半連接的超時時間。
本領域的普通技術人員應當理解,可以根據(jù)實際應用場景的需求來靈活設置上述實施例二中所述的預設的檢測時間來進行所述檢測,例如可按照預設的周期對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,也可通過使用時間戳來進行所述檢測等等,其均應在本發(fā)明技術方案所要求保護的范圍之內(nèi)。
下面在實施例三中給出了使用時間戳來進行所述檢測的具體實施方式
。
本實施例三與上述實施例二的區(qū)別在于,所述按照預設的檢測時間對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測包括在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,記錄該半連接建立時的時間戳;在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)所記錄的時間戳以及系統(tǒng)當前的時間,來計算已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間。
本實施例三在實施例二的基礎上,通過為每個可信任對等體所對應的每個半連接記錄建立時的時間戳,并在每個可信任對等體所對應的IKE會話的總連接數(shù)被耗盡時才根據(jù)所記錄的時間戳對已建立的半連接進行檢測,而非上述的按照預設的周期對已建立的半連接進行檢測。本實施例三實質(zhì)上是在每個可信任對等體所對應的IKE的總連接數(shù)被耗盡即有可能出現(xiàn)了拒絕服務攻擊時,啟動加速老化的機制,根據(jù)所記錄的時間戳對已建立的半連接進行檢測,促進攻擊報文的老化,釋放攻擊報文所占用的資源和連接數(shù);如果每個可信任對等體所對應的IKE的總連接數(shù)沒有被耗盡也即沒有出現(xiàn)攻擊現(xiàn)象,在這種半連接資源可用的情況下則不啟用加速老化,仍使用現(xiàn)有IKE協(xié)議的超時老化時間來進行半連接的老化即釋放資源處理。因此,本實施例三在達到上述實施例二所達到的技術效果的同時,相對于按照預設的周期進行檢測的方式來說,能夠更及時地對拒絕服務攻擊做出檢測處理,而在沒有受到拒絕服務攻擊時不進行檢測則能夠減少對系統(tǒng)性能的影響。
優(yōu)選地,為避免誤釋放正常IKE會話的半連接資源,在檢測到持續(xù)時間超出預設的超時時間的半連接后,可只釋放其中一部分半連接,以滿足其他IKE協(xié)商發(fā)起者進行IKE協(xié)商的需要。換言之,在上述實施例二和實施例三中,所述如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)可包括如果檢測到持續(xù)時間超過所述超時時間的半連接,則釋放所檢測到的半連接中預設數(shù)量的半連接所占用的資源和連接數(shù)。
下面在本發(fā)明會話的控制方法的實施例四中,進一步提供了實施例三中所述記錄時間戳的具體方式。本實施例四與上述實施例三的區(qū)別在于所述在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,記錄該半連接建立時的時間戳具體包括在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,在半連接狀態(tài)表中建立對應的表項,并在該表項中記錄請求報文中包括的Cookie值及建立時的時間戳,并在收到該半連接的包括所記錄的Cookie的第三個報文時刪除該表項;所述在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)所記錄的時間戳以及系統(tǒng)當前的時間,來計算已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間具體包括在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)半連接狀態(tài)表中每一個表項的時間戳以及系統(tǒng)當前的時間,來計算該表項所對應的半連接的持續(xù)時間;所述如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)具體包括如果檢測到持續(xù)時間超過所述超時時間的半連接,則刪除所檢測到的半連接中預設數(shù)量的半連接所對應的表項,并釋放所述預設數(shù)量的半連接所占用的資源和連接數(shù)。
本實施例四中進一步提供了記錄時間戳并根據(jù)時間戳來進行檢測的具體實施方式
,即將半連接包括的Cookie及對應的時間戳記錄在半連接狀態(tài)表對應的表項中;當收到該半連接的IKE會話的第三個報文(也就是發(fā)起IKE會話的請求端發(fā)送的第二個報文)時,刪除對應的表項;當每個可信任對等體所對應的IKE總連接數(shù)耗盡時檢測半連接狀態(tài)表中各表項的時間戳與系統(tǒng)當前時間的差值是否超過預設的超時時間,并釋放預設數(shù)量的檢測到的表項所占用的資源和連接數(shù)。本領域的普通技術人員應當理解,可根據(jù)具體應用場景的需求,靈活選擇所述記錄時間戳并根據(jù)時間戳來進行檢測的實施方式,其均應在本發(fā)明技術方案所要求保護的范圍之內(nèi)。
下面在表1中給出了本實施例四中所述的半連接狀態(tài)表的示例表,本領域的普通技術人員應當理解,可根據(jù)具體應用場景的需求靈活設置所述半連接狀態(tài)表的格式。
表1半連接狀態(tài)表示例表
基于上述構思,本發(fā)明還提供了一種會話的控制裝置,圖4為本發(fā)明會話的控制裝置的實施例一的結(jié)構示意圖,本實施例一包括資源預留模塊41,用于預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體,并為每個可信任對等體預留系統(tǒng)資源;控制模塊42,與所述資源預留模塊41連接,用于在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,當所述資源預留模塊41為該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所預留的系統(tǒng)資源未被全部占用時,從該可信任對等體所對應的預留系統(tǒng)資源中為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。
在上述本發(fā)明會話的控制裝置的實施例一中,通過資源預留模塊預先為每個可信任對等體預留系統(tǒng)資源,通過控制模塊在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,根據(jù)該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體的預留系統(tǒng)資源的占用狀況,來控制是否對該請求消息進行回應及分配資源,從而使得屬于不同的組的IKE協(xié)商發(fā)起者不能互相占用對方的預留系統(tǒng)資源,有效地限制了冒充合法IKE協(xié)商發(fā)起者的攻擊對系統(tǒng)資源的占用,有效地避免了攻擊者冒充一個合法IKE協(xié)商發(fā)起者發(fā)送大量IKE請求從而迅速耗盡系統(tǒng)資源并使得其它合法IKE協(xié)商發(fā)起者無法進行正常的IKE協(xié)商的情況,因此能夠大大減少攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理。并且上述技術方案適用于對抗通過冒充合法IKE協(xié)商發(fā)起者來占用系統(tǒng)資源的攻擊,而并不僅僅限于對抗DoS攻擊。
優(yōu)選地,上述本發(fā)明會話的控制裝置的實施例一中,所述資源預留模塊可包括IKE協(xié)商發(fā)起者劃分模塊,用于預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者的IP地址或IP地址所屬的網(wǎng)段劃分為多個組,每個組對應一個可信任對等體。其中,一個組中可以包含一個或者多個IKE協(xié)商發(fā)起者的IP地址,也可以使用一個或多個IP地址網(wǎng)段來包括一個或多個連續(xù)地址的IKE協(xié)商發(fā)起者。
在應用于對抗拒絕服務攻擊的應用場景時,所述資源預留模塊還可包括IKE連接預留模塊,用于為每一個可信任對等體設置預留的IKE連接數(shù)。
下面在本發(fā)明會話的控制裝置的實施例二中,在本發(fā)明會話的控制裝置的實施例一的技術方案基礎上進一步提供了對所屬組對應于同一個可信任對等體的IKE協(xié)商發(fā)起者的IKE協(xié)商所占用的資源進行控制的實施方式,從而能夠進一步地避免攻擊者所占用的資源對與攻擊者對應于同一個可信任對等體的IKE協(xié)商發(fā)起者的正常IKE協(xié)商的影響。
圖5為本發(fā)明會話的控制裝置的實施例二的結(jié)構示意圖,本實施例二與上述本發(fā)明會話的控制裝置的實施例一的區(qū)別在于,控制模塊42包括設置模塊51,用于預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式,為每個可信任對等體設置對應的IKE半連接的超時時間;檢測模塊52,與設置模塊51連接,用于按照設置模塊51所預設的檢測時間,對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
上述本發(fā)明會話的控制裝置的實施例二中,除了解決上述本發(fā)明會話的控制裝置的實施例一所解決的技術問題外,還解決了現(xiàn)有技術中的如下技術問題由于IKE協(xié)議本身規(guī)定的超時老化時間過長,無法及時地對攻擊者發(fā)送的這種攻擊的請求報文所建立的半連接進行釋放資源,從而使得攻擊者利用這種攻擊能夠很快耗盡系統(tǒng)資源,而無法及時進行緩解。針對上述技術問題,本發(fā)明會話的控制裝置的實施例二通過設置模塊51根據(jù)IKE的協(xié)商模式(包括主模式和野蠻模式)來預先設置對應的IKE半連接的超時時間,也就是說通過設置模塊51根據(jù)不同的IKE協(xié)商模式中半連接狀態(tài)的正常持續(xù)時間來預先設置對應的IKE半連接的超時時間,并且通過檢測模塊52按照預設的檢測時間對每個可信任對等體所對應的已建立的半連接的持續(xù)時間進行檢測,對持續(xù)時間超出設置模塊51所預先設置的超時時間的半連接,釋放其占用的資源和連接數(shù),從而能夠有效地克服現(xiàn)有技術的缺陷,通過預設的超時時間對半連接的持續(xù)時間進行有效地控制,在攻擊者通過發(fā)送包括不同的Cookie的請求報文來建立半連接從而占用資源和IKE連接數(shù)時,能夠及時地釋放超出超時時間的半連接所占用的資源和連接數(shù),從而保證其它IKE協(xié)商發(fā)起者的正常IKE協(xié)商的順利進行。因此,上述本發(fā)明會話的控制裝置的實施例二不僅能夠有效地避免攻擊者冒充合法IKE協(xié)商發(fā)起者發(fā)起的攻擊對其它可信任對等體對應的合法IKE協(xié)商發(fā)起者的資源的占用,而且能夠及時地釋放每個可信任對等體所對應的超出超時時間的半連接所占用的資源和連接數(shù),保證與攻擊者對應于同一個可信任對等體的其它合法IKE協(xié)商發(fā)起者的正常IKE協(xié)商的順利進行。
同樣地,上述本發(fā)明會話的控制裝置的實施例二中,針對IKE會話的第一階段可選擇的不同協(xié)商模式,當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的主模式進行協(xié)商時,所述設置模塊51可包括主模式設置模塊,用于根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間以及對端生成D-H公共值的計算時間,來設置對應的IKE半連接的超時時間;當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的野蠻模式進行協(xié)商時,所述設置模塊51可包括野蠻模式設置模塊,用于根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間、本端生成D-H公共值的計算時間以及對端對IKE協(xié)商過程的第三個消息進行加密的時間,來設置對應的IKE半連接的超時時間。
本領域的普通技術人員應當理解,可以根據(jù)實際應用場景的需求來靈活設置上述本發(fā)明會話的控制裝置的實施例一中所述的檢測模塊52的檢測方式,例如檢測模塊52可按照預設的周期對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,也可通過使用時間戳來進行所述檢測等等,其均應在本發(fā)明技術方案所要求保護的范圍之內(nèi)。因此上述本發(fā)明會話的控制裝置的實施例二中,檢測模塊51可包括周期檢測模塊,與設置模塊連接,用于按照設置模塊所預設的周期對已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測。下面在本發(fā)明會話的控制裝置的實施例三中給出了檢測模塊51使用時間戳來進行所述檢測的具體實施方式
。
圖6為本發(fā)明會話的控制裝置的實施例三的結(jié)構示意圖,本實施例三與上述本發(fā)明會話的控制裝置的實施例二的區(qū)別在于檢測模塊52具體包括時間戳記錄模塊61,用于在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,記錄該半連接建立時的時間戳;時間戳檢測模塊62,與時間戳記錄模塊61及設置模塊51連接,用于在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)時間戳記錄模塊61所記錄的時間戳以及系統(tǒng)當前的時間,來計算每個可信任對等體所對應的已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間,如果有持續(xù)時間超過設置模塊51所設置的超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
本實施例三在實施例二的基礎上,通過時間戳記錄模塊61為每個可信任對等體所對應的每個半連接記錄建立時的時間戳,并通過時間戳檢測模塊62在IKE會話的總連接數(shù)被耗盡時才根據(jù)所記錄的時間戳對每個可信任對等體所對應的已建立的半連接進行檢測,而非上述的按照預設的周期對每個可信任對等體所對應的已建立的半連接進行檢測。本實施例三實質(zhì)上是在每個可信任對等體所對應的IKE的總連接數(shù)被耗盡即有可能出現(xiàn)了拒絕服務攻擊時,啟動加速老化的機制,根據(jù)所記錄的時間戳對已建立的半連接進行檢測,促進攻擊報文的老化,釋放攻擊報文所占用的資源和連接數(shù);如果每個可信任對等體所對應的IKE的總連接數(shù)沒有被耗盡也即沒有出現(xiàn)攻擊現(xiàn)象,在這種半連接資源可用的情況下則不啟用加速老化,仍使用現(xiàn)有IKE協(xié)議的超時老化時間來進行半連接的老化即釋放資源處理。因此,本實施例三在達到上述實施例二所達到的技術效果的同時,相對于按照預設的周期進行檢測的方式來說,能夠更及時地對拒絕服務攻擊做出檢測處理,而在沒有受到拒絕服務攻擊時不進行檢測則能夠減少對系統(tǒng)性能的影響。
優(yōu)選地,為避免誤釋放正常IKE會話的半連接資源,在檢測到持續(xù)時間超出預設的超時時間的半連接后,可只釋放其中一部分半連接,以滿足其他IKE協(xié)商發(fā)起者進行IKE協(xié)商的需要。換言之,上述本發(fā)明會話的控制裝置的實施例二和實施例三中,檢測模塊62還可包括半連接釋放數(shù)量設置模塊,用于預先設置對所檢測到的半連接進行釋放的數(shù)量,該數(shù)量用于檢測模塊在檢測到持續(xù)時間超過所述超時時間的半連接時,釋放所檢測到的半連接中該數(shù)量的半連接所占用的資源和連接數(shù)。
下面在本發(fā)明會話的控制裝置的實施例四中進一步提供了實施例三中所述時間戳記錄模塊61記錄時間戳以及時間戳檢測模塊62根據(jù)時間戳進行檢測的具體方式。
本發(fā)明會話的控制裝置的實施例四與上述本發(fā)明會話的控制裝置的實施例三的區(qū)別在于時間戳記錄模塊61包括半連接狀態(tài)表項建立模塊以及半連接狀態(tài)表項刪除模塊;所述半連接狀態(tài)表項建立模塊用于在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,在半連接狀態(tài)表中建立對應的表項,并在該表項中記錄請求報文中包括的Cookie值及建立時的時間戳;所述半連接狀態(tài)表項刪除模塊用于在收到該半連接的包括所記錄的Cookie的第三個報文時刪除該表項。時間戳檢測模塊62包括半連接狀態(tài)表項檢測模塊以及半連接釋放模塊;所述半連接狀態(tài)表項檢測模塊用于在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)半連接狀態(tài)表中每一個表項的時間戳以及系統(tǒng)當前的時間,來計算該表項所對應的半連接的持續(xù)時間;所述半連接釋放模塊與所述半連接狀態(tài)表項檢測模塊及設置模塊連接,用于如果所述半連接狀態(tài)表項檢測模塊檢測到持續(xù)時間超過設置模塊所設置的超時時間的半連接,則刪除所檢測到的半連接中預設數(shù)量的半連接所對應的表項,并釋放所述預設數(shù)量的半連接所占用的資源和連接數(shù)。
本實施例四中進一步提供了記錄時間戳并根據(jù)時間戳來進行檢測的具體實施方式
,即通過半連接狀態(tài)表項建立模塊將半連接包括的Cookie及對應的時間戳記錄在半連接狀態(tài)表對應的表項中;當收到該半連接的IKE會話的第三個報文(也就是發(fā)起IKE會話的請求端發(fā)送的第二個報文)時,通過半連接狀態(tài)表項刪除模塊刪除對應的表項;當每個可信任對等體所對應的IKE總連接數(shù)耗盡時,通過半連接狀態(tài)表項檢測模塊檢測半連接狀態(tài)表中各表項的時間戳與系統(tǒng)當前時間的差值是否超過預設的超時時間,并通過半連接釋放模塊釋放預設數(shù)量的檢測到的表項所占用的資源和連接數(shù)。本領域的普通技術人員應當理解,可根據(jù)具體應用場景的需求,靈活選擇所述記錄時間戳并根據(jù)時間戳來進行檢測的實施方式,其均應在本發(fā)明技術方案所要求保護的范圍之內(nèi)。
以上實施例僅用以說明本發(fā)明的技術方案,而非對本發(fā)明作限制性理解。盡管參照上述較佳實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解其依然可以對本發(fā)明的技術方案進行修改或者等同替換,而這種修改或者等同替換并不脫離本發(fā)明技術方案的精神和范圍。
權利要求
1.一種會話的控制方法,其特征在于,包括預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體,并為每個可信任對等體預留系統(tǒng)資源;在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,當該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所對應的預留系統(tǒng)資源未被全部占用時,從該可信任對等體所對應的預留系統(tǒng)資源中為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。
2.根據(jù)權利要求1所述的方法,其特征在于,所述預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體具體包括預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者的IP地址或IP地址所屬的網(wǎng)段劃分為多個組,每個組對應一個可信任對等體。
3.根據(jù)權利要求1所述的方法,其特征在于,所述為每個可信任對等體預留系統(tǒng)資源具體包括為每一個可信任對等體設置預留的IKE連接數(shù)。
4.根據(jù)權利要求3所述的方法,其特征在于,還包括預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式,為每個可信任對等體設置對應的IKE半連接的超時時間;按照預設的檢測時間對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
5.根據(jù)權利要求4所述的方法,其特征在于,所述預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式為每個可信任對等體設置對應的IKE半連接的超時時間包括當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的主模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間以及對端生成D-H公共值的計算時間,來設置對應的IKE半連接的超時時間;當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的野蠻模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間、本端生成D-H公共值的計算時間以及對端對IKE協(xié)商過程的第三個消息進行加密的時間,來設置對應的IKE半連接的超時時間。
6.根據(jù)權利要求4所述的方法,其特征在于,所述按照預設的檢測時間對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測包括按照預設的周期對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測;和/或在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,記錄該半連接建立時的時間戳;在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)所記錄的時間戳以及系統(tǒng)當前的時間,來計算已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間。
7.根據(jù)權利要求6所述的方法,其特征在于所述在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,記錄該半連接建立時的時間戳具體包括在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,在半連接狀態(tài)表中建立對應的表項,并在該表項中記錄請求報文中包括的Cookie值及建立時的時間戳,并在收到該半連接的包括所記錄的Cookie的第三個報文時刪除該表項;所述在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)所記錄的時間戳以及系統(tǒng)當前的時間,來計算已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間具體包括在每個可信任對等體所對應的因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)半連接狀態(tài)表中每一個表項的時間戳以及系統(tǒng)當前的時間,來計算該表項所對應的半連接的持續(xù)時間;所述如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)具體包括如果檢測到持續(xù)時間超過所述超時時間的半連接,則刪除所檢測到的半連接中預設數(shù)量的半連接所對應的表項,并釋放所述預設數(shù)量的半連接所占用的資源和連接數(shù)。
8.一種會話的控制裝置,其特征在于,包括資源預留模塊,用于預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體,并為每個可信任對等體預留系統(tǒng)資源;控制模塊,與所述資源預留模塊連接,用于在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,當所述資源預留模塊為該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所預留的系統(tǒng)資源未被全部占用時,從該可信任對等體所對應的預留系統(tǒng)資源中為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述資源預留模塊包括IKE協(xié)商發(fā)起者劃分模塊,用于預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者的IP地址或IP地址所屬的網(wǎng)段劃分為多個組,每個組對應一個可信任對等體。
10.根據(jù)權利要求8所述的裝置,其特征在于,所述資源預留模塊包括IKE連接預留模塊,用于為每一個可信任對等體設置預留的IKE連接數(shù)。
11.根據(jù)權利要求8所述的裝置,其特征在于,所述控制模塊包括設置模塊,用于預先根據(jù)因特網(wǎng)密鑰交換協(xié)議的協(xié)商模式,為每個可信任對等體設置對應的IKE半連接的超時時間;檢測模塊,與設置模塊連接,用于按照設置模塊所預設的檢測時間,對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測,如果有持續(xù)時間超過所述超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
12.根據(jù)權利要求11所述的裝置,其特征在于,所述設置模塊包括主模式設置模塊,用于當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的主模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間以及對端生成D-H公共值的計算時間,來設置對應的IKE半連接的超時時間;和/或野蠻模式設置模塊,用于當可信任對等體對應的IKE協(xié)商發(fā)起者使用因特網(wǎng)密鑰交換協(xié)議的野蠻模式進行協(xié)商時,根據(jù)報文在網(wǎng)絡傳輸?shù)臅r間、本端生成D-H公共值的計算時間以及對端對IKE協(xié)商過程的第三個消息進行加密的時間,來設置對應的IKE半連接的超時時間。
13.根據(jù)權利要求11所述的裝置,其特征在于,所述檢測模塊包括周期檢測模塊,與設置模塊連接,用于按照設置模塊所預設的周期對每個可信任對等體所對應的、已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間進行檢測;和/或時間戳記錄模塊,用于在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,記錄該半連接建立時的時間戳;時間戳檢測模塊,與時間戳記錄模塊及設置模塊連接,用于在每個可信任對等體所對應的、因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)所記錄的時間戳以及系統(tǒng)當前的時間,來計算已建立的因特網(wǎng)密鑰交換協(xié)議會話的半連接的持續(xù)時間,如果有持續(xù)時間超過設置模塊所設置的超時時間的半連接,則釋放該半連接所占用的資源和連接數(shù)。
14.根據(jù)權利要求13所述的裝置,其特征在于所述時間戳記錄模塊包括半連接狀態(tài)表項建立模塊以及半連接狀態(tài)表項刪除模塊;所述半連接狀態(tài)表項建立模塊用于在建立每個可信任對等體所對應的每個因特網(wǎng)密鑰交換協(xié)議會話的半連接時,在半連接狀態(tài)表中建立對應的表項,并在該表項中記錄請求報文中包括的Cookie值及建立時的時間戳;所述半連接狀態(tài)表項刪除模塊用于在收到該半連接的包括所記錄的Cookie的第三個報文時刪除該表項;所述時間戳檢測模塊包括半連接狀態(tài)表項檢測模塊以及半連接釋放模塊;所述半連接狀態(tài)表項檢測模塊用于在每個可信任對等體所對應的、因特網(wǎng)密鑰交換協(xié)議會話的總連接數(shù)被耗盡時,根據(jù)半連接狀態(tài)表中每一個表項的時間戳以及系統(tǒng)當前的時間,來計算該表項所對應的半連接的持續(xù)時間;所述半連接釋放模塊與所述半連接狀態(tài)表項檢測模塊及設置模塊連接,用于如果所述半連接狀態(tài)表項檢測模塊檢測到持續(xù)時間超過設置模塊所設置的超時時間的半連接,則刪除所檢測到的半連接中預設數(shù)量的半連接所對應的表項,并釋放所述預設數(shù)量的半連接所占用的資源和連接數(shù)。
全文摘要
本發(fā)明公開了一種會話的控制方法,包括預先將系統(tǒng)的合法IKE協(xié)商發(fā)起者劃分為多個組,每個組對應一個可信任對等體,并為每個可信任對等體預留系統(tǒng)資源;在收到IKE協(xié)商發(fā)起者發(fā)送的IKE協(xié)商過程的第一個請求消息后,當該IKE協(xié)商發(fā)起者所屬的組對應的可信任對等體所對應的預留系統(tǒng)資源未被全部占用時,從該可信任對等體所對應的預留系統(tǒng)資源中為該IKE協(xié)商過程分配對應的系統(tǒng)資源,并向該IKE協(xié)商發(fā)起者返回回應消息。本發(fā)明還公開了一種會話的控制裝置。本發(fā)明能夠有效地克服現(xiàn)有技術的缺陷,大大減少攻擊對系統(tǒng)資源的占用,保證對正常的因特網(wǎng)密鑰交換協(xié)議協(xié)商的處理。
文檔編號H04L9/00GK101022458SQ200710064719
公開日2007年8月22日 申請日期2007年3月23日 優(yōu)先權日2007年3月23日
發(fā)明者徐慶偉 申請人:杭州華為三康技術有限公司