Data providing method, device and system

By introducing verification area and reputation value mechanisms into the Internet of Things system, and using the location information of multiple data upload devices for joint verification, the problem of blockchain technology being unable to detect whether data was maliciously tampered before uploading is solved, and the effect of improving the reliability of IoT data is achieved.

CN113761530BActive Publication Date: 2025-03-18BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110254510.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-09
Publication Date
2025-03-18
Estimated Expiration
2041-03-09

AI Technical Summary

Technical Problem

Existing blockchain technology cannot detect whether the data has been maliciously tampered before uploading when storing sensor data, resulting in a reduction in the reliability of IoT data.

Method used

By introducing verification area and reputation value mechanisms in the Internet of Things system, the location information of multiple data upload devices is used for joint verification, and whether the device to be verified has passed the verification, thereby improving the reliability of the data.

Benefits of technology

Effectively detect and prevent malicious devices from tampering with data, improve the reliability and security of IoT data, and ensure the authenticity and integrity of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113761530B_ABST
    Figure CN113761530B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data providing method, device and system, and to the field of computer technology. The providing method includes: in response to a request for obtaining target data initiated by a requesting device, determining a data uploading device that uploads the target data as a device to be verified, and determining other data uploading devices in a verification area where the device to be verified is located as verification devices; determining whether the device to be verified has passed the verification based on the difference between the historical position and the current position of each verification device; and providing the target data to the requesting device if the device to be verified has passed the verification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a data providing method, a data providing device, a data providing system and a non-volatile computer-readable storage medium. Background Art

[0002] The Internet of Things can collect data in real time through various information sensors. Through the network access of various sensors, the Internet of Things can connect objects with objects and objects with people, and realize intelligent perception of objects and processes. The Internet of Things is an information carrier based on the Internet, traditional telecommunications networks, etc. It allows all ordinary physical objects that can be independently addressed to form an interconnected network.

[0003] The IoT system is based on real data to understand the real world. Therefore, if the authenticity, integrity, and reliability of the data cannot be guaranteed, the system may cause serious problems. First, the IoT sensors cannot guarantee the integrity and security of the data, and the data generated is easy to be tampered with or deceived; second, some malicious devices are disguised as connecting to the IoT through firmware or software.

[0004] Therefore, how to ensure the security of data sources and data storage is a problem that needs to be solved in the development of the Internet of Things and artificial intelligence.

[0005] In related technologies, blockchain is used to store data uploaded by various sensors to enhance the security and credibility of the data. Summary of the invention

[0006] The inventors of the present disclosure discovered that the above-mentioned related technologies have the following problems: they can only guarantee the integrity of the registered data in the blockchain, but cannot detect whether the data has been maliciously tampered with before being uploaded to the blockchain, resulting in reduced reliability of IoT data.

[0007] In view of this, the present disclosure proposes a technical solution for providing data, which can improve the reliability of IoT data.

[0008] According to some embodiments of the present disclosure, a method for providing data is provided, including: in response to a request for obtaining target data initiated by a requesting device, determining a data uploading device that uploads the target data as a device to be verified, and determining other data uploading devices in a verification area where the device to be verified is located as verification devices; determining whether the device to be verified has passed the verification based on the difference between the historical position and the current position of each verification device; and providing the target data to the requesting device if the device to be verified has passed the verification.

[0009] In some embodiments, the verification area of ​​the data uploading device is determined according to the location of the data uploading device when it is connected, and each verification device is a data uploading device having the same verification area as the device to be verified.

[0010] In some embodiments, determining whether the device to be verified has passed the verification includes: obtaining the location of each verification device when uploading data as its respective historical location; when the difference is less than a distance threshold, determining that the device to be verified has passed the verification.

[0011] In some embodiments, determining whether the device to be verified has passed the verification includes: fitting each historical position into a straight line; and determining the difference according to the distance between the current position of each verification device and the straight line.

