数据共享方法及系统

文档序号:28396020发布日期:2022-01-08 00:58阅读:204来源:国知局
数据共享方法及系统

1.本发明涉及计算机技术领域,尤其涉及一种数据共享方法及系统。


背景技术:

2.属性基加密是一类用户私钥和密文都基于“属性”的公钥加密方式(例如:居住地、职业、学历等)。在属性基加密系统中,当且仅当在密文所需属性集和用户提供属性集匹配时才能顺利解密。属性来自于属性授权机构,每种属性包括公钥和私钥,授权机构通过发布公钥并向每个授权用户签发唯一的对应属性私钥来实现属性的发布并赋予属性含义,属性可以和现实属性对应,也可表明数字世界的属性例如订阅身份、购买凭证等。
3.授权机构分为现实中有信用的机构如高校、企业、机关等发布强可信属性;以及任意主体或个人,发布弱可信属性。
4.在数据加密时属性基加密通常结合已有的成熟对称加密算法,对称加密原数据后对对称密钥进行属性基加密。被加密的数据类型可以是任意格式,其本质上都是计算机二进制编码串。
5.属性基代理重加密指拥有某加密数据合法解密属性集的用户1,可依赖已有的属性密钥生成含有新访问策略的重加密密钥。重加密密钥不暴露原数据内容以及属性密钥信息,并且可用于转换(重加密)原始密文得到重加密密文。用户2若拥有用户1指定新访问策略对应的属性集,即可使用对应属性密钥解密重加密密文且无需满足原始密文所需属性集合。
6.首先,属性基加密须借助代理重加密才可拓展数据访问权限,而由于属性授权机构难以分布式化,目前代理重加密的应用还不太成熟,从而限制了大规模跨领域的部署,仅限于局部使用。
7.其次,基于属性基代理重加密的数据分享尚未有最优的模式,业务模型处于摸索阶段。更多时候属性基加密作为一对多加密的拓展替换现有加密算法,用户仍须在本地加密运算分享数据,计算量较大,未有效利用代理重加密对本地计算的节省能力。


技术实现要素:

8.本发明提供的数据共享方法及系统,用于解决现有技术中存在的上述问题,能够在数据分享过程中,通过采用云存储代理以多授权中心属性基代理重加密的方式对数据进行重加密,拓展了数据授权方式,同时将重加密密文存储在云存储代理,无需在本地存储数据原文,减少了本地计算负担,增加数据如隐私数据的分享能力。
9.本发明提供的一种数据共享方法,包括:
10.向第一用户终端提交数据访问申请表单,以供所述第一用户终端根据预先设定的审批流程决定是否同意分享目标数据;
11.若确定所述第一用户终端同意分享目标数据,则向云存储代理提供数据索引信息和第一自身身份信息,以获取重加密密文;
12.根据所述重加密密文包含的新访问策略和第一属性密钥对所述重加密密文进行解密,以获取所述目标数据;
13.其中,所述重加密密文是由所述云存储代理根据所述第一用户终端提供的所述数据索引信息、第二自身身份信息和重加密密钥对所述云存储代理上存储的密文数据进行重加密运算后生成的。
14.根据本发明提供的一种数据共享方法,所述根据所述重加密密文包含的新访问策略和第一属性密钥对所述重加密密文进行解密,以获取所述目标数据,包括:
15.将所述新访问策略与所述第一属性密钥进行匹配,并判断所述第一属性密钥所包含的属性集是否为所述新访问策略的第二属性密钥对应的合法解密属性集的子集;
16.若是,则对重加密密文进行解密,获取所述目标数据。
17.根据本发明提供的一种数据共享方法,所述第一属性密钥是通过如下方式确定的:
18.向多个属性授权节点发送请求,获取各所述属性授权节点发布的所有属性的集合对应的子集的第三属性密钥;
19.向所述第一用户终端发送请求,获取所述第一用户终端发布的第四属性密钥;
20.根据所述第三属性密钥和所述第四属性密钥的任一组合,确定所述第一属性密钥。
21.本发明还提供一种数据共享方法,包括:
22.接收第二用户终端提交的数据访问申请表单,并根据预先设定的审批流程决定是否同意分享目标数据;
23.若确定同意分享目标数据,则根据云存储代理接收到的所述第二用户终端提供的数据索引信息和第一自身身份信息,通过所述云存储代理将重加密密文发送给所述第二用户终端,以供所述第二用户终端根据所述重加密密文包含的新访问策略和第一属性密钥对所述重加密密文进行解密,以获取所述目标数据;
24.其中,所述重加密密文是由所述云存储代理根据第一用户终端提供的所述数据索引信息、第二自身身份信息和重加密密钥对所述云存储代理上存储的密文数据进行重加密运算后生成的。
25.根据本发明提供的一种数据共享方法,所述密文数据是通过如下方式确定的:
26.向多个属性授权节点发送请求,以获取所述目标数据对应的属性公钥集合;
27.基于所述属性公钥集合,确定访问策略;
28.根据所述访问策略对所述目标数据进行加密运算,以确定所述密文数据。
29.根据本发明提供的一种数据共享方法,所述第一属性密钥是通过如下方式确定的:
30.根据接收到的所述第二用户终端发送的请求,将第四属性密钥发送给所述第二用户终端,以供所述第二用户终端根据第三属性密钥和第四属性密钥确定所述第一属性密钥;
31.其中,所述第三属性密钥是所述第二用户终端通过向多个属性授权节点发送请求后,获取的各所述属性授权节点发布的所有属性的集合对应的子集的属性密钥。
32.本发明还提供一种数据共享系统,包括:第一用户终端和第一云存储代理;
33.所述第一用户终端,用于接收所述第二用户终端提交的数据访问申请表单,并根据预先设定的审批流程决定是否同意分享目标数据;
34.若确定同意分享目标数据,则根据所述第一云存储代理接收到的所述第二用户终端提供的所述数据索引信息和第一自身身份信息,通过所述第一云存储代理将重加密密文发送给所述第二用户终端,以供所述第二用户终端根据所述重加密密文包含的新访问策略和第一属性密钥对所述重加密密文进行解密,以获取所述目标数据;
35.所述第一云存储代理,用于存储密文数据和所述重加密密文;
36.其中,所述第一云存储代理,还用于根据所述第一用户终端提供的所述数据索引信息、第二自身身份信息和重加密密钥对所述密文数据进行重加密运算,生成所述重加密密文。
37.本发明还提供一种数据共享系统,包括:第二用户终端和第二云存储代理;
38.所述第二用户终端,用于向第一用户终端提交数据访问申请表单,以供所述第一用户终端根据预先设定的审批流程决定是否同意分享目标数据;
39.若确定所述第一用户终端同意分享目标数据,则向第二云存储代理提供数据索引信息和第一自身身份信息,以获取重加密密文;
40.根据所述重加密密文包含的新访问策略和第一属性密钥对所述重加密密文进行解密,以获取所述目标数据;
41.所述第二云存储代理,用于存储密文数据和所述重加密密文;
42.其中,所述第二云存储代理,还用于根据所述第一用户终端提供的所述数据索引信息、第二自身身份信息和重加密密钥对所述密文数据进行重加密运算,生成所述重加密密文。
43.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据共享方法的步骤。
44.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据共享方法的步骤。
45.本发明提供的数据共享方法及系统,在数据分享过程中,采用云存储代理以多授权中心属性基代理重加密的方式对数据进行重加密,拓展了数据授权方式,同时将重加密密文存储在云存储代理,无需在本地存储数据原文,减少了本地计算负担,增加数据如隐私数据的分享能力。
附图说明
46.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1是本发明提供的数据共享方法的流程示意图之一;
48.图2是本发明提供的数据共享方法的应用场景示意图之一;
49.图3是本发明提供的数据共享方法的数据加密算法的流程示意图;
50.图4是本发明提供的数据共享方法的应用场景示意图之二;
51.图5是本发明提供的数据共享方法的流程示意图之二;
52.图6是本发明提供的数据共享系统的结构示意图之一;
53.图7是本发明提供的数据共享系统的结构示意图之二;
54.图8是本发明提供的电子设备的实体结构示意图之一;
55.图9是本发明提供的电子设备的实体结构示意图之二。
具体实施方式
56.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.多授权中心的属性基加密指加密系统中属性授权机构处于分布式架构下,且可各自独立无交互运行。它们各自产生属性密钥对并向不同用户签发属性密钥,此架构使属性的产生分散化,可有效避免由于单点故障导致的全局数据加密性失效问题。
58.在实际应用场景中,属性基加密具有广泛应用的研究热点,范围包括但不限于工业、医学、军事、多媒体领域等。其中,属性基加密主要作为访问控制手段提供了多种应用方式和应用场景。
59.目前现有技术和研究尚未有算法成功在构建代理重加密系统时同时实现分布式的多授权中心架构,这个现状是由两种类型方案在方案构造本身的易冲突性导致的。基于此,本发明提供一种数据共享方法,具体实现如下:
60.图1是本发明提供的数据共享方法的流程示意图之一,如图1所示,方法包括:
61.s1、向第一用户终端提交数据访问申请表单,以供第一用户终端根据预先设定的审批流程决定是否同意分享目标数据;
62.s2、若确定第一用户终端同意分享目标数据,则向云存储代理提供数据索引信息和第一自身身份信息,以获取重加密密文;
63.s3、根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
64.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
65.需要说明的是,上述方法的执行主体可以是计算机设备以及移动终端。下面以第二用户终端执行上述方法为例对本发明提供的数据共享方法加以详细说明:
66.可选地,用户2对应的第二用户终端向用户1对应的第一用户终端提交数据访问申请表单,申请数据访问。用户1根据预先设定的审批流程决定是否允许访问。若同意申请,即同意将目标数据分享给用户2,则用户2向云存储代理的云存储代理节点提供数据索引信息和第二用户终端的自身身份信息(即第一自身身份信息)请求重加密密文数据的下载,云存储代理根据条件检索将重加密密文并通过网络信道传输给用户2处的第二用户终端。
67.其中,重加密密文是由用户1向云存储代理的云存储代理节点提供数据索引信息、自身身份信息(即第二自身身份信息)以及重加密密钥请求对云存储上的密文数据进行重
加密运算。云存储代理检索数据并根据正确的重加密密钥执行重加密算法,得到含有用户1指定的新访问策略的重加密密文。其中,重加密密钥是用户1根据首次加密的属性集对应的属性密钥生成包含新访问策略的另一类属性密钥。
68.用户2使用获取的属性基数据(目标数据)的重加密密文包含的访问策略信息(即新访问策略)与自身持有的属性密钥(即第一属性密钥)对重加密密文进行解密,得到目标数据明文的获取,由此实现了用户1向用户2的数据分享。
69.需要说明的是,云存储代理的云存储代理节点用于存储加密后的数据(包括密文数据和重加密密文),该类节点收取一定的服务费用,对客户端节点(包括第一用户终端和第二用户终端)上传的数据进行存储,并提供基于数据索引的数据查询服务。同时云存储代理节点还将承担代理重加密的重加密任务,根据客户端节点上传的重加密密钥处理数据转换密文的访问策略。
70.需要指出的是,云存储代理节点的具体实现满足上述功能即可,具体实现不做具体要求,以实现分布式架构下的灵活性。云存储代理节点可以由使用者自行选择,构建在现有中心化的云服务(如阿里云、腾讯云等)之下,也可由基于分布式数据存储实施(如分布式存储ipfs等)。
71.客户端节点为数据加密和数据分享功能的使用者,据使用不同功能部分存在三种使用方式:第一种是数据所有者,对数据进行初次加密后得到密文数据并将其上传到云存储代理节点;第二种是数据访问者,满足密文访问策略属性集合的用户可以解密密文;第三种是重加密数据访问者,向数据所有者申请权限经过代理重加密访问数据。其中,第一用户终端作为数据所有者和数据访问者,第二用户终端作为重加密数据访问者。
72.本发明提供的数据共享方法,在数据分享过程中,采用云存储代理以多授权中心属性基代理重加密的方式对数据进行重加密,拓展了数据授权方式,同时将重加密密文存储在云存储代理,无需在本地存储数据原文,减少了本地计算负担,增加数据如隐私数据的分享能力。
73.进一步地,在一个实施例中,步骤s3可以具体包括:
74.s31、将新访问策略与第一属性密钥进行匹配,并判断第一属性密钥所包含的属性集是否为新访问策略的第二属性密钥对应的合法解密属性集的子集;
75.s32、若是,则对重加密密文进行解密,获取目标数据。
76.可选地,用户2根据获取的目标数据的重加密密文包含的访问策略信息与自身持有的第一属性密钥进行匹配判断第一属性密钥拥有属性集是否满足解密要求。若属性集是对应访问策略满足要求的一个授权集合(即新访问策略的第二属性密钥对应的合法解密属性集的子集),用户2在本地使用属性密钥集合执行属性基重加密密文解密算法,完成了初始的目标数据明文的获取,由此实现了用户1向用户2的数据分享。不满足访问策略的属性集合不能用来解密。
77.其中,用户1提供的分享方式包括一对一分享以及集体分享:集体分享使用不含私有属性的通用式访问策略;一对一分享中访问策略是通用访问策略和用户1私有属性密钥的与运算,若用户1选择的分享方式为一对一分享,此时仅有持有用户1发布的私有属性密钥的用户才能解密数据。
78.本发明提供的数据共享方法,在数据分享过程中将数据上传至云存储代理后即无
需在本地存储数据原文,仅在每次为不同类型用户分享数据时需要在本地生成不同的重加密密钥,将重加密工作交由云存储代理节点完成,减少了本地计算负担。
79.进一步地,在一个实施例中,第一属性密钥是通过如下方式确定的:
80.向多个属性授权节点发送请求,获取各属性授权节点发布的的所有属性的集合对应的子集的第三属性密钥;
81.向第一用户终端发送请求,获取第一用户终端的第四属性密钥;
82.根据第三属性密钥和第四属性密钥的任一组合,确定第一属性密钥。
83.可选地,如图2所示,是本发明提供的数据共享方法的应用场景示意图之一,提供一种计算机应用用于实现一种基于本发明所提供多授权中心属性基代理重加密算法方案的数据共享功能模式,在本计算机应用中,除用户1外,其余4台设备都只包含一类节点,其中,中心1和中心2设备包含属性授权节点;用户1和用户2包含客户端节点,其中,用户1的角色为数据所有者和数据访问者,用户2的角色为重加密数据访问者,且用户1独立作为属性授权节点发布其私有属性对应的属性密钥;云存储代理包含云存储代理节点。5台设备处于可以相互通信的网络环境和物理环境中,在进入网络后,用户1标识自身为客户端节点以及私有属性的属性授权节点、用户2标识自身为客户端节点,中心1、2设备标识自身为属性授权节点,云存储代理标识自身为云存储代理节点。
84.用户1在网络中向中心1和中心2中属性授权节点发送请求,获取中心1和中心2各自发布属性对应公钥集合,中心1和中心2节点返回所有属性描述信息和对应公钥。
85.用户1基于获取的属性公钥集合,生成一份不同属性构成的逻辑运算式,表示基于属性的访问策略,并在本地设备上执行多授权中心属性基加密算法对目标数据进行加密运算,得到包含了属性基访问策略的密文数据。此时用户1自身持有解密所需属性密钥,所以也作为数据访问者。基于公开的属性公钥集合,数据所有者可基于各属性构建一份访问策略加密数据。访问策略由属性的逻辑运算表达式构成,数学上总可转换成树形结构,表示解密该数据需要提供的属性集合。
86.用户1将加密完成的数据密文打包,通过网络信道发送给云存储代理处的云存储代理节点请求数据存储服务。具体服务协议如数据存储时限以及云计算服务价格由用户1和云存储代理间自行协商。代理完成存储后返回成功标志以及密文数据在其存储节点上的数据索引信息。
87.用户2在进入当前环境后标识自身为客户端节点,在进行一对一分享时需要数据加密者(用户1)私有属性密钥时,向中心1、中心2以及用户1中属性授权节点提出请求,申请获取属性对应属性密钥集合,其中用户1所发布属性是一对一数据分享时使用的用户1私有密钥。属性密钥的申请审批流程和签发标准由属性授权节点自行决定。交互之后,用户2获取到一份来自中心1和中心2所有发布属性的集合对应的一个子集(访问策略中某一合法属性集)的属性密钥(即第三属性密钥)。允许一对一分享时,用户2也将获取来自用户1的私有属性密钥(即第四属性密钥)。至此,用户2根据获得的第三属性密钥和第四属性密钥确定自身持有的第一属性密钥。
88.可选地,图3是本发明提供的数据共享方法的数据加密算法的流程示意图,如图3所示,本发明提供的数据共享方法中涉及到的数据的加密解密算法流程具体为:
89.步骤1、全局初始化;步骤2、授权中心初始化;步骤3、属性密钥生成;步骤4、数据加
密;步骤5、数据解密;步骤6、重加密密钥生成;步骤7、辅助密文生成;步骤8、代理重加密;步骤9、重加密数据解密。算法共涉及到5类角色:属性授权中心、云存储代理、数据所有者、数据访问者和重加密数据访问者,其中数据所有者、数据访问者和重加密数据访问者属于系统用户,运行在客户端节点。
90.本加密解密算法方案理论基础为基于椭圆曲线上weil对或tate对的双线性配对,具体算法实施步骤如下:
91.步骤1、系统建立时将唯一执行一次全局初始化算法,产生密码学运算需要全局统一的部分参数,包括曲线参数、循环群的阶数等。参数确定后不再改变且所有参与方可见。
92.步骤2、任何人都可以执行授权中心初始化算法,通过产生一对或多对属性密钥对在分布式环境下成为一个属性授权中心,系统中可存在任意多个属性授权中心。算法中每一属性产生时生成对应私钥和公钥。公钥对任何人可见,私钥用于产生属性密钥。
93.步骤3、属性授权中心为系统用户签发属性时,基于对应属性的私钥以及用户全局统一身份标识符gid执行属性密钥生成算法,生成一把该用户持有的属性密钥i1,不同用户持有的同一属性的密钥互不通用以避免共谋攻击。
94.步骤4、数据所有者加密时在全局选取一组属性,读取对应公钥并构造基于逻辑表达式的访问策略,执行数据加密算法加密数据生成属性基密文ca(即数据密文),数据密文ca可存放到云存储代理处。
95.步骤5、数据访问者为解密步骤4中数据所有者产生的密文数据ca,需要持有满足密文中数据访问策略的合法解密属性集对应的属性密钥,基于这些密钥执行数据解密算法以获取数据明文。
96.步骤6、持有一组合法解密密钥i1的数据访问者能够基于这些属性密钥执行重加密密钥生成算法生成同属性的重加密密钥re-key。
97.步骤7、执行重加密密钥生成算法完毕后,数据访问者依照步骤4中相同步骤选取新的访问策略,执行辅助密文生成算法生成指示了新访问策略的辅助密文act。重加密算法环节需要结合重加密密钥re-key和辅助密文act共同使用。
98.步骤8、数据访问者在执行步骤6和步骤7后,将重加密密钥re-key和辅助密文act打包发送给云存储代理,云存储代理可在云端执行代理重加密算法,对步骤4中密文进行访问策略转换即重加密,生成重加密密文cb。
99.步骤9、重加密数据访问者为解密步骤8中产生的重加密密文cb,需要持有满足数据访问者指定的新访问策略的合法解密属性集对应的属性密钥i2,基于这些密钥执行重加密数据解密算法获取数据明文。
100.可选地,图4是本发明提供的数据共享方法的应用场景示意图之二,如图4所示,本发明还提供一种计算机设备基于所提供上述算法加密解密方案实现数据共享。该计算机设备由具有三类功能节点的设备实现,这三种功能节点分别是属性授权节点、云存储代理节点、客户端节点。同一设备可具有三类节点的其中一类或多类,但至少具备一类节点。同一组设备中的节点必须涵盖全部三类节点。各节点在系统中分布式地存在,且基于分布式身份标识符进行节点身份标识。
101.属性授权节点为分布式散布在系统中发布属性,公开属性公钥并根据客户端节点的请求向用户签发用户特征化的属性密钥,这些属性密钥在系统中将被客户端节点用以属
性基加密数据。具有现实权威性的属性授权中心可以向现有的公开证书机构ca注册对属性公钥进行认证从而增加所签发属性的效力。
102.可选地,本发明实施例还提供一种交互组织形式,所述组织形式适用于上述的计算机设备,包括:
103.交互节点数量至少有两个,在上述计算机设备可以承受范围内没有上限;
104.交互节点必须能够通过网络通信设施相互连接,产生数据交互针对对方所提请求产生含有具体意义的响应;
105.交互节点在纯分布式场景下产生自发的信息交互,纯分布式是指各节点构成的系统在交互时,其数据存储、身份识别认证、交互存证皆不必依赖中心化系统提供的服务,有较强的自组织性,系统中不存在具有绝对权威性的控制节点。
106.本发明提供的数据共享方法,采用多属性授权节点的结构使目标数据的属性的产生分散化,可以有效避免由于单个属性授权节点出现故障导致的全局数据加密性时效的问题。
107.图5是本发明提供的数据共享方法的流程示意图之二,如图5所示,方法包括:
108.s4、接收第二用户终端提交的数据访问申请表单,并根据预先设定的审批流程决定是否同意分享目标数据;
109.s5、若确定同意分享目标数据,则根据云存储代理接收到的第二用户终端提供的数据索引信息和第一自身身份信息,通过云存储代理将重加密密文发送给第二用户终端,以供第二用户终端根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
110.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
111.需要说明的是,上述方法的执行主体可以是计算机设备以及移动终端。下面以第一用户终端执行上述方法为例对本发明提供的数据共享方法加以详细说明:
112.可选地,用户1对应的第一用户终端接收用户2对应的第二用户终端提交数据访问申请表单,申请数据访问。用户1根据预先设定的审批流程决定是否允许访问。若同意申请,即同意将目标数据分享给用户2,则用户2向云存储代理的云存储代理节点提供数据索引信息和第二用户终端的自身身份信息(即第一自身身份信息)请求重加密密文数据的下载,云存储代理根据条件检索将重加密密文并通过网络信道传输给用户2处的第二用户终端。
113.其中,重加密密文是由用户1向云存储代理的云存储代理节点提供数据索引信息、自身身份信息(即第二自身身份信息)以及重加密密钥请求对云存储上的密文数据进行重加密运算。云存储代理检索数据并根据正确的重加密密钥执行重加密算法,得到含有用户1指定的新访问策略的重加密密文。其中,重加密密钥是用户1根据首次加密的属性集对应的属性密钥生成包含新访问策略的属性密钥。
114.用户2获取的属性基数据(目标数据)的重加密密文包含的访问策略信息(即新访问策略)与自身持有的属性密钥(即第一属性密钥)对重加密密文进行解密,得到目标数据明文的获取,由此实现了用户1向用户2的数据分享。
115.需要说明的是,云存储代理的云存储代理节点用于存储加密后的数据(包括密文数据和重加密密文),该类节点收取一定的服务费用,对客户端节点(包括第一用户终端和
第二用户终端)上传的数据进行存储,并提供基于数据索引的数据查询服务。同时云存储代理节点还将承担代理重加密的重加密任务,根据客户端节点上传的重加密密钥处理数据转换密文的访问策略。
116.需要指出的是,云存储代理节点的具体实现满足上述功能即可,具体实现不做具体要求,以实现分布式架构下的灵活性。云存储代理节点可以由使用者自行选择,构建在现有中心化的云服务(如阿里云、腾讯云等)之下,也可由基于分布式数据存储实施(如分布式存储ipfs等)。
117.客户端节点为数据加密和数据分享功能的使用者,据使用不同功能部分存在三种使用方式:第一种是数据所有者,对数据进行初次加密后得到密文数据并将其上传到云存储代理节点;第二种是数据访问者,满足密文访问策略属性集合的用户可以解密密文;第三种是重加密数据访问者,向数据所有者申请权限经过代理重加密访问数据。其中,第一用户终端作为数据所有者和数据访问者,第二用户终端作为重加密数据访问者。
118.需要说明的是,本发明提供的数据共享方法中涉及到的数据的加密解密算法流程与上述加密解密算法流程一致。
119.本发明提供的数据共享方法,能够在数据分享过程中,在数据分享过程中,采用云存储代理以多授权中心属性基代理重加密的方式对数据进行重加密,拓展了数据授权方式,同时将重加密密文存储在云存储代理,无需在本地存储数据原文,减少了本地计算负担,增加数据如隐私数据的分享能力。
120.进一步地,在一个实施例中,密文数据是通过如下方式确定的:
121.向多个属性授权节点发送请求,以获取目标数据对应的属性公钥集合;
122.基于属性公钥集合,确定访问策略;
123.根据访问策略对目标数据进行加密运算,以确定密文数据。
124.进一步地,在一个实施例中,第一属性密钥是通过如下方式确定的:
125.根据接收到的第二用户终端发送的请求,将第四属性密钥发送给第二用户终端,以供第二用户终端根据第三属性密钥和第四属性密钥确定第一属性密钥;
126.其中,第三属性密钥是第二用户终端通过向多个属性授权节点发送请求后,获取的各属性授权节点发布的所有属性的集合对应的子集的属性密钥。
127.可选地,参见图2提供的计算机应用中,除用户1外,其余4台设备都只包含一类节点,其中,中心1和中心2设备包含属性授权节点;用户1和用户2包含客户端节点,其中,用户1的角色为数据所有者和数据访问者,用户2的角色为重加密数据访问者,且用户1独立作为属性授权节点发布其私有属性对应的属性密钥;云存储代理包含云存储代理节点。5台设备处于可以相互通信的网络环境和物理环境中,在进入网络后,用户1标识自身为客户端节点以及私有属性的属性授权节点、用户2标识自身为客户端节点,中心1、2设备标识自身为属性授权节点,云存储代理标识自身为云存储代理节点。
128.用户1在网络中向中心1和中心2中属性授权节点发送请求,获取中心1和中心2各自发布属性对应公钥集合,中心1和中心2节点返回所有属性描述信息和对应公钥。
129.用户1基于获取的属性公钥集合,生成一份不同属性构成的逻辑运算式,表示基于属性的访问策略,并在本地设备上执行多授权中心属性基加密算法对目标数据进行加密运算,得到包含了属性基访问策略的密文数据。此时用户1自身持有解密所需属性密钥,所以
也作为数据访问者。基于公开的属性公钥集合,数据所有者可基于各属性构建一份访问策略加密数据。访问策略由属性的逻辑运算表达式构成,数学上总可转换成树形结构,表示解密该数据需要提供的属性集合。
130.用户1将加密完成的数据密文打包,通过网络信道发送给云存储代理处的云存储代理节点请求数据存储服务。具体服务协议如数据存储时限以及云计算服务价格由用户1和云存储代理间自行协商。代理完成存储后返回成功标志以及密文数据在其存储节点上的数据索引信息。
131.用户2在进入当前环境后标识自身为客户端节点,向中心1、中心2以及用户1中属性授权节点提出请求,申请获取属性对应属性密钥集合,其中用户1所发布属性是一对一数据分享时使用的用户1私有密钥。属性密钥的申请审批流程和签发标准由属性授权节点自行决定。交互之后,用户2获取到一份来自中心1和中心2所有发布属性的集合对应的一个子集的属性密钥(即第三属性密钥)。允许一对一分享时,用户2也将获取来自用户1的私有属性密钥(即第四属性密钥)。至此,用户2根据获得的第三属性密钥和第四属性密钥确定自身持有的第一属性密钥。
132.本发明提供的数据共享方法,采用多属性授权节点的结构使目标数据的属性的产生分散化,可以有效避免由于单个属性授权节点出现故障导致的全局数据加密性时效的问题。
133.下面对本发明提供的数据共享系统进行描述,下文描述的数据共享系统与上文描述的数据共享方法可相互对应参照。
134.图6是本发明提供的数据共享系统的结构示意图,如图6所示,包括:第一用户终端610和第一云存储代理611;
135.第一用户终端610,用于接收第二用户终端提交的数据访问申请表单,并根据预先设定的审批流程决定是否同意分享目标数据;
136.若确定同意分享目标数据,则根据第一云存储代理611接收到的第二用户终端提供的数据索引信息和第一自身身份信息,通过第一云存储代理将重加密密文发送给第二用户终端,以供第二用户终端根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
137.第一云存储代理611,用于存储密文数据和重加密密文;
138.其中,第一云存储代理611,还用于根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对密文数据进行重加密运算,生成重加密密文。
139.本发明提供的数据共享系统,能够在数据分享过程中,在数据分享过程中,采用云存储代理以多授权中心属性基代理重加密的方式对数据进行重加密,拓展了数据授权方式,同时将重加密密文存储在云存储代理,无需在本地存储数据原文,减少了本地计算负担,增加数据如隐私数据的分享能力。
140.图7是本发明提供的数据共享系统的结构示意图,如图7所示,包括:第二用户终端710和第二云存储代理711;
141.第二用户终端710,用于向第一用户终端提交数据访问申请表单,以供第一用户终端根据预先设定的审批流程决定是否同意分享目标数据;
142.若确定第一用户终端同意分享目标数据,则向第二云存储代理提供数据索引信息
和第一自身身份信息,以获取重加密密文;
143.根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取所述目标数据;
144.第二云存储代理711,用于存储密文数据和重加密密文;
145.其中,第二云存储代理711,还用于根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对密文数据进行重加密运算,生成重加密密文。
146.本发明提供的数据共享系统,能够在数据分享过程中,在数据分享过程中,采用云存储代理以多授权中心属性基代理重加密的方式对数据进行重加密,拓展了数据授权方式,同时将重加密密文存储在云存储代理,无需在本地存储数据原文,减少了本地计算负担,增加数据如隐私数据的分享能力。
147.图8是本发明提供的一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(communication interface)811、存储器(memory)812和总线(bus)813,其中,处理器810,通信接口811,存储器812通过总线813完成相互间的通信。处理器810可以调用存储器812中的逻辑指令,以执行如下方法:
148.向第一用户终端提交数据访问申请表单,以供第一用户终端根据预先设定的审批流程决定是否同意分享目标数据;
149.若确定第一用户终端同意分享目标数据,则向云存储代理提供数据索引信息和第一自身身份信息,以获取重加密密文;
150.根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
151.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
152.图9是本发明提供的一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(communication interface)911、存储器(memory)912和总线(bus)913,其中,处理器910,通信接口911,存储器912通过总线913完成相互间的通信。处理器910可以调用存储器912中的逻辑指令,以执行如下方法:
153.接收第二用户终端提交的数据访问申请表单,并根据预先设定的审批流程决定是否同意分享目标数据;
154.若确定同意分享目标数据,则根据云存储代理接收到的第二用户终端提供的数据索引信息和第一自身身份信息,通过云存储代理将重加密密文发送给第二用户终端,以供第二用户终端根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
155.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
156.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
157.进一步地,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的数据共享方法,例如包括:
158.向第一用户终端提交数据访问申请表单,以供第一用户终端根据预先设定的审批流程决定是否同意分享目标数据;
159.若确定第一用户终端同意分享目标数据,则向云存储代理提供数据索引信息和第一自身身份信息,以获取重加密密文;
160.根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
161.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
162.或
163.接收第二用户终端提交的数据访问申请表单,并根据预先设定的审批流程决定是否同意分享目标数据;
164.若确定同意分享目标数据,则根据云存储代理接收到的第二用户终端提供的数据索引信息和第一自身身份信息,通过云存储代理将重加密密文发送给第二用户终端,以供第二用户终端根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
165.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
166.另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的数据共享方法,例如包括:
167.向第一用户终端提交数据访问申请表单,以供第一用户终端根据预先设定的审批流程决定是否同意分享目标数据;
168.若确定第一用户终端同意分享目标数据,则向云存储代理提供数据索引信息和第一自身身份信息,以获取重加密密文;
169.根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
170.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
171.或
172.接收第二用户终端提交的数据访问申请表单,并根据预先设定的审批流程决定是否同意分享目标数据;
173.若确定同意分享目标数据,则根据云存储代理接收到的第二用户终端提供的数据索引信息和第一自身身份信息,通过云存储代理将重加密密文发送给第二用户终端,以供
第二用户终端根据重加密密文包含的新访问策略和第一属性密钥对重加密密文进行解密,以获取目标数据;
174.其中,重加密密文是由云存储代理根据第一用户终端提供的数据索引信息、第二自身身份信息和重加密密钥对云存储代理上存储的密文数据进行重加密运算后生成的。
175.以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
176.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行各个实施例或者实施例的某些部分所述的方法。
177.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1