掌桥专利:专业的专利平台
掌桥专利
首页

数据共享方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:44:28


数据共享方法、装置、电子设备及存储介质

技术领域

本申请涉及数据安全技术领域,具体而言,涉及一种数据共享方法、装置、电子设备及存储介质。

背景技术

随着互联网的高速发展,网络机构和/或各大运营商等组织机构的数据量不断急剧增长,实现数据跨域流通和应用的需求日益强烈。在保护数据隐私的前提下,实现数据跨域交换流通,将促进多行业、多领域数据应用创新融合,具有重要的意义。

因此,如何在实现数据共享的同时,保护数据的隐私,是目前亟待解决的技术问题。

发明内容

本申请实施例的目的在于提供一种数据共享方法、装置、电子设备及存储介质,用以在将数据共享的同时,保护好数据的隐私。

第一方面,本申请实施例提供一种数据共享方法,应用于数据需求方,包括:

接收数据拥有方发送的共享数据信息;共享数据信息包括共享权限位置表和混淆秘密份额列表,共享权限位置表包括数据拥有方法允许共享数据的各数据需求方信息和共享数据位置信息;混淆秘密份额列表包括共享数据对应的秘密份额;

若根据数据需求方的身份标识和共享权限位置表确定数据需求方有共享数据权限,则从共享权限位置表中获取目标共享数据位置信息;

基于目标共享数据位置信息从混淆秘密份额列表中获取目标秘密份额;

根据目标秘密份额生成对应的目标共享数据。

本申请实施例通过共享权限位置表验证是否存在可与数据需求方共享的数据,并且确定可共享数据所在位置,并从混淆秘密份额列表中获取目标秘密份额,并基于获取到的目标秘密份额生成目标共享数据,在将数据共享的同时,保护好数据的隐私。

在任一实施例中,若根据数据需求方的身份标识和共享权限位置表确定数据需求方有共享数据权限,则从共享权限位置表中获取目标共享数据位置信息,包括:

基于与数据拥有方约定好的哈希函数对身份标识进行计算,获得哈希值;

根据哈希值从共享权限位置表中获得目标位置数据;目标位置数据包括身份位置数据和秘密份额位置数据;

对身份位置数据进行恢复运算,获得待比对身份标识;

若数据需求方的身份标识与待比对身份标识相同,则对秘密份额位置数据解密,获得目标共享数据位置信息。

本申请实施例通过从共享权限位置表中获得身份位置数据和秘密份额位置数据,基于身份位置数据获得待比对身份标识,从而可基于待比对身份标识进行身份验证,在验证通过后,基于秘密份额位置数据获得目标共享数据在混淆秘密份额列表中的位置信息,其计算量较小,提高计算效率。

在任一实施例中,根据目标秘密份额生成对应的目标共享数据,包括:

利用预设秘密恢复算法对目标秘密份额进行计算,获得密态数据;

对密态数据进行解密,获得目标共享数据。

本申请实施例通过对密态数据进行解密,获得目标共享数据,提高了数据的隐私安全性。

在任一实施例中,该方法还包括:

通过管理方向数据拥有方发送权能令牌请求,以使数据拥有方为数据需求方创建权能令牌;

接收数据需求方发送的权能令牌;权能令牌用于表征数据拥有方能够从数据拥有方获取数据的权限。

本申请实施例采用基于权能的访问控制策略,该访问策略配置灵活、轻量化,没有复杂的验证和决策过程,从而可解决跨域访问控制过程复杂的问题。

在任一实施例中,接收数据拥有方发送的共享数据信息,包括:

向数据拥有方发送数据访问请求,数据访问请求包括权能令牌和签名信息,以使数据拥有方对权能令牌和签名信息进行验证;

接收数据拥有方验证通过后发送的共享数据信息的路径信息,并根据所述路径信息获取共享数据信息。

本申请实施例中,数据拥有方在对数据需求方身份验证通过后再向数据需求方发送共享数据信息,从而提高了数据的安全性。

在任一实施例中,该方法还包括:

向数据拥有方发送数据共享请求,以使数据拥有方生成共享权限位置表和混淆秘密份额列表,并将共享权限位置表和混淆秘密份额列表上传至服务器。