[0012] In some embodiments, determining the difference includes: determining the difference based on a weighted average of the distances from the current position of each verification device to the straight line, wherein the weight of the distance is positively correlated with the reputation value of the verification device corresponding to the distance.

[0013] In some embodiments, determining whether the device to be verified has passed the verification based on the difference between the historical location and the current location of each verification device includes: determining whether the device to be verified is a malicious device based on whether the reputation value of the device to be verified is less than a reputation value threshold; if the device to be verified is not a malicious device, determining whether the device to be verified has passed the verification based on the difference between the historical location and the current location of each verification device.

[0014] In some embodiments, the reputation value of the device to be verified increases when the device to be verified passes the verification, and decreases when the device to be verified fails the verification.

[0015] In some embodiments, the data uploaded by each data uploading device is stored in the blockchain through a first smart contract; determining whether the device to be verified has passed the verification includes: calling a second smart contract to determine whether the device to be verified has passed the verification; providing the target data to the requesting device includes: obtaining the target data from the blockchain and providing it to the requesting device.

[0016] In some embodiments, if the reputation value of the device to be verified is greater than or equal to a reputation value threshold, the target data is allowed to be uploaded.

[0017] In some embodiments, the providing method further includes: in response to each data uploading device accessing, sending a public key and a private key to each data uploading device; the target data is uploaded after being encrypted by the public key and signed by the private key of the device to be verified.

[0018] According to some other embodiments of the present disclosure, there is provided a data providing device, comprising: a determination unit, for determining, in response to a request for obtaining target data initiated by a requesting device, a data uploading device that uploads the target data as a device to be verified, and determining other data uploading devices in a verification area where the device to be verified is located as verification devices; a verification unit, for determining whether the device to be verified has passed the verification based on the difference between the historical position and the current position of each verification device; and a providing unit, for providing the target data to the requesting device if the device to be verified has passed the verification.

[0019] In some embodiments, the verification area of ​​the data uploading device is determined according to the location of the data uploading device when it is connected, and each verification device is a data uploading device having the same verification area as the device to be verified.

[0020] In some embodiments, the verification unit obtains the location of each verification device when uploading data as its respective historical location, and determines that the device to be verified has passed the verification when the difference is less than a distance threshold.

[0021] In some embodiments, the verification unit fits each historical position into a straight line, and determines the difference based on the distance from the current position of each verification device to the straight line.

[0022] In some embodiments, the verification unit determines the difference based on a weighted average of the distances from the current position of each verification device to the straight line, and the weight of the distance is positively correlated with the reputation value of the verification device corresponding to the distance.

[0023] In some embodiments, the verification unit determines whether the device to be verified is a malicious device based on whether the reputation value of the device to be verified is less than a reputation value threshold. If the device to be verified is not a malicious device, the verification unit determines whether the device to be verified has passed the verification based on the difference between the historical location and the current location of each verification device.

[0024] In some embodiments, the reputation value of the device to be verified increases when the device to be verified passes the verification, and decreases when the device to be verified fails the verification.

[0025] In some embodiments, the data uploaded by each data uploading device is stored in the blockchain through the first smart contract; the verification unit calls the second smart contract to determine whether the device to be verified has passed the verification; the providing unit obtains the target data from the blockchain and provides it to the requesting device.

[0026] In some embodiments, if the reputation value of the device to be verified is greater than or equal to a reputation value threshold, the target data is allowed to be uploaded.

[0027] In some embodiments, the providing unit sends a public key and a private key to each data uploading device in response to each data uploading device accessing, and the target data is uploaded after being encrypted by the public key and signed by the private key of the device to be verified.

[0028] According to some further embodiments of the present disclosure, a data providing device is provided, comprising: a memory; and a processor coupled to the memory, wherein the processor is configured to execute the data providing method in any of the above embodiments based on instructions stored in the memory device.

[0029] According to some further embodiments of the present disclosure, a non-volatile computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method for providing data in any of the above embodiments is implemented.

