跨应用的云存储数据共享方法

文档序号:33934456发布日期:2023-04-22 14:25阅读:34来源:国知局
跨应用的云存储数据共享方法

本发明属于云存储,特别是涉及一种跨应用的云存储数据共享方法。


背景技术:

1、云存储服务为用户提供了一种高效、便捷和灵活的数据管理方式。基于云存储的以用户为中心、多应用程序参与的数据密集型系统一方面为用户提供高效便捷的数据服务,另一方面有利于实现共享同一云服务器的应用程序之间的数据流通,打破数据孤岛。

2、然而,在云存储系统中,用户的数据在公开网络中进行传输和存储,由于系统的复杂性、数据的多样性以及公开网络中攻击的频发性,外包存储的数据和用户的隐私面临着严峻的安全威胁,这就使得用户在使用应用程序时产生的数据往往以密文的形式外包存储在云服务器中,且由于各应用程序之间的不互信,面向云存储数据的跨应用可信共享难以实现。即用户跨应用访问某数据时,需要先通过产生该数据的应用程序将用户在该应用程序下产生的全部数据密文下载至本地并解密,再由用户从已解密的数据明文中选取待访问数据,并通过当前使用的应用程序对其进行访问。然而,该方法由于下载了大量无关数据,且由用户在本地对数据明文进行关键词搜索,带来了大量的通信代价和用户计算开销。

3、解决上述问题,最有效的方法是使用公钥可搜索加密技术。公钥可搜索加密技术实现了对密态数据的关键词搜索。即用户将使用应用程序时产生的数据以密文的形式存储在云服务器上的同时,把与该数据相关的关键词一同加密并外包存储在云服务器中,当用户使用其他应用程序需要向云服务器请求数据访问时,用户向云服务器请求关键词检索,并由云服务器将结果返回给用户,用户只需下载与该关键词相关的数据并解密。

4、然而在公钥可搜索加密中,关键词明文空间小使其难以抵抗内部云服务器的关键词猜测攻击。鉴于此,本发明提出由共享同一云服务器的应用程序群组充当一组关键词强化服务器,协同参与关键词强化,但这就要求该应用程序群组长期共享一个关键词强化私钥,然而随着应用程序开发门槛降低、同质化竞争日趋严重,趋于饱和的应用市场下的应用程序服务周期短,更替速度快,使得应用程序群组更替频繁。因此如何保证动态更新的应用程序群组安全、稳定、长期地共享一个关键词强化私钥,协同完成关键词强化成为了一个亟待解决的难题。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提供一种跨应用的云存储数据共享方法。

2、本发明的目的是通过以下技术方案来实现的:跨应用的云存储数据共享方法,包括数据共享步骤,所述数据共享步骤包括:

3、步骤s100.根据安全参数确定公共参数和用户的公私钥,共享同一云服务器的应用程序群组中的应用程序确定其分布式生产的公私钥;

4、步骤s200.用户将使用应用程序apps过程中产生的应用数据存储在云服务器时,选取应用数据的关键词w,并对关键词w进行盲化,以及将盲化后的关键词w′发送至共享同一云服务器的应用程序群组{appi}i={1,2,…,n};应用程序群组{appi}i={1,2,…,n}中的所有应用程序共同生成关键词强化因子σw,并将关键词强化因子σw返回给用户;用户验证关键词强化因子σw的有效性,并在验证通过后使用关键词强化因子σw作为伪随机函数的密钥、关键词w作为伪随机函数的输入值计算强化后的关键词hkw,根据强化后的关键词hkw计算关键词密文,并将关键词密文与应用数据的密文一同上传云服务器;

