基于区块链的数据访问控制方法、电子设备和存储介质与流程

文档序号:22581493发布日期:2020-10-20 17:04阅读:146来源:国知局
基于区块链的数据访问控制方法、电子设备和存储介质与流程

本申请涉及区块链应用技术领域,特别是涉及基于区块链的数据访问控制方法、电子设备和存储介质。



背景技术:

当前在每一个行业和业务职能领域,数据成为了重要的生产因素,大量的数据不仅种类繁多,且存储方式多样,容易形成数据孤岛,而开放的数据共享平台又易造成隐私数据的泄露,使得数据共享的高效性和安全性面临较大的挑战。



技术实现要素:

本申请主要解决的技术问题是:提供基于区块链的数据访问控制方法、电子设备和存储介质,能够利用区块链的通证实现对数据的访问控制,提高数据安全性。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种基于区块链的数据访问控制方法,包括:区块链的管理平台接收数据需求方关于目标数据的访问请求;判断数据需求方是否满足相应的访问权限条件;若满足,分配目标数据对应的数据通证至数据需求方,以使得数据需求方获得目标数据的访问权限。

可选地,判断数据需求方是否满足访问权限条件包括:执行区块链中相应的智能合约以判断数据需求方是否满足访问权限条件;若满足,则继续执行智能合约以分配目标数据对应的数据通证至数据需求方。

可选地,若判断数据需求方不满足访问权限条件,则向目标数据的数据提供方发送关于数据需求方的判断消息,以使得数据提供方进一步判断数据需求方是否满足访问权限条件。

可选地,执行区块链中相应的智能合约以判断数据需求方是否满足访问权限条件包括:在可信执行环境中执行智能合约以判断数据需求方是否满足访问权限条件。

可选地,分配目标数据对应的数据通证至数据需求方还包括:形成目标数据对应的新的数据通证,并分配至数据需求方的账户;或,从区块链的公共账户或目标数据的数据提供方的账户中转移数据通证至数据需求方的账户。

可选地,分配数据对应的数据通证至数据需求方还包括:管理平台配置数据通证对应的访问条件;访问条件包括数据访问时限、数据操作权限、通证转移方式和通证销毁方式中的至少一种;将配置后的数据通证分配至数据需求方。

可选地,管理平台接收数据需求方的数据操作请求;判断数据需求方是否具备数据操作请求对应的数据通证;若满足,开放数据操作请求对应的数据的操作权限,并在数据需求方执行数据操作时扣除相应的数据通证。

可选地,将每次数据通证的分配记录或扣除记录进行分布式存储。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,包括处理器、存储器和通信电路,处理器耦接存储器和通信电路;其中,通信电路用于电子设备与外部设备进行通信;存储器用于存储程序指令;处理器用于执行程序指令以实现上述本申请基于区块链的数据访问控制方法。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种存储介质,存储介质用于存储程序指令,程序指令能够被处理器执行以实现上述本申请基于区块链的数据访问控制方法。

本申请的有益效果是:

本申请管理平台通过接收数据需求方的访问请求,在判断数据需求方满足目标数据对应的访问权限时,向数据需求方分配相应的数据通证,从而数据需求方可以获得目标数据的访问权限,实现目标数据的有效共享;本申请通过数据通证实现对数据的有效访问控制,并且管理平台在数据需求方满足访问权限条件时分配数据通证,可以有效减少恶意访问造成数据隐私泄露的可能,有效提高数据访问的安全性。

附图说明

图1是本申请数据共享系统实施例的结构示意图;

图2是本申请基于区块链的数据访问控制方法第一实施例的流程示意图;

图3是本申请基于区块链的数据访问控制方法第二实施例的流程示意图;

图4是本申请基于区块链的数据访问控制方法第三实施例的流程示意图;

图5是本申请基于区块链的数据访问控制方法第四实施例的流程示意图;

图6是本申请电子设备实施例的结构示意图;

图7是本申请存储介质实施例的结构示意图。

具体实施方式

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

参阅图1,图1是本申请数据共享系统实施例的结构示意图。本实施例数据共享系统100可以包括管理平台101、区块链节点102、数据共享方103。

本实施例管理平台101可以包括数据共享系统100中管理数据的事物或其集合。管理平台101可以接收数据需求方关于目标数据的访问请求,并在判断数据需求方满足访问权限条件时,分配相应的数据通证至数据需求方。管理平台101也可以接收数据需求方的数据操作请求,并在判断数据需求方具备相应的数据通证时向数据需求方开放对应数据的操作权限。

管理平台101可以是区块链网络中的节点或多个节点的集合。比如管理平台101可以是区块链网络中的管理节点,可以参与执行区块链网络中的相关事务,也可以同步区块链分布式账本110中的区块链数据。或者,管理平台101也可以是数据提供方的节点,可以获取数据提供方的数据并将数据进行分布式存储。管理平台101本身也可作为数据提供方,可以采集和存储数据,和/或向数据需求方提供其所需的数据。管理平台101还可以提供数据托管服务,可以存储并管理数据提供方的数据。

