一种基于区块链实现嵌入式硬件OTA升级系统及方法技术方案

技术编号:21370041 阅读:47 留言:0更新日期:2019-06-15 11:17
本发明专利技术公开了一种基于区块链实现嵌入式硬件OTA升级系统及方法,该方法:构建一个包括多个固件下载的服务节点的P2P网络拓扑结构;以一个服务节点作为第一区块节点,通过区块链共识验证机制逐个将P2P网络中的其他服务节点转化为区块链上的一个区块节点;在服务节点上存储最新固件软件,并利用哈希算法对节点内容进行计算得到该服务节点的hash值;其中,节点内容包括服务节点和其上存储的固件软件的特征信息;智能终端从P2P网络的服务节点下载相应的hash值,根据该hash值进行固件版本安全校验,并下载、保存通过校验的固件软件,并利用该固件软件进行升级。本发明专利技术使用区块链技术建立安全可信的P2P网络拓扑结构,提高智能终端OTA升级可靠性及安全性。

A Block Chain Based Upgrading System and Method for Embedded Hardware OTA

The invention discloses an embedded hardware OTA upgrade system and method based on block chain. The method includes: constructing a P2P network topology including multiple firmware downloaded service nodes; using a service node as the first block node, transforming other service nodes in the P2P network into one block node in the block chain one by one through the block chain consensus verification mechanism; The latest firmware software is stored on the service node and hash algorithm is used to calculate the hash value of the content of the service node. The content of the node includes the feature information of the service node and the firmware software stored on it. The smart terminal downloads the corresponding hash value from the service node of the P2P network and verifies the security of the firmware version according to the hash value, and downloads, saves and passes through. The firmware software is checked and upgraded by using the firmware software. The invention uses block chain technology to establish a secure and credible P2P network topology structure to improve the reliability and security of OTA upgrade of intelligent terminals.

