(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210308365.5
(22)申请日 2022.03.25
(71)申请人 南京邮电大 学
地址 210003 江苏省南京市栖霞区亚 东新
城文苑路9号
(72)发明人 孙国梓 刘坤
(74)专利代理 机构 南京正联知识产权代理有限
公司 32243
专利代理师 王素琴
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/32(2006.01)
H04L 9/08(2006.01)
H04L 67/1095(2022.01)
H04L 67/1097(2022.01)G06F 16/27(2019.01)
(54)发明名称
基于区块链的分布式数据同步加密方法
(57)摘要
本发明提供一种基于区块链的分布式数据
同步加密方法, 数据同步节点通过随机密钥函数
生成密钥Key; 将明文Di加入时间序列后行加密,
得到密文数据Ci; 将密文数据Ci共享到所有的目
的节点; 通过散列函数Hash计算, 获得对应的哈
希散列作为密文数据Ci的密文散列; 生成键值对
上链数据Mkv, 上传到区块链平台; 区块链平台验
证节点身份成功后将键值对上链数据Mkv记录到
区块链账本; 目的节点收到密文数据Ci后, 向区
块链平台请求获取键值对上链数据Mkv, 获取密
钥Key通过高级加密标准AES解密Ci, 获取明文
Di; 该方法采用对称加密算法对分布式数据库同
步数据进行加密, 保证共享过程中的数据隐私安
全, 能够保证数据的不可篡改性与可追溯性, 并
保证密钥存取的节点身份安全。
权利要求书3页 说明书7页 附图3页
CN 114679319 A
2022.06.28
CN 114679319 A
1.一种基于区块链的分布式数据同步加密方法, 其特 征在于: 包括以下步骤,
S1、 产生数据变动的分布式数据库节点即数据同步节点, 数据同步节点通过随机密钥
函数生成密钥K ey, 密钥用于对待同步数据, 即明文Di进行加密和解密;
S2、 数据同步节点将明文Di加入时间序列后, 采用生成密钥通过高级加密标准AES实现
的对称加密算法进行加密, 得到密文数据Ci;
S3、 数据同步节点将密文数据Ci共享到区块链系统内所有的目的节点;
S4、 数据同步节点将密文数据Ci通过散列函数Hash计算, 获得对应的哈希散列作为密文
数据Ci的密文散列Hash(Ci);
S5、 数据同步节点将密钥Key、 分布式数据库节点ID与同步时间作为存储数据, 以密文
散列Hash(Ci)为数据索引组合, 生 成键值对 上链数据Mkv, 然后通过程序包SDK上传到区块链
平台;
S6、 区块链平台通过数据同步节点请求中的证书信息验证节点身份, 身份验证成功后
将键值对上链数据Mkv记录到区块链账本;
S7、 目的节点对收到的密文数据Ci进行Hash计算获得密文散列, 然后目的节点向区块链
平台请求身份验 证, 身份验证成功后, 通 过密文散列向区块链平台请求获取上链数据Mkv, 进
而获取密钥K ey后, 通过高级加密标准AES解密 密文数据Ci, 获取明文Di。
2.如权利要求1所述的基于区块链的分布式数据同步加密方法, 其特征在于: 步骤S1
中, 数据同步节点 通过随机密钥函数生成密钥K ey, 具体为,
S11、 确定密钥Key的基本参数: 最终生成密钥长度lkey与密钥复杂度Okey, 最终生成密钥
长度lkey=(l1,l2)∈Z, l1,l2为最短及最长的密钥长度, 密钥复杂度Okey决定生成密钥的组
合复杂度;
S12、 数据同步节点根据 选择的lkey及Okey参数调用随机选择函数Rand(lkey,Okey,n), n为
不重复计数, 随机选择函数以lkey为次数进行遍历生 成随机密钥值, 密钥值组合为最 终生成
密钥Key。
3.如权利要求1所述的基于区块链的分布式数据同步加密方法, 其特征在于: 步骤S2
中, 数据同步节点将同步数据, 即为明文Di, 加入时间序列后, 采用生成密钥通过高级加密
标准AES实现的对称加密算法进行加密, 得到密文数据Ci, 具体为,
S21、 数据同步节点生成明文Di, i为分布式系统同步数据唯一索引, 后续明文Di要计算
Hash散列, 为减少Hash冲突每 个明文Di在生成时加入生成时间序列;
S22、 设高级加密标准AES的加密函数为E, 则Ci=E(Key,Di), 加密函数把明文Di和密钥
Key作为加密函数的参数输入, 加密函数E会输出对应的密文数据Ci。
4.如权利要求3所述的基于区块链 的分布式数据同步加密方法, 其特征在于: 步骤S21
中, 数据同步节点 生成明文Di, 具体为,
S211、 数据同步节点查询本地数据库数据同步记录表, 获取其顺序主键的最大值
Nidmax, 同时获取 数据同步节点在系统内的唯一标识ID;
S212、 获取此时系统时间Tnow, 并通过序列化函数format获取时间序列化值S=format
(Tnow);
S213、 原始数据Dini中引入外部嵌入函数Ex, 将时间序列化值S嵌入到原始数据中以获
取明文Di;权 利 要 求 书 1/3 页
2
CN 114679319 A
2S214、 综合 步骤S211、 步骤S212、 步骤S213计算获取明文Di, 如下:
5.如权利要求1 ‑4任一项所述的基于区块链的分布式数据同步加密方法, 其特征在于:
步骤S3中, 数据同步节点将密文数据Ci共享到区块链系统内所有的目的节点, 具体为,
S31、 分布式数据库节点之间彼此保持通信, 由传输控制协议TCP作为通信协议, 同时定
义目的节点 “心跳”机制保持节点存活性, 数据同步节点对区块链系统内所有的目的节点判
定心跳是否正常;
S32、 数据同步节点向所有保持心跳正常的目的节点发送数据密文, 每个目的节点在收
到密文后将在T时间后回复完整性校验结果。
6.如权利要求5所述的基于区块链 的分布式数据同步加密方法, 其特征在于: 步骤S31
中, 定义目的节点 “心跳”机制保持节点存活性, 具体为,
S311、 建立发送通信包定时器Kat(t), t为 通信包的发送间隔时间;
S312、 根据发送通信包定时器Kat(t)发送通信包, 同时更新收到通信包的时间Rtk, k为
次数;
S313、 建立判断定时器Jt(b), b为连接标识符, 每次收到通信包b=t rue;
S314、 判断定时器Jt(b)不断计算收到的通信包间隔TJt=Tnow‑Rtk, Tnow为当前时间, 如
果TJt大于设定值, 则将连接标识符b=false判作超时, 目 的节点心跳不正常; 否则连接标识
符b=true, 目的节点心跳正常。
7.如权利要求1 ‑4任一项所述的基于区块链的分布式数据同步加密方法, 其特征在于:
步骤S5中, 数据同步节点将密钥 Key、 分布式数据库节点ID与同步时间作为存储数据, 以密
文散列Hash(Ci)为数据索引组合, 以密 文散列为数据索引组合, 生 成键值对 上链数据Mkv, 然
后通过程序包S DK上传到区块链 平台, 具体为,
S51、 数据同步节点获取本节点在系统内的唯一标识ID, 同时获取当前 时间Tnow, 按照轻
量化编程语言JavaScript对象表示法JSON格式序列号组合 为数据序列{Key,ID,Tnow};
S52、 区块链账本记录包括不可更改的区块链和状态数据库账本, 其中状态数据库以键
值对Key‑Value的形式存在, 采用密文散列Hash(Ci)组成键值对上链数据Mkv={Hash(Ci),
{Key,ID,Tnow}};
S53、 每个数据同步节点都作 为区块链平台的客户端Client, 数据同步节点调用本地逻
辑中的软件开 发套件SDK程序指 定到区块链平台的背书节 点进行Set请求, 将键值对上链数
据Mkv上传至区块链 平台。
8.如权利要求1 ‑4任一项所述的基于区块链的分布式数据同步加密方法, 其特征在于:
步骤S6中, 区块链平台通过数据同步节点请求中的证书信息验证节点身份, 身份验证成功
后将键值对上链数据Mkv记录到区块链账本, 具体为,
S61、 在区块链平台中设置认证CA节点进行Client身份验证, 数据同步节点作为Client
向作为服务端Server的CA节点发出注册申请, Server返回注册密码用于Client用户登录,
以便获取身份证书, 区块链平 台对每次Client请求都会验证用户身份, 用户身份验证成功
后建立连接, 进入下一 步骤S62;权 利 要 求 书 2/3 页
3
CN 114679319 A
3
专利 基于区块链的分布式数据同步加密方法
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:40:29上传分享