发明名称 基于签名的自治系统间IPv6真实源地址验证方法
摘要 本发明属于网络安全技术。互联网现有的转发模型并不检查分组的源地址的真实性,使得大量伪造源地址的攻击危害网络。本发明的特征为:将部署本方案的自治系统组成一个信任联盟,联盟内的自治系统的控制服务器通过点到点的交互自治系统的地址空间信息和协商签名信息,然后由自治系统的边界路由器在发送的IPv6分组中增加IPv6逐跳扩展报头存放签名,并由自治系统的边界路由器在接收的IPv6分组中检查IPv6逐跳扩展报头中的签名是否正确来验证分组源地址的合法性。该方法为自治系统间的IPv6真实源地址验证提供了一种高性能,可以增量部署的方法,能够在IPv6网络中广泛使用,在自治域间验证分组源地址的合法性。
申请公布号 CN1921487A 申请公布日期 2007.02.28
申请号 CN200610113190.3 申请日期 2006.09.19
申请人 清华大学 发明人 吴建平;叶明江;毕军;章淼;徐恪
分类号 H04L29/06(2006.01);H04L12/56(2006.01);H04L9/32(2006.01) 主分类号 H04L29/06(2006.01)
代理机构 代理人
主权项 1.基于签名的自治系统间IPv6真实源地址验证方法,其特征在于:该方法是一种利用在自治系统的边界路由器上添加和检查签名对IPv6分组的源地址的合法性进行验证的方法,所述的真实源地址的含义是自治系统发出的IPv6分组的源地址应该属于该自治系统拥有的地址空间,所述的真实源地址验证方法依次含有如下步骤:步骤1,在组成联盟的所有自治系统中,每个自治系统都需要部署一个自治系统控制服务器,该控制服务器有如下表项:自治系统服务器表,以保存其他自治系统的控制服务器的IPv6地址;联盟自治系统地址空间到自治系统号的映射表;自治系统发送方签名表,保存本自治系统发送分组给其他自治系统时需要添加到分组中的签名;自治系统接收方签名表,保存其他自治系统发送分组中应该携带的签名;本自治系统的IPv6地址空间;其中,所述的签名是一个至少大于64位的随机数,同时,把所述表项下放到本自治系统的边界路由器;步骤2,联盟内的各自治系统边界路由器把连接到其他本自治系统的接口的最大传输单元大小减小为原值减去步骤(1)中所述签名的长度;步骤3,联盟内各自治系统的控制服务器向全局的注册服务器注册自己的控制服务器的IPv6地址;步骤4,联盟内的各自治系统的控制服务器向所述注册服务器获取联盟内其他自治系统的控制服务器的IPv6地址;步骤5,联盟内各自治系统的控制服务器按照以下步骤和联盟内其他自治系统的控制服务器通信交互信息:步骤5.1,交互地址空间信息:各自治系统的控制服务器联盟内其他控制服务器上获取其所属自治系统的地址空间,并下放到获取者自己的边界路由器上;步骤5.2,交互签名信息:各自治系统的控制服务器和联盟内其他自治系统的控制服务器协商向后者发送IPv6分组时应该携带的签名;步骤6,各自治系统的边界路由器作为IPv6分组发送方时按以下步骤添加签名:步骤6.1,以边界路由器收到的待发IPv6分组的源地址为索引,查找预存的本自治系统的地址空间表,判定源地址是否属于本自治系统;若源地址不在本自治系统的地址空间表中,或查找出来的标志位为0,则认为源地址不属于本自治系统,查找失败,转步骤6.6,否则执行下一步骤;步骤6.2,使用待发的IPv6分组的目的地址为索引,查找联盟自治系统地址空间到自治系统号映射表得到待发IPv6分组的目的自治系统号;步骤6.3,若步骤6.2查找结果是不在所述映射表中,或者查找出的自治系统号为0,则认为待发IPv6分组的目的地址不属于联盟自治系统,查找失败,转步骤6.6,否则执行下一步骤;步骤6.4,以待发IPv6分组的目的自治系统号为索引,查找发送签名表得到添加的签名值,若所述自治系统号不在表中,则认为查找失败,转步骤6.6,否则执行下一步骤;步骤6.5,在待发的IPv6分组附带的逐跳IPv6扩展包头中增加一个选项来存放步骤6.4得到的签名,选项类型号为十六进制的0C,选项数据长度为十六进纸的08;步骤6.6,所述边界路由器发送该待发的IPv6分组;步骤7,各自治系统的边界路由器作为IPv6分组接受方按以下步骤检查签名:步骤7.1,以待检查IPv6分组的源地址为索引,查找联盟自治系统地址空间到自治系统号映射表得到IPv6分组的源自治系统号;步骤7.2若步骤7.1查找的结果是源自治系统号找不到或者找到的源自治系统号为0,则认为源地址不属于联盟自治系统,查找失败,转步骤7.8,否则执行下一步骤;步骤7.3,判断该IPv6分组的源自治系统号和本自治系统号是否相等,如果是,说明是伪造分组直接丢弃,否治执行下一步骤;步骤7.4,以待检查IPv6分组的目的地址为索引,查找本自治系统的地址空间表,判断是否属于本自治系统;步骤7.5,若找不到与该待检查IPv6分组的目的地址相对应的地址空间,或者查找出来的地址空间的标志位为0,则认为目的地址不属于本自治系统,查找失败,转步骤7.8,否则执行下一步骤;步骤7.6,再根据待检查IPv6分组的源自治系统号查找接收方签名表得到对应的待检查IPv6分组应该携带的签名值,若找不到签名值,则查找失败,转步骤7.8,否则执行下一步骤;步骤7.7检查所述带选项的逐跳扩展报头是否存在,若不存在则认为是伪造报文,直接抛弃;如果存在,取出其中的签名值,判断是否和步骤7.6中查找到的签名值相等,如果不相等则直接抛弃;如果相等则移除带选项的逐跳扩展报头;步骤7.8所述接受方的边界路由器转发该已检查的IPv6分组。
地址 100084北京市100084-82信箱