一种数据共享方法、系统、设备及计算机可读存储介质与流程

文档序号:18160814发布日期:2019-07-13 09:19阅读:151来源:国知局
一种数据共享方法、系统、设备及计算机可读存储介质与流程

本申请涉及云存储中用户数据安全领域,特别涉及一种数据共享方法、系统、设备及计算机可读存储介质。



背景技术:

混合云同时具有公有云大量的数据存储空间和私有云更为安全可靠的双重特点,因此混合云被很多公司所接纳,具有广泛的实际应用市场。借助云存储服务,公司为了减少管理负担和节省运维成本,允许他们的员工随时随地的存储和共享数据。然而,由于数据所有权与管理权分离,云服务提供商并非完全可信,利用云存储服务进行群用户数据共享存在以下几个问题。其一,群用户中存在用户端因为计算能力有限,导致群用户随时随地的共享与访问数据受到影响。其二,频繁的云存储数据泄漏事件阻碍了数据共享的发展。其三,用户身份隐私的安全性也是数据共享需要考虑的重要因素,身份信息在用户数据共享和访问中的泄漏是许多用户关注的问题。另外,还需要考虑以下两点情况:一个公司不同部门成员所具有的访问权限应该有所区别。由于群用户是动态的,用户可能在某个时间加入该群或某个时间退出该群,这种情况是无法人为控制。

为了实现云数据高效安全共享,传统的数据共享方法有以下几种:1、一种mona的共享方案,该方案通过利用组签名和动态广播加密技术对数据文件进行加密,利用身份匿名技术保障用户身份隐私。该方案能够实现灵活的访问控制和用户身份查询等,具有较好的安全性,但用户端的计算量和复杂度较大。2、一种具有委托功能的共享方法,将部分加解密委托给私有云,从而降低了用户端的计算量,但不能保证用户身份及属性隐私安全。3、一种将abe的计算密集型访问控制操作外包到共享云上的方案,从而减轻了用户端的计算负担,并且能够实现细粒度的访问控制,但该方案不适用于多对对的群数据共享。4、一种平衡对称不完全块的设计(sbibd),利用两轮密钥协商实现群数据在云中共享的安全,群用户利用自己的密钥对,协商出一个所有用户的私钥都能解密密文的公钥,允许部分用户不在线,该方案适用于群数据共享,但用户端需要进行大量的双线性和点乘等运算。

因此,如何在实现用户数据安全以及共享数据的细粒度访问控制时,降低用户端的计算量是本领域技术人员亟需解决的技术问题。



技术实现要素:

本申请的目的是提供一种数据共享方法、系统、设备及计算机可读存储介质,能够在实现用户数据安全以及共享数据的细粒度访问控制时,降低用户端的计算量。

为解决上述技术问题,本申请提供一种数据共享方法,包括:

私有云在接收到用户的属性值后,判断所述属性值与所述私有云中的访问控制树是否匹配;

若是,则利用签名算法对所述属性值进行签名操作得到签名属性值,并将所述签名属性值发送至公有云;

所述公有云在利用验证签名算法验证所述签名属性值通过后,将所述签名属性值对应的密文文件发送至所述用户。

优选地,所述私有云在接收到用户的属性值后,判断所述属性值与所述私有云中的访问控制树是否匹配之前,还包括:

在数据所有者客户端将所述密文文件上传至所述私有云后,生成所述密文文件对应的属性控制树发送至可信认证中心;

所述可信认证中心将所述属性控制树转换为所述访问控制树后,将所述访问控制树及对应的密钥发送至所述私有云;

所述私有云根据所述密钥对所述密文文件进行签名得到签名密文文件,并将所述签名密文文件发送至所述公有云;

所述公有云在验证所述签名密文文件的合法性后,将所述密文文件进行存储。

优选地,所述将所述密文文件进行存储之后,还包括:

接收所述数据所有者客户端发送的密文文件删除请求;

根据所述密文文件删除请求删除对应的密文文件。

