IP地址委派转让专利

申请号 : CN200880127946.7

文献号 : CN101960814A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : G·卡马里洛P·尼坎德

申请人 : 爱立信电话股份有限公司

摘要 :

一种验证关于包括网络路由选择前缀和密码生成的接口标识符的IPv6地址而做出的请求的方法。该请求包括委派证书,所述证书包含至少所述主机的公共密钥、一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的范围或集合的规范、被委派主机的身份、和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的范围或集合的所述规范上取得的数字签名。该方法包括:验证所述IPv6地址的所述网络路由选择前缀包含在所述规范内;验证所述公共密钥和所述另外的参数能用于生成所述密码生成的接口标识符,和使用所述公共密钥来验证所述签名。

权利要求 :

1.一种验证关于包括网络路由选择前缀和密码生成的接口标识符的IPv6地址而做出的请求的方法,所述请求包括委派证书,所述委派证书包含至少所述主机的公共密钥、一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的范围或集合的规范、被委派主机的身份、和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的范围或集合的所述规范上取得的数字签名,所述方法包括:验证所述IPv6地址的所述网络路由选择前缀包含在所述规范内;

验证所述公共密钥和所述另外的参数能用于生成所述密码生成的接口标识符;以及使用所述公共密钥来验证所述签名。

2.如权利要求1所述的方法,其中所述一个或多个另外的参数包括修饰符。

3.如权利要求2所述的方法,其中所述证书包括用于生成所述修饰符的公式,使得每次生成接口标识符所述修饰符就改变。

4.如前面权利要求的任何一项所述的方法,其中所述一个或多个另外的参数包括一个或多个扩展。

5.如前面权利要求的任何一项所述的方法,其中IPv6网络路由选择前缀的所述范围或集合是所有可用的路由选择前缀的子集。

6.如前面权利要求的任何一项所述的方法,其中IPv6网络路由选择前缀的范围或集合的所述规范指定所有可用的路由选择前缀。

7.如前面权利要求的任何一项所述的方法,其中验证所述公共密钥和所述另外的参数能用于生成所述密码生成的接口标识符的所述步骤包括,在所述验证过程中使用所述IPv6地址的所述网络路由选择前缀。

8.如前面权利要求的任何一项所述的方法,其中验证所述公共密钥和所述另外的参数能用于生成所述密码生成的接口标识符的所述步骤,和使用所述公共密钥来验证所述签名的所述步骤,各自利用散列算法。

9.一种IPv6主机,包括:

第一处理器,配置成生成委派证书,所述证书包含至少所述主机的公共密钥、一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的范围或集合的规范、被委派主机的身份、和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的范围或集合的所述规范上取得的数字签名,其中所述公共密钥和所述一个或多个另外的参数能用于计算密码生成的地址的接口标识符部分;

输出,用于将所述证书提供到所述被委派主机;以及

第二处理器,配置成使用至少所述公共密钥和所述一个或多个另外的参数来生成接口标识符,并将所述接口标识符与包含在前缀的所述范围或集合内的网络路由选择前缀组合以便生成密码生成的地址。

10.如权利要求9所述的IPv6主机,其中所述输出进一步配置成当密码生成的地址已经生成时发送通知到所述被委派主机,所述通知包含所述密码生成的地址。

11.一种IPv6主机,包括:

第一输入,用于接收来自对等IPv6主机的委派证书,所述证书包含至少所述对等主机的公共密钥、一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的范围或集合的规范、接收主机的身份、和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的范围或集合的所述规范上取得的数字签名;

第二输入,用于接收来自所述对等主机的所述对等主机正在使用映射到所述证书的密码生成的地址的通知;以及输出,用于将关于所述密码生成的地址的请求发送到第三方节点并用于在所述请求中包括所述证书。

12.一种其上存储委派证书的计算机存储媒体,所述证书包含至少主机的公共密钥,一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的范围或集合的规范、被委派主机的身份、和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的范围或集合的所述规范上取得的数字签名。

说明书 :

IP地址委派

[0001] 背景领域
[0002] 本发明涉及IP地址委派(delegation),并且具体地涉及将用于密码生成的地址的责任从拥有该地址的节点委派到另外的节点。

