安全联盟管理方法及设备技术

技术编号:8745168 阅读:140 留言:0更新日期:2013-05-29 22:44
本发明专利技术公开了一种安全联盟(SA)创建方法,该SA创建方法包括:第一路由器从自身的Key?Table中查找到第二路由器对应的记录r,并生成随机数Nonce值;所述第一路由器利用所述Nonce值和所述记录r通过伪随机函数prf生成密钥标识KeyID和子密钥Ks。本发明专利技术还公开了一种SA管理设备,采用本发明专利技术不仅能够有效解决RSVP-TE协议安全中重放攻击问题,而且与Key?Table兼容,可实现RSVP-TE协议密钥自动更新,从而使工作部署更便捷、高效。

【技术实现步骤摘要】
安全联盟管理方法及设备
本专利技术涉及通信网络领域中路由安全技术,尤其涉及一种用于基于流量工程扩展的资源预留协议(ResourceReSerVationProtocol-TrafficEngineering,RSVP-TE)的安全联盟(SecurityAssociation,SA)管理方法及设备。
技术介绍
资源预留协议(ResourceReSerVationProtocol,RSVP)最初是Internet工程任务组(InternetEngineeringTaskForce,IETF)为服务质量(QualityofService,QoS)的综合服务模型定义的一个信令协议,用于在流(flow)所经路径上为该流进行资源预留,从而满足该流的QoS要求。RSVP协议是一个在互联网协议(InternetProtocol,IP)上承载的信令协议,它允许路由器网络任何一端上终端系统或主机在彼此之间建立保留带宽路径,为网络上的数据传输预定和保证QoS。RSVP协议对于需要保证带宽和时延的业务,如语音传输、视频会议等具有十分重要的作用。RSVP-TE协议是RSVP协议的扩展版本,RSVP-TE协议安全的基本需求是完整性保护和抗重放攻击。RSVP-TE协议需要在节点间交互路由信息,以维护资源预留信息。因为RSVP-TE协议消息在公共网络中传输,传输RSVP-TE协议消息的信道由多个网络节点共享,所以攻击者可以很容易地拦截并伪造/篡改RSVP-TE协议消息;路由器一旦接受这种错误的RSVP-TE协议消息,将会进行错误的资源预留,从而影响RSVP-TE协议的正常工作。为解决这一问题,必须为RSVP-TE协议提供完整性保护机制,以防止攻击者伪造/篡改路由消息。然而,仅仅提供完整性保护机制并不能完全解决攻击者对RSVP协议的攻击问题;攻击者还可能重放一个过时的RSVP-TE协议消息,此时路由器根据过时的RSVP-TE协议消息维护的资源预留信息是错误的,这些问题都将严重影响RSVP-TE协议的正常工作。针对RSVP-TE协议的安全需求,IETFRFC2747提出了一种RSVP-TE完整性保护和抗重放攻击的机制。其基本思想是:定义RSVP-TE的完整性保护和抗重放攻击对象(INTEGRITYObject)、以及相应的安全联盟;RSVP-TE协议使用这一安全联盟来计算INTEGRITYObject的值,从而达到完整性保护和抗重放攻击的目的。IETFRFC2747定义的INTEGRITYObject如下所示:其中,序列号(SequenceNumber)字段用于抗重放攻击,而加密的消息摘要(KeyedMessageDigest)字段则用于存放消息认证码,对消息进行完整性保护;密钥标识(KeyIdentifier,KeyID)字段则用于查找完整性保护和抗重放攻击对象对应的安全联盟。RSVP-TE协议定义的安全联盟包含如下字段:认证算法(AuthenticationAlgorithm)、密钥(Key)、生存周期(Lifetime)、接口(Interface)、源地址(SourceAddress)、最后发送序列号(LatestSendingSequenceNumber)、以及最后N个序列号表(ListofLastNSequenceNumbers)。这些字段中,AuthenticationAlgorithm、Key和Lifetime字段用于完整性保护;Interface和SourceAddress字段用于标识一段安全联盟;LatestSendingSequenceNumber和ListofLastNSequenceNumbers字段用于抗重放攻击。RSVP-TE协议的这种内部安全机制,可以很好地解决完整性保护和抗重放攻击的问题。然而,仅仅定义安全联盟和认证对象是不够的,RSVP-TE协议安全机制还需要解决如下问题:(1)每个安全联盟都有生存周期。为提高RSVP-TE协议使用内部认证对象的性能,通常需要使用安全强度低的短密钥来生成RSVP-TE协议认证数据,这种做法使得RSVP协议安全联盟存在一定的生存时间,安全联盟过期后,RSVP-TE协议需要对安全联盟进行更新。(2)RSVP-TE协议定义的SequenceNumber时间长之后会重复出现。当SequenceNumber重复出现时,攻击者将可能进行重放攻击,这也要求在RSVP-TE协议的SequenceNumber重复出现之前进行安全联盟的更新,即需要进行密钥更新。可见,上述两个问题都要求RSVP-TE协议进行密钥更新,最简单的密钥更新机制是手动更新,但是手动更新的工作量很大,不利于实际部署。因此,IETFRFC2747建议使用Kerberos协议,来进行RSVP-TE协议的安全联盟管理。然而,使用Kerberos协议进行RSVP-TE协议的安全联盟管理仍存在如下一些不足:第一、Kerberos协议主要应用在通用安全服务(GenericSecurityService,GSS)协议中以解决业务安全的问题,并没有定义如何使用Kerberos协议来进行密钥更新的具体机制;第二、Kerberos协议与KeyTable不兼容;第三、Kerberos协议依赖于Kerberos服务器,配置复杂;第四、Kerberos协议的密钥更新时机选择不能很好地解决重放攻击问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种SA管理方法及设备,不仅能有效解决RSVP-TE协议安全中重放攻击问题,而且能与KeyTable兼容,实现对RSVP-TE协议的SA有效管理,从而使工作部署更便捷、安全和高效。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术公开了一种安全联盟(SA)创建方法,包括:第一路由器从自身的KeyTable中查找到第二路由器对应的记录r,并生成随机数Nonce值;所述第一路由器利用所述Nonce值和所述记录r通过伪随机函数生成密钥标识KeyID和子密钥Ks。进一步,所述第一路由器生成Nonce值之后、生成KeyID和Ks之前,该方法还包括:所述第一路由器将所述记录r中的本地密钥标识LocalKeyID和所述Nonce值作为SMO对象中的KeyIdentifier字段和Nonce字段。进一步,所述第一路由器生成KeyID和Ks之后,该方法还包括:所述第一路由器将所述生成的KeyID和Ks写入本地RSVP-TESA库。进一步,所述第一路由器利用所述Nonce值和所述记录r通过伪随机函数生成KeyID和Ks包括:利用所述Nonce值、以及所述记录r中的Key、LocalKeyID和Interface,分别通过伪随机函数KeyID=truncate-48(prf(Key,LocalKeyID,Interface,Nonce))和Ks=truncate(prf(Key,LocalKeyID,Interface,Nonce))生成KeyID和Ks。本专利技术还公开了一种SA建立方法,包括:第一路由器创建SA,生成SMO对象;并向第二路由器发送携带SMO对象、INTEGRITY对象的RSVP-TE协议消息;所述第二路由器收到RSVP-TE协议消息后,根据所述RSVP-TE协议消息中携带的SMO对象从第二路由器本文档来自技高网
...
安全联盟管理方法及设备

