3.1 一级Merkle子树初始化参数的分配及认证过程
第一步:Merkle树的生成与增强方案中带认证的数据屏蔽传输方案相同,每一个子树都生成一组屏蔽参数r1、r2…rn。初始化时一级聚集节点向每一个节点发送该节点的屏蔽参数的值以及该节点到Merkle树根节点的所有兄弟节点的值,即为认证证书。每个发送节点发送消息时都携带自己的认证证书,例如r1向接收节点发送消息时所加证书为{m1,m2,m34,m58}。
第二步:一级聚集节点接收到r1的数据包时就会对其进行认证,认证方法与增强方案中Merkle树的认证方法相同,如果认证通过则存储该数据。最后求该子树所在区域的所有节点数据的总和,即为所需要的数据。
3.2 二级Merkle树初始化参数分配及认证过程
第一步:每一个子区域的簇头节点作为叶子节点再生成一个带屏蔽参数的Merkle树,如图3中R1、R2…R8即为簇头节点的屏蔽参数,初始化过程与一级Merkle子树相同。
第二步:当一级的簇头节点都接收到有用数据后再通过带屏蔽参数的Merkle树认证方法将数据发送到二级总聚集节点。
一级聚集节点与二级聚集节点一般都是由可靠的服务器担任,因此可以将由节点组成的一级Merkle子树存储到一级聚集节点上,将由簇头组成的二级Merkle树存储到二级聚集节点上。聚集节点在接收到数据以后减去每个节点所对应的屏蔽参数就可以计算出每个节点的原始数据。这样既采集到了局部区域的有用数据,也采集到了总的有用数据。在整个二级Merkle树认证过程中,如果有n个子树,就有n+1组屏蔽参数,大大提高了整个系统的安全性。
图4为多级传输的屏蔽参数分配方案。在带屏蔽参数的多级Merkle树协议中,当有新用户加入时,只需要更新该用户所在小区域的子树认证系统即可,不影响其他部分,这使该方案的可扩展性得到增强。