管理平台101例如是计算机,可以执行相应的程序指令以实现对数据的访问控制,并且可以与区块链网络中的区块链节点102进行信息交互。或者,管理平台101也可以包括多个设备的集合。例如,管理平台101数据采集设备、处理设备、通信设备、存储设备等。管理平台101可以利用数据采集设备采集数据,而后利用处理设备对数据进行处理后,存储至存储设备,还可以通过通信设备接收数据需求方的访问请求等。

本实施例中,数据共享方103可以包括数据提供方和数据需求方。数据提供方可以包括提供数据的人或事物或其集合。数据共享系统100中可以有多个数据提供方,数据提供方可以与管理平台101和/区块链节点102进行信息交互。数据提供方可以将数据存储至本地数据库,或者是上传至云端数据库。数据提供方也可将数据发送至区块链节点102进行分布式存储;或者是将数据发送给管理平台101进行托管。数据提供方也可以是区块链网络中的节点,可以参与执行区块链网络中的相关事务。数据提供方将数据上传至数据共享系统100后,还可以向管理平台101发送上传数据的消息,以便管理平台101可以及时更新数据的相关信息。

数据需求方可以包括访问数据的人或事物或其集合。数据共享系统100中可以有多个数据需求方,数据需求方可以与管理平台101、数据提供方和/区块链节点102进行信息交互。数据需求方可以发送关于目标数据的访问请求至管理平台101,并在管理平台101判断满足相应的访问权限条件后获得相应的数据通证,以此获得目标数据的访问权限。数据需求方可以是客户端,比如手机客户端,可以接收用户的数据访问需求并形成相应的数据访问请求,而后通过发送至管理平台101请求访问数据。数据需求方也可以是区块链网络中的节点,可以参与执行区块链网络中的相关事务。

本实施例中,数据提供方与数据需求方用于描述在某一目标数据实现共享的过程中所属的角色,在某些时刻,数据提供方与数据需求方可以更换身份,并执行其他步骤。例如,数据需求方也可以将数据上传至数据共享系统100,作为数据提供方向其他数据需求方提供相应的数据;反之,数据提供方在某些时候也可以作为数据需求方访问数据共享系统100中其他数据提供方上传的数据。

可选地,数据共享系统100中的各个参与方均可以作为数据提供方,通过采集获取数据并依据相应的方式存储数据,比如链上存储或链下存储,使得数据需求方可以在满足访问权限时进行数据访问。各个参与方也可在有需要时作为数据需求方,通过获取相应的数据通证获得目标数据的访问权限,从而实现多方的数据共享。

本实施例数据共享系统100中共享的数据可以包括区块链分布式账本110中的区块链数据和/或链下数据库120中的数据。数据需求方请求访问的目标数据可以是链上存储数据,也可以是链下存储数据。例如,数据提供方可以将共享的数据发送至区块链节点102,由区块链节点102打包并共识后存储至区块链分布式账本110。管理平台101可以同步区块链分布式账本110并保存完整的区块链数据,则数据需求方可以向管理平台101请求访问相应的区块链数据。或者管理平台101可以保存部分或全部区块链节点102的地址以及节点对应保存的区块链数据的目录文件,通过向数据提供方提供数据存储方的地址及相关信息实现数据的共享。或者,数据提供方也可以将共享的数据存储至链下数据库120,比如数据存储方的本地存储空间或云端存储空间,或者数据共享系统100的云端数据库等。管理平台101可以保存链下数据库120中数据的存储地址,通过向数据需求方开放相应的存储地址实现数据共享。

本实施例中,数据共享系统100还可以构建链上存储和链下存储的架构。例如,数据共享系统100可以设置链下数据库120,用于存储数据提供方的原始数据,区块链分布式账本110中则可以存储原始数据对应的加密值和/或标识信息,既有利于实现数据的隐私隔离与不可更改,还可以节省区块链节点102的计算量与存储空间。数据需求方可以通过查询区块链分布式账本110中存储的区块链数据确定所需要访问的数据的加密值或标识信息,而后向管理平台101发出相应的访问请求,便于管理平台101快速确定其所要访问的目标数据并进行相应的访问权限条件判断。

可选地,数据共享系统100还可以设置目录文件数据库130,用于管理数据分布系统中共享数据的目录及相关信息。目录文件数据库130可以分别保存区块链分布式账本110中数据的目录文件和链下数据库120中数据的目录文件,有利于对共享数据的有序管理,且便于快速及时地实现区块链分布式账本110与链下数据库120中数据目录的同步更新。目录文件数据库130还可以提供相应的接口供管理平台101或数据需求方进行数据查询。

本实施例区块链网络中包括多个区块链节点102,区块链节点102可以参与区块链的背书、排序、打包区块、通信和记账等事务。本实施例中,区块链节点102可以与管理平台101、数据提供方和/或数据需求方进行信息交互。区块链节点102可以接收数据提供方的数据,依据数据共享系统100的规则存储数据,并向数据提供方分配相应的数据通证作为对数据的控制凭证。区块链节点102还可以获取区块链网络中数据通证的相关交易信息,并将数据通证的分配记录或扣除记录进行分布式存储。

