专利名称:一种加密生成地址的配置方法、系统和装置的制作方法
技术领域:
本发明涉及网络通信技术领域,特别涉及一种加密生成地址的配置方法、 系统和装置。
背景技术:
IPv6是(Internet Protocol Version 6 )的缩写,也被称作下一代互耳关网协 议,它是用来替代现行的IPv4协议的一种新的IP协议。今天的互联网大多 数应用的是IPv4 (Internet Protocol Version 4 )协议,但是随着互联网应用范 围的不断扩大,它也面临着越来越不容忽3见的危机,例如地址匮乏等等。IPv6 正是为了解决IPv4所存在的一些问题和不足而提出的,同时它还在许多方面 提出了改进,例如路由方面、自动配置方面,因此IPv6必将会逐步取代IPv4。CGA (加密生成地址)是一类特别的IPv6地址,其中的接口标识部分由 公钥结合辅助信息,使用单向的保密混乱算法生成。加密生成地址的使用中, 接收方需要再次计算混乱数值,并与发送方的地址接口标识部分比较,以此 来验证发送方的公钥和地址的绑定关系。对网络消息的保护则可以通过把公 钥、辅助信息附加到消息中,再用对应的私钥签名来完成。加密生成地址方 案在IP层内解决了地址的认证问题,不需要别的权威证书体系或者别的安全 架构,是一种简单、高效的安全方案。其中,加密生成地址的定义中并没有 指定公钥/私钥对的来源,其可以来自权威证书体系的分配,也可以由客户端 自己计算产生,或者别的来源。在实现本发明过程中,发明人发现现有技术中至少存在如下问题现有 技术CGA地址的生成都由客户端生成,并且〗艮定CGA地址的生成不需要任 何网络信息,缺少网络层面的信息,因此生成的CGA地址可能不能满足网络 配置的需要。并且生成CGA地址需要较大的运算量,而往往客户端的计算能 力非常有限,特别是移动客户端或低端的感应器,往往不能负担或者占用太多的计算资源,因此生成CGA地址将会导致客户端性能下降。特别是当移动 客户端频繁转换接入网络,需要经常改变网络地址时,生成CGA地址的负担 会大大增加。发明内容本发明要解决的问题是提供一种加密生成地址的配置方法、系统和装置, 解决现有技术中客户端生成的CGA地址无法满足网络配置需要的缺陷。为达到上述目的,本发明实施例一方面提出一种加密生成地址的配置方 法,用于使生成的加密生成地址CGA能够符合网络配置的要求,包括以下步 骤动态主机配置协议DHCP服务器接收客户端发送的客户端配置;所述 DHCP服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA 地址;所述DHCP服务器将所述CGA地址下发给所述客户端。另一方面,本发明实施例还提供了一种加密生成地址的配置方法,用于 使生成的加密生成地址CGA能够符合网络配置的要求,包括以下步骤客户 端生成CGA地址;所述客户端向DHCP服务器发送所述生成的CGA地址,求;如果不符合所述网络配置的要求,则再次生成CGA地址。再一方面,本发明实施例还提供了一种加密生成地址的配置系统,包括 DHCP服务器和至少一个客户端,所述客户端,用于将所述客户端的客户端 配置向所述DHCP服务器发送;所述DHCP服务器,用于根据所述客户端发 送的客户端配置和所述DHCP服务器的网络配置生成CGA地址,并将所述 CGA地址下发给所述客户端。再一方面,本发明实施例还提供了一种DHCP服务器,包括配置接收保 存模块、CGA地址生成模块和CGA地址下发模块,所述配置接收保存模块, 用于接收客户端发送的客户端配置并保存;所述CGA地址生成模块,用于根 据所述配置接收保存模块保存的客户端配置和所述DHCP服务器的网络配置 生成CGA地址;所述CGA地址下发模块,用于将所述CGA地址生成模块生 成的CGA地址下发给所述客户端。再一方面,本发明实施例还提供了一种加密生成地址的配置系统,包括DHCP服务器和至少一个客户端,所述DHCP服务器,用于确认所述客户端 生成的CGA地址是否符合所述网络配置的要求;所述客户端,用于生成CGA 地址。再一方面,本发明实施例还提供了一种客户端,包括CGA地址生成模块 和CGA地址确认模块,所述CGA地址生成模块,用于生成CGA地址;所述 CGA地址确认模块,用于将所述CGA地址生成模块生成的CGA地址向DHCP 服务器发送,并请求所述DHCP服务器确认所述CGA地址是否符合所述网络 配置的要求。本发明实施例的技术方案具有以下优点,因为通过DHCP服务器和客户 端的DHCP报文交互能够使在生成CGA地址时参考网络配置,所以克服了现 有技术中客户端生成的CGA地址无法满足网络配置需要的缺陷,使从网络管 理层面能够干预CGA地址的生成,提高网络的管理能力。
图1为本发明实施例加密生成地址的配置系统一的结构图; 图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地址,系统二是在否满足网络配置的要求。如图1所示,为本发明实施例加密生成地址的配置系统一的结构图,该 系统包括DHCP服务器1和至少一个客户端2, 一个DHCP服务器能够支持 其所属网络内的所有客户端生成CGA地址,这样只要对DHCP服务器中的网 络配置进行扩展,就可以实现对整个网络的CGA方案的扩展或演进,而不需 要使用逐个修改客户端的方式进行扩展。并且在DHCP服务器上生成CGA地 址,替代客户端进行CGA地址生成的运算可以降低客户端的计算开销, 解决目前客户端运算能力不强的问题,减轻客户端的负担提高其性能。客 户端2用于将该客户端2的客户端配置通过DHCP请求消息向DHCP服务器 1发送,其中该客户端配置包括客户端公钥和由客户端指定的CGA相关要求 参数,如CGA安全级数等,如果该客户端2已知代理客户端的公钥也可以一 起发送;其中,DHCP请求消息可采用扩展的DHCP协议,在DHCP请求消 息中添加CGA参数。DHCP服务器1用于解析客户端2发送的请求消息,并得到该请求消息 中携带的客户端配置;DHCP服务器1根据解析到的客户端配置和在DHCP 服务器1中预设的网络配置生成CGA地址,其中,网络配置包括代理客户端 的公钥、DHCP服务器设置的CGA安全级数等参数,如果客户端配置与网络 配置不同,则会选I奪优先级高的配置生成CGA地址,这样就可以通过DHCP 服务器1上的网络配置统一控制网络内所有的客户端2,例如统一设置网络内 所有的客户端2生成CGA的安全级数。当然如果客户端配置与网络配置相 同,则就可以任选客户端配置或网络配置生成CGA地址。通常来说会将DHCP 服务器1上的网络配置优先级设的较高,因此在客户端配置与网络配置不同 时会选择网络配置生成CGA地址。DHCP服务器1通过DHCP应答消息将生2,客户端2可直接使用DHCP服务器1分配的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服务器1包括配置接收保存模块11、 CGA地址生成模块12 和CGA地址下发模块13,配置接收保存模块11用于接收客户端2发送的客 户端配置并保存,其中该客户端配置包括客户端公钥和由客户端指定的CGA 相关要求参数,如CGA安全级数等;CGA地址生成模块12用于根据配置接 收保存模块11保存的客户端配置和DHCP服务器1的网络配置生成CGA地 址,其中,网络配置包括代理客户端的公钥、DHCP服务器设置的CGA安全 级数等参数,如果客户端配置与网络配置不同,则会选择优先级高的配置生 成CGA地址;CGA地址下发模块13用于通过DHCP应答消息将CGA地址 生成模块12生成的CGA地址和该生成的CGA地址对应的CGA参数数据组 下发给客户端2,其中,对应的CGA参数数据组包括生成该CGA地址所用 到的所有信息,在接收端验证生成的CGA地址时可能会通过该CGA参数数据 组进行验证其中,DHCP服务器1还包括消息处理模块14和要求判断模块15,要求判断模块14用于根据消息处理模块14接收到的客户端2发送的要求消息判 断自身是否满足客户端2的要求,首先客户端2会向本地链路多播地址发送 DHCP要求消息,该要求消息用来发现有效的DHCP服务器1;消息处理模块 14用于接收客户端2发送的要求消息,并在要求判断模块15判断DHCP服 务器1自身能够满足客户端2的要求时,向客户端2回应公告消息,通知该 客户端2所述DHCP服务器1能够提供其需要的地址网络配置信息,但是该 地址和配置信息不在该公告消息中,所述公告消息只M到提示客户端2的 作用。其中客户端的要求主要是指DHCP服务器能否提供相关的网络配置, 或者客户端需要由DHCP服务器生成CGA地址时,该DHCP服务器能否提 供代替客户端生成CGA地址的服务。其中,DHCP服务器1还包括下发判断 模块16、网络配置下发模块17和通知模块18,下发判断模块16用于在收到 客户端2发送请求网络配置的要求消息后,判断是否可将请求的网络配置下 发,该请求消息目的不是发现有效的DHCP服务器而是请求DHCP服务器1 将其上的网络配置下发;网络配置下发模块17用于在下发判断模块16判断 可将请求的网络配置下发后,通过DHCP应答消息将该网络配置下发给客户 端2,当然此时也需要使用扩展的DHCP协议,在应答消息中添加CGA参数; 通知模块18用于在下发判断模块16判断不可将请求的网络配置下发后,通 知客户端2将客户端配置上报,如果DHCP服务器1指定由自己为客户端2 生成CGA地址,又或是DHCP服务器1认为该网络配置不能分发,因此就判 断不可将该网络配置下发给客户端2,此时就要求该客户端2向DHCP服务 器1上报客户端配置,用以由DHCP服务器1为该客户端2生成CGA地址。 其中,DHCP服务器1还包括CGA地址判断模块19,用于判断CGA地 址生成模块12生成的CGA地址是否符合网络配置的要求,如果符合所述网 络配置的要求,则通知CGA地址下发才莫块13将生成的CGA地址下发给客户 端2;如果不符合该网络配置要求,则通知CGA地址生成模块12重新生成新 的CGA地址。上述满足网络配置的要求可以包括多项内容,例如检测该生成 的CGA地址在网络中的唯一性,即检测该CGA地址在网络中是否是唯一的, 如果该CGA地址不唯一,则说明该生成的CGA地址不能满足网络配置的要求,应当重新生成新的CGA地址。其中,CGA地址生成模块12可以包括相同判断子模块121和优先级选 择子模块122,相同判断子模块121用于判断客户端配置与网络配置是否相同, 因为每个客户端配置都可能是不同的,而DHCP服务器1上的网络配置是针 对整个网络中的客户端设置的,因此在DHCP服务器1生成CGA地址时,可 能会遇到判断客户端配置与网络配置不相同的情况;优先级选择子模块122 用于在相同判断子模块121判断客户端配置与网络配置不相同时,选择优先 级高的配置生成CGA地址,如果客户端配置与网络配置不同,则会选择优先 级高的配置生成CGA地址,这样就可以通过DHCP服务器1上的网络配置统 一控制网络内所有的客户端2,例如统一设置网络配置中生成CGA的安全级 数,并将该网络配置的优先级设置较高,则各个客户端2在生成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参数数据组都下发给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 地址在网络中的唯一性,即检测该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,客户端向本地链路多"t番地址发送请求网络配置的要求消息, 该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月l 务器会在相应的DHCP应答消息中添加网络配置,并通知客户端再次生成 CGA地址。同样客户端再次生成的CGA地址也需要经过DHCP服务器的确 认,只有经过DHCP服务器确认后的CGA地址才能够供客户端使用。当然该 步骤中由客户端再次生成CGA地址,也可以由DHCP ;i良务器再次生成新的 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参数数据组进行马h正。其中,该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能够符合网络配置的要求,其特征在于,包括以下步骤动态主机配置协议DHCP服务器接收客户端发送的客户端配置;所述DHCP服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址;所述DHCP服务器将所述CGA地址下发给所述客户端。
2、 如权利要求1所述加密生成地址的配置方法,其特征在于,在所述 DHCP服务器接收客户端发送的客户端配置之前,还包括以下步骤,所述DHCP服务器接收所述客户端的向本地链路多播地址发送的要求消自-如果所述DHCP服务器判断自身满足所述客户端的要求,则向所述客户 端回应公告消息,所述客户端在收到所述公告消息后向所述DHCP服务器发 送所述客户端配置。
3、 如权利要求1所述加密生成地址的配置方法,其特征在于,在所述 DHCP服务器接收客户端发送的客户端配置之前,还包括以下步骤所述DHCP服务器接收所述客户端向本地链路多播地址发送请求所述网络配置的要求消息;所述DHCP服务器收到所述要求后,判断是否可将所述网络配置下发; 如果DHCP服务器判断不可将所述网络配置下发,则通知所述客户端将所述客户端配置上才艮。
4、 如权利要求1所述加密生成地址的配置方法,其特征在于,在所述 DHCP服务器根据所述客户端配置和所述网络配置生成CGA地址之后,还包 括以下步骤判断所述生成的CGA地址是否符合网络配置要求; 如果所述生成的CGA地址符合网络配置要求,则所述DHCP服务器将所 述生成的CGA地址下发给所述客户端;如果所述生成的CGA地址不符合网络配置要求,则所述DHCP服务器重新生成新的CGA地址。
5、 如权利要求1所述加密生成地址的配置方法,其特征在于,所述DHCP 服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址具 体包括以下步骤判断所述客户端配置与所述网络配置是否相同;如果所述客户端配置与所述网络配置不相同,则选"t奪优先级高的配置生 成CGA地址。
6、 如权利要求1至5任一项所述加密生成地址的配置方法,其特征在于, 所述客户端配置包括客户端公钥和CGA安全级数。
7、 如权利要求1所述加密生成地址的配置方法,其特征在于,所述DHCP 服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址具 体包括以下步骤所述DHCP服务器将所述客户端配置和所述网络配置发往第三方服务 器,由所述第三方服务器生成CGA地址,所述第三方服务器将所述生成的 CGA地址返回给所述DHCP服务器。
8、 一种加密生成地址的配置方法,用于^f吏生成的加密生成地址CGA能 够符合网络配置的要求,其特征在于,包括以下步骤客户端生成CGA地址;所述客户端向DHCP服务器发送所述生成的CGA地址,请求所述DHCP 服务器确认所述生成的CGA地址是否符合所述网络配置的要求; 如果不符合所述网络配置的要求,则再次生成CGA地址。
9、 如权利要求8所述加密生成地址的配置方法,其特征在于,所述再次 生成CGA地址具体包括所述客户端接收所述DHCP服务器发送的网络配置,根据所述客户端配 置和所述网络配置重新生成CGA地址;所述客户端再次向所述DHCP服务器发送所述重新生成的CGA地址,请 求所述DHCP服务器确认所述重新生成的CGA地址是否符合所述网络配置的 要求。
10、 如权利要求8所述加密生成地址的配置方法,其特征在于,所述再 次生成CGA地址具体包括所述客户端将自身的客户端配置向所述DHCP服务器发送;所述DHCP服务器根据所述客户端配置和所述网络配置生成CGA地址。
11、 如权利要求8所述加密生成地址的配置方法,其特征在于,所述客 户端生成CGA地址具体包括以下步骤所述客户端向本地链路多播地址发送请求网络配置的要求消息; 所述客户端接收DHCP服务器返回的应答消息,所述应答消息中携带有 所述网络配置;所述客户端根据所述客户端配置与所述网络配置生成CGA地址。
12、 如权利要求11所述加密生成地址的配置方法,其特征在于,所述客 户端才艮据所述客户端配置与所述网络配置生成CGA地址具体包括判断所述客户端配置与所述网络配置是否相同;如果所述客户端配置与所述网络配置不相同,则选择优先级高的配置生 成CGA地址。
13、 如权利要求8至12任一项所述加密生成地址的配置方法,其特征在 于,所述客户端配置包括客户端公钥和CGA安全级数。
14、 一种加密生成地址的配置系统,其特征在于,包括DHCP服务器和 至少一个客户端,所述客户端,用于将所述客户端的客户端配置向所述DHCP服务器发送; 所述DHCP服务器,用于根据所述客户端发送的客户端配置和所述DHCP 服务器的网络配置生成CGA地址,并将所述CGA地址下发给所述客户端。
15、 如权利要求14所述加密生成地址的配置系统,其特征在于,还包括 第三方服务器,用于接收所述DHCP服务器发送的所述网络配置和所述客户 端配置,根据所述网络配置和所述客户端配置生成CGA地址,并将所述生成 的CGA地址返回给所述DHCP服务器。
16、 一种DHCP服务器,其特征在于,包括配置接收保存模块、CGA地 址生成模块和CGA地址下发模块,所述配置接收保存模块,用于接收并保存客户端发送的客户端配置; 所述CGA地址生成模块,用于根据所述配置接收保存模块保存的客户端配置和所述DHCP服务器的网络配置生成CGA地址;所述CGA地址下发模块,用于将所述CGA地址生成模块生成的CGA地址下发给所述客户端。
17、 如权利要求16所述DHCP服务器,其特征在于,还包括下发判断模 块、网络配置下发模块和通知模块,所述下发判断模块,用于在收到所述客户端发送请求所述网络配置的要 求消息后,判断是否可将所述网络配置下发;所述网络配置下发模块,用于在所述下发判断模块判断可将所述网络配 置下发后,通过DHCP应答消息将所述网络配置下发给所述客户端;所述通知模块,用于在所述下发判断模块判断不可将所述网络配置下发 后,通知所述客户端将所述客户端配置上报。
18、 如权利要求16所述DHCP服务器,其特征在于,还包括CGA地址 判断模块,用于判断所述CGA地址生成模块生成的CGA地址是否符合网络 配置要求,如果符合所述网络配置要求,则通知所述CGA地址下发模块将生 成的CGA地址下发给所述客户端;如果不符合所述网络配置要求,则通知所 述CGA地址生成模块重新生成新的CGA地址。
19、 如权利要求16所述DHCP服务器,其特征在于,所述CGA地址生 成模块具体包括相同判断子模块和优先级选择子模块,所述相同判断子模块,用于判断所述客户端配置与所述网络配置是否相同;所迷优先级选择子模块,用于在所述相同判断子模块判断所述客户端配置与所述网络配置不相同时,选择优先级高的配置生成CGA地址。
20、 一种加密生成地址的配置系统,其特征在于,包括DHCP服务器和 至少一个客户端,所述客户端,用于生成CGA地址;所迷DHCP服务器,用于确认所述客户端生成的CGA地址是否符合所述网络配置的要求。
21、 如权利要求20所述加密生成地址的配置系统,其特征在于,所述 DHCP服务器进一步用于在确认所述生成的CGA地址不符合所述网络配置的 要求后,要求所述客户端上报客户端配置,并根据所述客户端配置和网络配 置生成新的CGA地址,在确认所述新的CGA地址符合所述网络配置要求后 将所述新的CGA地址下发给所述客户端。
22、 一种客户端,其特征在于,包括CGA地址生成模块和CGA地址确 认模块,所述CGA地址生成模块,用于生成CGA地址;所述CGA地址确认模块,用于将所述CGA地址生成模块生成的CGA地 址向DHCP服务器发送,并请求所述DHCP服务器确i/v所述CGA地址是否 符合所述网络配置的要求。
23、 如权利要求22所述客户端,其特征在于,还包括配置发送模块,用 于在所述CGA地址确认模块收到所述DHCP服务器确认不符合所述网络配置 的要求后,向所述DHCP服务器发送所述DHCP服务器生成新的CGA地址 所需的客户端配置。
24、 如权利要求22所述客户端,其特征在于,还包括配置请求模块,用 于向本地链路多播地址发送请求所述网络配置的要求消息,如果所述DHCP 服务器将所述网络配置下发,则通知所述CGA地址生成模块根据所述网络配 置和所述客户端配置生成CGA地址。
25、 如权利要求22所述客户端,其特征在于,所述CGA地址生成模块 具体用于根据所述客户端配置生成CGA地址,或根据所述客户端配置和所述 网络配置生成CGA地址。
26、 如权利要求25所述客户端,其特征在于,所述CGA地址生成模块 还包括相同判断子模块和优先级选择子模块,所述相同判断子模块,用于判断所述客户端配置与所述网络配置是否相同;所述优先级选择子模块,用于在所述相同判断子模块判断所述客户端配置与所述网络配置不相同时,选择优先级高的配置生成CGA地址。
27、如权利要求24所述客户端,其特征在于,所述CGA地址确认模块 进一步还用于在收到所述DHCP服务器确认CGA地址不符合所述网络配置的要 求后,通知所述配置请求模块再次向本地链路多播地址发送请求所述网络配 置的要求消息;所述CGA地址生成^t块还用于根据所述配置请求模块请求的所述网络配 置,再次生成CGA地址。
全文摘要
本发明公开了一种加密生成地址的配置方法,用于使生成的加密生成地址CGA能够符合网络配置的要求,包括以下步骤动态主机配置协议DHCP服务器接收客户端发送的客户端配置;所述DHCP服务器根据所述客户端配置和所述DHCP服务器的网络配置生成CGA地址;所述DHCP服务器将所述CGA地址下发给所述客户端。通过本发明实施例能够使在生成CGA地址时参考网络配置,所以克服了现有技术中客户端生成的CGA地址无法满足网络配置需要的缺陷,使从网络管理层面能够干预CGA地址的生成,提高网络的管理能力。
文档编号H04L29/06GK101335744SQ200710123100
公开日2008年12月31日 申请日期2007年6月29日 优先权日2007年6月29日
发明者夏忠其, 胜 蒋 申请人:华为技术有限公司