5、步骤s300.用户在使用应用程序appr的过程中需要访问云服务器中包含关键词w的应用数据时,对关键词w进行盲化,并将盲化后的关键词w′发送至共享同一云服务器的应用程序群组{appi}i={1,2,…,n};应用程序群组{appi}i={1,2,…,n}中的所有应用程序共同生成关键词强化因子σw,并将关键词强化因子σw返回给用户;用户验证关键词强化因子σw的有效性,并在验证通过后使用关键词强化因子σw作为伪随机函数的密钥、关键词w作为伪随机函数的输入值计算强化后的关键词hkw,根据强化后的关键词hkw计算关键词陷门,并将关键词陷门发送至云服务器;

6、步骤s400.云服务器将用户发送的关键词陷门与云服务器已存储的关键词密文进行匹配,若匹配成功,则允许用户通过应用程序appr访问与关键词w相关的应用数据。

7、进一步地,所述步骤s100包括:

8、步骤s101.根据安全参数确定公共参数集其中e为双线性映射:e:g×g→gt,p为群g的生成元,p为群g的阶,h、h、h1和h2是哈希函数,h:g→zp,h,h1:{0,1}*→g,h2:gt→{0,1}lgp,f为伪随机函数,为伪随机函数输入值的长度,t为阈值;

9、步骤s102.用户随机选择作为用户的私钥,并计算用户的公钥其中指模p的简化剩余类群;

10、步骤s103.由appi(e-1)选取随机数以及<t-1,2(t-1)>阶二元多项式bi(x,y),使得二元多项式bi(x,y)满足其中,

11、

12、步骤s104.应用程序appi(e-1)分别计算(t,n)和(2t,n)的秘密子多项式bi(j,y)和bi(x,j),并将其发送至除自己以外的其他应用程序{appj(e-1)}j=1,2,…,n,j≠i;

13、步骤s105.应用程序appi(e-1)计算并发布验证因子和

14、步骤s106.应用程序appi(e-1)在收到来自应用程序appj(e-1)的关于x和y的秘密子多项式bj(i,y)和bj(x,i)后,判断等式一和等式二是否成立,若等式一和等式二均成立,则接受bj(i,y)和bj(x,i);

15、

16、

17、步骤s107.应用程序appi(e-1)通过其收到的秘密子多项式计算其子秘密多项式和秘密并计算子公钥qi=b(i,0)p;此时,应用程序群组的私钥为应用程序群组维护的总秘密对应的公钥为

18、步骤s108.应用程序appi(e-1)随机选取多项式承诺的私钥公钥为<p,βip,βi2p,…,βit-1p>;

19、步骤s109.应用程序appi(e-1)计算关于x的中间秘密多项式b(x,i)的多项式承诺将多项式承诺cb(x,i)广播给{appj(e-1)}j=1,2,…,n,j≠i,并等待接受来自其他应用程序的承诺{cb(x,j)}j=(1,2,…,n),j≠i,若未收到n-1个承诺则终止初始化进程,否则,本地保存收到的承诺,完成初始化。

20、进一步地,所述步骤s200包括:

21、步骤s201.用户将使用应用程序apps过程中产生的应用数据存储在云服务器时,选取关键词w,随机选取作为盲化因子,计算盲化后的关键词w′=rh(w);

22、步骤s202.用户u将盲化后的关键词w′发送给应用程序群组{appi}i={1,2,…,n},应用程序appi收到盲化后的关键词w′后使用其子秘密生成w′的子强化因子σi=b(i,0)w′,并将子强化因子σi返回给用户u;

23、步骤s203.用户u收到来自appi的子强化因子σi后判断等式三是否成立,若等式三成立,用户u接受并存储子强化因子σi,否则拒绝子强化因子σi;

24、e(σi,p)=e(w′,qi)  (等式三);

25、步骤s204.用户u收到t个子强化因子后计算关键词强化因子其中子强化因子的索引集合为t={i1,i2,…,it},然后判断等式四是否成立,若等式四成立,则关键词强化因子σw有效;

26、e(σw,p)=e(h(w),q)  (等式四);

27、步骤s205.用户在关键词强化因子σw有效时计算强化后的关键词hkw=f(h(σw),w);