例如,数据需求方在访问数据时,可以向管理平台101发送关于目标数据的访问请求,管理平台101在判断数据需求方满足相应的访问权限条件时,可以分配数据通证至数据需求方,该数据通证的分配记录可以广播至区块链网络,区块链节点102接收到该笔数据通证的分配记录后,可以将其进行排序打包,并在共识后进行分布式存储。则该笔数据通证的分配记录被永久存储在区块链额分布式账本中。数据需求方还可以执行相应的数据操作,管理平台101还可以在其执行数据操作后扣除相应的数据通证,则该笔数据通证的扣除记录也可以被广播至区块链网络,区块链节点102可以将其进行相应的分布式存储。

本实施例数据共享系统100通过管理平台101实现对共享数据的访问管理,并通过利用区块链的数据通证实现对数据的访问权限控制,管理平台101在判断数据需求方满足访问权限条件时分配相应的数据通证至数据需求方,从而赋予数据需求方相应的访问权限,如此可以有效减少恶意访问造成数据隐私泄露的可能,有效提高数据共享的安全性;并且本实施例数据共享系统100还利用数据通证控制访问权限,并将数据通证的分配记录上链存储,实现了链上数据和链下数据的访问记录可查,有效提高了数据共享的安全性。

参阅图2,图2是本申请基于区块链的数据访问控制方法第一实施例的流程示意图。本实施例包括:

s101:数据需求方发送关于目标数据的访问请求至管理平台。

本实施例中,管理平台可以接收数据需求方关于目标数据的访问请求。目标数据包括数据提供方上传至数据共享系统中的数据。目标数据可以是区块链分布式账本中的区块链数据,数据需求方可以向管理平台发起关于区块链数据的访问请求。或者,目标数据也可以是区块链分布式账本以外的数据,比如链下数据库中的数据,管理平台可以接收数据需求方关于链下存储数据的访问请求。

目标数据的访问请求中可以包括目标数据的标识信息、链下存储地址、在区块链分布式账本中的位置信息或其他相关信息,使得管理平台在接收到访问请求时确定数据需求方所请求访问的目标数据以及目标数据的存储位置。

例如,数据需求方在需要访问链下数据库中存储的目标数据时,可以向管理平台发送关于链下数据库中的目标数据的访问请求。访问请求中可以包括目标数据的链下存储地址。管理平台接收到访问请求后,可以通过访问请求中的存储地址确定数据需求方所要访问的目标数据。

数据需求方也可以向管理平台发送关于区块链分布式账本中存储的目标数据的访问请求。访问请求中可以包括目标数据在区块链分布式账本中的位置信息,比如目标数据所属区块的高度和目标数据的哈希值。管理平台在接收到数据需求方的访问请求后,可以基于区块高度和哈希值快速定位到数据需求方所需要访问的数据。

在一些实施方式中,数据提供方将数据存储时还可以配置数据相应的标识信息,或是由管理平台配置数据的标识信息。例如,数据提供方或管理平台可以依据数据提供方的身份信息、数据的存储时间、存储地址等相关信息生成数据的标识信息。或者,数据提供方或管理平台也可以依据数据名称、数据类型、属性描述、数据大小等相关信息生成数据的标识信息。标识信息与相应的数据关联后存储,以便于管理平台或数据需求方进行数据查询。

管理平台还可以统一管理数据共享系统中的链上和/或链下存储数据的标识信息,并可以向数据需求方提供数据查询通道。数据需求方在向管理平台发送访问请求之前还可以通过数据查询通道查询所需数据的标识信息,而后基于标识信息形成相应的目标数据的访问请求,并发送至管理平台。

s102:管理平台判断数据需求方是否满足相应的访问权限条件。

本实施例中,管理平台在接收到数据需求方的访问请求后,可以判断数据需求方是否满足目标数据对应的访问权限条件。数据共享系统中的每一笔数据均可以配置相应的访问权限条件,可以由数据提供方或者管理平台进行条件配置。例如,数据提供方存储数据时,可以配置数据相应的访问权限条件,仅允许满足访问权限条件的数据需求方取得相应数据的访问权限而进行数据访问。

访问权限条件可以包括关于数据需求方的身份、访问时间、访问次数、访问方式等的条件。比如,访问权限条件包括数据需求方需经过数据共享系统中ca节点的身份认证,则管理平台可以判断数据需求方是否获得ca节点的认证而具有相应的ca证书。再比如,访问权限条件可以包括数据需求方访问数据次数不超过三次,则管理平台可以判断数据需求方当前对该数据的访问次数是否超过次数限制。

本实施例中,管理平台进行访问权限条件判断可以是从数据需求方发送的访问请求中包含的信息进行判断。例如,数据需求方向管理平台发送访问请求,访问请求中可以包括数据需求方的相关身份信息,管理平台可以解析访问请求获取数据需求方的身份信息,通过判断身份信息的合法性以判断数据需求方是否满足相应的访问权限条件。或者管理平台也可以从数据共享系统中的数据访问记录或数据需求方的相关信息进行判断。例如,管理平台接收到数据需求方的访问请求后,可以从数据共享系统的数据访问记录中查询该访问请求对应的数据的访问记录,判断数据需求方的访问时间或访问次数等是否满足相应的条件,以此确定数据需求方是否满足相应的访问权限条件。