背景技术

[0003] IPv6地址在长度上是128位。地址的首先64位形成唯一地标识由IP终端或节点使用的因特网接入节点(或所谓的“本地链路”)的路由选择前缀,而最后64位形成唯一地标识到接入节点(或在本地链路内)的移动终端的主机后缀。该主机后缀被称为“接口标识符”,因为它唯一地在接入接口上标识主机。通常,当主机向接入节点注册时,主机由从接入节点发送的通告消息来学习接入节点的路由选择前缀。按照IETF RFC3041,主机然后使用由主机生成的随机数来生成它的接口标识符。主机可另外使用链路层地址来生成接口标识符,该链路层地址例如是由接入网络使用的MAC层地址。
[0004] WO02/076060描述节点如何能使用单向编码函数(例如散列函数)来生成接口标识符的密码版本,并将此提供到另一个对等用户,该对等用户然后能验证该节点是IP地址的接口标识符部分的所有者。此类密码生成的地址已知为CGA。CGA提供安全级别以帮助防止例如“拒绝服务”攻击,其中攻击者声称是节点希望使用的IP地址的所有者。CGA方法已在IETF RFC3972中标准化,并且除其他以外用于IETF RFC 3971中标准化的安全近邻发现(SeND)协议。
[0005] 按照RFC 3972,CGA生成如下:
[0006] Hash1=散列(修饰符(modifier)|前缀|公共密钥|扩展)
[0007] IPv6地址前缀=前缀|Hash1(具有按照安全级别和其他要求来设置的某些位)。
[0008] 其中“前缀”是网络路由选择前缀,“散列”是密码散列函数(SHA-1),“公共密钥”是生成地址的节点的公共密钥,以及“扩展”是用于执行标准化信息的目前未使用的字段。“修饰符”是由节点生成的128位的值,以增加安全性和增强随机性。更具体地说,取决于要求的安全级别,选择修饰符的值以导致数据(包括修饰符和公共密钥)的某个级联散列到某个值(“Hash2”),该值在最左边位的位置具有“0”的指定数。
[0009] 为了证明CGA的所有权,节点必须能提供包含CGA地址的接口标识符(IID)部分、修饰符、公共密钥和任何扩展的证书,其布置为CGA数据结构。该证书包含使用节点的私有密钥跨要发送的消息(与128位CGA类型标签级联)取得的数字签名(SHA-1)。接收该证书的对等节点首先计算Hash2并验证它在最左边位的位置中有正确的“0”的数量。如果情况是这样,它计算Hash1并将此与IID比较,从而验证IID属于公共-私有密钥对,并然后使用经验证的公共密钥通过反转签署过程以验证签名。此第二步骤证明发送者真正拥有公共密钥并且没有仅是盗用它,以及证明消息从声称的发送者发起。
[0010] 拥有CGA的主机(“委派”节点)可将用于那个地址的责任委派到一些另外的节点(“被委派”节点),例如允许被委派节点请求引导到委派节点的业务。这是通过向被委派节点提供证书来实现的,该证书包含CGA、CGA数据结构、被委派节点的身份和使用委派节点的私有密钥创建的签名。为了向第三方证明允许使用声称的CGA,被委派节点提供该证书到第三方,第三方能验证IID属于公共密钥,并且该证书由公共密钥的所有者有效地签署。在其中所述身份是被委派节点的公共密钥的情况下,被委派节点可用它的私有密钥来签署与CGA有关的任何请求,因此允许第三方证明被委派节点拥有声称的身份。
[0011] 这种委派方法的问题是,由委派节点提供到被委派节点的证书束缚于单个CGA。如果委派节点改变它的IPv6地址(例如,由于移动性和它的新的网络路由选择前缀的使用),则必须提供新的证书到被委派节点。

发明内容

