專利名稱:空閑模式下防止消息重放攻擊的方法
技術領域:
本發(fā)明涉及無線接入系統領域,特別是指一種空閑模式下防止消息重放攻擊的方法。
背景技術:
802.16e標準定義了移動寬帶無線接入系統的空中接口標準,802.16e網絡至少由移動用戶臺(MSS)、基站(BS)組成。多個BS可以組成一個組,稱為尋呼組(Paging Group)。尋呼組的目的是構成一個連續(xù)的區(qū)域,在這個區(qū)域內處于空閑模式的MSS沒有必要發(fā)送上行業(yè)務,但是可以通過下行尋呼信道來判斷是否有發(fā)送給它的下行業(yè)務。
空閑模式是IEEE 802.16e標準定義的一種終端工作模式,其特點是MSS可以在尋呼組的區(qū)域內移動,每隔一定的周期接收下行廣播業(yè)務消息,以得知是否有下行業(yè)務發(fā)送;并且,MSS在這個區(qū)域內漫游過程中不必在小區(qū)內向小區(qū)的BS進行注冊;當MSS漫游到該區(qū)域內不同小區(qū)時,也不必進行切換等正常操作流程,以利于MSS節(jié)省功率和空口資源。
在與某個服務基站(Serving BS)的正常操作過程中,MSS可以通過發(fā)送消息請求進入空閑模式。類似的,Serving BS也可以通過發(fā)送消息主動要求MSS進入空閑模式。當MSS中斷與Serving BS的正常操作過程進入空閑模式后,尋呼控制器(Serving BS或其它控制MSS空閑模式活動的網絡實體)需要保存一些MSS業(yè)務信息,這里,稱尋呼控制器保存的MSS業(yè)務信息為MSS注冊信息。
在空閑模式下,MSS會周期性的向尋呼控制器發(fā)起位置更新請求。尋呼控制器接收到MSS發(fā)送的位置更新請求消息以后發(fā)送響應消息,指示MSS位置更新請求成功或失敗。位置更新的意義在于MSS可以定時通知尋呼控制器,它還在這個尋呼組的控制范圍內。如果只是在一個尋呼組內漫游,位置更新請求不會引起MSS和尋呼控制器之間的任何動作。當MSS跨越尋呼組漫游時,新的尋呼組控制器在收到MSS的位置更新請求時,發(fā)現位置更新請求消息中的尋呼控制器標識(Paging Controller ID)不是自己的PagingController ID,就會發(fā)送響應消息,通知MSS位置更新成功,同時通過骨干網通知原尋呼組該MSS已移動到了新的尋呼組,原尋呼組控制器就會將存儲的這個MSS的注冊信息發(fā)送給新尋呼組的尋呼控制器。
802.16系統中通過HMAC-Digest對消息實現認證,HMAC-Digest是通信雙方基于共享密鑰對消息體進行摘要計算得到的一個消息認證碼。發(fā)送方在發(fā)送消息前利用雙方在認證過程中交換的共享密鑰和消息體(包括消息頭)一起計算,得到一個加密的消息摘要,即HMAC-Digest,接收方在收到消息后進行同樣的計算得到一個HMAC-Digest,并與隨消息發(fā)送的HMAC-Digest進行比較,就能實現對消息發(fā)送方的認證。
MSS在空閑模式下的位置更新請求中包含了HMAC-Digest,由于MSS在空閑模式下漫游到不同BS時,不需要進行切換過程,也就不會和新的BS進行認證。如何對這些管理消息中的HMAC-Digest進行認證,現有的機制是上述的在尋呼控制器上保存MSS注冊信息,其中就包括了MSS與進入空閑模式時所在的BS的密鑰信息,每次發(fā)起的位置更新請求中都指示了當前這些密鑰信息所在的尋呼控制器,這些密鑰信息可以用于對空閑模式中的管理消息進行HMAC-Digest認證?,F有技術中的位置更新請求包含的內容還包括有尋呼組的尋呼控制器ID,消息的目標BSID和其它相關信息等。
重放攻擊是一種常見的網絡攻擊方法,攻擊者在通信雙方(A、B)的某次交互過程中截獲A(或B)發(fā)送的消息,在以后的某個合適的時機,向B(或A)重新發(fā)送它截獲的消息,如果每次消息交互過程都是一樣的,而且消息中沒有包含足夠的信息使得B(或A)能判斷消息是第一次發(fā)起的還是重放的信息。攻擊者就能冒充通信中的一方去欺騙另一方,從而達到攻擊網絡的目的。
現有技術保證了對消息的認證,但是沒有提供抵御重放攻擊的機制,結合圖1,通過下面的分析過程,來介紹攻擊者怎樣實施重放攻擊步驟101MSS在尋呼組A中的某個BS上進入空閑模式,該過程是由MSS請求或BS主動通知MSS完成的,MSS進入空閑模式后,需要在尋呼控制器A(ID=1)上保存MSS的相關注冊信息(如密鑰信息);步驟102MSS從尋呼組A漫游到尋呼組B;步驟103MSS在新的尋呼組B中發(fā)起第一次位置更新請求,當前BS的BSID=2,所以該位置更新請求包含的信息有Paging Controller ID=1,Target BSID=2,CID=0等。對該消息進行認證后(這時消息的認證應該送到尋呼控制器A上完成),原來保存在尋呼控制器A(ID=1)上的MSS保留信息通過骨干網轉移到尋呼控制器B(ID=2)上;步驟104攻擊者(Attacker)在該位置截獲MSS發(fā)起的這次位置更新請求消息,并保存起來;步驟105MSS在尋呼組內漫游,最后漫游到BSID=3的小區(qū),中間可能會發(fā)起多次位置更新請求,請求消息包含的信息有Paging ControllerID=2,Target BSID(根據發(fā)起位置更新請求時所在的BS而定),CID=0等;步驟106MSS從尋呼組B漫游回到尋呼組A;步驟107MSS在尋呼組A內發(fā)起位置更新請求,該請求消息包含的信息有Paging Controller ID=2,Target BSID=4,CID=0等。對消息經過認證后,原來保存在尋呼控制器B(ID=2)上的MSS保留信息通過骨干網轉移到尋呼控制器A(ID=1)上;步驟108攻擊者在MSS漫游到尋呼組B并發(fā)起第一次位置更新請求的位置重放它截獲的位置更新請求,該重放的請求消息包含的信息有Paging Controller ID=1,Taget BSID=2,CID=0等。由于這時MSS已經漫游回到尋呼組A,MSS的保留信息也正好存儲在尋呼組A的尋呼控制器上,所以重放攻擊得以成功,消息經過認證后,保存在尋呼控制器A(ID=1)上的MSS保留信息通過骨干網轉移到尋呼控制器B(ID=2)上,而這時MSS的實際位置在尋呼組A中,但系統會認為MSS已經漫游到尋呼組B中,所以會出現尋呼不到MSS的情況。
從上面的分析可以知道,在空閑模式下,MSS發(fā)起位置更新消息時,可以被攻擊者截獲用于重放攻擊,進而會導致終端無法被尋呼到。
發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供一種在802.16e系統空閑模式下防止消息重放攻擊的方法。
本發(fā)明提供了一種防止重放攻擊的方法,用于終端在空閑模式下發(fā)起位置更新的過程,第一尋呼控制器保存有終端的注冊信息,該方法包括以下步驟A、終端發(fā)送位置更新請求消息,該消息至少包含一個認證信息;B、第一尋呼控制器接收位置更新請求消息,判斷所述認證信息是否使用過,若是,則丟棄該消息,結束;否則響應位置更新操作。
其中,所述終端處于第一尋呼控制器區(qū)域內,步驟B所述響應位置更新操作為接受所述位置更新請求消息。
其中,進一步包括第二尋呼控制器,終端處于第二尋呼控制器區(qū)域內;終端和第一尋呼控制器之間的消息通過所述第二尋呼控制器進行中轉;步驟B所述響應位置更新操作為接受所述位置更新請求消息,第一尋呼控制器將保存的終端的注冊信息發(fā)送給第二尋呼控制器。
其中,終端上保存有序列號,第一尋呼控制器保存的終端注冊信息中包含有相同的序列號;步驟A所述認證信息是將終端所保存的序列號進行一次遞增運算所得到的新的序列號;步驟B判斷所述認證信息是否使用過的步驟為判斷所述新的序列號是否不大于該尋呼控制器所保存的終端注冊信息中包含的序列號;步驟B所述響應位置更新操作的步驟進一步包括將所保存的終端注冊信息中包含的序列號更新為接收到的位置更新請求消息中新的序列號。
其中,步驟A所述認證信息是終端發(fā)送位置更新請求消息時的時間戳;步驟B判斷所述認證信息是否使用過的步驟為判斷所述時間戳是否在該尋呼控制器當前時間的允許誤差值外。
其中,步驟A所述終端發(fā)送位置更新請求消息前,進一步包括使用某算法對所述包含認證信息的位置更新請求消息生成認證碼,并攜帶在所述位置更新請求消息中;步驟B所述接收位置更新請求消息后,進一步包括使用相同算法對接收到的該位置更新請求消息生成認證碼,與該位置更新請求消息中的認證碼進行比較認證;若認證失敗,則結束,否則繼續(xù)后續(xù)步驟。所述的某算法可為HMAC-Digest算法。
其中,步驟B所述響應位置更新操作后進一步包括D、所述第一尋呼控制器向終端發(fā)送響應消息,該響應消息包含其接收到的認證信息;E、終端接收響應消息,判斷該消息中的認證信息是否與其發(fā)送的位置更新請求消息中的認證信息相同,是,則接收該響應消息,否則丟棄該消息。
由上述方法可以看出,本發(fā)明在位置更新請求消息中加入按一定規(guī)則變化的參數,如遞增的序列號、時間戳,由尋呼控制器判斷該參數是否出現過,來識別出重放消息,并在判斷為重放消息時將其丟棄,以進行對重放攻擊的抵御。
圖1為終端發(fā)生位置更新的示意圖。
圖2是序列號的位置更新流程圖。
圖3是使用時間戳的位置更新流程圖。
具體實施例方式
重放攻擊是將先前截獲的消息在以后的某個合適的時機不加修改的進行重放,以達到攻擊的目的。為了有效的阻止消息的重放攻擊,保證發(fā)送的消息在足夠長的時間里不出現重復是一個有效的方法。
實際上,空閑模式下的MSS連續(xù)保持空閑模式的時間是有限的,所以只要在消息中加入連續(xù)變化并在足夠長的一段時間內保持唯一的認證信息,就能有效地阻止攻擊者對消息進行重放。因為攻擊者在某次交互中截獲了MSS發(fā)出的位置更新請求消息,它在一定時間里進行重放的話,都會被識別出是個重放的消息,而無法利用這個消息進行重放攻擊。而當MSS結束空閑模式進入正常操作模式后,MSS會與網絡進行重接入和認證,這時,由于密鑰信息的改變,攻擊者截獲的消息則會徹底失去重放的價值。
下面以一個遞增的數值作為連續(xù)變化的認證信息為例,并參見圖2,對本發(fā)明的阻止重放攻擊的方法進行詳細說明。
預先需要在MSS上設置一個n位(要求n足夠大,以保證在足夠長的時間內不重復,初始值為0)的數值作為位置更新序列號。MSS請求進入空閑模式時,在當前尋呼組的尋呼控制上將該序列號初始化為0。在MSS空閑狀態(tài)發(fā)起位置更新時,包括以下步驟步驟201MSS將自身維護的序列號加1更新,將新的序列號置于位置更新請求消息(RNG-REQ)中,并對該RNG-REQ計算出HMAC-Digest,將HMAC-Digest置于RNG-REQ消息中,一并發(fā)送給尋呼控制器B。
步驟202尋呼控制器B收到RNG-REQ消息,讀取RNG-REQ中記錄的尋呼控制器ID(Paging Controller ID),并判斷與自身的尋呼控制器ID是否相同,若是,則表示MSS處于本尋呼組內,直接轉步驟205;否則,將請求消息轉發(fā)給RNG-REQ中記錄的尋呼控制器ID對應的原尋呼控制器A,執(zhí)行下一步。
步驟203原尋呼控制器A接收到RNG-REQ,讀取出該消息中的位置更新序列號,與自己所保存的該MSS的注冊信息中的位置更新序列號進行比較,若讀取的RNG-REQ中的序列號小于或等于所保存的序列號,則認為該RNG-REQ是一個重放消息而將其丟棄,并結束當前位置更新過程;若讀取的RNG-REQ中的序列號大于所保存的序列號,則認為該RNG-REQ是一個新的位置更新請求消息,尋呼控制器A用保存的該MSS的注冊信息中的密鑰對RNG-REQ消息進行認證,認證通過后,生成位置更新成功的響應消息,并在響應消息中包含所接收的RNG-REQ中的序列號并計算HMAC-Digest。同時,尋呼控制器A并用所接收的RNG-REQ中的序列號替換原保存的序列號。
步驟204尋呼控制器A將保存的該MSS的注冊信息和該位置更新響應消息傳送給尋呼控制器B,尋呼控制器B接收并保存所述MSS的注冊信息,以及向MSS轉發(fā)位置更新響應消息,同時,原尋呼控制器A刪除其保存的MSS的注冊信息,轉步驟206。
步驟205尋呼控制器B接收RNG-REQ消息,判斷是否是消息重放攻擊,若是,則將其丟棄,并結束當前位置更新過程;否則進行認證后生成相應的響應信息,尋呼控制器B并用新的序列號替換更新原保存的序列號。該步驟和步驟203所述過程相同,故未具體描述。
步驟206MSS在收到響應消息后,判斷消息中的序列號和發(fā)送的請求消息中的序列號是否相同。如果相同,表明是一個正確的響應,否則,將其丟棄。
當MSS結束空閑模式并與某個BS成功進行了重接入后,通知當前尋呼控制器刪除保存的序列號。上述是以遞增的序列號為例進行說明,不難理解,遞增的幅度并不局限于上述的1,并且當遞增的幅度為負值時,便相當于遞減。
通過上述過程,由于重放消息的序列號記錄必然不大于尋呼控制器上記錄的序列號,因此可以識別出重放消息而進行防御這種重放攻擊。
下面再以時間戳作為連續(xù)變化的認證信息為例,并參見圖3,對本發(fā)明的阻止重放攻擊的方法進一步詳細說明。
采用這種方法的前提是要求802.16e系統中所有的尋呼控制器都在時鐘上達到同步,這一點在現實中已經可以實現,例如,MSS在漫游到新的尋呼組時,通過接收該尋呼組的廣播消息,并根據該消息中的時鐘便可以和新的尋呼控制器獲得時鐘同步。
采用這種方法,需要修改802.16e中位置更新請求(RNG-REQ)和響應(RNG-RSP)消息的格式,在消息中增加時間戳的TLV(Type Length Value)編碼。在802.16協議中增加時間戳的TLV編碼(Timestamp Encoding),時間戳的格式可以如下表1所示
表1在MSS空閑狀態(tài)發(fā)起位置更新時,包括以下步驟步驟301MSS發(fā)送位置更新請求消息(RNG-REQ)時,MSS在消息中加入時間戳(Timestamp)信息,并對整個消息體進行HMAC-Digest計算,一并發(fā)送給尋呼控制器B。
步驟302尋呼控制器B判斷MSS是否處于本尋呼組內(判斷方法參見步驟202),是,則直接轉步驟305;否則,將請求消息轉發(fā)給RNG-REQ中記錄的尋呼控制器ID對應的原尋呼控制器A,執(zhí)行下一步。
步驟303原尋呼控制器A接收到RNG-REQ,讀取出該消息中的時間戳,與自己的時鐘進行相比,若在限定的時間差額范圍外,則認為該RNG-REQ是一個重放消息而將其丟棄,并結束當前位置更新過程;若在限定的時間差額范圍內(如在幾十秒內),則認為該RNG-REQ是一個新的消息,尋呼控制器A用保存的該MSS的注冊信息中的密鑰對RNG-REQ消息進行認證,認證通過后,生成位置更新成功的響應消息,并在響應消息中包含所接收的時間戳并計算HMAC-Digest。
步驟304尋呼控制器A將保存的該MSS的注冊信息和該位置更新響應消息傳送給尋呼控制器B,尋呼控制器B接收并保存所述MSS的注冊信息,以及向MSS轉發(fā)位置更新響應消息,同時,原尋呼控制器A刪除其保存的MSS的注冊信息,轉步驟306。
步驟305尋呼控制器B判斷是否是重放消息,判斷方法與步驟303相同。并且在判斷為重放消息時,結束;判斷為不是重放消息時,生成響應消息發(fā)送給MSS。
步驟306MSS在收到響應消息后,判斷消息中的時間戳和發(fā)送的請求消息中的時間戳是否相同。如果相同,表明是一個正確的響應,否則,將其丟棄。
關于步驟206、306,MSS對該響應消息的判斷不會對位置更新過程產生任何影響。但是MSS可以根據該消息中的其它信息,決定在空閑模式下的行為(如什么時候醒來接收尋呼消息等)。這些過程和本專利關系不大,故此處不再詳述。
通過上述過程,由于重放消息的時間戳記錄的時刻不會與尋呼控制器上的時間相同(在時間差范圍內),因此可以識別出重放消息而進行防御這種攻擊。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種防止重放攻擊的方法,用于終端在空閑模式下發(fā)起位置更新的過程,第一尋呼控制器保存有終端的注冊信息,其特征在于,該方法包括以下步驟A、終端發(fā)送位置更新請求消息,該消息至少包含一個認證信息;B、第一尋呼控制器接收位置更新請求消息,判斷所述認證信息是否使用過,若是,則丟棄該消息,結束;否則響應位置更新操作。
2.根據權利要求1所述的方法,其特征在于,所述終端處于第一尋呼控制器區(qū)域內,步驟B所述響應位置更新操作為接受所述位置更新請求消息。
3.根據權利要求1所述的方法,其特征在于,進一步包括第二尋呼控制器,終端處于第二尋呼控制器區(qū)域內;終端和第一尋呼控制器之間的消息通過所述第二尋呼控制器進行中轉;步驟B所述響應位置更新操作為接受所述位置更新請求消息,第一尋呼控制器將保存的終端的注冊信息發(fā)送給第二尋呼控制器。
4.根據權利要求1所述的方法,其特征在于,終端上保存有序列號,第一尋呼控制器保存的終端注冊信息中包含有相同的序列號;步驟A所述認證信息是將終端所保存的序列號進行一次遞增運算所得到的新的序列號;步驟B判斷所述認證信息是否使用過的步驟為判斷所述新的序列號是否不大于該尋呼控制器所保存的終端注冊信息中包含的序列號;步驟B所述響應位置更新操作的步驟進一步包括將所保存的終端注冊信息中包含的序列號更新為接收到的位置更新請求消息中新的序列號。
5.根據權利要求1所述的方法,其特征在于,步驟A所述認證信息是終端發(fā)送位置更新請求消息時的時間戳;步驟B判斷所述認證信息是否使用過的步驟為判斷所述時間戳是否在該尋呼控制器當前時間的允許誤差值外。
6.根據權利要求1、4或5所述的方法,其特征在于,步驟A所述終端發(fā)送位置更新請求消息前,進一步包括使用某算法對所述包含認證信息的位置更新請求消息生成認證碼,并攜帶在所述位置更新請求消息中;步驟B所述接收位置更新請求消息后,進一步包括使用相同算法對接收到的該位置更新請求消息生成認證碼,與該位置更新請求消息中的認證碼進行比較認證;若認證失敗,則結束,否則繼續(xù)后續(xù)步驟。
7.根據權利要求6所述的方法,其特征在于,所述的某算法為HMAC-Digest算法。
8.根據權利要求1所述的方法,其特征在于,步驟B所述響應位置更新操作后進一步包括D、所述第一尋呼控制器向終端發(fā)送響應消息,該響應消息包含其接收到的認證信息;E、終端接收響應消息,判斷該消息中的認證信息是否與其發(fā)送的位置更新請求消息中的認證信息相同,是,則接收該響應消息,否則丟棄該消息。
全文摘要
本發(fā)明提供了一種防止重放攻擊的方法,用于終端在空閑模式下發(fā)起位置更新的過程,第一尋呼控制器保存有終端的注冊信息,包括以下步驟A)終端發(fā)送位置更新請求消息,該消息至少包含一個認證信息;B)第一尋呼控制器接收位置更新請求消息,判斷所述認證信息是否使用過,若是,則丟棄該消息,結束;否則接受所述位置更新請求消息。其中,當還包括第二尋呼控制器、且終端處于第二尋呼控制器區(qū)域內時;終端和第一尋呼控制器之間的消息通過所述第二尋呼控制器進行中轉;且步驟B還包括第一尋呼控制器將保存的終端的注冊信息發(fā)送給第二尋呼控制器。使用該方法,可以有效抵御空閑模式下的消息重放攻擊。
文檔編號H04W12/08GK1780468SQ20041009134
公開日2006年5月31日 申請日期2004年11月19日 優(yōu)先權日2004年11月19日
發(fā)明者肖正飛, 李永茂 申請人:華為技術有限公司