安全链路状态路由协议(Secure Link State routing Protocol,SLSP)(Papadimi-tratos and Haas,2003)保证链路状态路由协议中链路状态发现的安全,例如邻居发现和链路状态分布如链路状态更新(LSU)。它不能试图使网络安全免受稍后阶段的攻击,例如传送数据的完整性。
在SLSP中,每个节点配有一个公钥Ev和一个私钥Dv,以及一个单向哈希函数H。节点通过IP地址标识身份,同时散播它们的链路状态更新(LSU)数据包,并维持R跳内的节点子集的拓扑信息,它被称为一个区域(Zone)。节点周期性地在其区域中广播它们经过验证的密钥,这样接收消息的节点就可以验证它们的链路状态更新数据包。要做到这样,节点要么使用为此目的而特别设计的公钥分发数据包,要么将它们的密钥附加到路由状态更新数据包中。密钥广播根据网络状况和设备特点进行定时。例如,某个节点检测到区域中拓扑发生大量变化时,就会重播其密钥。节点只有在第一次收到始发者的公钥时,才对公钥分发数据包进行验证。经过验证,公钥Ev和相应的IP地址将被本地进行存储。
每个节点通过广播经签名的“Hello”消息,将自己的媒介访问控制(MAC)地址和IP地址(MACv,IPv)向它的邻居节点承诺。接收节点对签名进行验证,并通过保留媒介访问控制(MAC)地址和IP地址来更新邻居表。这两个地址记录的映射关系将保存在表中,直到从其他相应节点的传输被窃听。一个丢失邻居节点的超时时间和每个表条目相关联。当在超时时间内没有听到节点的消息时,就从表中删除相应的条目。节点V通过链路状态更新(LSU)数据包广播它的链路状态数据:V→broadcast:这里,TYPE是数据包类型;R是节点到区域边界所经过的跳数,且;;X是一个随机值;H是每个节点已知的哈希函数;是LSU数据包的序列号;。(www.xing528.com)
接收节点首先验证签名。如果LSU数据包是有效的,它们就可以获得数据包中的链路状态信息。然后,它们会对LSU数据包中的值进行哈希运算。
如果进行哈希运算后的新的等于R的值,就表明数据包已经到达了区域边界,不需再继续转发了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。