一种适用于区块链的数据保护方法及系统技术方案

技术编号:24938599 阅读:29 留言:0更新日期:2020-07-17 21:04
本发明专利技术公开了一种适用于区块链的数据保护方法及系统,传感器采集数据信息,获取与数据信息对应的传输盐值,根据数据信息、自身存储的传输密钥和传输盐值生成HMAC值,发送包括传感器标签、数据信息和HMAC值的传感器数据至区块链子系统;区块链子系统接收到传感器数据,获取与数据信息对应的验证盐值,根据数据信息、验证盐值以及与传感器标签对应的验证密钥生成OHMAC值,判断OHMAC值与HMAC值是否相等,若是,则将数据信息上链;即本发明专利技术通过引入与传输数据变化有关的参数,来得到对应的盐值,极大的增强了系统抗攻击的强度,有效解决区块链和物联网结合过程中传感器数据传输的安全性问题。

【技术实现步骤摘要】
一种适用于区块链的数据保护方法及系统
本专利技术涉及区块链
,特别涉及一种适用于区块链的数据保护方法及系统。
技术介绍
随着全球物联网技术的逐渐发展和各国政策的大力扶持,物联网芯片、信息传感器等先进产品不断推出,有力地促进了物联网的应用和普及,开始广泛应用于交通、物流、环保、医疗、零售等领域。与此同时,物联网硬件及物联网产品也逐渐迈向市场,智能手环、智能手表等可穿戴设备和智能家居的市场规模逐渐扩大。区块链集成了分布式数据存储、点对点传输、共识机制、加密算法等技术,具有去中心化、去信任化、数据不可篡改和可追溯等特点,可以为物联网提供信任、所有权记录、透明性和通信支持,从而为解决物联网产业发展难题、拓展物联网产业发展空间提供了新的思路。为了整个网络的安全,这些传感器设备在接入网络时,可靠可信的认证和数据传输至关重要。为了提高上链数据的真实性,部分方案采用哈希存证的方式,就是把文件内容的哈希值进行保存上链。文件内容的哈希值我们也通常称为文件的“数字指纹”,可以通过对文件内容进行哈希运算得到。可以通过哈希存证的方式验证文件内容是否被篡改,例如,把一个原文的哈希值存储上了区块链,当我们再次拿到这个文件时,对其内容进行哈希运算,如果和链上存储的内容一致,则认为内容可信,没有被篡改。如果哈希值不同,则认为内容已经被篡改,已经不再可信。HMAC是密钥相关的哈希运算消息认证码(Hash-basedMessageAuthenticationCode)的缩写,是一种利用密码学中的散列函数来进行消息认证的一种机制,能够证明消息内容在传送过程没有被修改,能够可靠地确认接收的消息与发送的一致。HMAC是当前许多安全协议所选用的提供认证服务的方式,它引入了密钥,其安全性已经不完全依赖于所使用的Hash算法,使用的密钥是双方事先约定的,第三方不可能知道。首先现有技术方案只能知道文件是否被篡改,而不能知道真正的原文是什么。其次如果文件和文件的哈希值在上传过程中同时被修改,则上链的内容同样会有被篡改的可能性。另外,现有的使用HMAC算法来保护通信双方数据安全的方案,由于口令密钥变换方式简单(将密钥加固定字符),存在着容易被口令字攻击的隐患。
技术实现思路
本专利技术所要解决的技术问题是:提供一种适用于区块链的数据保护方法及系统,能有效解决区块链和物联网结合过程中传感器数据传输的安全性问题。为了解决上述技术问题,本专利技术采用的技术方案为:一种适用于区块链的数据保护方法,包括步骤:S1、传感器采集数据信息,获取与所述数据信息对应的传输盐值,根据所述数据信息、自身存储的传输密钥和传输盐值生成HMAC值,发送包括所述传感器标签、所述数据信息和所述HMAC值的传感器数据至区块链子系统;S2、区块链子系统接收到所述传感器数据,获取与所述数据信息对应的验证盐值,根据所述数据信息、所述验证盐值以及与所述传感器标签对应的验证密钥生成OHMAC值,判断所述OHMAC值与所述HMAC值是否相等,若是,则将所述数据信息上链。为了解决上述技术问题,本专利技术采用的另一种技术方案为:一种适用于区块链的数据保护系统,包括传感器以及区块链子系统,所述传感器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述区块链子系统包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:S1、采集数据信息,获取与所述数据信息对应的传输盐值,根据所述数据信息、自身存储的传输密钥和传输盐值生成HMAC值,发送包括所述传感器标签、所述数据信息和所述HMAC值的传感器数据至区块链子系统;所述第二处理器执行所述第二计算机程序时实现以下步骤:S2、接收到所述传感器数据,获取与所述数据信息对应的验证盐值,根据所述数据信息、所述验证盐值以及与所述传感器标签对应的验证密钥生成OHMAC值,判断所述OHMAC值与所述HMAC值是否相等,若是,则将所述数据信息上链。本专利技术的有益效果在于:一种适用于区块链的数据保护方法及系统,根据数据信息、与数据信息对应的传输盐值以及自身存储的传输密钥来生成HMAC值,在区块链子系统接收到传感器数据后,根据数据信息、与数据信息对应的验证盐值以及预先存储的验证密钥来生成OHMAC值,通过判断HMAC值和OHMAC值是否相等,从而验证数据信息是否被篡改,即本专利技术通过引入与传输数据变化有关的参数,来得到对应的盐值,极大的增强了系统抗攻击的强度,有效解决区块链和物联网结合过程中传感器数据传输的安全性问题。附图说明图1为本专利技术实施例的一种适用于区块链的数据保护方法的流程示意图;图2为本专利技术实施例的一种适用于区块链的数据保护系统的结构示意图;图3为本专利技术实施例的一种适用于区块链的数据保护系统的框架示意图。标号说明:1、一种适用于区块链的数据保护系统;2、传感器;3、第一处理器;4、第一存储器;5、区块链子系统;6、第二处理器;7、第二存储器;8、密钥服务器;9、区块链节点。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。请参照图1,一种适用于区块链的数据保护方法,包括步骤:S1、传感器采集数据信息,获取与所述数据信息对应的传输盐值,根据所述数据信息、自身存储的传输密钥和传输盐值生成HMAC值,发送包括所述传感器标签、所述数据信息和所述HMAC值的传感器数据至区块链子系统;S2、区块链子系统接收到所述传感器数据,获取与所述数据信息对应的验证盐值,根据所述数据信息、所述验证盐值以及与所述传感器标签对应的验证密钥生成OHMAC值,判断所述OHMAC值与所述HMAC值是否相等,若是,则将所述数据信息上链。从上述描述可知,本专利技术的有益效果在于:根据数据信息、与数据信息对应的传输盐值以及自身存储的传输密钥来生成HMAC值,在区块链子系统接收到传感器数据后,根据数据信息、与数据信息对应的验证盐值以及预先存储的验证密钥来生成OHMAC值,通过判断HMAC值和OHMAC值是否相等,从而验证数据信息是否被篡改,即本专利技术通过引入与传输数据变化有关的参数,来得到对应的盐值,极大的增强了系统抗攻击的强度,有效解决区块链和物联网结合过程中传感器数据传输的安全性问题。进一步地,所述步骤S1具体包括以下步骤:S11、传感器采集数据信息,获取自身存储的传输密钥,计算所述传输密钥和所述数据信息的拼接内容的传输数据哈希值;S12、传感器计算所述传输数据哈希值的二进制数中“1”的传输总个数,将所述传输总个数除于所述传输密钥的位数以得到传输余数;S13、传感器根据所述传输余数查询自身存储的传输盐值表,得到所述传输余数对应的传输盐值,根据所述传输密钥、所述传输盐值以及所述数据信息生成HMAC值;S14、传感器发送包括所述传感器标签、本文档来自技高网
...

