System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于区块链的可验证外包加密方法技术_技高网

一种基于区块链的可验证外包加密方法技术

技术编号:40135764 阅读:7 留言:0更新日期:2024-01-23 22:50
本申请公开了一种基于区块链的可验证外包加密方法,设计了一个基于区块链的双重加密机制,DO负责对称加密和属性密文的基本组件,属性对应的密文项外包到边缘服务器执行加密,降低加密负担的同时实现了细粒度访问控制。利用区块链的共识机制来验证边缘服务器计算的密文中策略的真实性密文,与此同时,利用可聚合的数字签名技术在正式解密前验证密文的完整性,避免解密无效密文。外包加密过程不需要可信的第三方参与,同时提供了云密钥使云服务器执行外包解密,避免用户二次盲化属性密钥,可以显著减轻数据使用者解密负担。

【技术实现步骤摘要】

本申请涉及数据加密,具体涉及一种基于区块链的可验证外包加密方法


技术介绍

1、云计算作为一种新的计算模式,可以为用户提供无所不在的服务,降低用户存储和计算的成本,提高使用的便利性。特别地,伴随着云计算的快速发展,边缘计算和雾计算也得到了广泛关注。大量智能设备通过互联网与云、边缘、雾结点等设备相连接,设备通过互联网收集和交换数据,以帮助人们监测变化并对其做出反应,从而提高效率。目前,它已应用于许多领域,如汽车网络、智能电网行业、智能家居,其中,由于人们对健康的逐步重视,智慧医疗得到了越来越多的关注。

2、智慧医疗与云、边缘、雾节点相连接以打破地理限制以实现远程监控,进行疾病风险评估,并构建疾病预测系统。然而,传统的访问控制机制不适用于智慧医疗与云计算相结合的场景。主要原因之一是智能设备和云服务器不在同一个信任域中。为了解决这个信任问题,sahai和water提出了基于属性的加密(abe),它可以通过数据加密实现细粒度访问控制。密文策略abe(cp-abe)在云数据共享中有许多应用。具体来说,数据所有者可以使用属性访问策略对数据进行加密。如果属性集满足访问策略,则具有包含所分配属性的密钥的数据消费者可以解密密文

3、与传统医疗系统相比,智慧医疗与云、边缘、雾节点相连接提高了效率并降低了成本。然而,应该注意的是,该系统仍存在许多缺点:1)大多数系统仅利用云服务器降低数据使用者客户端解密负担,提高解密效率,而数据拥有者客户端加密时仍需要执行大量模幂运算,部分方案设计数据拥有者客户端将数据外包到云服务器执行加密计算,但需要完全可信的第三方来承担加密任务;2)数据使用者客户端在云服务器下载所需的数据后,不能验证数据的完整性和正确性;3)多数方案在设计外包解密时,通常是数据使用者客户端在解密前本地盲化属性密钥,然后发送盲化后的属性密钥到云服务器,每次执行解密均需执行此过程,加重数据使用者客户端解密负担。


技术实现思路

1、本申请为了解决上述技术问题,提出了如下技术方案:

2、第一方面,本申请实施例提供了一种基于区块链的可验证外包加密方法,应用于一个可信中心kgc、数据拥有者客户端do、数据使用者客户端du、一个边缘服务器es、一个云服务器cs和一个区块链构成的互联网环境,所述kgc用于生成和管理密钥;在do设置一个es,并由es执行数据外包加密功能,所述方法,包括:

3、所述kgc生成并公布系统参数,生成系统公钥spk和系统私钥ssk;

4、输入spk并为do和du生成相应的公钥pk和私钥sk;

5、输入spk、ssk及用户属性集合l,kgc为每个用户生成相应的属性密钥ak;

6、将ak分为云密钥ck与用户密钥uk;

7、输入spk、do的公钥pk和数据明文m,do首先进行对称加密,得到密文cm,并对此密文进行数字签名σ,随后do设置访问策略,并再次加密得到密文ct,且向es发送密文策略组件λ'i;