[0030] According to some further embodiments of the present disclosure, a data providing system is provided, comprising: a data providing apparatus, used to execute the data providing method in any of the above embodiments; and a plurality of data uploading devices, used to upload data to the data providing system.

[0031] In some embodiments, the system provided further includes: a blockchain system for storing data uploaded by multiple data uploading devices.

[0032] In the above embodiment, based on the location information, multiple verification devices in the verification area are used to jointly verify the device to be verified that provides data. In this way, it is possible to detect whether the source of the data upload is a malicious device, thereby improving the reliability of IoT data. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0034] The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings:

[0035] Figure 1 A flowchart showing some embodiments of the method for providing data of the present disclosure;

[0036] Figure 2 Schematic diagrams showing some embodiments of the data providing method of the present disclosure;

[0037] Figure 3 Schematic diagrams showing other embodiments of the method for providing data disclosed herein;

[0038] Figure 4 A block diagram showing some embodiments of a data providing device of the present disclosure;

[0039] Figure 5A block diagram showing some other embodiments of the data providing device disclosed in the present invention;

[0040] Figure 6 A block diagram showing some further embodiments of the data providing device of the present disclosure;

[0041] Figure 7 A block diagram showing some embodiments of the data providing system of the present disclosure. DETAILED DESCRIPTION

[0042] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present disclosure unless otherwise specifically stated.

[0043] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0044] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.

[0045] Technologies, methods and equipment known to ordinary technicians in the relevant field may not be discussed in detail, but where appropriate, the technologies, methods and equipment should be considered part of the authorization specification.

[0046] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0047] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0048] As mentioned above, the blockchain-based IoT data platform cannot distinguish whether the sensor is a good-intentioned device or a malicious device, and assumes that all sensor devices are good-intentioned devices by default. This may cause other devices to obtain data from malicious devices when acquiring data, and thus be deceived by malicious devices.

[0049] In response to the above technical problems, the present disclosure can verify the authenticity and integrity of data obtained from IoT devices (such as sensors). For example, the smart contract of blockchain can be used to verify whether the data source is reliable. The characteristics of blockchain can also be used to ensure the reliability of data storage.

[0050] In some embodiments, based on the characteristics of the IoT system, that is, real-world data is continuously generated from IoT devices, and there are often various sensor devices near the source devices, the surrounding devices can be requested to collaboratively verify the authenticity, integrity, and reliability of the data provided by the source device (device to be verified).

[0051] In the absence of data tampering or deception, the real data trend of the source device should be almost the same as the data trend generated by the collaborating device. Therefore, by comparing the data generated by the source device and the collaborator on the blockchain (i.e., the collaborating device as the verification device), the reliability of the data uploaded by the source device can be verified. The data of the collaborator plays a key role in verification.

[0052] In some embodiments, a reputation value is set for each data uploading device (such as a sensor), and the source device is evaluated as a malicious device based on the joint verification result, thereby increasing or decreasing the reputation value. The reputation value represents the reputation in the collaboration, and the collaboration device with a high reputation value has a higher proportion when comparing the data of the source device and the collaboration device.

[0053] In this way, the authenticity, integrity and reliability of the data acquired and stored in the entire IoT system can be guaranteed. For example, the technical solution of the present disclosure can be implemented through the following embodiments.

[0054] Figure 1 A flowchart showing some embodiments of the method for providing data of the present disclosure.

[0055] like Figure 1 As shown, in step 110, in response to the request device initiating a request to obtain target data, the data uploading device that uploads the target data is determined as the device to be verified; and each other data uploading device in the verification area where the device to be verified is located is determined as each verification device. For example, the data uploading device is a sensor device.

[0056] In some embodiments, the verification area of ​​the data upload device is determined according to the location of the data upload device when it is connected. Each verification device is a data upload device having the same verification area as the device to be verified.

