1.一种能防污染攻击和定位中间节点合谋攻击的网络编码签名方法,采用网络编码系统;
其特征在于:所述系统包括秘钥分配中心KDC、信源节点S、中间节点、信宿节点DC;
所述方法包括以下步骤:
步骤1:系统初始化;
步骤2:信源节点S生成签名与编码;
步骤3:中间节点验证数据包的正确性;
步骤4:中间节点重编码数据包;
步骤5:信宿节点DC追踪恶意节点。
2.根据权利要求1所述的能防污染攻击和定位中间节点合谋攻击的网络编码签名方法,其特征在于,步骤1的具体实现包括以下子步骤:步骤1.1:秘钥分配中心KDC根据网络规模及参数,产生私钥生成矩阵Γ;
根据网络许可的编码最大长度n,编码代次的数据包的个数m;同时根据网络最大中间节点数r,选择一个l>m+n+r,生成一个(l-m-n-r)×l行满秩矩阵A,由A生成矩阵密钥矩阵Γ;所有操作在编码定义域Fq中完成;
步骤1.2:秘钥分配中心KDC根据节点身份,由Γ产生私钥,进行颁发;
其中信源节点S、信宿节点DC密钥是完整Γ矩阵;而任意一个中间节点i,得到Γ的某个行向量Γi,或者Γi隐藏于素数群生成元g指数上的有序集合 其中,Γij表示Γi中的第j个元素。
3.根据权利要求2所述的能防污染攻击和定位中间节点合谋攻击的网络编码签名方法,其特征在于,步骤2的具体实现包括以下子步骤:步骤2.1:信源节点S根据自己的密钥Γ对信息产生签名信息;
步骤2.2:信源节点S将签名信息添加到被签名信息之后形成完整数据包;
步骤2.3:信源节点S按线性网络编码规则编码数据包,并向下游节点转发。
4.根据权利要求3所述的能防污染攻击和定位中间节点合谋攻击的网络编码签名方法,其特征在于,步骤3的具体实现包括以下子步骤:步骤3.1:中间节点j,收到来自上游i节点的数据包Ui,用其密钥Γj或者 校验签名;
步骤3.2:验证通过,则将数据包Ui导向下一步操作,否则就丢弃数据包Ui。
5.根据权利要求4所述的能防污染攻击和定位中间节点合谋攻击的网络编码签名方法,其特征在于:步骤4的具体实现过程是,通过中间节点j,对所有通过验证的,来自不同上游节点所有数据包集合{Ui}进行线性组合重编码,并发送给下游节点;在这一步骤中,允许恶意节点形成伪造,或者合谋伪造的数据包。
6.根据权利要求5所述的能防污染攻击和定位中间节点合谋攻击的网络编码签名方法,其特征在于,步骤5的具体实现包括以下子步骤:步骤5.1:信宿节点DC,对收到的数据包{Ui}进行校验,使用的是其密钥Γ;
步骤5.2:对{Ui}中校验完全正确的数据包,按一般线性网络编码规则进行解码;
步骤5.3:对{Ui}中校验完全不正确的数据包,丢弃;
步骤5.4:对部分校验通过数据数据包,利用编码理论中的Berlekamp算法,在基Γ上求向量分解,检测是哪些中间节点合谋伪造包。