8、输入spk、do制定的密文策略组件λ'i,执行属性加密得到密文d,并向区块链发送密文d执行验证功能;

9、云服务器对于接收的由du发送的数字签名σ和验证信息块ver进行验证计算,并返回相应的验证证明p到du;

10、du收到由云服务器发来的验证证明p,与数字签名σ进行联合验证;若验证通过,输出结果为1,否则,输出结果为0且终止进行解密程序;

11、输入属性密文c1,i,c2,i及ck执行预解密功能,并向数据使用者发送解密得到的密文cout;

12、输入cout、ct及uk解密得到最终明文m’。

13、在一种可能的实现方式中,所述kgc生成并公布系统参数,生成系统公钥spk和系统私钥ssk,包括:

14、令g和gt是两个阶为大素数p的乘法循环群,g是群g上的一个生成元,e:g×g→gt是一个双线性映射,定义两个哈希函数h1:{0,1}*→g,h2:zp→g,伪随机排列(prp)π:zp×{1,...,n}→{1,...,n}和伪随机函数

15、假定系统中用户的属性集合为s={attr1,attr2,...attru},随机选择群g上的元素f1,f2...fn并分别与属性集合中的属性一一对应,随机挑选两个指数α,a∈zp,计算生成系统公钥系统私钥为ssk=gα,其中h1=ga,h2=e(g,g)α。

16、在一种可能的实现方式中,所述输入spk并为do和du生成相应的公钥pk和私钥sk,包括:

17、kgc为系统中的每位用户计算生成公私钥对,用于数字签名的计算和验证,kgc为用户随机挑选私钥,并计算相对应的pk和sk,其中:

18、

19、在一种可能的实现方式中,所述输入spk、ssk及用户属性集合l,kgc为每个用户生成相应的属性密钥ak,包括:

20、假设du所具有的属性列表为kgc接收到du发送的属性列表,为每个用户随机选择t∈zp,并计算输出属性密钥ak:

21、

22、在一种可能的实现方式中,所述将ak分为云密钥ck与用户密钥uk,包括:输入du的属性密钥,并随机选择,经计算得到uk={k1=gαgat,ψ},最后分别输出ck和uk给云服务器和du。

23、在一种可能的实现方式中,所述输入spk、do的公钥pk和数据明文m,do首先进行对称加密,得到密文cm,并对此密文进行数字签名σ,随后do设置访问策略,并再次加密得到密文ct,且向es发送密文策略组件λ'i,包括:

24、首先do生成一个随机密钥k,使用它对其明文数据进行对称算法加密得到密文cm,并对明文进行哈希计算得到hash:

25、

26、do为每个密文cm生成一个可聚合的数字签名其中tid表示该密文的唯一标识,且将tid存储在由do维护的公共日志文件;其中,数字签名σ是用来证明数据是由do发布的,而哈希hash是用来证明数据在共享过程中没有被篡改;

27、do选择一个随机的秘密值s∈zp,计算密文ct={c=ke(g,g)αs,c′=gs};

28、do随机生成一个列向量且随机选择β1,β2,...,βn生成向量然后计算得到并发送λ'i到边缘服务器es与区块链,分别用于接下来的加密操作和es加密后的验证操作;策略矩阵a是大小为l×n的布尔矩阵,do挑选所有的非零元素,wi={j|aij=1},其中1≤i≤l,1≤j≤n,计算得到上传到区块链用于后续的策略计算;

29、do将cm,ct上传至云服务器,并获得一个可访问的地址addr;

30、do可以调用上传合约,将addr,fi,σ,hash,λ'i公开上传到区块链。

31、在一种可能的实现方式中,所述输入spk、do制定的密文策略组件λ'i,执行属性加密得到密文d,并向区块链发送密文d执行验证功能,包括:

32、es本文档来自技高网...

【技术保护点】