[0057] For example, in response to the system providing sensor device registration access data, a unique global identity ID can be distributed to each sensor device based on the MAC (Media Access Control Address) of the sensor device; the sensor device can be registered as a verification device, and the current area of ​​the sensor device can be set as the verification area of ​​the sensor device.

[0058] In some embodiments, the sensor device can upload data to the data providing system through the network at fixed intervals; the data providing system uses the first smart contract to store the uploaded data in the blockchain. For example, the stored data may include the global identity ID of the sensor device that uploaded the data, the data ID, the data type, the data value, the time, etc.

[0059] In some embodiments, if the reputation value of the device to be verified is greater than or equal to the reputation value threshold, the target data is allowed to be uploaded. For example, a sensor device with a reputation value lower than the reputation value threshold is determined to be a malicious device and is not allowed to upload data.

[0060] For example, when the system is initialized, the reputation value of each sensor device can be set to an initial reputation value (such as 100), and each reputation value and reputation value threshold can be stored in the system; after each collaborative verification, the reputation value is updated based on whether the sensor device passes the verification.

[0061] For example, after receiving the data uploaded by the data uploading device, the providing system queries whether the reputation value of the data uploading device reaches the reputation value threshold; if it reaches it, the uploaded data is signature verified; if the signature verification is successful, indicating that the uploaded data is correct, the private key of the providing system is called to decrypt and obtain the decrypted data; the first smart contract is called to store the decrypted data in the blockchain.

[0062] In some embodiments, in response to the sensor device registering access data providing system, a public key and a private key are also allocated to the sensor device. For example, in response to each data uploading device accessing, a public key and a private key are sent to each data uploading device; the target data is uploaded by the device to be verified after being encrypted by the public key and signed by the private key.

[0063] In some embodiments, a sensing device (requesting device) that needs to obtain data sends a data acquisition request to the providing system, and verifies the device to be verified by calling a verification smart contract (second smart contract) through a smart contract.

[0064] For example, when a requesting device needs to obtain data uploaded by a certain sensor device (device to be verified) at a certain time, it can access the providing system through the global identity ID and data ID of the requesting device to request to obtain the data.

[0065] After obtaining the global identity ID and data ID of the requesting device, the system determines whether it is a malicious device based on the reputation value of the device to be verified; if it is not a malicious device, the verification smart contract is called to verify the device to be verified.

[0066] In step 120, it is determined whether the device to be verified has passed the verification according to the difference between the historical location and the current location of each verification device.

[0067] In some embodiments, it is possible to first determine whether the device to be verified is a malicious device based on whether the reputation value of the device to be verified is less than a reputation value threshold; then, if the device to be verified is not a malicious device, determine whether the device to be verified has passed the verification based on the difference between the historical location and the current location of each verification device.

[0068] In some embodiments, the location of each verification device when uploading data can be obtained as its respective historical location. If the difference is less than the distance threshold, it is determined that the device to be verified has passed the verification.

[0069] For example, each historical position is fitted into a straight line, and the difference is determined based on the distance from the current position of each verification device to the straight line. The difference can be determined based on the weighted average of the distance from the current position of each verification device to the straight line, and the weight of the distance is positively correlated with the reputation value of the verification device corresponding to the distance.

[0070] In some embodiments, by verifying the smart contract, the time series data is compared with all relevant data generated by the verification device within a period of time; the verification result is obtained by weight calculation; the verification result is recorded on the blockchain, and the verification result and data are returned to the smart contract.

[0071] For example, by verifying the smart contract, the verification area of ​​the data generating device (device to be verified) is found, and then the verification devices belonging to the verification area are found; the data stored on the blockchain by each verification device is obtained to confirm the historical position of each verification device when uploading this data; using the least squares method, each historical position is fitted into a straight line; the distance from the current position of each verification device to the perpendicular line of the straight line is calculated.