本申请实施例通过向数据拥有方发送数据共享请求,以使数据拥有方生成共享权限位置表和混淆秘密份额列表,从而使得数据需求方基于这两个表进行数据访问,提高了数据跨域共享过程中数据的隐私性。

第二方面,本申请实施例提供另一种数据共享方法,应用于数据拥有方,包括:

接收数据需求方发送的数据访问请求;

向数据需求方发送共享数据信息对应的路径信息,共享数据信息包括共享权限位置表和混淆秘密份额列表,共享权限位置表包括数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;混淆秘密份额列表包括共享数据对应的秘密份额;以使数据需求方根据共享权限位置表和混淆秘密份额列表确定目标共享数据。

本申请实施例通过向数据需求方发送共享数据信息,使得数据需求方根据共享权限位置表验证是否存在可与数据需求方共享的数据,并且确定可共享数据所在位置,并从混淆秘密份额列表中获取目标秘密份额,并基于获取到的目标秘密份额生成目标共享数据,在将数据共享的同时,保护好数据的隐私。

在任一实施例中,该方法还包括:

利用数据需求方的公钥对可共享数据进行加密,获得加密后的可共享数据;

利用加法秘密分享方法对加密后的可共享数据进行处理,获得多个秘密份额;

根据秘密份额生成初始秘密份额列表;

将初始秘密份额列表按列随机打乱,获得混淆秘密份额列表;

将混淆秘密份额列表上传至服务器。

本申请实施例通过加法秘密分享方法对加密后的可共享数据进行处理,进而生成混淆秘密份额列表,降低了计算量,提高了数据共享效率。

在任一实施例中,该方法还包括:

获取混淆秘密份额列表中各秘密份额的行信息,并按照最大长度行信息对各秘密份额的行信息进行填充,获得秘密份额位置数据;

获取数据需求方的身份标识,并将身份标识进行拆分,获得多个身份标识片段;

利用身份标识片段最大长度对各身份标识片段进行填充,获得填充后的身份标识片段;

利用与数据需求方约定好的哈希函数对数据需求方的填充后的身份标识片段进行计算,获得身份位置数据;

根据身份位置数据、数据需求方的公钥和秘密份额位置数据生成共享权限位置表。

本申请实施例通过非对称加密方法生成共享权限位置表,可降低计算量和计算复杂度。

在任一实施例中,该方法还包括:

接收数据需求方发送的权能令牌请求;

基于权能令牌请求创建数据需求方的权能令牌;

向数据需求方发送权能令牌。

本申请实施例采用基于权能的访问控制策略,该访问控制策略具有配置灵活、轻量化的特点,访问控制过程中没有复杂的验证和决策过程,从而可解决跨域访问控制过程复杂的问题。

第三方面,本申请实施例提供一种数据共享装置,应用于数据需求方,包括:

数据接收模块,用于接收数据拥有方发送的共享数据信息;共享数据信息包括共享权限位置表和混淆秘密份额列表,共享权限位置表包括数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;混淆秘密份额列表包括共享数据对应的秘密份额;

位置确定模块,用于根据数据需求方的身份标识和共享权限位置表判断数据需求方是否有共享数据权限,若有共享数据权限,则从共享权限位置表中获取目标共享数据位置信息;

秘密份额获取模块,用于基于目标共享数据位置信息从混淆秘密份额列表中获取目标秘密份额;

共享数据生成模块,用于根据目标秘密份额生成对应的目标共享数据。

第四方面,本申请实施例提供一种数据共享装置,应用于数据拥有方,包括:

请求接收模块,用于接收数据需求方发送的数据访问请求;

共享数据发送模块,用于向数据需求方发送共享数据信息对应的路径信息,共享数据信息包括共享权限位置表和混淆秘密份额列表,共享权限位置表包括数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;混淆秘密份额列表包括共享数据对应的秘密份额;以使数据需求方根据共享权限位置表和混淆秘密份额列表确定目标共享数据。

第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,

所述处理器和所述存储器通过所述总线完成相互间的通信;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面或第二方面的方法。

第六方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:

所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面或第二方面的方法。

本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

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

图2为本申请实施例提供的另一种数据共享方法流程示意图;