1.一种基于区块链的可验证外包加密方法,其特征在于,应用于一个可信中心KGC、数据拥有者客户端DO、数据使用者客户端DU、一个边缘服务器ES、一个云服务器CS和一个区块链构成的互联网环境,所述KGC用于生成和管理密钥;在DO设置一个ES,并由ES执行数据外包加密功能,所述方法,包括:

2.根据权利要求1所述的基于区块链的可验证外包加密方法,其特征在于,所述KGC生成并公布系统参数,生成系统公钥SPK和系统私钥SSK,包括:

3.根据权利要求2所述的基于区块链的可验证外包加密方法,其特征在于,所述输入SPK并为DO和DU生成相应的公钥pk和私钥sk,包括:

4.根据权利要求2所述的基于区块链的可验证外包加密方法,其特征在于,所述输入SPK、SSK及用户属性集合L,KGC为每个用户生成相应的属性密钥AK,包括:

5.根据权利要求4所述的基于区块链的可验证外包加密方法,其特征在于,所述将AK分为云密钥CK与用户密钥UK,包括:输入DU的属性密钥ψ∈Zp,并随机选择,经计算得到UK={K1=gαgat,ψ},最后分别输出CK和UK给云服务器和DU。

6.根据权利要求3所述的基于区块链的可验证外包加密方法,其特征在于,所述输入SPK、DO的公钥pk和数据明文M,DO首先进行对称加密,得到密文CM,并对此密文进行数字签名S,随后DO设置访问策略,并再次加密得到密文CT,且向ES发送密文策略组件λi',包括:

7.根据权利要求6所述的基于区块链的可验证外包加密方法,其特征在于,所述输入SPK、DO制定的密文策略组件λi',执行属性加密得到密文D,并向区块链发送密文D执行验证功能,包括:

8.根据权利要求7所述的基于区块链的可验证外包加密方法,其特征在于,所述云服务器对于接收的由DU发送的数字签名σ和验证信息块Ver进行验证计算,并返回相应的验证证明P到DU,包括:

9.根据权利要求8所述的基于区块链的可验证外包加密方法,其特征在于,所述DU收到由云服务器发来的验证证明P,与数字签名σ进行联合验证;若验证通过,输出结果为1,否则,输出结果为0且终止进行解密程序,包括:

10.根据权利要求9所述的基于区块链的可验证外包加密方法,其特征在于,所述输入属性密文C1,i,C2,i及CK执行预解密功能,并向数据使用者发送解密得到的密文Cout,包括:

...

【技术特征摘要】

1.一种基于区块链的可验证外包加密方法,其特征在于,应用于一个可信中心kgc、数据拥有者客户端do、数据使用者客户端du、一个边缘服务器es、一个云服务器cs和一个区块链构成的互联网环境,所述kgc用于生成和管理密钥;在do设置一个es,并由es执行数据外包加密功能,所述方法,包括:

2.根据权利要求1所述的基于区块链的可验证外包加密方法,其特征在于,所述kgc生成并公布系统参数,生成系统公钥spk和系统私钥ssk,包括:

3.根据权利要求2所述的基于区块链的可验证外包加密方法,其特征在于,所述输入spk并为do和du生成相应的公钥pk和私钥sk,包括:

4.根据权利要求2所述的基于区块链的可验证外包加密方法,其特征在于,所述输入spk、ssk及用户属性集合l,kgc为每个用户生成相应的属性密钥ak,包括:

5.根据权利要求4所述的基于区块链的可验证外包加密方法,其特征在于,所述将ak分为云密钥ck与用户密钥uk,包括:输入du的属性密钥ψ∈zp,并随机选择,经计算得到uk={k1=gαgat,ψ},最后分别输出ck和uk给云服务器和du。

6.根据权利要求3...

【专利技术属性】
技术研发人员:谢晨露刘香菊
申请(专利权)人:齐鲁理工学院
类型:发明
国别省市:

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

1