在一些实施方式中,数据共享系统还设置有数据访问的白名单和/或黑名单。管理平台接收到数据需求方的访问请求后,还可以查询数据需求方是否在数据访问的白名单或黑名单中;若数据需求方在黑名单中,则确定数据需求方不满足相应的访问权限条件;若数据需求方在白名单中,则可以确定数据需求方满足相应的访问权限条件;若数据需求方不在黑名单和白名单中,还可以进一步验证数据需求方的其他信息以确定是否满足访问权限条件。

可选地,数据的访问权限条件还可以与对应的数据的标识信息关联,每一笔数据均可以设置相应的访问权限条件,如此有利于对数据共享系统中每一笔数据的个性化管理。管理平台在接收到数据需求方的访问请求后,确定数据需求方所要访问的数据的标识信息,查询数据共享系统中该标识信息对应的访问权限条件,并判断数据需求方是否满足相应的访问权限条件。

本实施例中,若管理平台判断数据需求方满足相应的访问权限条件,则可以执行s103的步骤。若管理平台判断数据需求方不满足相应的访问权限条件,则可以拒绝数据需求方的访问请求;或者,管理平台还可以向数据需求方反馈访问权限条件判断不满足的消息,以便数据需求方可以及时进行相应处理。

s103:管理平台分配目标数据对应的数据通证至数据需求方以使得数据需求方获得目标数据的访问权限。

本实施例可以通过区块链的数据通证实现对数据的访问权限控制,有利于对数据共享系统中数据的安全访问和管理。数据提供方将数据存储至数据共享系统中的区块链分布式账本或链下数据库中,即可获得相应的数据通证,作为对该笔数据的权限控制。数据需求方也可以通过获取数据通证,取得相应数据的访问权限。

本实施例中,管理平台在判断数据需求方满足相应的访问权限条件后,可以分配目标数据对应的数据通证至数据需求方,从而数据需求方可以获得目标数据的访问权限。管理平台可以形成目标数据对应的新的数据通证并分配至数据需求方的账户。或者管理平台也可以是从管理平台的账户、区块链的公共账户或数据提供方的账户中转移相应的数据通证至数据需求方的账户。

例如,管理平台可以管理区块链的公共账户,公共账户用于保存区块链的数据通证。当管理平台判断数据需求方满足相应的访问权限条件后,可以从区块链的公共账户中转移相应的数据通证至数据需求方的账户。公共账户也可以是区块链创世节点的账户,管理平台也可以从创世节点的账户转移相应的数据通证至数据需求方的账户。

可选地,管理平台分配目标数据对应的数据通证至数据需求方还可以包括:从目标数据的数据提供方的账户中转移数据通证至数据需求方的账户。数据提供方在存储数据后获得相应的数据通证,即可获得数据的初始控制权限。在数据需求方发出访问请求后,管理平台判断其满足访问权限条件,即可将目标数据对应的数据通证从数据提供方的账户中转移至数据需求方的账户,通过数据通证的转移来给予数据需求方相应的访问权限。

本实施例中,管理平台可以同时接接收一个或多个数据需求方对目标数据的访问请求。当管理平台接收到多个数据需求方对目标数据的访问请求并判断多个数据需求方满足相应的访问权限条件时,管理平台可以分别分配相应的数据通证至每个数据需求方,从而这些数据需求方均可以获得目标数据的访问权限,有利于实现多方的数据共享。或者,管理平台还可以按照接收访问请求的先后顺序,按序在预设的时间间隔分配数据通证至数据需求方,通过错开目标数据的访问时间,可以避免数据共享通道拥堵,提高数据共享效率。

在一些实施方式中,管理平台还可以对分配给数据需求方的数据通证设置相应的条件限制,包括对数据通证对应的数据的访问限制以及对数据通证本身的使用限制。例如,管理平台分配目标数据对应的数据通证至数据需求方还可以包括:管理平台配置数据通证对应的访问条件;访问条件包括数据访问时限、数据操作权限、数据通证转移方式和数据通证销毁方式中的至少一种;将配置后的数据通证分配至数据需求方。

管理平台配置数据通证对应的访问条件,从而数据需求方可以在满足相应的访问条件下访问目标数据。具体的,数据访问时限可以包括限制数据需求方允许访问目标数据的时间段,例如是允许数据需求方在获得数据通证后的一段时间内,如十天、一个月等,访问目标数据。数据操作权限可以限制数据需求方可以对目标数据执行的操作,包括下载、查阅、修改、合并、删除等其中一种或多种数据操作。

数据通证转移方式可以包括访问前转移和访问后转移,访问前转移例如是数据需求方获得数据通证后,在未执行数据访问时即将数据通证转移至其他参与方;访问后转移例如是在数据需求方利用数据通证访问相应的目标数据后,将数据通证转移至数据提供方、管理平台、公共账户或其他参与方。管理平台可以设置数据通证相应的转移方式,使得数据需求方可以在限制的数据通证转移方式内对数据通证进行转移。例如,数据需求方获得的数据通证的转移方式被限制为仅能转移至数据提供方,则可以在访问数据前或访问数据后将该数据通证从数据需求发转移至数据提供方。