图3为本申请实施例提供的一种数据共享装置结构示意图;

图4为本申请实施例提供的另一种数据共享装置结构示意图;

图5为本申请实施例提供的电子设备实体结构示意图。

具体实施方式

下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。

在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

随着互联网的高速发展,网络机构和/或各大运营商等组织机构的数据量不断急剧增长,实现数据跨域流通和应用的需求日益强烈。在保护数据隐私的前提下,实现数据跨域交换流通,将促进多行业、多领域数据应用创新融合,具有重要的意义。因此,在实现数据跨域共享的过程中,保护好数据隐私相当重要。

当前已有的技术方案对数据隐私保护考虑不足,或存在计算和通信量大等问题。随着隐私计算技术不断发展成熟,其为打破数据孤岛提供了一种可行的技术路径。比如,在保护数据跨域传输的隐私性方面,可采用基于同态加密的方案,数据持有方将数据经同态加密后传输给数据需求方,数据需求方直接使用密态数据进行计算或处理,得到所需的结果。但目前全同态加密仍面临计算开销大、计算效率低的问题,难以大规模应用,而半同态加密会受到使用场景限制。

为了能够在数据跨域共享的过程中,保护好数据的隐私,本申请实施例提供了一种数据共享方法、装置、电子设备及存储介质。该方法通过数据拥有方预先生成共享权限位置表和混淆秘密份额列表,数据需求方访问共享权限位置表和混淆秘密份额列表,基于共享权限位置表确定是否有权限访问数据,以及可访问的数据的位置信息,并基于混淆秘密份额列表查找可访问的数据的位置信息对应的秘密份额,从而根据秘密份额列表获得所需的目标共享数据。在数据共享过程中,数据传输量较小,计算量相对也较小。

可以理解的是,本申请实施例所提供的数据共享方法可以应用于不同数据安全域的数据拥有方和数据需求方,也可以应用于属于同一个数据安全域的数据拥有方和数据需求方。下面均以跨域进行数据共享的场景进行描述。

图1为本申请实施例提供的一种数据共享方法流程示意图,如图1所示,该方法应用于数据需求方,该方法包括:

步骤101:接收数据拥有方发送的共享数据信息。

其中,数据需求方是指需要从其他终端获取数据的一方,数据拥有方是指数据需求方请求访问数据的一方。可以理解的是,数据需求方和数据拥有方可以是电子设备,具体例如:可以为终端或服务器。

共享数据信息包括共享权限位置表和混淆秘密份额列表,共享权限位置表和混淆秘密份额列表为数据拥有方预先生成的。其中,共享权限位置表和混淆秘密份额列表的生成方法参见下述实施例。

混淆秘密份额列表包括各数据需求方可共享数据对应的秘密份额,混淆秘密份额列表可以为二维数据表,一条可共享数据包括多个秘密份额,多个秘密份额所在的行信息或列信息被打乱,因此,称为混淆秘密份额列表。

共享权限位置表包括数据拥有方允许共享数据的各数据需求方的身份信息和共享数据位置信息,共享权限位置表可以为混淆布隆过滤器,为一维数组,可以理解的是,不同的数据需求方其能够共享到的数据拥有方的数据不同。数据需求方信息可以是指数据需求方的身份标识,具体的,数据拥有方可以将数据需求方的身份标识进行哈希计算,获得多个身份标识的哈希值,不同的哈希值映射在共享权限位置表中的位置不同。共享数据位置信息是指数据需求方能够共享到数据拥有方的数据对应的秘密份额在混淆秘密份额列表中的位置,具体可以是指秘密份额在混淆秘密份额列表中的行信息。当然,也可以是列信息,具体可根据混淆秘密份额列表将秘密份额打乱的方式确定。例如:若混淆秘密份额列表中是按列将秘密份额打乱,那么共享数据位置信息可以是指秘密份额在混淆秘密份额列表中的行信息;如果混淆秘密份额列表中是按行将秘密份额打乱,那么共享数据位置信息可以是指秘密份额在混淆秘密份额列表中的列信息。可以理解的是,身份标识的哈希值数量与每条数据对应的秘密份额的数量相同,身份标识的一个哈希值对应每条数据的一个秘密份额。

步骤102:根据数据需求方的身份标识和共享权限位置表判断数据需求方是否有共享数据权限,若有共享数据权限,则从共享权限位置表中获取目标共享数据位置信息。

数据需求方通过访问共享权限位置表来判断数据需求方的身份标识是否在共享权限位置表中,如果在,则说明混淆秘密份额列表中存在向数据需求方共享的数据,即数据需求方有共享数据权限;如果不在,则说明混淆秘密份额列表中没有向数据需求方共享的数据,即数据需求方没有获得共享数据的权限。针对数据需求方有共享数据权限的情况,还可以从共享权限位置表中获取数据需求方能够共享到的数据在混淆秘密份额列表中的位置,即目标共享数据位置信息。

步骤103:基于目标共享数据位置信息从混淆秘密份额列表中获取目标秘密份额。

数据需求方在获取到目标共享数据位置信息后,可以根据目标共享数据位置信息从混淆秘密份额列表中获取对应位置上的目标秘密份额。

步骤104:根据目标秘密份额生成对应的目标共享数据。

由于一条数据包含多个目标秘密份额,因此,数据需求方在获取到目标秘密份额后,可以将目标秘密份额整合成一条条完整的目标共享数据。可以理解的是,目标共享数据可以是一条数据,也可以是多条数据,具体可根据数据拥有方给数据需求方的共享权限和数据需求方的实际需求确定。因此,本申请实施例的数据共享方法可以一次请求共享多条数据,提高了数据共享的效率。

本申请实施例通过共享权限位置表验证是否存在数据需求方可共享的数据,并且确定可共享数据所在位置,并从混淆秘密份额列表中获取目标秘密份额,并基于获取到的目标秘密份额生成目标共享数据,在共享数据的同时,保护好数据的隐私。

在上述实施例的基础上,若根据数据需求方的身份标识和共享权限位置表确定数据需求方有共享数据权限,则从共享权限位置表中获取目标共享数据位置信息,包括:

基于与数据拥有方约定好的哈希函数对身份标识进行计算,获得哈希值;

根据哈希值从共享权限位置表中获得目标位置数据;目标位置数据包括身份位置数据和秘密份额位置数据;

对身份位置数据进行恢复运算,获得待比对身份标识;

若数据需求方的身份标识与待比对身份标识相同,则对秘密份额位置数据解密,获得目标共享数据位置信息。

在具体的实施过程中,数据需求方和数据拥有方可预先约定好哈希函数,例如,可约定k个理想的哈希函数,其中,k的取值可根据实际情况确定,即能够保证映射到共享权限位置表中的位置不同即可。哈希函数用于将字符串映射到共享权限位置表的多个位置上,可采用H

数据需求方可基于k个哈希函数和自身的身份标识判断数据拥有方有没有向自己共享数据,具体方法为:数据拥有方分别利用k个哈希函数对自身的身份标识进行哈希计算,获得k个哈希值。可以理解的是,k个哈希值可以得到在共享权限位置表上的k个位置,本申请实施例称为目标位置数据。目标位置数据包括身份位置数据和秘密份额位置数据,身份位置数据是指用于表征身份信息的数据,秘密份额位置数据用于表征秘密份额在混淆秘密份额列表中的位置的加密信息。例如:一个目标位置数据中前预设个字符为身份位置数据,剩余后面的字符为秘密份额位置数据。

在获得k个位置上的数据后,将每个数据前预设个数位提取出来,并使用秘密分享方法进行恢复运算,获得待比对身份标识。应当说明的是,进行恢复运算的秘密分享方法与共享权限位置表生成时所采用的秘密分享方法相对应,即,若共享权限位置表生成时,所采用的秘密分享方法为加法秘密分享(例如:异或秘密分享),那么在进行恢复运算时,也采用异或秘密分享方法。

数据需求方在获得待比对身份标识后,将身份标识与待比对身份标识进行匹配,如果身份标识与待比对身份标识一致,则说明数据拥有方向数据需求方共享了数据;否则,说明数据拥有方没有向数据需求方共享数据。

在确定身份标识与待比对身份标识一致后,可获得对应的秘密份额位置数据,并对秘密份额位置数据进行解密,例如:可采用私钥对秘密份额位置数据进行解密,获得目标共享数据位置信息。可以理解的是,目标共享数据位置信息用于表征秘密份额在混淆秘密份额列表中的位置信息。

