An Internet of Things data credibility verification method, device, equipment and medium
By acquiring blockchain data and verifying public keys, combined with hash processing and signature mechanisms, the problem of untrusted data being mixed into IoT data is solved, enabling the verification of the credibility of IoT data and ensuring the accuracy and security of data analysis.
Patent Information
- Application Number
- CN202110795996.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-14
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2041-07-14
AI Technical Summary
The inclusion of untrusted data in IoT data seriously affects the accuracy of data analysis, and existing technologies cannot effectively distinguish between the authenticity and reliability of data.
By acquiring blockchain data, including IoT data collected by sensor devices, device public keys, and actual address information, the credibility of sensor devices is verified, and the credibility of IoT data is verified using public keys and binding relationships. Combined with hash processing and signature mechanisms, the reliable transmission of data is ensured.
Effectively verify the credibility of IoT data, reduce the risk of untrusted data entering data analysis, and ensure data security and reliability from the source.
Smart Images

Figure CN115941210B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet of Things (IoT) technology, and in particular to a method, apparatus, device, computer-readable storage medium, and computer program product for verifying the credibility of IoT data. Background Technology
[0002] The Internet of Things (IoT) refers to connecting any object to a network through information sensing devices and according to agreed protocols. Objects exchange and communicate information through information transmission media to achieve functions such as intelligent identification, positioning, tracking, and monitoring.
[0003] With the continuous development of IoT technology, the amount of data collected through IoT sensors is also increasing. Under normal circumstances, a wide variety of data can be obtained through IoT sensors, but it is impossible to distinguish the authenticity and reliability of the data. Unreliable data mixed into IoT big data seriously affects the accuracy of data analysis.
[0004] Therefore, the industry urgently needs a method to verify the credibility of IoT data. Summary of the Invention
[0005] This application provides a method for verifying the credibility of IoT data. This method can verify the credibility of the devices that collect IoT data, thereby ensuring the credibility of the data.
[0006] Firstly, this application provides a method for verifying the credibility of Internet of Things (IoT) data, the method comprising:
[0007] Obtain blockchain data, which includes IoT data collected by sensor devices, the public key of the sensor devices that collected the IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is uploaded to the blockchain in advance.
[0008] The ideal address information of IoT data on the blockchain is obtained based on the device's public key. The blockchain predetermines the ideal address information corresponding to the device's public key for IoT data collected by trusted sensor devices.
[0009] By comparing actual address information with ideal address information, we can verify whether the sensor device that collects IoT data is a trustworthy sensor device.
[0010] Verify the credibility of IoT data based on the verification results of sensor devices.
[0011] In some possible implementations, the method also includes:
[0012] Obtain the device public key and user identifier of the sensor device, as well as the server public key corresponding to the server uploading IoT data;
[0013] The bridge identifier is calculated based on the device public key, user identifier, and server public key;
[0014] When a bridge identifier is found on the blockchain, the sensor device and the server are bound together. The blockchain stores the pre-bound bridge identifier, which is generated based on the public key of the bound device, the user identifier, and the server's public key.
[0015] The credibility of IoT data is verified based on the binding relationship between sensor devices and servers, as well as the verification results of sensor devices.
[0016] In some possible implementations, blockchain data is acquired. This blockchain data includes IoT data collected by sensor devices, the public key of the sensor devices that collected the IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is pre-uploaded to the blockchain, including:
[0017] Obtain blockchain data, which includes IoT data collected by sensor devices and the public key of the sensor devices that collected the IoT data. The IoT data is IoT data after hash processing.
[0018] The server that is bound to the sensor device is determined based on the device's public key;
[0019] Retrieve raw IoT data and corresponding hash values from the server;
[0020] The hash value is used to verify whether the sensor data after hash processing corresponds to the original IoT data.
[0021] In some possible implementations, blockchain data also includes the time it takes for sensor devices to collect IoT data.
[0022] In some possible implementations, the method also includes:
[0023] The sensor device collects data and uses the sensor device's private key to sign the collected IoT data, the server's public key, and the collection timestamp to generate a third signature;
[0024] The sensor sends IoT data, collection timestamp, third-party signature, and device public key to the server corresponding to the server public key;
[0025] The server stores IoT data and collection timestamps, and uploads a third signature to the blockchain address corresponding to the device's public key.
[0026] In some possible implementations, the method also includes:
[0027] The sensor device generates a public key and a private key, and sends the public key along with the sensor device's identifier to the server;
[0028] The server generates a public key and a private key, and receives the device's public key and device identifier.
[0029] The server uses its private key to sign the device public key, the server public key, and the device identifier to generate the first signature;
[0030] The server sends the first signature and the server's public key to the sensor device;
[0031] The sensor device verifies the first signature, and signs the device public key, server public key and device identifier with the device private key to generate a second signature, and sends the second signature to the server;
[0032] The server verifies the second signature and generates a bridge identifier based on the device public key, the server public key, and the device identifier.
[0033] The server uploads the bridge identifier to the blockchain.
[0034] Secondly, this application provides a device for verifying the credibility of IoT data, the device comprising:
[0035] The blockchain data acquisition module is used to acquire blockchain data, which includes IoT data collected by sensor devices, the public key of the sensor devices that collect IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is pre-uploaded to the blockchain.
[0036] The ideal address information acquisition module is used to record the address information of the IoT data obtained according to the device's public key on the blockchain as the ideal address information when the sensor device is a trusted sensor device. The blockchain pre-determines the address information corresponding to the device's public key for the IoT data collected by the trusted sensor device.
[0037] The sensor device verification module is used to compare actual address information with ideal address information to verify whether the sensor device that collects IoT data is a trustworthy sensor device.
[0038] The IoT data verification module is used to verify the credibility of IoT data based on the verification results of sensor devices.
[0039] In some possible implementations, the method also includes:
[0040] The device public key acquisition module is used to acquire the device public key and user identifier of the sensor device, as well as the server public key corresponding to the server that uploads IoT data.
[0041] The bridge identifier calculation module is used to calculate and obtain the bridge identifier based on the device public key, user identifier, and server public key;
[0042] The bridge identifier query module is used to query bridge identifiers on the blockchain. When a bridge identifier is found, the sensor device and the server are bound together. The blockchain stores the pre-bound bridge identifier, which is generated based on the public key of the bound device, the user identifier, and the server's public key.
[0043] The binding verification module is used to verify the credibility of IoT data based on the binding relationship between the sensor device and the server, as well as the verification results of the sensor device.
[0044] In some possible implementations, the blockchain data acquisition module is specifically used for:
[0045] Obtain blockchain data, which includes IoT data collected by sensor devices and the public key of the sensor devices that collected the IoT data. The IoT data is IoT data after hash processing.
[0046] The server that is bound to the sensor device is determined based on the device's public key;
[0047] Retrieve raw IoT data and corresponding hash values from the server;
[0048] The hash value is used to verify whether the sensor data after hash processing corresponds to the original IoT data.
[0049] In some possible implementations, blockchain data also includes the time it takes for sensor devices to collect IoT data.
[0050] Among some possible implementations,
[0051] The sensor device is used to collect data and uses the device's private key to sign the collected IoT data, the server's public key, and the collection timestamp to generate a third signature.
[0052] Sensor devices are also used to send IoT data, collection timestamps, third-party signatures, and device public keys to the server corresponding to the server's public key;
[0053] The server is used to store IoT data and collection timestamps, and uploads the third signature to the blockchain address corresponding to the device's public key.
[0054] Among some possible implementations,
[0055] The sensor device generates a public key and a private key, and sends the public key along with the sensor device's identifier to the server.
[0056] The server is used to generate server public and private keys, and to receive device public keys and device identifiers;
[0057] The server is also used to sign the device public key, the server public key, and the device identifier using the server's private key to generate the first signature;
[0058] The server is also used to send the first signature and the server's public key to the sensor device;
[0059] The sensor device is also used to verify the first signature, and to sign the device public key, server public key and device identifier with the device private key to generate a second signature, and send the second signature to the server;
[0060] The server is also used to verify the second signature and generate a bridge identifier based on the device public key, the server public key, and the device identifier;
[0061] The server is also used to upload bridge identifiers to the blockchain.
[0062] Thirdly, this application provides a device including a processor and a memory. The processor and the memory communicate with each other. The processor is used to execute instructions stored in the memory to cause the device to perform an IoT data trust verification method as described in the first aspect or any implementation thereof.
[0063] Fourthly, this application provides a computer-readable storage medium storing instructions that instruct a device to perform the IoT data trustworthiness verification method described in the first aspect or any implementation thereof.
[0064] Fifthly, this application provides a computer program product containing instructions that, when run on a device, causes the device to execute the IoT data trustworthiness verification method described in the first aspect or any implementation thereof.
[0065] Based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods.
[0066] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0067] This application provides a method for verifying the credibility of IoT data. The method involves acquiring collected blockchain data, which includes IoT data, the public key of the sensor device collecting the IoT data, and the actual address information of the data on the blockchain. The blockchain data is pre-uploaded to the blockchain. Then, based on the device public key, the ideal address information corresponding to the IoT data on the blockchain is obtained. The blockchain pre-determines ideal address information corresponding to the device public key for IoT data collected by trusted sensor devices. The actual address information is then compared with the ideal information to verify that the sensor device collecting the blockchain data is a trusted sensor device. This verifies the credibility of IoT blockchain data during the collection process and reduces the risk of untrusted data entering data analysis. Attached Figure Description
[0068] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0069] Figure 1 A flowchart illustrating a method for verifying the credibility of IoT data provided in an embodiment of this application;
[0070] Figure 2 A flowchart illustrating a method for verifying the credibility of IoT data during the upload process, as provided in an embodiment of this application;
[0071] Figure 3 A flowchart illustrating an authentication method between an IoT sensor device and a server, provided in an embodiment of this application;
[0072] Figure 4 A flowchart illustrating a method for collecting and uploading IoT data to a server, provided in an embodiment of this application;
[0073] Figure 5 This is a schematic diagram illustrating a process for verifying the binding relationship between a sensor device and a server, provided as an embodiment of this application.
[0074] Figure 6 A flowchart illustrating a method for verifying the credibility of IoT data provided in an embodiment of this application;
[0075] Figure 7 This is a schematic diagram of the architecture of an IoT data credibility verification device provided in an embodiment of this application. Detailed Implementation
[0076] The solutions in the embodiments provided in this application will now be described with reference to the accompanying drawings.
[0077] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application.
[0078] To facilitate understanding of the technical solution of this application, some technical terms involved in this application will be introduced below.
[0079] Typically, most IoT data acquisition systems are centralized, the data acquisition process is opaque, the trustworthiness of the acquisition devices cannot be determined, and the data is recorded on centralized servers, making it impossible to determine whether the data has been tampered with during transmission and storage.
[0080] In view of this, this application provides a method for verifying the credibility of IoT data, which can be executed by a processing device. A processing device refers to a device with data processing capabilities, such as a smartphone or other terminal device, or a server. In this embodiment, the processing device can be any processing device owned by any person or organization. Through the method in this embodiment, any person or organization can verify the credibility of IoT data.
[0081] Specifically, the processing device acquires blockchain data, which is data pre-uploaded to the blockchain. This blockchain data includes IoT data collected by sensor devices, the public key of the sensor devices that collected the IoT data, and the actual address information of the IoT data on the blockchain. Based on the device public key, the ideal address information of the IoT data on the blockchain is obtained. The blockchain pre-determines ideal address information corresponding to the device public key for IoT data collected by trusted sensor devices. The ideal address information is compared with the actual address information. If they match, the sensor device that collected the IoT data is considered a trusted sensor device, and the collected IoT data is trustworthy. In this way, the trustworthiness of the data can be ensured from the source, guaranteeing data security.
[0082] To make the technical solution of this application clearer and easier to understand, the technical solution of this application will be described in detail below from the perspective of processing equipment.
[0083] See Figure 1 The present application provides a flowchart of a method for verifying the credibility of IoT data.
[0084] S102: The processing device acquires blockchain data, which includes IoT data collected by the sensor device, the device public key of the sensor device that collected the IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is pre-uploaded to the blockchain.
[0085] The IoT data can be data collected by any sensor device such as temperature, humidity, acceleration, light, and air pressure. The blockchain data can also include the collection time of the IoT data collected by the sensor device, and the collection time corresponds to the IoT data collected by the sensor.
[0086] Blockchain data can be data pre-uploaded to the blockchain by any device. In this embodiment, any device can be used to verify the trustworthiness of any IoT data in the blockchain, which can be data pre-uploaded to the blockchain by any device.
[0087] In some possible implementations, the collected data may be large or numerous. Therefore, when uploading the data to the blockchain, it undergoes hashing. Thus, IoT data can be hashed IoT data. The hashed IoT data in the blockchain can be verified by retrieving the original IoT data and its corresponding hash value from the server that uploaded the data.
[0088] S104: The processing device obtains the ideal address information of IoT data on the blockchain based on the device's public key. The blockchain predetermines the ideal address information corresponding to the device's public key for IoT data collected by trusted sensor devices.
[0089] When the sensor device collecting the blockchain data is a trusted device, the blockchain will pre-determine the ideal address information corresponding to the device's public key for the IoT data collected by the trusted sensor device. The processing device, based on the device's public key obtained in S102, retrieves the address information of the IoT data in the blockchain when the sensor device is a trusted sensor device, and records it as the ideal address information.
[0090] S106: The processing device compares the actual address information with the ideal address information to verify whether the sensor device that collects the IoT data is a trustworthy sensor device.
[0091] When the actual address information is the same as the ideal address information, since the ideal address information is the address information determined by the blockchain for the trusted sensor device, it indicates that the sensor device that collects the IoT data is a trusted sensor device.
[0092] When the actual address information differs from the ideal address information, it indicates that the sensor device collecting the IoT data is not a trusted sensor device.
[0093] S108: The processing device verifies the credibility of IoT data based on the verification results of the sensor devices.
[0094] When the sensor device is a trusted sensor device, the reliability of the IoT data during the acquisition process is determined.
[0095] In some possible implementations, there can be multiple sensor devices. These multiple sensor devices can upload corresponding blockchain data according to their device identifiers. Alternatively, multiple sensor devices can be grouped into one sensor device and share the same device identifier.
[0096] In this way, IoT data within the blockchain can be verified, particularly the credibility of the IoT data collection process, ensuring data credibility from the source. Furthermore, embodiments of this application can also verify the credibility of IoT data during the uploading process, referring to... Figure 2 As shown.
[0097] S202: The processing device obtains the device public key and user identifier of the sensor device, as well as the server public key corresponding to the server that uploads IoT data.
[0098] Processing devices can obtain the device public key and user identifier of sensor devices, as well as the server public key corresponding to the server uploading IoT data, through various means. For example, a server stores the device identifier and user identifier of the data acquisition device corresponding to the IoT data uploaded through the server; therefore, the corresponding device public key, user identifier, and server public key can be obtained from the server. Alternatively, the device public key and user identifier can be obtained from the sensor device, and the server public key can be obtained from the server.
[0099] The communication between the processing device and the sensor device, the communication between the processing device and the server, and the communication between the sensor device and the server can all be any communication method, such as near field communication (NFC), Bluetooth, wireless fidelity (WIFI), second-generation wireless telephone technology (2G), third-generation wireless telephone technology (3G), fourth-generation wireless telephone technology (4G), etc. This application does not impose any restrictions.
[0100] S204: The processing device calculates and obtains the bridge identifier based on the device public key, user identifier, and server public key.
[0101] The processing device can obtain different bridge identifiers using the same device public key, user identifier, and server public key through different calculation methods. In this embodiment, any calculation method can be selected, but it needs to correspond to the calculation method of the bridge identifier pre-bound in the blockchain.
[0102] S206: The processing device queries the bridge identifier on the blockchain. When the identifier is found, the sensor device and the server are bound together. The blockchain stores the pre-bound bridge identifier, which is generated based on the public key of the bound device, the user identifier, and the server's public key.
[0103] When a sensor device is bound to a server that uploads corresponding IoT data, a bridge identifier is calculated based on the device's public key, the user's identifier, and the server's public key. This bridge identifier is then stored in the address information corresponding to the device's public key. The binding relationship between the sensor device and the server means that if the sensor device is trustworthy, then the server uploading the data is also trustworthy.
[0104] When the processing device finds the bridge identifier in the blockchain, it means that the bridge identifier has been pre-stored in the blockchain, which proves that the sensor device and the server have a binding relationship.
[0105] S208: The processing device verifies the credibility of IoT data based on the binding relationship between the sensor device and the server, as well as the verification results of the sensor device.
[0106] In some possible implementations, S202 to S206 can occur either before S102 or after S108. That is, the binding relationship between the sensor device and the server can be verified first, followed by verifying whether the sensor device is a trusted device; alternatively, the sensor device can be verified as a trusted device first, followed by verifying the binding relationship between the sensor device and the server. When there is a binding relationship between the sensor device and the server, the sensor device is considered trustworthy, and therefore both the data acquisition and upload processes can be considered trustworthy. Similarly, when the sensor device is trustworthy, the server bound to it can be considered trustworthy, and both the data acquisition and upload processes can be considered trustworthy.
[0107] In this embodiment, when verifying the reliability of data acquisition, the acquired data needs to be uploaded to the blockchain beforehand. Similarly, when verifying the binding relationship between the sensor device and the server, this binding relationship also needs to be uploaded to the blockchain beforehand. Therefore, in some possible implementations, this embodiment also includes mutual authentication between the sensor device and the server, as well as data acquisition and uploading. The following section will discuss this in conjunction with... Figure 3 , Figure 4 , Figure 5 as well as Figure 6 The entire process, including the preliminary steps, is described in this embodiment.
[0108] See Figure 3 This embodiment provides a flowchart for identity authentication between an IoT sensor device and a server.
[0109] S301: The sensor device generates a public-private key pair (p0, P0), including the device public key (P0) and the device private key (p0).
[0110] S302: The sensor device sends its public key and user identification (UID) to the server device.
[0111] S303: The server generates a public-private key pair (p1, P1), including the server public key (P1) and the server private key (p1), and receives the device public key and device identifier.
[0112] S304: The server uses its private key to sign the device public key, the server public key, and the device identifier to generate the first signature (S1).
[0113] S305: The server sends the first signature and the server public key to the sensor device.
[0114] S306: The sensor device verifies the first signature and signs the device public key, server public key and device identifier with the device private key to generate a second signature (S2).
[0115] S307: The sensor device sends the second signature to the server.
[0116] S308: The server verifies the second signature and generates a bridge identification (BID) on the blockchain based on the device public key, the server public key, and the device identifier.
[0117] S309: The server uploads the bridge identifier to the blockchain.
[0118] Specifically, the server stores the bridge identifier in the address information corresponding to the device's public key in the blockchain, based on the device's public key.
[0119] In this way, a binding relationship can be established between a trusted sensor device and a trusted server through mutual identity authentication, thereby enabling the credibility of the upload process to be verified through the binding relationship.
[0120] See Figure 4 This embodiment provides a flowchart for IoT data acquisition and uploading to a server.
[0121] S401: The sensor device sets the acquisition parameters and begins data acquisition.
[0122] S402: The sensor device collects IoT data (D1), and signs the IoT data, the server's public key, and the collection timestamp (T1) with its own private key (p0) to obtain a third signature (S3).
[0123] S403: The sensor device sends IoT data, collection timestamps, and a third-party signature to the server.
[0124] S404: The server stores IoT data and collection timestamps. When IoT data is uploaded and hashed, the hashed data can be verified using the IoT data, collection timestamps, and hash values stored on the server.
[0125] S405: The server uploads the third signature to the blockchain along with the device's public key.
[0126] In this way, it is possible to pre-upload IoT data, enabling processing devices to obtain IoT data, along with the corresponding device public key and actual address information, from the blockchain, and to verify the trustworthiness of the IoT data based on the device public key and actual address information.
[0127] See Figure 5 This embodiment provides a flowchart for verifying the binding relationship between sensor devices and servers.
[0128] S501: The processing device obtains the device identifier and device public key of the sensor device.
[0129] S502: The processing device obtains the server's public key.
[0130] S503: The processing device obtains the bridge identifier based on the device identifier, the device public key, and the device public key calculation. The calculation method for the bridge identifier is the same as the calculation method used during pre-upload.
[0131] S504: The processing device queries the bridge identifier in the blockchain.
[0132] When the processing device finds the same bridge identifier in the blockchain, it proves that the sensor device and the server are bound together and have been mutually authenticated.
[0133] See Figure 6 This embodiment provides a flowchart for verifying Internet of Things (IoT) data.
[0134] S601: The processing device acquires IoT data stored on the server and IoT data after hash processing.
[0135] S602: The processing device retrieves blockchain data from the blockchain.
[0136] S603: The processing device verifies the trustworthiness of the sensor device based on the device's public key and actual address information. The processing device determines whether the server's data matches the signature data based on the transaction data in the blockchain data. By verifying the consistency of the signature data, it determines whether the data uploaded to the blockchain has been tampered with.
[0137] In summary, this application provides a method for verifying the trustworthiness of IoT data. This method can acquire blockchain data, which includes IoT data collected by sensor devices, the public key of the sensor devices that collected the IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is pre-uploaded to the blockchain. Then, the ideal address information of the IoT data on the blockchain is obtained based on the device public key. The blockchain pre-determines the ideal address information corresponding to the device public key for IoT data collected by trusted sensor devices. By comparing the actual address information with the ideal address information, the method verifies whether the sensor devices that collected the IoT data are trusted sensor devices, thereby determining whether the IoT data has trustworthiness during the collection process.
[0138] Furthermore, the credibility of IoT data during the upload process can be determined by verifying the identity between the sensor device and the server uploading the data. Moreover, the traceability of blockchain technology can be used to assess the credibility of IoT data during transmission, thus providing a method for verifying IoT data and ensuring its security.
[0139] The above combination Figure 1 The method for verifying the credibility of IoT data provided in the embodiments of this application has been described in detail. Next, the device for verifying the credibility of IoT data provided in the embodiments of this application will be described in conjunction with the accompanying drawings.
[0140] See Figure 7The schematic diagram of the IoT data credibility verification device shown is shown. The device 700 includes: a blockchain data acquisition module 702, an ideal address information acquisition module 704, a sensor device verification module 706, and an IoT data verification module 708.
[0141] The blockchain data acquisition module is used to acquire blockchain data, which includes IoT data collected by sensor devices, the public key of the sensor devices that collect IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is pre-uploaded to the blockchain.
[0142] The ideal address information acquisition module is used to record the address information of the IoT data obtained according to the device's public key on the blockchain as the ideal address information when the sensor device is a trusted sensor device. The blockchain pre-determines the address information corresponding to the device's public key for the IoT data collected by the trusted sensor device.
[0143] The sensor device verification module is used to compare actual address information with ideal address information to verify whether the sensor device that collects IoT data is a trustworthy sensor device.
[0144] The IoT data verification module is used to verify the credibility of IoT data based on the verification results of sensor devices.
[0145] In some possible implementations, the method also includes:
[0146] The device public key acquisition module is used to acquire the device public key and user identifier of the sensor device, as well as the server public key corresponding to the server that uploads IoT data.
[0147] The bridge identifier calculation module is used to calculate and obtain the bridge identifier based on the device public key, user identifier, and server public key;
[0148] The bridge identifier query module is used to query bridge identifiers on the blockchain. When a bridge identifier is found, the sensor device and the server are bound together. The blockchain stores the pre-bound bridge identifier, which is generated based on the public key of the bound device, the user identifier, and the server's public key.
[0149] The binding verification module is used to verify the credibility of IoT data based on the binding relationship between the sensor device and the server, as well as the verification results of the sensor device.
[0150] In some possible implementations, the blockchain data acquisition module is specifically used for:
[0151] Obtain blockchain data, which includes IoT data collected by sensor devices and the public key of the sensor devices that collected the IoT data. The IoT data is IoT data after hash processing.
[0152] The server that is bound to the sensor device is determined based on the device's public key;
[0153] Retrieve raw IoT data and corresponding hash values from the server;
[0154] The hash value is used to verify whether the sensor data after hash processing corresponds to the original IoT data.
[0155] In some possible implementations, blockchain data also includes the time it takes for sensor devices to collect IoT data.
[0156] Among some possible implementations,
[0157] The sensor device is used to collect data and uses the device's private key to sign the collected IoT data, the server's public key, and the collection timestamp to generate a third signature.
[0158] Sensor devices are also used to send IoT data, collection timestamps, third-party signatures, and device public keys to the server corresponding to the server's public key;
[0159] The server is used to store IoT data and collection timestamps, and uploads the third signature to the blockchain address corresponding to the device's public key.
[0160] Among some possible implementations,
[0161] The sensor device generates a public key and a private key, and sends the public key along with the sensor device's identifier to the server.
[0162] The server is used to generate server public and private keys, and to receive device public keys and device identifiers;
[0163] The server is also used to sign the device public key, the server public key, and the device identifier using the server's private key to generate the first signature;
[0164] The server is also used to send the first signature and the server's public key to the sensor device;
[0165] The sensor device is also used to verify the first signature, and to sign the device public key, server public key and device identifier with the device private key to generate a second signature, and send the second signature to the server;
[0166] The server is also used to verify the second signature and generate a bridge identifier based on the device public key, the server public key, and the device identifier;
[0167] The server is also used to upload bridge identifiers to the blockchain.
[0168] The IoT data trustworthiness verification device 700 according to the embodiments of this application can correspondingly execute the method described in the embodiments of this application, and the above and other operations and / or functions of each module of the IoT data trustworthiness verification device 700 are respectively for implementing Figure 1 For the sake of brevity, the corresponding processes of each method in the code will not be elaborated here.
[0169] This application provides a device for implementing a method for verifying the trustworthiness of Internet of Things (IoT) data. The device includes a processor and a memory. The processor and the memory communicate with each other. The processor executes instructions stored in the memory to cause the device to perform the IoT data trustworthiness verification method.
[0170] This application provides a computer-readable storage medium storing instructions that, when executed on a device, cause the device to perform the aforementioned method for verifying the trustworthiness of IoT data.
[0171] This application provides a computer program product containing instructions that, when run on a device, causes the device to perform the aforementioned method for verifying the trustworthiness of IoT data.
[0172] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0173] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0174] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0175] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
Claims
1. A method for verifying the credibility of Internet of Things (IoT) data, characterized in that, The method includes: Obtain blockchain data, which includes IoT data collected by sensor devices, the public key of the sensor devices that collected the IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is uploaded to the blockchain in advance. The ideal address information of the IoT data on the blockchain is obtained based on the device public key. The blockchain predetermines the ideal address information corresponding to the device public key for the IoT data collected by the trusted sensor device. By comparing the actual address information with the ideal address information, it is verified whether the sensor device that collects the IoT data is a trustworthy sensor device. The credibility of the IoT data is verified based on the verification results of the sensor device. The method further includes: Obtain the device public key and user identifier of the sensor device, as well as the server public key corresponding to the server that uploads the IoT data; The bridge identifier is calculated based on the device public key, the user identifier, and the server public key; The bridge identifier is queried on the blockchain. When it is found, the sensor device is bound to the server. The blockchain stores the pre-bound bridge identifier, which is generated based on the public key of the bound device, the user identifier, and the server public key. The credibility of the IoT data is verified based on the binding relationship between the sensor device and the server, and the verification results of the sensor device.
2. The method according to claim 1, characterized in that, The acquisition of blockchain data includes IoT data collected by sensor devices, the public key of the sensor devices collecting the IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is pre-uploaded to the blockchain, including: Obtain blockchain data, which includes IoT data collected by sensor devices and the device public key of the sensor devices that collected the IoT data, wherein the IoT data is IoT data after hash processing; The server that is bound to the sensor device is determined based on the device's public key; Obtain the raw IoT data and corresponding hash values from the server; The hash value is used to verify whether the hash-processed IoT data corresponds to the original IoT data.
3. The method according to claim 1, characterized in that, The blockchain data also includes the data collection time of the IoT data collected by the sensor devices.
4. The method according to claim 2, characterized in that, The method further includes: The sensor device collects data and uses the device's private key to sign the collected IoT data, the server's public key, and the collection timestamp to generate a third signature. The sensor device sends the IoT data, the collection timestamp, the third signature, and the device public key to the server corresponding to the server public key; The server stores the IoT data and the collection timestamp, and uploads the third signature to the blockchain address corresponding to the device's public key.
5. The method according to claim 1, characterized in that, The method further includes: The sensor device generates a device public key and a device private key, and sends the device public key and the sensor device's device identifier to the server; The server generates a server public key and a server private key, and receives the device public key and device identifier; The server uses its private key to sign the device public key, the server public key, and the device identifier to generate a first signature; The server sends the first signature and the server public key to the sensor device; The sensor device verifies the first signature, and signs the device public key, server public key, and device identifier using the device private key to generate a second signature, and sends the second signature to the server; The server verifies the second signature and generates a bridge identifier based on the device public key, the server public key, and the device identifier; The server uploads the bridge identifier to the blockchain.
6. A device for verifying the credibility of Internet of Things (IoT) data, characterized in that, The device includes: A blockchain data acquisition module is used to acquire blockchain data, which includes IoT data collected by sensor devices, the public key of the sensor devices that collect the IoT data, and the actual address information of the IoT data on the blockchain. The blockchain data is pre-uploaded to the blockchain. The ideal address information acquisition module is used to record the address information of the IoT data obtained according to the device public key on the blockchain as ideal address information when the sensor device is a trusted sensor device. The blockchain pre-determines the ideal address information corresponding to the device public key for the IoT data collected by the trusted sensor device. The sensor device verification module is used to compare the actual address information with the ideal address information to verify whether the sensor device that collects the IoT data is a trustworthy sensor device. The IoT data verification module is used to verify the credibility of the IoT data based on the verification results of the sensor device. The device public key acquisition module is used to acquire the device public key and user identifier of the sensor device, as well as the server public key corresponding to the server that uploads IoT data. The bridge identifier calculation module is used to calculate and obtain the bridge identifier based on the device public key, user identifier, and server public key; The bridge identifier query module is used to query bridge identifiers on the blockchain. When a bridge identifier is found, the sensor device and the server are bound together. The blockchain stores the pre-bound bridge identifier, which is generated based on the public key of the bound device, the user identifier, and the server's public key. The binding verification module is used to verify the credibility of IoT data based on the binding relationship between the sensor device and the server, as well as the verification results of the sensor device.
7. A computer device, characterized in that, The device includes a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the computer device to perform the method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, Includes instructions that instruct the device to perform the method as described in any one of claims 1 to 5.
9. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Data collection transaction system and method based on block chain
CN110827028A