优选地,所述将所述签名属性值对应的密文文件发送至所述用户之后,还包括:

将所述密文文件解密为对应的明文文件;

对所述明文文件进行验证操作以验证所述明文文件的完整性。

本申请还提供一种数据共享系统,包括:

匹配判断模块,用于私有云在接收到用户的属性值后,判断所述属性值与所述私有云中的访问控制树是否匹配;

签名操作模块,用于若所述属性值与所述访问控制树匹配,则利用签名算法对所述属性值进行签名操作得到签名属性值,并将所述签名属性值发送至公有云;

密文文件发送模块,用于所述公有云在利用验证签名算法验证所述签名属性值通过后,将所述签名属性值对应的密文文件发送至所述用户。

优选地,该数据共享系统还包括:

属性控制树生成模块,用于在数据所有者客户端将所述密文文件上传至所述私有云后,生成所述密文文件对应的属性控制树发送至可信认证中心;

访问控制树发送模块,用于所述可信认证中心将所述属性控制树转换为所述访问控制树后,将所述访问控制树及对应的密钥发送至所述私有云;

签名密文文件获取模块,用于所述私有云根据所述密钥对所述密文文件进行签名得到签名密文文件,并将所述签名密文文件发送至所述公有云;

密文文件存储模块,用于所述公有云在验证所述签名密文文件的合法性后,将所述密文文件进行存储。

优选地,该数据共享系统还包括:

密文文件删除请求接收模块,用于接收所述数据所有者客户端发送的密文文件删除请求;

密文文件删除模块,用于根据所述密文文件删除请求删除对应的密文文件。

优选地,该数据共享系统还包括:

密文文件解密模块,用于将所述密文文件解密为对应的明文文件;

明文文件验证模块,用于对所述明文文件进行验证操作以验证所述明文文件的完整性。

本申请还提供一种设备,包括:

存储器和处理器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述所述的数据共享方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的数据共享方法的步骤。

本申请所提供的一种数据共享方法,包括:私有云在接收到用户的属性值后,判断所述属性值与所述私有云中的访问控制树是否匹配;若是,则利用签名算法对所述属性值进行签名操作得到签名属性值,并将所述签名属性值发送至公有云;所述公有云在利用验证签名算法验证所述签名属性值通过后,将所述签名属性值对应的密文文件发送至所述用户。

该方法将签名操作以及密文文件对应的签名属性值验证外包给混合云,即私有云进行签名操作,公有云进行签名属性值的验证,能够在实现用户数据安全以及共享数据的细粒度访问控制时,降低用户端的计算量。本申请还提供一种数据共享系统、设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种数据共享方法的流程图;

图2为本申请实施例所提供的一种数据共享系统的结构框图。

具体实施方式

本申请的核心是提供一种数据共享方法,能够在实现用户数据安全以及共享数据的细粒度访问控制时,降低用户端的计算量。本申请的另一核心是提供一种数据共享系统、设备及计算机可读存储介质。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了实现云数据高效安全共享,传统的数据共享方法有以下几种:1、一种mona的共享方案,该方案通过利用组签名和动态广播加密技术对数据文件进行加密,利用身份匿名技术保障用户身份隐私。该方案能够实现灵活的访问控制和用户身份查询等,具有较好的安全性,但用户端的计算量和复杂度较大。2、一种具有委托功能的共享方法,将部分加解密委托给私有云,从而降低了用户端的计算量,但不能保证用户身份及属性隐私安全。3、一种将abe的计算密集型访问控制操作外包到共享云上的方案,从而减轻了用户端的计算负担,并且能够实现细粒度的访问控制,但该方案不适用于多对对的群数据共享。4、一种平衡对称不完全块的设计(sbibd),利用两轮密钥协商实现群数据在云中共享的安全,群用户利用自己的密钥对,协商出一个所有用户的私钥都能解密密文的公钥,允许部分用户不在线,该方案适用于群数据共享,但用户端需要进行大量的双线性和点乘等运算。本申请提供的一种数据共享方法,能够在实现用户数据安全以及共享数据的细粒度访问控制时,降低用户端的计算量,具体请参考图1,图1为本申请实施例所提供的一种数据共享方法的流程图,该数据共享方法具体包括:

s101、私有云在接收到用户的属性值后,判断属性值与私有云中的访问控制树是否匹配;

本申请实施例中私有云在接收到用户的属性值后,判断属性值与私有云中的访问控制树(通常设为t2)是否匹配。在此对属性值不作具体限定,应由本领域技术人员根据实际情况作出相应的设定。在此对用户获取属性值的过程也不作具体限定,该过程具体可以为:用户向可信认证中心(ca)发送注册申请,ca将用户身份进行匿名化处理,为用户分配全局唯一标识符和属性,全局唯一标识符可作为用户的匿名身份,ca根据用户的属性生成对应属性值,且秘密保存用户的全局唯一标识符和属性值。

本申请实施例中每个用户具有多个属性及相对应的属性值,访问结构使用多值“与”“或”门来表达。设本申请实施例中共有n种属性,m个用户,atti={att1,att2,…attn}表示属性集合,用vi={vi,1,vi,2,…,vi,ni}表示第i个属性可能的取值集合,其中,ni表示att可能取值的个数。设属性控制结构v=[attx1,attx2,…attxi](xi∈[1,n]),属性值访问结构w=[w1,w2,…,wm],m∈[1,n],元素wm均为atti中的一个子集。

进一步地,在私有云在接收到用户的属性值后,判断属性值与私有云中的访问控制树是否匹配之前,通常还可以包括:在数据所有者客户端将密文文件上传至私有云后,生成密文文件对应的属性控制树(通常设为t1)发送至可信认证中心;可信认证中心将属性控制树转换为访问控制树后,将访问控制树及对应的密钥发送至私有云;私有云根据密钥对密文文件进行签名得到签名密文文件,并将签名密文文件发送至公有云;公有云在验证签名密文文件的合法性后,将密文文件进行存储。具体过程可以如下:

数据所有者客户端需要上传明文文件给群用户共享时,数据所有者客户端将明文文件加密得到密文文件后上传至私有云中后,先将属性控制结构v转换成一棵属性控制树(通常设为t1),树中的叶子节点表示属性,非叶子节点表示“与”“或”门。数据所有者客户端将属性控制树传递给ca,ca将属性控制树转换成访问控制树(通常设为t2)。ca将t1叶子节点的属性替换成“或”门,该节点的叶子节点为该属性的属性值,属性值vi,j表示atti的第j个属性值,从而构成了含属性值的访问控制树t2。恶意用户及云服务提供商无法凭借密文获得有关数据所有者和可解密用户的属性信息,从而达到属性隐藏的目的。当然解密者也仅知道自己有能力解密该密文,而不能获得其他解密者的信息。

可信认证中心将属性控制树转换为访问控制树后,将访问控制树及对应的密钥发送至私有云。本申请实施例中密文文件的签名外包给私有云,当私有云接收到密文文件,首先验证匿名用户身份及身份标签是否为群成员。如果验证为群成员,接收密文文件;否则,拒绝接收密文文件。私有云接收到ca提供的该密文文件的含属性值的访问控制树t2后,使用签名算法对密文文件进行签名得到签名密文文件,并将签名密文文件发送至公有云,公有云通过验证签名算法,认证签名密文文件的合法性,若合法,则存储密文文件;否则,不接收该密文文件。其中,私有云对密文文件进行签名的签名算法,本申请实施例在此不作具体限定。相应的,公有云对签名密文文件进行合法性认证的验证签名算法,本申请实施例在此不作具体限定,需根据实际情况而定。

进一步地,将密文文件进行存储之后,通常还可以包括:接收数据所有者客户端发送的密文文件删除请求;根据密文文件删除请求删除对应的密文文件。具体地,数据所有者客户端向私有云发送密文文件删除请求,私有云通过身份标签验证该数据文件为该群用户所有后,通过签名算法进行签名,并将签名发送给公有云,公有云验证签名。若签名通过,公有云对该密文文件进行删除;否则,拒绝对该密文文件进行删除。

