CN115879136B - 云端数据保护方法 - Google Patents

云端数据保护方法 Download PDF

Info

Publication number
CN115879136B
CN115879136B CN202310091359.3A CN202310091359A CN115879136B CN 115879136 B CN115879136 B CN 115879136B CN 202310091359 A CN202310091359 A CN 202310091359A CN 115879136 B CN115879136 B CN 115879136B
Authority
CN
China
Prior art keywords
data
user
storage server
cloud storage
value
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.)
Active
Application number
CN202310091359.3A
Other languages
English (en)
Other versions
CN115879136A (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.)
Puhuizhizao Technology Co ltd
Original Assignee
Puhuizhizao Technology Co ltd
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 Puhuizhizao Technology Co ltd filed Critical Puhuizhizao Technology Co ltd
Priority to CN202310091359.3A priority Critical patent/CN115879136B/zh
Publication of CN115879136A publication Critical patent/CN115879136A/zh
Application granted granted Critical
Publication of CN115879136B publication Critical patent/CN115879136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

云端数据保护方法,属于数据保护方法技术领域,包含三个角色:云端储存服务器、首次使用者和二次使用者;包括四个阶段:设置阶段、资料储存验证阶段、资料所有权验证阶段和解密阶段;二次使用者,是宣称拥有相同资料的使用者,欲上传已存在于云端储存服务器的机密文件,由云端储存服务器对二次使用者进行资料完整性验证,二次使用者需计算证明值给云端储存服务器证明自己确实拥有完整机密文件,待二次使用者通过验证后,无需再次上传机密文件且承认二次使用者同为资料拥有者。本方案,配置有云端服务器验证使用者的机制,避免攻击者利用重复数据删除技术得知或窃取储存于云端储存服务器中的机密数据。

Description

