一种基于BLS的线性网络编码方法技术

技术编号:38825264 阅读:27 留言:0更新日期:2023-09-15 20:04
本发明专利技术涉及一种基于BLS的线性网络编码方法。源节点将待签名文件分割成若干个文件块,并表示成一个素域上的k维向量,之后进行增广,变成一组线性无关的向量;对以该组向量为基生成的子空间进行签名,生成子空间的标签及对每个基向量的签名,并装载到一个数据包,发送给下游节点;中间路由或信宿节点在接收到数据包后对来自同一源节点的数据包进行签名验证;中间路由会将所有通过验证的数据包进行线性组合,形成新的数据包发送给下游节点;如果信宿节点收到达到预定量且通过验证的数据包,就可以解析出源节点发送的原始数据。本发明专利技术不仅能够抵抗网络编码中的污染攻击,确保数据的完整性和真实性,还降低了用户计算复杂度,保证数据安全高效的传输。证数据安全高效的传输。证数据安全高效的传输。

【技术实现步骤摘要】
一种基于BLS的线性网络编码方法


[0001]本专利技术涉及信息安全中的数据认证
,具体涉及一种基于BLS的线性网络编码方法。

技术介绍

[0002]在传统的网络通信技术中,网络节点只能对接收到的数据进行简单的存储和转发,无法对数据内容进行任何处理。也就是说,除了数据的源节点和信宿节点以外的节点都只负责路由。正是因为网络节点的“不作为”导致网络实际吞吐量难以达到网络容量的最大上界。2000年,Ahlswede等提出网络编码的概念。与传统“存储

转发”的路由协议不同,网络编码是一种融合了路由和编码的信息交换技术,允许网络节点在转发信息前对传输的信息内容进行编码处理,从而有效提高网络吞吐量和增强网络稳定性。然而,基于网络编码的网络容易受到污染攻击。污染攻击是指攻击者入侵一些网络节点,恶意地把篡改或伪造后的信息注入到网络中。这些被注入的错误信息经中间路由编码转发后,在网络中迅速传播造成大面积污染而导致信宿节点不能正确接收真实的信息。因此,如何解决网络编码中污染攻击的问题成为一个巨大挑战。
[0003]同态签名是解决网络编码所遭受的污染攻击必不可少的工具,而线性同态签名更适用于编解码简单的线性网络编码,不仅能提高网络吞吐量,还可以有效防止污染攻击。2009年,Boneh和Freeman首次提出了线性同态签名的正式概念,还给出了两个不同的线性同态签名方案,并在随机谕言模型下证明其安全性。虽然目前关于线性同态签名的研究已有取得了较为丰富的研究成果,但其签名生成的计算代价还比较高。
[0004]大多数线性同态签名方案都是基于上述Boneh和Freeman方案中所采用的同态压缩函数构造的。其中对每个向量做一次签名至少需要k+1次群上的指数运算和k

1次群上的乘法运算,生成签名的计算开销昂贵。有的方案是基于同态压缩函数构造的。虽然该方法对一个数据向量进行签名时只需要采用一次群上的指数运算,但所有数据向量签名时都采用同一个指数底,m
i
对应的内容是已知的,也就是说基于该同态压缩函数的签名是容易被伪造的。

技术实现思路

[0005]本专利技术的目的在于保障数据在传输过程中的完整性和真实性,解决网络编码中的污染攻击问题及降低在生成向量子空间的签名时用户的计算复杂度,提供一种基于BLS的线性网络编码方法。
[0006]为实现上述目的,本专利技术的技术方案是:一种基于BLS的线性网络编码方法,包括如下步骤:
[0007](1)生成系统参数:
[0008]云服务提供商CSP从公钥密码函数库中选取安全参数λ和大素数N,生成系统参数
并广播给系统用户,其中是阶为大素数q的循环群,e:是一个非对称双线性映射,是一个同构映射,g,u,v是群的随机生成元,h是群的随机生成元,H1:H2:是两个抗碰撞的哈希函数,N是子空间的最大维数;
[0009](2)生成用户密钥:
[0010]用户U首先从素域中随机选取一个元素,并计算对其的承诺,最后设置自己的私钥sk和对应的公钥pk;
[0011](3)生成签名:
[0012]用户U首先对待签名文件M进行预处理,将文件M分成n块{m
′1,m
′2,...,m

n
},每块表示成k维向量接下来进行增广,使其成为线性无关的n+k维向量依次给每个向量后附加n维单位向量e1,e2,...,e
n
中的一个;增广后的向量组生成的n维子空间记为然后,用户U随机选择vid∈{0,1}
*
作为子空间的唯一标识符,计算子空间V的标签τ,并使用自己的私钥对子空间V中基向量{m1,m2,...,m
n
}的每一个向量进行签名;最后,用户U作为源节点,将子空间标签τ,向量m
i
及其对应的签名σ
i
封装到一个数据包中,并发送给下游节点;增广后的向量最大维数不超过N;
[0013](4)签名验证:
[0014]中间路由或信宿节点首先验证所收到的数据包中子空间标签τ的有效性,如果τ无效,那么该数据包并非由源节点发送的,否则继续验证对其向量签名;如果向量签名没有通过验证,则该数据包是被污染的假数据包,将被丢弃,否则该数据包是正确的数据包,通过验证;对于信宿节点而言,只有接收到达到预定量的正确的数据包,才能够解析出源节点发送的原始数据;
[0015](5)导出签名:
[0016]中间路由对所有收到的数据包进行验证后,将来自同一源节点且通过验证的数据包进行任意的线性组合,导出同一子空间中另一向量及其对应的签名并将其与子空间标签τ一起合成新的数据包转发给下一个节点;同一子空间中其他向量对应的签名都可由相应方法导出。
[0017]在本专利技术一实施例中,所述步骤(2)中用户密钥按照如下方式生成:根据系统参数在本专利技术一实施例中,所述步骤(2)中用户密钥按照如下方式生成:根据系统参数用户U从素域中随机选取一个整数x作为自己的私钥sk,并计算对应的公钥
[0018]在本专利技术一实施例中,所述步骤(3)中按照如下方式生成签名:
[0019](3.1)用户U首先将待签名文件M分割分成n块{m
′1,m
′2,...,m

n
},每块表示成k维向量
[0020](3.2)用户U依次给k维向量中的每个向量后附加n维单位向量e1,e2,...,e
n
中的一个,使其增广成一组线性无关的n+k维向量
[0021](3.3)用户U将以{m1,m2,...,m
n
}为基向量生成的n维子空间记为并随机选择vid∈{0,1}
*
作为子空间的唯一标识符;
[0022](3.4)用户U从素域中随机选取两个整数r1,r2,并计算相应的承诺,并计算相应的承诺
[0023](3.5)用户U计算子空间的标签τ=H1(vid,pk,g1,g2,u1,u2,v1,v2)
x