【技术保护点】
1.一种适用于区块链的数据保护方法,其特征在于,包括步骤:/nS1、传感器采集数据信息,获取与所述数据信息对应的传输盐值,根据所述数据信息、自身存储的传输密钥和传输盐值生成HMAC值,发送包括所述传感器标签、所述数据信息和所述HMAC值的传感器数据至区块链子系统;/nS2、区块链子系统接收到所述传感器数据,获取与所述数据信息对应的验证盐值,根据所述数据信息、所述验证盐值以及与所述传感器标签对应的验证密钥生成OHMAC值,判断所述OHMAC值与所述HMAC值是否相等,若是,则将所述数据信息上链。/n

【技术特征摘要】
1.一种适用于区块链的数据保护方法,其特征在于,包括步骤:
S1、传感器采集数据信息,获取与所述数据信息对应的传输盐值,根据所述数据信息、自身存储的传输密钥和传输盐值生成HMAC值,发送包括所述传感器标签、所述数据信息和所述HMAC值的传感器数据至区块链子系统;
S2、区块链子系统接收到所述传感器数据,获取与所述数据信息对应的验证盐值,根据所述数据信息、所述验证盐值以及与所述传感器标签对应的验证密钥生成OHMAC值,判断所述OHMAC值与所述HMAC值是否相等,若是,则将所述数据信息上链。