[0072] Obtain the reputation value of each verification device and calculate their respective weights; use each weight to calculate the weighted average of each distance; determine whether the weighted average is less than the distance threshold; based on the judgment result, determine whether the device to be verified has passed the verification; record the verification result on the blockchain and return it to the called verification smart contract.

[0073] In some embodiments, the reputation value of the device to be verified increases when the device to be verified passes the verification, and decreases when the device to be verified fails the verification. For example, the reputation value can be adjusted using a third smart contract.

[0074] In step 130 , when the device to be authenticated passes the authentication, the target data is provided to the requesting device.

[0075] In some embodiments, the data uploaded by each data uploading device is stored in the blockchain through a first smart contract; a second smart contract is called to determine whether the device to be verified has passed the verification; and the target data is obtained from the blockchain and provided to the requesting device.

[0076] For example, if the verification passes, the smart contract is used to encrypt the target data using the public key of the device to be verified according to the verification result, and then the encrypted data is signed with the private key of the improved system, and then sent to the requesting device; the information of the requesting device and the information of obtaining the data are recorded on the blockchain; after receiving the encrypted data, the requesting device verifies the signature; if the data passes the signature verification, it is decrypted to obtain the required target data.

[0077] Figure 2 Schematic diagrams showing some embodiments of the data providing method of the present disclosure.

[0078] like Figure 2 As shown, the sensor device is connected to the providing system for registration; the providing system includes a blockchain system, which stores the data uploaded by the registered sensor device as blocks.

[0079] Each sensor device sends its own MAC address to the providing system for registration; the providing system generates a unique identity ID, public key, and private key based on the MAC address and stores them on the blockchain. For example, the public key is used as an identifier of the identity in the blockchain system, and the signature is used to identify the initiator of the behavior.

[0080] Each sensor device that accesses the provision system is both a source data generator and a verification device; the provision system accesses the location of the sensor device, registers the sensor device as a verification device for a certain verification area, and initializes its reputation value.

[0081] Figure 3 Schematic diagrams showing other embodiments of the data providing method of the present disclosure.

[0082] like Figure 3 As shown, after completing the registration of each sensor device through step one, verification can be performed through steps two, three, and four.

[0083] In step 2, within a certain period of time, the sensor device in a verification area sends the data it obtains to the providing system.

[0084] In some embodiments, the transmitted data may be encrypted using the public key of the providing system to ensure that only the providing system can identify the real data. For example, the uploaded data includes identity ID, data ID, data type, data value, time, etc.

[0085] The system provides a system that calls smart contract 1 (first smart contract) to store data of all sensor devices in each verification area during this period according to the sensor devices in different verification areas. According to the data requested by the requesting device, each sensor device can be a source device (device to be verified) or a verification device.

[0086] In step 3, when the data demand device (request device) needs to obtain data from a certain sensor device (source device), the system determines whether the reputation value of the source device reaches the reputation value threshold. If the reputation value is reached, the system calls the smart contract to obtain data, and the smart contract records the information of the source device as a credential; the verification smart contract (smart contract 2, i.e., the second smart contract) is called to verify the source device. If the verification is passed, the data is returned to the data demand device.

[0087] In step 4, the source device is verified according to whether the difference between the data uploaded by the source device and the data uploaded by each verification device is less than a difference threshold.

[0088] For example, the verification smart contract finds the uploaded data of the source device and the uploaded data of all verification devices in its verification area through the blockchain; and calculates the weight of each verification device through the reputation value of each verification device.

[0089] Compare the weighted average of the data of each verification device with the data of the source device to see if it reaches the difference threshold. If it is less than the difference threshold, it proves that the data source is reliable. Based on the verification result, the verification device is rewarded or deducted a certain reputation value as an incentive using smart contract 3 (the third smart contract).

[0090] In some embodiments, the verification smart contract can return the verification results and data to the called smart contract; if the verification is successful, the called smart contract uses the private key of the demand data device to encrypt, uses the private key of the improvement system to sign and send to the demand data device; after obtaining the data, the demand data device verifies the signature and decrypts it to finally obtain the data.

