全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210623984.3 (22)申请日 2022.06.02 (71)申请人 云南软捷科技有限公司 地址 650000 云南省昆明市高新区C2- 6号 地块垠创大厦3 07号 (72)发明人 毕伟坤 曹德智 张杰  (74)专利代理 机构 成都知都云专利代理事务所 (普通合伙) 51306 专利代理师 陈钱 (51)Int.Cl. H04L 9/40(2022.01) H04L 67/104(2022.01) H04L 9/32(2006.01) H04L 9/08(2006.01) (54)发明名称 一种面向区块链的数据加密共享方法、 装置 及存储介质 (57)摘要 本发明提供的一种面向区块链的数据加密 共享方法、 装置及存储介质, 涉及区块链技术领 域。 本实施所提出的数据加密共享方法通过异或 运算来构造密钥 序列, 并实现了客户端与区块链 节点之间通过一套密钥序列实现 “一对一”以及 “一对多”的数据加密; 其加密计算量小, 相较于 现有数据加密共享方法, 具备不需要管理大量密 钥、 无需多次构建密钥序列的优势, 适用于多节 点数据共享的情况; 此外, 本发明还通过加入 Keys加密密钥来防止各节点通过反算来破解加 密的情况; 通过加入明文加密密钥来实现内网数 据的分享, 外部节点无法直接获取内网明文, 兼 顾实用性与安全性。 权利要求书3页 说明书8页 附图7页 CN 115001824 A 2022.09.02 CN 115001824 A 1.一种面向区块链的数据加密共享方法, 部署于区块链上, 其特征在于, 所述 区块链包 括若干客户端和若干区块链节点, 各客户端分别与各节点建立通信链路, 并通过数据加密 上传步骤将客户端数据进 行加密并上传至区块链; 所述数据加密上传步骤的子步骤包括密 钥生成步骤、 密 文生成步骤和密 文上传步骤; 所述密钥生 成步骤用于生成加密密钥, 所述密 文生成步骤用于对数据明文通过加密密钥进行加密, 并获得密文; 所述密文上传步骤将密 文上传至区块链上, 其中, 所述密钥生成步骤的子步骤 包括: 客户端密钥序列生成: 通过密钥生成算法, 生成客户端密钥序列Keys; 其中, Keys= [Key1, Key2, Key3....Keyn], 为异或运算符, n为区 块链节点总数, K ey1, Key2, Key3....Keyn为密钥项; 节点密钥序列生成: 通过密钥生成算法, 生成与客户端密钥序列Keys对应的n条缺省密 钥序列 并作为节点密钥序列; 其中, *表示缺省的密钥项; 中的n表示 缺省的密钥项编号, K ey1, Key2, Key3....Keyn为密钥项; 密钥序列分配: 客户端保存完整 的客户端密钥序列Keys, 各节点密钥序列随机分配给 各区块链 节点; 其中, 向各区块链 节点分配的节点密钥序列 均不相同。 2.根据权利要求1所述的一种面向区块链的数据加密共享方法, 其特征在于, 所述密文 生成步骤: 客户端设置Nodes集合, 所述Nodes集合用于 保存客户端指 定的可信区块链节 点; 获取各可信区块链节点的节点密钥序列, 并求取各节点密钥序列中相同的密钥项, 得到密 文解密序列; 将客户端密钥序列Keys与密文解密序列相同的密钥项剔除, 得到密文加密序 列; 将密文加密序列对待上传的明文数据进行加密, 得到密文; 将密文存储至区块链上; 所 述可信区块链节点通过自身的节点密钥序列进行组合, 得到密文解密序列, 并对密文进行 解密与查看。 3.根据权利要求2所述的一种面向区块链的数据加密共享方法, 其特征在于, 所述密文 上传步骤: 客户端发送交易至 区块链, 完成密文上传; 所述交易包括TxID、 Payload和Sign, 其中, 所述TxID为交易的唯一标识; 所述Payload用于保存交易内容, 包括合约相关信息和 合约参数, 所述合约相关信息包括合约名称与合约版本号, 所述合约参数用于保存上传数 据; 所述Sign用于保存消息签名。 4.根据权利要求3所述的一种面向区块链的数据加密共享方法, 其特征在于, 所述密文 以结构化数据在区块链上进行存储, 存储结构为: Key ‑>Nodes,E(D,K)[密文], 其中, Key表 示共享数据的存储关键字, 通过Key能对 数据进行请求, ‑>为指向结构体成员运算符, Nodes 表示当前数据对应的可信区块链节 点的集合; E(D,K)[密文]表 示明文数据通过密 文加密序 列加密后得到的密文数据。 5.根据权利要求4所述的一种面向区块链的数据加密共享方法, 其特征在于, 各客户端 还通过加密数据请求 步骤来对区块链上的加密数据进行索取与解密: A1客户端向区块链 节点发送查询请求, A2区块链节点解析查询请求, 获取查询请求对应的Key, 并从本地账本中获取Key对应 的数据D; A3解析数据D, 获取对应的N odes集合与密文E;权 利 要 求 书 1/3 页 2 CN 115001824 A 2A4通过Nodes集合, 判断当前节点是否属于Nodes集合, 若是, 则执行解密步骤; 若否, 则 应答客户端当前节点无法解析, 并结束访问; A5对各区块链 节点执行A1‑A4步骤; 解密步骤: B1节点通过密文解密序列获取步骤, 得到密文解密序列; B2判断密文解密序列是否合法, 若合法, 则执行下一步; 若不合法, 则表示当前节点无 法解析, 并向客户端应答 解析失败, 并结束访问; B3使用密文解密序列对密文E进行解密, 得到明文T, 并将明文T向客户端应答, 并结束 访问。 6.根据权利要求5所述的一种面向区块链的数据加密共享方法, 其特征在于, 通过如下 步骤获取密文解密序列: C1获取Nodes集合, 初始化ANS节点集合与密文解密序列KS; 其中, 所述ANS节点集合通 过所有区块链 节点构成; C2判断ANS节点集合中, 节点ANS[i]是否在Nodes集合中; 若是, 则将节点ANS[i]对应的 节点密钥序列 进行保留; 若否, 则进行舍弃; C3重复C2步骤, 遍历ANS节点 集合, 得到保留下来的节点密钥序列; C4读取保留下来的节点密钥序列中的密钥项, 若密钥项均存在于保留下来的节点密钥 序列中, 则对密钥项 进行保留; 否则进行舍弃; C5重复C4步骤, 遍历各密钥 项, 并将保留下来的密钥项加入密文解密序列KS中; 得到密 文解密序列KS。 7.根据权利要求2所述的一种面向区块链的数据加密共享方法, 其特征在于, 所述客户 端密钥序列K eys和密文加密序列中还设置有K eys加密密钥; 所述客户端密钥序列Keys: Keys=[Key1, Key2, Key3....Keyn, KKey], 为异或运算符, n为区块链节点总数, Key1, Key2, Key3....Keyn为密钥项, K Key为Keys加密密钥; 所述密文加密序列: 获取各可信区块链节点的节点密钥序列, 并求取各节点密钥序列 中相同的密钥项, 得到密文解密序列; 将客户端密钥序列Keys中与密文解密序列相同的密 钥项剔除, 得到密文加密序列; 其中, 密文加密序列中包括K eys加密密钥。 8.根据权利要求1所述的一种面向区块链的数据加密共享方法, 其特征在于, 所述密钥 序列Keys和各节点密钥序列中还设置有明文加密 密钥; 所述客户端密钥序列Keys: Keys=[Key1, Key2, Key3....Keyn, SKey], 为异或运算符, n为区块链节点总数, Key1, Key2, Key3....Keyn为密钥项, SK ey为明文加密 密钥; 所 述 节 点 密 钥 序 列 : *表示缺省的密钥 项; 中的n表示缺省的密钥项编号, Key1, Key2, Key3....Keyn为密钥项; SKey为明文加密密 钥。权 利 要 求 书 2/3 页 3 CN 115001824 A 3

.PDF文档 专利 一种面向区块链的数据加密共享方法、装置及存储介质

文档预览
中文文档 19 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种面向区块链的数据加密共享方法、装置及存储介质 第 1 页 专利 一种面向区块链的数据加密共享方法、装置及存储介质 第 2 页 专利 一种面向区块链的数据加密共享方法、装置及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 08:18:03上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。