本申请实施例通过从共享权限位置表中获得身份位置数据和秘密份额位置数据,基于身份位置数据获得待比对身份标识,从而可基于待比对身份标识进行身份验证,在验证通过后,基于秘密份额位置数据获得目标共享数据在混淆秘密份额列表中的位置信息,其计算量较小,提高了计算效率。

在上述实施例的基础上,根据目标秘密份额生成对应的目标共享数据,包括:

利用预设秘密恢复算法对目标秘密份额进行计算,获得密态数据;

对密态数据进行解密,获得目标共享数据。

在具体的实施过程中,数据需求方在根据目标共享数据位置信息从混淆秘密份额列表中获取到目标秘密份额后,利用预设秘密恢复算法对目标秘密份额进行计算,例如可采用异或秘密分享方法,获得密态数据或者匿态数据。应当说明的是,预设秘密恢复算法与混淆秘密份额列表生成时所采用的秘密分享方法相对应。即,在数据拥有方生成混淆秘密份额时所采用的秘密分享算法与预设秘密恢复算法相对应。

在获得密态数据或者匿态数据之后,可采用私钥对其进行解密,获得目标共享数据。

本申请实施例通过对密态数据进行解密,获得目标共享数据,提高了数据的隐私性。

在上述实施例的基础上,该方法还包括:

通过管理方向数据拥有方发送权能令牌请求,以使数据拥有方为数据需求方创建权能令牌;

接收数据需求方发送的权能令牌;权能令牌用于表征数据拥有方能够从数据拥有方获取数据的权限。

在具体的实施过程中,为了能够提高数据的安全性和隐私性,降低访问控制的复杂度,本申请实施例提供了一种基于权能的访问控制策略。数据需求方所在安全域可以是以中心化进行管理,即通过管理方对数据需求方进行管理。在进行数据共享之前,数据需求方通过管理方向数据拥有方发送权能令牌请求,以向数据拥有方申请权能令牌。权能(Capability)是指一种可通信的、不可伪造的令牌,权能令牌包含一个或多个对某一数据资源进行操作(访问)的权限,具有细粒度、可撤销、灵活、轻量化的特点。权能令牌的基本结构如表1所示:

表1

当数据需求方需要访问其它域中的数据拥有方共享的数据时,可通过数据拥有方颁发的权能令牌进行访问申请,若并未获取过相应令牌则可以先请求令牌。

为了进一步确保数据的安全,数据需求方请求权能令牌时,可由其所在域的域管理方进行身份验证,以确定数据需求方是属于其所在域的设备,具体可通过设备标识(如IP地址、MAC地址等)进行验证,通过验证后,由域管理方向其他域中的数据拥有方发出权能令牌创建请求,请求中附带该域的信息和该数据需求方的信息。权能令牌成功创建后,数据拥有方将权能令牌发送给数据需求方。

本申请实施例采用基于权能的访问控制策略,该访问策略配置灵活、轻量化,没有复杂的验证和决策过程,从而可解决跨域访问控制过程复杂的问题。

在上述实施例的基础上,接收数据拥有方发送的共享数据信息,包括:

向数据拥有方发送数据访问请求,数据访问请求包括权能令牌和签名信息,以使数据拥有方对权能令牌和签名信息进行验证;

接收数据拥有方验证通过后发送的共享数据信息。

在具体的实施过程中,数据需求方在访问数据拥有方的数据之前,可向数据拥有方发送数据访问请求,该数据访问请求中包括权能令牌和签名信息,其中,权能令牌中包括了数据需求方可以访问的数据的权限,签名信息用于对数据需求方的身份验证,可以理解的是,数据访问请求中还可以包括其他参数,例如:数据访问请求的发起时间,请求的操作权限等。表2为本申请实施例提供的一种数据访问请求结构:

表2

数据拥有方在接收到数据需求方发送的数据访问请求后,基于权能令牌和签名信息进行验证,验证通过后,数据拥有方将存储共享数据信息的本地服务器的信息或云服务器信息发送给数据需求方,数据需求方基于接收到的信息获取共享数据信息。