[0091] In the above embodiments, the data source is verified and the reliability of the data source is improved. The device that needs to obtain data requests the reliability of the collaborative verification of the devices around the data generating device through the smart contract. By comparing the data generated by the source device and the data generated by the collaborative verification device on the blockchain, it is verified whether the data has been tampered with or deceived.

[0092] The use of keys for encryption during data transmission ensures the security of data in transmission; the use of blockchain to store data, data publishers, data verifiers, data acquirers and other information ensures the security of data storage.

[0093] By introducing a reputation mechanism, each device has a reputation value, which will change during collaborative verification of data. If false data is generated, the reputation value will be deducted. If the reputation value is too low, data cannot be obtained and will be ignored in the system, thus motivating all network devices to publish real data.

[0094] Figure 4A block diagram showing some embodiments of a data providing device of the present disclosure.

[0095] like Figure 4 As shown, the data providing device 4 includes a determining unit 41 , a verifying unit 42 and a providing unit 43 .

[0096] In response to the acquisition request of the target data initiated by the requesting device, the determining unit 41 determines the data uploading device that uploaded the target data as the device to be verified, and determines other data uploading devices in the verification area where the device to be verified is located as verification devices.

[0097] In some embodiments, the verification area of ​​the data uploading device is determined according to the location of the data uploading device when it is connected, and each verification device is a data uploading device having the same verification area as the device to be verified.

[0098] The verification unit 42 determines whether the device to be verified has passed the verification according to the difference between the historical location and the current location of each verification device.

[0099] In some embodiments, the verification unit 42 obtains the location of each verification device when uploading data as its respective historical location, and determines that the device to be verified has passed the verification when the difference is less than a distance threshold.

[0100] In some embodiments, the verification unit 42 fits each historical position into a straight line, and determines the difference based on the distance from the current position of each verification device to the straight line.

[0101] In some embodiments, the verification unit 42 determines the difference based on a weighted average of the distances from the current position of each verification device to the straight line, and the weight of the distance is positively correlated with the reputation value of the verification device corresponding to the distance.

[0102] In some embodiments, the verification unit 42 determines whether the device to be verified is a malicious device based on whether the reputation value of the device to be verified is less than a reputation value threshold. If the device to be verified is not a malicious device, it determines whether the device to be verified has passed the verification based on the difference between the historical location and the current location of each verification device.

[0103] In some embodiments, the reputation value of the device to be verified increases when the device to be verified passes the verification, and decreases when the device to be verified fails the verification.

[0104] The providing unit 43 provides the target data to the requesting device when the device to be authenticated passes the authentication.

[0105] In some embodiments, the data uploaded by each data uploading device is stored in the blockchain through the first smart contract; the verification unit 42 calls the second smart contract to determine whether the device to be verified has passed the verification; the providing unit 43 obtains the target data from the blockchain and provides it to the requesting device.

[0106] In some embodiments, if the reputation value of the device to be verified is greater than or equal to a reputation value threshold, the target data is allowed to be uploaded.

[0107] In some embodiments, the providing unit 43 sends a public key and a private key to each data uploading device in response to each data uploading device accessing, and the target data is uploaded after being encrypted by the public key and signed by the private key of the device to be verified.

[0108] Figure 5 A block diagram showing some other embodiments of the apparatus for providing data of the present disclosure.

[0109] like Figure 5 As shown, the data providing device 5 of this embodiment includes: a memory 51 and a processor 52 coupled to the memory 51 , and the processor 52 is configured to execute the data providing method in any one of the embodiments of the present disclosure based on the instructions stored in the memory 51 .

[0110] The memory 51 may include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory may store, for example, an operating system, an application program, a boot loader, a database, and other programs.

[0111] Figure 6 A block diagram showing some further embodiments of the apparatus for providing data of the present disclosure.