[0012] 按照本发明的第一方面,提供一种验证关于包括网络路由选择前缀和密码生成的接口标识符的IPv6地址做出的请求的方法。该请求包括委派证书,该证书包含至少所述主机的公共密钥、一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的集合或范围的规范、被委派主机的身份和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的集合或范围的所述规范上取得的数字签名。该方法包括验证所述IPv6地址的所述网络路由选择前缀包含在所述规范内、验证所述公共密钥和所述另外的参数能用于生成所述密码生成的接口标识符、以及使用所述公共密钥来验证所述签名。
[0013] 本发明的实施例允许主机将用于IPv6地址的责任委派到另外的主机,甚至在这些地址还没有生成时。当地址投入使用时,主机之间随后的信令减少或甚至消除。
[0014] 按照优选的实施例,所述一个或多个另外的参数包括将随机性程度引入地址生成过程的修饰符。更优选的是,所述证书包括用于生成所述修饰符的公式,而使得每次生成接口标识符所述修饰符就改变,所述一个或多个另外的参数还可包括一个或多个扩展。
[0015] IPv6网络路由选择前缀的所述范围或集合可以是所有可用的路由选择前缀的子集。备选的是,IPv6网络路由选择前缀的集合或范围的所述规范可指定所有可用的路由选择前缀,即证书授权被委派节点关于所有路由选择前缀来行动。
[0016] 验证所述公共密钥和所述另外的参数能用于生成所述密码生成的接口标识符的所述步骤可包括在验证过程中使用IPv6地址的所述网络路由选择前缀和采用散列算法。散列算法也可用于使用所述公共密钥来验证所述签名。
[0017] 按照本发明的第二方面,提供一种包括配置成生成委派证书的第一处理器的IPv6主机,该证书包含至少所述主机的公共密钥、一个或多个另外的参数、用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的集合或范围的规范、被委派主机的身份、和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的集合或范围的所述规范上取得的数字签名。所述公共密钥和所述一个或多个另外的参数能用于计算密码生成的地址的接口标识符部分。该主机还包括用于提供所述证书到所述被委派主机的输出、和第二处理器,该处理器配置成使用至少所述公共密钥和所述一个或多个另外的参数来生成接口标识符,并将接口标识符和包含在前缀的所述范围和集合内的网络路由选择前缀组合以便生成密码生成的地址。所述输出可进一步配置成当密码生成的地址已经生成时发送通知到所述被委派主机,该通知包含所述密码生成的地址。
[0018] 按照本发明的第三方面,提供一种包括用于接收来自对等IPv6主机的委派证书的第一输入的IPv6主机,该证书包含至少所述对等主机的公共密钥、一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的集合或范围的规范、接收主机的身份、和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的集合或范围的所述规范上取得的数字签名。该主机还包括:用于接收来自所述对等主机的对等主机正在使用映射到所述证书的密码生成的地址的通知的第二输入;和用于发送关于密码生成的地址的请求到第三方节点并用于在请求中包括所述证书的输出。
[0019] 按照本发明的第四方面,提供一种其上存储委派证书的计算机存储媒体,该证书包含至少主机的公共密钥、一个或多个另外的参数或用于生成一个或多个另外的参数的一个或多个公式、IPv6网络路由选择前缀的集合或范围的规范、被委派主机的身份,和使用与所述公共密钥关联的私有密钥在至少所述身份和IPv6网络路由选择前缀的集合或范围的所述规范上取得的数字签名。

附图说明

[0020] 图1示意示出用于新的CGA委派证书的示例结构;
[0021] 图2示意示出涉及CGA委派证书的生成和使用的通信系统的组件;以及[0022] 图3是示出用于证实关于IPv6地址而做出的请求的过程的流程图。

具体实施方式