本申请实施例中,数据拥有方在对数据需求方身份验证通过后再向数据需求方发送共享数据信息,从而提高了数据共享过程的安全性。

在上述实施例的基础上,该方法还包括:

向数据拥有方发送数据共享请求,以使数据拥有方生成共享权限位置表和混淆秘密份额列表,并将共享权限位置表和混淆秘密份额列表上传至服务器。

在具体的实施过程中,数据需求方在访问数据拥有方的数据之前,可以向数据拥有方发送数据共享请求,以使数据拥有方将数据需求方可共享的数据存储在服务器中。即,数据拥有方在接收到数据共享请求后,生成共享权限位置表和混淆秘密份额列表。生成共享权限位置表和混淆秘密份额列表的方法参见下述实施例。表3为本申请实施例提供的一种数据共享请求结构:

表3

本申请实施例通过向数据拥有方发送数据共享请求,以使数据拥有方生成共享权限位置表和混淆秘密份额列表,从而使得数据需求方基于这两个表进行数据访问,提高了数据的隐私性。

图2为本申请实施例提供的另一种数据共享方法流程示意图,如图2所示,该方法应用于数据拥有方,可以理解的是,一个电子设备其既可以是数据拥有方,也可以是数据需求方,当其向其他设备请求访问数据时,该电子设备为数据需求方,当其向其他设备提供数据时,该电子设备为数据拥有方。该方法包括:

步骤201:接收数据需求方发送的数据访问请求;

步骤202:向数据需求方发送共享数据信息对应的路径信息,共享数据信息包括共享权限位置表和混淆秘密份额列表,共享权限位置表包括数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;混淆秘密份额列表包括共享数据对应的秘密份额;以使数据需求方根据共享权限位置表和混淆秘密份额列表确定目标共享数据。

应当说明的是,数据需求方根据共享数据信息获取目标共享数据的过程可参见上述实施例,此处不再赘述。

为了提高数据的安全性,数据拥有方在接收到数据访问请求后,可对数据访问请求中携带的权能令牌和签名信息进行验证,在验证通过后,向数据需求方发送存储共享数据信息的服务器的路径信息,从而使得数据需求方基于路径信息获得共享数据信息。

下面介绍混淆秘密份额列表的生成过程:

(1)数据拥有方使用数据需求方的公钥pk分别加密将要共享的数据,c

(2)数据拥有方将k个秘密份额放在列表的同一行,作为一条数据,从而生成t×k的秘密份额列表,其中t表示列表的行数,即数据的条数。

(3)数据拥有方按列随机打乱秘密份额列表中的二进制串的顺序,得到混淆秘密份额列表。

(4)数据拥有方将混淆秘密份额列表上传到本地数据服务器或云服务器中存储。

下面介绍共享权限位置表的生成方法,以共享权限位置表为混淆布隆过滤器为例:

(1)规范秘密份额所在行的表示:用

(2)规范数据需求方的ID片段的表示方法:使用加法秘密分享方案(可以使用异或秘密分享方案,也可以使用其他加法秘密分享方案),将数据需求方i的身份标识ID

(3)数据拥有方使用哈希函数H

然后,数据拥有方分别把

分别放在H

重复上述步骤(1)-(3),把对各数据需求方的ID片段、需要共享的所有数据秘密份额所在行数添加到布隆过滤器中,完成混淆布隆过滤器的创建过程。

(4)数据拥有方将混淆布隆过滤器上传到本地数据服务器或云服务器中存储。

数据拥有方创建权能令牌的方法可参见上述实施例,此处不再赘述。

本申请实施例通过向数据需求方发送共享数据信息,使得数据需求方根据共享权限位置表验证是否存在数据需求方可共享的数据,并且确定可共享数据所在位置,并从混淆秘密份额列表中获取目标秘密份额,并基于获取到的目标秘密份额生成目标共享数据,在共享数据的同时,保护好数据的隐私。

在另一实施例中,本申请实施例可应用于物联网设备之间进行保护隐私的跨域数据共享过程,具体过程如下:

1.初始化:

(1)处于不同域中的物联网设备按照基于权能的访问控制方案生成权能令牌,用于发起数据共享请求和数据访问请求;