[0112] like Figure 6 As shown, the data providing device 6 of this embodiment includes: a memory 610 and a processor 620 coupled to the memory 610 , and the processor 620 is configured to execute the data providing method in any of the aforementioned embodiments based on the instructions stored in the memory 610 .

[0113] The memory 610 may include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory may store, for example, an operating system, an application program, a boot loader, and other programs.

[0114] The data providing device 6 may also include an input / output interface 630, a network interface 640, a storage interface 650, etc. These interfaces 630, 640, 650, the memory 610, and the processor 620 may be connected, for example, via a bus 660. The input / output interface 630 provides a connection interface for input / output devices such as a display, a mouse, a keyboard, a touch screen, a microphone, and a speaker. The network interface 640 provides a connection interface for various networked devices. The storage interface 650 provides a connection interface for external storage devices such as an SD card and a USB flash drive.

[0115] Figure 7 A block diagram showing some embodiments of the data providing system of the present disclosure.

[0116] like Figure 7 As shown, the data providing system 7 includes: a data providing device 71, which is used to execute the data providing method in any of the above embodiments; and a plurality of data uploading devices 72, which are used to upload data to the data providing system.

[0117] In some embodiments, the providing system 7 also includes: a blockchain system 73, which is used to store data uploaded by multiple data uploading devices.

[0118] Those skilled in the art will appreciate that the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-usable non-transient storage media including but not limited to disk storage, CD-ROM, optical storage, etc., which contain computer-usable program code.

[0119] So far, the data providing method, data providing device, data providing system and non-volatile computer-readable storage medium according to the present disclosure have been described in detail. In order to avoid obscuring the concept of the present disclosure, some details known in the art are not described. Based on the above description, those skilled in the art can fully understand how to implement the technical solution disclosed herein.

[0120] The method and system of the present disclosure may be implemented in many ways. For example, the method and system of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless otherwise specifically stated. In addition, in some embodiments, the present disclosure may also be implemented as a program recorded in a recording medium, which includes machine-readable instructions for implementing the method according to the present disclosure. Therefore, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

[0121] Although some specific embodiments of the present disclosure have been described in detail by way of example, it should be understood by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present disclosure. It should be understood by those skilled in the art that the above embodiments may be modified without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.

Claims

1. A method for providing data, comprising: In response to a request for obtaining target data initiated by a requesting device, a data uploading device that uploaded the target data is determined as a device to be verified, and other data uploading devices in a verification area where the device to be verified is located are determined as verification devices; Determining whether the device to be verified has passed verification according to the difference between the historical position and the current position of each verification device; When the device to be verified passes the verification, the target data is provided to the requesting device, wherein: The data uploaded by each data uploading device is stored in the blockchain through the first smart contract. Determining whether the device to be verified passes the verification includes: Calling a second smart contract to determine whether the device to be verified passes the verification; Providing the target data to the requesting device comprises: The target data is obtained from the blockchain and provided to the requesting device.

2. The providing method according to claim 1, wherein: The verification devices are data uploading devices that have the same verification area as the device to be verified. The verification area of ​​the data uploading device is determined according to the location of the data uploading device when it is connected.

3. The providing method according to claim 1, wherein: Determining whether the device to be verified passes the verification includes: Obtaining the location of each verification device when uploading data as its respective historical location; When the difference is smaller than the distance threshold, it is determined that the device to be authenticated passes the authentication.

4. The providing method according to claim 1, wherein: Determining whether the device to be verified passes the verification includes: Fit each historical position into a straight line; The difference is determined based on the distance from the current position of each verification device to the straight line.

5. The providing method according to claim 4, wherein: Determining the difference comprises: The difference is determined based on a weighted average of distances from the current positions of the verification devices to the straight line, and the weight of the distance is positively correlated with the reputation value of the verification device corresponding to the distance.