云端数据保护方法
技术领域
本发明属于数据保护方法技术领域,特别涉及云端数据保护方法。
背景技术
云端,存储有庞大的数据量,容易导致服务器储存空间的严重消耗,以及因为数据传递的网络频宽耗用等问题。为了解决上述问题,现有技术提供了许多重复数据删除的方法。
如公开号为CN110019052A的中国专利,公开了一种分布式重复数据删除的方法,其采用的重复数据删除方法的原理如下:数据经过哈希算法分割运算过后,可产生唯一且不碰撞的哈希值,再进行哈希值比对,如遇重复的哈希值,储存服务器则会给予一个连结并指向储存服务器中已储存的数据,同时记录原始数据与指向的连结。若哈希值未重复,则表示储存服务器从未储存过相关信息,将要求上传完成数据做储存。该方法,先比对哈希值再决定是否储存完整数据,可有效减少储存重复性数据,进而节省储存空间与数据传输时网络频宽的耗用。
但是,该方法存在以下不足:
1,该方法存在使用者的数据机密性、完整性的疑虑。云端储存服务器,无法辨别上传哈希值的使用者是否为数据真正的拥有者,也无法辨别其是否拥有完整性数据。
2,该方法存在使用者的数据安全性的疑虑。攻击者知道云端储存服务器无法确认拥有哈希值的使用者是否拥有完整数据的漏洞,因此给了攻击者一个机会,只要攻击者有能力获取或伪造机密性数据的哈希值,反覆上传哈希值至云端储存服务器进行测试,直到测试成功,使云端储存服务器视同攻击者为该数据的所有人,从而得到下载数据的权限。此外,另一项安全性的漏洞在于上述攻击的数据文件均以明文的型态储存于云端储存服务器中,故让攻击者可以通过窃取或伪造等方式,成功欺骗云端储存服务器,损害使用者的隐私。
3,该方法缺少云端数据完整性的验证机制。云端储存服务器,可能会为了自己的利益,将数据储存时发生的错误隐藏起来,不告知使用者数据已损坏或遗失。更严重的可能是云端储存供应商为了节省成本和储存空间,故意删除许久未存取的数据,造成使用者重要数据的遗失。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供云端数据保护方法。
为了达到上述目的,本发明采取了以下的技术方案。
云端数据保护方法,采用的系统包含三个角色:云端储存服务器、首次使用者和二次使用者,包括以下步骤:
步骤S1,设置阶段:首次使用者,将明文资料分割成有序的区块,然后扩展成相同的两份分割资料,此时,第一份分割资料中的区块和第二份分割资料中的对应序号的区块,内容相同;然后,对第一份分割资料进行第一层加密得到第一层加密资料,对第二份分割资料计算区块标签值;首次使用者,将第一层加密资料和区块标签值上传至云端储存服务器端;
步骤S2,资料储存验证阶段:首次使用者,随机选择验证区块,向云端储存服务器提出验证请求,云端储存服务器向首次使用者反馈证明值;首次使用者,验证其证明值,若通过验证则确认云端储存服务器存储的资料的完整性;
步骤S3,资料所有权验证阶段:二次使用者,上传已存在于云端储存服务器的资料,由云端储存服务器对二次使用者进行资料完整性验证,若通过验证则确认二次使用者同为具有完整资料的所有人;
步骤S4,解密阶段:二次使用者,向云端储存服务器提出下载资料的请求;云端储存服务器,通过首次使用者产生重加密密钥对第一层加密资料进行重加密转换为第二层加密资料,然后将第二层加密资料传送给二次使用者;二次使用者通过二次使用者加密私钥解密得到明文资料。
进一步,步骤S1包括:
步骤S101,系统初始化:
系统设定G1为加法循环群,其生成子为g,其阶为质数q;G2为一椭圆曲线乘法循环群,其阶为质数q,则存在一线性映射函数e:G1×G1→G2;令e(ga, gb) = e(g, g)ab,其中a,b∈Zq*,Zq*表示1~(q-1)范围内的整数;令a为加密私钥,ga为加密公钥,b为二次使用者加密私钥;gb为二次使用者加密公钥;
步骤S102,首次使用者,先将自己的明文资料F做哈希运算,产生资料哈希值h(F)并将该资料哈希值h(F)传送到云端储存服务器;云端储存服务器,检查资料哈希值h(F)和自身的数据库中存储的哈希值是否重复:若无重复,则传送上传资料的消息给首次使用者;否则,执行步骤S3的资料所有权验证阶段,将首次使用者转化为二次使用者;
步骤S103,首次使用者收到上传资料的消息后,将明文资料F分割成有序的区块,即F=(m1,…mi…,mn),其中mi为第i个区块,n为区块总数,然后扩展成容量大小相等的两份分割资料,第一份分割资料做加密使用,得到第一层加密资料Ca,第二份分割资料计算每个区块的区块哈希值mn'和区块标签值Tmi’并将区块进行签章σ做验证使用;
步骤S104,首次使用者,将第一层加密资料Ca、区块哈希值mn'、区块标签值Tmi’、签章σ和哈希私钥k一同上传至云端储存服务器;令整份上传资料{Ca、mn'、Tmi’、σ、k}的索引值为h(F)||R,将索引值上传至云端储存服务器,其中,h为哈希函数,R为默克尔哈希树输出的顶点值;
步骤S105,云端储存服务器,验证首次使用者上传的签章σ,若签章σ正确,云端储存服务器储存来自首次使用者的第一层加密资料Ca、区块哈希值mn'、区块标签值Tmi’和哈希私钥k;否则,丢弃首次使用者上传的资料并将验证结果反馈给首次使用者。
进一步,步骤S103中:对于第一份分割资料,计算第一层加密资料Ca={Ca,1,…Ca,i,…Ca,n},其中Ca,i=(Zr∙mi,gar),表示第一层加密资料Ca的第i个加密区块,其中,Z表示派生函数且Z=e(g,g)∈G2;r为随机数且r∈Zq*;
对于第二份分割资料,计算每个区块的标签值并将资料进行签章:
(1),计算每区块的哈希值F'=(m1',…mi',…,mn'),其中,区块哈希值mi'为对应区块mi的哈希值;
(2),随机选择一把哈希私钥k计算两两独立哈希函数,所得到的哈希区块作为默克尔哈希树的输入值,计算后输出一个顶点值R;
(3),计算中间值ti=(R||i);
(4),计算区块标签值Tmi’=(H(ti)umi’)k,其中H是抗碰撞哈希函数,u为G1的生成值,其阶为q;
(5),首次使用者,利用签章私钥s对明文资料的名称name与区块m做签章动作:签章σ←(name||n||sign(name||m))。
进一步,步骤S2包括:
骤S201,首次使用者,随机选择第j个区块作为验证区块c,然后通过随机数函数α的随机密钥k2、随机数排序β的随机密钥k1产生验证区块c的区块索引ijk1(j)和区块系数bj=αk2(j),将验证信息(c、ij、bj)传输给云端储存服务器;
步骤S202,云端储存服务器,以首次使用者指定的验证区块c计算证明值V=(T、W),并将证明值V回传给首次使用者;其中,
中间值
Figure SMS_1
中间值
Figure SMS_2
步骤S203,首次使用者,验证其证明值V,即:
Figure SMS_3
其中,K为哈希公钥且K=gk;如果通过验证,则证明该资料完整储存在云端储存服务器,并反馈给云端储存服务器;否则,表示该资料未完整储存在云端储存服务器,并反馈给云端储存服务器。
进一步,步骤S301,二次使用者,先将待上传的资料,做哈希运算产生资料哈希值并传送到云端储存服务器;
步骤S302,云端储存服务器,检查资料哈希值和自身的数据库中存储的哈希值是否重复:若重复,表示资料已经存在,云端储存服务器随机选择验证区块D,并将已经使用资料加密的哈希密钥Enc(F,k),一同作为验证请求消息传送给二次使用者;否则,转步骤S1,将二次使用者转化为首次使用者;
步骤S303,二次使用者,利用待上传的资料解开使用资料加密的哈希密钥k,计算成对独立哈希函数,并将输出值做为默克尔哈希树的输入值,求出顶点值R;然后计算证明值τ'=H(ti'),其中,中间值ti'=(R||i);并将证明值τ'传送给云端储存服务器;
云端储存服务器,计算µ'=umi',验证其证明值τ',即:
Figure SMS_4
若验证通过,表示二次使用者同为具有完整资料的所有人,转到步骤S304;否则,验证失败,云端储存服务器拒绝二次使用者的服务请求;
步骤S304,二次使用者删除本地端的对应资料,云端储存服务器请求首次使用者计算重加密密钥REkey=g(b/a);首次使用者将重加密密钥REkey传送给云端储存服务器。
进一步,步骤S401,二次使用者,向云端储存服务器提出下载资料的请求;
步骤S402,云端储存服务器,通过重加密密钥REkey对第一层加密资料Ca={Ca,1,…Ca,i,…Ca,n}进行重加密,其中,Ca,i=(Zr∙mi,gar),因为派生函数Z=e(g,g),所以e(gar,gb/a)=Zbr,计算得到第二层加密资料Cb={Cb,1,…Cb,i,…Cb,n},其中,Cb,i=(Zr∙mi,Zbr),其表示第二层加密资料Cb的第i个加密区块;
步骤S403,云端储存服务器,将第二层加密资料Cb传送给二次使用者;
步骤S404,二次使用者,利用二次使用者加密私钥b对Cb解密得到明文资料F:
F=(m1,…mi…,mn),其中,
Figure SMS_5
本方案,先验证使用者数据完整性,然后通过加密机制,让使用者之间可以不通过共享加密密钥,而是利用自己的私钥就能解开密文数据,发挥重复数据删除方法的节省频宽及储存空间的有益效果;其具有以下优点:
1,本方案,配置有云端服务器验证使用者的机制,避免攻击者利用重复数据删除技术得知或窃取储存于云端储存服务器中的资料。
2,本方案,配置有使用者验证云端服务器的机制,确保数据完整且安全的储存于云端储存服务器中。
3,因资料是由首次使用者加密后储存在云端储存服务器,若合法且有相同的二次使用者欲下载资料,则通过首次使用者计算重加密密钥,再将重加密密钥交由云端储存服务器做密文重加密计算,让二次使用者可以使用自己的私钥解开密文,攻击者难以短时间内解决解离散对数问题,从而保证资料的保密性。
附图说明
图1是本方案的流程图。
具体实施方式
下面结合附图,对本发明作进一步说明。
云端数据保护方法,采用的系统包含三个角色:云端储存服务器、首次使用者、二次使用者。
云端储存服务器,负责进行验证、计算第二层加密资料与加密资料储存。
首次使用者,是第一个将资料上传,并协助云端储存服务器计算重加密密钥。
二次使用者,是拥有相同资料的使用者,上传已存在于云端储存服务器的资料,由云端储存服务器对二次使用者进行资料完整性验证,二次使用者计算证明值并发送给云端储存服务器证明自身确实拥有完整资料,待二次使用者通过验证后,无需再次上传资料。
图1是本方案的流程图。如图1所示,云端数据保护方法,包括以下步骤:
步骤S1,设置阶段:系统初始化后,首次使用者将资料储存至云端储存服务器。
步骤S101,系统初始化。
系统设定G1为加法循环群,g为其生成子,其阶为质数q,G2为一椭圆曲线乘法循环群,其阶为质数q,则存在一线性映射函数e:G1×G1→G2
令e(ga, gb) = e(g, g)ab,其中a,b∈Zq*,Zq*表示1~(q-1)范围内的整数;
令派生函数Z=e(g,g)∈G2;随机数r∈Zq*;h是哈希函数;H是抗碰撞哈希函数。
令α为随机数函数,即Zq*×{1,2, … , n}→Zq*;
令β为随机数排序,即Z*×{1,2, … , n}→{1,2, … , n};Z*表示非0的整数;
设k1为随机数排序的随机密钥,且k1∈Zq*;
设k2为随机数函数的随机密钥,且k2∈Zq*;
令u为G1的生成值,其阶为q;
令{a,k,s}∈Zq*;其中,a为加密私钥,k为哈希私钥,s为签章私钥;
令A=ga,K=gk,S=gs;其中,A为加密公钥,K为哈希公钥,S为签章公钥;
令二次使用者加密私钥为b∈Zq*;
令二次使用者加密公钥为gb
步骤S102,首次使用者,先将自己的明文资料F做哈希运算,产生资料哈希值h(F)并将该资料哈希值h(F)传送到云端储存服务器;云端储存服务器,检查资料哈希值h(F)和自身的数据库中存储的哈希值是否重复:若无重复,则传送上传资料的消息给首次使用者;否则,执行步骤S3的资料所有权验证阶段,将首次使用者转化为二次使用者。
步骤S103,首次使用者收到上传资料的消息后,将明文资料F分割成有序的区块,即F=(m1,…mi…,mn),其中mi为第i个区块,n为区块总数,然后扩展成容量大小相等的两份分割资料,第一份分割资料做加密使用,得到第一层加密资料Ca,第二份分割资料计算每个区块的区块哈希值mn'和区块标签值Tmi’并将区块进行签章σ做验证使用。
对于第一份分割资料F=(m1,…mi…,mn),其中mi为第i个区块,n为区块总数;计算第一层加密资料Ca={Ca,1,…Ca,i,…Ca,n},其中Ca,i=(Zr∙mi,gar),表示第一层加密资料Ca的第i个加密区块;
对于第二份分割资料F=(m1,…mi…,mn),计算每个区块的标签值并将资料进行签章:
(1),计算每区块的哈希值F'=(m1',…mi',…,mn'),其中,F'表示区块哈希值的集合,区块哈希值mi'为对应区块mi的哈希值。
(2),随机选择一把哈希私钥k计算两两独立哈希函数,所得到的哈希区块作为默克尔哈希树的输入值,计算后输出一个顶点值R。
(3),计算中间值ti=(R||i)。
(4),计算区块标签值Tmi’=(H(ti)umi’)k
(5),首次使用者,利用签章私钥s对资料的名称name与区块m做签章动作:签章σ←(name||n||sign(name||m))。
步骤S104,首次使用者,将第一层加密资料Ca、区块哈希值mn'、区块标签值Tmi’、签章σ和哈希私钥k一同上传至云端储存服务器;令整份上传资料{Ca、mn'、Tmi’、σ、k}的索引值为h(F)||R,将索引值上传至云端储存服务器。
步骤S105,云端储存服务器,验证首次使用者给的签章σ,若签章σ正确,云端储存服务器储存来自首次使用者的第一层加密资料Ca、区块哈希值mn'、区块标签值Tmi’和哈希私钥k;否则,丢弃首次使用者上传的资料并将验证结果反馈给首次使用者。
签章机制,为常规手段,例如可以采用公开号为CN104376252A的《一种基于数字签章代码的内容验证方法》。本方案通过签章机制来验证首次使用者具有资料的存储资格。
步骤S2,资料储存验证阶段:首次使用者向云端储存服务器提出验证请求,以确认云端储存服务器存储的资料的完整性。
步骤S201,首次使用者,随机选择验证区块c,来验证云端储存服务器是否真实的储存对应资料。
首次使用者,随机选择第j个区块作为验证区块c,然后通过随机数函数α的随机密钥k2、随机数排序β的随机密钥k1产生验证区块c的区块索引ijk1(j)和区块系数bj=αk2(j),将验证信息(c、ij、bj)传输给云端储存服务器。
步骤S202,云端储存服务器,以首次使用者指定的验证区块c计算证明值V;并将证明值V回传给首次使用者。
证明值V=(T、W),其中,
中间值
Figure SMS_6
中间值
Figure SMS_7
步骤S203,首次使用者,验证其证明值V,即:
Figure SMS_8
如果通过验证,则证明该资料完整储存在云端储存服务器,并反馈给云端储存服务器;否则,表示该资料未完整储存在云端储存服务器,并反馈给云端储存服务器。
步骤S3,资料所有权验证阶段:云端储存服务器向二次使用者提出验证请求,以确认二次使用者同为具有完整资料的所有人。
步骤S301,二次使用者,先将待上传的资料,做哈希运算产生资料哈希值并传送到云端储存服务器。
步骤S302,云端储存服务器,检查资料哈希值和自身的数据库中存储的哈希值是否重复:若重复,表示资料已经存在,由于云端储存服务器无法确认二次使用者是合法拥有完整资料的使用者或者是没有完整资料的恶意攻击者,因此,云端储存服务器,随机选择验证区块D,并将已经使用资料加密的哈希密钥Enc(F,k),一同作为验证请求消息传送给二次使用者;否则,转步骤S1,将二次使用者转化为首次使用者。
步骤S303,二次使用者,利用待上传的资料解开使用资料加密的哈希密钥k,计算成对独立哈希函数,并将输出值做为默克尔哈希树的输入值,求出顶点值R;然后计算证明值τ'=H(ti'),其中,中间值ti'=(R||i);并将证明值τ'传送给云端储存服务器;
云端储存服务器,计算µ'=umi',验证其证明值τ',即:
Figure SMS_9
若验证通过,表示二次使用者同为具有完整资料的所有人,转到步骤S304;否则,验证失败,云端储存服务器拒绝二次使用者的服务请求。
步骤S304,二次使用者删除本地端的对应资料,云端储存服务器请求首次使用者计算重加密密钥REkey=g(b/a),首次使用者将重加密密钥传送给云端储存服务器。
步骤S4,解密阶段:
步骤S401,二次使用者,向云端储存服务器提出下载资料的请求。
步骤S402,云端储存服务器,通过重加密密钥REkey对第一层加密资料Ca={Ca,1,…Ca,i,…Ca,n}进行重加密,其中,Ca,i=(Zr∙mi,gar),因为派生函数Z=e(g,g),所以e(gar,gb/a)=Zbr,计算得到第二层加密资料Cb={Cb,1,…Cb,i,…Cb,n},其中,Cb,i=(Zr∙mi,Zbr),其表示第二层加密资料Cb的第i个加密区块。
步骤S403,云端储存服务器,将第二层加密资料Cb传送给二次使用者。
步骤S404,二次使用者,利用二次使用者加密私钥b对Cb解密得到明文资料F:
F=(m1,…mi…,mn),其中,
Figure SMS_10
当二次使用者欲下载加密资料,云端储存服务器利用重加密密钥对首次使用者所储存的第一层加密资料Ca做第二次加密,将产生出来的第二层加密资料Cb给二次使用者,二次使用者通过自己的私钥解密得明文资料F,且云端储存服务器无法从中得知加密资料的内文,二次使用者也无需分享自己的私钥给其他使用者。
保密性分析:
首次使用者在资料上传至云端储存服务器之前对资料进行第一层加密,得到第一层加密资料并上传至云端储存服务器端。第一层加密资料只有首次使用者可以解密。由首次使用者产生重加密密钥,云端储存服务器利用重加密密钥将第一层加密资料加密转换为第二层加密资料。二次使用者可通过自己的私钥密得到资料。本方案的安全性在于解离散对数问题,即使攻击者知道g,ga,gb,在有效的时间内也难以算出g(1/a)、g(b/a)、g(a/b),从而保证资料的保密性。
完整性分析:
在资料储存验证阶段时,首次使用者想验证其加密资料是否完整的储存在云端储存服务器上,因此首次使用者向云端储存服务器提出验证请求,云端储存服务器再回传证明值V给首次使用者进行验证,以确保资料是完整的储存在云端储存服务器上。
此时,云端储存服务器计算:证明值V=(T、W),其中,
中间值
Figure SMS_11
中间值
Figure SMS_12
首次使用者,验证证明值:
Figure SMS_13
二次使用者,想要骗取资料时,云端储存服务器向二次使用者提出验证请求,确认二次使用者资料的完整性。
此时,二次使用者利用待上传的资料解开使用资料加密的哈希密钥k,计算成对独立哈希函数,并将输出值做为默克尔哈希树的输入值,求出顶点值R;然后计算证明值τ'=H(ti'),其中,中间值ti'=(R||i);并将证明值τ'传送给给云端储存服务器;
云端储存服务器,计算中间值µ'=umi',验证证明值:
Figure SMS_14
确认性分析:
在设置阶段中,首次使用者,利用签章私钥对资料的名称name与区块m做签章动作:签章σ←(name||n||sign(name||m))。在每次的资料储存验证阶段之前,云端储存服务器会先验证首次使用者的签章是否有效,若签章无效,则拒绝或中止服务,若首次使用者签章有效,则产生资料储存验证阶段,接续验证动作。
举例,简易说明本方案。本实施例,基于计算开销,省略了通过验证来进行确权的步骤S2和步骤S3,以及通过索引值来进行数据定位的内容:
设置阶段:系统设置有:
加密私钥a:0:JKwy+rxGu+BvaZ0cKgV/alsfYfhZoVNm63CrCvL/faI=;
加密公钥A:1:A5NZVIEGQgao/knbwDbR4cNaxHQwkJCRWUJDCm8vQCJe;
二次使用者加密私钥b:0:otOz8XATKx1rX+Ypp+/2NDw2ej7n+TUx8rBTKRm7KtI=;
令待上传的明文资料F:Hello world。
首次使用者,资料进行第一层加密得到第一层加密资料Ca:\x92\xda\x00.1:Aw3nUfn9bNTfCtG0KPkaugzDGKlN3a/Gq0MH3uaAMBkp\xda\x00.1:A3qkvzG47dt5xiODccILFPbLw8CaTZsPlUbJoKbegl/T。
如果对于第一层加密资料Ca,直接使用二次使用者加密私钥b进行解密,则得到:\x94_\xf3W\xb5aX8。因此,无法通过二次使用者加密私钥b,直接对第一层加密资料Ca进行解密,保证了数据的保密性。
解密阶段:云端储存服务器,通过首次使用者产生重加密密钥REkey:(a, b)对第一层加密资料进行重加密转换为第二层加密资料Cb:\x92\xda\x00.1:AyafJONHL/ZgrkwKFzFQtEnr8Em5k9hxP/ICzAGCNm4I\xda\x00.1:A3qkvzG47dt5xiODccILFPbLw8CaTZsPlUbJoKbegl/T。
然后将第二层加密资料传送给二次使用者;二次使用者通过二次使用者加密私钥b解密得到明文资料F:Hello world。加解密成功。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (1)