【技术实现步骤摘要】
一种基于区块链实现嵌入式硬件OTA升级系统及方法
本专利技术涉及智能终端远程升级
,具体涉及一种基于区块链实现嵌入式硬件OTA升级系统及方法。
技术介绍
随着当前物联网智能终端的快速发展,市场上出现了各种类型的智能终端,如智能家电、智能家居、智能音箱等等,且大部分的智能终端都支持无线(WiFi)功能,以方便这些设备联网。由于后期产品功能的升级或系统安全问题的修复等原因,因此,智能终端软件需要在联网状态下远程升级(OTA:Over-the-Air)其固件,以方便用户以及降低智能终端生产厂商的运营维护成本;目前有以下几种常用技术方案:(1)智能终端生产厂商提供一个固定的网络服务地址,直接上传更新固件,并不定期向已联网的智能终端推送OTA升级消息;智能终端在收到该消息后对比版本号后自动启动固件升级程序;(2)用户可通过智能终端生产厂商提供的固定的网络服务地址搜索到需升级的最新固件软件,并将其下载至本地,再通过智能终端本身的外置接口(如USB或串口等)触发其内置的固件升级程序;(3)用户通过与智能终端配套的移动端应用APP,直接连接固件后台服务器,发现并下载或推送相应的智能终端固件,再使用无线或本地下载,然后以导入的方式推送需升级的固件,完成OTA升级。虽然现有的技术能让用户远程升级其智能终端固件,但却存在以下缺点:一旦生产厂商决定不再维护该智能终端固件或生产厂商破产倒闭,用户不仅可能失去将其智能终端固件升级至最新版本的最后机会,使未升级的联网智能终端面临着各种功能性或安全性的潜在风险,更重要的是,一些恶意的第三方公司或个人,很容易通过建立其仿制的OTA固件升级服务继续为已联网的智能终端进行OTA升级,如果智能终端OTA固件升级程序缺乏一定的安全验证机制,可能使得设备在自动升级第三方固件后出现被恶意控制并造成个人隐私泄露等重大安全问题。有鉴于此,急需对现有的智能终端OTA升级方案进行改进,提高智能终端OTA升级的可靠性和安全性,防止OTA固件被第三方恶意篡改。
技术实现思路
本专利技术所要解决的技术问题是现有的智能终端OTA升级方案,容易被第三方恶意篡改,且无法保证OTA固件长期续存,可靠性和安全性差的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供一种基于区块链实现嵌入式硬件OTA升级方法,包括以下步骤:步骤S10、构建一个包括多个固件下载的服务节点的去中心化的P2P网络拓扑结构,每个服务节点用于智能终端硬件OTA升级服务;步骤S20、以一个服务节点作为第一区块节点,通过区块链共识验证机制逐个将P2P网络拓扑结构中的其他服务节点转化为区块链上的一个区块节点;步骤S30、在服务节点上存储最新固件软件,并利用哈希算法对节点内容进行计算得到该服务节点的hash值,构建固件版本安全校验机制;其中,节点内容包括服务节点和其上存储的固件软件的特征信息;步骤S40、智能终端从P2P网络拓扑结构的服务节点下载相应的hash值,根据该hash值进行固件版本安全校验,并下载、保存通过校验的固件软件,并利用该固件软件进行升级。在上述方法中,当固件软件在第一次上传至固件下载的服务节点时,将固件软件拆分成多个部分,分别存储在多固件下载服务节点上,并生成相应的索引文件;智能终端连接一个服务节点,下载部分固件软件;根据下载的部分固件软件的组份标识,从P2P网络拓扑结构中依次查找存有其他部分固件软件的服务节点,并依次下载所有固件软件的组份;根据索引文件拼装成完整固件软件。在上述方法中,节点内容包括:存储固件软件的服务节点的节点ID、设备类型、设备型号;该服务节点上存储的固件软件的固件版本号、固件大小byte值、固件本地下载地址hash值、固件存储时间戳;该服务节点下载固件软件的上一服务节点的hash值;如果没有上一个服务节点的hash值,此部分取值为0。在上述方法中,智能终端保存通过校验的固件软件后,利用哈希算法生成固件本地下载地址hash值;再利用哈希算法对该智能终端的节点内容进行计算,得到该智能终端的hash值,并通过区块链共识验证机制将该智能终端转化为区块链上的一个区块节点,成为P2P网络拓扑结构中一个固件下载的服务节点。在上述方法中,步骤S40具体包括以下步骤:步骤S41、用户打开智能终端,并在联网后,按照相应的P2P协议宣告及发现P2P网络拓扑结构中的服务节点;步骤S42、智能终端与发现的任意一个服务节点建立连接,并从该服务节点上下载该服务节点的hash值,解析该hash值得到相应的节点内容;步骤S43、根据节点内容中的固件本地下载地址获取服务节点上存储的固件软件的特征信息;步骤S44、判断获取的固件软件的特征信息与解析得到的节点内容是否一致,如果一致,执行步骤S45;否则,执行步骤S48;步骤S45、下载、并保存固件软件,并利用哈希算法生成智能终端的固件本地下载地址hash值;步骤S46、利用哈希算法对该智能终端的节点内容进行计算,得到该智能终端的hash值,并通过区块链共识验证机制将该智能终端转化为区块链上的一个区块节点;步骤S47、利用下载的固件软件进行智能终端升级,然后执行步骤S49;步骤S48、根据P2P协议和区块链共识验证机制将该服务节点移出P2P网络和区块链;步骤S49、结束本次升级。在上述方法中,在对节点内容进行hash值的计算前,使用公私钥对对全部节点内容或者仅对约定的部分节点内容进行加密。在上述方法中,哈希算法包括AES、SHA、RSA、ECC。在上述方法中,区块链共识验证机制包括工作量证明、权益证明、权益授权证明。本专利技术还提供了一种基于区块链实现嵌入式硬件OTA升级系统,包括多个用于为智能终端硬件OTA升级提供固件下载服务的服务节点,多个所述服务节点之间构成一个去中心化的P2P网络拓扑结构;所述P2P网络拓扑结构中每个服务节点设有共识验证算法模块和安全加密验证算法及下载发布模块;所述共识验证算法模块通过P2P网络拓扑结构的区块链共识验证机制,认证加入P2P网络的服务节点为区块链的一个区块节点;所述安全加密验证算法及下载发布模块利用哈希算法对节点内容进行计算得到该服务节点的hash值,并对hash值进行发布;在该服务节点上存储的固件软件被其他智能终端下载时,利用hash值对当前固件软件进行固件版本安全校验,并将校验结果发给该智能终端;其中,节点内容包括服务节点和其上存储的固件软件的特征信息。与现有技术相比,本专利技术使用区块链技术建立安全可信的固件下载服务节点的P2P网络拓扑结构,并通过一定的区块链共识验证机制添加更多的分布式可信固件下载服务节点,从而本专利技术具有以下优点:(1)整个智能终端硬件OTA升级流程无需依赖某特定中心服务器,即使P2P网络拓扑结构中有固件下载服务节点故障、不在线或者其上的固件软件被篡改,仍不影响智能终端OTA升级,只要存在相应的智能终端固件OTA升级的固件下载服务节点,区块链就可以实现永久稳定安全的升级机制,提高智能终端OTA升级可靠性;(2)所有固件下载服务节点采用区块链的安全验证机制(区块链共识验证及固件软件安全验证机制)存储固件软件,具有不可篡改,防止恶意的固件升级程序导致设备安全漏洞,提高智能终端OTA升级的安全性(3)方案要求较低,因此每个长期联网的智能终端都有可本文档来自技高网
...

