CN109905230A - 一种云存储中数据机密性验证方法及系统 - Google Patents
一种云存储中数据机密性验证方法及系统 Download PDFInfo
- Publication number
- CN109905230A CN109905230A CN201910112857.5A CN201910112857A CN109905230A CN 109905230 A CN109905230 A CN 109905230A CN 201910112857 A CN201910112857 A CN 201910112857A CN 109905230 A CN109905230 A CN 109905230A
- Authority
- CN
- China
- Prior art keywords
- user terminal
- data
- cloud server
- insincere
- user
- 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
Links
Abstract
本发明公开了一种云存储中数据机密性验证方法及系统。本方法为:1)不可信云服务器对用户端上传的明文F加密生成密文G;2)对G中的每一文件块,利用所生成的随机数作为盐值生成一查询表,用于对密文G进行封装;然后对封装文件H中每个封装文件块进行哈希,得到哈希值集合IH并将其发送给该用户端;3)该用户端对IH验证通过后对F中每个文件块生成一标签上传至该不可信云服务器;4)该不可信云服务器收到用户端的挑战c后,生成证据proof;5)该用户端对证据proof验证通过后,对收到的封装文件块重新计算生成标签并与上传标签比对,验证数据机密性。本发明提高了数据机密性验证的效率。
Description
技术领域
本发明属于云存储中的数据安全领域,尤其涉及一种应用于云存储服务中的数据机密性验证方法及系统。
背景技术
云存储是一个以数据存储和管理为核心的云计算系统。随着信息技术的迅猛发展和“互联网+”行动的推进,人们对数据存储空间的需求在不断增加。在这一趋势下,云存储服务的提出与发展给个人和企业用户带来了无限可能。然而数据安全和隐私保护方面的问题已成为阻碍云存储更广泛发展的最大技术挑战之一。
云存储服务中的数据机密性验证技术是保证云存储中数据安全的关键技术之一。云存储中数据机密性验证机制采用一种基于两方的模型,该模型主要由云存储用户和不可信云存储服务组成,云存储服务承诺保证用户数据的机密性,即用户数据是加密存储在云上的。但是用户所合作的服务器是不可信的,这时就需要数据机密性验证机制来保证用户的隐私数据是以加密形式存储在云上,以防止未授权用户对数据进行访问,乃至获取数据内容。在两方模型中,用户扮演着挑战者的角色,可以自定义地定制云存储服务,并具有一定的审计能力;云存储服务商作为证明者,具有强大的存储和计算能力,为用户提供存储和计算服务,同时当接收到用户的机密性验证挑战时,须在一定时间内做出响应。
考虑验证明文F是否以加密格式G存储在云服务器中,用户作为挑战者,向云服务商发起挑战,读取并检测文件G中一定数量的随机数据块。然而由于当前技术的进步和强大的硬件支持,云存储平台普遍使用的对称密钥加密算法,如AES算法,计算速度是非常快的,实时计算是完全可行的。不可信的云服务商可以存储明文F,当接收到用户的挑战时,再实时地进行加密计算生成并返回挑战的密文块。此时,用户并不能够正确检测出云服务商是否保证了文件的机密性。
为了确保云服务商存储的文件确实是加密格式,一种保守的做法是用户上传之前自行加密,加密密钥由用户自己保管,云服务商仅仅存储用户加密后的文件而不进行处理。当用户需要查询、检索或者计算分析某文件时,必须将相关密文下载,由用户端解密才可得到原始明文从而进行处理。该做法虽然获取一定的安全性,但是不可避免地造成了带宽和计算资源的浪费,也失去了对云服务计算资源的有效利用。而且如果用户丢失加密密钥,那其数据是不可挽回的。因而,从性能效率等方面看这种方案是不可行的。
本文提出的数据机密性验证机制的核心思想是通过一种文件封装的策略,即不可信云服务商和用户协作将密文进行封装,生成封装文件,封装文件存储在云服务器中。结合哈希函数和AES对称加密算法,用于构建可验证的标签。随后,用户不定期地发送挑战,读取并检测封装文件中一定数量的随机数据块,来验证明文是否以封装文件格式存储在云服务器中。
这种策略的实现主要基于多值函数的思想,同一密文,可生成不同的封装文件,云服务商可对封装文件进行解封装,得到密文,从而得到明文,但若云服务商为了节省计算和管理等开销,想要存储明文而不保存封装文件,为了在一定时间范围内响应用户的挑战,云服务商需要存储一些额外的数据信息,以便于快速的产生相应的证据。然而,这些额外的数据信息所需要的存储开销并不能让不可信云服务商节省代价,反而每次应对用户的挑战时,不可信云服务商需要耗费额外的计算代价,从而保证了针对经济合理型的云服务商来说,存储用户所上传的封装文件是应对用户挑战的唯一合理可行方法。把该机密性验证机制的具体过程在两方模型的基础上做详细的描述如下:
1)用户上传明文F给不可信云服务器;
2)不可信云服务商采用一定强度的加密算法(如AES)对明文F进行加密,生成密文G;
3)不可信云服务商生成查询表,利用查询表对密文G进行一系列的文件封装操作,生成封装文件H,利用哈希函数,对封装文件块做哈希操作,生成并返回一系列的哈希值IH;
4)用户收到哈希值IH后,概率性验证IH的正确性从而证明不可信云服务商正确实施了机密性保护的安全措施;
5)在确保IH的正确性后,用户生成并上传机密性验证标签tag;
6)用户不定期地发送挑战给不可信云服务器,读取并检测封装文件H中一定数量的随机数据块;
7)不可信云服务商检索并返回相应的证据;
8)用户记录不可信云服务商响应的时间,并且计算评估证据的正确性,如果响应时间在用户要求的时间阈值内同时证据正确则用户相信不可信云服务商保证了数据的机密性,反之,则认为数据机密性没有得到保证。
针对文件封装过程的设计,研究人员已有了一些有价值的成果。van Dijk等人基于时延和计算量,提出了三个文件封装方案,分别是butterfly、permutation-based和RSA-based方案。van Dijk利用云服务器端资源的有限性,通过提高明密文转换操作需要的时间和计算代价,来验证云存储数据的机密性。Hu K等人利用查询表提出了一种节省计算时间的文件封装方案,并且该方案支持文件的更新操作。
通过对已有方法的研究发现,RSA-based方案基于非对称公钥加密算法RSA算法,其时间复杂度高,非常耗时,并不实用;permutation-based方案严重依赖于旋转式硬盘启动器上的随机存取缓慢这一假设;butterfly方案虽然在强假设有一定的改进,但其时间复杂度依然达到了O(NlogN)次AES操作(N为数据块总数)。虽然Hu K等人提出的方案中文件封装过程所消耗的计算开销有所降低,然而和以上三个封装方案一样,主要由用户完成繁重复杂的文件封装过程,这种机密性验证方案并不适用于计算资源受限的用户,如移动设备用户。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种云存储中数据机密性验证方法及系统,在保证验证可靠性和安全性的前提下,有效降低用户端的计算代价,增加数据机密性验证方案的实用性,以及提高用户的体验。
为实现上述发明的目的,本发明提供了一种云存储中数据机密性验证方法,包括设计了一种高效的文件封装算法和一种新型的挑战响应协议。本方法适用于计算资源有限的用户,如移动设备或家庭网络的用户。其特征在于,包括以下步骤:
(1)初始化
用户拥有明文F,将F划分为等大小的文件块,即F=(F1,F2,...,Fn)。用户生成两个种子值sd1和sd2。其中,sd1用于生成查询表和解封装文件,sd2用于文件封装过程。用户将明文F、sd1和sd2一同上传至不可信云服务商。
(2)数据封装
1)文件加密
不可信云服务商接收到用户上传的外包明文F之后,采用足够强度的对称加密机制(如AES算法)对明文F进行加密,密钥sk由用户和不可信云服务商所共享,生成密文G(G=(G1,G2,...,Gn))。
2)查询表的产生
首先,不可信云服务商利用伪随机数发生器,将sd1作为种子,生成n个随机数,这n个随机数互不相同,将其都表示成一定长度的01串的形式记为{s1,s2,...,sn}。随后,不可信云服务商生成两个安全参数lh、lg(lh>lg),针对密文G中的每一文件块Gi,不可信云服务商根据算法1,利用随机数si作为盐值来构建一个相应的查询表Ti,查询表集合T=(T1,T2,...,Tn)。其中,查询表Ti包含个空链表和一个拥有个元素的数组Li,Li记录着每个链表的长度(即每个链表中的元素个数)。
算法1.查询表Ti的产生算法。
输入:安全参数lh和lg、盐值si;
输出:查询表Ti;
1.新建一个查询表Ti,该表包含个空链表和一个拥有个元素的数组Li;
2.For每个字符串do;
3.
4.将str插入到第u个链表中;
5.Li[u]=Li[u]+1;Li[u]是数组Li的第u个元素,记录着第u个链表的长度(即第u个链表中的元素个数);当字符串str插入到第u个链表中,第u个链表元素个数增加了1个,因此Li[u]需要增加1;
6.End for;
7.返回查询表Ti。
3)文件封装
基于查询表集合T,不可信云服务商根据算法2对密文G进行封装操作,得到封装文件H=(H1,H2,...,Hn),其中,Li[Gi,j]表示第i个查询表Ti中第Gi,j个链表的长度(因为Gi,j为lg比特的01串,因此Gi,j的十进制表示数大小在范围内),Ti[Gi,j][pos]表示第i个查询表Ti中第Gi,j个链表的第pos个元素,mod函数是取模运算。随后,不可信云服务商分别对每个封装文件块进行哈希操作,得到一系列哈希值其中hash()为足够安全的哈希函数,如SHA-256函数。最后不可信云服务商将生成的哈希值集合IH发送给用户端。
算法2.文件封装算法
输入:密文G=(G1,G2,...,Gn)、查询表集合T=(T1,T2,...,Tn)、lg、sd2;
输出:封装文件H=(H1,H2,...,Hn);
用户收到哈希值集合IH后,需要证明IH的正确性。通过从明文F中随机选取其中t个明文块,分别对这t个文件块进行加密、封装及哈希过程,生成t个哈希值,然后与IH中对应的哈希值进行比对,若一致则概率上表示IH是正确的,否则表明不可信云服务商并没有按要求正确实施机密性保护措施。
(3)机密性验证标签生成
在验证哈希值集合IH的正确性之后,利用IH,用户针对明文F中的每个文件块生成机密性可验证标签:
其中,sk'由用户所有,不会泄露给不可信云服务商,标签集合为tag=(tag1,tag2,...,tagn)。最后用户将标签集合tag上传至不可信云服务器端保存。
(4)数据读取
当用户想读取文件的某个数据块时,不可信云服务商首先需要将对应的封装文件块进行解封装,得到相应的密文块,然后解密得到明文块,最终响应用户的查询请求。单个数据块的解封装流程如算法3所示。类似于文件封装过程,需将待解封装的封装文件块Hi划分为w个等长的小数据块,即Hi=(Hi,1,Hi,2,...,Hi,w),每块长度为lh个比特。由于封装文件块之间的解封装过程并不冲突,故可并行处理。
算法3.文件数据块Hi解封装算法.
输入:文件Hi=(Hi,1,Hi,2,...,Hi,w)、盐值si、lg和lh
输出:Gi=(Gi,1,Gi,2,...,Gi,w)
1.For j∈[1,w]do
2.
3.End for
4.返回密文块Gi=(Gi,1,Gi,2,...,Gi,w)。
(5)数据更新
当用户需要针对一些文件块进行更新时,更新步骤类似于文件封装步骤。具体步骤如下:用户将待更新的文件块上传给不可信云服务器后,由不可信云服务器实施加密、封装等操作,并重新生成对应的哈希值,返回给用户。用户检测部分哈希值的正确性以验证不可信云服务器正确处理了更新的文件块,若验证成功则表示更新成功。
(6)数据机密性验证
用户数据的机密性验证机制主要是检测不可信云服务器是否以封装文件格式来存储用户的数据,即不可信云服务器是否存储了文件H,从而检测不可信云服务商是否对用户敏感数据进行了机密性保护措施。具体验证方案主要由以下三个步骤组成:
1)用户发送挑战
用户随机生成挑战c=(c1,c2,...,cr),其中1≤ci≤n且1≤r≤n,挑战c表示用户想验证封装文件数据块的机密性是否得以保证。用户发送挑战c给不可信云服务器,开始计时,并等待接收证据。
2)不可信云服务器返回证据
当不可信云服务器接收到挑战c之后,生成证据proof。proof主要有两部分组成,分别是和其中表示为不可信云服务器所存储的封装文件块、表示为先前用户所上传的标签。不可信云服务器将proof返回给用户,供用户验证。
3)机密性验证
用户收到证据proof后,停止计时,将响应时间记为τ,若τ满足一定的时间阈值要求则进行下一步骤,否则用户判定不可信云服务器为不诚实的。
利用AES和哈希算法,以及用户私有的密钥sk',根据以下等式,对接收到的封装文件块重新计算生成标签,
若对于挑战c中的每个元素ci,都满足与相等,则证明不可信云服务器返回的证据都是正确的,即认为所验证的数据块的机密性得到了保证,否则,用户则认为该数据文件的机密性并没有得到保证。
上述步骤中的前三个(即初始化、外包文件封装和机密性验证标签生成这三个步骤)只需运行一次,其他步骤可运行多次,即用户可根据需要进行数据更新、数据读取操作,也可不定期地进行数据的机密性验证,直到用户从不可信云服务器中删除数据。
本发明还提供一种云存储中数据机密性验证系统,其特征在于,包括通过网络连接的不可信服务器和用户端;所述用户端包括初始化模块、标签生成模块、数据机密性验证模块,所述不可信服务器包括数据封装模块;其中,
所述初始化模块,用于用户端生成一些必要的数据参数sd1和sd2,并将两个参数同明文F发送给不可信服务器;
所述标签生成模块,用于用户端对所述封装文件H中每一数据块的哈希值,利用用户端私有的密钥sk'生成可验证的标签集合tag;然后将该标签tag上传至不可信云服务器;
所述数据机密性验证模块,用于生成挑战c发送给该不可信云服务器;以及运用密钥sk'对返回的证据进行验证;若该挑战c中所需要验证的各数据块的证据均验证通过,则判定此次数据机密性验证通过,否则判定该明文F的机密性并没有得到保证;其中,该不可信云服务器根据可检索待挑战的封装文件数据块和先前用户端上传好的标签,生成证据,然后将该证据返回给该用户端。
所述数据封装模块,用于不可信云服务器针对用户上传的明文F进行加密,生成密文G,所使用的密钥为两方共享的密钥sk;随后利用sd1生成用于数据封装的查询表集合T,再利用sd2对密文G进行数据封装操作,生成封装文件H;最后针对封装文件H的每个数据块做哈希,生成哈希值集合IH,并将该集合返回给用户端,由用户端概率性验证该哈希值的正确性。
本系统还包括一查询模块,所述查询模块用于当用户端需对数据进行读取访问的时候,用户端生成查询请求发送给该不可信云服务器,该不可信云服务器根据查询请求对用户想访问的数据块进行解封装,得到密文数据块,然后对该密文数据块进行解密得到明文数据块,得到查询结果反馈给该用户端。
本系统还包括一更新模块,所述更新模块用于当用户端需对数据进行更新的时候,用户端生成更新请求发送给该不可信云服务器,该不可信云服务器根据更新请求对用户想更新的数据块重新进行加密和封装操作,得到封装数据块,然后对该封装数据块进行哈希生成哈希值返回给用户端;用户端概率性验证该哈希值的正确性,若正确则重新生成相应的标签上传给不可信云服务器保存。
本发明的安全性分析具体如下:
考虑一个失职的云服务商,其承诺对用户敏感数据以封装文件形式进行存储,却想要存储明文F以节省计算代价和管理开销。为了及时响应用户的挑战,云服务商需要存储一些额外的数据信息:
·可验证标签tag
·sd1:用于生成查询表和数据解封装
·sd2:用于数据封装
·查询表集合T:当收到用户挑战时进行实时封装
考虑到前三项的存储开销都较低,为了简单,这里就忽略不计,因此,一个失职的云服务商欺骗用户所花费的存储开销为|F|+|T|-|H|,其中因为一个查询表Ti的大小为比特,查询表集合大小为n倍的Ti。综上分析可知,只要每个明文块Fi大小不超过比特,失职的云服务商就不可能节省存储开销,反而为了响应用户挑战还需要付出较大的计算开销去实施数据封装。
明文块Fi的最大值主要取决于lg和lh的选择,通过选取不同大小的参数,具体的最大值大小如表1所示。
表1为明文块Fi的最大值
l<sub>g</sub>,l<sub>h</sub> | 16,20 | 18,22 | 20,24 | 22,26 | 24,28 |
最大值(MB) | 11 | 55.125 | 267.5 | 1276 | 6000 |
如果失职的云服务商为了节省存储开销而不存储查询表,在机密性验证阶段,为了返回正确的证据给用户,云服务商必须构建与用户挑战相对应的查询表,然而查询表构建过程特别耗时以至于云服务商不能够在一定时间范围内及时响应,从而暴露了自己的失职行为。除此之外,实时生成查询表还会给失职云服务商带来额外的计算和存储开销。当用户频繁地且不定期地发送机密性验证挑战时,失职云服务商所耗费的代价是不可忽视的。
综上所述,本方案迫使失职的云服务器以一种昂贵的、缓慢的和可检测的方式重新计算待检测的封装文件块,这为经济合理的云服务器正确且完整地存储封装文件提供了经济激励,从而保证了本方案的安全性。
与现有技术相比,本发明的积极效果为:
本发明云存储中数据机密性验证方法是一种基于文件封装的数据机密性验证方案。文件封装过程利用了查询表,在保证数据机密性验证可靠性和安全性的前提下,让拥有丰富计算资源的不可信云服务器参负责文件封装的主要过程,大大降低了用户端的计算代价;其次,减少封装过程中的通信开销,增加数据机密性验证方案的实用性,以及提高用户的体验。
附图说明
图1是云存储中机密性验证机制的两方模型示意图;
图2是本发明云存储中数据机密性验证方法的流程图;
图3是查询表生成过程图;
图4是文件封装流程图;
图5是文件解封装流程图;
图6是验证标签生成流程图;
图7是数据机密性验证过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要注意的是,在以下描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将会被忽略。
图1是本发明数据机密性验证机制的两方存储模型。该模型主要由不可信云服务器和有敏感数据外包需求的用户组成。
图2是本发明云存储中数据机密性验证方法的流程图。
在本实施例中,如图2所示,本发明云存储中数据机密性验证方法主要包括步骤S1~S4,具体内容相同,这里就不再赘述。
图3是查询表的生成流程图。
如图3所示,查询数组的产生首先确定系统参数lh和lg,然后利用哈希函数和盐值,生成查询表。具体内容同步骤(2)中的查询表产生过程,在此不再赘述。
图4是密文G封装的流程图。在本实施例中,如图4所示,首先将每个密文数据块Gi分成w个同等大小的小数据块,在每轮封装转换过程中,选取查询表对应子链表中的其中一个元素进行转换,生成封装文件H。
图5是封装文件H解封装的流程图。如图5所示,首先将封装文件分块,利用哈希函数和盐值,进行计算转换即可,具体内容同步骤(4)中的数据读取过程,在此不再赘述。
图6是验证标签tag生成流程图。如图6所示,利用只有用户拥有的密钥sk',用户针对哈希值IH,生成tag验证标签。随后用户将tag上传至不可信云服务器存储。
图7是云存储中数据机密性验证过程示意图。在本实施例中,如图7所示,用户不定期地发送挑战c给不可信云服务器,检测云服务器中是否存储了所要求查询的封装文件块。不可信云服务器接收到挑战c之后,根据所存储的文件产生并返回相应的证据proof。根据响应时间和证据proof,用户可验证proof的正确性从而检测数据的机密性保证,若响应时间满足时间阈值要求且证据proof正确,则证明数据机密性得到了保证,反之,则认为数据机密性没有得到保证。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的研究人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种云存储中数据机密性验证方法,其步骤包括:
1)不可信云服务器接收到用户端上传的外包明文F、种子值sd1和sd2,并对该明文F进行加密生成密文G;其中,该明文F包括n个文件块;
2)该不可信云服务器生成两个安全参数lh、lg,以及将sd1作为种子生成n个互不相同的随机数;针对密文G中的每一文件块Gi,利用所生成的一随机数si作为盐值来构建一个相应的查询表Ti,得到一查询表集合T=(T1,T2,...,Tn);其中,lh>lg;
3)该不可信云服务器利用该查询表集合T=(T1,T2,...,Tn)对该密文G进行封装,生成封装文件H;然后对封装文件H中每个封装文件块进行哈希操作,得到一系列哈希值并将其发送给该用户端;其中
4)该用户端收到哈希值集合IH后,从该外包明文F中随机选取t个明文块并分别对这t个文件块进行加密、封装及哈希计算,生成t个哈希值,然后与IH中对应的哈希值进行比对,若一致则判定该IH正确并进行步骤5),否则判定该IH不正确;
5)该用户端利用IH对该外包明文F中每个文件块生成一机密性可验证标签,然后将标签集合tag上传至该不可信云服务器保存;
6)当需要进行数据机密性验证时,该用户端生成挑战c发送给该不可信云服务器;
7)该不可信云服务器接收到挑战c之后,生成证据proof返回给该用户端;
8)该用户端收到证据proof后,判定响应时间τ是否满足设定的时间阈值,如果满足则进行步骤9),否则判定未通过验证;
9)该用户端对证据proof中的封装文件块重新计算生成标签,若对于挑战c中的每个元素ci,都满足与相等,则判定数据机密性验证通过,否则判定未通过验证;其中,为该用户端对元素ci重新计算生成的标签,为该用户端上传的元素ci的标签。
2.如权利要求1所述的方法,其特征在于,生成所述查询表的方法为:首先新建一个查询表Ti,该查询表Ti包含个空链表和一个拥有个元素的数组Li;然后对于每个字符串计算然后将当前字符串str插入到第u个链表中并更新数组Li中的元素Li[u]=Li[u]+1。
3.如权利要求1所述的方法,其特征在于,生成所述封装文件H的方法为:利用伪随机数发生器,将sd2作为种子,生成一系列随机数{a1,a2,...};初始化u=1,对于每一密文块Gi,将其划分为w个小块,即Gi=(Gi,1,Gi,2,...,Gi,w),每个小块的长度为lg比特,然后对于每一小块Gi,j分别计算各随机数对应的pos=au mod Li[Gi,j]并令Hi,j=Ti[Gi,j][pos],然后将生成的封装文件小块组合生成Hi=(Hi,1,Hi,2,...,Hi,w);然后返回封装文件H=(H1,H2,...,Hn);其中,Li[Gi,j]表示第i个查询表Ti中第Gi,j个链表的长度,Ti[Gi,j][pos]表示第i个查询表Ti中第Gi,j个链表的第pos个元素,mod函数是取模运算。
4.如权利要求1或2或3所述的方法,其特征在于,所述机密性可验证标签为其中,sk'为用户私钥。
5.如权利要求3所述的方法,其特征在于,所述证据proof包括和其中,为不可信云服务器所存储的封装文件块、为用户端所上传的标签。
6.如权利要求1所述的方法,其特征在于,利用公式重新计算元素ci的标签。
7.如权利要求1所述的方法,其特征在于,当该用户端需读取一数据块时,该不可信云服务器首先需要将对应的封装文件块进行解封装,得到相应的密文块,然后解密得到明文块,响应该用户端的查询请求。
8.如权利要求1所述的方法,其特征在于,当该用户端需要对文件块进行更新时,将待更新的文件块上传给该不可信云服务器,然后该不可信云服务器对待更新文件块进行加密、封装并重新生成对应的哈希值,返回给该用户端进行验证,若验证成功则判定更新成功。
9.一种云存储中数据机密性验证系统,其特征在于,包括通过网络连接的不可信服务器和用户端;所述用户端包括初始化模块、标签生成模块、数据机密性验证模块,所述不可信服务器包括数据封装模块;其中,
所述初始化模块,用于用户端生成数据参数sd1和sd2,并将明文F、参数sd1和sd2发送给不可信服务器;
所述数据封装模块,用于不可信云服务器利用共享密钥sk对用户上传的明文F进行加密,生成密文G;利用sd1生成用于数据封装的查询表集合T,以及利用sd2对密文G进行数据封装操作,生成封装文件H;最后针对封装文件H的每个数据块做哈希,生成哈希值集合IH,并将该哈希值集合IH返回给用户端;
所述标签生成模块,用于用户端对所述封装文件H中每一数据块的哈希值,利用用户端私有的密钥sk'生成可验证的标签集合tag;然后将该标签tag上传至不可信云服务器;
所述数据机密性验证模块,用于生成挑战c发送给该不可信云服务器;以及运用密钥sk'对返回的证据进行验证;若该挑战c中所需要验证的各数据块的证据均验证通过,则判定此次数据机密性验证通过,否则判定该明文F的机密性并没有得到保证;其中,该不可信云服务器根据可检索待挑战的封装文件数据块和用户端上传的标签,生成证据,然后将该证据返回给该用户端。
10.如权利要求9所述的系统,其特征在于,还包括一查询模块和一更新模块;所述查询模块,用于当用户端需对数据进行读取访问的时候,用户端生成查询请求发送给该不可信云服务器,该不可信云服务器根据查询请求对用户想访问的数据块进行解封装,得到密文数据块,然后对该密文数据块进行解密得到明文数据块,得到查询结果反馈给该用户端;所述更新模块,用于当用户端需对数据进行更新的时候,用户端生成更新请求发送给该不可信云服务器,该不可信云服务器根据更新请求对用户想更新的数据块重新进行加密和封装操作,得到封装数据块,然后对该封装数据块进行哈希生成哈希值返回给用户端;用户端概率性验证该哈希值的正确性,若正确则重新生成相应的标签上传给不可信云服务器保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112857.5A CN109905230B (zh) | 2019-02-13 | 2019-02-13 | 一种云存储中数据机密性验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112857.5A CN109905230B (zh) | 2019-02-13 | 2019-02-13 | 一种云存储中数据机密性验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905230A true CN109905230A (zh) | 2019-06-18 |
CN109905230B CN109905230B (zh) | 2020-11-03 |
Family
ID=66944851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910112857.5A Expired - Fee Related CN109905230B (zh) | 2019-02-13 | 2019-02-13 | 一种云存储中数据机密性验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905230B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111627539A (zh) * | 2019-11-07 | 2020-09-04 | 福建亿能达信息技术股份有限公司 | 一种职能科室岗位评估系统、设备及介质 |
CN111859412A (zh) * | 2020-06-11 | 2020-10-30 | 中国科学院信息工程研究所 | 一种基于cpor模型的云数据位置公开验证方法及系统 |
CN112422536A (zh) * | 2020-11-06 | 2021-02-26 | 上海计算机软件技术开发中心 | 一种数据机密性检测及判断方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102428686A (zh) * | 2009-05-19 | 2012-04-25 | 安全第一公司 | 用于安全保护云中的数据的系统和方法 |
US20170149796A1 (en) * | 2015-11-25 | 2017-05-25 | Yaron Gvili | Selectivity in privacy and verification with applications |
CN107800688A (zh) * | 2017-09-28 | 2018-03-13 | 南京理工大学 | 一种基于收敛加密的云端数据去重和完整性审计方法 |
US20180254898A1 (en) * | 2017-03-06 | 2018-09-06 | Rivetz Corp. | Device enrollment protocol |
CN108881300A (zh) * | 2018-08-02 | 2018-11-23 | 中国科学院信息工程研究所 | 一种支持手机端安全协作的文件加密和共享方法及系统 |
CN109274504A (zh) * | 2018-11-20 | 2019-01-25 | 桂林电子科技大学 | 一种基于云平台的多用户大数据存储分享方法及系统 |
CN109286490A (zh) * | 2018-08-27 | 2019-01-29 | 西安电子科技大学 | 支持密态数据去重和完整性验证方法及系统 |
-
2019
- 2019-02-13 CN CN201910112857.5A patent/CN109905230B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102428686A (zh) * | 2009-05-19 | 2012-04-25 | 安全第一公司 | 用于安全保护云中的数据的系统和方法 |
US20170149796A1 (en) * | 2015-11-25 | 2017-05-25 | Yaron Gvili | Selectivity in privacy and verification with applications |
US20180254898A1 (en) * | 2017-03-06 | 2018-09-06 | Rivetz Corp. | Device enrollment protocol |
CN107800688A (zh) * | 2017-09-28 | 2018-03-13 | 南京理工大学 | 一种基于收敛加密的云端数据去重和完整性审计方法 |
CN108881300A (zh) * | 2018-08-02 | 2018-11-23 | 中国科学院信息工程研究所 | 一种支持手机端安全协作的文件加密和共享方法及系统 |
CN109286490A (zh) * | 2018-08-27 | 2019-01-29 | 西安电子科技大学 | 支持密态数据去重和完整性验证方法及系统 |
CN109274504A (zh) * | 2018-11-20 | 2019-01-25 | 桂林电子科技大学 | 一种基于云平台的多用户大数据存储分享方法及系统 |
Non-Patent Citations (4)
Title |
---|
HONGMING CAI: "《IoT-Based Big Data Storage Systems in Cloud Computing: Perspectives and Challenges》", 《IEEE INTERNET OF THINGS JOURNAL》 * |
KEJI HU: "《Efficient Verification of Data Encryption on Cloud Servers》", 《2014 TWELFTH ANNUAL CONFERENCE ON PRIVACY, SECURITY AND TRUST (PST)》 * |
WEI WANG: "《Cloud-Assisted Key Distribution in Batch for Secure Real-Time Mobile Services》", 《IEEE TANSACTIONS ON SERVICES COMPUTING》 * |
杨健: "《移动云计算环境中基于代理的可验证数据存储方案》", 《计算机应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111627539A (zh) * | 2019-11-07 | 2020-09-04 | 福建亿能达信息技术股份有限公司 | 一种职能科室岗位评估系统、设备及介质 |
CN111859412A (zh) * | 2020-06-11 | 2020-10-30 | 中国科学院信息工程研究所 | 一种基于cpor模型的云数据位置公开验证方法及系统 |
CN112422536A (zh) * | 2020-11-06 | 2021-02-26 | 上海计算机软件技术开发中心 | 一种数据机密性检测及判断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109905230B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Privacy-preserving attribute-keyword based data publish-subscribe service on cloud platforms | |
US8688973B2 (en) | Securing communications sent by a first user to a second user | |
Garg et al. | RITS-MHT: Relative indexed and time stamped Merkle hash tree based data auditing protocol for cloud computing | |
CN108494768A (zh) | 一种支持访问控制的密文搜索方法及系统 | |
CN109194466A (zh) | 一种基于区块链的云端数据完整性检测方法及系统 | |
CN104967693B (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN104158827B (zh) | 密文数据共享方法、装置、查询服务器和上传数据客户端 | |
CN109905230A (zh) | 一种云存储中数据机密性验证方法及系统 | |
Zhang et al. | Multi-server assisted data sharing supporting secure deduplication for metaverse healthcare systems | |
Sibert et al. | Entity authentication schemes using braid word reduction | |
Li et al. | Privacy-preserving data utilization in hybrid clouds | |
CN111107094B (zh) | 轻量级地面向医疗物联网的大数据共享系统 | |
CN106850228A (zh) | 一种便携式智能口令管理体制的建立与操作方法 | |
CN107423637B (zh) | 支持云上电子病历数据可追踪的完整性审计方法 | |
CN108171066A (zh) | 一种医疗云中隐私保护下的关键词跨域搜索方法及系统 | |
CN106936579A (zh) | 基于可信第三方代理的云存储数据存储及读取方法 | |
CN104901968B (zh) | 一种安全云存储系统中的密钥管理分发方法 | |
CN108123934A (zh) | 一种面向移动端的数据完整性校验方法 | |
US20140237252A1 (en) | Techniques for validating data exchange | |
CN113347143B (zh) | 一种身份验证方法、装置、设备及存储介质 | |
Jiang et al. | Location-based data access control scheme for Internet of Vehicles | |
CN109274504B (zh) | 一种基于云平台的多用户大数据存储分享方法及系统 | |
Hu et al. | Public-key encryption for protecting data in cloud system with intelligent agents against side-channel attacks | |
JP5651609B2 (ja) | 検索可能暗号システム、検索装置、計算装置、及びプログラム | |
CN115906149A (zh) | 基于有向无环图的kp-abe及区块链的用户数据可信共享方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201103 Termination date: 20210213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |