CN113472546B - 数据可信处理方法、区块链平台和终端设备 - Google Patents
数据可信处理方法、区块链平台和终端设备 Download PDFInfo
- Publication number
- CN113472546B CN113472546B CN202111023754.5A CN202111023754A CN113472546B CN 113472546 B CN113472546 B CN 113472546B CN 202111023754 A CN202111023754 A CN 202111023754A CN 113472546 B CN113472546 B CN 113472546B
- Authority
- CN
- China
- Prior art keywords
- data
- terminal
- uplink
- terminal device
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种数据可信处理方法、区块链平台和终端设备,通过获取终端设备发起的上链请求消息,根据上链请求消息获取终端设备采集生成的第一数据和第二数据;判断第一数据是否已存在于区块链上;在判断到第一数据已存在于区块链的情况下,将第二数据上链至区块链;以及,在判断到第一数据不存在于区块链的情况下,拒绝将第二数据上链至区块链,并确定终端设备不可信,解决了相关技术在设备传输数据过程中无法保证上链数据可信的问题,实现了设备传输数据过程中确保上链数据可信的有益效果。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及数据可信处理方法、区块链平台和终端设备。
背景技术
利用区块链的链上数据不可篡改的特性,可以将物联网设备采集的数据发送至区块链进行上链存储,籍此实现区块链防伪、存证、追溯等应用。
在利用区块链赋能物联网的相关技术中,有基于TEE(Trusted ExecutionEnvironment,可信执行环境)和REE(Rich Execution Environment,富执行环境)分离校验环境初始程序来实现物联网设备可信化管理;也有基于物联网设备结合Oracle预言机实现采集数据可信上链的方式,其中,Oracle预言机是区块链与外部世界交互的一种实现机制,它在区块链与外部世界间建立一种可信任的桥接机制,使得外部数据可以安全可靠地进入区块链;还有基于TEE环境的设备安全存储公私钥对加密数据上链的方法。
但是,在物联网设备被攻击后成为不可信设备的情况下,上述方法在设备传输数据时不能保证数据的可信度,即上述方法无法保证上链的数据始终是可信的。
针对相关技术在设备传输数据过程中无法保证上链数据可信的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种数据可信处理方法、区块链平台和终端设备,以解决相关技术在设备传输数据过程中无法保证上链数据可信的问题。
第一个方面,在本实施例中提供了一种数据可信处理方法,应用于区块链平台,所述区块链平台部署有区块链,所述方法包括:
获取终端设备发起的上链请求消息,根据所述上链请求消息获取所述终端设备采集生成的第一数据和第二数据;
判断所述第一数据是否已存在于所述区块链上;
在判断到所述第一数据已存在于所述区块链的情况下,将所述第二数据上链至所述区块链;以及,在判断到所述第一数据不存在于所述区块链的情况下,拒绝将所述第二数据上链至所述区块链,并确定所述终端设备不可信。
在其中一些实施例中,在获取终端设备发起的上链请求消息,根据所述上链请求消息获取所述终端设备采集生成的第一数据和第二数据之前,所述方法还包括:
获取所述终端设备发起的注册请求消息,其中,所述注册请求消息携带有所述终端设备的终端标识;
获取预先配置的终端设备的标识列表,判断所述终端标识是否存在于所述终端设备的标识列表中;
在判断到所述终端标识存在于所述终端设备的标识列表的情况下,生成安全随机数,将所述终端标识和所述安全随机数进行关联存储,采用预先设置的公钥对所述安全随机数进行加密,将经公钥加密的安全随机数发送至所述终端设备;以及,在判断到所述终端标识不存在于所述终端设备的标识列表的情况下,通知所述终端设备注册失败。
在其中一些实施例中,所述上链请求消息携带有所述终端设备的终端标识、经公钥加密的安全随机数,在判断所述第一数据是否已存在于所述区块链上之前,所述方法还包括:
根据所述上链请求消息获取所述终端设备的终端标识和所述经公钥加密的安全随机数;
根据所述终端标识和所述经公钥加密的安全随机数判断所述终端设备是否为所述区块链平台中已注册的可信终端设备。
在其中一些实施例中,在根据所述终端标识和所述经公钥加密的安全随机数判断到所述终端设备仍然是所述区块链平台中已注册的可信终端设备的情况下,判断所述第一数据是否已存在于所述区块链上;以及,
在根据所述终端标识和所述经公钥加密的安全随机数判断到所述终端设备已不是所述区块链平台中已注册的可信终端设备的情况下,拒绝将所述第二数据上链至所述区块链,并确定所述终端设备不可信。
在其中一些实施例中,根据所述终端标识和所述经公钥加密的安全随机数判断所述终端设备是否为所述区块链平台中已注册的可信终端设备包括:
查询注册所述终端设备时生成并存储的对应于所述终端标识的第一安全随机数;
获取预先设置的私钥,根据所述私钥对所述经公钥加密的安全随机数进行解密,得到第二安全随机数;
判断所述第一安全随机数和所述第二安全随机数是否相等;
在判断到所述第一安全随机数和所述第二安全随机数相等的情况下,确定所述终端设备仍然是所述区块链平台中已注册的可信终端设备;以及,在判断到所述第一安全随机数和所述第二安全随机数不相等的情况下,确定所述终端设备已不是所述区块链平台中已注册的可信终端设备。
在其中一些实施例中,所述上链请求消息携带有经公钥加密的第一数据,获取终端设备发起的上链请求消息,根据所述上链请求消息获取所述终端设备采集生成的第一数据和第二数据包括:
获取预先设置的私钥,根据所述私钥对所述经公钥加密的第一数据进行解密,得到所述第一数据。
第二个方面,在本实施例中提供了一种数据可信处理方法,应用于终端设备,所述方法包括:
获取采集生成的第一数据和第二数据,将所述第一数据和所述第二数据写入上链请求消息;
发送所述上链请求消息至区块链平台,其中,所述区块链平台部署有区块链;
获取所述区块链平台响应于所述上链请求消息后返回的上链响应消息,根据所述上链响应消息确定所述第二数据是否成功上链,其中,所述上链响应消息包括上链成功消息或者上链失败消息,所述上链成功消息对应于所述第一数据已存在于所述区块链的情况,所述上链失败消息对应于所述第一数据不存在于所述区块链的情况。
在其中一些实施例中,在发送所述上链请求消息至区块链平台之前,所述方法还包括:
向所述区块链平台发起注册请求消息,其中,所述注册请求消息携带有所述终端设备的终端标识;
接收所述区块链平台响应于所述注册请求消息而返回的注册响应消息,其中,在所述终端设备注册成功的情况下,所述注册响应消息携带有经公钥加密的安全随机数。
在其中一些实施例中,在所述终端设备注册成功的情况下,获取采集生成的第一数据和第二数据,将所述第一数据和所述第二数据写入上链请求消息包括:
获取所述终端设备的终端标识、所述经公钥加密的安全随机数、第一数据和所述第二数据;
根据所述终端设备的终端标识、所述经公钥加密的安全随机数、所述第一数据和所述第二数据生成所述上链请求消息。
在其中一些实施例中,在根据所述终端设备的终端标识、所述经公钥加密的安全随机数、所述第一数据和所述第二数据生成所述上链请求消息之前,所述方法还包括:
获取所述区块链平台分配的公钥,采用所述公钥对所述第一数据进行加密,得到经公钥加密的第一数据。
第三个方面,在本实施例中提供了一种区块链平台,所述区块链平台部署有区块链,所述区块链平台用于执行上述第一个方面所述的数据可信处理方法。
第四个方面,在本实施例中提供了一种终端设备,所述终端设备用于执行上述第二个方面所述的数据可信处理方法。
在其中一些实施例中,所述终端设备包括传感器、安全单元和数据传输模块,所述传感器与所述安全单元连接,所述安全单元与所述数据传输模块连接,所述安全单元不支持硬件复制行为或者设备直连读取操作;其中,
所述传感器用于采集数据,并将采集的数据发送至所述安全单元;
所述安全单元用于存储所述终端设备从外部接收的密钥和采集的数据,并根据所述密钥对采集的数据进行加密或者校验;
所述数据传输模块用于接收和发送数据。
与相关技术相比,在本实施例中提供的数据可信处理方法、区块链平台和终端设备,通过获取终端设备发起的上链请求消息,根据上链请求消息获取终端设备采集生成的第一数据和第二数据;判断第一数据是否已存在于区块链上;在判断到第一数据已存在于区块链的情况下,将第二数据上链至区块链;以及,在判断到第一数据不存在于区块链的情况下,拒绝将第二数据上链至区块链,并确定终端设备不可信,解决了相关技术在设备传输数据过程中无法保证上链数据可信的问题,实现了设备传输数据过程中确保上链数据可信的有益效果。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本实施例的数据可信处理方法的终端的硬件结构框图;
图2是本实施例的数据可信处理方法的流程图一;
图3是本实施例的数据可信处理方法的流程图二;
图4是本实施例的终端设备内部框架结构图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的数据可信处理方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的数据可信处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据可信处理方法,该方法应用于区块链平台,区块链平台部署有区块链。图2是本实施例的数据可信处理方法的流程图一,如图2所示,该流程包括如下步骤:
步骤S201,获取终端设备发起的上链请求消息,根据上链请求消息获取终端设备采集生成的第一数据和第二数据。
其中,第一数据的采集生成时间先于第二数据的采集生成时间,或者,第一数据的请求上链时间先于第二数据的请求上链时间。具体地,如果第二数据为当前阶段请求上链的数据,则第一数据可以是前一阶段或者前几个阶段上报至区块链平台的数据。
在本实施例中,第一数据和第二数据可以是终端设备采集的原始数据,也可以是终端设备在采集得到原始数据后,通过哈希算法处理后生成的哈希值。
在一些实施例中,第一数据对于区块链平台而言属于校验性质的数据,为了在传输过程中保护第一数据不被泄露和篡改,终端设备还将采用区块链平台分配的公钥对第一数据进行加密,使得上链请求消息携带有经公钥加密的第一数据,区块链平台拥有自身的密钥对,即公钥和私钥,区块链平台将获取预先设置的私钥,根据私钥对经公钥加密的第一数据进行解密,得到第一数据。
步骤S202,判断第一数据是否已存在于区块链上。
区块链平台获取链上数据集合,在链上数据集合中查询第一数据是否存在。
步骤S203,在判断到第一数据已存在于区块链的情况下,将第二数据上链至区块链;以及,在判断到第一数据不存在于区块链的情况下,拒绝将第二数据上链至区块链, 并确定终端设备不可信。
如果区块链平台在链上数据集合中查询到第一数据,则认为终端设备可信,由此认为第二数据为可信数据,允许将第二数据上链至区块链。反之,如果区块链平台在链上数据集合中没有查询到第一数据,则认为终端设备不可信,由此认为第二数据为不可信数据,也就拒绝将第二数据上链至区块链。
在上述步骤S201至S203中,终端设备在将当前要上链的第二数据发送至区块链平台的过程中,将上一阶段已上链的第一数据也一并携带发送至区块链平台,区块链平台将会动态校验上链请求消息中携带的第一数据是否已存在于区块链链上,如果存在,说明当前终端设备保持着安全可信状态,否则,意味着当前终端设备可能被攻击,变为不可信设备。如此设置,对于已经上链的数据,可以确保在数据采集生成过程中终端设备始终是可信的,没有被中途攻击;即使终端设备中途被攻击,也可以在数据上链之前阻断数据上链。
通过上述步骤,解决了相关技术在设备传输数据过程中无法保证上链数据可信的问题,实现了设备传输数据过程中确保上链数据可信的有益效果。
结合以上所描述的数据可信处理方法,关于如何确保设备传输数据过程中上链数据可信的问题,在以下实施例中提出了进一步的解决方案。
在获取终端设备发起的上链请求消息,根据上链请求消息获取终端设备采集生成的第一数据和第二数据之前,也就是终端设备首次上传数据至区块链之前,需先注册。区块链平台获取终端设备发起的注册请求消息,其中,注册请求消息携带有终端设备的终端标识;获取预先配置的终端设备的标识列表,判断终端标识是否存在于终端设备的标识列表中;在判断到终端标识存在于终端设备的标识列表的情况下,生成安全随机数,将终端标识和经公钥加密的安全随机数进行关联存储,采用公钥对安全随机数进行加密,将经公钥加密的安全随机数发送至终端设备;以及,在判断到终端标识不存在于终端设备的标识列表的情况下,通知终端设备注册失败。
在本实施例中,基于终端标识,在终端设备首次注册时,区块链平台为其分配一个由区块链平台的公钥加密的安全随机数,并将静态的终端标识与动态分配的安全随机数进行绑定,并存储于链上,实现终端设备可信注册管理,确保终端设备首次注册安全可信。其具体实施步骤如下:
S1,区块链平台获取物联网设备的唯一出厂编号TID,即设备终端的终端标识,通常,每一个物联网设备在出厂时都拥有内置的TID。
S2,将各个被安装的物联网设备的TID预先配置到区块链平台的TID全局管理表中。
S3,区块链平台设置自身的密钥对(P0,K0),其中,P0代表公钥,K0代表私钥。
S4,区块链平台接收物联网设备发起的注册请求消息Reg,同时生成时间戳Timestamp,Reg携带有该物联网设备的TID,区块链平台检查TID是否存在于TID全局管理表中,如果不存在,则返回注册失败消息给物联网设备,如果存在,执行下一步。
S5,如果TID存在,则区块链平台生成一个安全随机数R,并用公钥对该安全随机数进行加密,得到P0(R),将(TID、R)更新到TID全局管理表中,然后,发送注册响应消息Resp至物联网设备,Resp携带有P0 (R)。
物联网设备收到Resp后,将P0 (R)保存在安全存储模块中,到此成功注册完毕。
当终端设备注册成功之后,终端设备即可以开始传输数据给区块链平台。在一些实施例中,终端设备将自身的终端标识和经公钥加密的安全随机数写入上链请求消息,区块链平台在接收到上链请求消息之后,按照注册信息、采集生成数据的先后顺序进行校验,以确定终端设备是否可信。在一些实施例中,在拒绝将第二数据上链至区块链,或者确定终端准备未在区块链平台注册的情况下,区块链平台将认为终端设备不可信。
相应地,在区块链平台将经公钥加密的安全随机数发送至终端设备之后,在注册信息校验阶段,区块链平台根据上链请求消息获取终端设备的终端标识和经公钥加密的安全随机数;根据终端标识和经公钥加密的安全随机数判断区块链平台中是否已注册终端设备。
其中,区块链平台查询注册该终端设备时生成并存储对应于终端标识的第一安全随机数;获取预先设置的私钥,根据私钥对经公钥加密的安全随机数进行解密,得到第二安全随机数;判断第一安全随机数和第二安全随机数是否相等;在判断到第一安全随机数和第二安全随机数相等的情况下,确定该终端设备仍然是区块链平台中已注册的可信终端设备;以及,在判断到第一安全随机数和第二安全随机数不相等的情况下,确定该终端设备已不是区块链平台中已注册的可信终端设备。
在根据终端标识和经公钥加密的安全随机数判断到区块链平台中已注册终端设备的情况下,再判断第一数据是否已存在于区块链上。以及,在根据终端标识和经公钥加密的安全随机数判断到区块链平台中未注册终端设备的情况下,拒绝将第二数据上链至区块链。
结合上述步骤S1至S5,以下将给出区块链平台按照注册信息、采集生成数据的先后顺序进行校验,以确定终端设备是否可信的具体实施步骤:
S6,区块链平台接收物联网设备发起的上链请求消息Req,Req携带有TID、P0 (R)、H(Data_i)和P0 [H(Data_i-1)],其中,H(Data_i)为第二数据,P0 [H(Data_i-1)]为经公钥加密的第一数据,第一数据和第二数据以哈希值形态传输。
S7,区块链平台根据其携带的TID查询相应的安全随机数R,然后判断K0[P0 (R)]是否等于R,如果相等,则进入下一步校验采集生成数据的哈希值。
S8,区块链平台用私钥K0解密P0 [H(Data_i-1)],然后在链上数据集合中查询H(Data_i-1)是否存在,如果存在,则将H(Data_i)上链,如果不存在,则说明当前物联网设备已经不可信,拒绝将H(Data_i)上链。
通过上述步骤S1至S8,一方面,区块链平台将静态的终端标识与动态分配的安全随机数进行绑定,并存储于区块链链上,实现设备可信管理;另一方面,区块链平台对每次上链的前后数据指纹进行留存和对比,以实现设备可信管理的动态校验。
以下将从终端设备的角度介绍本实施例的数据可信处理方法,图3是本实施例的数据可信处理方法的流程图二,如图3所示,该流程包括如下步骤:
步骤S301,获取采集生成的第一数据和第二数据,将第一数据和第二数据写入上链请求消息。
其中,第一数据的采集生成时间先于第二数据的采集生成时间,或者,第一数据的请求上链时间先于第二数据的请求上链时间。具体地,如果第二数据为当前阶段请求上链的数据,则第一数据可以是前一阶段或者前几个阶段上报至区块链平台的数据。
在本实施例中,第一数据和第二数据可以是终端设备采集的原始数据,也可以是终端设备在采集得到原始数据后,通过哈希算法处理后生成的哈希值。
在一些实施例中,第一数据对于区块链平台而言属于校验性质的数据,为了在传输过程中保护第一数据不被泄露和篡改,终端设备还将采用区块链平台分配的公钥对第一数据进行加密,使得上链请求消息携带有经公钥加密的第一数据,区块链平台需用私钥对经公钥加密的第一数据进行解密后才能得到第一数据。
步骤S302,发送上链请求消息至区块链平台,其中,区块链平台部署有区块链。
步骤S303,获取区块链平台响应于上链请求消息后返回的上链响应消息,根据上链响应消息确定第二数据是否成功上链,其中,上链响应消息包括上链成功消息或者上链失败消息,上链成功消息对应于第一数据已存在于区块链的情况,上链失败消息对应于第一数据不存在于区块链的情况。
如果区块链平台在链上数据集合中查询到第一数据,则认为终端设备可信,由此认为第二数据为可信数据,允许将第二数据上链至区块链。反之,如果区块链平台在链上数据集合中没有查询到第一数据,则认为终端设备不可信,由此认为第二数据为不可信数据,也就拒绝将第二数据上链至区块链。
在上述步骤S301至S303中,终端设备在将当前要上链的第二数据发送至区块链平台的过程中,将上一阶段已上链的第一数据也一并携带发送至区块链平台。区块链平台将会动态校验上链请求消息中携带的第一数据是否已存在于区块链链上,如果存在,说明当前终端设备保持着安全可信状态,否则,意味着当前终端设备可能被攻击,变为不可信设备。如此设置,对于已经上链的数据,可以确保在数据采集生成过程中终端设备始终是可信的,没有被中途攻击;即使终端设备中途被攻击,也可以在数据上链之前阻断数据上链。
通过上述步骤,解决了相关技术在设备传输数据过程中无法保证上链数据可信的问题,实现了设备传输数据过程中确保上链数据可信的有益效果。
在一些实施例中,终端设备在发送上链请求消息至区块链平台之前,终端设备向区块链平台发起注册请求消息,其中,注册请求消息携带有终端设备的终端标识;接收区块链平台响应于注册请求消息而返回的注册响应消息,其中,在终端设备注册成功的情况下,注册响应消息携带有经公钥加密的安全随机数。
在终端设备注册成功的情况下,终端设备获取采集生成的第一数据和第二数据,将第一数据和第二数据写入上链请求消息。其中,终端设备自身的终端标识、经公钥加密的安全随机数、第一数据和第二数据;根据终端设备的终端标识、经公钥加密的安全随机数、第一数据和第二数据生成上链请求消息。
其中,在根据终端设备的终端标识、经公钥加密的安全随机数、第一数据和第二数据生成上链请求消息之前,终端设备还将获取预先设置的公钥,采用公钥对第一数据进行加密,得到经公钥加密的第一数据。区块链平台在接收到上链请求消息之后,需采用私钥对经公钥加密的第一数据进行解密之后才能得到第一数据。
结合上述两类实施例的数据可信处理方法,在本实施例中还分别提供了一种区块链平台和一种终端设备,该区块链平台部署有区块链,区块链平台用于执行上述实施例中区块链平台侧所描述的数据可信处理方法,该终端设备用于执行上述实施例中终端设备侧所描述的数据可信处理方法。
图4是本实施例的终端设备内部框架结构图,如图4所示,终端设备包括传感器41、安全单元42和数据传输模块43,传感器41与安全单元42连接,安全单元42与数据传输模块43连接,安全单元42不支持硬件复制行为或者设备直连读取操作;其中,传感器41用于采集数据,并将采集的数据发送至安全单元42;安全单元42用于存储终端设备从外部接收的密钥和采集的数据,并根据密钥对采集的数据进行加密或者校验;数据传输模块43用于接收和发送数据。
在本实施例中,安全单元42具有通用硬件保护功能,不能进行硬件复制行为,已提供可信执行环境。数据传输模块43可采用DTU(Data Transfer unit,数据传输单元)实现,利用DTU将串口数据转换为IP数据或将IP数据转换为串口数据。
参考图4,安全单元42还包括存储模块44和加密模块45连接,存储模块44与加密模块45连接,存储模块44和加密模块45分别与数据传输模块43连接。其中,存储模块44用于存储区块链平台分配的公钥;加密模块45用于根据区块链平台分配的公钥对采集生成的哈希值进行加密,并将经公钥加密的哈希值存储于存储模块44中。
在一些实施例中,传感器41采集得到数据Data_i后,加密模块45计算Data_i的哈希值,得到H(Data_i),并将其保存在存储模块44中;然后,从存储模块44读取P0 (R)和P0[H(Data_i-1)];最后,组装上链请求消息Req,该消息携带有TID、P0 (R)、H(Data_i)和P0[H(Data_i-1)]。
结合上述实施例的区块链平台和终端设备,在本实施例中,还提供了一种数据可信处理系统,包括上述实施例的区块链平台和至少一个终端设备,区块链平台和至少一个终端设备通信连接。可以防止物联网设备被攻击后成为不可信设备继续上报数据。
此外,结合上述实施例中提供的数据可信处理方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种数据可信处理方法。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种数据可信处理方法,应用于区块链平台,所述区块链平台部署有区块链,其特征在于,所述方法包括:
获取终端设备发起的上链请求消息,根据所述上链请求消息获取所述终端设备采集生成的第一数据和第二数据,其中,所述第二数据为当前阶段请求上链的数据,所述第一数据为前一阶段上报至所述区块链平台的数据;
判断所述第一数据是否已存在于所述区块链上;
在判断到所述第一数据已存在于所述区块链的情况下,将所述第二数据上链至所述区块链;以及,在判断到所述第一数据不存在于所述区块链的情况下,拒绝将所述第二数据上链至所述区块链,并确定所述终端设备不可信;
在获取终端设备发起的上链请求消息,根据所述上链请求消息获取所述终端设备采集生成的第一数据和第二数据之前,所述方法还包括:
获取所述终端设备发起的注册请求消息,其中,所述注册请求消息携带有所述终端设备的终端标识;获取预先配置的终端设备的标识列表,判断所述终端标识是否存在于所述终端设备的标识列表中;在判断到所述终端标识存在于所述终端设备的标识列表的情况下,生成安全随机数,将所述终端标识和所述安全随机数进行关联存储,采用预先设置的公钥对所述安全随机数进行加密,将经公钥加密的安全随机数发送至所述终端设备;以及,在判断到所述终端标识不存在于所述终端设备的标识列表的情况下,通知所述终端设备注册失败。
2.根据权利要求1所述的数据可信处理方法,其特征在于,所述上链请求消息携带有所述终端设备的终端标识、经公钥加密的安全随机数,在判断所述第一数据是否已存在于所述区块链上之前,所述方法还包括:
根据所述上链请求消息获取所述终端设备的终端标识和所述经公钥加密的安全随机数;
根据所述终端标识和所述经公钥加密的安全随机数判断所述终端设备是否为所述区块链平台中已注册的可信终端设备。
3.根据权利要求2所述的数据可信处理方法,其特征在于,在根据所述终端标识和所述经公钥加密的安全随机数判断到所述终端设备仍然是所述区块链平台中已注册的可信终端设备的情况下,判断所述第一数据是否已存在于所述区块链上;以及,
在根据所述终端标识和所述经公钥加密的安全随机数判断到所述终端设备已不是所述区块链平台中已注册的可信终端设备的情况下,拒绝将所述第二数据上链至所述区块链,并确定所述终端设备不可信。
4.根据权利要求2所述的数据可信处理方法,其特征在于,根据所述终端标识和所述经公钥加密的安全随机数判断所述终端设备是否为所述区块链平台中已注册的可信终端设备包括:
查询注册所述终端设备时生成并存储的对应于所述终端标识的第一安全随机数;
获取预先设置的私钥,根据所述私钥对所述经公钥加密的安全随机数进行解密,得到第二安全随机数;
判断所述第一安全随机数和所述第二安全随机数是否相等;
在判断到所述第一安全随机数和所述第二安全随机数相等的情况下,确定所述终端设备仍然是所述区块链平台中已注册的可信终端设备;以及,在判断到所述第一安全随机数和所述第二安全随机数不相等的情况下,确定所述终端设备已不是所述区块链平台中已注册的可信终端设备。
5.根据权利要求1所述的数据可信处理方法,其特征在于,所述上链请求消息携带有经公钥加密的第一数据,获取终端设备发起的上链请求消息,根据所述上链请求消息获取所述终端设备采集生成的第一数据和第二数据包括:
获取预先设置的私钥,根据所述私钥对所述经公钥加密的第一数据进行解密,得到所述第一数据。
6.一种数据可信处理方法,应用于终端设备,其特征在于,所述方法包括:
获取采集生成的第一数据和第二数据,将所述第一数据和所述第二数据写入上链请求消息,其中,所述第二数据为当前阶段请求上链的数据,所述第一数据为前一阶段上报至区块链平台的数据;
发送所述上链请求消息至所述区块链平台,其中,所述区块链平台部署有区块链;
获取所述区块链平台响应于所述上链请求消息后返回的上链响应消息,根据所述上链响应消息确定所述第二数据是否成功上链,其中,所述上链响应消息包括上链成功消息或者上链失败消息,所述上链成功消息对应于所述第一数据已存在于所述区块链的情况,所述上链失败消息对应于所述第一数据不存在于所述区块链的情况;
在发送所述上链请求消息至区块链平台之前,所述方法还包括:向所述区块链平台发起注册请求消息,其中,所述注册请求消息携带有所述终端设备的终端标识;接收所述区块链平台响应于所述注册请求消息而返回的注册响应消息,其中,在所述终端设备注册成功的情况下,所述注册响应消息携带有经公钥加密的安全随机数。
7.根据权利要求6所述的数据可信处理方法,其特征在于,在所述终端设备注册成功的情况下,获取采集生成的第一数据和第二数据,将所述第一数据和所述第二数据写入上链请求消息包括:
获取所述终端设备的终端标识、所述经公钥加密的安全随机数、第一数据和所述第二数据;
根据所述终端设备的终端标识、所述经公钥加密的安全随机数、所述第一数据和所述第二数据生成所述上链请求消息。
8.根据权利要求7所述的数据可信处理方法,其特征在于,在根据所述终端设备的终端标识、所述经公钥加密的安全随机数、所述第一数据和所述第二数据生成所述上链请求消息之前,所述方法还包括:
获取所述区块链平台分配的公钥,采用所述公钥对所述第一数据进行加密,得到经公钥加密的第一数据。
9.一种区块链平台,其特征在于,所述区块链平台部署有区块链,所述区块链平台用于执行权利要求1至5中任一项所述的数据可信处理方法。
10.一种终端设备,其特征在于,所述终端设备包括传感器、安全单元和数据传输模块,所述传感器与所述安全单元连接,所述安全单元与所述数据传输模块连接,所述安全单元不支持硬件复制行为或者设备直连读取操作,所述终端设备用于执行权利要求6至8中任一项所述的数据可信处理方法。
11.根据权利要求10所述的终端设备,其特征在于,包括:所述传感器用于采集数据,并将采集的数据发送至所述安全单元;所述安全单元用于存储所述终端设备从外部接收的密钥和采集的数据,并根据所述密钥对采集的数据进行加密或者校验;所述数据传输模块用于接收和发送数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111023754.5A CN113472546B (zh) | 2021-09-02 | 2021-09-02 | 数据可信处理方法、区块链平台和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111023754.5A CN113472546B (zh) | 2021-09-02 | 2021-09-02 | 数据可信处理方法、区块链平台和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472546A CN113472546A (zh) | 2021-10-01 |
CN113472546B true CN113472546B (zh) | 2022-05-24 |
Family
ID=77867347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111023754.5A Active CN113472546B (zh) | 2021-09-02 | 2021-09-02 | 数据可信处理方法、区块链平台和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472546B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108540553B (zh) * | 2018-04-08 | 2019-08-13 | 中国联合网络通信集团有限公司 | 物联网数据管理方法、平台及设备 |
CN108694330B (zh) * | 2018-05-15 | 2022-04-26 | 中国联合网络通信集团有限公司 | 物联网数据管理方法、平台及设备 |
CN111770089B (zh) * | 2020-06-29 | 2022-04-08 | 福建福链科技有限公司 | 一种用于区块链传感器的认证方法及区块链网络 |
CN111680305B (zh) * | 2020-07-31 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据处理方法、装置及设备 |
CN112307458A (zh) * | 2020-10-29 | 2021-02-02 | 深圳市赛肯威科技有限公司 | 轻节点的上链方法、装置、物联网中控终端及区块链网络 |
CN112436940B (zh) * | 2021-01-27 | 2021-04-30 | 电子科技大学 | 一种基于零知识证明的物联网设备可信启动管理方法 |
-
2021
- 2021-09-02 CN CN202111023754.5A patent/CN113472546B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113472546A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112422532B (zh) | 业务通信方法、系统、装置及电子设备 | |
WO2018050081A1 (zh) | 设备身份认证的方法、装置、电子设备及存储介质 | |
CN102378170B (zh) | 一种鉴权及业务调用方法、装置和系统 | |
US8543799B2 (en) | Client authentication during network boot | |
CN100512201C (zh) | 用于处理分组业务的接入-请求消息的方法 | |
JP2020080530A (ja) | データ処理方法、装置、端末及びアクセスポイントコンピュータ | |
US20120108205A1 (en) | Methods and apparatus for storage and execution of access control clients | |
CN108769029B (zh) | 一种对应用系统鉴权认证装置、方法及系统 | |
CN111131300B (zh) | 通信方法、终端及服务器 | |
CN112565265B (zh) | 物联网终端设备间的认证方法、认证系统及通讯方法 | |
CN110855624A (zh) | 基于web接口的安全校验方法及相关设备 | |
CN112187466B (zh) | 一种身份管理方法、装置、设备及存储介质 | |
JP2016111660A (ja) | 認証サーバ、端末及び認証方法 | |
CN110768795B (zh) | 一种会话建立方法及装置 | |
CN110958266A (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
CN117155716B (zh) | 访问校验方法和装置、存储介质及电子设备 | |
CN109302425A (zh) | 身份认证方法及终端设备 | |
CN112261103A (zh) | 一种节点接入方法及相关设备 | |
EP1790116B1 (en) | Method and system for managing authentication and payment for use of broadcast material | |
CN113472546B (zh) | 数据可信处理方法、区块链平台和终端设备 | |
CN114338091B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
JP2002217888A (ja) | 複製端末発見方法 | |
CN111163466B (zh) | 5g用户终端接入区块链的方法、用户终端设备及介质 | |
CN107171784B (zh) | 突发环境事件应急指挥调度方法及系统 | |
CN113079506A (zh) | 网络安全认证方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |