[发明专利]一种区块链离链数据的安全存储系统及方法有效
申请号: | 201710743042.8 | 申请日: | 2017-08-25 |
公开(公告)号: | CN107480559B | 公开(公告)日: | 2019-08-20 |
发明(设计)人: | 王晶 | 申请(专利权)人: | 北京中星仝创科技有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F21/62;G06F21/60;H04L9/08;H04L9/32 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 王卫东 |
地址: | 100176 北京市大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 链离链 数据 安全 存储系统 方法 | ||
1.一种区块链离链数据的安全存储系统,其特征在于,包括:
数据认证码生成模块,读取当前离链数据,做预处理后,根据数据认证码生成策略,生成能够对所有离链数据进行认证的当前离链数据的数据认证码;
可靠存储模块,验证所述数据认证码生成模块写入的离链数据和对应数据认证码的正确性,并将验证正确的离链数据写入其备份缓冲区;
数据备份模块,根据系统写入区块链主链的既定策略将所述可靠存储模块的备份缓冲区上的离链数据经必要处理后写入区块链主链;
所述数据认证码生成模块由数据拥有者运行,当前离链数据Mi的数据认证码包括当前离链数据Mi的非公开验证数据认证码和当前离链数据Mi的公开可验证数据认证码两种;所述数据认证码生成模块的数据认证码生成策略配置为:
初始化时,为系统设置消息认证码函数初始向量值MAC0,初始向量值MAC0为一个固定的任意长度的二进制字符串;
调用消息认证码函数,以当前存在的最后一个输出的MAC值MACi-1作为初始向量,以没有生成数据认证码的当前离链数据Mi对应的字符串作为输入,输出相应的MAC值MACi,作为当前离链数据Mi的非公开验证数据认证码,并进行存储、发送该MAC值MACi及对应的当前离链数据Mi;
以最后一个输出的MAC值MACi作为输入,输出当前离链数据Mi的公开可验证数据认证码,并存储、发送;
在生成第i个非公开验证数据认证码时,当前离链数据Mi为一条或几条没有生成数据认证码的离链数据,将当前存在的最后一个输出的MAC值MACi-1做为消息认证码函数的初始向量,以Mi输入消息认证码函数产生非公开验证数据认证码。
2.如权利要求1所述的系统,其特征在于,所述数据认证码生成模块根据隐私保护需要,先对离链数据加密,再对加密后的离链数据生成数据认证码;密钥由用户管理。
3.如权利要求1所述的系统,其特征在于,公开验证周期策略包括:
对于每条离链数据都实时生成;
仅对当前最后输出的MAC值MACi对应的离链数据生成;
仅在系统空闲时对当前最后输出的MAC值MACi对应的离链数据生成;
按照一定时间周期对当前最后输出的MAC值MACi对应的离链数据生成。
4.如权利要求1所述的系统,其特征在于,所述可靠存储模块验证所述数据认证码生成模块写入的离链数据和对应数据认证码的正确性,具体为:
是按照上述数据认证码生成的策略,验证系统最后一条离链数据的非公开验证数据认证码对应的MAC值和相应的公开可验证数据认证码是否同时正确,同时正确时,判断这些离链数据为正确;否则,判断为不正确。
5.如权利要求1所述的系统,其特征在于,
所述可靠存储模块对写入离链数据进行冗余备份;
所述数据备份模块额外对备份缓冲区的离链数据进行备份。
6.如权利要求1所述的系统,其特征在于,
所述可靠存储模块负责将存入离链数据的存储区标定为备份缓冲区;
所述数据备份模块在将所述备份缓冲区内离链数据写入区块链主链后,释放对应的备份缓冲区。
7.如权利要求1所述的系统,其特征在于,写入区块链主链的既定策略包括周期性写入区块链主链或空闲时写入区块链主链。
8.一种区块链离链数据的安全存储方法,其特征在于,包括以下步骤:
读取当前离链数据,做预处理后,根据数据认证码生成策略生成能够对所有离链数据进行认证的当前离链数据的数据认证码;
验证写入的离链数据和对应的数据认证码的正确性,并将验证正确的离链数据写入其备份缓冲区;
根据系统写入区块链主链的既定策略,将备份缓冲区上的离链数据经必要处理后写入区块链主链;
其中:当前离链数据Mi的数据认证码包括当前离链数据Mi的非公开验证数据认证码和当前离链数据Mi的公开可验证数据认证码两种;所述数据认证码生成模块的数据认证码生成策略配置为:
初始化时,为系统设置消息认证码函数初始向量值MAC0,初始向量值MAC0为一个固定的任意长度的二进制字符串;
调用消息认证码函数,以当前存在的最后一个输出的MAC值MACi-1作为初始向量,以没有生成数据认证码的当前离链数据Mi对应的字符串作为输入,输出相应的MAC值MACi,作为当前离链数据Mi的非公开验证数据认证码,并进行存储、发送该MAC值MACi及对应的当前离链数据Mi;
以最后一个输出的MAC值MACi作为输入,输出当前离链数据Mi的公开可验证数据认证码,并存储、发送;
在生成第i个非公开验证数据认证码时,当前离链数据Mi为一条或几条没有生成数据认证码的离链数据,将当前存在的最后一个输出的MAC值MACi-1做为消息认证码函数的初始向量,以Mi输入消息认证码函数产生非公开验证数据认证码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星仝创科技有限公司,未经北京中星仝创科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710743042.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置