管理平台还可以设置数据通证销毁方式,在数据通证销毁后,数据需求方不再具有对相应数据的访问权限。例如管理平台配置数据通证销毁方式为访问数据后即销毁,则在数据需求方访问目标数据后,即可将数据需求方的账户中目标数据对应的数据通证销毁。数据通证转移方式与数据通证销毁方式均可以写入区块链的智能合约,在满足相应的条件时,由智能合约自动执行数据通证转移或销毁。

在本实施例中,当目标数据对应的数据通证被转移至其他参与方或是被销毁,则该数据需求方不再有权访问该目标数据。数据需求方也可再次向管理平台请求访问目标数据,并在获得相应的数据通证后再次获得访问权限。如此既可以实现对数据的安全访问,还便于在数据更新时通过获取数据通证再次进行访问,实现数据的及时有效共享。

本实施例管理平台通过接收数据需求方的访问请求,在判断数据需求方满足目标数据对应的访问权限时,向数据需求方分配相应的数据通证,从而数据需求方可以获得目标数据的访问权限,实现目标数据的有效共享;本实施例通过数据通证实现对数据的有效访问控制,并且管理平台在数据需求方满足访问权限条件时分配数据通证,可以有效减少恶意访问造成数据隐私泄露的可能,有效提高数据访问的安全性。

本实施例中,步骤s101~s103的顺序是本实施例中的描述顺序,不限制为本实施例基于区块链的数据访问控制方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行其一。

参阅图3,图3是本申请基于区块链的数据访问控制方法第二实施例的流程示意图。本实施例是在本申请基于区块链的数据访问控制方法第一实施例的基础上进一步描述,本实施例与本申请基于区块链的数据访问控制方法第一实施例的相同的步骤在此不再赘述。本实施例包括:

s201:数据需求方发送关于目标数据的访问请求至管理平台。

s202:管理平台执行智能合约以判断数据需求方是否满足访问权限条件。

管理平台在接收到数据需求方的访问请求后,判断数据需求方是否满足相应的访问权限条件,以此确定是否分配数据通证至数据需求方。本实施例中,管理平台在接收到数据需求方的访问请求后,还可以通过执行智能合约自动判断数据需求方是否满足相应的访问权限条件,如此可以有效减少人为干涉,提高对访问权限条件判断的准确性和公平性。

本实施例中,区块链的智能合约可以用于规范数据共享系统中数据的共享规则。例如,智能合约可以包括数据存储规则、访问权限条件的判断规则、数据通证的分配规则、访问条件的配置规则等。区块链节点可以部署多个智能合约,多个智能合约还可以形成智能合约集合,区块链节点可以通过调用执行智能合约实现相应的功能。

本实施例中,管理平台可以通过执行智能合约自动判断数据需求方是否满足相应的访问权限条件。智能合约可以是管理平台依据数据提供方关于数据的访问权限要求,形成相应的访问权限条件的智能合约,并部署至区块链网络中。或者,数据提供方在将数据上传至数据共享系统时,也可以配置相应的访问权限条件,由区块链节点形成相应的智能合约并部署至区块链网络。

可选地,本实施例数据共享系统中不同数据对应的访问权限条件可能不同,不同的访问权限条件对应的判断方式也可能不同,在判断数据需求方是否满足目标数据的访问权限条件时所执行的智能合约也可能不同。管理平台在接收到数据需求方的访问请求后,还可以确定访问请求所对应的数据的相关信息,比如标识信息,确定标识信息对应的访问权限条件判断所要调用的智能合约,而后再执行智能合约进行访问权限条件判断。如此可以有效实现对不同数据的个性化访问控制与管理,提高不同数据访问的安全性。

在一些实施方式中,管理平台还可以在可信执行环境中执行智能合约以判断数据需求方是否满足访问权限条件。可信执行环境可以安全地处理私密信息,并保障信息的明文不会泄漏出去,同时还能证明数据未经篡改。管理平台在可信执行环境中执行智能合约,智能合约的明文对外不可见,其执行过程中的相关数据或信息亦不可见,如此可以有效保护数据隐私安全,还能提高执行结果的可信度。

管理平台在接收到数据需求方的访问请求时,可以在可信执行环境中调用区块链的智能合约来判断数据需求方是否满足目标数据对应的访问权限条件。数据需求方所提供的相关信息,比如身份信息、历史访问信息等,在可信执行环境中进行判断,对外不可见,如此可以有效保护数据需求方的隐私安全,并且访问权限条件的判断过程隐私执行,可以防止数据篡改,有效提高判断结果的可信度。

在本实施例中,若管理平台判断数据需求方满足访问权限条件,则可以执行s203的步骤。可选地,若管理平台判断数据需求方不满足相应的访问权限条件,则可以拒绝数据需求方的访问;或者,还可以继续执行s204~s205的步骤。

s203:管理平台执行智能合约以分配目标数据对应的数据通证至数据需求方。

管理平台在判断数据需求方满足目标数据对应的访问权限条件时,可以分配相应的数据通证至数据需求方,从而数据需求方可以获得目标数据的访问权限。本实施例中,管理平台可以通过执行智能合约自动进行数据通证的分配,有效提高数据通证分配的高效性和安全性。管理平台在执行智能合约分配数据通证时,还可以依据智能合约的规则自动配置数据通证对应的访问条件。

