您现在的位置: 首页 > 技术转让 > 公开可验证的数据容错安全存储方法
公开可验证的数据容错安全存储方法

公开可验证的数据容错安全存储方法

  • 专利类型:发明专利
  • 有效期:2021-03-10至2023-03-10
  • 发布日期:2021-03-10
  • 技术成熟度:详情咨询
交易价格: ¥面议
  • 法律状态核实
  • 签署交易协议
  • 代办官方过户
  • 交易成功

专利推荐

  • 技术(专利)类型 发明专利
  • 申请号/专利号 201610562318.8 
  • 技术(专利)名称 公开可验证的数据容错安全存储方法 
  • 项目单位
  • 发明人 田有亮 彭巧 
  • 行业类别 人类生活必需品
  • 技术成熟度 详情咨询
  • 交易价格 ¥面议
  • 联系人 李先生
  • 发布时间 2021-03-10  
  • 01

    项目简介

    本发明提供了一种公开可验证的数据容错安全存储方法。本发明利用多线性映射和公开可验证秘密共享技术,对数据进行分发、承诺,使用可公开验证秘密共享的技术将需存储的数据在多个云服务提供商中共享,并在多个云存储服务器间存储;客户端设置门限值t,t个或更多个后端云服务商提供有效的份额才可以恢复出数据,而少于t‑1个份额无法恢复出数据,避免了单点失效故障的发生,即便在一些份额丢失或损坏的情况下,原始数据仍可以在至少有t个有效份额的状态下被恢复,该技术使得云存储方法具有更好的容错功能,来保证存储方案的安全性,对份额进行加解密运算减少了大数据存储的时间和计算耗费,同时也保证了存储过程的安全性和公开可验证性。

    展开
  • 02

    说明书

    技术领域
    本发明涉及密码学技术领域,尤其是一种公开可验证的数据容错安全存储方法。
    背景技术
    云存储(Cloud Storage)是近几年提出的一种存储模式,作为云计算中发展较为迅速的一个分支,由于其技术可行性,与传统的数据存储相比更廉价更安全。云存储的优势是:能灵活的减少存储的花费,且利用云存储可以降低数据丢失的风险,其服务也越来越深入地走进人们的生活。如今,云存储技术和理念改变了传统的存储资源应用模式,它为海量数据提供了可扩展的,安全可靠的存储解决方案,,对于“云上贵州”平台中所出现的存储资源不足、管理不便等问题,云存储都提出了很好的解决方案。传统的大数据存储方法既不考虑数据存储的容错性和公开可验证功能,也不考虑数据共享和存储过程中所需要的计算开销和通信开销,而云计算可以为大量数据的存储和运算提供一个花费较低且位置无关的数据管理平台,应用于大数据的存储中可以减轻“云上贵州”平台自身存储管理以及维护数据的负担,因此,相对于传统的大数据存储方法,云存储方法更为便捷。另外,在大数据的云存储过程中,由于云服务提供商存在系统漏洞导致数据外流或者云服务提供商本身做出不诚实的行为对存储其上的数据进行越权访问或删改,都可能侵犯用户数据的隐私甚至造成数据的丢失,故大数据云存储的容错性和安全性受到更大的挑战。考虑到大数据本身的隐私性,机密性和大数据性,将大数据的存储和云计算服务相结合是非常好的选择。然而,在数据的共享和存储过程中,数据的丢失,篡改和攻击都是不可避免的,如果数据不是相互独立的,那么一旦存在上述情况之一,数据的存储和恢复将受到影响。为了解决单点失效的问题,在云存储中应用秘密共享的思想,将数据分割成n个份额,在n个后端云服务商间共享,经过加、解密来保证其安全性,最后存储在n个存储器Stoi中。设置门限值t,使得数据可以被t或多于t个份额恢复,而少于t个份额无法恢复出数据也得不到数据的任何信息。秘密共享思想的引用使得大数据云存储方法具有更好的鲁棒性和容错功能,并有助于巩固数据的完整性,减少数据共享和存储的时间花费和计算花费。为了能在“云上贵州”平台上保证安全可靠且方便高效地进行大数据的存储,不同的数据加密方法相继提出。但无论是使用对称或是公钥体制对数据进行加密,都将涉及秘钥管理以及云服务提供商需要分配大量资源加解密数据的问题,因此,将秘密共享方案应用于大数据的存储中能有效解决上述问题,通过将数据分成多个份额分发给不同的存储服务者存储在不同的存储器上能够增强数据的存储安全性。目前,现有的基于传统公钥密码系统或椭圆曲线上双线性对的秘密共享方案信息率一般是1/2,最高达到了2/3,因而将此类秘密共享方案应用于大数据的云存储中时,在共享或存储1bit数据时,需要的空间高达2bit,为了提高大数据存储的通信效率,节省带宽的耗费,提高秘密共享方案的信息率是十分必要的。
    发明内容
    本发明的目的是:提供一种公开可验证的数据容错安全存储方法,该方法在确保减少用户计算和通信耗费的同时,也能保证存储过程的安全性和公开可验证性。本发明是这样实现的:公开可验证的数据容错安全存储方法,利用多线性映射和公开可验证秘密共享技术,对数据进行分发和承诺,并将生成的n个份额发送给前端云服务商进行加密,生成加密的份额后,发送给n个不同的后端云服务商进行公开验证其有效性后对加密的份额进行解密运算,得到份额后存储在相应的云存储上。具体包括如下步骤:1)预处理:客户端Client对用户的数据进行预处理,用预处理的结果作为实际共享的信息,预处理的结果将被直接用于分发步骤;2)份额分发:客户端Client利用秘密共享技术生成n个份额Si,发送给前端云服务商FS,FS利用多线性映射对份额Si进行加密后向n个后端云服务商BS1,BS2,…,BSn发送加密的份额Yi,其中i=1,2,…,n;3)公开验证和数据存储:每个后端云服务商BSi可以利用公开值,如群生成元P和数据份额的加密值Yi等利用自己的公钥yi对客户端Client生成n个份额Si的有效性进行公开验证;4)数据恢复:客户端Client从存储数据份额的n个云存储服务器Sto1,Sto2,…,Ston处得到不少于门限值t个份额,就可以利用拉格朗日插值公式恢复出原始数据。所述的步骤1)具体包括如下步骤:a、客户端Client定义数据的访问结构,以及份额的存储结构,确定份额的数量n及门限t的值;b、客户端Client在每次会话中随机生成一个会话IDSIDi,为份额的存储确定n个云存储服务器Sto1,Sto2,…,Ston及相应的后端云服务商BS1,BS2,…,BSn;c、令m-1维向量S=(P1,P2,…,Pm-1)表示需存储的数据,其中Pi=bi·P,且i=1,2,…,m-1;每个后端云服务商BSi中选择自己的私钥xi并计算yi=xiP作为自己的公钥。所述的步骤2)具体包括如下步骤:a、客户端Client公开对数据的承诺值C0=e(S,rP)=em(P1,P2,…,Pm-1,rP),其中任意b、客户端Client随机从中选择(t-1)×(m-1)个元素fi,j,其中i∈{1,2,…,t-1},j∈{1,2,…,m-1},并构造m-1个次数不超过t-1的多项式如下:

    然后,客户端计算bj=gj(0),Pj=gj(0)·P,其中j=1,2,…,m-1;因此,需存储的数据S=(P1,P2,…,Pm-1)=(g1(0)P,g2(0)P,…,gm-1(0)P);从而,客户端能够计算出Si=(g1(i)P,g2(i)P,…,gm-1(i)P)作为n个份额Si发送给前端云服务商FS,FS将份额Si加密后得到加密的份额值Yi发送给对应的后端云服务商BSi存储在n个不同的云存服务器Stoi中,其中i=1,2,…,n为每个拥有数据份额的后端云服务商的身份信息;c、根据上述m-1个等式,客户端可将其简记为m-1维向量多项式F(x)=P·g1(x)+P·g2(x)+…+P·gm-1(x)=F0+F1x+…+Ft-1xt-1,其中数据F0=F(0)=S=(b1P,b2P,…,bm-1P),其它系数能被记作向量F1=(Pf1,1,Pf1,2,…,Pf1,m-1),F2=(Pf2,1,Pf2,2,…,Pf2,m-1),…,Ft-1=(Pft-1,1,Pft-1,2,…,Pft-1,m-1);另外,Client随机从中选择R1,R2,…,Rt-1,并广播相关的承诺Ci=e(Fi,RiP)=em(Pfi,1,Pfi,2,…,Pfi,m-1,riP),其中j=1,2,…,t-1;d、客户端随机选择次数不超过t-1的多项式R(x)=r0+r1x+…+rt-1xt-1,其系数均随机取自于且r0=r,客户端计算并公开其中i=1,2,…,n;e、客户端将生成的n个份额Si发送给前端云服务商FS,FS进行用户验证,验证通过后,前端云服务商FS计算并公开Xi=e(F(i),R(i)P),并利用多线性映射对份额Si进行加密得到Yi=yi·(g1(i),g2(i),…,gm-1(i)),然后FS将n个加密的份额Yi和会话秘钥SIDi发送给相应的n个后端云服务商BSi,其中i=1,2,…,n。所述的步骤3)具体包括如下步骤:a、后端云服务商BSi检验从FS获得的SIDi是否等于从客户端获得的SIDi;如果相等,BSi接收FS发送的加密的份额值Yi;然后,每个BSi使用自己的私钥xi,通过计算等式从公开的加密的份额Yi中解密出份额Si=(g1(i)P,g2(i)P,…,gm-1(i)P),最后后端云服务商BSi利用自己的公钥yi通过等式(2)利用公开信息P,Yi公开验证份额Si的有效性:e(Yi,P)=e(Si,yi)  (2);b、若上述验证式通过,后端云服务商BSi保留有效的份额Si,否则,Si无效可销毁;最后,BSi将有效的份额Si和会话IDSIDi发送给相应的云存储服务器Stoi进行存储。所述的步骤4)具体包括如下步骤:a、客户端Client从n个云存储服务器(Sto1,Sto2,…,Ston)处选择任意t个有效的份额,不妨设为S1,S2,…,St,并对每个存储份额的存储器Sto1,Sto2,…,Stot执行有效性验证,如果验证通过,客户端Client就能获得用来重构数据的份额;b、客户端Client利用获得的t个有效的份额结合拉格朗日插值方法通过等式(3)恢复出数据:

    ,其中是拉格朗日系数。由于采用了以上技术方案,本发明利用多线性映射和公开可验证秘密共享技术,对数据进行分发、承诺,使用可公开验证秘密共享的技术将需存储的数据在多个云服务提供商中共享,并在多个云存储服务器间存储;客户端设置门限值t,t个或更多个后端云服务商提供有效的份额才可以恢复出数据,而少于t-1个份额无法恢复出数据,避免了单点失效故障的发生,即便在一些份额丢失或损坏的情况下,原始数据仍可以在至少有t个有效份额的状态下被恢复,该技术使得云存储方法具有更好的容错功能,来保证存储方案的安全性,对份额进行加解密运算减少了大数据存储的时间和计算耗费,同时也保证了存储过程的安全性和公开可验证性,同时本发明在“云上贵州”平台和大数据的存储之间提供了一个便捷,高效且具有容错功能的云存储方法。
    附图说明
    图1为数据生成与分发的概念架构图;图1中示意了由客户端Client将数据分割成n个份额存储在n个云服务器上首先客户端利用(t,n)-门限公开可验证秘密共享技术将需要存储的数据分成n个份额Si,分发给前端云服务商FS;然后FS利用多线性映射对份额进行加密得到加密的份额Yi,发送给n个后端云服务商(BS1,BS2,…,BSn),每个后端云服务商利用自己的私钥对加密的份额进行解密得到相应的份额Si,并存储在不同的云存储中;图2为本发明的数据存储的示意图;图2示意了由客户端利用公开可验证秘密共享方案将数据分割成n个份额并存储在n个云存储中的过程,主要分为横向和纵向两个层面;A.纵向来看:客户端首先定义数据的访问结构和份额的存储结构,确定份额数n及门限值t,并公开对数据的承诺值C0,同时与选定的前端云服务商进行通信,确定全部存储数据份额的后端云服务商后,客户端构造t-1次多项式,计算并分发n个份额Si及秘密信息ri(用来对多项式系数进行承诺的参数),并公开系数的承诺值Ci(i=1,2,…,t-1);客户端将份额Si发送给前端云服务商FS后,FS进行用户验证,若验证通过,FS执行用户认证过程,若认证成功,FS计算并公开信息Xi=e(F(i),R(i)P),同时利用多线性映射对份额进行加密,得到加密的份额Yi;最后FS将加密的份额Yi和会话秘钥SIDi发送给相应的n个后端云服务商(BS1,BS2,…,BSn);B.横向来看:后端云服务商BS收到n个加密的份额Yi后,每个BSi利用自己的私钥xi能从公开信息中通过等式解密出份额Si=(g1(i)P,g2(i)P,…,gm-1(i)P),并利用公开信息Yi,P等利用自己的公钥yi通过等式e(Yi,P)=e(Si,yi)(2)公开验证份额的有效性,若验证通过,则客户端分发的份额有效,否则,无效;最后,后端云服务商BSi将有效的份额Si和会话ID SIDi发送给n个云存储(Sto1,Sto2,…,Ston)进行存储;图3为恢复原始数据的示意图;图3中示意了原始数据能从t个有效的份额中重构出来的过程;首先,后端云服务商BSi利用自己的私钥xi解密出份额Si后,并利用公开信息Yi,P等利用自己的公钥yi通过等式e(Yi,P)=e(Si,yi)(2)对份额的有效性进行公开验证,若验证通过,BSi将有效的份额存储在n个存储器中(Sto1,Sto2,…,Ston);其次,客户端从n个存储器处获得t个有效的份额,然后结合拉格朗日插值方法利用公式恢复出数据S=(P1,P2,…,Pm-1);最后,任何人利用已知信息同上述方法可以公开验证恢复出的数据的正确性。
    具体实施方式
    本发明的实施例:公开可验证的数据容错安全存储方法,系统成员包括拥有数据的用户User,客户端Client,前端云服务商FS(Frontend-Server),用来存储份额的n个云存储Stoi(Storage),以及相应的n个后端云服务商BSi(Backend-Server),其中i=1,2,…,n。主要分为四个阶段:预处理阶段、份额分发阶段、公开验证和数据存储阶段、数据恢复阶段。预处理阶段由客户端Client对需要存储的数据进行预处理,预处理的结果将被直接用于分发阶段;在份额分发阶段,客户端生成n个份额,分发给前端云服务商FS,FS利用多线性映射对份额进行加密后向n个后端云服务商(BS1,BS2,…,BSn)发送加密的份额;在公开验证和数据存储阶段,后端云服务商BSi利用公开信息和自己的公钥对份额的正确性进行公开验证,并利用自己的私钥从加密的份额中解密出份额存储在不同的n个云存储中的过程;在数据恢复阶段,客户端从n个云存储Sto1,Sto2,…,Ston处得到t个有效的份额,利用拉格朗日插值方法可以恢复出数据。本专利的具体实现过程包括以下四步:1)预处理:客户端Client对用户的数据进行预处理,用预处理的结果作为实际共享的信息,预处理的结果将被直接用于分发步骤;这个处理可以预防云存储的合谋攻击,也使得执行恢复操作的云服务器不会获得数据的真实内容并保证恢复出的数据可以被任何人利用已知信息进行公开验证;2)份额分发:客户端Client利用秘密共享技术生成n个份额Si,发送给前端云服务商FS,FS利用多线性映射对份额Si进行加密后向n个后端云服务商BS1,BS2,…,BSn发送加密的份额Yi,其中i=1,2,…,n;3)公开验证和数据存储:公开验证和数据存储:每个后端云服务商BSi可以利用公开值,如群生成元P和数据份额的加密值Yi等利用自己的公钥yi对客户端Client生成n个份额Si的有效性进行公开验证;4)数据恢复:客户端Client从存储数据份额的n个云存储服务器Sto1,Sto2,…,Ston处得到不少于门限值t个份额,就可以利用拉格朗日插值公式恢复出原始数据。在本发明中,令G1,G2分别表示q阶加法循环群和q阶乘法循环群,其中q为大素数。使用合适的公钥程序选择群G1,G2的一个生成元P,同时假设在群G1,G2之间存在一个多线性映射e:下面详细介绍本发明中每一步的具体内容。其中,所述第一步进一步具体包括:所述的步骤1)具体包括如下步骤:a、客户端Client定义数据的访问结构,以及份额的存储结构,确定份额的数量n及门限t的值;b、客户端Client在每次会话中随机生成一个会话IDSIDi,为份额的存储确定n个云存储服务器Sto1,Sto2,…,Ston及相应的后端云服务商BS1,BS2,…,BSn;c、令m-1维向量S=(P1,P2,…,Pm-1)表示需存储的数据,其中Pi=bi·P,且i=1,2,…,m-1;每个后端云服务商BSi中选择自己的私钥xi并计算yi=xiP作为自己的公钥。所述的步骤2)具体包括如下步骤:a、客户端Client公开对数据的承诺值C0=e(S,rP)=em(P1,P2,…,Pm-1,rP),其中任意b、客户端Client随机从中选择(t-1)×(m-1)个元素fi,j,其中i∈{1,2,…,t-1},j∈{1,2,…,m-1},并构造m-1个次数不超过t-1的多项式如下:

    然后,客户端计算bj=gj(0),Pj=gj(0)·P,其中j=1,2,…,m-1;因此,需存储的数据S=(P1,P2,…,Pm-1)=(g1(0)P,g2(0)P,…,gm-1(0)P);从而,客户端能够计算出Si=(g1(i)P,g2(i)P,…,gm-1(i)P)作为n个份额Si发送给前端云服务商FS,FS将份额Si加密后得到加密的份额值Yi发送给对应的后端云服务商BSi存储在n个不同的云存服务器Stoi中,其中i=1,2,…,n为每个拥有数据份额的后端云服务商的身份信息;c、根据上述m-1个等式,客户端可将其简记为m-1维向量多项式F(x)=P·g1(x)+P·g2(x)+…+P·gm-1(x)=F0+F1x+…+Ft-1xt-1,其中数据F0=F(0)=S=(b1P,b2P,…,bm-1P),其它系数能被记作向量F1=(Pf1,1,Pf1,2,…,Pf1,m-1),F2=(Pf2,1,Pf2,2,…,Pf2,m-1),…,Ft-1=(Pft-1,1,Pft-1,2,…,Pft-1,m-1);另外,Client随机从中选择R1,R2,…,Rt-1,并广播相关的承诺Ci=e(Fi,RiP)=em(Pfi,1,Pfi,2,…,Pfi,m-1,riP),其中j=1,2,…,t-1;d、客户端随机选择次数不超过t-1的多项式R(x)=r0+r1x+…+rt-1xt-1,其系数均随机取自于且r0=r,客户端计算并公开其中i=1,2,…,n;e、客户端将生成的n个份额Si发送给前端云服务商FS,FS进行用户验证,验证通过后,前端云服务商FS计算并公开Xi=e(F(i),R(i)P),并利用多线性映射对份额Si进行加密得到Yi=yi·(g1(i),g2(i),…,gm-1(i)),然后FS将n个加密的份额Yi和会话秘钥SIDi发送给相应的n个后端云服务商BSi,其中i=1,2,…,n。所述的步骤3)具体包括如下步骤:a、后端云服务商BSi检验从FS获得的SIDi是否等于从客户端获得的SIDi;如果相等,BSi接收FS发送的加密的份额值Yi;然后,每个BSi使用自己的私钥xi,通过计算等式从公开的加密的份额Yi中解密出份额Si=(g1(i)P,g2(i)P,…,gm-1(i)P),最后后端云服务商BSi利用自己的公钥yi通过等式(2)利用公开信息P,Yi公开验证份额Si的有效性:e(Yi,P)=e(Si,yi)  (2);b、若上述验证式通过,后端云服务商BSi保留有效的份额Si,否则,Si无效可销毁;最后,BSi将有效的份额Si和会话IDSIDi发送给相应的云存储服务器Stoi进行存储。所述的步骤4)具体包括如下步骤:a、客户端Client从n个云存储服务器(Sto1,Sto2,…,Ston)处选择任意t个有效的份额,不妨设为S1,S2,…,St,并对每个存储份额的存储器Sto1,Sto2,…,Stot执行有效性验证,如果验证通过,客户端Client就能获得用来重构数据的份额;b、客户端Client利用获得的t个有效的份额结合拉格朗日插值方法通过等式(3)恢复出数据:

    ,其中是拉格朗日系数。本发明的优势:本发明中使用公开可验证秘密共享体制实现大数据的云存储,从而提出公开可验证的数据容错安全存储方法,该方法使得云服务者利用公开信息可以对分发的份额的有效性和恢复出的数据的正确性进行公开验证,同时利用多线性映射对分发的份额进行加解密运算,保证了大数据存储的公开可验证性;另外,秘密共享技术的应用使得数据存储方案具有更好的鲁棒性。本发明使用可公开验证秘密共享的技术将需存储的数据在多个云服务提供商中共享,并在多个云存储服务器间存储。客户端设置门限值t,t个或更多个后端云服务商提供有效的份额才可以恢复出数据,而少于t-1个份额无法恢复出数据,避免了单点失效故障的发生。即便在一些份额丢失或损坏的情况下,原始数据仍可以在至少有t个有效份额的状态下被恢复,该技术使得云存储方法具有更好的容错功能。本发明利用了信息率几乎渐进最优的公开可验证秘密共享方案,因而在大数据的云存储中,由于需存储数据S=(P1,P2,…,Pm-1)的大小为(m-1)·|q|bits,共享份额(Si,ri)的大小是(m-1)·|q|+|q|的大小是(m-1)·|q|+|q|bits,因此,本发明在一次存储任务中总的通信花费仅仅需要消耗与现有的云存储方法相比节省了带宽耗费,并提高了通信效率。本发明所述并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。显然本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术范围内,则本发明也意图包含这些改动和变型在内。

    展开

专利技术附图

< >

服务流程

过户资料

  • 买卖双方需提供资料
  • 平台提供
  • 过户后您将获得
  • 买家
  • 卖家
  • 公司
  • 企业营业执照
  • 企业营业执照

    专利注册证原件

  • 个人
  • 身份证

    个体户营业执照

  • 身份证

    专利注册证原件

  • 专利代理委托书

    转让申请书

    转让协议

  • 手续合格通知书

    专利证书

    专利利登记簿副本

安全保障

  • 品类齐全

    海量资源库,平台整合几十万闲置资源。
  • 交易保障

    完善的资金保障体系确保买卖双方资金安全。
  • 专人跟进

    专业交易顾问全程服跟进,确保交易流畅。
  • 快速响应

    专业在线/电话客服服务,快速响应贴心服务。
  • 售后无忧

    资质过硬,国内大知识产权服务平台。

在线客服

在线咨询

010-83278899

返回顶部