[0023] 为了允许IPv6节点或主机(“委派”节点)能将用于还不确定的密码生成的IP地址(CGA)的责任委派到一些另外的节点(“被委派”节点),此处提出一个机制,其涉及在委派节点生成包含生成那些不确定CGA所要求的信息的证书。该证书包括用委派节点的私有密钥创建的签名,并且被提供到被委派节点。通过将该证书呈现给第三方,被委派节点能随后证明它的用于声称的CGA的被委派的责任。
[0024] 更详细地考虑委派机制,希望为还未确定的CGA委派责任的节点生成具有如图1中所示的数据结构的证书。该证书包含新的CGA数据结构和被委派节点的身份。这个身份可以是属于被委派节点的公共密钥。新的数据结构由修饰符、委派节点的公共密钥、任何扩展和允许的网络路由选择前缀的范围、集合、或其他定义来组成。允许的前缀可在算法上定义(例如使用Bloom过滤器),或者甚至数据结构可包含允许所有前缀的指示。数据结构可标识用于生成修饰符的方法(例如算法或对算法的引用),而不是定义单个修饰符值,从而能从已知输入值(例如网络路由选择前缀和当前时间)确定地生成修饰符。如果使用时间,那么CGA将有时间限制。应该使用合适粗略的粒度(例如以一小时间隔)。相似地,可在算法上定义任何使用的扩展。
[0025] 假设对于CGA所要求的安全级别设置为它的最低值(即sec=0,按照RFC3972),能容易地为生成修饰符定义算法。当sec>0时,更复杂的考虑出现。
[0026] 委派节点在证书中包括用它的私有密钥来创建的签名,并提供证书到被委派节点。这能由适当的机制来完成,例如使用IETF RFC3972的第6节中描述的机制。如本领域技术人员将领会的,签名绑定到CGA数据结构。在某个稍后的时间点,委派节点将为自己生成CGA。要做此操作,它将(如果必需的话)使用指定的算法来生成修饰符(和任何扩展)并选择或生成适当的网络路由选择前缀并遵循RFC 3972的第4节中陈述的过程。
[0027] 在这时,委派节点将通知被委派节点其新的IPv6地址。随后,当被委派节点希望请求第三方节点(“验证”节点)关于新的CGA来行动时,被委派节点应该包括证书与请求一起。验证节点执行下列行动以便验证请求:
[0028] ·它从CGA提取网络路由选择前缀,并验证它属于证书的CGA数据结构中定义的任何集合或范围内。
[0029] ·它然后从数据结构提取或生成修饰符,以及提取委派节点的公共密钥和任何扩展。
[0030] ·由于在CGA生成期间使用的实际冲突计数值将在验证的时候不可知,验证节点必须连续地设置冲突计数为1、1和2,并然后执行IETF RFC3972的第5节的算法以便验证CGA属于委派节点的公共密钥。
[0031] ·如果正确地验证CGA,则验证节点然后试图验证包含在证书内的签名已使用与委派节点的公共密钥对应的私有密钥来生成。
[0032] ·如果正确地验证签名,则验证节点可试图验证请求的发送方(即被委派节点)是证书内包含的身份的所有者。在该身份是另外的公共密钥的情况下,这可涉及验证使用被委派节点的私有密钥生成的请求内包含的另外的签名。
[0033] 假设安全级别设置为低,即sec=0,不存在对于验证节点计算Hash2的需要。然而,如果sec>0,则必须实行RFC3972的第5节的步骤6和7中描述的过程。
[0034] 图2示意示出委派节点1并且其包括配置成生成如上所述的委派证书的第一处理器2。第二处理器3配置成使用包含在所述证书内的参数来生成CGA。CGA生成的通知和证书都经由输出4发送到被委派节点5。这个节点5在第一输入6接收证书,并在第二输入7接收通知。处理器9负责生成关于被委派CGA的请求,并负责将这些请求连同证书一起发送到验证节点10。请求由验证节点10在输入11接收。三阶段验证过程在证书上执行,即:验证路由选择前缀在范围内12,验证IID匹配公共密钥13,和验证签名14。
[0035] 图3是示出用于验证证书的过程的流程图。示出的步骤包括:在验证节点接收来自被委派节点的请求(关于CGA)(步骤100);从CGA提取路由选择前缀(步骤101);验证路由选择前缀在证书中指定的范围内(步骤102);验证CGA的IID(步骤103);以及验证签名(步骤104)。如果验证在任何步骤失败,则请求被拒绝(步骤106)。如果所有的验证步骤成功,则该请求被接受和处理(步骤105)。
[0036] 本领域技术人员将领会,在不脱离本发明范围的情况下,可对上述实施例进行各种修改。