可选地,管理平台还可以在可信执行环境中执行智能合约分配数据通证。例如,管理平台在判断数据需求方满足相应的访问权限条件后,可以在可信执行环境中继续执行智能合约,自动分配目标数据对应的数据通证至数据需求方,从而数据需求方可以获得目标数据的访问权限。

s204:管理平台向目标数据的数据提供方发送关于数据需求方的判断消息。

在本实施例中,若管理平台判断数据需求方不满足目标数据的访问权限条件,还可以向数据提供方请求进一步判断,以便在管理平台信息同步不及时而导致判断失误或是一些特殊的数据访问等情况时,可以通过数据提供方的进一步判断实现数据的有效访问,有效降低这些情况造成的数据需求方无法正确访问的可能。

例如,管理平台可以向数据提供方发送关于数据需求方的判断消息,从而数据提供方可以在接收到判断消息时对数据需求方进行判断。管理平台可以基于数据需求方的访问请求生成相应的判断消息;或者,管理平台也可以基于数据需求方关于访问权限条件判断的相关信息,比如身份信息,生成关于数据需求方的判断消息。判断消息还可以包括管理平台执行智能合约对数据需求方进行访问权限条件判断的判断结果。或者,判断消息还可以包括管理平台判断数据需求方不满足访问权限条件的具体缘由,以便数据提供方可以减少重复判断的操作,提高效率。

s205:数据提供方判断数据需求方是否满足访问权限条件。

本实施例中,数据提供方在接收到关于数据需求方的判断消息后,可以判断数据需求方是否满足访问权限条件,具体可以参照s102和s202中管理平台所执行的步骤内容,在此不再赘述。

本步骤中的访问权限条件与s202步骤中管理平台的访问权限条件的具体内容可以相同或不同。比如,数据提供方上传数据后,配置相应的访问权限条件;或者,数据提供方更新数据后,配置新的访问权限条件,管理平台若没有及时同步相应的信息,则会导致可能出现管理平台参照的访问权限条件与数据提供方配置的访问权限条件不同的情况。

在本实施例中,若数据提供方判断数据需求方满足访问权限条件,还可以执行s206~s207的步骤。若数据提供方判断数据需求方不满足访问权限条件,则可以拒绝数据需求方进行数据访问。

s206:数据提供方向管理平台反馈数据需求方满足访问权限条件的消息。

本实施例中,数据提供方在判断数据需求方满足访问权限条件时,还可以向管理平台反馈相应的消息,以便管理平台可以及时向数据需求方配置相应的访问权限。

在一些实施方式中,管理平台在接收到数据需求方满足访问权限条件的消息后,还可以同步更新数据提供方配置的关于目标数据的访问权限条件,如此可以有效提高管理平台判断访问权限条件的准确性,节省操作步骤并提高数据访问效率。

s207:管理平台分配目标数据对应的数据通证至数据需求方以使得数据需求方获得目标数据的访问权限。

本实施例中,管理平台在接收到数据提供方反馈的判断数据需求方满足访问权限条件的消息后,还可以向数据需求方分配相应的数据通证。可选地,管理平台也可以通过执行相应的智能合约向数据需求方分配相应的数据通证,具体还可以参照s203的步骤,在此不再赘述。

s208:管理平台将数据通证的分配记录进行分布式存储。

本实施例中,管理平台还可以将每次数据通证的分配记录进行分布式存储。例如,管理平台可以将数据通证的分配记录以区块链交易的形式广播至区块链网络,区块链节点可以将分配记录进行排序打包成区块,并在共识确认后存储至区块链分布式账本中。管理平台通过将数据通证的分配记录上链存储,使得数据通证的分配可查可追踪,也即对于数据的访问权限的获得也可追溯。

可选地,管理平台对于每一笔数据通证的相关操作,比如生成、转移、销毁等,都可以记录其相关的信息,并以区块链交易的形式进行分布式存储,有效记录每一次数据通证的来源及去向,实现数据通证的可溯源,以及数据访问记录的可追查,有效提高数据访问的安全性。

本实施例管理平台通过执行智能合约自动判断数据提供方是否满足访问权限条件,可以优先减少人为干涉,提高判断的准确性和公平性;管理平台还通过执行智能合约自动进行数据通证的分配,可以提高数据通证分配的高效性和安全性;在判断不满足访问权限条件时,还可以通过向数据提供方发送关于数据需求方的判断消息,从而数据提供方可以再一次进行判断,如此可以有效提高访问权限条件判断的准确性,降低因某些情况造成的数据需求方无法正确访问的可能;管理平台还可以将数据通证的分配记录进行分布式存储,实现数据通证的可查可溯源,有效提高数据访问的安全性。

本实施例中,步骤s201~s208的顺序是本实施例中的描述顺序,不限制为本实施例基于区块链的数据访问控制方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行其一。

参阅图4,图4是本申请基于区块链的数据访问控制方法第三实施例的流程示意图。本实施例是在本申请基于区块链的数据访问控制方法第一实施例的基础上进一步描述,本实施例与本申请基于区块链的数据访问控制方法第一实施例的相同的步骤在此不再赘述。本实施例包括:

s301:数据需求方发送关于目标数据的访问请求至管理平台。

s302:管理平台判断数据需求方是否满足相应的访问权限条件。