【技术保护点】
1.一种基于区块链实现嵌入式硬件OTA升级方法,其特征在于,包括以下步骤:步骤S10、构建一个包括多个固件下载的服务节点的去中心化的P2P网络拓扑结构,每个服务节点用于智能终端硬件OTA升级服务;步骤S20、以一个服务节点作为第一区块节点,通过区块链共识验证机制逐个将P2P网络拓扑结构中的其他服务节点转化为区块链上的一个区块节点;步骤S30、在服务节点上存储最新固件软件,并利用哈希算法对节点内容进行计算得到该服务节点的hash值,构建固件版本安全校验机制;其中,节点内容包括服务节点和其上存储的固件软件的特征信息;步骤S40、智能终端从P2P网络拓扑结构的服务节点下载相应的hash值,根据该hash值进行固件版本安全校验,并下载、保存通过校验的固件软件,并利用该固件软件进行升级。

【技术特征摘要】
1.一种基于区块链实现嵌入式硬件OTA升级方法,其特征在于,包括以下步骤:步骤S10、构建一个包括多个固件下载的服务节点的去中心化的P2P网络拓扑结构,每个服务节点用于智能终端硬件OTA升级服务;步骤S20、以一个服务节点作为第一区块节点,通过区块链共识验证机制逐个将P2P网络拓扑结构中的其他服务节点转化为区块链上的一个区块节点;步骤S30、在服务节点上存储最新固件软件,并利用哈希算法对节点内容进行计算得到该服务节点的hash值,构建固件版本安全校验机制;其中,节点内容包括服务节点和其上存储的固件软件的特征信息;步骤S40、智能终端从P2P网络拓扑结构的服务节点下载相应的hash值,根据该hash值进行固件版本安全校验,并下载、保存通过校验的固件软件,并利用该固件软件进行升级。2.根据权利要求1所述的方法,其特征在于,当固件软件在第一次上传至固件下载的服务节点时,将固件软件拆分成多个部分,分别存储在多固件下载服务节点上,并生成相应的索引文件;智能终端连接一个服务节点,下载部分固件软件;根据下载的部分固件软件的组份标识,从P2P网络拓扑结构中依次查找存有其他部分固件软件的服务节点,并依次下载所有固件软件的组份;根据索引文件拼装成完整固件软件。3.根据权利要求1所述的方法,其特征在于,节点内容包括:存储固件软件的服务节点的节点ID、设备类型、设备型号;该服务节点上存储的固件软件的固件版本号、固件大小byte值、固件本地下载地址hash值、固件存储时间戳;该服务节点下载固件软件的上一服务节点的hash值;如果没有上一个服务节点的hash值,此部分取值为0。4.根据权利要求3所述的方法,其特征在于,智能终端保存通过校验的固件软件后,利用哈希算法生成固件本地下载地址hash值;再利用哈希算法对该智能终端的节点内容进行计算,得到该智能终端的hash值,并通过区块链共识验证机制将该智能终端转化为区块链上的一个区块节点,成为P2P网络拓扑结构中一个固件下载的服务节点。5.根据权利要求4所述的方法,其特征在于,步骤S40具体包括以下步骤:步骤S41、用户打开智能终端,并在联网后,按照相应的P2P协...

【专利技术属性】
技术研发人员:丁路宁
申请(专利权)人:闪联信息技术工程中心有限公司
类型:发明
国别省市:北京,11

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

1