一种基于数据去重的水声传感器网络数据加密传输系统
- 国知局
- 2024-08-02 12:43:35
本发明涉及数据安全,尤其是涉及一种基于数据去重的水声传感器网络数据加密传输系统。
背景技术:
1、水声传感器网络是一种利用水声通信技术连接多个水声传感器节点的网络,通常部署在水下环境中,用于监测海洋、湖泊或其他水体中的各种参数,如水温、水质、水位等。随着海洋经济的快速发展,水声传感器网络节点所收集的数据量成指数级增加。然而,传统上,水声传感器网络在数据存储方面存在着一些挑战,其中包括数据安全性和数据存储能力的问题。
2、在现有技术中,已存在多种用于保护水声传感器网络数据安全的加密方法。其中常见的方法包括使用传统的公钥密码系统,如rsa密码系统和椭圆曲线密码系统。这些方法旨在通过对传输的数据进行加密,以确保水声传感器网络中的数据传输过程的安全性和完整性。然而,这些传统的公钥密码系统在水声传感器网络这样资源受限的环境中存在一些挑战。首先,这些系统通常需要大量的计算和存储资源来执行加密和解密操作,而水声传感器节点往往计算和存储能力十分有限。其次,传统方法可能面临着密钥管理的复杂性和安全性问题,尤其是在动态水下环境中,密钥的安全分发和管理可能会受到挑战。
3、另外,为了提高数据的安全性,现有技术都是以数据加密的形式储存在数据存储中心中,大量数据必定会导致数据冗余,因此需要进行数据去重处理。现有的数据去重方法通过将数据分块、计算哈希值、将哈希值与已知数据的哈希值进行比较,从而识别和去除重复数据。然而,分块粒度的大小会影响去重的效率。分块粒度过大,数据不易重复,去重效果不显著;分块粒度过小,产生哈希碰撞,会使去重效率降低。因此,为了解决现有水声传感器网络数据加密和去重技术中存在的问题,需要发明一种更高效、更安全的解决方法。
技术实现思路
1、本发明的目的就是为了提供一种提高数据传输安全性的基于数据去重的水声传感器网络数据加密传输系统。
2、本发明的目的可以通过以下技术方案来实现:
3、一种基于数据去重的水声传感器网络数据加密传输系统,包括数据收集模块、计算机和数据存储中心,
4、数据收集模块:包括水面中继设备和与其连接的多个水声传感器节点,数据收集模块用于收集水声传感器节点采集的数据信号,并将数据信号发送至水面中继设备进行分块整理;
5、计算机:与所述数据收集模块连接,用于获取用户身份信息和下载请求、通过控制所述水面中继设备将分块整理后的数据信号加密为密文数据并上传以及对数据存储中心进行二次加密后的密文数据进行解密,获得明文数据;
6、数据存储中心:用于接收用户身份信息和下载请求、存储上传的密文数据和对所述密文数据进行数据去重处理以及对去重处理后的密文数据进行二次加密。
7、进一步地,采用基于ntru的多密钥全同态加密方法将分块整理后的数据信号加密为密文数据并上传。
8、进一步地,所述将分块整理后的数据信号加密为密文数据并上传的步骤包括:
9、初始化:设定安全参数λ和循环乘法群g0和g1,定义双线性映射和三个安全抗碰撞的哈希函数以及参数其中p为生成元,为双线性映射;
10、生成密钥对:根据数据信号mi,利用ntru单向函数的性质和离散高斯分布中的多项式g进行计算得到公钥pki和私钥ski,对于所有用户idi,输出(pki,ski);
11、加密:输入pki和mi,从中取样多项式r∈rq和多项式e∈rq,计算每一数据块的密文ci=hr+ep+mi(mod q)∈rq,并输出整体密文c=cadd(c1+...ci+...),其中rq为多项式环,h为公钥的一部分,q为模数,cadd为同态加法;
12、无证书签名:获取随机数r,计算参数u=vr,并进一步计算哈希值h=h1(ci,idi,u),s=(r+h)ski,则签名为δ=(h,s);
13、发送:将所述密文ci、签名δ、用户身份信息idi和公钥pki发送给数据存储中心;
14、签名验证:数据存储中心根据收到的所述密文ci、签名δ、用户身份信息idi和公钥pki计算参数并进一步计算哈希值判断h=h*是否成立,若是,表示签名验证通过,数据存储中心则接受,若否,表示签名验证未通过,数据存储中心则拒绝。
15、进一步地,所述生成密钥对的具体步骤包括:
16、利用ntru单向函数的性质,根据mi生成对应的f′=f(mi),其中f′为私钥的一部分,f为ntru单向函数;
17、从离散高斯分布中取样多项式g,计算f=pf′+1(modp),其中f为私钥;
18、判断f,g是否存在rq,若是,则重复上述所有步骤,若否,则计算h=pg/f;得到公钥pki=h,私钥ski=f。
19、进一步地,采用基于动态划分的数据去重方法对所述密文数据进行数据去重处理。
20、进一步地,对所述密文数据进行数据去重处理的步骤包括:
21、获取去重标签:数据存储中心获取计算机通过控制水面中继设备上传的去重标签bβ;
22、数据去重:数据存储中心将bβ与数据存储中心中现有储存的去重标签进行逐个对比,计算判断||δ||∞是否属于[-q/4,q/4],若是,则进行整体所有权证明,核验成功后进行整体数据块去重,并向计算机返回指针x和用户身份信息idβ,若否,则执行下一步骤,其中,b*、分别为去重标签检测的一部分、数据mβ的整体哈希值加密、数据mα的整体哈希值加密,||δ||∞为去重标签检测的一部分,q为模数;
23、值对比:数据存储中心通过进行对比,判断是否存在与相同的值,若是,则进一步对比部分哈希值bhash,直至不相等停止比较,并记录对比次数为s,进行下一个步骤,若否,则判别bβ为首次上传,并进行下一步骤;
24、次数比较:将对比次数s-1与最小分块重复数c进行比较,判断s-1是否小于c,若是,则向计算机下达上传指令,接收上传的相关数据(cβ||hβ||bβ)、用户身份信息idβ及其公钥pkβi,若否,根据部分哈希值相同的数,对数据块进行二次划分得到预处理数据块{(mβ1,...mβc),(mβc,...,mβb)},并进行部分所有权证明,核验成功后向计算机返回指针x、数据块对应的公钥(pkβ1,...,pkβc)和上传指令,以获取上传的相关数据(cβ||hβ||bβ)、用户身份信息idβ及其公钥pkβi,其中,cβ、hβ分别为数据mβ的整体密文、整体密文的哈希值,mβ1、mβc、mβb分别为mβ中的第1块数据、mβ中的第c块数据、mβ中的第b块数据。
25、进一步地,所述去重标签包括首次上传的去重标签和重复上传的去重标签,所述重复上传的去重标签包括整体重复上传的去重标签和部分重复上传的去重标签,
26、判定所述去重标签为首次上传的去重标签的步骤包括:
27、设定最小分块粒度a和最小数据块合并数b,得到需上传的预处理数据块mα1,...,mαb;
28、对于每一个预处理数据块通过基于ntru的多密钥全同态加密方法进行加密,得到公钥私钥对(pkαi,skαi)、每一数据块的密文cαi和整体密文cα=(cα1||...||cαi||...||cαb);
29、计算整体哈希值zhashα=h(mα)和每个数据块部分的哈希值bhashαi=h(mαi),哈希值hα=h(cα);
30、分别对整体哈希值和每个数据块部分的哈希值进行加密
31、从离散高斯分布ψ1n取样多项式t,计算整体去重值去重标签为
32、将bα上传到数据存储中心,返回计算机上传指令,判定bα为首次上传的去重标签;
33、判定所述去重标签为重复上传的去重标签的步骤包括:
34、设定最小分块粒度β和最小数据块合并数b,得到需上传的预处理数据块mβ1,...,mβb;
35、对于每一个预处理数据块通过基于ntru的多密钥全同态加密方法进行加密,得到公钥私钥对(pkβj,skβj)、每一数据块的密文cβi和整体密文cβ={cβ1||...||cβj||...||cβb};
36、计算整体哈希值zhashβ=h(mβ)和每个数据块部分的哈希值bhashβj=h(mβj),哈希值hβ=(cβ);
37、分别对整体哈希值和每个数据块部分的哈希值进行加密
38、从离散高斯分布取样多项式t,计算整体去重值去重标签为
39、将bβ上传到数据存储中心,若返回计算机指针x,则判定bβ为整体重复上传的去重标签,若返回计算机指针x和上传指令,则判定bβ为部分重复上传的去重标签。
40、进一步地,根据所述首次上传的去重标签或重复上传的去重标签对去重后的密文数据进行二次加密并解密。
41、进一步地,对去重后的密文数据进行二次加密并解密采用的方法为采用基于身份隐藏的代理重加密方法。
42、进一步地,所述对去重后的密文数据进行二次加密并解密的步骤包括:
43、若计算机上传的去重标签为首次上传的去重标签,则:
44、数据存储中心接收计算机的下载请求和用户身份信息idα,对idα进行核验,若核验成功,进行下一步骤,若核验不成功,返回错误信息;
45、数据存储中心选择随机数种子seed,计算重加密密钥gk=h2(idα||seed,pkα);
46、根据公钥pkα将重加密密钥gk进行加密,根据重加密密钥对密文数据cα进行加密,得到重加密密钥的密文cgk=encap(pkα,gk)和代理密文cα=encap(gk,cα);
47、数据存储中心设置时钟t,将cgk和cα发送给计算机;
48、计算机接收所述cgk和cα,数据存储中心在t时间内使用私钥将cgk进行初次解密得到重加密密钥gk=decap(skα,cgk),并进行再次解密,得到密文cα=decap(gk,cα);
49、计算机使用原始的私钥sk1,sk2,...skn对cα进行解密,计算u=(sk1×sk2×...×skn)×c∈rq,得到明文mα=u(mod p),其中,u为明文的一部分,c为原始密文数据,rq为多项式环;
50、若计算机上传的去重标签为重复上传的去重标签,则:
51、数据存储中心接收计算机的下载请求、用户身份信息idβ和指针x,对idβ进行核验,若核验成功,进行下一步骤,若核验不成功,返回错误信息;
52、数据存储中心根据指针x判断是去重处理后的整体预处理数据块还是去重处理后的部分预处理数据块,
53、若为去重处理后的整体预处理数据块,则数据存储中心选择随机数种子seed,计算重加密密钥gk=h2(idβ||seed,pkβ);根据公钥pkβ将重加密密钥gk进行加密,根据重加密密钥对密文数据cβ进行加密,得到重加密密钥的密文cgk=encap(pkβ,gk)和代理密文cβ=encap(gk,cβ);数据存储中心设置时钟t,将cgk和cβ发送给计算机;计算机接收所述cgk和cβ,数据存储中心在t时间内使用私钥将cgk进行初次解密得到重加密密钥gk=h2(idβ||seek,pkβ),并进行再次解密,得到密文cβ=decap(gk,cβ);计算机使用原始的私钥sk1,sk2,...skn对cβ进行解密,计算u=(sk1×sk2×...×skn)×c∈rq,得到明文mβ=u(mod p);
54、若为去重处理后的部分预处理数据块,根据指针x寻找数据块位置,提取密文(cβ1,...cβc),并将(cβ1,...cβc)与(cβ(c+1),...cβb)进行合并得到完整密文cβ=((cβ1,...cβc)||(cβ(c+1),...cβb))=(cβ1,...cβc,cβ(c+1),...cβb),对密文cβ进行代理重加密得到代理密文cβ;数据存储中心选择随机数种子seed,计算重加密密钥gk=h2(idβ||seed,pkβ);根据公钥pkβ将重加密密钥gk进行加密,根据重加密密钥对密文数据cβ进行加密,得到重加密密钥的密文cgk=encap(pkβ,gk);数据存储中心设置时钟t,将cgk和cβ发送给计算机;计算机接收所述cgk和cβ,数据存储中心在t时间内使用私钥将cgk进行初次解密得到重加密密钥gk=h2(idβ||seek,pkβ),并进行再次解密,得到密文cβ=decap(gk,cβ);计算机使用原始的私钥sk1,sk2,...skn对cβ进行解密,计算u=(sk1×sk2×...×skn)×c∈rq,得到明文mβ=u(modp)。
55、与现有技术相比,本发明具有以下有益效果:
56、(1)本发明系统将采集的数据信号经过分块整理、加密后存储在数据存储中心,而数据存储中心对于下载请求,不仅需要对用户的身份信息进行审核,还需要进行二次加密,使得攻击者无法通过简单的重放攻击来窃取数据,所以也可以防止攻击者通过重播先前捕获的密文来获取数据,因此该系统提高了数据传输过程的安全性。
57、(2)本发明在数据加密上传阶段结合了ntru多密钥全同态加密技术和无证书签名技术,有效保护了数据的安全性和隐私性,防止数据在传输的过程中被窃取,并具有一定的抗量子攻击能力。
58、(3)本发明在数据去重阶段采用了同态计算与动态划分算法相结合,实现了数据的去重操作,从而降低了数据传输的冗余部分,提升了数据传输的效率和带宽利用率。此外,动态划分仅在预处理数据块数据头相同时划分,平衡了计算开销,使其性能达到最优。
59、(4)本发明采用基于身份隐藏的代理重加密方法进行二次加密,保护了存储数据用户的身份信息,增加了攻击者破解密文的难度,由于每次代理重加密生成的密文都是不同的,攻击者无法获取数据,与此同时,二次加密也可以应对当前或未来可能出现的加密算法被破解或漏洞被发现的情况,从而为用户提供更加可靠和安全的数据下载服务。
本文地址:https://www.jishuxx.com/zhuanli/20240802/237548.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表