一种空闲模式下防止消息重放攻击的方法

文档序号:7599519阅读:149来源:国知局
专利名称:一种空闲模式下防止消息重放攻击的方法
技术领域
本发明涉及无线接入系统领域,特别是指一种空闲模式下防止消息重放攻击的方法。
背景技术
802.16e标准定义了移动宽带无线接入系统的空中接口标准,802.16e网络中,至少包括移动用户台(MSS)、基站(BS)。其中,多个BS可以组成一个组,称为寻呼组(Paging Group)。寻呼组的目的是构成一个连续的区域,在这个区域内处于空闲模式的MSS没有必要发送上行业务,但是可以通过下行寻呼信道来判断是否有发送给它的下行业务。
空闲模式是IEEE 802.16e标准定义的一种终端工作模式,其特点是MSS可以在寻呼组的区域内移动,每隔一定的周期接收下行广播业务消息,以得知是否有下行业务发送;并且,MSS在这个区域内漫游过程中不必在小区内向小区的BS进行注册;当MSS漫游到该区域内不同小区时,也不必进行切换等正常操作流程,以利于MSS节省功率和空口资源。
在与某个服务基站(Serving BS)的正常操作过程中,MSS可以通过发送消息请求进入空闲模式。类似的,Serving BS也可以通过发送消息主动要求MSS进入空闲模式。当MSS中断与Serving BS的正常操作过程进入空闲模式后,寻呼控制器(Serving BS或其它控制MSS空闲模式活动的网络实体)需要保存一些MSS业务信息,这里,称寻呼控制器保存的MSS业务信息为MSS注册信息。
在空闲模式下,MSS会周期性的向寻呼控制器发起位置更新请求。寻呼控制器接收到MSS发送的位置更新请求消息以后发送响应消息,指示MSS位置更新请求成功或失败。位置更新的意义在于MSS可以定时通知寻呼控制器,它还在这个寻呼组的控制范围内。如果只是在一个寻呼组内漫游,位置更新请求不会引起MSS和寻呼控制器之间的任何动作。当MSS跨越寻呼组漫游时,新的寻呼组控制器在收到MSS的位置更新请求时,发现位置更新请求消息中的寻呼控制器标识(Paging Controller ID)不是自己的PagingController ID,就会发送响应消息,通知MSS位置更新成功,同时通过骨干网通知原寻呼组该MSS已移动到了新的寻呼组,原寻呼组控制器就会将存储的这个MSS的注册信息发送给新寻呼组的寻呼控制器。
802.16系统中通过HMAC-Digest对消息实现认证,HMAC-Digest是通信双方基于共享密钥对消息体进行摘要计算得到的一个消息认证码。发送方在发送消息前利用双方在认证过程中交换的共享密钥和消息体(包括消息头)一起计算,得到一个加密的消息摘要,即HMAC-Digest,接收方在收到消息后进行同样的计算得到一个HMAC-Digest,并与随消息发送的HMAC-Digest进行比较,就能实现对消息发送方的认证。
MSS在空闲模式下的位置更新请求中包含了HMAC-Digest,由于MSS在空闲模式下漫游到不同BS时,不需要进行切换过程,也就不会和新的BS进行认证。如何对这些管理消息中的HMAC-Digest进行认证,现有的机制是上述的在寻呼控制器上保存MSS注册信息,其中就包括了MSS与进入空闲模式时所在的BS的密钥信息,每次发起的位置更新请求中都指示了当前这些密钥信息所在的寻呼控制器,这些密钥信息可以用于对空闲模式中的管理消息进行HMAC-Digest认证。现有技术中的位置更新请求包含的内容还包括有寻呼组的寻呼控制器ID,消息的目标BSID和其它相关信息等。
重放攻击是一种常见的网络攻击方法,攻击者在通信双方(A、B)的某次交互过程中截获A(或B)发送的消息,在以后的某个合适的时机,向B(或A)重新发送它截获的消息,如果每次消息交互过程都是一样的,而且消息中没有包含足够的信息使得B(或A)能判断消息是第一次发起的还是重放的信息。攻击者就能冒充通信中的一方去欺骗另一方,从而达到攻击网络的目的。
现有技术保证了对消息的认证,但是没有提供抵御重放攻击的机制,结合图1,通过下面的分析过程,来介绍攻击者怎样实施重放攻击步骤101MSS在寻呼组A中的某个BS上进入空闲模式,该过程是由MSS请求或BS主动通知MSS完成的,MSS进入空闲模式后,需要在寻呼控制器A(ID=1)上保存MSS的相关注册信息(如密钥信息);步骤102MSS从寻呼组A漫游到寻呼组B;步骤103MSS在新的寻呼组B中发起第一次位置更新请求,当前BS的BSID=2,所以该位置更新请求包含的信息有Paging Controller ID=1,Target BSID=2,CID=0等。对该消息进行认证后(这时消息的认证应该送到寻呼控制器A上完成),原来保存在寻呼控制器A(ID=1)上的MSS保留信息通过骨干网转移到寻呼控制器B(ID=2)上;步骤104攻击者(Attacker)在该位置截获MSS发起的这次位置更新请求消息,并保存起来;步骤105MSS在寻呼组内漫游,最后漫游到BSID=3的小区,中间可能会发起多次位置更新请求,请求消息包含的信息有Paging ControllerID=2,Target BSID(根据发起位置更新请求时所在的BS而定),CID=0等;步骤106MSS从寻呼组B漫游回到寻呼组A;步骤107MSS在寻呼组A内发起位置更新请求,该请求消息包含的信息有Paging Controller ID=2,Target BSID=4,CID=0等。对消息经过认证后,原来保存在寻呼控制器B(ID=2)上的MSS保留信息通过骨干网转移到寻呼控制器A(ID=1)上;步骤108攻击者在MSS漫游到寻呼组B并发起第一次位置更新请求的位置重放它截获的位置更新请求,该重放的请求消息包含的信息有Paging Controller ID=1,Target BSID=2,CID=0等。由于这时MSS已经漫游回到寻呼组A,MSS的保留信息也正好存储在寻呼组A的寻呼控制器上,所以重放攻击得以成功,消息经过认证后,保存在寻呼控制器A(ID=1)上的MSS保留信息通过骨干网转移到寻呼控制器B(ID=2)上,而这时MSS的实际位置在寻呼组A中,但系统会认为MSS已经漫游到寻呼组B中,所以会出现寻呼不到MSS的情况。
从上面的分析可以知道,在空闲模式下,MSS发起位置更新消息时,可以被攻击者截获用于重放攻击,进而会导致终端无法被寻呼到。