(2)处于不同域中的物联网设备协商k个理想的哈希函数,用于将数据映射到混淆布隆过滤器的不同位置上。

2.处于某个域中的物联网设备(设备A)使用包含相应权能令牌的跨域数据共享请求结构向另一个域中的物联网设备(设备B)发起数据跨域共享请求;

3.设备B通过设备A发送的跨域数据共享请求结构验证设备A的权能令牌和设备A的身份,通过验证后,设备B使用秘密分享方案生成混淆秘密份额列表,并在本地或云中存储;

4.设备B进一步构建存储有设备A的ID片段和数据秘密份额在混淆秘密份额列表中的行信息的混淆布隆过滤器,并在本地或云中存储;

5.设备A使用包含相应权能令牌的数据访问请求结构向设备B发起数据访问请求,设备B对该请求信息进行验证,通过验证后,设备B将数据在本地或云中存储的位置发送给设备A;

6.设备A首先验证混淆布隆过滤器中是否包含自己的ID信息,若包含,设备A进一步通过混淆布隆过滤器获得数据秘密份额在混淆秘密份额列表中的行信息,并通过秘密分享方案中的恢复算法得到加密的数据,使用自己的私钥解密数据后,设备A获得设备B与自己共享的数据。

本申请实施例的主要技术效果如下:

(1)在构建秘密份额列表和混淆布隆过滤器时,使用非对称加密和加法秘密分享方案,可解决计算量大、计算复杂度高的问题;

(2)使用基于权能的访问控制策略,该访问控制策略具有配置灵活、轻量化的特点,访问控制过程中没有复杂的验证和决策过程,从而可解决跨域访问控制过程复杂的问题;

(3)本发明支持一次共享多条数据,且方案中涉及的计算量和通信复杂度均不大,可解决已有数据跨域共享方案存在的数据共享效率低的问题。

图3为本申请实施例提供的一种数据共享装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。所述装置包括:数据接收模块301、位置确定模块302、秘密份额获取模块303和共享数据生成模块304,其中:

数据接收模块301用于接收数据拥有方发送的共享数据信息;所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;

位置确定模块302用于根据所述数据需求方的身份标识和所述共享权限位置表判断所述数据需求方是否有共享数据权限,若有共享数据权限,则从所述共享权限位置表中获取目标共享数据位置信息;

秘密份额获取模块303用于基于所述目标共享数据位置信息从所述混淆秘密份额列表中获取目标秘密份额;

共享数据生成模块304用于根据所述目标秘密份额生成对应的目标共享数据。

在上述实施例的基础上,位置确定模块302具体用于:

基于与所述数据拥有方约定好的哈希函数对所述身份标识进行计算,获得哈希值;

根据所述哈希值从所述共享权限位置表中获得目标位置数据;所述目标位置数据包括身份位置数据和秘密份额位置数据;

对所述身份位置数据进行恢复运算,获得待比对身份标识;

若所述数据需求方的身份标识与所述待比对身份标识相同,则对所述秘密份额位置数据解密,获得所述目标共享数据位置信息。

在上述实施例的基础上,共享数据生成模块304具体用于:

利用预设秘密恢复算法对所述目标秘密份额进行计算,获得密态数据;

对所述密态数据进行解密,获得所述目标共享数据。

在上述实施例的基础上,该装置还包括令牌请求模块,用于:

通过管理方向所述数据拥有方发送权能令牌请求,以使所述数据拥有方为所述数据需求方创建权能令牌;

接收所述数据需求方发送的所述权能令牌;所述权能令牌用于表征所述数据拥有方能够从所述数据拥有方获取数据的权限。

在上述实施例的基础上,数据接收模块301具体用于:

向所述数据拥有方发送数据访问请求,所述数据访问请求包括所述权能令牌和签名信息,以使所述数据拥有方对所述权能令牌和所述签名信息进行验证;

接收所述数据拥有方验证通过后发送的所述共享数据信息的路径信息,并根据所述路径信息获取所述共享数据信息。

在上述实施例的基础上,该装置还包括共享请求模块,用于:

向所述数据拥有方发送数据共享请求,以使所述数据拥有方生成所述共享权限位置表和混淆秘密份额列表,并将所述共享权限位置表和混淆秘密份额列表上传至服务器。