【技术保护点】
一种安全联盟(SA)创建方法,其特征在于,该方法包括:第一路由器从自身的Key?Table中查找到第二路由器对应的记录r,并生成随机数Nonce值;所述第一路由器利用所述Nonce值和所述记录r通过伪随机函数生成密钥标识KeyID和子密钥Ks。

【技术特征摘要】
1.一种安全联盟(SA)创建方法,其特征在于,该方法包括:第一路由器从自身的KeyTable中查找到第二路由器对应的记录r,并生成随机数Nonce值;所述记录r包括:密钥Key、本地密钥标识LocalKeyID和接口Interface;所述第一路由器利用所述Nonce值和所述记录r通过伪随机函数生成RFC2747中定义的RSVP-TE协议的密钥标识KeyID和子密钥Ks。2.根据权利要求1所述的方法,其特征在于,所述第一路由器生成Nonce值之后、生成KeyID和Ks之前,该方法还包括:所述第一路由器将所述记录r中的本地密钥标识LocalKeyID和所述Nonce值作为SMO对象中的KeyIdentifier字段和Nonce字段。3.根据权利要求1或2所述的方法,其特征在于,所述第一路由器生成KeyID和Ks之后,该方法还包括:所述第一路由器将所述生成的KeyID和Ks写入本地RSVP-TESA库。4.根据权利要求1或2所述的方法,其特征在于,所述第一路由器利用所述Nonce值和所述记录r通过伪随机函数生成KeyID和Ks包括:利用所述Nonce值、以及所述记录r中的Key、LocalKeyID和Interface,分别通过伪随机函数KeyID=truncate-48(prf(Key,LocalKeyID,Interface,Nonce))和Ks=truncate(prf(Key,LocalKeyID,Interface,Nonce))生成KeyID和Ks。5.一种SA建立方法,其特征在于,该方法包括:第一路由器创建SA,生成SMO对象;并向第二路由器发送携带SMO对象、INTEGRITY对象的RSVP-TE协议消息;所述第二路由器收到RSVP-TE协议消息后,根据所述RSVP-TE协议消息中携带的SMO对象从第二路由器自身的KeyTable中查找到与第一路由器上相同的记录r,利用第一路由器创建SA时生成的随机数Nonce值和所述的记录r通过伪随机函数生成KeyID和Ks,并使用生成的KeyID和Ks验证所述RSVP-TE协议消息的完整性,然后向第一路由器返回携带所述SMO对象的应答消息;所述记录r包括:Key、LocalKeyID和Interface;所述第一路由器收到所述应答消息后,对所述应答消息进行相应处理。6.根据权利要求5所述的方法,其特征在于,所述第二路由器根据所述RSVP-TE协议消息中携带的SMO对象从第二路由器自身的KeyTable中查找到与第一路由器上相同的记录r包括:所述第二路由器根据所述RSVP-TE协议消息中携带的SMO对象中的KeyIdentifier字段,从第二路由器自身的KeyTable中查找与所述KeyIdentifier字段的内容相对应的对等密钥标识PeerKeyID字段,并根据查找到的PeerKeyID字段从第二路由器自身的KeyTable中查找到与第一路由器上相同的记录r;其中,所述KeyIdentifier字段的内容为第一路由器在创建SA的过程中查找到的第二路由器对应的记录r中的LocalKeyID字段;所述KeyIdentifier字段的长度为16位。7.根据权利要求6所述的方法,其特征在于,所述第二路由器利用Nonce值和所述记录r通过伪随机函数生成KeyID和Ks包括:所述第二路由器将所述记录r中的Key、PeerKeyID和Interface的值、以及Nonce值,分别通过伪随机函数KeyID=truncate-48(prf(Key,LocalKeyID,Interface,Nonce))和Ks=truncate(prf(Key,LocalKeyID,Interface,Nonce))生成KeyID和Ks;其中,LocalKeyID字段对应本地的PeerKeyID字段。8.根据权利要求7所述的方法,其特征在于,所述第二路由器使用生成的KeyID和Ks验证所述RSVP-TE协议消息的完整性包括:所述第二路由器使用生成的KeyID和Ks创建与第一路由器创建的SA对应的SA,然后利用第二路由器自身创建的SA验证所述RSVP-TE协议消息的完整性;验证通过后,使用生成的KeyID和Ks修改本地RSVP-TESA库中相应KeyID和Ks字段的值。9.根据权利要求8所述的方法,其特征在于,所述第一路由器收到所述应答消息后,对所述应答消息进行相应处理包括:所述第一路由器收到所述携带SMO对象的应答消息后,若确认收到的SMO对象中的KeyIdentifier字段与自己发送的一致,则第一路由器与第二路由器成功建立SA。10.根据权利要求7所述的方法,其特征在于,所述第二路由器使用生成的KeyID和Ks验证所述RSVP-TE协议消息的完整性包括:所述第二路由器使用生成的KeyID和Ks创建与第一路由器创建的SA对应的SA,然后使用第二路由器自身创建的SA验证所述RSVP-TE协议消息的完整性;验证通过后,生成随机数Nonce2值,并将所述记录r中的Key、PeerKeyID和Interface的值、以及Nonce值和所述生成的Nonce2值,分别通过伪随机函数KeyID=truncate-48(prf(Key,PeerKeyID,Interface,Nonce,Nonce2))和Ks=truncate(prf(Key,PeerKeyID,Interface,Nonce,Nonce2))生成KeyID和Ks;使用生成的KeyID和Ks修改本地RSVP-TESA库中相应KeyID和Ks字段的值,然后将SMO对象中Nonce字段的值改为Nonce2值;其中,所述Nonce值由第一路由器在创建SA时生成。11.根据权利要求10所述的方法,其特征在于,所述第一路由器收到所述应答消息后,对所述应答消息进行相应处理包括:所述第一路由器收到携带Nonce值和SMO对象的应答消息后,若确认收到的SMO对象中的KeyIdentifier字段与自己发送的一致,则将所述记录r中的Key、PeerKeyID和Interface的值、以及所述Nonce值和所述SMO对象中的Nonce2值,分别通过伪随机函数KeyID=truncate-48(prf(Key,PeerKeyID,Interface,Nonce,Nonce2))和Ks=truncate(prf(Key,PeerKeyID,Interface,Nonce,Nonce2))生成KeyID和Ks,并使用生成的KeyID和Ks修改本地RSVP-TESA库中相应KeyID和Ks字段的值。12.一种SA更新方法,其特征在于,第一路由器和第二路由器已存在相同的SA1;该方法包括:第一路由器创建SA,生成SMO对象;并向第二路由器发送携带SMO对象、INTEGRITY对象的RSVP-TE协议消息;所述第二路由器收到所述第一路由器发送的RSVP-TE协议消息后,使用现有的SA1验证所述RSVP-TE协议消息的完整性;验证通过后,根据所述RSVP-TE协议消息中携带的SMO对象从第二路由器自身的KeyTable中查找到与第一路由器上相同的记录r,利用Nonce值和所述记录r通过伪随机函数生成KeyID和Ks;然后向第一路由器返回携带所述SMO对象的应答消息;所述记录r包括:Key、LocalKeyID和Interface;所述第一路由器收到所述应答消息后,对所述应答消息进行相应处理。13.根据权利要求12所述的方法,其特征在于,所述第二路由器根据所述RSVP-TE协议消息中携带的SMO对象从第二路由器自身的KeyTable中查找到与第一路由器上相同的记录r包括:所述第二路由器根据所述RSVP-TE协议消息中携带的SMO对象中的KeyIdentifier字段,从第二路由器自身的KeyTable中查找与所述KeyIdentifier字段的内容相对应的PeerKeyID字段,并根据查找到的PeerKeyID字段从第二路由器自身的KeyTable中查找到与第一路由器上相同的记录r;其中,所述KeyIdentifier字段的内容为第一路由器在创建SA的过程中查找到的第二路由器对应的记录r中的LocalKeyID字段;所述KeyIdentifier字段的长度为16位。14.根据权利要求13所述的方法,其特征在于,所述第二路由器利用Nonce值和所述记录r通过伪随机函数生成KeyID和Ks包括:所述第二路由器将所述记录r中的Key、PeerKeyID和Interface的值、以及Nonce值,分别通过伪随机函数KeyID=truncate-48(prf(Key,LocalKeyID,Interface,Nonce))和Ks=truncate(prf(Key,LocalKeyID,Interface,Nonce))生成KeyID和Ks;其中,LocalKeyID字段对应本地的PeerKeyID字段;使用生成的KeyID和Ks创建与第一路由器创建的SA对应的SA,并将生成的KeyID和Ks更新本地RSVP-TESA中相应KeyID和Ks字段的值;其中,所述Nonce值由第一路由器在创建SA时生成。15.根据权利要求14所述的方法,其特征在于,所述第一路由器收到所述应答消息后,对所述应答消息进行相应处理包括:所述第一路由器收到所述携带SMO对象的应答消息后,若确认收到的SMO对象中的KeyIdentifier字段与自己发送的一致,则使用生成的KeyID和Ks更新本地RSVP-TESA库中相应KeyID和Ks字段的值。16.根据权利要求13所述的方法,其特征在于,所述第二路由器利用Nonce值和所述记录r通过伪随机函数生成KeyID和Ks包括:所述第二路由器生成Nonce2值,将所述记录r中的Key、PeerKeyID和Interface的值、以及Nonce值和所述生成的Nonce2值,分别通过伪随机函数KeyID=truncate-48(prf(Key,PeerKeyID,Interface,Nonce,Nonce2))和Ks=truncate(prf(Key,PeerKeyID,Interface,Nonce,Nonce2))生成KeyID和Ks;将生成的KeyID和Ks更新本地RSVP-TESA中相应KeyID和Ks字段的值,创建与第一路由器创建的SA对应的...

【专利技术属性】
技术研发人员:韦银星梁小萍高峰万长胜
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1