本发明涉及信息安全,特别涉及一种基于不经意传输协议的数据通信方法。
背景技术:
1、工业物联网(iiot)在推动能源、制造、物流、交通等诸多工业系统的发展方面具有巨大潜力,近年来引起了人们的广泛关注。通过利用高度连接的智能工业物联网设备来感知、监控、收集、交换和分析工业过程中产生的数据,工业物联网可以帮助在工业系统中构建全面的智能解决方案。但在工业物联网中仍然存在着不可避免的安全问题,阻碍了数据的开放共享,即数据所有者(发送方)在与多个数据接收方共享后无法控制共享数据的访问。在大多数数据共享案例中,发送方只允许接收方使用共享数据,而不允许接收方未经许可将共享数据泄露给他人或公众以获取利润或其他自利目的。如果发生数据泄露事件(如发送方意识到数据泄露,并从互联网上获取泄露的数据),无论是有意还是无意,都应该跟踪相应的泄露数据的接收方,并对事件负责。
2、随着信息技术与先进制造业的一体化和发展,以工业物联网为代表的新工业革命受到了前所未有的关注。工业数据的安全传输和数据共享是工业物联网的首要任务。2021年,chen等人设计了一种基于代理重加密技术的数据共享方案。然而,该方案中的重加密算法是由数据所有者运行的,这需要数据所有者知道数据用户的信息,不利于保护跨域iiot中智能设备的隐私。2023年,cui等人提出了一种基于假名证书的批量认证方案,可以满足工业物联网系统的安全和效率需求。但是,该方案需要iiot设备预先存储大量的假名证书,并定期向密钥分发中心请求新的证书。对于资源受限的智能设备,管理证书非常复杂,并且需要大量额外的存储资源。
技术实现思路
1、发明目的:针对现有技术中存在的问题,本发明公开了一种基于不经意传输协议的数据通信方法,通过基于身份的加密方法来实现系统用户的合法注册,使用不经意传输协议进行数据交互保证用户和服务器之间的双向隐私性,并且水印算法实现了物联网共享数据泄露时确保数据使用者自主验证并防止数据所有者诬陷。
2、技术方案:本发明公开一种基于不经意传输协议的数据通信方法,包括以下步骤:
3、s1:系统初始化阶段:可信第三方公开系统参数{g,gt,e,g,h,g1,h1,h2,spk,rpk},并保存主密钥msk,其中g和gt为两个乘法循环群,双线性映射e:g×g→gt,g,h是群g的生成元,g1=gx,可信第三方选取随机数并将x作为系统的主密钥msk=x,h1,h2为两个安全的密码哈希函数,spk=hssk为数据所有者共享数据时的公钥,数据所有者选取随机数作为共享数据时的私钥;rpk=hrsk为数据使用者共享数据时的公钥,数据使用者选取随机数作为共享数据时的私钥
4、s2:用户ui加入系统时,可信第三方ta首先检查用户是否有效,若是,ta使用该用户的id执行注册操作,传感器si也向可信第三方ta进行注册成为合法设备;
5、s3:si采用基于身份的加密策略对物联网数据进行加密,生成物联网数据密文,并对加密后的密文数据生成对应的关键字标签,通过身份验证后,网关将密文和关键字标签聚合上传至服务器cs;
6、s4:用户ui通过不经意传输协议和服务器cs进行交互,得到密文并解密;
7、s5:用户之间共享数据时,由数据所有者ds将数据切分并添加水印,加密发送到共享提供商;数据使用者dr通过分布式不经意传输协议获得存储在共享提供商上的密文,聚合密文并解密。
8、进一步地,所述s2中,注册阶段的具体过程如下:
9、s2.1:给定身份id,ta计算用户公钥pkid=h1(id),并计算用户私钥skid=h1(id)msk,通过安全信道将skid发送给用户id;
10、s2.2:ta选取随机数作为si的私钥sks=(xs,1,xs,2),并计算相应的公钥通过安全信道将sks发送给si。
11、进一步地,所述s3中,数据加密阶段具体操作如下:
12、s3.1:si首先选取随机数计算c1=gr,r=h1(t,d),最后,生成密文ct=(c1,c2,c3),其中为异或运算符号,d是si的明文原始数据;
13、s3.2:si对每个密文ct生成标签ω,以减少在不经意传输阶段的时间复杂度和通信开销;
14、s3.3:si对密文ct进行签名:选取随机数分别计算为ta选取的随机数,签名σ(ct)=(a,α,β),最后,将密文和标签(ct,ω)以及签名σ(ct)发送给网关;
15、s3.4:网关对si进行身份验证;网关收到密文ct和签名σ(ct)后,检查公式和是否成立,若公式不成立,则输出错误符号⊥,若公式成立,则表示si通过网关的验证,其中,为si的公钥;最后,将密文ct和标签ω聚合,上传至cs。
16、进一步地,用户ui通过不经意传输协议和服务器cs进行交互时,需要通过cs的身份验证,具体验证过程如下:
17、s4.1:ui想要获取数据时需要向cs发送数据请求req,以及对数据请求的签名σ(req),ui选取随机数计算χ=gk,签名σ(req)=(χ,δ),最后,将请求req和签名σ(req)发送给cs;
18、s4.2:cs对ui进行身份验证,收到ui的请求req和签名σ(req)后,通过χ和g1计算t'=χ·g1,并检查公式是否成立,若公式不成立,则输出错误符号⊥,若公式成立,则表示ui通过cs的验证。
19、进一步地,用户ui通过不经意传输协议和服务器cs进行交互,cs和ui执行不经意传输协议,假设cs中共有n个密文cty,1≤y≤n,密文cty对应的标签为ωy,数据经过加密后可在通道中传输,包括以下步骤:
20、s5.1:cs选取随机数计算yy=(ωy·h)μ,1≤y≤n,cs将py发送给ui;
21、s5.2:ui通过标签ωj选择k个数据,1≤j≤k,然后选取随机值并计算kj=ωj·gν,最后将k个参数kj发送给cs;
22、s5.3:cs计算并发送k个参数给ui;
23、s5.4:ui计算k个参数
24、进一步地,用户ui获得密文ct=(c1,c2,c3)后进行解密,包括以下步骤:
25、s6.1:ui首先计算ζ=h1(t,d),skid为用户私钥,检查公式是否成立,若公式不成立,则输出错误符号⊥;若公式成立,则表示密文ct格式正确,继续步骤s6.2;
26、s6.2:ui计算
27、进一步地,用户共享数据时,根据用户ui的请求和答复将其划分为数据拥有者ds和数据使用者dr,数据使用者dr想要获取数据拥有者ds的数据首先需要发送数据请求,并通过身份验证;具体为:
28、s7.1:dr向ds发送数据请求req,以及对数据请求的签名σ(req),dr选取随机数计算ε=gρ,φ=εrsk·req,签名σ(req)=(ε,φ),最后dr将请求req和签名σ(req)发送给ds;
29、s7.2:ds收到req和签名σ(req)后,通过ε和req计算t'=e(ε,rpkreq),并检查公式是否成立;若公式不成立,则输出错误符号⊥,若公式成立,则表示dr通过ds的验证。
30、进一步地,共享数据时,由数据所有者ds将数据切分并添加水印,加密发送到共享提供商;ds的数据在共享之前需要将其划分为n个数据块,并为每个数据块添加唯一的水印,通过对称加密/解密算法将数据加密,发送到n个共享提供商sp上;包括以下步骤:
31、s8.1:dr生成水印签名其中包括ds的标识符cs、dr的标识符cr和时间戳τ,dr将水印签名发送给ds;
32、s8.2:ds用cox水印算法创建两个水印密钥其中κ代表水印算法的安全参数,在数据中添加水印其中是ds共享的原始数据;
33、s8.3:ds将水印数据分成n个部分并通过添加额外的水印j∈{0,1}创建每个数据块的两个不同的版本
34、s8.4:ds对每个部分的不同版本di,j,i∈{1,...,n},j∈{0,1}创建对应的签名消息σi,j=[τ,i,j]ssk,其中包含了时间戳τ、部件的索引i和版本的第二个水印内容j;
35、s8.5:ds选取2n个随机数并对每个版本的水印数据块di,j和签名消息σi,j进行加密,计算ci,0=enc(<di,0,σi,0>,zi,0),ci,1=enc(<di,1,σi,1>,zi,1),i∈{i,...,n},其中用于加密的对称密钥是zi,0和zi,1;然后,ds再选取n个随机数计算和最后,ds将(ci,0,cti,0)和(ci,1,cti,1)发送到第i个共享提供商sp上,并通知dr可以从sp中下载(ci,0,ci,1)。
36、进一步地,数据使用者dr通过分布式不经意传输协议获得存储在共享提供商上的密文,聚合密文并解密;具体过程如下:
37、s9.1:dr使用比特串{b1,b2,...,bn}代表自身的私钥rsk,选取n个随机数并计算承诺值辅助值将证明发送给n个sp;
38、s9.2:dr选取一个大素数c和一个随机数计算最后,将pki,0和大素数c发送给第i个sp;
39、s9.3:sp选取收到证明πproof后,计算η=rpk·k,并检查公式是否成立;若公式不成立,则输出错误符号⊥,若公式成立,则表示dr通过sp的验证,继续步骤s9.4;
40、s9.4:身份验证通过后,第i个sp计算pki,1=c/pki,0,并选取随机数然后,通过计算用以加密cti,0,计算用以加密cti,1,其中为异或运算符号,cti,0和cti,1是ds对对称密钥(zi,0,zi,1)的加密;最后,将n对密文ei,0和ei,1发送给dr;
41、s9.5:dr收到n对密文ei,0和ei,1后,计算并使用它来解密密文获得n个对称密钥的密文
42、s9.6:dr获得n个对称密钥的密文后,利用自身私钥计算即可得到n个对称密钥
43、s9.7:dr计算其中用于解密的对称密钥是
44、s9.8:dr通过连接数据块来重构共享数据而签名消息则是dr选择的证据。
45、有益效果:
46、本发明构建了一种基于不经意传输协议的数据通信方法。结合基于身份的加密密码体制和数字签名的优点,实现了用户和服务器之间的身份认证和数据隐私传输。由于在大多数数据共享方案中缺乏适当的监管和问责机制,使得发生数据泄露时无法及时的对泄露者问责,本发明利用水印算法可以很好地弥补此类安全缺陷。水印算法能够弥补缺陷的原因是,它可以在不影响数据内容的同时加入可检测的水印标识,使得数据拥有者无需改变数据内容即可实现问责,从而保证用户数据的安全性。与此同时,水印算法也保证了数据使用者在共享数据泄露时能够自主验证并防止数据所有者诬陷。另外,我们在用户和服务器之间采用了不经意传输协议来进行数据交互,使得服务器无法确定用户获取的数据,用户也无法得知服务器中的其他数据,但依然能够保证数据的机密性和完整性。与近些年的方案相比,我们的方案具有更高的效率。因此,我们的方案适合应用在工业物联网环境中。