技术摘要:
本申请公开了一种区块链数据的隐私保护方法,应用于区块链的任一节点中,包括:在接收到链上用户发送的针对目标数据的访问请求时,调用智能合约并通过访问请求中携带的账户签名确定出链上用户所属的用户组;按照为链上用户所属的用户组所设定的权限范围,从访问请求所 全部
背景技术:
区块链技术是一种去中心化、公开透明的分布式数据存储技术,具有不可伪造、全 程留痕、可以追溯、公开透明、集体维护等特征。对于加入区块链网络的节点,可以在全局账 本中获得所有数据,这对于区块链的数据安全访问具有很大的安全隐患,因此在传统的区 块链环境下,进行存证数据服务,通常只会应用在安全等级要求较低的信息系统中,即存储 的数据内容是公开、可访问的。 目前的一种区块链信息存证及隐私保护方法,提出的方案是在需要存证的信息中 加上随机数生成哈希值,再由利益相关人或见证人再签名并生成哈希,最后记录在区块链 上。虽然有利于进行数据的隐私保护,但其方案需要多重密钥,体现在利益相关人在使用个 人私钥签名上链的过程中,同时需要记录下针对该次交易的扰码信息或者解密密钥,加大 了使用者对密钥管理的风险。并且,对于拥有解密或者访问权限的用户,将具有全部数据的 可视权限,无法做到灵活的字段访问控制。此外,其方案需要定制开发第三方服务,操作复 杂。 综上所述,如何方便有效地进行区块链数据的隐私保护,提高灵活性,是目前本领 域技术人员急需解决的技术问题。
技术实现要素:
本发明的目的是提供一种区块链数据的隐私保护方法、系统及相关组件,以方便 有效地进行区块链数据的隐私保护,提高灵活性。 为解决上述技术问题,本发明提供如下技术方案: 一种区块链数据的隐私保护方法,应用于区块链的任一节点中,包括: 在接收到链上用户发送的针对目标数据的访问请求时,调用智能合约并通过所述 访问请求中携带的账户签名确定出所述链上用户所属的用户组; 按照为所述链上用户所属的用户组所设定的权限范围,从所述访问请求所针对的 总资源项中过滤出符合所述权限范围的各项资源; 向所述链上用户输出过滤出的各项资源。 优选的,在确定出所述链上用户所属的用户组之后,还包括: 判断所述用户组是否具有访问权限; 如果是,则执行所述按照为所述链上用户所属的用户组所设定的权限范围,从总 资源项中过滤出符合所述权限范围的各项资源的操作; 如果否,则结束智能合约进程。 优选的,所述通过所述访问请求中携带的账户签名确定出所述链上用户所属的用 4 CN 111597585 A 说 明 书 2/8 页 户组,包括: 通过所述访问请求中携带的账户签名,确定出所述链上用户的用户地址; 根据所述用户地址,确定出所述链上用户所属的用户组。 优选的,还包括: 在接收到链上用户发送的针对待上链数据的上链请求之后,调用智能合约,将所 述待上链数据包含的资源项与资源定义表中包含的资源项进行比较; 确定出所述待上链数据包含的且不存在于所述资源定义表中的每一项资源项,并 向所述链上用户发送第一提示信息; 对所述待上链数据进行上链; 其中,所述资源定义表为通过资源注册而预先建立的资源定义表。 优选的,还包括: 在将所述待上链数据包含的资源项与资源定义表中包含的资源项进行比较之前, 还包括: 判断所述待上链数据的格式是否满足预设的格式要求; 如果是,则执行所述将所述待上链数据包含的资源项与资源定义表中包含的资源 项进行比较的操作; 如果否,则向所述链上用户发送第二提示信息并对所述待上链数据进行上链。 一种区块链数据的隐私保护系统,应用于区块链的任一节点中,包括: 用户组确定模块,用于在接收到链上用户发送的针对目标数据的访问请求时,调 用智能合约并通过所述访问请求中携带的账户签名确定出所述链上用户所属的用户组; 资源过滤模块,用于按照为所述链上用户所属的用户组所设定的权限范围,从所 述访问请求所针对的总资源项中过滤出符合所述权限范围的各项资源; 输出模块,用于向所述链上用户输出过滤出的各项资源。 优选的,在确定出所述链上用户所属的用户组之后,还包括: 访问权限判断模块,用于判断所述用户组是否具有访问权限,如果是,则触发所述 资源过滤模块,如果否,则结束智能合约进程。 优选的,还包括: 上链资源项比较模块,用于在接收到链上用户发送的针对待上链数据的上链请求 之后,调用智能合约,将所述待上链数据包含的资源项与资源定义表中包含的资源项进行 比较; 第一提示信息输出模块,用于确定出所述待上链数据包含的且不存在于所述资源 定义表中的每一项资源项,并向所述链上用户发送第一提示信息; 上链执行模块,用于对所述待上链数据进行上链; 其中,所述资源定义表为通过资源注册而预先建立的资源定义表。 一种区块链数据的隐私保护设备,包括: 存储器,用于存储计算机程序; 处理器,用于执行所述计算机程序以实现上述任一项所述的区块链数据的隐私保 护方法的步骤。 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述 5 CN 111597585 A 说 明 书 3/8 页 计算机程序被处理器执行时实现上述任一项所述的区块链数据的隐私保护方法的步骤。 应用本发明实施例所提供的技术方案,通过访问控制列表技术与智能合约相结合 进行区块链数据的访问控制。具体的,本申请的方案中,调用了智能合约之后,便可以通过 访问请求中携带的账户签名确定出链上用户所属的用户组,进而按照为链上用户所属的用 户组所设定的权限范围,从访问请求所针对的总资源项中过滤出符合权限范围的各项资 源。因此,链上用户发送针对目标数据的访问请求,得到的资源项取决于为链上用户所属的 用户组所设定的权限范围,而可以针对不同的用户组设定不同的权限范围,因此本申请的 方案实现了数据的隐私保护,并且通过调整相应用户组的权限范围便可以灵活控制哪些数 据需要进行何种程度的隐私保护,且本申请的方案也无需多重密钥,不会对使用者产生密 钥管理的风险。此外,由于本申请是基于智能合约以及访问控制列表技术实现的数据隐私 保护,无需定制开发第三方服务,方案实施简单方便。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1为本发明中一种区块链数据的隐私保护方法的实施流程图; 图2为本发明中一种区块链数据的隐私保护系统的结构示意图; 图3为本发明中一种区块链数据的隐私保护设备的结构示意图。