1.云端数据保护方法,采用的系统包含三个角色:云端储存服务器、首次使用者和二次使用者,其特征在于,包括以下步骤:
步骤S1,设置阶段:首次使用者,将明文资料分割成有序的区块,然后扩展成相同的两份分割资料,此时,第一份分割资料中的区块和第二份分割资料中的对应序号的区块,内容相同;然后,对第一份分割资料进行第一层加密得到第一层加密资料,对第二份分割资料计算区块标签值;首次使用者,将第一层加密资料和区块标签值上传至云端储存服务器端;
步骤S2,资料储存验证阶段:首次使用者,随机选择验证区块,向云端储存服务器提出验证请求,云端储存服务器向首次使用者反馈证明值;首次使用者,验证其证明值,若通过验证则确认云端储存服务器存储的资料的完整性;
步骤S3,资料所有权验证阶段:二次使用者,上传已存在于云端储存服务器的资料,由云端储存服务器对二次使用者进行资料完整性验证,若通过验证则确认二次使用者同为具有完整资料的所有人;
步骤S4,解密阶段:二次使用者,向云端储存服务器提出下载资料的请求;云端储存服务器,通过首次使用者产生重加密密钥对第一层加密资料进行重加密转换为第二层加密资料,然后将第二层加密资料传送给二次使用者;二次使用者通过二次使用者加密私钥解密得到明文资料;
步骤S1包括:
步骤S101,系统初始化:系统设定加密私钥、加密公钥、二次使用者加密私钥、二次使用者加密公钥和哈希私钥
Figure QLYQS_1
步骤S102,首次使用者,先将自己的明文资料
Figure QLYQS_2
做哈希运算,产生资料哈希值/>
Figure QLYQS_3
并将该资料哈希值/>
Figure QLYQS_4
传送到云端储存服务器;云端储存服务器,检查资料哈希值
Figure QLYQS_5
和自身的数据库中存储的哈希值是否重复:若无重复,则传送上传资料的消息给首次使用者;否则,执行步骤S3的资料所有权验证阶段,将首次使用者转化为二次使用者;
步骤S103,首次使用者收到上传资料的消息后,将明文资料
Figure QLYQS_7
分割成有序的区块,即
Figure QLYQS_9
,其中/>
Figure QLYQS_11
为第/>
Figure QLYQS_8
个区块,/>
Figure QLYQS_12
为区块总数,然后扩展成容量大小相等的两份分割资料,第一份分割资料做加密使用,得到第一层加密资料/>
Figure QLYQS_13
,第二份分割资料计算每个区块的区块哈希值/>
Figure QLYQS_14
和区块标签值/>
Figure QLYQS_6
并将区块进行签章/>
Figure QLYQS_10
做验证使用;
步骤S104,首次使用者,将第一层加密资料
Figure QLYQS_16
、区块哈希值/>
Figure QLYQS_19
、区块标签值/>
Figure QLYQS_21
、签章/>
Figure QLYQS_17
和哈希私钥/>
Figure QLYQS_20
一同上传至云端储存服务器;令整份上传资料
Figure QLYQS_22
的索引值为/>
Figure QLYQS_23
,将索引值上传至云端储存服务器,其中,/>
Figure QLYQS_15
为哈希函数,/>
Figure QLYQS_18
为默克尔哈希树输出的顶点值;
步骤S105,云端储存服务器,验证首次使用者上传的签章
Figure QLYQS_24
,若签章/>
Figure QLYQS_25
正确,云端储存服务器储存来自首次使用者的第一层加密资料/>
Figure QLYQS_26
、区块哈希值/>
Figure QLYQS_27
、区块标签值/>
Figure QLYQS_28
和哈希私钥/>
Figure QLYQS_29
;否则,丢弃首次使用者上传的资料并将验证结果反馈给首次使用者;
步骤S101中:系统设定
Figure QLYQS_32
为加法循环群,其生成子为/>
Figure QLYQS_34
,其阶为质数/>
Figure QLYQS_38
;设定/>
Figure QLYQS_33
为一椭圆曲线乘法循环群,其阶为质数/>
Figure QLYQS_36
,则存在一线性映射函数/>
Figure QLYQS_41
;令
Figure QLYQS_43
,其中/>
Figure QLYQS_30
,/>
Figure QLYQS_35
表示/>
Figure QLYQS_39
范围内的整数;令/>
Figure QLYQS_42
为加密私钥,/>
Figure QLYQS_31
为加密公钥,/>
Figure QLYQS_37
为二次使用者加密私钥,/>
Figure QLYQS_40
为二次使用者加密公钥;
步骤S103中:对于第一份分割资料,计算第一层加密资料
Figure QLYQS_44
,其中/>
Figure QLYQS_47
,其表示第一层加密资料/>
Figure QLYQS_48
的第/>
Figure QLYQS_46
个加密区块,/>
Figure QLYQS_49
表示派生函数且/>
Figure QLYQS_50
;/>
Figure QLYQS_51
为随机数且/>
Figure QLYQS_45
对于第二份分割资料,计算每个区块的标签值并将资料进行签章:
(1),计算每区块的哈希值
Figure QLYQS_52
,其中,/>
Figure QLYQS_53
表示区块哈希值的集合,区块哈希值/>
Figure QLYQS_54
为对应区块/>
Figure QLYQS_55
的哈希值;
(2),随机选择一把哈希私钥
Figure QLYQS_56
计算两两独立哈希函数,所得到的哈希区块作为默克尔哈希树的输入值,计算后输出一个顶点值/>
Figure QLYQS_57
(3),计算中间值
Figure QLYQS_58
(4),计算区块标签值
Figure QLYQS_59
,其中/>
Figure QLYQS_60
是抗碰撞哈希函数,/>
Figure QLYQS_61
Figure QLYQS_62
的生成值,其阶为/>
Figure QLYQS_63
(5),首次使用者,利用签章私钥s对明文资料的名称
Figure QLYQS_64
与区块/>
Figure QLYQS_65
做签章动作:签章/>
Figure QLYQS_66
步骤S2包括:
步骤S201,首次使用者,随机选择第
Figure QLYQS_69
个区块作为验证区块/>
Figure QLYQS_72
,然后通过随机数函数/>
Figure QLYQS_73
的随机密钥/>
Figure QLYQS_68
、随机数排序/>
Figure QLYQS_70
的随机密钥/>
Figure QLYQS_74
产生验证区块/>
Figure QLYQS_76
的区块索引/>
Figure QLYQS_67
和区块系数/>
Figure QLYQS_71
,将验证信息/>
Figure QLYQS_75
传输给云端储存服务器;
步骤S202,云端储存服务器,以首次使用者指定的验证区块
Figure QLYQS_77
计算证明值
Figure QLYQS_78
,并将证明值/>
Figure QLYQS_79
回传给首次使用者;其中,
中间值
Figure QLYQS_80
中间值
Figure QLYQS_81
;/>
步骤S203,首次使用者,验证其证明值
Figure QLYQS_82
,即:
Figure QLYQS_83
其中,
Figure QLYQS_84
为哈希公钥且/>
Figure QLYQS_85
;如果通过验证,则证明该资料完整储存在云端储存服务器,并反馈给云端储存服务器;否则,表示该资料未完整储存在云端储存服务器,并反馈给云端储存服务器;
步骤S3包括:
步骤S301,二次使用者,先将待上传的资料,做哈希运算产生资料哈希值并传送到云端储存服务器;
步骤S302,云端储存服务器,检查资料哈希值和自身的数据库中存储的哈希值是否重复:若重复,表示资料已经存在,云端储存服务器随机选择验证区块
Figure QLYQS_86
,并将已经使用资料加密的哈希密钥/>
Figure QLYQS_87
,一同作为验证请求消息传送给二次使用者;否则,转步骤S1,将二次使用者转化为首次使用者;
步骤S303,二次使用者,利用待上传的资料解开使用资料加密的哈希密钥
Figure QLYQS_88
,计算成对独立哈希函数,并将输出值做为默克尔哈希树的输入值,求出顶点值/>
Figure QLYQS_89
;然后计算证明值
Figure QLYQS_90
,其中,中间值/>
Figure QLYQS_91
;并将证明值/>
Figure QLYQS_92
传送给云端储存服务器;
云端储存服务器,计算中间值
Figure QLYQS_93
,验证其证明值/>
Figure QLYQS_94
,即:
Figure QLYQS_95
若验证通过,表示二次使用者同为具有完整资料的所有人,转到步骤S304;否则,验证失败,云端储存服务器拒绝二次使用者的服务请求;
步骤S304,二次使用者删除本地端的对应资料,云端储存服务器请求首次使用者计算重加密密钥
Figure QLYQS_96
;首次使用者将重加密密钥/>
Figure QLYQS_97
传送给云端储存服务器;
步骤S4包括:
步骤S401,二次使用者,向云端储存服务器提出下载资料的请求;
步骤S402,云端储存服务器,通过重加密密钥
Figure QLYQS_100
对第一层加密资料
Figure QLYQS_102
进行重加密,其中,/>
Figure QLYQS_105
,因为派生函数/>
Figure QLYQS_99
,所以/>
Figure QLYQS_101
,计算得到第二层加密资料
Figure QLYQS_104
,其中,/>
Figure QLYQS_106
,其表示第二层加密资料/>
Figure QLYQS_98
的第/>
Figure QLYQS_103
个加密区块;
步骤S403,云端储存服务器,将第二层加密资料
Figure QLYQS_107
传送给二次使用者;/>
步骤S404,二次使用者,利用二次使用者加密私钥
Figure QLYQS_108
对/>
Figure QLYQS_109
解密得到明文资料
Figure QLYQS_110
,其中,
Figure QLYQS_111
。/>
CN202310091359.3A 2023-02-09 2023-02-09 云端数据保护方法 Active CN115879136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310091359.3A CN115879136B (zh) 2023-02-09 2023-02-09 云端数据保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310091359.3A CN115879136B (zh) 2023-02-09 2023-02-09 云端数据保护方法