[0024](3.6)用户U计算子空间中基向量m
i
={m
ij
}
1≤j≤k+n
,其中对应的签名j表示的是向量m
i
对应分量m
ij
的下标;
[0025](3.7)用户U将子空间标签τ,向量m
i
及其对应的签名σ
i
装载到一个数据包中,并作为源节点将数据包发送给下游节点。
[0026]在本专利技术一实施例中,所述步骤(4)中按照如下方式进行签名验证:
[0027](4.1)中间路由或信宿节点首先验证所收到的数据包中子空间标签τ的有效性,计算双线性对e(τ,h)和e(H1(vid,pk,g1,g2,u1,u2,v1,v2),pk),然后,判定两者是否相等;
[0028](4.2)如果(4.1)中两个值相等,则中间路由或信宿节点收到的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BLS的线性网络编码方法,其特征在于,包括如下步骤:(1)生成系统参数:云服务提供商CSP从公钥密码函数库中选取安全参数λ和大素数N,生成系统参数pp=<q,e,g,u,v,h,H1,H2,N>,并广播给系统用户,其中是阶为大素数q的循环群,e:是一个非对称双线性映射,是一个同构映射,g,u,v是群的随机生成元,h是群的随机生成元,H1:H2:是两个抗碰撞的哈希函数,N是子空间的最大维数;(2)生成用户密钥:用户U首先从素域中随机选取一个元素,并计算对其的承诺,最后设置自己的私钥sk和对应的公钥pk;(3)生成签名:用户U首先对待签名文件M进行预处理,将文件M分成n块{m
′1,m
′2,...,m

n
},每块表示成k维向量接下来进行增广,使其成为线性无关的n+k维向量依次给每个向量后附加n维单位向量e1,e2,...,e
n
中的一个;增广后的向量组生成的n维子空间记为然后,用户U随机选择vid∈{0,1}
*
作为子空间的唯一标识符,计算子空间V的标签τ,并使用自己的私钥对子空间V中基向量{m1,m2,...,m
n
}的每一个向量进行签名;最后,用户U作为源节点,将子空间标签τ,向量m
i
及其对应的签名σ
i
封装到一个数据包中,并发送给下游节点;增广后的向量最大维数不超过N;(4)签名验证:中间路由或信宿节点首先验证所收到的数据包中子空间标签τ的有效性,如果τ无效,那么该数据包并非由源节点发送的,否则继续验证对其向量签名;如果向量签名没有通过验证,则该数据包是被污染的假数据包,将被丢弃,否则该数据包是正确的数据包,通过验证;对于信宿节点而言,只有接收到达到预定量的正确的数据包,才能够解析出源节点发送的原始数据;(5)导出签名:中间路由对所有收到的数据包进行验证后,将来自同一源节点且通过验证的数据包进行任意的线性组合,导出同一子空间中另一向量及其对应的签名并将其与子空间标签τ一起合成新的数据包转发给下一个节点;同一子空间中其他向量对应的签名都可由相应方法导出。2.根据权利要求1所述的一种基于BLS的线性网络编码方法,其特征在于,所述步骤(2)中用户密钥按照如下方式生成:根据系统参数中用户密钥按照如下方式生成:根据系统参数用户U从素域中随机选取一个整数x作为自己的私钥sk,并计算对应的公钥3.根据权利要求2所述的一种基于BLS的线性网络编码方法,其特征在于,所述步骤(3)中按照如下方式生成签名:
(3.1)用户U首先将待签名文件M分割分成n块{m
′...

【专利技术属性】
技术研发人员:张福泰田金梅杨文杰
申请(专利权)人:福建师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1