28、步骤s206.用户选取随机值计算生成密文的中间值此时关键词密文为

29、步骤s207.用户u将关键词密文与应用数据应用程序apps的密文一同存储至云服务器。

30、进一步地,所述步骤s300包括:

31、步骤s301.用户在使用应用程序appr的过程中需要访问云服务器中包含关键词w的应用数据时,随机选取计算盲化后的关键词w′=rh(w);

32、步骤s302.用户u将盲化后的关键词w′发送至共享同一云服务器的应用程序群组{appi}i={1,2,…,n},应用程序appi收到盲化后的关键词w′后使用其子秘密生成w′的子强化因子σi=b(i,0)w′,并将子强化因子σi返回给用户u;

33、步骤s303.用户u收到来自appi的子强化因子σi后判断等式三是否成立,若等式三成立,用户u接受并存储子强化因子σi,否则拒绝子强化因子σi;

34、e(σi,p)=e(w′,qi)  (等式三);

35、步骤s304.用户收到t个子强化因子后计算关键词强化因子其中子强化因子的索引集合为t={i1,i2,…,it},然后判断等式四是否成立,若等式四成立,则关键词强化因子σw有效;

36、e(σ,p)=e(h(w),q)(等式四);

37、步骤s305.用户u在关键词强化因子σw有效时计算强化后的关键词hkw=f(h(σw),w);

38、步骤s306.用户u使用其私钥α计算关键词陷门tdw=αh1(hkw);

39、步骤s307.用户u将关键词陷门tdw发送至云服务器。

40、进一步地,所述步骤s400包括:

41、云服务器将用户使用appr时产生的关键词陷门tdw与云服务器中存储的应用数据的关键词密文进行匹配,判断等式h2(e(tdw,a))=b是否成立,若成立则允许用户使用应用程序appr访问与关键词w相关的数据。

42、进一步地,所述云存储数据共享方法还包括应用程序更替步骤,所述应用程序更替步骤包括:

43、步骤k100.判断是否触发应用程序更替,触发应用程序更替前,前一时期的应用程序群组中的每个应用程序有一个由<t-1,2(t-1)>阶二元多项式b(x,y)产生的(t,n)门限共享子秘密{si=b(i,y)}i={1,2,…,n},其中s=b(0,0),s为应用程序群组的私钥、同时也是应用程序群组的总秘密;当触发应用程序更替后,从新的应用程序群组{appi(e)}i={1,2,…,n′}中随机选取2t-1个应用程序由应用程序共同生成中间秘密{b(x,m)}m={1,2,…,2t-1};

44、步骤k200.由应用程序共同生成用于子秘密更新的二元多项式q(x,y),且满足q(0,0)=0,计算更新后的多项式b′(x,y)=b(x,y)+q(x,y),使得s=b′(0,0),应用程序中的应用程序持有中间秘密b′(x,m);

45、步骤k300.新的应用程序群组中的所有应用程序共同产生更新后的子秘密{b′(i,y)}i={1,2,…,n′}。

46、进一步地,当应用程序群组中应用程序停止服务或者有新的应用程序加入应用程序群组时触发应用程序更替。

47、进一步地,所述中间秘密{b(x,m)}m={1,2,…,2t-1}的生成方法包括:

48、步骤k101.从新的应用程序群组{appi(e)}i={1,2,...,n′}中随机选取2t-1个应用程序其中中至少有t个应用程序来自于保留下来的应用程序的集合

49、步骤k102.所有保留下来的应用程序拥有子秘密b(ik,y)以及中间秘密的多项式承诺集合{cb(x,j)}j={1,2,…,n},应用程序通过其子秘密b(ik,y)生成点{b(ik,m)}m={1,2,…,2t-1},并计算承诺cb(x,m)在每个点处的证明wb(ik,m);

50、

