基于区块链技术的物联网终端安全通信方法技术

技术编号:21065158 阅读:17 留言:0更新日期:2019-05-08 09:49
本发明专利技术公开了一种基于区块链技术的物联网终端安全通信方法,包括物联网通信服务器生成密钥;各IoT设备生成密钥生成参数、生成各自的私钥;通信双方计算各自的公钥、获取物联网通信服务器的密钥、将各自的公钥提交物联网通信服务器进行进行存储、通过物联网通信服务器获取通信对方的公钥、计算当次通信的通信密钥和通过当次通信的通信密钥进行安全通信。本发明专利技术实现IoT设备与服务中心以及IoT设备间的自动加密通信;减少了服务中心负载量,又实现了数据通信的高效性;最后实现了基于区块链的IoT设备公钥等数据的可靠存储,保证了存储的完整性和难以篡改性,满足了存储安全的要求。

【技术实现步骤摘要】
基于区块链技术的物联网终端安全通信方法
本专利技术具体涉及一种基于区块链技术的物联网终端安全通信方法。
技术介绍
随着经济技术的发展,物联网已经广泛应用于人们的生产和生活中,给人们的生产和生活带来了无尽的便利。从智能电网、智慧交通、智慧城市到工业4.0等应用场景,物联网(IoT)终端设备及系统成爆炸式增长,物联网应用越来越广泛。然而设备一旦接入网络,势必存在被攻击的可能性,一旦遭受攻击,导致数据和隐私泄露,严重的可导致交通瘫痪、电网中断等重大事故,物联网系统安全受到越来越多的关注。目前在实际应用中多采用比较传统的方法,如为IoT设备设定用户名和密码,通过控制中心实现安全认证与数据交互。这种机制存在着一定不足:(1)许多IoT设备通常采用默认出厂用户名和密码,增加了暴力破解的可能性。(2)每次IoT设备会话都要经过中心服务器进行认证与信息传输,随着IoT设备的不断增加,极大增加中心服务器负载。(3)密码数据在服务端的常规保存,容易造成用户隐私泄露。(4)在数据存储的可靠性保障上,服务中心多采用主从备份机制,能够解决单点失败问题,但对数据本身并未实现完整性保护。许多学者针对物联网安全问题开展了相关研究,提出了加密、身份认证、隐私保护、入侵检测等安全机制。然而,学术界比较关注技术上的安全研究,许多物联网设备的计算和存储资源非常有限,在实际应用中实现难度比较高。随着区块链技术的专利技术及兴起,在物联网安全方面也引起了关注。西安电子科大申请的专利(CN108270571A)提出了一种基于区块链的物联网身份认证系统及其方法,借助可信第三方搭建区块链网络,部署智能合约,基于POW共识算法记账,进行设备交易信息创建与验证,关联、控制设备交易信息创建与验证,实现模块和用户的合法性验证、隐私保护等。但设备关联与控制均需要验证,通信和计算开销较大,影响效率。中国联通申请的专利(CN107749848A)提供了一种物联网数据的处理方法、装置及物联网系统,第一物联网设备负责数据采集,发送包含设备和数据标识的身份验证信息到第二物联网设备,第二物联设备根据各自对应的区块链进行身份验证,验证通过添加新的区块,并将数据、标识和块号一同存入数据库。主要实现物联网数据存储的不可篡改和可追溯性。电子科技大学申请的专利(CN108111312A)提出了一种基于区块链的智能终端安全通信方法。各个终端作为区块,通过POW共识机制生成安全测试数据,依据智能合约进行数据交互,组合成为链式结构,通过加密算法来保证块链间信息传递的安全性,实现了智能终端的安全防护。在各终端间实现存储与共识,计算和存储开销较大,不符合物联网设备资源受限的特点。
技术实现思路
本专利技术的目的在于提供一种可靠性高、保密性好且效率较高的基于区块链技术的物联网终端安全通信方法。本专利技术提供的这种基于区块链技术的物联网通信方法,包括如下步骤:S1.物联网通信服务器生成密钥;S2.各IoT设备生成密钥生成参数;S3.各Iot设备根据步骤S2生成的密钥生成参数,生成各自的私钥;S4.通信双方根据密钥生成参数和私钥,计算得到各自的公钥;S5.通信双方获取物联网通信服务器的公钥;S6.通信双方将各自的公钥提交物联网通信服务器进行进行区块链存储;S7.通信双方通过物联网通信服务器获取通信对方的公钥;S8.通信双方计算当次通信的通信密钥;S9.通信双方通过当次通信的通信密钥进行安全通信。步骤S1所述的物联网通信服务器生成密钥,具体为采用ECC非对称加密算法生成服务器密钥对;服务器密钥对包括服务器公钥和服务器私钥,其中服务器私钥保存在物联网通信服务器,服务器公钥传输给各个IoT设备。步骤S2所述的密钥生成参数,具体包括通过通信双方协商生成的素数p、椭圆曲线系数a和b、基点G和子群阶数n。步骤S3所述的生成各自的私钥,具体为通信双方依据椭圆曲线参数n,在[1,n-1]区间使用random()函数各自产生一个随机数da和db,作为各自的私钥并保存在本地。步骤S4所述的计算得到各自的公钥,具体为采用如下算式计算公钥:Ha=da*GHb=db*G式中,Ha为通信方a的公钥,Hb为通信方b的公钥,da和db为通信方在步骤S3中各自产生的私钥,G为基点。步骤S5所述的通信双方获取物联网通信服务器的密钥,具体为通信双方通过以明文的方式,获取物联网通信服务器的公钥。步骤S6所述的通信双方将各自的公钥提交物联网通信服务器进行进行区块链存储,具体为通信双方通过获取的物联网通信服务器的公钥对各自的公钥和ID进行单端非对称加密,并提交物联网通信服务器进行存储,通信服务器达成共识后,存储到各自区块链中。步骤S7所述的通信双方通过物联网通信服务器获取通信对方的公钥,具体为将通信方ID和通信对方ID数据使用通信服务器公钥加密,上传到通信服务器中,从服务器存储的区块链中查询到所存储的两个设备ID所对应的公钥,物联网通信服务器采用各自的公钥对对方的公钥进行加密,并将加密后的数据分别发送至通信对方;通信双方采用各自的私钥对接收的加密数据进行解密即可获取通信对方的公钥。步骤S8所述的通信双方计算当次通信的通信密钥,具体为,根据D-H密钥交换协议,获取对方公钥后,通信双方采用如下公式计算当次通信的通信密钥:k=da*Hb=db*Ha式中,Ha为通信方a的公钥,Hb为通信方b的公钥,da和db为通信方在步骤S3中各自产生的私钥。所述的物联网通信服务器,具体为采用Raft共识协议实现。所述的采用Raft共识协议实现,具体为采用如下步骤进行实现:A.leader节点选举;B.IoT设备的数据同步;C.IoT设备的数据存储;D.物联网通信服务器的响应;E.IoT设备数据的重发;F.Leader节点重选。所述的leader节点选举,具体为各服务器节点将初始状态设置为follower状态;若某节点在某随机时段内未收到leader节点下发的心跳信息,则将自身状态转换为candidate状态;candidate状态的节点向剩余节点发送投票请求;剩余节点接收到投票请求后,每个节点判断自身设定的随机时间段是否到期,如果未到期,且未投票给自己或者其它节点,则对收到的当前candidate的节点发出确认投票响应消息;最终获取最多数投票的节点转换为leader节点。所述的IoT设备的数据同步,具体为若在随机周期内leader节点未收到新上传的IoT终端的公钥数据,则leader节点向剩余节点发送数据同步请求;若同步数据内容为空时,作为心跳检测数据,向剩余节点确认leader节点依然活跃;若leader节点接收到剩余IoT设备新提交的公钥数据,则leader节点向剩余节点发送记录请求,并要求剩余节点接收IoT设备新提交的公钥数据;剩余节点接收新的IoT设备公钥后,向leader节点发出信息并确认成功接收。所述的IoT设备的数据存储,具体为当leader节点接收到超过设定比例的剩余节点的确认消息后,将新得IoT公钥数据提交到自己的区块链中;同时在下一个心跳中,leader节点通知所有的剩余节点将新接收的IoT公钥数据追加到各自的区块链中。所述的IoT设备重发,具体为若IoT设备在设定时间内未收到通信服务器的响应,重新提交公钥数据,尝试到超时而终止。所述的Leader节本文档来自技高网
...

