CN113067703B - 终端设备数据上链方法及系统 - Google Patents
终端设备数据上链方法及系统 Download PDFInfo
- Publication number
- CN113067703B CN113067703B CN202110297600.9A CN202110297600A CN113067703B CN 113067703 B CN113067703 B CN 113067703B CN 202110297600 A CN202110297600 A CN 202110297600A CN 113067703 B CN113067703 B CN 113067703B
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- public key
- cloud server
- signature
- 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
-
- 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/3234—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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- 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/3247—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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书一个或多个实施例提供一种终端设备数据上链方法及系统,数据上链方法在终端设备和云端服务器执行,所述终端设备存储设备私钥,所述云端服务器存储区块链私钥,所述方法包括如下步骤:所述终端设备采集原始数据并用设备私钥对所述原始数据进行设备签名计算,获得一段包含原始数据和设备签名的整体数据,将所述整体数据送给云端服务器;所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文;所述云端服务器将所述区块链交易报文发送给区块链节点。本发明实现了物联网终端设备数据上链的功能,同时保证终端设备数据的安全性。
Description
技术领域
本发明主要涉及区块链技术,尤其涉及一种物联网终端设备数据上链方法和系统。
背景技术
物联网是一个嵌入了硬件、软件、传感器、执行器和连接硬件的物理设备网络。物联网终端设备之间可以连接并进行数据交换。目前,大多数物联网架构都需要服务器使得网络空间的若干设备间进行数据存储和传输。
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。
近年来,随着物联网的蓬勃发展,终端设备采集的数据组成了支撑物联网体系的关键元素。如何保障数据的安全性,即不可被轻易篡改成为了一个严峻的问题。区块链作为一种基础设施,它与物联网的结合,能够为后者提供广泛的信任,从而为数据共享和数据价值的传递提供支撑。
现有技术方案将具备连接区块链能力的模组嵌入物联网终端设备中,从而实现终端设备数据直接上链的功能。然而实际场景中终端设备由于自身资源、通信能力、功耗等各种原因无法实现数据上链,因此现有技术还提出一种通过一个具备上链功能的中间设备来实现物联网终端设备数据上链的功能。
但上述方法仍然无法保证终端设备数据的安全性,如果有一个黑客在终端设备到中间设备的路径上篡改数据,那么中间设备无法发现数据已经被篡改了,从而上链的数据也就不具备真实性。另外,中间设备本身有可能被黑客劫持,同样会导致区块链上的数据不能反映终端实际的数据,而是黑客操作的伪数据。
发明内容
为解决上述技术问题,本发明提供了一种终端设备数据上链方法,在终端设备和云端服务器执行。
本发明所提供的终端设备数据上链方法中,所述终端设备存储设备私钥,所述云端服务器存储区块链私钥,所述方法包括如下步骤:
所述终端设备采集原始数据并用设备私钥对所述原始数据进行设备签名计算,获得一段包含原始数据和设备签名的整体数据,将所述整体数据送给云端服务器;
所述云端服务器计算所述整体数据的哈希值并用区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文;
所述云端服务器将所述区块链交易报文发送给区块链节点。
进一步的,所述方法还包括:所述终端设备在安全容器内用所述设备私钥对原始数据进行设备签名计算。
进一步的,所述终端设备还存储第一设备公钥,所述第一设备公钥与所述设备私钥构成一对密钥对,用于对原始数据进行签名验签计算。
进一步的,所述终端设备还包含一设备唯一标识,所述设备唯一标识与第一设备公钥一一对应,所述终端设备将所述设备唯一标识和所述整体数据发送给所述云端服务器。
进一步的,所述设备签名计算包括椭圆曲线数字签名算法。
在本申请的示例性实施例中,所述方法还包括云端服务器验签流程,步骤如下:
所述云端服务器接收到整体数据后进行数据解析,获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
所述云端服务器根据所述设备唯一标识从一公钥管理平台获取第一设备公钥,其中所述公钥管理平台存储有一一对应的设备唯一标识和第一设备公钥;
所述云端服务器将所述第一设备公钥与第二设备公钥进行对比,如果一致,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不一致,所述云端服务器停止上链操作。
在本申请的另一实施例中,所述云端服务器验签流程包括如下步骤:
所述云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
所述云端服务器将所述第二设备公钥和设备唯一标识发送到一公钥管理平台,其中所述公钥管理平台存储有一一对应的设备唯一标识和第一设备公钥;
所述公钥管理平台根据所述云端服务器发送的设备唯一标识获取存储的第一设备公钥,并与第二设备公钥对比,如果一致,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不一致,所述云端服务器停止上链操作。
在本申请的另一实施例中,所述云端服务器验签流程包括如下步骤:
所述云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
所述云端服务器将所述第二设备公钥发送给一公钥管理平台,其中所述公钥管理平台存储有第一设备公钥;
所述公钥管理平台判断是否存在所述第二设备公钥,如存在,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不存在,所述云端服务器停止上链操作。
在本申请的另一实施例中,所述云端服务器验签流程包括如下步骤:
所述云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名;
所述云端服务器根据设备唯一标识从一公钥管理平台获取终端第一设备公钥,其中所述公钥管理平台存储有一一对应的设备唯一标识和第一设备公钥;
所述云端服务器根据原始数据、设备签名和第一设备公钥进行验签,如果验签成功,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不成功,所述云端服务器停止上链操作。
本申请的实施例中还提供一种终端设备数据上链系统,包括:
终端设备,存储设备私钥,用于采集原始数据,并用设备私钥对所述原始数据进行签名计算,获得一段包含原始数据和设备签名的整体数据,将所述整体数据进行报文组包,形成组包后的数据并发送;
云端服务器,存储区块链私钥,所述云端服务器接收所述终端设备发送的数据后解析获得整体数据,并计算整体数据的哈希值,用区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并发送到区块链节点;
进一步的,所述终端设备数据上链系统还包括一公钥管理平台,用于存储第一设备公钥,所述第一设备公钥与所述设备私钥构成一对密钥对,用于对原始数据进行签名验签计算。
进一步的,所述终端设备存储设备唯一标识,所述终端设备将所述设备唯一标识和所述整体数据一起进行报文组包并发送给云端服务器。
进一步的,还包括一安全容器,内置于所述终端设备,在所述安全容器内用设备私钥对原始数据进行签名验签计算。
与现有技术相比,本发明采用设备私钥对终端设备采集的数据进行签名,再通过云端服务器将原始数据和设备签名组成的整体数据一起上链,不但解决了那些不具备直接上链功能的物联网终端设备数据上链的问题,同时确保了上传的原始数据未被篡改,即物联网终端设备到中间设备(本发明实施例中为云端服务器)之间的数据传输不可篡改,且中间设备本身无法伪造终端数据去上链。
附图说明
图1是本发明一实施例的终端设备数据上链系统示意图;
图2是本发明另一实施例的终端设备数据上链系统示意图
图3是本发明一实施例的终端设备数据上链系统内部结构示意图;
图4是本发明一实施例的终端设备数据上链方法示意图;
图5是本发明一实施例的终端设备数据上链方法的云端服务器验签流程示意图;
图6是本发明一实施例的终端设备数据上链方法的云端服务器验签流程另一示意图;
图7是本发明一实施例的终端设备数据上链方法的云端服务器验签流程另一示意图;
图8是本发明一实施例的终端设备数据上链方法的云端服务器验签流程另一示意图;
具体实施方式
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
如图1所示,本申请的实施例中提供一种终端设备数据上链系统,该系统包含终端设备100、云端服务器200和区块链300。终端设备100与云端200服务器相连;云端服务器200与区块链300相连,终端设备100采集数据发送给云端服务器200,云端服务器200将收到的数据上链至区块链300。
进一步,还包括公钥管理平台400,用于存储终端设备100的第一设备公钥。如图2所示,公钥管理平台400分别与终端设备100和云端服务器200相连。终端设备100发送第一设备公钥和设备唯一标识到公钥管理平台400,云端服务器200访问公钥管理平台400进行数据验签,具体验签流程下文会做详细说明。
图3进一步示出了终端设备数据上链系统中各设备的内部结构。请参见图3,终端设备100含有数据采集模块110、软件开发包模块120和安全容器130等组件。该终端设备具有基础联网功能,数据采集功能、数据签名功能及数据上云功能。终端设备100中存储有设备私钥和设备唯一标识,在此实施例中设备唯一标识指的是设备IMEI号,还可以是MEID、ESN、IMSI、产品ID及自定义算法生成的设备ID等。
数据采集模块110具有采集数据的功能,采集的数据可以为环境温度、湿度、GPS等信息,具体可根据需求及设备具备的硬件条件来设定需要采集的数据。这些由数据采集模块110采集的数据视为原始数据,采集完成后,将原始数据发送至软件开发包模块120。
软件开发包模块120为嵌入式软件,通过烧录的方式安装到物联网终端设备上。软件开发包模块120具有读取设备唯一标识的功能,还具有数据处理功能,接收数据采集模块110发送的原始数据后,将原始数据发送至安全容器130内用设备私钥进行签名,得到设备签名后,将设备唯一标识、原始数据和设备签名以key,value的形式组包成json格式的整体数据。
软件开发包模块120还具有数据上云功能,即与云端服务器200通过TLS等协议建立安全通信通道,将组包后的整体数据作为请求体内容发送至云端服务器200。
在本实施例中,软件开发包模块120中组成并发送到云端服务器200的整体数据包含以下几个字段:
安全容器130,是具有可信执行环境的容器,比如安全模块SE(Secure Element)、TEE、SIM卡等。可信执行环境是设备的处理器上的安全区域,可以确保加载到环境中的代码和数据的安全性、机密性和完整性,从而保证具有可信执行环境的设备获取的核验结果的可信性。示例性的可信执行环境可以包括基于Software GuardExtensions(SGX)、SecureEncrypted Virtualization或TrustZone等技术的可信执行环境。以公司的SGX为例,当程序在可信执行环境中执行时会受到Enclave保护,外界无法篡改位于Enclave中的数据或影响该程序的执行过程。
在本实施例中安全容器130指的是安全模块SE(Secure Element)。
安全容器130中存储着唯一的设备私钥,安全容器接收到软件开发包模块120发送的原始数据后,通过设备私钥对原始数据进行签名,生成设备签名,将生成的设备签名返回给软件开发包模块120。
其中安全容器130中存储的设备私钥是在设备的生产环节中,通过PC端的密钥注入工具生成,生成设备私钥的同时还会生成与设备私钥一一对应的公钥,构成一对密钥对。具体生成方法有以下两种:
方法1:在设备生产环节,PC端的密钥注入工具发送指令通知终端设备100生成设备密钥对,将生成的设备私钥保存在安全容器130中并将对应的设备公钥返回给密钥注入工具,由密钥注入工具将设备公钥发送到公钥管理平台400,为后续验签做准备。
方法2:在设备生产环节,PC端的密钥注入工具先生成设备密钥对,然后将设备私钥发送给终端设备100,同时将对应的设备公钥发送至公钥管理平台400。
为方便区分后续其他设备公钥,上述两种方法中生成的设备公钥被定义为第一设备公钥。其中生成密钥对的算法包括但不限于ECDSA Secp256k1算法。
云端服务器200,是功能强大的物理或虚拟基础架构,用于执行应用和信息处理存储。常用的云端服务器如阿里云的ECS和腾讯云的CVM。在本实施例中,在云端服务器200上搭建有数据分析、验签、上链等服务,并预置有区块链私钥。
云端服务器200包括数据解析模块210,数据验签模块220,数据上链模块230。数据解析模块210接收软件开发包模块120发送的数据后解析,获得整体数据,从整体数据中解析获得设备唯一标识、原始数据和设备签名信,拼接原始数据和设备签名,并计算其哈希值,计算公式如下:
concatenated_data=device_date+device_data_sinature
hash_data=hash_algorithm(concatenated_data)
·concatenated_data是指原始数据拼接设备签名后形成的数据,记为待哈SHA256希数据;
·hash_algorithm为哈希算法,在本实施例中,HASH算法为SHA256,除此还可以为MD5算法等。
·hash_data为通过指定算法处理待哈希数据后生成的哈希值。
数据验签模块220可以根据解析出的设备唯一标识、原始数据和设备签名,访问公钥管理平台400进行数据验签。
数据上链模块230使用预置的区块链私钥将整体数据的哈希值进行区块链签名得到hash_data。数据上链模块230构造区块链交易报文,其中包含上述的hash_data,并使用预置的区块链私钥对交易报文进行签名。携带经过区块链签名的报文信息访问区块链,调用区块链300上的智能合约310的数据存储方法并获取数据上链成功的存证凭证;云端服务器200将存证凭证与接收到的设备整体数据对应存储到数据库中。部署在区块链上的智能合约310还具有数据查询功能:根据存证凭证,查询上链原文并返回。
区块链300,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链的节点上部署了处理云端请求的智能合约。部署在区块链上的智能合约具有数据存储功能:处理云端服务器的数据存储请求和数据查询请求;存储云端发送的数据返回存证凭证。
基于上述的一种终端设备数据上链系统,本申请的实施例还包括与其系统对应的一种终端设备数据上链方法,如图4所示,包括如下步骤:
步骤101,终端设备采集原始数据并用设备私钥对原始数据进行设备签名计算,获得一段包含原始数据和设备签名的整体数据,将整体数据送给云端服务器,在本实施例中,整体数据示例如下:
字段 | 含义 |
device_data | 终端设备采集的数据 |
device_data_signature | 终端设备签名 |
步骤102,云端服务器计算整体数据的哈希值并用存储的区块链私钥对哈希值进行区块链私钥签名,构造区块链交易报文,本实例中所述哈希值示例如下:
步骤103,云端服务器将区块链交易报文发送给区块链节点。
为保证终端采集的数据不被泄露或篡改,终端设备在安全容器内用终端设备私钥对原始数据进行设备签名计算。其中,安全容器包括可信执行环境的模块,SIM卡、安全芯片等。可信执行环境(Trusted Execution Environment,TEE)是设备的处理器上的安全区域,可以确保加载到环境中的代码和数据的安全性、机密性和完整性,从而保证具有可信执行环境的设备获取的核验结果的可信性。示例性的可信执行环境可以包括基于SoftwareGuardExtensions(SGX)、Secure Encrypted Virtualization或TrustZone等技术的可信执行环境。以公司的SGX为例,当程序在可信执行环境中执行时会受到Enclave保护,外界是无法篡改位于Enclave中的数据或影响该程序的执行过程。
公钥管理平台存储有第一设备公钥,第一设备公钥与设备私钥构成一对密钥对,用于对设备数据进行签名验签计算,其获取方式前文系统中已经详细描述,此处不再赘述。
通过在终端设备对采集的原始数据进行数字签名计算后再发送到云端服务器,由云端服务器中转上链,既解决了那些不具备直接上链功能的物联网终端设备数据上链的问题,同时云端服务器可以验证终端发送的原始数据是否被篡改,当步骤101中采用椭圆曲线公钥算法进行设备签名计算,对应的验证流程如图7所示,包括如下步骤:
步骤231,云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
步骤232,云端服务器将恢复出的第二设备公钥作为参数,请求公钥管理平台的公钥验证接口;请求参数如下:
字段 | 含义 |
device_publickey | 计算出的第二设备公钥 |
步骤233,公钥管理平台接收到第二设备公钥后,在查询该第二设备公钥是否存在于数据库中,返回查询结果,返回的参数信息如下图所示:
字段 | 含义 |
result | 查询结果 |
若查询存在,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不存在,所述云端服务器停止上链操作。
进一步的,终端设备还包含一设备唯一标识,与第一设备公钥一一对应,终端设备将设备唯一标识和整体数据发送给云端服务器,具体字段示例如下:
字段 | 含义 |
device_data | 终端设备采集的数据 |
device_data_signature | 终端设备签名 |
device_id | 终端设备数据唯一标识 |
其中,在此实施例中设备唯一标识指的是设备IMEI号,还可以是MEID、ESN、IMSI、产品ID及自定义算法生成的设备ID等。
通过增加设备唯一标识,使得每个设备唯一标识与第一设备公钥一一对应,当步骤101中采用椭圆曲线公钥算法进行设备签名计算,云端服务器验证终端发送的原始数据是否被篡改的验证流程有两种,第一种如图5所示,包括如下步骤:
步骤211,云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
步骤212,云端服务器将解析出的设备唯一标识作为参数,请求公钥管理平台的公钥查询接口;请求参数如下:
公钥管理平台接收到设备唯一标识后,在数据库中查询该设备唯一标识对应的第一设备公钥,即在设备的生产环节生产并通过密钥注入工具注册到公钥管理平台的设备公钥;公钥管理平台将查询结果返回给云端服务器;返回的参数信息如下图所示:
步骤213,云端服务器将第一设备公钥与第二设备公钥进行对比,如果一致,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不一致,所述云端服务器停止上链操作。
第二种如图6所示:
步骤221,云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
步骤222,云端服务器将解析出的设备唯一标识和恢复出的第二设备公钥作为参数,请求公钥管理平台的公钥对比接口;请求参数如下:
步骤223,公钥管理平台接收到设备唯一标识和第二设备公钥后,在数据库中查询该设备唯一标识对应的设备第一公钥,即在设备的生产环节生产并通过密钥注入工具注册到公钥管理平台的设备公钥;对比第一设备公钥和第二设备公钥,返回对比结果,返回的参数信息如下图所示:
字段 | 含义 |
result | 对比结果 |
若对比结果一致,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不一致,所述云端服务器停止上链操作。
本申请还提供第四种云端服务器验签流程实施例,适用于步骤101中终端设备采用各类数字签名算法对原始数据进行签名计算,如图8所示:
步骤241,云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名;
步骤242,云端服务器根据设备唯一标识从一公钥管理平台获取终端第一设备公钥,其中公钥管理平台存储有一一对应的设备唯一标识和第一设备公钥,云端服务器根据原始数据、设备签名和第一设备公钥进行验签,如果验签成功,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不成功,所述云端服务器停止上链操作。
虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
Claims (12)
1.终端设备数据上链方法,其特征在于,在终端设备和云端服务器执行,所述终端设备为物联网终端设备,所述终端设备存储设备私钥,所述云端服务器存储区块链私钥,与所述设备私钥构成一对密钥对的第一设备公钥存储于公钥管理平台,所述方法包括如下步骤:
所述终端设备采集原始数据并在安全容器内用设备私钥对所述原始数据进行设备签名计算,获得一段包含原始数据和设备签名的整体数据,将所述整体数据送给云端服务器;
所述云端服务器根据所述第一设备公钥及接收到的所述整体数据中的原始数据和设备签名进行验签;验签通过后所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文;
所述云端服务器将所述区块链交易报文发送给区块链节点。
2.根据权利要求1所述的终端设备数据上链方法,其特征在于,还包括:所述终端设备在安全容器内用所述设备私钥对原始数据进行设备签名计算。
3.根据权利要求2所述的终端设备数据上链方法,其特征在于,还包括:所述终端设备还存储第一设备公钥,所述第一设备公钥与所述设备私钥构成一对密钥对,用于对原始数据进行签名验签计算。
4.根据权利要求3所述的终端设备数据上链方法,其特征在于,还包括:所述终端设备还包含一设备唯一标识,所述设备唯一标识与所述第一设备公钥一一对应,所述终端设备将所述设备唯一标识和所述整体数据发送给所述云端服务器。
5.根据权利要求3或4所述的终端设备数据上链方法,其特征在于,还包括:所述设备签名计算包括椭圆曲线数字签名算法。
6.根据权利要求5所述的终端设备数据上链方法,其特征在于,云端服务器验签流程,步骤如下:
所述云端服务器接收到整体数据后进行数据解析,获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
所述云端服务器根据所述设备唯一标识从一公钥管理平台获取所述第一设备公钥,其中所述公钥管理平台存储有一一对应的设备唯一标识和第一设备公钥;
所述云端服务器将所述第一设备公钥与第二设备公钥进行对比,如果一致,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不一致,所述云端服务器停止上链操作。
7.根据权利要求5所述的终端设备数据上链方法,其特征在于,云端服务器验签流程,步骤如下:所述云端服务器接收到整体数据后进行数据解析获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
所述云端服务器将所述第二设备公钥和设备唯一标识发送到一公钥管理平台,其中所述公钥管理平台存储有一一对应的设备唯一标识和第一设备公钥;
所述公钥管理平台根据所述云端服务器发送的设备唯一标识获取存储的第一设备公钥,并与第二设备公钥对比,如果一致,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不一致,所述云端服务器停止上链操作。
8.根据权利要求5所述的终端设备数据上链方法,其特征在于,云端服务器验签流程,步骤如下:
所述云端服务器接收到整体数据后进行数据解析,获取原始数据和设备签名,并根据原始数据和设备签名通过椭圆曲线公钥恢复算法计算获得第二设备公钥;
所述云端服务器将所述第二设备公钥发送给一公钥管理平台,其中所述公钥管理平台存储有第一设备公钥;
所述公钥管理平台判断是否存在所述第二设备公钥,如存在,所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链;如果不存在,所述云端服务器停止上链操作。
9.根据权利要求4所述的终端设备数据上链方法,其特征在于,云端服务器验签流程,步骤如下:所述云端服务器接收到整体数据后进行数据解析,获取原始数据和设备签名;
所述云端服务器根据设备唯一标识从一公钥管理平台获取终端第一设备公钥,其中所述公钥管理平台存储有一一对应的设备唯一标识和第一设备公钥;
所述云端服务器根据原始数据、设备签名和第一设备公钥进行验签,验签成功后所述云端服务器计算所述整体数据的哈希值并用所述区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并上链。
10.终端设备数据上链系统,其特征在于,包括:
终端设备,存储设备私钥,用于采集原始数据,并在安全容器内用设备私钥对所述原始数据进行签名计算,获得一段包含原始数据和设备签名的整体数据,将所述整体数据进行报文组包,形成组包后数据并发送,所述终端设备为物联网终端设备;
公钥管理平台,用于存储第一设备公钥,所述第一设备公钥与所述设备私钥构成一对密钥对,用于对原始数据进行签名验签计算;
云端服务器,存储区块链私钥,所述云端服务器接收所述终端设备发送的数据后解析获得整体数据,并计算整体数据的哈希值,用区块链私钥对所述哈希值进行区块链私钥签名,构造区块链交易报文并发送给区块链节点。
11.根据权利要求10所述的终端设备数据上链系统,其特征在于,所述终端设备还存储设备唯一标识,所述终端设备将所述设备唯一标识和所述整体数据一起进行报文组包并发送给云端服务器。
12.根据权利要求10所述的终端设备数据上链系统,其特征在于,还包括一安全容器,内置于所述终端设备,在所述安全容器内用所述设备私钥对所述原始数据进行设备签名计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110297600.9A CN113067703B (zh) | 2021-03-19 | 2021-03-19 | 终端设备数据上链方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110297600.9A CN113067703B (zh) | 2021-03-19 | 2021-03-19 | 终端设备数据上链方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113067703A CN113067703A (zh) | 2021-07-02 |
CN113067703B true CN113067703B (zh) | 2022-09-20 |
Family
ID=76562753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110297600.9A Active CN113067703B (zh) | 2021-03-19 | 2021-03-19 | 终端设备数据上链方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113067703B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124404B (zh) * | 2021-11-12 | 2023-07-07 | 中国联合网络通信集团有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN114465729A (zh) * | 2021-12-16 | 2022-05-10 | 浙商银行股份有限公司 | 一种基于区块链技术的物联网数据管理方法及系统 |
CN114331739A (zh) * | 2021-12-29 | 2022-04-12 | 迅鳐成都科技有限公司 | 基于区块链的金融授信数据处理方法、装置、系统及存储介质 |
CN115550376A (zh) * | 2022-09-14 | 2022-12-30 | 中化现代农业有限公司 | 一种基于终端设备的物联网数据上链方法及系统 |
CN116016670B (zh) * | 2022-12-05 | 2023-12-29 | 航天联志技术有限公司 | 一种基于多级缓存的数据上链方法、装置及设备 |
CN117574408B (zh) * | 2024-01-15 | 2024-05-14 | 杭州字节方舟科技有限公司 | 基于区块链的生产资料管理方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827412A (zh) * | 2016-03-14 | 2016-08-03 | 中金金融认证中心有限公司 | 认证方法、服务器及客户端 |
CN109194466A (zh) * | 2018-10-29 | 2019-01-11 | 南开大学 | 一种基于区块链的云端数据完整性检测方法及系统 |
CN110493009A (zh) * | 2019-09-23 | 2019-11-22 | 百度在线网络技术(北京)有限公司 | 签名的生成方法和验证方法、装置、设备和介质 |
CN110612700A (zh) * | 2019-03-15 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 基于恢复的公钥进行认证 |
CN112152814A (zh) * | 2020-09-21 | 2020-12-29 | 中国电子科技网络信息安全有限公司 | 一种区块链中基于sm2签名恢复公钥及地址的方法 |
CN112487011A (zh) * | 2020-12-18 | 2021-03-12 | 合肥达朴汇联科技有限公司 | 基于区块链的物联网终端数据上链方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691088B (zh) * | 2019-09-29 | 2021-07-23 | 广东电网有限责任公司 | 一种基于区块链的物联网设备认证方法 |
-
2021
- 2021-03-19 CN CN202110297600.9A patent/CN113067703B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827412A (zh) * | 2016-03-14 | 2016-08-03 | 中金金融认证中心有限公司 | 认证方法、服务器及客户端 |
CN109194466A (zh) * | 2018-10-29 | 2019-01-11 | 南开大学 | 一种基于区块链的云端数据完整性检测方法及系统 |
CN110612700A (zh) * | 2019-03-15 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 基于恢复的公钥进行认证 |
CN110493009A (zh) * | 2019-09-23 | 2019-11-22 | 百度在线网络技术(北京)有限公司 | 签名的生成方法和验证方法、装置、设备和介质 |
CN112152814A (zh) * | 2020-09-21 | 2020-12-29 | 中国电子科技网络信息安全有限公司 | 一种区块链中基于sm2签名恢复公钥及地址的方法 |
CN112487011A (zh) * | 2020-12-18 | 2021-03-12 | 合肥达朴汇联科技有限公司 | 基于区块链的物联网终端数据上链方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113067703A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113067703B (zh) | 终端设备数据上链方法及系统 | |
US10873641B2 (en) | Systems and methods for recognizing a device | |
CN107770182B (zh) | 家庭网关的数据存储方法及家庭网关 | |
Fereidooni et al. | Fitness trackers: fit for health but unfit for security and privacy | |
CN108564182B (zh) | 一种基于区块链技术的设备全生命周期管理系统及其方法 | |
Lin et al. | EBCPA: Efficient blockchain-based conditional privacy-preserving authentication for VANETs | |
CN112487011B (zh) | 基于区块链的物联网终端数据上链方法及系统 | |
CN112632573B (zh) | 智能合约执行方法、装置、系统、存储介质及电子设备 | |
CN113946877A (zh) | 数据安全计算方法、系统、计算机设备、存储介质及终端 | |
CN111414640B (zh) | 秘钥访问控制方法和装置 | |
Zhao et al. | A blockchain-facilitated secure sensing data processing and logging system | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN114338054B (zh) | 区块链可信数据传输、验证和获取方法及装置 | |
US20200143031A1 (en) | Device attestation techniques | |
CN104394166A (zh) | 一种云环境下面向移动终端的证书防伪认证系统及方法 | |
de Moraes et al. | A systematic review of security in the lorawan network protocol | |
CN112667743A (zh) | 应用于传输终端的数据上链方法、系统、设备、存储介质 | |
CN111737762A (zh) | 一种基于区块链技术的数据管理方法、装置及系统 | |
CN112132588B (zh) | 基于区块链的数据处理方法、装置、路由设备及存储介质 | |
CN114861144A (zh) | 基于区块链的数据权限处理方法 | |
CN111651740A (zh) | 一种面向分布式智能嵌入式系统的可信平台共享系统 | |
Lu et al. | SG-Audit: An Efficient and Robust Cloud Auditing Scheme for Smart Grid | |
US20230155842A1 (en) | Method and apparatus for certifying an application-specific key and for requesting such certification | |
CN116842540A (zh) | 一种数据安全管理方法、装置、计算机设备及存储介质 | |
US20240015028A1 (en) | Blockchain-based data detection method and apparatus, device, storage medium, and program product |
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 |