Publications (2)

Publication Number Publication Date
CN115879136A CN115879136A (zh) 2023-03-31
CN115879136B true CN115879136B (zh) 2023-06-06

Family

ID=85760935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310091359.3A Active CN115879136B (zh) 2023-02-09 2023-02-09 云端数据保护方法

Country Status (1)

Country Link
CN (1) CN115879136B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105323064A (zh) * 2014-07-01 2016-02-10 柯呈翰 于线上加上即时文件动态标签、加密的系统及方法
CN112702160A (zh) * 2020-12-16 2021-04-23 江苏通付盾区块链科技有限公司 一种云端数据加密存储与分享的方法、装置及系统
CN115225409A (zh) * 2022-08-31 2022-10-21 成都泛联智存科技有限公司 基于多备份联合验证的云数据安全去重方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376252B (zh) * 2013-08-12 2017-03-01 陈杰 基于数字签章代码的内容验证方法
CN109104440B (zh) * 2018-10-22 2021-03-16 青岛大学 面向物联网移动终端设备的云存储大数据完整性验证方法
CN110213042B (zh) * 2019-05-09 2021-02-02 电子科技大学 一种基于无证书代理重加密的云数据去重方法
CN111835500B (zh) * 2020-07-08 2022-07-26 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN112565434A (zh) * 2020-12-09 2021-03-26 广东工业大学 一种基于默克尔哈希树的云存储安全去重方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105323064A (zh) * 2014-07-01 2016-02-10 柯呈翰 于线上加上即时文件动态标签、加密的系统及方法
CN112702160A (zh) * 2020-12-16 2021-04-23 江苏通付盾区块链科技有限公司 一种云端数据加密存储与分享的方法、装置及系统
CN115225409A (zh) * 2022-08-31 2022-10-21 成都泛联智存科技有限公司 基于多备份联合验证的云数据安全去重方法