发明内容
有鉴于此,本发明的主要目的在于提供一种在802.16e系统空闲模式下防止消息重放攻击的方法。
本发明提供了一种防止重放攻击的方法,终端进入空闲模式下,第一寻呼控制器保存有终端的注册信息,该方法包括以下步骤A、终端发送位置更新请求消息,该消息至少包括终端生成的第一认证信息;B、第一寻呼控制器接收位置更新请求消息,生成第二认证信息,将第一认证信息和第二认证信息置于位置更新响应消息中发送给终端;C、终端接收所述位置更新响应消息,判断位置更新响应消息中的第一认证信息是否与自己所生成的第一认证信息相同,若相同,则向第一寻呼控制器返回包含有第二认证信息的响应消息;否则,结束;D、第一寻呼控制器判断所述响应消息中的第二认证信息是否与自己所生成的第二认证信息相同,若相同,则响应位置更新操作;否则,结束。
其中,所述终端处于第一寻呼控制器区域内,步骤D所述响应位置更新操作为接受所述响应消息。
其中,进一步包括第二寻呼控制器,终端处于第二寻呼控制器区域内;终端和第一寻呼控制器之间的消息通过所述第二寻呼控制器进行中转;步骤D所述响应位置更新操作为第一寻呼控制器将保存的终端的注册信息发送给第二寻呼控制器。
其中所述的认证信息包括随机数、或对包含有生成的随机数的消息使用某算法所生成的认证码。所述的某算法可为HMAC-Digest算法。
由上述方法可以看出,本发明在MSS发送位置更新消息与寻呼控制器交互时,将一个消息交互过程通过至少三次以上的握手过程完成,每次消息交互过程中交互的消息通过随机数从概率上能保证和曾经发送过的消息不重复,并且交互过程中的每个消息前后都具有连贯性,攻击者难以同时获取到所有相关联的信息,从而来抵御重放攻击。


