一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文件共享方法、系统、设备及可读存储介质与流程

2022-06-29 06:55:47 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种文件共享方法、系统、设备及可读存储介质。


背景技术:

2.现有数据共享方案一般是:数据拥有者使用自身私钥加密数据,而数据访问者使用数据拥有者的私钥对应的公钥解密数据。该过程不仅需要共享数据拥有者的公钥,还需要使用数据拥有者的私钥加密数据,不能保证数据拥有者私钥的安全。并且,各文件都用数据拥有者的私钥加密,可能因该私钥长久不更新而导致数据泄露。
3.因此,如何提高数据共享方案中密钥类数据以及数据本身的安全性,是本领域技术人员需要解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种文件共享方法、系统、设备及可读存储介质,以提高数据共享方案中密钥类数据以及数据本身的安全性。其具体方案如下:第一方面,本技术提供了一种文件共享方法,应用于文件拥有端,包括:获取待共享的目标文件,并确定所述目标文件对应的第一动态密钥;基于所述第一动态密钥和所述文件拥有端的双私钥生成第一私钥;从所述文件拥有端的两对公私钥中选择不成对的公钥和私钥,并基于所述第一动态密钥、所选公钥和私钥生成第一公钥;利用所述第一公钥对随机选择的对称密钥进行加密,得到密钥密文;利用所述对称密钥加密所述目标文件,得到文件密文;利用所述第一私钥对所述第一动态密钥、所述第一公钥、所述密钥密文、所述文件密文进行签名,得到签名信息;将所述第一动态密钥、所述第一公钥、所述密钥密文、所述文件密文及所述签名信息作为共享信息上传至云共享端,以共享所述目标文件。
5.可选地,所述确定所述目标文件对应的第一动态密钥,包括:确定所述目标文件的类型,并按照所述类型确定所述目标文件对应的第一动态密钥;所述类型按照文件格式或文件重要程度进行分类。
6.可选地,所述按照所述类型确定所述目标文件对应的第一动态密钥,包括:若针对相同类型的文件采用同一第一动态密钥,则在历史上传信息中存在与所述目标文件类型相同的文件时,将所述历史上传信息中与所述目标文件类型相同的文件的第一动态密钥确定为所述目标文件对应的第一动态密钥,否则,基于随机数计算所述目标文件对应的第一动态密钥。
7.可选地,所述确定所述目标文件对应的第一动态密钥,包括:若针对不同文件采用不同第一动态密钥,则基于随机数计算所述目标文件对应的
第一动态密钥。
8.可选地,还包括:发送所述共享信息的更新请求至所述云共享端,以使所述云共享端使用所述更新请求中所述目标文件的新共享信息更新所述共享信息。
9.可选地,所述发送所述共享信息的更新请求至所述云共享端,包括:发送用于更新所述第一动态密钥、所述第一公钥、所述密钥密文、所述文件密文或所述签名信息的更新请求至所述云共享端。
10.可选地,所述利用所述第一私钥对所述第一动态密钥、所述第一公钥、所述密钥密文、所述文件密文进行签名,得到签名信息,包括:拼接所述第一动态密钥、所述第一公钥、所述密钥密文和所述文件密文,得到拼接结果;将所述拼接结果转换为哈希字符串;利用所述第一私钥对所述哈希字符串进行签名,得到所述签名信息。
11.第二方面,本技术提供了一种文件共享方法,包括:文件访问端生成第二动态密钥,基于所述第二动态密钥和自身两对公私钥生成第二公钥,发送目标文件的访问请求至云共享端;所述云共享端基于所述访问请求查询所述目标文件的共享信息,所述共享信息包括:第一动态密钥、第一公钥、密钥密文、文件密文及签名信息;将所述第一动态密钥及所述第一公钥、所述访问请求中的所述第二公钥发送至文件拥有端;所述共享信息基于权利要求1所述的方法获得;所述文件拥有端基于所述第一动态密钥和自身两对公私钥生成第一公钥,若所述云共享端发送的所述第一公钥和自身生成的所述第一公钥相等,则基于所述第一动态密钥和自身双私钥生成第一私钥,基于所述第一私钥和所述第二公钥生成重加密密钥,将所述重加密密钥发送至所述云共享端;所述云共享端利用所述重加密密钥重加密所述密钥密文得到密钥重加密密文,将所述密钥重加密密文、所述第一公钥、所述第一动态密钥、所述密钥密文、所述文件密文及所述签名信息发送至所述文件访问端;所述文件访问端利用所述第一公钥验证所述签名信息,得到目标结果,若所述目标结果与所述云共享端发送的所述第一动态密钥、所述第一公钥、所述密钥密文及所述文件密文一致,则利用所述第二动态密钥和自身双私钥计算第二私钥,利用所述第二私钥解密所述密钥重加密密文得到对称密钥,利用所述对称密钥对所述文件密文进行解密,得到所述目标文件的明文。
12.可选地,所述云共享端基于所述访问请求查询所述目标文件的共享信息之前,还包括:所述云共享端验证所述文件访问端的合法性;若所述文件访问端合法,则所述云共享端基于所述访问请求查询所述目标文件的共享信息;否则,所述云共享端向所述文件访问端返回访问不合法的通知消息。
13.可选地,还包括:所述文件拥有端和/或所述文件访问端基于密文搜索技术查询所述云共享端中存
储的所述文件密文。
14.第三方面,本技术提供了一种文件共享方法,应用于文件拥有端,包括:从云共享端下载共享信息;所述共享信息包括:第一动态密钥、第一公钥、密钥密文、文件密文及签名信息;所述共享信息上述任一项所述的方法获得;基于所述第一公钥验证所述签名信息通过后,基于所述第一动态密钥和所述文件拥有端的双私钥生成第一私钥;利用所述第一私钥解密所述密钥密文得到对称密钥;利用所述对称密钥解密所述文件密文得到所述目标文件的明文。
15.第四方面,本技术提供了一种文件共享系统,包括:如上所述的文件拥有端、云共享端及文件访问端,所述文件拥有端还执行上述其他项所述的方法。
16.可选地,文件共享系统还包括密钥生成中心,用于为所述文件拥有端和所述文件访问端提供公私钥对以及用于加解密的参数。
17.第五方面,本技术提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以实现前述公开的文件共享方法。
18.第六方面,本技术提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的文件共享方法。
19.通过以上方案可知,本技术提供了一种文件共享方法,应用于文件拥有端,包括:获取待共享的目标文件,并确定所述目标文件对应的第一动态密钥;基于所述第一动态密钥和所述文件拥有端的双私钥生成第一私钥;从所述文件拥有端的两对公私钥中选择不成对的公钥和私钥,并基于所述第一动态密钥、所选公钥和私钥生成第一公钥;利用所述第一公钥对随机选择的对称密钥进行加密,得到密钥密文;利用所述对称密钥加密所述目标文件,得到文件密文;利用所述第一私钥对所述第一动态密钥、所述第一公钥、所述密钥密文、所述文件密文进行签名,得到签名信息;将所述第一动态密钥、所述第一公钥、所述密钥密文、所述文件密文及所述签名信息作为共享信息上传至云共享端,以共享所述目标文件。
20.可见,本技术为文件拥有端设定了两对公私钥,且其中的双私钥并不直接加密文件,而是根据双私钥生成第一私钥后,利用此第一公钥加密用于加密文件的对称密钥,因此可降低文件拥有端的双私钥被泄露的风险。同时,该方案可使不同文件对应的第一动态密钥、第一私钥、第一公钥动态变化,不仅避免了加密密钥等隐私数据的长久不更新,还可以降低此类隐私数据以及共享数据的泄露风险,还能够细粒度加密不同文件,为不同文件设定不同的访问权限,提高共享文件的安全性。
21.相应地,本技术提供的一种文件共享系统、设备及可读存储介质,也同样具有上述技术效果。
附图说明
22.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
23.图1为本技术公开的一种文件共享方法流程图;图2为本技术公开的另一种文件共享方法流程图;图3为本技术公开的一种文件共享系统示意图;图4为本技术公开的一种共享信息生成示意图;图5为本技术公开的一种共享信息被数据拥有者访问的示意图;图6为本技术公开的一种共享信息被数据拥有者更新的示意图;图7为本技术公开的一种共享信息被数据使用者访问以及代理重加密密钥生成的示意图;图8为本技术公开的一种重加密共享信息和原共享信息的对比示意图。
具体实施方式
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.目前,现有数据共享方案不仅需要共享数据拥有者的公钥,还需要使用数据拥有者的私钥加密数据,不能保证数据拥有者私钥的安全。并且,各文件都用数据拥有者的私钥加密,可能因该私钥长久不更新而导致数据泄露。为此,本技术提供了一种文件共享方案,能够使不同文件对应的密钥类数据动态变化,提高数据共享方案中密钥类数据以及数据本身的安全性。
26.参见图1所示,本技术实施例公开了一种文件共享方法,应用于文件拥有端,包括:s101、获取待共享的目标文件,并确定目标文件对应的第一动态密钥。
27.其中,目标文件可以由文件拥有端产生,也可以是文件拥有端从别处获取或接收的文件,该文件中的数据具体可以是消息、字符串、报文、文档、代码等。
28.在一种具体实施方式中,可以按照文件格式或文件重要程度分类文件,然后按照分类所得的文件类型确定文件对应的第一动态密钥,从而可以针对相同类型的文件采用同一第一动态密钥。为此,可以将上传的文件类型及采用的第一动态密钥记录在历史上传信息中,以便后续查询。在一种具体实施方式中,确定目标文件对应的第一动态密钥,包括:确定目标文件的类型,并按照类型确定目标文件对应的第一动态密钥;类型按照文件格式或文件重要程度进行分类。其中,按照类型确定目标文件对应的第一动态密钥,包括:若针对相同类型的文件采用同一第一动态密钥,则在历史上传信息中存在与目标文件类型相同的文件时,将历史上传信息中与目标文件类型相同的文件的第一动态密钥确定为目标文件对应的第一动态密钥,否则,基于随机数计算目标文件对应的第一动态密钥。
29.其中,文件重要程度可由文件拥有者自行定义。例如:若文件拥有者的电商系统中涉及的付款、结账等文件可设定为重要等级,而商品介绍等文件可设定为次要等级,其他以此类推。当然,文件重要程度也可以简单设定为:高、中、低,文件拥有者对自己的每个文件都打上高、中、低对应的标签,后期便可以依据标签分类文件。
30.在一种具体实施方式中,可以针对不同文件采用不同第一动态密钥,也即:一文件一第一动态密钥。因此在一种具体实施方式中,确定目标文件对应的第一动态密钥,包括:
若针对不同文件采用不同第一动态密钥,则基于随机数计算目标文件对应的第一动态密钥。例如:第一动态密钥r1=r1g,r1为随机数,g为椭圆曲线的基,g∈g1,g1为阶为p的椭圆曲线加法循环群。
31.s102、基于第一动态密钥和文件拥有端的双私钥生成第一私钥。
32.s103、从文件拥有端的两对公私钥中选择不成对的公钥和私钥,并基于第一动态密钥、所选公钥和私钥生成第一公钥。
33.在本实施例中,s102和s103的执行顺序可以互换,互换后不影响本实施例的实现。
34.s104、利用第一公钥对随机选择的对称密钥进行加密,得到密钥密文。
35.s105、利用对称密钥加密目标文件,得到文件密文。
36.s106、利用第一私钥对第一动态密钥、第一公钥、密钥密文、文件密文进行签名,得到签名信息。
37.具体的,可以先将第一动态密钥、第一公钥、密钥密文、文件密文拼接,再将拼接结果转换为哈希字符串,然后再利用第一私钥对转换得到的哈希字符串进行签名,以得到签名信息。因此在一种具体实施方式中,利用第一私钥对第一动态密钥、第一公钥、密钥密文、文件密文进行签名,得到签名信息,包括:拼接所述第一动态密钥、所述第一公钥、所述密钥密文和所述文件密文,得到拼接结果;将所述拼接结果转换为哈希字符串;利用所述第一私钥对所述哈希字符串进行签名,得到所述签名信息。
38.s107、将第一动态密钥、第一公钥、密钥密文、文件密文及签名信息作为共享信息上传至云共享端,以共享目标文件。
39.当然,文件拥有端还可以随时更改目标文件在云共享端的共享信息,以更改目标文件的访问密钥,也就更改了目标文件的访问权限。因此在一种具体实施方式中,发送共享信息的删除请求至云共享端,以使云共享端删除共享信息,之后文件拥有端针对目标文件生成新共享信息,并将新共享信息上传至云共享端,以更改目标文件的共享信息。当然,文件拥有端还可以不发送删除请求,自主针对目标文件生成新共享信息后,直接将新共享信息上传至云共享端,后续云共享端基于新共享信息更新目标文件的共享信息即可。因此文件拥有端还发送共享信息的更新请求至云共享端,以使云共享端使用更新请求中目标文件的新共享信息更新共享信息。因此在一种具体实施方式中,发送共享信息的更新请求至云共享端,包括:发送用于更新第一动态密钥、第一公钥、密钥密文、文件密文或签名信息的更新请求至云共享端。可见,共享信息中的任意信息都能被更新,由此也可保障文件安全性。
40.可见,本实施例为文件拥有端设定了两对公私钥,且其中的双私钥并不直接加密文件,而是根据双私钥生成第一私钥后,利用此第一公钥加密用于加密文件的对称密钥,因此可降低文件拥有端的双私钥被泄露的风险。同时,该方案可使不同文件对应的第一动态密钥、第一私钥、第一公钥动态变化,不仅避免了加密密钥等隐私数据的长久不更新,还可以降低此类隐私数据以及共享数据的泄露风险,还能够细粒度加密不同文件,为不同文件设定不同的访问权限,提高共享文件的安全性。
41.本技术实施例公开了另一种文件共享方法,该方法在文件密文上传至云共享端后执行,也就是:执行完图1所示的步骤后再执行图2所示的步骤。
42.参见图2所示,本实施例提供的方法包括:s201、文件访问端生成第二动态密钥,基于第二动态密钥和自身两对公私钥生成
第二公钥,发送目标文件的访问请求至云共享端。
43.s202、云共享端基于访问请求查询目标文件的共享信息,共享信息包括:第一动态密钥、第一公钥、密钥密文、文件密文及签名信息;将第一动态密钥及第一公钥、访问请求中的第二公钥发送至文件拥有端;共享信息由上述文件拥有端执行的方法获得。
44.s203、文件拥有端基于第一动态密钥和自身两对公私钥生成第一公钥,若云共享端发送的第一公钥和自身生成的第一公钥相等,则基于第一动态密钥和自身双私钥生成第一私钥,基于第一私钥和第二公钥生成重加密密钥,将重加密密钥发送至云共享端。
45.s204、云共享端利用重加密密钥重加密密钥密文得到密钥重加密密文,将密钥重加密密文、第一公钥、第一动态密钥、密钥密文、文件密文及签名信息发送至文件访问端。
46.s205、文件访问端利用第一公钥验证所述签名信息,得到目标结果,若目标结果与云共享端发送的第一动态密钥、第一公钥、密钥密文及文件密文一致,则利用第二动态密钥和自身双私钥计算第二私钥,利用第二私钥解密密钥重加密密文得到对称密钥,利用对称密钥对文件密文进行解密,得到目标文件的明文。
47.其中,文件访问端利用第一公钥验证签名信息,得到的目标结果中包括:第一动态密钥、第一公钥、密钥密文及文件密文的哈希值,因此对比目标结果中的第一动态密钥、第一公钥、密钥密文、文件密文的哈希值与云共享端发送的第一公钥、第一动态密钥、密钥密文及文件密文的哈希值若一致,则确定目标结果与签名信息一致,验签通过;否则,认为验签不通过。
48.在一种具体实施方式中,云共享端基于访问请求查询目标文件的共享信息之前,还包括:云共享端验证文件访问端的合法性;若文件访问端合法,则云共享端基于访问请求查询目标文件的共享信息;否则,云共享端向文件访问端返回访问不合法的通知消息。其中,云共享端验证文件访问端的合法性,可以验证文件访问端是否是云共享端的合法用户,如:检验文件访问端所使用的账号、密码等信息。
49.在一种具体实施方式中,还包括:文件拥有端和/或文件访问端基于密文搜索技术查询云共享端中存储的文件密文。也即:文件拥有端或文件访问端想要在云共享端查询某一文件时,先对该文件的关键字进行加密,而后再基于加密所得密文进行查询。可见,云共享端只能看到文件密文而不能看到文件明文,因此可降低文件本身被云共享端泄露的风险。
50.可见,当文件密文上传至云共享端后,文件访问端可以访问云共享端中的文件,该过程采用重加密技术,进一步保障了文件的安全性。
51.下述实施例结合具体算来介绍上述两个实施例提供的方案。
52.密钥生成中心设定一个双线性映射e:g1×
g1→gt
,g1是一个阶为p的椭圆曲线加法循环群,g
t
是一个阶为p的乘法循环群。随机产生一个椭圆曲线的基g∈g1,z=e(g,g)∈g
t
,z为椭圆曲线基点g双线性映射的结果,e为双线性映射,双线性映射性质为:e(ag,bg)=e(g,g)
ab
。其中,h{0,1}
*
→zq
,zq是一个阶为q的整数循环群。
53.数据拥有者利用密钥生成中心获得自身两对非对称的公私钥(a,a)和(b,b),其中,a和b为私钥,a和b为公钥。数据拥有者的公钥a=ag,a∈zq;公钥b=bg,b∈zq。对称密钥k∈g
t
。随机选取r1∈zq,那么第一动态密钥r1=r1g。动态加密公钥p
11
=h(r1*a)*g b,p
11
即为第一公钥。动态加密私钥p
12
=h(a*r1) b,p
12
即为第一私钥。利用p
11
对对称密钥k加密得到第一层
密文c1=(rp
11
,kzr),r∈zq,c1即为密钥密文。利用k加密文件m得到文件密文c=enck(m),enc表示一种加密算法。对r1、c1、c取哈希后,用p
12
进行签名,得到签名信息σ,将{r1,p
11
,c1,c,σ}上传到云服务提供商。其中,由于数据拥有者将数据上传给半可信的云服务提供商后,就失去对数据的控制权。因此,出于安全考虑,数据拥有者在上传数据之前对数据进行加密处理。
54.数据使用者利用密钥生成中心获得自身两对非对称的公私钥(c,c)和(d,d),其中,c和d为私钥,c和d为公钥,c=cg,c∈zq,d=dg,d∈zq。随机选取r2∈zq,那么第二动态密钥r2=r2g。动态加密公钥p
21
=h(r2*c)*g d,p
21
即为第二公钥。动态加密私钥p
22
=h(c*r2) d,p
22
即为第二私钥。生成r2后,可以删除随机数r2,保证动态密钥和动态加密公钥的安全性。
55.数据使用者请求云服务提供商以访问共享信息,请求参数中包括p
21
。云服务提供商初步判断用户的合法性,然后将共享信息中的r1以及p
11
,还有请求参数中的p
21
作为共享请求发送给数据拥有者。
56.数据拥有者接收共享请求后,利用r1和自己的两对公私钥计算p
11
、p
12
,在自己计算得到的p
11
与云服务提供商发送的p
11
一致时,利用p
12
和p
21
得到重加密密钥rk=(p
22
/p
12
)g=(1/p
12
)p
21
,将重加密密钥上传到云服务提供商处。
57.服务提供商利用重加密密钥对共享信息中的第一层密文进行重加密,得到第二层密文,c2即为密钥重加密密文。服务提供商将{c2,p
11
,r1,c1,c,σ}发送给数据使用者。其中,云服务提供商进行重加密,扮演了密文转换的角色,能够将由数据拥有者公钥加密的密文转换为由数据使用者公钥对同一明文加密的密文,然后数据使用者可利用其自身私钥解密转换后的密文。在密文转换过程中,云服务提供商拥有一个由数据拥有者授权的针对数据使用者的重加密密钥,且云服务提供商无法获得有关明文的任何信息。
58.数据使用者预先计算了r2=r2g。利用p
11
验证σ得到目标结果,若目标结果中的{p
11
,r1,c1,c}与服务提供商发送的{p
11
,r1,c1,c}一致,则利用r2、c、d计算p
22
,利用p
22
对c2解密,获得对称密钥,利用k解密c获得文件明文m=deck(c),dec表示一种解密算法。
59.可见,数据拥有者在上传数据之前对数据进行加密处理,当文件密文上传至云共享端后,文件访问端可以访问云共享端中的文件,该过程采用重加密技术,进一步保障了文件的安全性。
60.下面对本技术实施例提供的一种文件共享系统进行介绍,下文描述的一种文件共享系统与上文描述的一种文件共享方法可以相互参照。
61.本技术实施例公开了一种文件共享系统,包括:如上所述的文件拥有端、云共享端及文件访问端,文件拥有端还执行图1中的方法以及其他可供其执行的方法。
62.该文件共享系统还包括密钥生成中心,密钥生成中心用于为文件拥有端和文件访问端提供公私钥对以及用于加解密的参数。具体可参照文中其他地方的相关介绍,在此不再赘述。
63.在一种具体实施方式中,文件拥有端具体用于:确定目标文件的类型,并按照类型确定目标文件对应的第一动态密钥;类型按照文件格式或文件重要程度进行分类。
64.在一种具体实施方式中,文件拥有端具体用于:若针对相同类型的文件采用同一第一动态密钥,则在历史上传信息中存在与目标文件类型相同的文件时,将历史上传信息中与目标文件类型相同的文件的第一动态密钥确定为目标文件对应的第一动态密钥,否则,基于随机数计算目标文件对应的第一动态密钥。
65.在一种具体实施方式中,文件拥有端具体用于:若针对不同文件采用不同第一动态密钥,则基于随机数计算目标文件对应的第一动态密钥。
66.在一种具体实施方式中,文件拥有端具体用于:发送共享信息的删除请求至云共享端,以使云共享端删除共享信息;针对目标文件生成新共享信息,并将新共享信息上传至云共享端,以更改目标文件的共享信息。
67.在一种具体实施方式中,云共享端基于访问请求查询目标文件的共享信息之前,云共享端验证文件访问端的合法性;若文件访问端合法,则云共享端基于访问请求查询目标文件的共享信息;否则,云共享端向文件访问端返回访问不合法的通知消息。
68.在一种具体实施方式中,文件拥有端和/或文件访问端基于密文搜索技术查询云共享端中存储的文件密文。
69.其中,关于本实施例中各个端的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
70.可见,本实施例提供了一种文件共享系统,能够使不同文件对应的密钥类数据动态变化,提高数据共享方案中密钥类数据以及数据本身的安全性。
71.下面对本技术实施例提供的一种应用于文件拥有端的文件共享方法进行介绍,下文描述的文件共享方法与文中其他地方描述的相关内容可以相互参照。
72.本技术实施例公开了一种应用于文件拥有端的文件共享方法,包括:从云共享端下载共享信息;共享信息包括:第一动态密钥、第一公钥、密钥密文、文件密文及签名信息;共享信息基于图1所示的方法获得。基于第一公钥验证签名信息通过后,基于第一动态密钥和文件拥有端的双私钥生成第一私钥。利用第一私钥解密密钥密文得到对称密钥。利用对称密钥解密文件密文得到目标文件的明文。
73.上述过程可参照图5以及相关介绍,可见数据拥有者也可以从云端下载、解密自己上传的文件密文。
74.基于本技术的发明构思,下述实施例提供了一种基于动态密钥的代理重加密系统。本实施例通过采用动态密钥对共享文件进行加密,用户私钥不直接参与加密,保障用户私钥的安全性。同时,本实施例对每一个共享文件采用单独的密钥进行加密,实现了细粒度的解密权指派功能,还能够通过代理重加密技术实现解密权的转换。
75.基于代理重加密的共享系统能够在保持数据机密性的同时,实现了解密权的指派,并且在实际应用中,数据拥有者通常只会与合作伙伴共享自身某一部分文档,而不是全部云端数据。比如:与后勤部门共享管理有关数据,与销售合作伙伴共享产品资料数据等,而不是与每一个用户共享所有的数据。为此,本实施例针对一个文件采用单独的密钥,可实现文件的指派性共享,而不是与某一合作伙伴共享自己的所有文件。
76.如图3所示,本实施例提供的系统包括数据拥有者、数据拥有者、云服务提供商、密钥生成中心。其中,数据拥有者和数据使用者分别通过接口与云服务提供商、密钥生成中心相连。
77.密钥生成中心为数据拥有者和数据使用者生成非对称的公私钥对。
78.数据拥有者负责共享文件的准备和生成,利用密钥生成中心获得自身两对非对称的公私钥(a,a)和(b,b),两个私钥a、b永远由数据拥有者秘密保存,不直接参与加密运算。
79.如图4所示,数据拥有者利用随机数r1生成r1。利用r1和不成对的公私钥生成动态加密公钥p
11
,利用r1和双私钥生成动态加密私钥p
12
。p
12
由两个私钥计算得到,实现了动态私钥的安全性。删除随机数r1,保证r1和p
11
的安全性。数据拥有者生成对称密钥k,对共享文件进行加密,得到加密共享文件(即文件密文)。利用p
11
对对称加密密钥进行加密,得到第一层加密密文。利用p
12
计算得到签名信息。该过程采用动态加密公钥进行加密,两对公私钥不直接参与加密运算,降低了密钥泄露的可能,提高了密钥的安全性。将加密共享文件、第一层加密密文、p
11
、动态密钥r1、签名信息作为共享信息上传到云服务提供商,由云服务提供商保存。其中,签名信息由p
12
签名得到,故共享p
11
,可使各端对签名信息进行验证。
80.数据拥有者可以在不同时刻根据自己的公私钥对生成任意个动态密钥。数据拥有者分别利用不同的动态密钥加密不同的共享文件,实现了细粒度的加密功能。同时,为了对同类型的共享文件进行归类处理,可以对相同类型的共享文件采用相同的动态密钥进行加密。文件可按照重要等级分类,如:按照一般、中等、重要这三个类型分类;还可以按照文件生成时间进行分类。
81.如图5所示,数据拥有者从云服务提供商中下载共享信息{r1,p
11
,c1,c,σ},之后计算动态加密公钥p
11
、动态加密私钥p
12
。利用动态加密公钥p
11
验证σ的有效性。利用动态加密私钥p
12
解密c1得到对称密钥k。利用k解密c,得到文件明文。可见,数据拥有者也可以从云端下载、解密自己上传的文件密文。
82.如图6所示,数据拥有者还可以更新共享信息。具体的,数据拥有者利用随机数r3生成第三动态密钥r3。利用r3和不成对的公私钥生成第三公钥p
31
。利用r3和两对私钥计算第三私钥p
32
。利用p
31
对对称密钥重新加密,得到新的密钥密文c3。利用p
32
生成签名信息1。将新得到的共享信息{r3,p
31
,c3,c,签名信息1}发送至云服务提供商。云服务提供商保存c不变,对其他信息进行替换。数据拥有者更新动态密钥,可以实现当动态密钥泄露时,实现共享文件安全存储,因为更改了动态密钥,也就更改了重加密密钥,那么原共享文件的访问权限就得到了更新。
83.如图7所示,数据使用者利用密钥生成中心获得自身两对非对称的公私钥(c,c)和(d,d),其中,c和d为私钥,c和d为公钥,c=cg,c∈zq,d=dg,d∈zq。随机选取r2∈zq,那么第二动态密钥r2=r2g。动态加密公钥p
21
=h(r2*c)*g d,p
21
即为第二公钥。动态加密私钥p
22
=h(c*r2) d,p
22
即为第二私钥。生成r2后,可以删除随机数r2,保证动态密钥和动态加密公钥的安全性。
84.数据使用者请求云服务提供商以访问共享信息,请求参数中包括p
21
。云服务提供商初步判断用户的合法性,然后将共享信息中的r1以及p
11
、还有请求参数中的p
21
作为共享请求发送给数据拥有者。云服务提供商用于加密数据的存储、代理重加密的执行。云服务提供商提供的云存储服务系统存储数据拥有者上传的共享信息,同时接受数据拥有者访问自己数据的请求。
85.数据拥有者还接收云服务提供商发来的数据使用者的共享请求,生成重加密密钥,将重加密密钥上传到云服务提供商处。
86.服务提供商得到数据拥有者上传的重加密密钥。如图7所示,服务提供商利用重加密密钥将数据拥有者的共享信息进行重加密,得到重加密共享信息,并将重加密共享信息发送给数据使用者。
87.服务提供商得到数据拥有者发送的重加密密钥后,利用重加密密钥对共享信息中的第一层密文进行重加密,得到第二层密文c2。服务提供商将{c2,p
11
,r1,c1,c,σ}发送给数据使用者。
88.数据使用者计算r2=r2g。利用r2、c、d计算p
22
,利用p
22
对c2解密,获得对称密钥,利用k解密c获得文件明文m=deck(c),dec表示一种解密算法。
89.如图8所示,数据拥有者发给云端的共享信息,比云端发给数据使用者的、用于解密文件的共享信息多了重加密密钥密文和第二动态密钥,而重加密密钥密文由重加密密钥对共享信息中的第一层密文重加密获得。
90.可见,本实施例采用动态密钥对共享文件进行加密,用户私钥不直接参与文件加密,保障了用户私钥的安全性,同时,本实施例对每一个共享文件采用单独的密钥进行加密,实现了细粒度的解密权指派和加密。同时,为了对同类型的共享文件进行归类处理,可以对相同类型的共享文件采用相同的动态密钥进行加密。数据拥有者更新动态密钥,可以实现当动态密钥泄露时,也能实现共享文件的安全存储,同时可以动态取消共享文件的访问权限。
91.下面对本技术实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种文件共享方法及系统可以相互参照。
92.本技术实施例公开了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
93.下面对本技术实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种文件共享方法、系统及设备可以相互参照。
94.一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的文件共享方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
95.本技术涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
96.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
97.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
98.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的可读存储介质中。
99.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献