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

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

Info

Publication number
CN106127081A
CN106127081A CN201610562318.8A CN201610562318A CN106127081A CN 106127081 A CN106127081 A CN 106127081A CN 201610562318 A CN201610562318 A CN 201610562318A CN 106127081 A CN106127081 A CN 106127081A
Authority
CN
China
Prior art keywords
share
client
data
service provider
cloud service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610562318.8A
Other languages
English (en)
Other versions
CN106127081B (zh
Inventor
田有亮
彭巧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou University
Original Assignee
Guizhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guizhou University filed Critical Guizhou University
Priority to CN201610562318.8A priority Critical patent/CN106127081B/zh
Publication of CN106127081A publication Critical patent/CN106127081A/zh
Application granted granted Critical
Publication of CN106127081B publication Critical patent/CN106127081B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

公开可验证的数据容错安全存储方法
技术领域
本发明涉及密码学技术领域,尤其是一种公开可验证的数据容错安全存储方法。
背景技术
云存储(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的多项式如下:
g 1 ( x ) = b 1 + Σ i = 1 t - 1 f i , 1 x i g 2 ( x ) = b 2 + Σ i = 1 t - 1 f i , 2 x i · · · g m - 1 ( x ) = b m - 1 + Σ i = 1 t - 1 f i , m - 1 x i
然后,客户端计算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)恢复出数据:
S = Σ i = 1 t λ i · S i = ( P 1 , P 2 , ... , P m - 1 ) - - - ( 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的多项式如下:
g 1 ( x ) = b 1 + Σ i = 1 t - 1 f i , 1 x i
g 2 ( x ) = b 2 + Σ i = 1 t - 1 f i , 2 x i · · · g m - 1 ( x ) = b m - 1 + Σ i = 1 t - 1 f i , m - 1 x i
然后,客户端计算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)恢复出数据:
S = Σ i = 1 t λ i · S i = ( P 1 , P 2 , ... , P m - 1 ) - - - ( 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,因此,本发明在一次存储任务中总的通信花费仅仅需要消耗与现有的云存储方法相比节省了带宽耗费,并提高了通信效率。
本发明所述并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。显然本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术范围内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种公开可验证的数据容错安全存储方法,其特征在于:利用多线性映射和公开可验证秘密共享技术,对数据进行分发和承诺,并将生成的n个份额发送给前端云服务商进行加密,生成加密的份额后,发送给n个不同的后端云服务商进行公开验证其有效性后对加密的份额进行解密运算,得到份额后存储在相应的云存储上。
2.根据权利要求1所述的公开可验证的数据容错安全存储方法,其特征在于:具体包括如下步骤:
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个份额,就可以利用拉格朗日插值公式恢复出原始数据。
3.根据权利要求2所述的公开可验证的数据容错安全存储方法,其特征在于:所述的步骤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作为自己的公钥。
4.根据权利要求2所述的公开可验证的数据容错安全存储方法,其特征在于:所述的步骤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的多项式如下:
g 1 ( x ) = b 1 + Σ i = 1 t - 1 f i , 1 x i g 2 ( x ) = b 2 + Σ i = 1 t - 1 f i , 2 x i . . . g m - 1 ( x ) = b m - 1 + Σ i = 1 t - 1 f i , m - 1 x i
然后,客户端计算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。
5.根据权利要求2所述的公开可验证的数据容错安全存储方法,其特征在于:所述的步骤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进行存储。
6.根据权利要求2所述的公开可验证的数据容错安全存储方法,其特征在于:所述的步骤4)具体包括如下步骤:
a、客户端Client从n个云存储服务器(Sto1,Sto2,…,Ston)处选择任意t个有效的份额,不妨设为S1,S2,…,St,并对每个存储份额的存储器Sto1,Sto2,…,Stot执行有效性验证,如果验证通过,客户端Client就能获得用来重构数据的份额;
b、客户端Client利用获得的t个有效的份额结合拉格朗日插值方法通过等式(3)恢复出数据:
S = Σ i = 1 t λ i · S i = ( P 1 , P 2 , ... , P m - 1 ) - - - ( 3 )
其中是拉格朗日系数。
CN201610562318.8A 2016-07-18 2016-07-18 公开可验证的数据容错安全存储方法 Active CN106127081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610562318.8A CN106127081B (zh) 2016-07-18 2016-07-18 公开可验证的数据容错安全存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610562318.8A CN106127081B (zh) 2016-07-18 2016-07-18 公开可验证的数据容错安全存储方法

Publications (2)

Publication Number Publication Date
CN106127081A true CN106127081A (zh) 2016-11-16
CN106127081B CN106127081B (zh) 2019-04-16

Family

ID=57283975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610562318.8A Active CN106127081B (zh) 2016-07-18 2016-07-18 公开可验证的数据容错安全存储方法

Country Status (1)

Country Link
CN (1) CN106127081B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763940A (zh) * 2018-05-15 2018-11-06 华南农业大学 一种基于秘密共享的可检验数据库加密检索方法及系统
CN109120398A (zh) * 2018-08-03 2019-01-01 河南师范大学 一种基于区块链系统的秘密共享方法与装置
CN109583221A (zh) * 2018-12-07 2019-04-05 中国科学院深圳先进技术研究院 基于多云服务器架构的网盘系统
CN109858283A (zh) * 2019-02-26 2019-06-07 陕西科技大学 一种基于Chaum-Perdesen的云存储安全数据共享方法
CN112163227A (zh) * 2020-09-02 2021-01-01 湖北工业大学 一种电商平台卖家用户销售额多维统计分析系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN104079412A (zh) * 2014-07-08 2014-10-01 甘肃省电力设计院 基于智能电网身份安全的无可信pkg的门限代理签名方法
CN104580145A (zh) * 2014-11-28 2015-04-29 浙江工商大学 可验证秘密分享的移动代理安全支付方法
CN105024822A (zh) * 2015-07-13 2015-11-04 西安理工大学 来自多线性映射的基于身份加密方法
CN105162573A (zh) * 2015-07-13 2015-12-16 西安理工大学 基于多线性映射的可撤销分权威密钥策略的属性加密方法
US20160087792A1 (en) * 2014-09-24 2016-03-24 Ned Smith Techniques for distributing secret shares
CN105516340A (zh) * 2015-12-30 2016-04-20 中国农业大学 一种云存储数据可恢复性验证方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN104079412A (zh) * 2014-07-08 2014-10-01 甘肃省电力设计院 基于智能电网身份安全的无可信pkg的门限代理签名方法
US20160087792A1 (en) * 2014-09-24 2016-03-24 Ned Smith Techniques for distributing secret shares
CN104580145A (zh) * 2014-11-28 2015-04-29 浙江工商大学 可验证秘密分享的移动代理安全支付方法
CN105024822A (zh) * 2015-07-13 2015-11-04 西安理工大学 来自多线性映射的基于身份加密方法
CN105162573A (zh) * 2015-07-13 2015-12-16 西安理工大学 基于多线性映射的可撤销分权威密钥策略的属性加密方法
CN105516340A (zh) * 2015-12-30 2016-04-20 中国农业大学 一种云存储数据可恢复性验证方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张建中: "一个双线性对上公开可验证多秘密共享方案", 《计算机工程与应用》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763940A (zh) * 2018-05-15 2018-11-06 华南农业大学 一种基于秘密共享的可检验数据库加密检索方法及系统
CN108763940B (zh) * 2018-05-15 2022-03-25 华南农业大学 一种基于秘密共享的可检验数据库加密检索方法及系统
CN109120398A (zh) * 2018-08-03 2019-01-01 河南师范大学 一种基于区块链系统的秘密共享方法与装置
CN109583221A (zh) * 2018-12-07 2019-04-05 中国科学院深圳先进技术研究院 基于多云服务器架构的网盘系统
CN109858283A (zh) * 2019-02-26 2019-06-07 陕西科技大学 一种基于Chaum-Perdesen的云存储安全数据共享方法
CN109858283B (zh) * 2019-02-26 2022-11-01 陕西科技大学 一种基于Chaum-Pedersen的云存储安全数据共享方法
CN112163227A (zh) * 2020-09-02 2021-01-01 湖北工业大学 一种电商平台卖家用户销售额多维统计分析系统及方法

Also Published As

Publication number Publication date
CN106127081B (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
US10805072B2 (en) System and method for autonomous dynamic person management
CN106357401B (zh) 一种私钥存储及使用方法
CN104521178B (zh) 安全的多方云计算的方法和系统
Yang et al. Secure data access control with fair accountability in smart grid data sharing: An edge blockchain approach
CN106127081B (zh) 公开可验证的数据容错安全存储方法
CN111130757A (zh) 一种基于区块链的多云cp-abe访问控制方法
CN108989045B (zh) 防全局篡改的装置和系统
CN108600227A (zh) 一种基于区块链的医疗数据共享方法及装置
CN102891898B (zh) 一种基于云存储的网络招投标系统
CN104954390B (zh) 可恢复丢失密钥的云存储完整性检测方法及系统
CN104901942A (zh) 一种基于属性加密的分布式访问控制方法
US11588631B2 (en) Systems and methods for blockchain-based automatic key generation
TW202347988A (zh) 用以獲取數位簽署資料之電腦實行方法及系統
Huang et al. EABDS: Attribute‐Based Secure Data Sharing with Efficient Revocation in Cloud Computing
CN104270448A (zh) 可外包重构的电子医疗记录的秘密共享云存储方法
CN106487786A (zh) 一种基于生物特征的云数据完整性验证方法及系统
CN104657494A (zh) 一种网站数据库访问方法
CN104184736B (zh) 一种实现安全云计算的方法和系统
WO2013136235A1 (en) Byzantine fault tolerance and threshold coin tossing
CN110519040B (zh) 基于身份的抗量子计算数字签名方法和系统
CN101383823B (zh) 一种可信接入中的网络资源访问控制方法
Lee et al. Data encryption method using CP-ABE with symmetric key algorithm in blockchain network
CN108494552A (zh) 支持高效收敛密钥管理的云存储数据去重方法
CN109802828B (zh) 支持公开验证的云数据完整性审计方法
JP2023522752A (ja) 分散された鍵のバックアップストレージからの復元

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant