一种加密生成地址的配置方法、系统和装置的制作方法

文档序号:7854833阅读:180来源:国知局
专利名称:一种加密生成地址的配置方法、系统和装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及ー种加密生成地址的配置方法、系统和装置。
背景技术
IPv6是(Internet Protocol Version 6)的缩写,也被称作下一代互联网协议,它是用来替代现行的IPv4协议的一种新的IP协议。今天的互联网大多数应用的是IPv4 (Internet Protocol Version 4)协议,但是随着互联网应用范围的不断扩大,它也面临着越来越不容忽视的危机,例如地址匮乏等等。IPv6正是为了解决IPv4所存在的ー些问题和不足而提出的,同时它还在许多方面提出了改进,例如路由方面、自动配置方面,因此IPv6必将会逐步取代IPv4。CGA(加密生成地址)是ー类特别的IPv6地址,其中的接ロ标识部分由公钥结合辅助信息,使用单向的保密混乱算法生成。加密生成地址的使用中,接收方需要再次计算混乱数值,并与发送方的地址接ロ标识部分比较,以此来验证发送方的公钥和地址的绑定关系。对网络消息的保护则可以通过把公钥、辅助信息附加到消息中,再用对应的私钥签名来完成。加密生成地址方案在IP层内解决了地址的认证问题,不需要别的权威证书体系或者别的安全架构,是ー种简单、高效的安全方案。其中,加密生成地址的定义中并没有指定公钥/私钥对的来源,其可以来自权威证书体系的分配,也可以由客户端自己计算产生,或者别的来源。在实现本发明过程中,发明人发现现有技术中至少存在如下问题现有技术CGA地址的生成都由客户端生成,并且假定CGA地址的生成不需要任何网络信息,缺少网络层面的信息,因此生成的CGA地址可能不能满足网络配置的需要。并且生成CGA地址需要较大的运算量,而往往客户端的计算能力非常有限,特别是移动客户端或低端的感应器,往往不能负担或者占用太多的计算资源,因此生成CGA地址将会导致客户端性能下降。特别是当移动客户端频繁转换接入网络,需要经常改变网络地址时,生成CGA地址的负担会大大增加。

发明内容
本发明要解决的问题是提供ー种加密生成地址的配置方法、系统和装置,解决现有技术中客户端生成的CGA地址无法满足网络配置需要的缺陷。为达到上述目的,本发明实施例一方面提出ー种加密生成地址的配置方法,用于使生成的加密生成地址CGA能够符合网络配置的要求,包括以下步骤动态主机配置协议DHCP服务器接收客户端发送的客户端配置;所述DHCP服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址;所述DHCP服务器将所述CGA地址下发给所述客户端。可选地,在所述DHCP服务器接收客户端发送的客户端配置之前,还包括以下步骤,所述DHCP服务器接收所述客户端的向本地链路多播地址发送的要求消息;如果所述DHCP服务器判断自身满足所述客户端的要求,则向所述客户端回应公告消息,所述客户端在收到所述公告消息后向所述DHCP服务器发送所述客户端配置。可选地,在所述DHCP服务器接收客户端发送的客户端配置之前,还包括以下步骤 所述DHCP服务器接收所述客户端向本地链路多播地址发送请求所述网络配置的要求消息;所述DHCP服务器收到所述要求后,判断是否可将所述网络配置下发;如果DHCP服务器判断不可将所述网络配置下发,则通知所述客户端将所述客户端配置上报。可选地,在所述DHCP服务器根据所述客户端配置和所述网络配置生成CGA地址之后,还包括以下步骤判断所述生成的CGA地址是否符合网络配置要求;如果所述生成的CGA地址符合网络配置要求,则所述DHCP服务器将所述生成的CGA地址下发给所述客户端;如果所述生成的CGA地址不符合网络配置要求,则所述DHCP服务器重新生成新的CGA地址。可选地,所述DHCP服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址具体包括以下步骤判断所述客户端配置与所述网络配置是否相同;如果所述客户端配置与所述网络配置不相同,则选择优先级高的配置生成CGA地址。可选地,所述客户端配置包括客户端公钥和CGA安全级数。可选地,所述DHCP服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址具体包括以下步骤所述DHCP服务器将所述客户端配置和所述网络配置发往第三方服务器,由所述第三方服务器生成CGA地址,所述第三方服务器将所述生成的CGA地址返回给所述DHCP服务器。另ー方面,本发明实施例还提供了ー种加密生成地址的配置方法,用于使生成的加密生成地址CGA能够符合网络配置的要求,包括以下步骤客户端生成CGA地址;所述客户端向DHCP服务器发送所述生成的CGA地址,请求所述DHCP服务器确认所述生成的CGA地址是否符合所述网络配置的要求;如果不符合所述网络配置的要求,则再次生成CGA地址。再一方面,本发明实施例还提供了ー种加密生成地址的配置系统,包括DHCP服务器和至少ー个客户端,所述客户端,用于将所述客户端的客户端配置向所述DHCP服务器发送;所述DHCP服务器,用于根据所述客户端发送的客户端配置和所述DHCP服务器的网络配置生成CGA地址,并将所述CGA地址下发给所述客户端。可选地,还包括第三方服务器,用于接收所述DHCP服务器发送的所述网络配置和所述客户端配置,根据所述网络配置和所述客户端配置生成CGA地址,并将所述生成的CGA地址返回给所述DHCP服务器。再一方面,本发明实施例还提供了ー种DHCP服务器,包括配置接收保存模块、CGA地址生成模块和CGA地址下发模块,所述配置接收保存模块,用于接收客户端发送的客户端配置并保存;所述CGA地址生成模块,用于根据所述配置接收保存模块保存的客户端配置和所述DHCP服务器的网络配置生成CGA地址;所述CGA地址下发模块,用于将所述CGA地址生成模块生成的CGA地址下发给所述客户端。可选地,还包括下发判断模块、网络配置下发模块和通知模块,所述下发判断模块,用于在收到所述客户端发送请求所述网络配置的要求消息后,判断是否可将所述网络配置下发;所述网络配置下发模块,用于在所述下发判断模块判断可将所述网络配置下发 后,通过DHCP应答消息将所述网络配置下发给所述客户端;所述通知模块,用于在所述下发判断模块判断不可将所述网络配置下发后,通知所述客户端将所述客户端配置上报。可选地,还包括CGA地址判断模块,用于判断所述CGA地址生成模块生成的CGA地址是否符合网络配置要求,如果符合所述网络配置要求,则通知所述CGA地址下发模块将生成的CGA地址下发给所述客户端;如果不符合所述网络配置要求,则通知所述CGA地址生成模块重新生成新的CGA地址。可选地,所述CGA地址生成模块具体包括相同判断子模块和优先级选择子模块,所述相同判断子模块,用于判断所述客户端配置与所述网络配置是否相同;所述优先级选择子模块,用于在所述相同判断子模块判断所述客户端配置与所述网络配置不相同时,选择优先级高的配置生成CGA地址。再一方面,本发明实施例还提供了ー种加密生成地址的配置系统,包括DHCP服务器和至少ー个客户端,所述DHCP服务器,用于确认所述客户端生成的CGA地址是否符合所述网络配置的要求;所述客户端,用于生成CGA地址。再一方面,本发明实施例还提供了一种客户端,包括CGA地址生成模块和CGA地址确认模块,所述CGA地址生成模块,用于生成CGA地址;所述CGA地址确认模块,用于将所述CGA地址生成模块生成的CGA地址向DHCP服务器发送,并请求所述DHCP服务器确认所述CGA地址是否符合所述网络配置的要求。本发明实施例的技术方案具有以下优点,因为通过DHCP服务器和客户端的DHCP报文交互能够使在生成CGA地址时參考网络配置,所以克服了现有技术中客户端生成的CGA地址无法满足网络配置需要的缺陷,使从网络管理层面能够干预CGA地址的生成,提高网络的管理能力。