6. The providing method according to claim 1, wherein: The determining, based on the difference between the historical position and the current position of each verification device, whether the device to be verified passes the verification includes: Determining whether the device to be verified is a malicious device according to whether the reputation value of the device to be verified is less than a reputation value threshold; In the case that the device to be verified is not a malicious device, whether the device to be verified passes the verification is determined according to the difference between the historical location and the current location of each verification device.

7. The providing method according to claim 6, wherein: The reputation value of the device to be verified increases when the device to be verified passes the verification, and decreases when the device to be verified fails the verification.

8. The providing method according to any one of claims 1 to 6, wherein: In the case that the reputation value of the device to be verified is greater than or equal to the reputation value threshold, the target data is allowed to be uploaded.

9. The providing method according to any one of claims 1 to 6, further comprising: In response to each data uploading device accessing, sending a public key and a private key to each data uploading device; in, The target data is uploaded by the device to be verified after being encrypted with a public key and signed with a private key.

10. A data providing device, comprising: a determining unit, configured to, in response to a request for obtaining target data initiated by a requesting device, determine a data uploading device that uploaded the target data as a device to be verified, and determine other data uploading devices in a verification area where the device to be verified is located as verification devices; A verification unit, configured to determine whether the device to be verified has passed the verification according to the difference between the historical position and the current position of each verification device; A providing unit is used to provide the target data to the requesting device if the device to be verified passes the verification, wherein: The data uploaded by each data uploading device is stored in the blockchain through the first smart contract; The verification unit calls a second smart contract to determine whether the device to be verified passes the verification; The providing unit obtains the target data from the blockchain and provides it to the requesting device.

11. The providing device according to claim 10, wherein: The verification area of ​​the data upload device is determined according to the location of the data upload device when it is connected. The verification devices are data uploading devices having the same verification area as the device to be verified.

12. The providing device according to claim 10, wherein: The verification unit obtains the position of each verification device when uploading data as its respective historical position, and determines that the device to be verified has passed the verification when the difference is less than a distance threshold.

13. The providing device according to claim 10, wherein: The verification unit fits each historical position into a straight line, and determines the difference according to the distance from the current position of each verification device to the straight line.

14. The providing device according to claim 13, wherein: The verification unit determines the difference based on a weighted average of distances from the current positions of the verification devices to the straight line, wherein the weight of the distance is positively correlated with the reputation value of the verification device corresponding to the distance.

15. The providing device according to claim 10, wherein: The verification unit determines whether the device to be verified is a malicious device based on whether the reputation value of the device to be verified is less than a reputation value threshold. If the device to be verified is not a malicious device, the verification unit determines whether the device to be verified passes the verification based on the difference between the historical location and the current location of each verification device.

16. The providing device according to claim 15, wherein: The reputation value of the device to be verified increases when the device to be verified passes the verification, and decreases when the device to be verified fails the verification.

17. The providing device according to any one of claims 10 to 16, wherein: In the case that the reputation value of the device to be verified is greater than or equal to the reputation value threshold, the target data is allowed to be uploaded.

18. The providing device according to any one of claims 10 to 16, wherein: The providing unit sends a public key and a private key to each data uploading device in response to the access of each data uploading device, and the target data is uploaded by the device to be verified after being encrypted by the public key and signed by the private key.

19. A data providing device, comprising: Memory; and A processor coupled to the memory, wherein the processor is configured to execute the data providing method according to any one of claims 1 to 9 based on instructions stored in the memory.

20. A non-volatile computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the method for providing data according to any one of claims 1 to 9 is implemented.

21. A data providing system, comprising: A data providing device, used to execute the data providing method according to any one of claims 1 to 9; Multiple data uploading devices are used to upload data to the data providing system.

22. The providing system according to claim 21, further comprising: The blockchain system is used to store the data uploaded by the multiple data uploading devices.

Citation Information

Patent Citations

  • Internet-of-Vehicles trust management method based on block chain

    CN111447177A

  • Data processing method and system based on block chain, processing equipment and authentication equipment

    CN111783149A