【技术保护点】
1.一种基于区块链技术的物联网终端安全通信方法,包括如下步骤:S1.物联网通信服务器生成密钥;S2.各IoT设备生成密钥生成参数;S3.各IoT设备根据步骤S2生成的密钥生成参数,生成各自的私钥;S4.通信双方根据密钥生成参数和私钥,计算得到各自的公钥;S5.通信双方获取物联网通信服务器的公钥;S6.通信双方将各自的公钥提交物联网通信服务器进行进行区块链存储;S7.通信双方通过物联网通信服务器获取通信对方的公钥;S8.通信双方计算当次通信的通信密钥;S9.通信双方通过当次通信的通信密钥进行安全通信。

【技术特征摘要】
1.一种基于区块链技术的物联网终端安全通信方法,包括如下步骤:S1.物联网通信服务器生成密钥;S2.各IoT设备生成密钥生成参数;S3.各IoT设备根据步骤S2生成的密钥生成参数,生成各自的私钥;S4.通信双方根据密钥生成参数和私钥,计算得到各自的公钥;S5.通信双方获取物联网通信服务器的公钥;S6.通信双方将各自的公钥提交物联网通信服务器进行进行区块链存储;S7.通信双方通过物联网通信服务器获取通信对方的公钥;S8.通信双方计算当次通信的通信密钥;S9.通信双方通过当次通信的通信密钥进行安全通信。2.根据权利要求1所述的基于区块链技术的物联网终端安全通信方法,其特征在于步骤S1所述的物联网通信服务器生成密钥,具体为采用ECC非对称加密算法生成服务器密钥对;服务器密钥对包括服务器公钥和服务器私钥,其中服务器私钥保存在物联网通信服务器,服务器公钥传输给各个IoT设备;在步骤S2中,通信双方协商生成的素数p、椭圆曲线系数a和b、基点G和子群阶数n;步骤S3中,在[1,n-1]区间内各自产生一个随机数da和db,作为各自的私钥并保存在本地。3.根据权利要求2所述的基于区块链技术的物联网终端安全通信方法,其特征在于步骤S4所述的计算得到各自的公钥,具体为采用如下算式计算公钥:Ha=da*GHb=db*G式中,Ha为通信方a的公钥,Hb为通信方b的公钥,da和db为通信方在步骤S3中各自产生的私钥,G为基点。4.根据权利要求5所述的基于区块链技术的物联网终端安全通信方法,其特征在于步骤S5所述的通信双方获取物联网通信服务器的密钥,具体为通信双方通过以明文的方式,获取物联网通信服务器的公钥;对于步骤S6所述的通信双方将各自的公钥提交物联网通信服务器进行区块链存储,具体为通信双方通过获取的物联网通信服务器的公钥对各自公钥和ID进行单端非对称加密,并提交物联网通信服务器进行存储,通信服务器达成共识后,存储到各自区块链中。5.根据权利要求4所述的基于区块链技术的物联网终端安全通信方法,其特征在于步骤S7所述的通信双方通过物联网通信服务器获取通信对方的公钥,具体为将通信方ID和通信对方ID数据使用通信服务器公钥加密,上传到通信服务器中,从服务器存储的区块链中查询到所存储的两个设备ID所对应的公钥,物联网通信服务器采用各自的公钥对对方的公钥进行加密,并将加密后的数据分别发送至通信对方;通信双方采用各自的私钥对接收的加密数据进行解密即可获取通信对方的公钥;根据权利要求5所述的基于区块链技术的物联网终端安全通信方法,其特征在于步骤S8所述的通信双方计算当次通信的通信密钥,具体为,根据D-H密钥交换协议,获取对方公钥后,通信双方采用如下公式计算当次通信的通信密钥:k=da*Hb=db*Ha式中,Ha为通信方a的公钥,Hb为通信方b的公钥,da和db为通信方在步骤S3中各自产生的私钥。6.根据权利要求1~5之一所述的基于区块链技术的物...

【专利技术属性】
技术研发人员:魏叶华赵艳杰蒋继强乐懿邢红星
申请(专利权)人:湖南师范大学
类型:发明
国别省市:湖南,43

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

1