图4为本申请实施例提供的另一种数据共享装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。所述装置包括:请求接收模块401和共享数据发送模块402,其中:

请求接收模块401用于接收数据需求方发送的数据访问请求;

共享数据发送模块402用于向所述数据需求方发送共享数据信息对应的路径信息,所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;以使所述数据需求方根据所述共享权限位置表和所述混淆秘密份额列表确定目标共享数据。

在上述实施例的基础上,该装置还包括秘密份额列表生成模块,用于:

利用所述数据需求方的公钥对可共享数据进行加密,获得加密后的可共享数据;

利用加法秘密分享方法对所述加密后的可共享数据进行处理,获得多个秘密份额;

根据所述秘密份额生成初始秘密份额列表;

将所述初始秘密份额列表按列随机打乱,获得混淆秘密份额列表;

将所述混淆秘密份额列表上传至服务器。

在上述实施例的基础上,该装置还包括共享权限位置表生成模块,用于:

获取所述混淆秘密份额列表中各秘密份额的行信息,并按照最大长度行信息对各秘密份额的行信息进行填充,获得秘密份额位置数据;

获取数据需求方的身份标识,并将所述身份标识进行拆分,获得多个身份标识片段;

利用所述身份标识片段最大长度对各身份标识片段进行填充,获得填充后的身份标识片段;

利用与数据需求方约定好的哈希函数对所述数据需求方的填充后的身份标识片段进行计算,获得身份位置数据;

根据所述身份位置数据、所述数据需求方的公钥和所述秘密份额位置数据生成所述共享权限位置表。

在上述实施例的基础上,该装置还包括令牌创建模块,用于:

接收所述数据需求方发送的权能令牌请求;

基于所述权能令牌请求创建所述数据需求方的权能令牌;

向所述数据需求方发送所述权能令牌。

图5为本申请实施例提供的电子设备实体结构示意图,如图5所示,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;其中,

所述处理器501和存储器502通过所述总线503完成相互间的通信;

所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收数据拥有方发送的共享数据信息;所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;若根据所述数据需求方的身份标识和所述共享权限位置表确定所述数据需求方有共享数据权限,则从所述共享权限位置表中获取目标共享数据位置信息;基于所述目标共享数据位置信息从所述混淆秘密份额列表中获取目标秘密份额;根据所述目标秘密份额生成对应的目标共享数据。或,

接收数据需求方发送的数据访问请求;向所述数据需求方发送共享数据信息对应的路径信息,所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;以使所述数据需求方根据所述共享权限位置表和所述混淆秘密份额列表确定目标共享数据。

处理器501可以是一种集成电路芯片,具有信号处理能力。上述处理器501可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器502可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)等。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收数据拥有方发送的共享数据信息;所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;若根据所述数据需求方的身份标识和所述共享权限位置表确定所述数据需求方有共享数据权限,则从所述共享权限位置表中获取目标共享数据位置信息;基于所述目标共享数据位置信息从所述混淆秘密份额列表中获取目标秘密份额;根据所述目标秘密份额生成对应的目标共享数据。或,

接收数据需求方发送的数据访问请求;向所述数据需求方发送共享数据信息对应的路径信息,所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;以使所述数据需求方根据所述共享权限位置表和所述混淆秘密份额列表确定目标共享数据。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收数据拥有方发送的共享数据信息;所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;若根据所述数据需求方的身份标识和所述共享权限位置表确定所述数据需求方有共享数据权限,则从所述共享权限位置表中获取目标共享数据位置信息;基于所述目标共享数据位置信息从所述混淆秘密份额列表中获取目标秘密份额;根据所述目标秘密份额生成对应的目标共享数据。或,

接收数据需求方发送的数据访问请求;向所述数据需求方发送共享数据信息对应的路径信息,所述共享数据信息包括共享权限位置表和混淆秘密份额列表,所述共享权限位置表包括所述数据拥有方允许共享数据的各数据需求方信息和共享数据位置信息;所述混淆秘密份额列表包括共享数据对应的秘密份额;以使所述数据需求方根据所述共享权限位置表和所述混淆秘密份额列表确定目标共享数据。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120116302709