2.根据权利要求1所述的一种适用于区块链的数据保护方法,其特征在于,所述步骤S1具体包括以下步骤:
S11、传感器采集数据信息,获取自身存储的传输密钥,计算所述传输密钥和所述数据信息的拼接内容的传输数据哈希值;
S12、传感器计算所述传输数据哈希值的二进制数中“1”的传输总个数,将所述传输总个数除于所述传输密钥的位数以得到传输余数;
S13、传感器根据所述传输余数查询自身存储的传输盐值表,得到所述传输余数对应的传输盐值,根据所述传输密钥、所述传输盐值以及所述数据信息生成HMAC值;
S14、传感器发送包括所述传感器标签、所述数据信息和所述HMAC值的传感器数据至区块链子系统;
所述步骤S2具体包括以下步骤:
S21、区块链子系统接收到所述传感器数据,获取与所述传感器标签对应的验证密钥,计算所述验证密钥和所述数据信息的拼接内容的验证数据哈希值;
S22、区块链子系统计算所述验证数据哈希值的二进制数中“1”的验证总个数,将所述验证总个数除于所述验证密钥的位数以得到验证余数;
S23、区块链子系统根据所述验证余数查询与所述传感器标签对应的验证盐值表,得到所述验证余数对应的验证盐值,根据所述传输密钥、所述验证盐值以及所述数据信息生成OHMAC值;
S24、区块链子系统判断所述OHMAC值与所述HMAC值是否相等,若是,则将所述数据信息上链,否则发出警报。


3.根据权利要求2所述的一种适用于区块链的数据保护方法,其特征在于,所述步骤S11中“计算所述传输密钥和所述数据信息的拼接内容的传输数据哈希值”具体包括以下步骤:
传感器将所述传输密钥与包括m个字节的预设数值进行按位异或,得到m字节的已转换传输密钥,若所述传输密钥的字节长度小于m,则在所述传输密钥后面填充0,使得所述传输密钥的字节长度达到m字节,所述m等于哈希输出值的字节数;
传感器将所述数据信息拼接到所述已转换传输密钥的后面,得到传输拼接内容,对所述传输拼接内容进行哈希运算,得到传输数据哈希值;
所述步骤S21中“计算所述验证密钥和所述数据信息的拼接内容的验证数据哈希值”具体包括以下步骤:
区块链子系统将所述验证密钥与包括m个字节的预设数值进行按位异或,得到m字节的已转换验证密钥,若所述验证密钥的字节长度小于m,则在所述验证密钥后面填充0,使得所述验证密钥的字节长度达到m字节;
区块链子系统将所述数据信息拼接到所述已转换验证密钥的后面,得到验证拼接内容,对所述验证拼接内容进行哈希运算,得到验证数据哈希值。


4.根据权利要求3所述的一种适用于区块链的数据保护方法,其特征在于,所述步骤S13具体包括以下步骤:
传感器根据所述传输余数查询自身存储的传输盐值表,得到所述传输余数对应的传输盐值;
传感器将所述传输盐值与所述预设数值进行按位异或,得到m字节的已转换传输盐值,对所述已转换传输盐值进行哈希运算,得到传输盐值哈希值,若所述传输盐值的字节长度小于m,则在所述传输盐值后面填充0,使得所述传输盐值的字节长度达到m字节;
传感器对包括所述已转换传输密钥、所述传输盐值哈希值以及所述传输数据哈希值的数据流进行哈希运算,得到HMAC值;
所述步骤S23具体包括以下步骤:
区块链子系统根据所述验证余数查询自身存储的验证盐值表,得到所述验证余数对应的验证盐值;
区块链子系统将所述验证盐值与所述预设数值进行按位异或,得到m字节的已转换验证盐值,对所述已转换验证盐值进行哈希运算,得到验证盐值哈希值,若所述验证盐值的字节长度小于m,则在所述验证盐值后面填充0,使得所述验证盐值的字节长度达到m字节;
区块链子系统对包括所述已转换验证密钥、所述验证盐值哈希值以及所述验证数据哈希值的数据流进行哈希运算,得到OHMAC值。


5.根据权利要求3或4所述的一种适用于区块链的数据保护方法,其特征在于,所述预设数值为m个字节的0X55,所述m为32,所述哈希运算的算法为sha256算法。


6.一种适用于区块链的数据保护系统,包括传感器以及区块链子系统,所述传感器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述区块链子系统包括第...

【专利技术属性】
技术研发人员:斯雪明朱华安
申请(专利权)人:福建福链科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1