图1为终端发生位置更新的示意图。
图2为本发明提供的位置更新流程图。
具体实施例方式
重放攻击是将先前截获的消息在以后的某个合适的时机进行不加修改的重放,以达到攻击的目的。为了有效的阻止消息的重放攻击,利用随机数和消息认证机制使一个消息交互过程重现的概率足够小是一个有效的方法。
实际上,空闲模式下的MSS连续保持空闲模式的时间是有限的,所以只要通过一种机制使得每次位置更新交互过程从概率上说很难重现,就能有效地阻止攻击者利用消息重放进行的网络攻击。
本发明在MSS发送位置更新消息与寻呼控制器交互时,将消息交互过程通过至少三次以上的握手过程完成,每次消息交互过程中交互的消息通过随机数从概率上能保证和曾经发送过的消息不重复,并且交互过程中的每个消息前后都具有连贯性。从而,对于攻击者来说,如果它是作为消息发起方进行重放,它可以成功的重放第一个消息,但是不能重放第三个消息,因为第三个消息中将包含接收方在第二个消息中生成的随机数;如果它是作为初始消息接收方进行重放,那么它必须要等到发起方发起消息时生成的随机数和它截获的消息中的随机数相匹配时后才能用该消息实施重放。可以看出,这样被重放攻击的概率是很小的。
本发明在802.16e系统的空闲模式下,修改位置更新请求和响应消息,将位置更新过程由两步握手改为三步握手过程,增加一个ACK消息表示对位置更新响应消息的确认,并在消息中加入随机数以有效防止重放攻击。下面参见图2,对本发明的阻止重放攻击的方法进行详细说明。这种方法的前提是通信双方在消息交互前已拥有一个共享密钥,并通过某种机制保证了对消息的认证,如HMAC-Digest。
步骤201在位置更新请求消息(RNG-REQ)中加入一个由MSS产生的n(要求n足够大,以保证1/2n足够小)位随机数A,并对整个消息体(包括随机数A)进行HMAC-Digest的计算生成认证码;一并通过RNG-REQ发送给寻呼控制器B。
步骤202寻呼控制器B收到RNG-REQ消息,读取RNG-REQ中记录的寻呼控制器ID(Paging Controller ID),并判断与自身的寻呼控制器ID是否相同,若是,则表示MSS处于本寻呼组内,直接转步骤205;否则,将请求消息转发给RNG-REQ中记录的寻呼控制器ID对应的原寻呼控制器A,执行下一步。
步骤203原寻呼控制器A接收到RNG-REQ,用保存的该MSS的注册信息中的密钥和HMAC-Digest对RNG-REQ消息进行认证,认证通过后,生成位置更新成功的响应消息(RNG-RSP),并且也产生一个n位随机数B,将MSS产生的随机数A和它自己产生的随机数B一起放到RNG-RSP中,并进行HMAC-Digest计算生成认证码,然后一并通过RNG-RSP消息发送给寻呼控制器B。
步骤204寻呼控制器B将RNG-RSP消息转发给MSS,转步骤206。
步骤205寻呼控制器B接收到RNG-REQ,用保存的该MSS的注册信息中的密钥和HMAC-Digest对RNG-REQ消息进行认证,认证通过后,生成位置更新成功的响应消息(RNG-RSP),并且也产生一个n位随机数B,将MSS产生的随机数A和它自己产生的随机数B一起放到RNG-RSP中,并进行HMAC-Digest计算生成认证码,然后一并通过RNG-RSP消息发送给MSS。
步骤206MSS在收到含有随机数A、随机数B及认证码响应消息后利用它持有的密钥和HMAC-Digest对响应消息进行认证,认证通过后,并向B返回ACK消息。其中ACK消息中包含寻呼控制器产生的随机数B和位置更新请求消息中的寻呼控制器ID,并对消息体进行HMAC-Digest计算。
由于认证码的生成依据了随机数A、B,因此若该步骤中,认证没有通过,则可以认为是响应消息的随机数A和MSS所生成的随机数A不同,认为该消息是寻呼控制器侧的重放消息,结束。
步骤207寻呼控制器B在收到位置更新ACK消息后,先判断该MSS是否在本寻呼组内,如果是,则对消息进行认证,若认证成功,则不进行任何操作,结束,若认证失败,认为这是个MSS侧的重放消息(原理分析同步骤206),结束;若判断该MSS不在本寻呼组内则从ACK消息中得到原寻呼控制器ID,将ACK消息转发给原寻呼控制器。
步骤208原寻呼控制器对ACK消息进行认证,如果认证成功,就通过骨干网将MSS的注册信息发给寻呼控制器B,同时在原寻呼控制器上删除MSS的所有注册信息。如果认证失败,则说明请求消息为重放消息(原理分析同步骤206)或消息传输出错,位置更新过程终止。
在上述步骤中,若攻击者作为MSS方发起重放攻击,它可以在某次位置更新过程中截获第一个消息(RNG-REQ)和第三个消息(ACK),并选择合适的时机重放第一个消息,但是它没有办法重放第三个消息,因为第三个消息中包含了第二个消息中由寻呼控制器生成的随机数B和HMAC-Digest,除非这时候寻呼控制器在对第一个消息进行响应的时候生成了和上次一样的随机数B,所以寻呼控制器在收到第三个消息后能发现第一个消息是否为重放消息。
也就是说,若进行重放攻击的话,需要截获消息1(RNG-REQ)和消息3(ACK),因为若仅重放一个消息,则由于另一个消息不与攻击者信息交互,而会导致攻击失败;若截获并重放了消息1(RNG-REQ)和消息3(ACK),则由于随机数B的改变,必定导致含有原随机数B的重放的消息3(ACK)为错误,从而使重放攻击失败。
上段是以攻击者对寻呼控制器方攻击来分析,同理,若攻击者作为寻呼控制器方对MSS侧发起重放攻击,那么它必须等到MSS发起请求消息并生成和它截获的消息中相同的随机数A的时候才能有效的进行重放,如果n足够大,出现这种情况的概率非常小。因此,如果能够保证随机数产生的随机性,无论要实现MSS还是寻呼控制器侧消息的重放,都只有1/2n的成功概率。这对于本来就不是很频繁进行的位置更新消息交互过程来说,已经能够满足安全要求。
以上是以三次握手为例进行说明。不难理解,也可以进行更多次的信息交互,即多次握手机制,但会使完成一次位置更新过程更为费时。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种防止重放攻击的方法,用于终端在空闲模式下发起位置更新的过程,第一寻呼控制器保存有终端的注册信息,其特征在于,该方法包括以下步骤A、终端发送位置更新请求消息,该消息至少包括终端生成的第一认证信息;B、第一寻呼控制器接收位置更新请求消息,生成第二认证信息,将第一认证信息和第二认证信息置于位置更新响应消息中发送给终端;C、终端接收所述位置更新响应消息,判断位置更新响应消息中的第一认证信息是否与自己所生成的第一认证信息相同,若相同,则向第一寻呼控制器返回包含有第二认证信息的响应消息;否则,结束;D、第一寻呼控制器判断所述响应消息中的第二认证信息是否与自己所生成的第二认证信息相同,若相同,则响应位置更新操作;否则,结束。
2.根据权利要求1所述的方法,其特征在于,所述终端处于第一寻呼控制器区域内,步骤D所述响应位置更新操作为接受所述响应消息。
3.根据权利要求1所述的方法,其特征在于,进一步包括第二寻呼控制器,终端处于第二寻呼控制器区域内;终端和第一寻呼控制器之间的消息通过所述第二寻呼控制器进行中转;步骤D所述响应位置更新操作为第一寻呼控制器将保存的终端的注册信息发送给第二寻呼控制器。
4.根据权利要求1所述的方法,其特征在于,所述的生成的认证信息为生成的随机数、或对包含有生成的随机数的消息使用某算法所生成的认证码。
5.根据权利要求4所述的方法,其特征在于,所述的某算法为HMAC-Digest算法。
全文摘要
本发明提供了一种防止重放攻击的方法,终端进入空闲模式下,第一寻呼控制器保存有终端的注册信息,包括A)终端发送包括第一认证信息的位置更新请求消息;B)第一寻呼控制器接收位置更新请求消息,发送给终端包含第一认证信息和第二认证信息的位置更新响应消息;C)终端接收位置更新响应消息,判断位置更新响应消息中的第一认证信息是否与自己所生成的第一认证信息相同,若相同,则向第一寻呼控制器返回包含有第二认证信息的响应消息;否则,结束;D)第一寻呼控制器判断所述响应消息中的第二认证信息是否与自己所生成的第二认证信息相同,若相同,则响应位置更新操作;否则,结束。使用本发明,可以抵御重放攻击。
文档编号H04W48/08GK1780469SQ20041009134
公开日2006年5月31日 申请日期2004年11月19日 优先权日2004年11月19日
发明者肖正飞, 李永茂 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1