此外,本申请实施例还可利用撤销算法将用户及其属性进行撤销。具体地,当有群用户需要撤销时,ca删除存储在本地的用户的属性值,ca向私有云发送需删除的匿名用户,私有云将找到其属性值并删除;当有群用户的属性需要撤销时,ca删除存储在本地的属性及属性值集合,ca向私有云发送需删除的属性值集合,私有云将删除所有访问控制树t2中含有该属性值集合的属性值。

s102、若属性值与私有云中的访问控制树匹配,则利用签名算法对属性值进行签名操作得到签名属性值,并将签名属性值发送至公有云;

s103、公有云在利用验证签名算法验证签名属性值通过后,将签名属性值对应的密文文件发送至用户。

本申请实施例对签名算法不作具体限定,应由本领域技术人员根据实际情况作出相应的设定。在此对验证签名算法也不作具体限定,需根据实际情况而定。

进一步地,将签名属性值对应的密文文件发送至用户之后,还可以包括:将密文文件解密为对应的明文文件;对明文文件进行验证操作以验证明文文件的完整性。

进一步地,本申请实施例还可以进行文件追踪。具体地,当发现所共享的数据文件存在虚假或违法等行为时,ca能够对所共享数据文件的拥有者进行真实身份追踪。根据数据文件中的匿名身份,ca通过查询能够轻易的找到数据拥有者真实身份信息,并进行相应的处理。

本申请将签名操作以及密文文件对应的签名属性值验证外包给混合云,即私有云进行签名操作,公有云进行签名属性值的验证,由于群用户中各个用户端计算能力不尽相同,存在个别用户端计算能力受限,所以本发明能够在实现用户数据安全以及共享数据的细粒度访问控制时,降低用户端的计算量,使计算能力受限的用户能够正常的共享与访问群数据。

下面对本申请实施例提供的一种数据共享系统、设备及计算机可读存储介质进行介绍,下文描述的数据共享系统、设备及计算机可读存储介质与上文描述的数据共享方法可相互对应参照。

请参考图2,图2为本申请实施例所提供的一种数据共享系统的结构框图;该数据共享系统包括:

匹配判断模块201,用于私有云在接收到用户的属性值后,判断属性值与私有云中的访问控制树是否匹配;

签名操作模块202,用于若属性值与访问控制树匹配,则利用签名算法对属性值进行签名操作得到签名属性值,并将签名属性值发送至公有云;

密文文件发送模块203,用于公有云在利用验证签名算法验证签名属性值通过后,将签名属性值对应的密文文件发送至用户。

基于上述实施例,本实施例中该数据共享系统还包括:

属性控制树生成模块,用于在数据所有者客户端将密文文件上传至私有云后,生成密文文件对应的属性控制树发送至可信认证中心;

访问控制树发送模块,用于可信认证中心将属性控制树转换为访问控制树后,将访问控制树及对应的密钥发送至私有云;

签名密文文件获取模块,用于私有云根据密钥对密文文件进行签名得到签名密文文件,并将签名密文文件发送至公有云;

密文文件存储模块,用于公有云在验证签名密文文件的合法性后,将密文文件进行存储。

基于上述实施例,本实施例中该数据共享系统还包括:

密文文件删除请求接收模块,用于接收数据所有者客户端发送的密文文件删除请求;

密文文件删除模块,用于根据密文文件删除请求删除对应的密文文件。

基于上述实施例,本实施例中该数据共享系统还包括:

密文文件解密模块,用于将密文文件解密为对应的明文文件;

明文文件验证模块,用于对明文文件进行验证操作以验证明文文件的完整性。

本申请还提供一种设备,包括:存储器和处理器;其中,存储器用于存储计算机程序,处理器用于执行计算机程序时实现上述任意实施例的数据共享方法的步骤。

本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的数据共享方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种数据共享方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1