51、步骤k103.将{b(ik,m),wb(ik,m)}发送至应用程序其中m={1,2,…,2t-1};

52、步骤k104.应用程序收到后判断等式五是否成立,若等式五成立,则保存点b(ik,m);当收到t个满足等式五成立的点及承诺cb(x,m)在该点处的证明时,通过该t个点构建多项式b(x,m),其中m={1,2,…,2t-1};

53、

54、进一步地,所述步骤k200包括:

55、步骤k201.应用程序随机选取2t-2阶多项式pm(x)满足pm(0)=0,并计算pm(i),将其发送给其中m={1,2,…,2t-1};应用程序等待接受并在收到全部后计算其中sm为用于子秘密更新的二元多项式所维护的秘密;

56、步骤k202.应用程序随机选取t-1阶多项式rm(x)满足rm(0)=sm,并计算更新后的中间秘密多项式b′(x,m)=b(x,m)+rm(x)以及辅助多项式zm(x)=rm(x)-sm;

57、步骤k203.令更新后的应用程序群组为app(e),应用程序计算zm(x)的多项式承诺b′(x,m)的多项式承诺cb′(x,m)、以及zm(0)的证明同时计算并公布用于子秘密更新的二元多项式所维护的子公钥smp;

58、

59、

60、

61、步骤k204.应用程序将广播给应用程序群组app(e)中的所有应用程序;

62、步骤k205.应用程序群组app(e)中所有应用程序向中的应用程序请求{cb(x,j)}j={1,2,…,n},若收到t个相同的承诺集合{cb(x,j)}j={1,2,…,n}则将其保存;

63、步骤k206.应用程序群组app(e)中的所有应用程序对进行验证,判断等式等式六和等式七是否成立,若等式六和等式七均成立,则保存{cb′(x,m)}m={1,2,…,2t-1};

64、

65、

66、其中,

67、

68、进一步地,所述步骤k300包括:

69、步骤k301.应用程序计算承诺cb′(x,m)在点m处的证明wb′(j,m),生成{b′(j,m),wb′(j,m)}j={1,2,…,n′},并将其发送给应用程序appj(e),其中j={1,2,…,n′};

70、

71、步骤k302.应用程序appj(e)收到{b′(j,m),wb′(j,m)}m={1,2,…,2t-1}后,判断等式八是否成立,若收到的所有点均满足等式八,则应用程序appj(e)使用该2t-1个点构建新的子秘密多项式b′(i,y);

72、e(cb′(x,m),p)=e(wb′(j,m),p(βm-j))e(p,b′(j,m)p)  (等式八)。

73、本发明的有益效果是:

74、(1)由于应用程序之间的不互信,传统方案中用户在跨应用访问数据时往往需要先通过产生该数据的应用程序将其在该应用程序下产生的全部数据密文下载至本地并解密,再由用户从已解密的数据明文中选取待访问数据,并通过当前使用的应用程序对其进行访问。然而,这种方法由于下载了大量无关数据,且由用户在本地对数据明文进行关键词搜索,带来了大量的通信代价和用户计算开销,本发明提供了一种跨应用的云存储数据共享方法,使用公钥可搜索加密技术,实现了用户对密文的关键词检索,降低了用户端的计算开销和存储开销,同时也降低了用户与云服务器的通信开销,实现了高效的跨应用云存储数据访问;

75、(2)本发明利用应用程序服务器作为关键词强化服务器,由所有共享同一云服务器的应用程序协同生成关键词强化因子,该方法在未引入新的第三方的前提下抵御关键词猜测攻击,同时多应用程序协同避免了单点失效问题;

76、(3)目前应用程序服务周期短,更替速度快,使得应用程序群组更替频繁。本发明中提出的应用程序动态更新机制可基于此背景实现应用程序群组安全、稳定、长期的维护一个关键词强化私钥,即在允许应用程序动态加入、更替的同时防治私钥泄露、保证系统稳定高效的运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1