logo好方法网

一种区块链数据访问方法及装置


技术摘要:
本申请实施例公开了一种区块链数据访问方法及装置,具体为,当第一用户节点访问区块链系统中所存储的数据时,预先接收服务器发送的解密密钥和公钥。其中,解密密钥是根据第一用户节点的用户属性、公钥和主密钥生成。当获取到待访问数据时,利用解密密钥和公钥对待访问  全部
背景技术:
区块链公开、透明、对等的特征一方面给各行业的业务场景应用的快速发展带来 契机,另一方面也为行业应用的安全性造成挑战。区块链中的交易及业务信息存储在所有 的节点中,任何人都可以看到所有的信息,尽管明文存储有助于对信息的公开验证,但也导 致了用户行为以及商业信息泄露的风险。
技术实现要素:
有鉴于此,本申请实施例提供一种区块链数据访问方法及装置,以实现安全访问 区块链中所存储的数据。 为解决上述问题,本申请实施例提供的技术方案如下: 在本申请实施例第一方面,提供了一种区块链数据访问方法,所述方法应用于第 一用户节点,包括: 接收服务器发送的解密密钥和公钥,所述解密密钥是由所述服务器根据所述第一 用户节点的用户属性集合、所述公钥以及主密钥生成的,所述第一用户节点的用户属性集 合是由所述服务器根据所述第一用户节点的用户信息获取的; 获取待访问数据,所述待访问数据是由第二用户节点根据访问策略、公钥对明文 数据加密后生成的密文数据,所述访问策略是根据包括所述第一用户节点的用户属性集合 的用户属性集合清单生成的; 利用所述解密密钥和所述公钥对所述待访问数据进行解密,获得所述明文数据。 在一种可能的实现方式中,所述接收服务器发送的解密密钥和公钥之前,所述方 法还包括: 向服务器发送用户信息,以使得所述服务器根据所述用户信息获取所述第一用户 节点的用户属性集合,并根据所述第一用户节点的用户属性集合、公钥和主密钥生成解密 密钥。 在一种可能的实现方式中,,所述方法还包括: 接收所述服务器发送的用户标识,所述用户标识是由所述服务器根据所述用户信 息生成的。 在一种可能的实现方式中,所述获取待访问数据包括: 通过用户标识从区块链系统中查找允许访问的数据,所述允许访问的数据是由所 述第二用户节点上传至所述区块链系统; 从所述区块链系统中获取所述允许访问的数据。 在一种可能的实现方式中,所述访问策略是由所述服务器根据包括所述第一用户 节点的用户属性集合的用户属性集合清单生成,并发送给所述第二用户节点;或,所述访问 5 CN 111598695 A 说 明 书 2/11 页 策略是由所述第二用户节点根据包括所述第一用户节点的用户属性集合的用户属性集合 清单生成。 在本申请实施例第二方面,提供了一种区块链数据访问方法,所述方法应用于第 二用户节点,包括: 向服务器发送允许访问用户清单,所述允许访问用户清单中包括所述第一用户节 点; 接收所述服务器发送的响应消息,所述响应消息除了包括公钥,还包括用户属性 集合清单或访问策略,所述用户属性集合清单中包括所述第一用户节点的用户属性集合; 根据所述响应消息获取访问策略; 根据所述访问策略、公钥对明文数据进行加密生成密文数据。 在一种可能的实现方式中,当所述响应消息包括所述用户属性集合清单时,所述 根据所述响应消息获取访问策略,包括: 根据所述用户属性集合清单生成访问策略。 在本申请实施例第三方面,提供了一种区块链数据访问方法,所述方法应用于服 务器,包括: 接收第一用户节点发送的用户信息; 根据所述用户信息获取用户属性集合; 根据用户属性集合、公钥和主密钥生成解密密钥; 将所述解密密钥和公钥发送给第一用户节点。 在一种可能的实现方式中,所述根据所述用户信息获取用户属性集合,包括: 根据所述用户信息生成用户标识,并对所述用户标识进行属性解析获得用户属性 集合;或, 将所述用户信息作为用户属性集合。 在一种可能的实现方式中,所述方法还包括: 存储所述用户标识与所述用户属性集合之间的对应关系;和/或, 存储所述用户标识与所述解密密钥之间的对应关系。 在一种可能的实现方式中,所述根据用户属性集合、公钥和主密钥生成解密密钥 之前,所述方法还包括: 根据输入的随机参数生成公钥和主密钥。 在一种可能的实现方式中,所述方法还包括: 接收第二用户节点发送的允许访问用户清单,所述允许访问用户清单中包括所述 第一用户节点; 获取所述允许访问用户清单中各个用户节点对应的用户标识; 根据各个所述用户标识查找对应的用户属性集合,并生成用户属性集合清单,所 述用户属性集合清单包括所述第一用户节点的用户属性集合; 向所述第二用户节点发送响应消息,所述响应消息除了包括公钥,还包括用户属 性集合清单或访问策略。 在一种可能的实现方式中,当所述响应消息包括所述访问策略时,在向所述第二 用户节点发送响应消息之前,所述方法还包括: 6 CN 111598695 A 说 明 书 3/11 页 根据所述用户属性集合清单生成访问策略。 在本申请实施例第四方面,提供了一种区块链数据访问装置,所述装置设于第一 用户节点,包括: 第一接收单元,用于接收服务器发送的解密密钥和公钥,所述解密密钥是由所述 服务器根据所述第一用户节点的用户属性集合、所述公钥以及主密钥生成的,所述第一用 户节点的用户属性集合是由所述服务器根据所述第一用户节点的用户信息获取的; 第一获取单元,用于获取待访问数据,所述待访问数据是由第二用户节点根据访 问策略、公钥对明文数据加密后生成的密文数据,所述访问策略是根据包括所述第一用户 节点的用户属性集合的用户属性集合清单生成的; 解密单元,用于利用所述解密密钥和所述公钥对所述待访问数据进行解密,获得 所述明文数据。 在本申请实施例第五方面,提供了一种区块链数据访问装置,所述装置设于第二 用户节点,包括: 第二发送单元,用于向服务器发送允许访问用户清单,所述允许访问用户清单中 包括所述第一用户节点; 第三接收单元,用于接收所述服务器发送的响应消息,所述响应消息除了包括公 钥,还包括用户属性集合清单或访问策略,所述用户属性集合清单中包括所述第一用户节 点的用户属性集合; 第二获取单元,用于根据所述响应消息获取访问策略; 加密单元,用于根据所述访问策略、公钥对明文数据进行加密生成密文数据。 在本申请实施例第六方面,提供了一种区块链数据访问装置,所述装置设于服务 器,包括: 第四接收单元,用于接收第一用户节点发送的用户信息; 第三获取单元,用于根据所述用户信息获取用户属性集合; 第一生成单元,用于根据用户属性集合、公钥和主密钥生成解密密钥; 第三发送单元,用于将所述解密密钥和公钥发送给第一用户节点。 由此可见,本申请实施例具有如下有益效果: 当第一用户节点访问区块链系统中所存储的数据时,预先接收服务器发送的解密 密钥和公钥,其中,解密密钥是根据第一用户节点的用户属性、公钥和主密钥生成。当获取 到待访问数据时,可以利用解密密钥和公钥对该待访问数据进行解密获得明文数据。其中, 待访问数据是由第二用户节点根据访问策略、公钥对明文数据进行加密生成并上传至区块 链系统中的加密数据。其中,访问策略是根据包括第一用户节点的用户属性集合生成的。 即,作为数据的上传者(第二用户节点),可以利用其访问策略(第二用户节点所允许访问的 各个用户节点对应的用户属性集合生成的)和公钥对明文数据进行加密并上传。当第一用 户节点需要访问第二用户节点上传的密文数据时,通过对应的解密密钥和公钥进行解密, 从而保证第二用户节点上传的数据仅被允许访问的用户所查看,提高数据访问的安全性, 避免信息泄露。 7 CN 111598695 A 说 明 书 4/11 页 附图说明 图1a为本申请实施例提供的一种算法实现框架图; 图1b为本申请实施例提供的一种访问结构示意图; 图2为本申请实施例提供的一种区块链数据访问信令交互图; 图3为本申请实施例提供的一种应用场景示意图; 图4为本申请实施例提供的一种区块链数据访问装置结构图; 图5为本申请实施例提供的另一种区块链数据访问装置结构图; 图6为本申请实施例提供的又一种区块链数据访问装置结构图。
分享到:
收藏