Also Published As

Publication number Publication date
CN115879136A (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
CN108377189B (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
CN110213042B (zh) 一种基于无证书代理重加密的云数据去重方法
TWI748853B (zh) 用於基於區塊鏈的系統結合錢包管理系統中的安全多方防遺失儲存及加密金鑰轉移
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
JP4855940B2 (ja) 暗号用鍵の世代の効率的な管理
Yang et al. Provable data possession of resource-constrained mobile devices in cloud computing
CN112926051B (zh) 多方安全计算方法和装置
CN108696518B (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
CN110719295B (zh) 一种基于身份的面向食品数据安全的代理重加密方法与装置
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
CN111523133A (zh) 一种区块链与云端数据协同共享方法
CN111526197A (zh) 一种云端数据安全共享方法
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN113711564A (zh) 用于加密数据的计算机实现的方法和系统
KR20210139344A (ko) 데이터 기반 활동을 수행하는 방법 및 장치
KR20210063378A (ko) 공통 비밀을 공유하는 컴퓨터 구현 시스템 및 방법
CN111970114A (zh) 文件加密方法、系统、服务器和存储介质
Qin et al. Simultaneous authentication and secrecy in identity-based data upload to cloud
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
CN116318784B (zh) 身份认证方法、装置、计算机设备和存储介质
CN113656818B (zh) 满足语义安全的无可信第三方云存储密文去重方法与系统
CN115879136B (zh) 云端数据保护方法

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