在本实施例中,若管理平台判断数据需求方满足相应的访问权限条件,则可以执行s303的步骤。若管理平台判断数据需求方不满足相应的访问权限条件,则可以决绝其访问目标数据;或者,管理平台还可以向数据提供方发送关于数据需求方的判断消息,以便再次进行判断,具体可以参照上述本申请基于区块链的数据访问控制方法第二实施例中的相关描述,在此不再赘述。

s303:管理平台分配目标数据对应的数据通证至数据需求方。

管理平台在判断数据需求方满足目标数据对应的访问权限条件时,可以分配目标数据对应的数据通证至数据需求方,以使得数据需求方获得目标数据的访问权限。

s304:数据需求方发送数据操作请求至管理平台。

本实施例中,数据需求方在获得数据通证后,还可以向管理平台请求对数据进行相应的操作。例如,数据需求方在获得目标数据的数据通证时,可以向管理平台发送关于目标数据的数据操作请求。数据需求方也可以是预先获得数据共享系统中某些数据对应的数据通证,在数据通证对应的访问条件下,向管理平台发送相应的数据操作请求。

数据需求方可以区块链交易的形式向管理平台发送数据操作请求。例如,数据需求方可以发起与管理平台或数据提提供方的数据交易,通过向数据提供方或管理平台发送数据操作请求并提供相应的数据通证,请求执行对应的数据操作,数据交易在共识验证通过后,数据需求方即可执行相应的数据操作,而相应的数据交易可以被记录至区块链分布式账本。

本实施例中,数据需求方对数据的操作包括但不限于下载、查阅、修改、合并、删除等相关的数据操作。数据需求方可以在访问条件中所限制的数据操作权限内,对数据进行相应的操作。例如,数据通证对应的访问条件为仅允许下载或查阅数据,则数据需求方可以在获得数据通证后,向管理平台发送数据操作请求,以对数据提供方存储的数据进行下载或查阅。

在一些实施方式中,数据需求方在获得数据通证后,也可以直接向数据提供方发送数据操作请求。例如,数据需求方需要对数据提供方存储在链下数据库中的数据进行操作,可以向数据提供方发送数据操作请求,数据提供方在判断数据需求方具备相应的数据通证时允许其进行相应的数据操作。

s305:管理平台判断数据需求方是否具备数据操作请求对应的数据通证。

本实施例中,管理平台在接收到数据需求方的数据操作请求后,还可以判断数据需求方是否满足具备数据操作请求对应的数据所需的数据通证,以确定数据需求方是否具备对应的操作权限。管理平台判断数据需求方是否具备相应的数据通证还可以包括判断是否具有所需操作数据对应的数据通证以及判断数据操作是否在数据通证限定的操作范围内。

例如,管理平台可以首先判断数据需求方是否具有相应的数据通证。管理平台可以通过查询数据需求方的账户,确定数据需求方是否具有相应的数据通证。或者,管理平台也可以通过查询区块链分布式账本中相应的数据通证的分配记录,确定数据需求方是否具备相应的数据通证。管理平台在确定数据线需求方具有该数据对应的数据通证后,还可以进一步判断数据操作是否在数据通证限定的操作范围内。具体地,管理平台可以判断数据操作是否满足操作时限内、限定操作次数内、可操作方式等数据通证对应的操作范围之内。若管理平台判断数据需求方具有所需操作数据对应的数据通证,且数据操作方式在数据通证对应的操作范围内,则管理平台可以确定数据需求方满足具备数据操作请求对应的数据通证。若管理平台判断数据需求方不具备相应的数据通证或者数据操作超过了数据通证对应的操作范围,则确定数据需求方不具备数据操作请求对应的数据通证。

在本实施例中,若管理平台判断数据需求方具备数据操作请求对应的数据通证,则可以执行s306的步骤;若判断数据需求方不具备数据操作请求对应的数据通证,则可以拒绝其数据操作请求。

s306:管理平台开放数据操作请求对应的数据的操作权限。

在本实施中,管理平台在判断数据需求方具备数据操作对应的数据通证后,可以向数据需求方开放对应数据的操作权限。数据需求方可以请求对区块链分布式账本中存储的数据进行操作,例如是下载或查阅区块链数据,则管理平台可以向数据需求方开放区块链分布式账本中的数据的操作权限,允许数据需求方执行相应的操作。可选地,区块链分布式账本中存储的数据若加密,则管理平台开放相应的操作权限还可以包括向数据需求方提供解密后的数据或是提供解密的秘钥。

数据需求方还可以向管理平台请求操作数据共享系统中存储于链下数据库中的数据,则管理平台开放相应的操作权限还可以包括向数据需求方开放数据的存储地址,或是提供加密存储的解密秘钥等。管理平台在判断数据需求方具备相应的数据通证时才开放数据的操作权限,可以有效提高数据共享的安全性。

在一些实施方式中,数据存储于数据提供方的本地存储或云端存储空间的,管理平台向数据需求方开放对应数据的访问权限还可以包括向数据提供方发送允许数据需求方进行相应数据操作的消息,从而数据提供方可以在接收到消息后向数据需求方开放相应数据的操作权限。在另一些实施方式中,数据需求方也可以直接向数据提供方发送数据操作请求,数据提供方也可以自行判断数据需求方是否具备对应的数据通证,并且在判断具备相应的数据通证后向数据需求方开放对应数据的操作权限。