图I为本发明实施例加密生成地址的配置系统ー的结构图;图2为本发明实施例加密生成地址的配置系统ニ的结构图;图3为本发明实施例一的加密生成地址的配置方法的流程图;图4为本发明实施例ニ的加密生成地址的配置方法的流程图;图5为本发明实施例三的加密生成地址的配置方法的流程图。
具体实施例方式本发明实施例提出了通过DHCP (Dynamic Host Configure Protocol,动态主机配置协议)报文交互能够使生成CGA地址时參考网络配置,使得生成的CGA地址能够满足网络配置的要求。本发明实施例提出了多种生成满足网络配置要求的CGA地址的方法,既可以在客户端上生成后由DHCP服务器确认客户端生成的CGA地址是否能够满足网络配置的要求,也可以在DHCP服务器上生成并由DHCP服务器进行确认。然而本发明实施例所提出的多种生成CGA地址方式只是提出的几种较优的实施方式,因此任何通过DHCP报文交互生成满足网络配置要求的CGA地址的方法均应为本发明实施例保护范围所涵盖。其中,DHCP是TCP/IP协议簇中的ー种,是IETF为实现客户端的自动配置而设计的协议,它可以为客户机自动分配IP地址、DNS服务器地址,以及其他附加配置信息。它描述了 DHCP服务器端和客户端通过交换DHCP消息,完成客户端的自动配置的交互过程。DHCP协议根据IP版本的不同,对应的分为DHCPv4和DHCPv6两个版本,因为加密生成地址方案仅使用于IPv6,因此以下描述中DHCP也均为DHCPv6。服务器端和客户端使用用户数据报协议(UDP, User Datagram Protocol)交换DHCP消息。客户端使用本地链路地址发送接收DHCP消息;服务器端则使用一个预留的本地链路多播地址接收来自客户端的消息。取决于客户端是否需要被分配IP地址,DHCP服务器端和客户端的交互有两种模式两消息模式和四消息模式。其中,两消息模式具体为在客户端不需要被分配IP地址的情况下,可以通过一 次DHCP请求应答,获得诸如DNS服务器地址等配置信息。客户端首先向本地链路多播地址发送DHCP “要求消息”,井指明请求配置信息;接收到该消息的DHCP服务器,向客户端发送携帯被请求的配置信息的“应答消息”。其中,四消息模式具体为在客户端需要被分配IP地址的情况下,客户端需要先定位ー个DHCP服务器,在请求分配IP地址和别的配置信息。这种模式下,一共会涉及到四个消息。客户端首先向本地链路多播地址发送DHCP “要求消息”,以发现有效的DHCP服务器;满足客户端要求的DHCP所有服务器,都会回应ー个“公告消息”,用以指明其可以提供地址和配置信息;客户端从中选择ー个服务器,发送DHCP “请求消息”;该服务器向客户端发送携带被请求的IP地址和配置信息的“应答消息”。下面结合附图和实施例,对本发明的具体实施方式
作进ー步详细描述本发明实施例提出了两种加密生成地址的配置系统,该两种系统均是通过DHCP报文交互生成满足网络配置要求的CGA地址,所不同的是系统ー是在DHCP服务器或者第三方服务器上生成CGA地址,系统ニ是在客户端上生成CGA地址后由DHCP服务器确认该客户端生成的CGA地址是否满足网络配置的要求。如图I所示,为本发明实施例加密生成地址的配置系统ー的结构图,该系统包括DHCP服务器I和至少ー个客户端2,ー个DHCP服务器能够支持其所属网络内的所有客户端生成CGA地址,这样只要对DHCP服务器中的网络配置进行扩展,就可以实现对整个网络的CGA方案的扩展或演进,而不需要使用逐个修改客户端的方式进行扩展。并且在DHCP服务器上生成CGA地址,替代客户端进行CGA地址生成的运算可以降低客户端的计算开销,解决目前客户端运算能力不强的问题,减轻客户端的负担提高其性能。客户端2用于将该客户端2的客户端配置通过DHCP请求消息向DHCP服务器I发送,其中该客户端配置包括客户端公钥和由客户端指定的CGA相关要求參数,如CGA安全级数等,如果该客户端2已知代理客户端的公钥也可以一起发送;其中,DHCP请求消息可采用扩展的DHCP协议,在DHCP请求消息中添加CGA參数。
DHCP服务器I用于解析客户端2发送的请求消息,并得到该请求消息中携帯的客户端配置;DHCP服务器I根据解析到的客户端配置和在DHCP服务器I中预设的网络配置生成CGA地址,其中,网络配置包括代理客户端的公钥、DHCP服务器设置的CGA安全级数等參数,如果客户端配置与网络配置不同,则会选择优先级高的配置生成CGA地址,这样就可以通过DHCP服务器I上的网络配置统ー控制网络内所有的客户端2,例如统ー设置网络内所有的客户端2生成CGA的安全级数。当然如果客户端配置与网络配置相同,则就可以任选客户端配置或网络配置生成CGA地址。通常来说会将DHCP服务器I上的网络配置优先级设的较高,因此在客户端配置与网络配置不同时会选择网络配置生成CGA地址。DHCP服务器I通过DHCP应答消息将生成的CGA地址和该生成的CGA地址对应的CGA參数数据组都下发给客户端2,客户端2可直接使用DHCP服务器I分配的CGA地址和其对应的CGA參数数据组,在接收端验证生成的CGA地址时可能会通过该CGA參数数据组进行验证。其中,该CGA參数数据组包括生成该CGA地址实际所用到的所有信息的实际參数值构成,例如代理客户端的公钥、最后实际使用的CGA安全级别数等配置信息。当然也需要使用扩展的DHCP协议,在应答消息中添加CGA地址及对应的CGA地址參数。由于计算CGA地址需要较大的计算量,如果网络内太多的客户端都需要由DHCP服务器来生成相应的CGA地址,则也将会造成DHCP服务器负担过重的问题。因此本发明实施例还提出了由第三方服务器生成CGA地址的模式,通过DHCP服务器将相应的网络配置和客户端配置发送至第三方服务器,由第三方服务器生成CGA地址后,将生成的CGA地址再返回给DHCP服务器,这样就能够减轻DHCP服务器的使用负担。对于第三方服务器生成CGA地址同样在网络配置和客户端配置不同吋,也要根据配置优先级选择优先级高的配置生成CGA地址。当然也可以由DHCP服务器根据网络配置和客户端配置的优先级,将优先级高的配置发送给第三方服务器,第三方服务器在收到配置后无需判断直接生成CGA地址即可。其中,DHCP服务器I包括配置接收保存模块11、CGA地址生成模块12和CGA地址下发模块13,配置接收保存模块11用于接收客户端2发送的客户端配置并保存,其中该客户端配置包括客户端公钥和由客户端指定的CGA相关要求參数,如CGA安全级数等;CGA地址生成模块12用于根据配置接收保存模块11保存的客户端配置和DHCP服务器I的网络配置生成CGA地址,其中,网络配置包括代理客户端的公钥、DHCP服务器设置的CGA安全级数等參数,如果客户端配置与网络配置不同,则会选择优先级高的配置生成CGA地址;CGA地址下发模块13用于通过DHCP应答消息将CGA地址生成模块12生成的CGA地址和该生成的CGA地址对应的CGA參数数据组下发给客户端2,其中,对应的CGA參数数据组包括生成该CGA地址所用到的所有信息,在接收端验证生成的CGA地址时可能会通过该CGA參数数据组进行验证其中,DHCP服务器I还包括消息处理模块14和要求判断模块15,要求判断模块14用于根据消息处理模块14接收到的客户端2发送的要求消息判断自身是否满足客户端
2的要求,首先客户端2会向本地链路多播地址发送DHCP要求消息,该要求消息用来发现有效的DHCP服务器I ;消息处理模块14用于接收客户端2发送的要求消息,并在要求判断模块15判断DHCP服务器I自身能够满足客户端2的要求吋,向客户端2回应公告消息,通知该客户端2所述DHCP服务器I能够提供其需要的地址网络配置信息,但是该地址和配置信息不在该公告消息中,所 述公告消息只是起到提示客户端2的作用。其中客户端的要求主要是指DHCP服务器能否提供相关的网络配置,或者客户端需要由DHCP服务器生成CGA地址时,该DHCP服务器能否提供代替客户端生成CGA地址的服务。其中,DHCP服务器I还包括下发判断模块16、网络配置下发模块17和通知模块18,下发判断模块16用于在收到客户端2发送请求网络配置的要求消息后,判断是否可将请求的网络配置下发,该请求消息目的不是发现有效的DHCP服务器而是请求DHCP服务器I将其上的网络配置下发;网络配置下发模块17用于在下发判断模块16判断可将请求的网络配置下发后,通过DHCP应答消息将该网络配置下发给客户端2,当然此时也需要使用扩展的DHCP协议,在应答消息中添加CGA參数;通知模块18用于在下发判断模块16判断不可将请求的网络配置下发后,通知客户端2将客户端配置上报,如果DHCP服务器I指定由自己为客户端2生成CGA地址,又或是DHCP服务器I认为该网络配置不能分发,因此就判断不可将该网络配置下发给客户端2,此时就要求该客户端2向DHCP服务器I上报客户端配置,用以由DHCP服务器I为该客户端2生成CGA地址。其中,DHCP服务器I还包括CGA地址判断模块19,用于判断CGA地址生成模块12生成的CGA地址是否符合网络配置的要求,如果符合所述网络配置的要求,则通知CGA地址下发模块13将生成的CGA地址下发给客户端2 ;如果不符合该网络配置要求,则通知CGA地址生成模块12重新生成新的CGA地址。上述满足网络配置的要求可以包括多项内容,例如检测该生成的CGA地址在网络中的唯一性,即检测该CGA地址在网络中是否是唯一的,如果该CGA地址不唯一,则说明该生成的CGA地址不能满足网络配置的要求,应当重新生成新的CGA地址。其中,CGA地址生成模块12可以包括相同判断子模块121和优先级选择子模块122,相同判断子模块121用于判断客户端配置与网络配置是否相同,因为每个客户端配置都可能是不同的,而DHCP服务器I上的网络配置是针对整个网络中的客户端设置的,因此在DHCP服务器I生成CGA地址时,可能会遇到判断客户端配置与网络配置不相同的情况;优先级选择子模块122用于在相同判断子模块121判断客户端配置与网络配置不相同吋,选择优先级高的配置生成CGA地址,如果客户端配置与网络配置不同,则会选择优先级高的配置生成CGA地址,这样就可以通过DHCP服务器I上的网络配置统ー控制网络内所有的客户端2,例如统ー设置网络配置中生成CGA的安全级数,并将该网络配置的优先级设置较高,则各个客户端2在生成CGA地址时均会以网络配置中生成CGA的安全级数为准生成各个客户端的CGA地址。上述加密生成地址的配置系统可以通过DHCP服务器和客户端的DHCP报文交互使在生成CGA地址时參考网络配置,从而在网络管理层面能够干预CGA地址的生成,提高网络的管理。并且可以由DHCP服务器执行生成CGA地址的算法,降低了客户端的开销。还可以通过扩展在DHCP服务器上的网络配置,达到对网络内全部客户端生成的CGA地址的扩展,增强了 CGA地址的可扩展性。如图2所示,为本发明实施例加密生成地址的配置系统ニ的结构图,该加密生成地址的配置系统包括DHCP服务器3和至少ー个客户端4,该DHCP服务器3能够为其所属网络内的所有客户端4生成CGA地址提供网络配置,并对各个客户端4生成的CGA地址进行确认,确认其是否符合网络配置的要求,这样只要对DHCP服务器中的网络配置进行扩展,就可以实现对整个网络的CGA方案的扩展或演进,而不需要使用逐个修改客户端的方式进行扩展。DHCP服务器3用于确认客户端4生成的CGA地址是否符合网络配置的要求,并为客户端4提供网络配置;客户端4用于生成CGA地址,其中客户端4生成的CGA地址可以是仅根据客户端配置,也可根据客户端配置和网络配置生成的,这样也可以由客户端4根据自身的客户端配置生成CGA地址,DHCP服务器3只需要对其生成的CGA地址确认是否符合网络配置的要求即可。在确认客户端4生成的CGA地址符合网络配置的要求时,就不需要DHCP服务器3中的网络配置,因此可以減少DHCP服务器3与客户端4之间的报文交互;客户端4在DHCP服务器3确认生成的CGA地址不符合网络配置的要求后,取得DHCP服务器3中的网络配置后根据该网络配置再次生成CGA地址。另外,本发明实施例还提出一种在确认客户端生成的CGA地址不能符合网络配置的要求后,由DHCP服务器3或第三方服务器生成新的CGA地址的模式,其中,DHCP服务器3 还用于在确认客户端4生成的CGA地址不符合网络配置的要求后,要求客户端4上报客户端配置,并根据该客户端配置和网络配置再次生成新的CGA地址,在确认新生成的CGA地址符合网络配置要求后将新的CGA地址和该新的CGA地址对应的CGA參数数据组都下发给客户端4,客户端4可直接使用DHCP服务器3分配的CGA地址和其对应的CGA參数数据组,在接收端验证生成的CGA地址时可能会通过该CGA參数数据组进行验证。其中,该CGA參数数据组包括生成该CGA地址实际所用到的所有信息的实际參数值构成,例如代理客户端的公钥,最后实际使用的CGA安全级别数等配置信息。当然也可以由DHCP服务器委托第三方服务器生成相应的CGA地址。 其中,客户端4包括CGA地址生成模块41和CGA地址确认模块42,CGA地址生成模块41用于生成CGA地址,其中客户端4生成的CGA地址可以是仅根据客户端配置生成,也可根据客户端配置和网络配置生成的;CGA地址确认模块42用于将CGA地址生成模块41生成的CGA地址向DHCP服务器3发送,并请求DHCP服务器3确认CGA地址是否符合网络配置的要求,其中向DHCP服务器3发送的方式可以采用DHCP要求消息,通过扩展的DHCP协议将生成的CGA地址添加到上述DHCP要求消息中,该DHCP服务器3在收到该要求消息后,会对该要求消息中携帯的CGA地址进行确认,确认其是否符合网络配置的要求,并将确认结果返回给客户端4的CGA地址确认模块42。针对上述在确认客户端生成的CGA地址不能符合网络配置的要求后,由DHCP服务器3生成新的CGA地址的模式,客户端4还包括配置发送模块43,用于在CGA地址确认模块42收到DHCP服务器3确认生成的CGA地址不符合网络配置的要求后,向DHCP服务器3发送客户端配置,由DHCP服务器3生成新的CGA地址。当然在确认生成的CGA地址不符合网络配置的要求之后,也可以由DHCP服务器3将网络配置下发,继续由客户端4生成新的CGA地址,因此客户端4还包括配置请求模块44,用于向本地链路多播地址发送请求网络配置的要求消息,如果DHCP服务器3将网络配置下发,则通知CGA地址生成模块41根据网络配置和客户端配置生成CGA地址。其中CGA地址确认模块42进ー步还用于在收到DHCP服务器3确认CGA地址不符合网络配置的要求后,通知配置请求模块44再次向本地链路多播地址发送请求网络配置的要求消息;CGA地址生成模块 41还用于根据配置请求模块请求的网络配置,再次生成CGA地址。因此该配置请求模块44在收到CGA地址确认模块42的通知后,再次向本地链路多播地址发送请求网络配置的要求消息,请求DHCP服务器3将网络配置下发由客户端4生成新的CGA地址;如果所述DHCP服务器将所述网络配置下发,则通知CGA地址生成模块41根据下发的网络配置和客户端配置再次生成CGA地址;如果DHCP服务器3未将请求的网络配置下发,则说明DHCP服务器3不能将网络配置分发或DHCP服务器3指定自己为客户端4生成CGA,因此只能由DHCP服务器3生成新的CGA地址,配置请求模块44通知配置发送模块43向DHCP服务器3发送客户端配置,由DHCP服务器3生成新的CGA地址并确认新的CGA地址是否符合网络配置的要求,在确认符合网络配置的要求后将新的CGA地址下发给客户端4 ;CGA地址生成模块41还用于在DHCP服务器3将网络配置下发后,根据所述DHCP服务器下发的网络配置,再次生成CGA地址,并将再次生成的新CGA地址发送至DHCP服务器3进行确认。如果还未通过确认,则再次要求DHCP服务器3下发网络配置重新生成CGA地址,直至其通过DHCP服务器3的确认。当然该实施例也可直接由客户端通过配置请求模块44向DHCP服务器请求下发网络配置,然后由该客户端根据网络配置和客户端配置生成CGA地址后再通过DHCP服务器进行确认。同样CGA地址生成模块41还包括相同判断子模块411和优先级选择子模块412,相同判断子模块4111用于判断客户端配置与网络配置是否相同,因为每个客户端配置都可能是不同的,而DHCP服务器3上的网络配置是针对整个网络中的客户端设置的,因此在DHCP服务器3生成CGA地址时,可能会遇到判断客户端配置与网络配置不相同的情况;优先级选择子模块412用于在相同判断子模块411判断客户端配置与网络配置不相同时,选择优先级高的配置生成CGA地址,这样就可以通过DHCP服务器3上的网络配置统ー控制网络内所有的客户端4,例如统ー设置网络配置中生成CGA的安全级数,并将该网络配置的优先级设置较高,则各个客户端4在生成CGA地址时均会以网络配置中生成CGA的安全级数为准生成各个客户端的CGA地址。通过上述加密生成地址的配置系统可以通过DHCP服务器和客户端的DHCP报文交互使在生成CGA地址时參考网络配置,从而在网络管理层面能够干预CGA地址的生成,提高网络的管理。还可以通过扩展在DHCP服务器上的网络配置,达到对网络内全部客户端生成的CGA地址的扩展,增强了 CGA地址的可扩展性。本发明实施例提出了三种DHCP服务器与客户端通过DHCP报文交互生成满足网络配置CGA地址的方法。可在DHCP服务器上生成CGA地址,也可先在客户端中生成CGA地址,然后由DHCP服务器对该客户端生成的CGA地址进行确认,其中对于先在客户端中生成的CGA地址并无要求,客户端可仅根据客户端配置生成CGA地址,也可根据客户端配置和网络配置生成CGA地址,即选用两者优先级较高的配置生成CGA地址。如图3所示,为本发明实施例一的加密生成地址的配置方法的流程图,该实施例中包括DHCP服务器和至少ー个客户端,这样ー个DHCP服务器就能够支持其所属网络内的所有客户端生成CGA地址,只要对DHCP服务器中的网络配置进行扩展,就可以实现对整个网络的CGA方案的扩展或演进,而不需要使用逐个修改客户端的方式进行扩展。并且在DHCP服务器上生成CGA地址,替代客户端进行CGA地址生成的运算可以降低客户端的计算开销,解决目前客户端运算能力不强的问题,减轻客户端的负担提高其性能。该实施例包括以下步骤步骤S301,客户端向本地链路多播地址发送DHCP要求消息(具体可參考本文所提出的四消息模式),用以发现网络内有效的DHCP服务器。步骤S302,DHCP服务器在接收到该DHCP要求消息后,检测DHCP服务器自身是否能够满足该客户端的要求,因此能够收到该要求消息的所有DHCP服务器都会回应ー个公告消息,通知该客户端所述DHCP服务器能够提供其需要的地址网络配置信息,但是该地址和配置信息不在该公告消息中,所述公告消息只是起到提示客户端的作用。其中客户端的要求主要是指DHCP服务器能否提供相关的网络配置,或者客户端需要由DHCP服务器生成 CGA地址时,该DHCP服务器能否提供代替客户端生成CGA地址的服务。步骤S303,客户端在众多回应的DHCP服务器中选择ー个DHCP服务器向其发送DHCP请求消息,该请求消息中包括客户端配置,其中该客户端配置包括客户端公钥和由客户端指定的CGA相关要求參数,如CGA安全级数等,如果该客户端已知代理客户端的公钥也可以一起发送;其中DHCP请求消息采用扩展的DHCP协议,在DHCP请求消息中添加CGA參数。步骤S304,DHCP服务器根据收到的客户端配置和网络配置生成CGA地址。DHCP服务器解析客户端发送的请求消息,并得到该请求消息中携帯的客户端配置;DHCP服务器根据解析到的客户端配置和在DHCP服务器中预设的网络配置生成CGA地址,其中,网络配置包括代理客户端的公钥、DHCP服务器设置的CGA安全级数等參数。如果客户端配置与网络配置不同,则会选择优先级高的配置生成CGA地址,这样就可以通过DHCP服务器上的网络配置统ー控制网络内所有的客户端,例如统ー设置网络内所有的客户端生成CGA的安全级数。当然如果客户端配置与网络配置相同,则就可以任选客户端配置或网络配置生成CGA地址。通常来说会将DHCP服务器上的网络配置优先级设的较高,因此在客户端配置与网络配置不同时会选择网络配置生成CGA地址。步骤S305,DHCP服务器对生成的CGA地址确认是否符合网络配置的要求。上述满足网络配置的要求可以包括多项内容,例如检测该生成的CGA地址在网络中的唯一性,SP检测该CGA地址在网络中是否是唯一的,如果该CGA地址不唯一,则说明该生成的CGA地址不能满足网络配置的要求,应当重新生成新的CGA地址。步骤S306,如果生成的CGA地址符合网络配置的要求,则通过DHCP应答消息将生成的CGA地址下发给客户端。客户端可直接使用DHCP服务器分配的CGA地址和其对应的CGA參数数据组,在接收端验证生成的CGA地址时可能会通过该CGA參数数据组进行验证。其中,该CGA參数数据组包括生成该CGA地址实际所用到的所有信息的实际參数值构成,例如代理客户端的公钥,最后实际使用的CGA安全级别数等配置信息。当然也需要使用扩展的DHCP协议,在应答消息中添加CGA地址及对应的CGA地址參数。由于计算CGA地址需要较大的计算量,如果网络内的客户端太多并且都需要由DHCP服务器来生成相应的CGA地址的话,则将会造成DHCP服务器负担过重的问题。因此本发明实施例还提出了ー种由第三方服务器生成CGA地址的方法,通过DHCP服务器将相应的网络配置和客户端配置发送至第三方服务器,由第三方服务器生成CGA地址后,将生成的CGA地址再返回给DHCP服务器,这样就能够减轻DHCP服务器的使用负担,进一步加快生成CGA地址的速度。对于第三方服务器生成CGA地址同样在网络配置和客户端配置不同时,也要根据配置优先级选择优先级高的配置生成CGA地址。当然也可以由DHCP服务器根据网络配置和客户端配置的优先级,将优先级高的配置发送给第三方服务器,第三方服务器在收到配置后无需判断直接生成CGA地址即可。上述加密生成地址的配置方法通过DHCP服务器和客户端的DHCP报文交互使在DHCP服务器上生成的CGA地址都能够满足网络配置的要求,从而在网络管理层面能够干预CGA地址的生成,提高网络的管理。并且可以由DHCP服务器执行生成CGA地址的算法,降低了客户端的开销。还可以通过扩展在DHCP服务器上的网络配置,达到对网络内全部客户端生成的CGA地址的扩展,增强了 CGA地址的可扩展性。如图4所示,为本发明实施例二的加密生成地址的配置方法的流程图,该实施例是先由客户端请求DHCP服务器发送网络配置,在客户端中根据网络配置和相应的客户端配置生成CGA地址,再由DHCP服务器对生成的CGA地址确认其是否符合网络配置的要求。 当然本发明实施例还可在DHCP服务器不将网络配置下发的时候,由DHCP服务器生成CGA地址后在下发给客户端,该实施例包括以下步骤步骤S401,客户端向本地链路多播地址发送请求网络配置的要求消息,该DHCP要求消息可参考两消息模式,客户端请求DHCP服务器将网络配置下发,由客户端根据网络配置生成CGA地址。其中该DHCP要求消息目的不是发现有效的DHCP服务器而是请求DHCP服务器将其上的网络配置下发。步骤S402,DHCP服务器收到该DHCP要求消息后判断是否可将请求的网络配置下发,如果DHCP服务器指定由自己为客户端生成CGA地址,又或是DHCP服务器认为该网络配置不能分发,因此就判断不可将该网络配置下发给客户端。步骤S403,如果DHCP服务器判断能够将请求的网络配置下发,则通过DHCP应答消息将该网络配置下发给客户端,当然此时也需要使用扩展的DHCP协议,在应答消息中添加CGA参数。其中,网络配置包括代理客户端的公钥、DHCP服务器设置的CGA安全级数等参数。步骤S404,如果DHCP服务器判断不能将请求的网络配置下发,则通知客户端将客户端配置上报,该客户端在收到该上报客户端配置的通知后会直接通过DHCP请求消息上报客户端配置,DHCP服务器在收到该客户端配置后会根据客户端配置和网络配置生成CGA地址,确认后下发给客户端,即执行本发明实施例一由DHCP服务器生成CGA地址的加密生成地址的配置的方法。步骤S405,客户端在收到DHCP服务器下发的网络配置后,根据DHCP服务器下发的网络配置和客户端配置生成CGA地址,同样如果客户端配置与网络配置不同,则会选择优先级高的配置生成CGA地址,这样就可以通过DHCP服务器上的网络配置统一控制网络内所有的客户端,例如统一设置网络内所有的客户端生成CGA的安全级数。当然如果客户端配置与网络配置相同,则就可以任选客户端配置或网络配置生成CGA地址。通常来说会将DHCP服务器上的网络配置优先级设的较高,因此在客户端配置与网络配置不同时会选择网络配置生成CGA地址。步骤S406,客户端将生成的CGA地址向DHCP服务器发送,并请求DHCP服务器确认该生成的CGA地址是否符合网络配置的要求。其中向DHCP服务器发送的方式可以采用DHCP要求消息,通过扩展的DHCP协议将生成的CGA地址添加到上述要求消息中。步骤S407,DHCP服务器在收到该DHCP要求消息后,会对该DHCP要求消息中携带的CGA地址进行确认,确认其是否符合网络配置的要求,并通过DHCP应答消息将确认结果返回给客户端。当然也需要使用扩展的DHCP协议,在DHCP应答消息中添加CGA地址及对应的CGA地址参数。
步骤S408,如果确认该CGA地址符合网络配置的要求,则客户端可直接使用该生成的CGA地址和其对应的CGA参数数据组,在接收端验证生成的CGA地址时可能会通过该CGA参数数据组进行验证。其中,该CGA参数数据组包括生成该CGA地址实际所用到的所有信息的实际参数值构成,例如代理客户端的公钥,最后实际使用的CGA安全级别数等配置信息。步骤S409,如果确认该CGA地址不符合网络配置的要求,则DHCP服务器会在相应的DHCP应答消息中添加网络配置,并通知客户端再次生成CGA地址。同样客户端再次生成的CGA地址也需要经过DHCP服务器的确认,只有经过DHCP服务器确认后的CGA地址才能够供客户端使用。当然该步骤中由客户端再次生成CGA地址,也可以由DHCP服务器再次生成新的CGA地址,并由DHCP服务器确认后发送给客户端。该由DHCP服务器再次生成新的CGA地址的步骤同本发明实施例一由DHCP服务器生成CGA地址的加密生成地址的配置的方法一样。上述加密生成地址的配置方法通过DHCP服务器和客户端的DHCP报文交互使生成的CGA地址都能够满足网络配置的要求,从而在网络管理层面能够干预CGA地址的生成,提高网络的管理。并且还可以通过扩展在DHCP服务器上的网络配置,达到对网络内全部客户端生成的CGA地址的扩展,增强了 CGA地址的可扩展性。如图5所示,为本发明实施例三的加密生成地址的配置方法的流程图,该实施例是先由客户端生成相应的CGA地址,但是对于该CGA地址是仅根据客户端配置或客户端配置和网络配置生成并无要求,因为根据客户端配置生成的CGA地址也可能能够满足网络配置的要求,这样就可以减少客户端和DHCP服务器之间的DHCP报文交互。步骤S501,客户端生成CGA地址,其中子网前缀可通过路由广播消息获得,客户端生成的CGA地址可以是仅根据客户端配置生成,也可根据客户端配置和网络配置生成的。步骤S502,客户端将生成的CGA地址向DHCP服务器发送,并请求DHCP服务器确认CGA地址是否符合网络配置的要求,其中向DHCP服务器发送的方式可以采用DHCP要求消息,通过扩展的DHCP协议将生成的CGA地址添加到上述DHCP要求消息中。步骤S503,DHCP服务器收到上述DHCP要求消息后,会对该要求消息中携带的CGA地址进行确认,确认其是否符合网络配置的要求,并将确认结果返回给客户端。步骤S504,如果确认该CGA地址符合网络配置的要求,则客户端可直接使用该生成的CGA地址和其对应的CGA参数数据组,在接收端验证生成的CGA地址时可能会通过该CGA参数数据组进行验证。其中,该CGA参数数据组包括生成该CGA地址实际所用到的所有信息的实际参数值构成,例如代理客户端的公钥,最后实际使用的CGA安全级别数等配置信息。步骤S505,如果确认该CGA地址不符合网络配置的要求,则DHCP服务器会判断是否可将请求的网络配置下发,如果DHCP服务器指定自己为客户端生成CGA地址,又或是DHCP服务器认为该网络配置不能分发,因此就判断不可将该网络配置下发给客户端。步骤S506,如果DHCP服务器判断可将请求的网络配置下发,则会在相应的DHCP应答消息中添加网络配置,并通知客户端再次生成CGA地址。同样客户端再次生成的CGA地址也需要经过DHCP服务器的确认,只有经过DHCP服务器确认后的CGA地址才能够供客户端使用。步骤S507,如果DHCP服务器判断不可将请求的网络配置下发,则通知客户端将客户端配置上报,该客户端在收到该上报客户端配置的通知后会直 接通过DHCP请求消息上报客户端配置,DHCP服务器在收到该客户端配置后会根据客户端配置和网络配置生成CGA地址,确认后下发给客户端,即执行本发明实施例一由DHCP服务器生成CGA地址的加密生成地址的配置的方法。上述加密生成地址的配置方法通过DHCP服务器和客户端的DHCP报文交互使生成的CGA地址都能够满足网络配置的要求,从而在网络管理层面能够干预CGA地址的生成,提高网络的管理。并且还可以通过扩展在DHCP服务器上的网络配置,达到对网络内全部客户端生成的CGA地址的扩展,增强了 CGA地址的可扩展性。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种加密生成地址的配置方法,用于使生成的加密生成地址CGA能够符合网络配置的要求,其特征在于,包括以下步骤 客户端生成CGA地址; 所述客户端向DHCP服务器发送所述生成的CGA地址,请求所述DHCP服务器确认所述生成的CGA地址是否符合所述网络配置的要求,所述网络配置包括DHCP服务器设置的CGA安全级数; 如果不符合所述网络配置的要求,则再次生成CGA地址。
2.如权利要求I所述加密生成地址的配置方法,其特征在于,所述再次生成CGA地址具体包括 所述客户端接收所述DHCP服务器发送的网络配置,根据所述客户端配置和所述网络配置重新生成CGA地址; 所述客户端再次向所述DHCP服务器发送所述重新生成的CGA地址,请求所述DHCP服务器确认所述重新生成的CGA地址是否符合所述网络配置的要求。
3.如权利要求I所述加密生成地址的配置方法,其特征在于,所述再次生成CGA地址具体包括 所述客户端将自身的客户端配置向所述DHCP服务器发送; 所述DHCP服务器根据所述客户端配置和所述网络配置生成CGA地址。
4.如权利要求I所述加密生成地址的配置方法,其特征在于,所述客户端生成CGA地址具体包括以下步骤 所述客户端向本地链路多播地址发送请求网络配置的要求消息; 所述客户端接收DHCP服务器返回的应答消息,所述应答消息中携带有所述网络配置; 所述客户端根据所述客户端配置与所述网络配置生成CGA地址。
5.如权利要求4所述加密生成地址的配置方法,其特征在于,所述客户端根据所述客户端配置与所述网络配置生成CGA地址具体包括 判断所述客户端配置与所述网络配置是否相同; 如果所述客户端配置与所述网络配置不相同,则选择优先级高的配置生成CGA地址。
6.如权利要求I至5任一项所述加密生成地址的配置方法,其特征在于,所述客户端配置包括客户端公钥和CGA安全级数。
7.一种加密生成地址的配置系统,其特征在于,包括DHCP服务器和至少一个客户端, 所述客户端,用于生成CGA地址; 所述DHCP服务器,用于确认所述客户端生成的CGA地址是否符合网络配置的要求,所述网络配置包括DHCP服务器设置的CGA安全级数。
8.如权利要求7所述加密生成地址的配置系统,其特征在于,所述DHCP服务器进一步用于在确认所述生成的CGA地址不符合所述网络配置的要求后,要求所述客户端上报客户端配置,并根据所述客户端配置和网络配置生成新的CGA地址,在确认所述新的CGA地址符合所述网络配置要求后将所述新的CGA地址下发给所述客户端。
9.一种客户端,其特征在于,包括CGA地址生成模块和CGA地址确认模块, 所述CGA地址生成模块,用于生成CGA地址; 所述CGA地址确认模块,用于将所述CGA地址生成模块生成的CGA地址向DHCP服务器发送,并请求所述DHCP服务器确认所述CGA地址是否符合网络配置的要求,所述网络配置包括DHCP服务器设置的CGA安全级数。
10.如权利要求9所述客户端,其特征在于,还包括配置发送模块,用于在所述CGA地址确认模块收到所述DHCP服务器确认不符合所述网络配置的要求后,向所述DHCP服务器发送所述DHCP服务器生成新的CGA地址所需的客户端配置。
11.如权利要求9所述客户端,其特征在于,还包括配置请求模块,用于向本地链路多播地址发送请求所述网络配置的要求消息,如果所述DHCP服务器将所述网络配置下发,则通知所述CGA地址生成模块根据所述网络配置和所述客户端配置生成CGA地址。
12.如权利要求9所述客户端,其特征在于,所述CGA地址生成模块具体用于根据所述客户端配置生成CGA地址,或根据所述客户端配置和所述网络配置生成CGA地址。
13.如权利要求12所述客户端,其特征在于,所述CGA地址生成模块还包括相同判断子模块和优先级选择子模块, 所述相同判断子模块,用于判断所述客户端配置与所述网络配置是否相同; 所述优先级选择子模块,用于在所述相同判断子模块判断所述客户端配置与所述网络配置不相同时,选择优先级高的配置生成CGA地址。
14.如权利要求11所述客户端,其特征在于,所述CGA地址确认模块进一步还用于在收到所述DHCP服务器确认CGA地址不符合所述网络配置的要求后,通知所述配置请求模块再次向本地链路多播地址发送请求所述网络配置的要求消息; 所述CGA地址生成模块还用于根据所述配置请求模块请求的所述网络配置,再次生成CGA地址。
全文摘要
本发明公开了一种加密生成地址的配置方法,用于使生成的加密生成地址CGA能够符合网络配置的要求,包括以下步骤动态主机配置协议DHCP服务器接收客户端发送的客户端配置;所述DHCP服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址;所述DHCP服务器将所述CGA地址下发给所述客户端。通过本发明实施例能够使在生成CGA地址时参考网络配置,所以克服了现有技术中客户端生成的CGA地址无法满足网络配置需要的缺陷,使从网络管理层面能够干预CGA地址的生成,提高网络的管理能力。
文档编号H04L29/06GK102739677SQ20121022231
公开日2012年10月17日 申请日期2007年6月29日 优先权日2007年6月29日
发明者夏忠其, 蒋胜 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1