s307:数据需求方执行相应的数据操作。

数据需求方在获得数据的操作权限后,可以执行相应的数据操作。本实施例中,数据操作包括但不限于下载、查阅、修改、合并、删除等相关的数据操作。数据需求方执行数据操作可以是对区块链分布式账本中的数据或是链下数据库中的数据进行操作。数据需求方可以在对应数据的操作权限内,对数据进行相应的操作。

本实施例中,数据共享系统中的数据可以包括区块链分布式账本中的区块链数据以及链下数据库中的数据。数据需求方获得数据通证后,仅可以对数据通证所对应的数据进行数据操作,以有效实现数据隔离,保护其他数据的隐私安全。

s308:管理平台扣除数据需求方相应的数据通证。

本实施例中,管理平台还可以在数据需求方执行数据操作后,扣除数据需求方相应的数据通证,如此可以有效实现数据的访问权限转移。

管理平台扣除数据通证例如是将数据提供方账户中该笔数据通证销毁,销毁后数据需求方不再具有相应的数据访问权限。或者,管理平台扣除数据通证也可以是将数据提供方账户中该笔数据通证转移至数据提供方的账户或公共账户,该笔数据通证也可在下一次数据需求方请求访问时再次分配或是其他需求方请求访问时进行分配。可选地,管理平台还可以将数据通证转移至其他数据需求方,以自动实现多个数据需求方对数据的按序访问与操作。

本实施例中,管理平台可以通过执行智能合约自动进行数据通证的扣除,数据通证的扣除记录可以记录至区块链分布式账本,从而数据通证的来源及去向可查可溯源。并且,利用数据通证进行的数据操作也可以记录在区块链分布式账本,实现数据的可溯源。

s309:管理平台将数据通证的扣除记录进行分布式存储。

本实施例中,管理平台还可以将数据通证的扣除记录进行分布式存储。例如,管理平台可以在数据需求方执行相应的数据操作后,扣除数据需求方账户中相应的数据通证,并将扣除记录广播至区块链网络,区块链网络中的区块链节点将扣除记录进行排序打包至区块,并在经过共识后存储至区块链分布式账本中,有效实现数据通证的来源及去向可查可溯源,且有利于在出现数据相关的问题时进行责任追查。

本实施例数据需求方在获得数据通证后,可以向管理平台发出数据操作请求以请执行相应的数据操作,管理平台在接收到数据操作请求后,通过判断数据需求方是否具备相应的数据通证,进一步确认数据需求方操作数据的可行性,有效提高数据访问与操作的安全性;管理平台在判断数据需求方具备相应的数据通证时,开放相应的数据操作权限,有效实现数据共享;管理平台还在数据需求方执行数据操作后扣除相应的数据通证,并将扣除记录进行分布式存储,使得数据通证的来源及去向可溯源,且数据的访问与操作可查可追溯。

本实施例中,步骤s301~s309的顺序是本实施例中的描述顺序,不限制为本实施例基于区块链的数据访问控制方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行其一。本实施例可以与本申请基于区块链的数据访问控制方法第二实施例结合。

参阅图5,图5是本申请基于区块链的数据访问控制方法第四实施例的流程示意图。本实施例以管理平台为执行主体,包括:

s401:管理平台接收数据需求方关于目标数据的访问请求。

s402:判断所数据需求方是否满足相应的访问权限条件。

本实施例中,若管理平台判断数据需求方满足相应的访问权限条件满足,则可以执行s403的步骤;若管理平台判断不满足相应的访问权限条件,则可以拒绝数据需求方的访问请求。

s403:分配所目标数据对应的数据通证至数据需求方,以使得数据需求方获得目标数据的访问权限。

本实施例中关于管理平台的更多功能和执行步骤,可以参照上述本申请基于区块链的数据访问控制方法第一至第三实施例的描述,在此不再赘述。

参阅图6,图6是本申请电子设备实施例的结构示意图。本实施例电子设备60包括处理器61、存储器62和通信电路63,处理器61耦接存储器62和通信电路63。

本实施例中,通信电路63用于电子设备60与外部设备进行通信。存储器62用于存储程序指令。处理器61用于执行程序指令以实现本申请基于区块链的数据访问控制方法第一至第四实施例中管理平台的步骤。

在本实施例中,处理器61还可以称为cpu(centralprocessingunit,中央处理单元)。处理器61可能是一种集成电路芯片,具有信号的处理能力。处理器61还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本实施例中关于电子设备60的更多执行过程和功能等可以参照上述本申请基于区块链的数据访问控制方法第一至第四实施例的描述,在此不再赘述。

参阅图7,图7是本申请存储介质实施例的结构示意图。本实施例中存储介质70用于存储程序指令71。程序指令71能够被处理器运行,以实现上述本申请基于区块链的数据访问控制方法第一至第四实施例中管理平台的步骤。具体可以参照上述本申请基于区块链的数据访问控制方法第一至第五实施例的描述,在此不再赘述。

本申请基于区块链的数据访问控制方法第一至第四实施例所涉及的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质70包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,或包括存储介质的移动终端等其他装置。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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