Data transmission methods, devices, electronic equipment, storage media and software products
By combining edge servers and blockchain networks, secure data transmission between IoT devices within the same system and between different systems is achieved, solving the problem of low efficiency in cross-domain data transmission in the IoT and reducing computing costs and time latency.
Patent Information
- Application Number
- CN202411915827.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-12-24
AI Technical Summary
Existing IoT data transmission methods cannot achieve efficient cross-domain data transmission. Centralized authentication methods have high computational costs and cause time delays, which cannot meet the cross-domain identity authentication needs of IoT devices.
Edge servers are used for identity authentication and data transmission of devices within the same system. Connections between devices in different systems are established through a blockchain network, and encryption keys are generated for data transmission, thereby achieving decentralized identity verification.
It reduces data transmission overhead, improves usability and efficiency, reduces time latency, and enables efficient cross-domain data transmission.
Smart Images

Figure CN119854306B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication technology, specifically relating to a data transmission method, apparatus, electronic device, storage medium, and program product. Background Technology
[0002] With the rapid increase in the number of IoT devices, a large amount of sensitive IoT data is being generated and transmitted via the internet. Despite the increasing application of IoT in various fields, IoT security still faces challenges.
[0003] When transmitting large amounts of sensitive IoT data over the internet, expensive encryption primitives or blockchain-based centralized authentication methods are typically used to verify the identity of the data recipient to ensure the security of the data. However, this approach incurs significant overhead in terms of IoT computing, storage, and energy consumption. Furthermore, centralized authentication methods have been proven unsuitable for cross-domain authentication. When a large number of IoT authentication requests are transmitted to the blockchain, in addition to the high computational cost of the consensus mechanism, additional time delays occur, preventing efficient cross-domain data transmission in current IoT technologies. Summary of the Invention
[0004] This application provides a data transmission method, apparatus, electronic device, storage medium, and program product that can solve the problem that current Internet of Things (IoT) data transmission cannot achieve high-efficiency cross-domain data transmission.
[0005] In a first aspect, embodiments of this application provide a data transmission method, the method comprising: when a first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes authentication, sending a notification message to the first IoT device to enable the first IoT device to transmit data to the second IoT device, wherein the first IoT device and the second IoT device are connected to the same first edge server; when the first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes authentication, establishing a connection between the first IoT device and the third IoT device through a blockchain network to enable the first IoT device to transmit data to the third IoT device, wherein the first IoT device is connected to the first edge server and the third IoT device is connected to a second edge server.
[0006] Secondly, embodiments of this application provide a data transmission method, which includes: upon receiving a notification message or connecting to a third IoT device, generating an encryption key based on a central password of a first edge server, first identity hidden information, and first identity authentication process parameters; the notification message being sent by the first edge server when the first IoT device requests data transmission to a second IoT device in the same system and the first IoT device passes identity authentication, wherein the first IoT device and the second IoT device are connected to the same first edge server; the connection between the first IoT device and the third IoT device being established via a blockchain network when the first IoT device requests data transmission to a third IoT device in a different system and the third IoT device passes identity authentication, wherein the first IoT device is connected to the first edge server and the third IoT device is connected to the second edge server; transmitting encrypted data to the second IoT device or the third IoT device, wherein the encrypted data is obtained by encrypting data to be transmitted using the encryption key.
[0007] Thirdly, embodiments of this application provide a data transmission apparatus, comprising: a first transmission module, configured to send a notification message to the first IoT device when the first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes authentication, so that the first IoT device transmits data to the second IoT device, wherein the first IoT device and the second IoT device are connected to the same first edge server; and a second transmission module, configured to establish a connection between the first IoT device and the third IoT device through a blockchain network when the first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes authentication, so that the first IoT device transmits data to the third IoT device, wherein the first IoT device is connected to the first edge server and the third IoT device is connected to a second edge server.
[0008] Fourthly, embodiments of this application provide a data transmission apparatus, comprising: a processing module, configured to generate an encryption key based on a central password of a first edge server, first identity hiding information, and first identity authentication process parameters upon receiving a notification message or connecting to a third IoT device; the notification message being sent by the first edge server upon a first IoT device requesting data transmission to a second IoT device in the same system and successful identity authentication of the first IoT device, wherein the first IoT device and the second IoT device are connected to the same first edge server; the connection between the first IoT device and the third IoT device being established via a blockchain network upon the first IoT device requesting data transmission to a third IoT device in a different system and successful identity authentication of the third IoT device, wherein the first IoT device is connected to the first edge server and the third IoT device is connected to a second edge server; and an encryption module, configured to transmit encrypted data to the second IoT device or the third IoT device, wherein the encrypted data is obtained by encrypting data to be transmitted using the encryption key.
[0009] Fifthly, embodiments of this application provide an electronic device including a processor, a memory, and a program or instructions stored in the memory and executable on the processor. When the program or instructions are executed by the processor, they implement the steps of the method described in the first aspect or the steps of the method described in the second aspect.
[0010] In a sixth aspect, embodiments of this application provide a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect or the steps of the method described in the second aspect.
[0011] In a seventh aspect, embodiments of this application provide a computer program product, the computer program product including a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions, which, when executed by a computer, cause the computer to perform the steps of the method described in the first aspect or to implement the steps of the method described in the second aspect.
[0012] In this embodiment, when a first IoT device requests data to a second IoT device on the same system and the first IoT device passes authentication, a notification message is sent to the first IoT device to enable the first IoT device to transmit data to the second IoT device. The first IoT device and the second IoT device are connected to the same first edge server. When the first IoT device requests data to a third IoT device on a different system and the first IoT device passes authentication, a connection is established between the first IoT device and the third IoT device through a blockchain network to enable the first IoT device to transmit data to the third IoT device. The first IoT device is connected to the first edge server, and the third IoT device is connected to a second edge server. This approach reduces data transmission overhead, improves usability, reduces time latency, and increases data transmission efficiency. Attached Figure Description
[0013] Figure 1 This is a flowchart illustrating a data transmission method provided in an embodiment of this application;
[0014] Figure 2 This is a schematic diagram of a data transmission architecture provided in an embodiment of this application;
[0015] Figure 3 This is a flowchart illustrating another data transmission method provided in an embodiment of this application;
[0016] Figure 4 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application;
[0017] Figure 5 This is a schematic diagram of another data transmission device provided in an embodiment of this application;
[0018] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0019] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0020] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0021] The data transmission method, apparatus, electronic device, storage medium, and program product provided in this application will be described in detail below with reference to the accompanying drawings and through specific embodiments and application scenarios.
[0022] Figure 1 This application illustrates a data transmission method according to an embodiment of the present application, which can be executed by a first edge server. In other words, the method can be executed by software or hardware installed on the first edge server, and includes the following steps:
[0023] Step 102: If the first IoT device requests to transmit data to the second IoT device in the same system and the first IoT device passes the authentication, a notification message is sent to the first IoT device.
[0024] Specifically, when a first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes authentication, a notification message is sent to the first IoT device so that the first IoT device can transmit data to the second IoT device. The first IoT device and the second IoT device are connected to the same first edge server.
[0025] Figure 2 This paper presents the overall architecture for a data transmission and authentication model for IoT devices. The core idea is to apply an edge authentication layer to IoT devices communicating with the network edge to transmit and store sensitive data generated by these devices. Then, a link is established between the edge network and the blockchain architecture (i.e., the authentication layer of the distributed blockchain in the diagram) to ensure decentralized authentication, enabling verified IoT devices and the edge network to securely connect and transmit data. The model proposed in this paper enables secure data transmission between IoT devices belonging to the same system or between devices from different systems, thus providing secure scalability for heterogeneous IoT systems.
[0026] like Figure 2As shown, the architecture includes two authentication layers: an edge-based authentication layer and a distributed blockchain-based authentication layer.
[0027] In this system, IoT devices in different systems (such as smart city systems, smart home systems, etc.) can continuously sense and generate data, and send this data to edge servers or other IoT devices. Edge servers can manage all requests from IoT devices and authenticate their identities.
[0028] Secondly, IoT devices can be grouped according to system type, such as smart cities, smart homes, healthcare, and industrial transportation. In the edge-based authentication layer, each IoT system and its devices are associated with the nearest edge server and are only allowed to transmit data with other devices registered and authenticated by the same edge server. For example, assuming that in a smart home system, the nearest edge server to the IoT devices in that system is edge server A, then IoT device 1 registered under edge server A is only allowed to transmit data with other IoT devices registered under edge server A.
[0029] Furthermore, considering that in some cases it may be necessary to enable communication between devices belonging to different systems to provide various services and share information, for example, IoT device 1 registered under edge server A wants to transmit data with IoT device 2 registered under edge server B, this solution also establishes a blockchain-based layer to enable secure communication between devices from other systems in different edge networks.
[0030] Step 104: If the first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes identity authentication, a connection is established between the first IoT device and the third IoT device through a blockchain network.
[0031] Specifically, when a first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes identity authentication, a connection between the first IoT device and the third IoT device can be established through a blockchain network to enable the first IoT device to transmit data to the third IoT device. The first IoT device is connected to a first edge server, and the third IoT device is connected to a second edge server.
[0032] In this embodiment, when a first IoT device requests data to a second IoT device on the same system and the first IoT device passes authentication, a notification message is sent to the first IoT device to enable it to transmit data to the second IoT device. The first IoT device and the second IoT device are connected to the same first edge server. When the first IoT device requests data to a third IoT device on a different system and the first IoT device passes authentication, a connection is established between the first IoT device and the third IoT device via a blockchain network to enable the first IoT device to transmit data to the third IoT device. The first IoT device is connected to the first edge server, and the third IoT device is connected to a second edge server. This approach reduces data transmission overhead, improves usability, reduces time latency, and achieves highly efficient cross-domain data transmission.
[0033] In one implementation, before sending the first notification message to the first IoT device, the method further includes: determining the first registration information and the first data transmission password of the first IoT device based on the first identity hiding information and the first public key hiding information sent by the first IoT device; and sending the first registration information and the first data transmission password to the first IoT device so that the first IoT device can register on the first edge server based on the first registration information and the first data transmission password.
[0034] When a first IoT device needs to transmit data, it can send a data transmission request to the nearest first edge server. The nearest first edge server refers to the first edge server that the first IoT device has pre-registered with and is geographically closest to the first IoT device. The data transmission request includes data recipient information, information about the first IoT device to which the data is to be transmitted, and identification information of the data to be transmitted.
[0035] For example, taking the first IoT device in a smart home system as an example, assuming that the first IoT device in the system needs to transmit data, it can send a data transmission request to the first edge server 1 (which is the closest edge server to the first IoT device in the smart home system). Before sending data transmission to the first edge server, the IoT system and the first IoT device in the IoT system need to register with the nearest first edge server. The registration process is as follows:
[0036] (1) The first IoT device determines its identity. and public key Then, randomly generate a random number 'a', and based on the identity identifier... Public key Using a random number 'a', the registration parameters (including first identity hidden information and first public key hidden information) of the first IoT device are calculated as follows:
[0037]
[0038]
[0039] in, Hidden information identifying the primary identity of the first IoT device; The first public key information that identifies the first IoT device is hidden.
[0040] (2) The first IoT device sends the calculated first identity hidden information and first public key hidden information to the first edge server closest to it.
[0041] (3) After receiving the first identity hiding information and the first public key hiding information sent by the first IoT device, the first edge server will simultaneously calculate the authentication credentials for the first IoT device, including the first registration information of the first IoT device and the first data transmission password of the first IoT device issued by the first edge server to the first IoT device.
[0042] The first registration information issued by the first edge server to the first IoT device can be calculated in the following way:
[0043]
[0044] In the above calculation formula, This indicates that the first edge server issues the first registration information to the first IoT device i; Represents a predefined deterministic function; This indicates the first registration parameter selected by the first edge server, and its preset range is... .
[0045] Secondly, the first data transmission password of the first IoT device can be calculated in the following way:
[0046]
[0047] Wherein, V represents the first data transmission password of the first IoT device; This represents the central key of the first edge server; This indicates a bitwise XOR operation; c represents the second registration parameter selected by the first edge server for the first IoT device i.
[0048] (4) After calculating the first registration information and the first data transmission password of the first IoT device i, the first edge server can store the first registration information and the first data transmission password, and simultaneously send the first registration information and the first data transmission password to the first IoT device i.
[0049] (5) After receiving the first registration information and the first data transmission password returned by the first edge server, the first IoT device can use the pre-determined identity identifier. Public key The data transmission value of the first IoT device is calculated according to the following calculation method, and the data transmission value, the first registration information, and the first data transmission password are stored in the storage space of the first IoT device.
[0050] in, This represents the data transmission value of the first IoT device.
[0051] (6) The first IoT device calculates the data transmission value of the first IoT device. Then, the data transmission value can be transferred. The first data transmission password V of the first IoT device, and the first registration information issued by the first edge server to the first IoT device i. The first registration parameters selected by the first edge server Preset deterministic function The data is stored in the storage space, thereby enabling the registration of the first IoT device.
[0052] In one implementation, after sending the first registration information and the first data transmission password to the first IoT device, the method further includes: determining second registration information based on the second identity hiding information and the second public key hiding information sent by the first IoT device; and allowing the first IoT device to log in to the first edge server if the second registration information is the same as the first registration information.
[0053] After the first IoT device registers with the first edge server, if it wants to transmit data, it can first execute the following first edge server login process to log in to the first edge server, and then send a data transmission request to the first edge server:
[0054] (1) The first IoT device uses pre-stored identity information Public key Calculate the random number 'a' and the hidden information of the second identity identifier according to the following calculation method. Second public key hides information And based on the calculated information, send a login request to the first edge server:
[0055]
[0056]
[0057]
[0058] (2) After receiving the login request sent by the first IoT device, the first edge server obtains the second identity hidden information from the login request. Second public key hides information And hide information based on the obtained second identity identifier. Second public key hides information The second registration information of the first IoT device is calculated using the following method. :
[0059]
[0060] (3) The first edge server calculates the second registration information. With pre-stored second registration information Compare and judge Is it equal to If the value is equal to the value, the first IoT device is allowed to log in to the first edge server; otherwise, the first edge server rejects the login request of the first IoT device.
[0061] In one implementation, after allowing the first IoT device to log in to the first edge server, the method further includes: obtaining a first identity authentication parameter and an identity identifier sent by the first IoT device; if the first timestamp sent by the first IoT device is valid, determining a second identity authentication parameter based on the identity identifier and preset dynamic parameters; and if the first identity authentication parameter and the second identity authentication parameter are the same, authenticating the first IoT device.
[0062] If the first edge server allows the first IoT device to log in, it can send login permission information to the first IoT device. After receiving the login permission information, the first IoT device can further calculate the authentication process parameters as follows:
[0063]
[0064]
[0065]
[0066]
[0067] in, , , , All represent identity authentication test parameters, and P represents a preset prime number; Indicates preset dynamic parameters. Parameters not used for primary identity authentication.
[0068] The first IoT device sends a data transmission request to the first edge server, and carries the following in the data transmission request: , , The identity identifier (MID) and the timestamp (T1) are also included.
[0069] The first edge server determines, based on the data transmission request of the first IoT device, whether the first IoT device needs to transmit data with other first IoT devices in other systems, transmit data with other first IoT devices in the same system, or simply store data with the first edge server.
[0070] In this embodiment of the application, it is assumed that the first IoT device i belongs to the smart city system and the first edge server closest to the first IoT device i is edge server 1. In this case, if the first IoT device i wants to transmit data with the second IoT device in the smart city system, it is considered that the first IoT device wants to transmit data with the second IoT device in the same system.
[0071] Alternatively, continuing with the previous example, suppose the first IoT device i in the smart city system wants to transmit data with the third IoT device j in the smart home system. In this case, it is considered that the first IoT device is transmitting data with the third IoT device in another system.
[0072] When it is determined that the first IoT device is transmitting data with a second IoT device within the same system, the first edge server can perform the following steps to determine whether to allow the first IoT device to transmit data:
[0073] (1) Check the validity of timestamp T1;
[0074] The edge server can obtain the first timestamp T1 and the current timestamp T2 sent by the first IoT device, and then determine... Check if it is true. If it is true, then timestamp T1 is considered valid.
[0075] (2) When the timestamp T1 is valid, the second identity authentication parameters of the first IoT device can be calculated according to the preset dynamic parameters in the following calculation method. :
[0076]
[0077] (3) Based on the calculation Determine the second identity authentication parameters The first authentication parameter carried in the transmission request If the records are the same, the transmission is approved. Otherwise, the transmission request is rejected.
[0078] In this embodiment of the application, based on the content described above... It can be deduced that:
[0079]
[0080] Therefore, the result calculated in step (2) above It can also be expressed as the following calculation formula:
[0081]
[0082] Secondly, due to Therefore, based on the above, x can also be expressed as follows:
[0083]
[0084] Based on the above, if the identity information of the first IoT device is correct, then the following can be deduced:
[0085] , that is .
[0086] Therefore, it can be seen that the calculation obtained in the embodiments of this application can be determined. With the transmission request carried The first edge server determines whether to agree to the data transmission by checking if the two devices are identical. After agreeing to the data transmission from the IoT device, the first edge server further identifies the second IoT device and sends a data transmission message to it. Upon receiving the message, the second IoT device sends an authentication request to the first edge server for authentication. After successful authentication, it receives the data from the first IoT device.
[0087] In this embodiment, since the first IoT device and the second IoT device are devices under the same system and they are connected to the same nearest edge server, the authentication method is the same as that of the aforementioned IoT devices, and will not be repeated here.
[0088] In one implementation, after the first IoT device has been successfully authenticated, the method further includes: if the first IoT device requests to transmit data to the first edge server for storage, receiving and storing the data sent by the first IoT device.
[0089] Once it is determined that the first IoT device is only storing data with the first edge server, the first edge server can send a notification message to the first IoT device agreeing to the data transmission. After receiving the notification message, the first IoT device can transmit a large amount of sensitive data it senses and generates to the first edge server for storage.
[0090] In one implementation, establishing a connection between the first IoT device and the third IoT device via a blockchain network includes: authenticating the second edge server if it is determined through the blockchain network that the third IoT device and the second edge server are on the blockchain; and establishing a connection between the first IoT device and the third IoT device if the authentication of the second edge server is successful, so that the first IoT device can transmit data to the third IoT device.
[0091] Specifically, when it is determined that the first IoT device is to transmit data with a third IoT device in another system, the IoT device can be authenticated in a decentralized manner through a blockchain network to determine whether the IoT device is allowed to transmit data.
[0092] When two IoT devices from different systems on different edge servers transmit data, the two IoT devices are first authenticated by a blockchain-based network. If the third IoT device and the second edge server are confirmed to be on the blockchain, the second edge server is then authenticated. If the second edge server's authentication is successful, a connection is established between the first and third IoT devices to enable the first IoT device to transmit data to the third IoT device.
[0093] In one implementation, the authentication of the second edge server includes: receiving a third authentication parameter and a second timestamp sent by the second edge server; calculating a fourth authentication parameter based on the second timestamp; verifying the third timestamp of the second edge server if the third authentication parameter and the fourth authentication parameter are the same; and authenticating the second edge server if the verification of the third timestamp is successful.
[0094] like Figure 2 As shown, assuming the first IoT device to send data belongs to a smart home system and is under the first edge server 1, and wants to transmit data with a third IoT device (i.e., the receiver), where the third IoT device 3 belongs to a healthcare system and is under the second edge server 3 (this is just an example to illustrate that the first IoT device and the third IoT device are not in the same system), the following steps can be performed:
[0095] (1) The first IoT device to send data first sends an association request to the first edge server to connect to the first edge server.
[0096] (2) After receiving the connection request of the first IoT device to send data, the first edge server can authenticate the first IoT device. After successful authentication, the first edge server can send the transaction of the IoT device to the blockchain transaction chain based on the authentication certificate of the first IoT device, the identity information of the third IoT device, and the identification information of the second edge server to which the third IoT device belongs.
[0097] (3) The blockchain transaction chain verifies the identity information of the third IoT device and the identification information of the second edge server to which the third IoT device belongs, and determines whether these two pieces of information are on the chain. If they are, the next step is continued; otherwise, the transaction ends with an error.
[0098] (4) Blockchain network nodes send an authentication request to the second edge server to authenticate the edge server.
[0099] In this embodiment of the application, the second edge server needs to register on the blockchain before the blockchain node authenticates the identity of the second edge server.
[0100] The second edge server sends a registration request to the blockchain network node through a secure channel to obtain a legitimate identity. The blockchain network node then returns... The data is then sent to the second edge server. The second edge server receives the data returned by the blockchain node. Then, select calculate Finally, the second edge server stores HC. , and In its local database. Among them, This represents the password for the second edge server.
[0101] Second edge server computing Then send an authentication request message. , MID, second timestamp To the node in the blockchain network. Where Q represents the preset verification parameters.
[0102] After receiving the authentication request from the second edge server, the blockchain node uses the fourth authentication parameter. As a parameter, enable authentication for the edge server attempting to establish a secure, encrypted connection with the blockchain node. Once an authentication request is received from the second edge server, check... To determine whether this is true, the specific steps are as follows:
[0103] In this embodiment of the application, because Therefore, when the following conditions are met:
[0104]
[0105]
[0106] Then, it can be deduced that .
[0107] At this time, if Then you can get .
[0108] if Once established, the blockchain node further verifies the third timestamp of the second edge server. Is it effective?
[0109] In one implementation, the authentication of the second edge server includes: if the third timestamp sent by the second edge server is determined to be valid through the blockchain network, calculating a fifth authentication parameter based on the third timestamp and the server password of the second edge server; calculating a sixth authentication parameter based on the central password of the second edge server, the server password, and the third timestamp; and, if the fifth authentication parameter is the same as the sixth authentication parameter, authenticating the second edge server is successful.
[0110] Specifically, it can be based on the third timestamp of the second edge server. The fifth identity authentication parameters are constructed according to the following calculation method. :
[0111]
[0112] If the information provided by the edge server is correct, then it satisfies the requirement. and Therefore, we can obtain:
[0113]
[0114]
[0115]
[0116] in, This represents the sixth authentication parameter. If the blockchain node determines... Once L3 is achieved, an authentication success message can be sent to the second edge server, which will then synchronize this message to the first edge server. The second and first edge servers then assist in establishing a connection between the first and third IoT devices. After the connection is established, the third IoT device sends a session message to the first IoT device.
[0117] After receiving a response message from the third IoT device, the first IoT device will check the timestamp of the session message sent by the third IoT device. Then the first IoT device constructs verification parameters and check If they are not equal, data transmission is aborted.
[0118]
[0119] when and Then we can get:
[0120]
[0121]
[0122]
[0123] In one implementation, after sending the first registration information and the first data transmission password to the first IoT device, the method further includes: calculating update parameters based on the public key and identity identifier sent by the first IoT device, and sending the update parameters to the first IoT device, so that the first IoT device calculates third identity identifier hiding information and third public key hiding information based on the new public key, the identity identifier, and the update parameters, and receives the third identity identifier hiding information and the third public key hiding information sent by the first IoT device; and updating the first data transmission password and the first registration information based on the third identity identifier hiding information and the third public key hiding information.
[0124] Considering that IoT devices in different systems cannot be managed by the same edge server, the security risks are greater. Therefore, to avoid this problem, in this embodiment of the application, after the first IoT device has transmitted data to the second or third IoT device, the password can be updated, as detailed below:
[0125] First, the first IoT device sends its current identity ID, public key Pw, and new password to the nearest first edge server. ;
[0126] Then, the first edge server returns updated parameters to the first IoT device. , The calculation method is as follows:
[0127]
[0128] The first IoT device received After that, it can be based on Calculate the hidden information of the third-party identity as follows Hiding information with a third public key The calculated parameters are then sent to the first edge server.
[0129]
[0130]
[0131] After receiving the above information, the first edge server updates the first data transmission password V of the first IoT device and the first registration information of the IoT device issued by the first edge server to the first IoT device in the following manner. :
[0132]
[0133]
[0134] in, and These represent the updated first data transmission password and the first registration information, respectively.
[0135] This application applies an edge authentication layer to IoT devices communicating with the network edge to authenticate these devices for transmitting and storing sensitive data generated by them. The distributed blockchain-based authentication layer provides a decentralized authentication method, enabling verified IoT devices and edge networks to securely connect to other IoT devices in different IoT systems and securely transmit data. This method enables cross-domain authentication and data transmission.
[0136] Figure 3 This application provides another data transmission method, which can be executed by a first Internet of Things (IoT) device. The method includes the following steps:
[0137] Step 302: Upon receiving a notification message or connecting to a third IoT device, generate an encryption key based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters.
[0138] Specifically, when a first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes authentication, the first edge server sends a notification message to the first IoT device. The connection between the first IoT device and the third IoT device is established through a blockchain network when the first IoT device requests to transmit data to a third IoT device in a different system and the third IoT device passes authentication. The first IoT device connects to the first edge server, and the third IoT device connects to the second edge server. The first IoT device generates an encryption key based on the central password of the first edge server, the first identity identifier hidden information, and the first identity authentication process parameters.
[0139] Step 304: Transmit the encrypted data to the second IoT device or the third IoT device.
[0140] Specifically, after obtaining the encryption key, the data to be transmitted can be encrypted using the encryption key, and then the encrypted data can be sent to a second or third IoT device to ensure the security of data transmission.
[0141] In one implementation, before generating the encryption key based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters, the method further includes: sending the first identity hidden information and the first public key hidden information, calculated based on the identity and public key of the first IoT device, to the first edge server; receiving the first registration information and the first data transmission password of the first IoT device sent by the first edge server, wherein the first registration information and the first data transmission password are generated by the first edge server based on the first identity hidden information and the first public key hidden information; and registering on the first edge server using the data transmission value, the first registration information, and the first data transmission password, wherein the data transmission value is generated based on the identity and public key.
[0142] Before sending data to the first edge server, the Internet of Things (IoT) system and the first IoT device within the IoT system need to register with the nearest first edge server. The registration process is as follows:
[0143] (1) The first IoT device determines its identity. and public key Then, randomly generate a random number 'a', and based on the identity identifier... Public key Using a random number 'a', the registration parameters (including first identity hidden information and first public key hidden information) of the first IoT device are calculated as follows:
[0144]
[0145]
[0146] in, Hidden information identifying the primary identity of the first IoT device; The first public key information that identifies the first IoT device is hidden.
[0147] (2) The first IoT device sends the calculated first identity hidden information and first public key hidden information to the first edge server closest to it.
[0148] (3) After receiving the first identity hiding information and the first public key hiding information sent by the first IoT device, the first edge server will simultaneously calculate the authentication credentials for the first IoT device, including the first registration information of the first IoT device and the first data transmission password of the first IoT device issued by the first edge server to the first IoT device.
[0149] The first registration information issued by the first edge server to the first IoT device can be calculated in the following way:
[0150]
[0151] In the above calculation formula, This indicates that the first edge server issues the first registration information to the first IoT device i; Represents a predefined deterministic function; This indicates the first registration parameter selected by the first edge server, and its preset range is... .
[0152] Secondly, the first data transmission password of the first IoT device can be calculated in the following way:
[0153]
[0154] Wherein, V represents the first data transmission password of the first IoT device; This represents the central key of the first edge server; This indicates a bitwise XOR operation; c represents the second registration parameter selected by the first edge server for the first IoT device i.
[0155] (4) After calculating the first registration information and the first data transmission password of the first IoT device i, the first edge server can store the first registration information and the first data transmission password, and simultaneously send the first registration information and the first data transmission password to the first IoT device i.
[0156] (5) After receiving the first registration information and the first data transmission password returned by the first edge server, the first IoT device can use the pre-determined identity identifier. Public key The data transmission value of the first IoT device is calculated according to the following calculation method, and the data transmission value, the first registration information, and the first data transmission password are stored in the storage space of the first IoT device.
[0157]
[0158] in, This represents the data transmission value of the first IoT device.
[0159] (6) The first IoT device calculates the data transmission value of the first IoT device. Then, the data transmission value can be transferred. The first data transmission password V of the first IoT device, and the first registration information issued by the first edge server to the first IoT device i. The first registration parameters selected by the first edge server Preset deterministic function The data is stored in the storage space, thereby enabling the registration of the first IoT device.
[0160] In one implementation, after transmitting the encrypted data to the second IoT device or the third IoT device, the method further includes: receiving update parameters sent by the first edge server, the update parameters being calculated by the first edge server based on the public key and identity identifier sent by the first IoT device; calculating third identity identifier hiding information and third public key hiding information based on the new public key, the identity identifier, and the update parameters; and sending the third identity identifier hiding information and the third public key hiding information to the first edge server, so that the first edge server updates the first data transmission password and the first registration information based on the third identity identifier hiding information and the third public key hiding information.
[0161] Specifically, considering that IoT devices under different systems cannot be managed by the same edge server, the security risks are greater. Therefore, to avoid this problem, in this embodiment of the application, after the first IoT device has transmitted data to the second or third IoT device, the password can be updated, as detailed below:
[0162] First, the first IoT device sends its current identity ID, public key Pw, and new password to the nearest first edge server. ;
[0163] Then, the first edge server returns updated parameters to the first IoT device. , The calculation method is as follows:
[0164]
[0165] The first IoT device received After that, it can be based on Calculate the hidden information of the third-party identity as follows Hiding information with a third public key The calculated parameters are then sent to the first edge server.
[0166]
[0167]
[0168] After receiving the above information, the first edge server updates the first data transmission password V of the first IoT device and the first registration information of the IoT device issued by the first edge server to the first IoT device in the following manner. :
[0169]
[0170]
[0171] in, and These represent the updated first data transmission password and the first registration information, respectively.
[0172] This application applies an edge authentication layer to IoT devices communicating with the network edge to authenticate these devices for transmitting and storing sensitive data generated by them. The distributed blockchain-based authentication layer provides a decentralized authentication method, enabling verified IoT devices and edge networks to securely connect to other IoT devices in different IoT systems and securely transmit data. This method enables cross-domain authentication and data transmission.
[0173] It should be noted that the data transmission method provided in this application embodiment can be executed by a data transmission device or a control module within that data transmission device for executing the data transmission method. This application embodiment uses the execution of the data transmission method by a data transmission device as an example to illustrate the data transmission device provided in this application embodiment.
[0174] Figure 4 This is a schematic diagram of the structure of a data transmission device according to an embodiment of this application. Figure 4 As shown, the data transmission device 400 includes: a first transmission module 410 and a second transmission module 420.
[0175] The first transmission module 410 is configured to send a notification message to the first IoT device when the first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes authentication, so that the first IoT device transmits data to the second IoT device. The first IoT device and the second IoT device are connected to the same first edge server. The second transmission module 420 is configured to establish a connection between the first IoT device and the third IoT device through a blockchain network when the first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes authentication, so that the first IoT device transmits data to the third IoT device. The first IoT device is connected to the first edge server, and the third IoT device is connected to the second edge server.
[0176] In one implementation, the first transmission module 410 is configured to determine the first registration information and the first data transmission password of the first IoT device based on the first identity hiding information and the first public key hiding information sent by the first IoT device; and send the first registration information and the first data transmission password to the first IoT device so that the first IoT device can register on the first edge server based on the first registration information and the first data transmission password.
[0177] In one implementation, the first transmission module 410 is configured to determine second registration information based on the second identity hiding information and the second public key hiding information sent by the first IoT device; and allow the first IoT device to log in to the first edge server if the second registration information is the same as the first registration information.
[0178] In one implementation, the first transmission module 410 is configured to acquire the first identity authentication parameters and identity identifier sent by the first IoT device; if the first timestamp sent by the first IoT device is valid, determine the second identity authentication parameters according to the identity identifier and preset dynamic parameters; if the first identity authentication parameters and the second identity authentication parameters are the same, authenticate the first IoT device.
[0179] In one implementation, the first transmission module 410 is configured to receive and store data sent by the first IoT device when the first IoT device requests to transmit data to the first edge server for storage.
[0180] In one implementation, the second transmission module 420 is configured to authenticate the second edge server if the third IoT device and the second edge server are determined to be on the blockchain through the blockchain network; and to establish a connection between the first IoT device and the third IoT device if the authentication of the second edge server is successful, so that the first IoT device can transmit data to the third IoT device.
[0181] In one implementation, the second transmission module 420 is configured to receive a third authentication parameter and a second timestamp sent by the second edge server; calculate a fourth authentication parameter based on the second timestamp; and verify the third timestamp of the second edge server if the third authentication parameter and the fourth authentication parameter are the same.
[0182] In one implementation, the second transmission module 410 is configured to, when the third timestamp sent by the second edge server is determined to be valid through the blockchain network, calculate a fifth identity authentication parameter based on the third timestamp and the server password of the second edge server; calculate a sixth identity authentication parameter based on the central password of the second edge server, the server password, and the third timestamp; and, if the fifth identity authentication parameter is the same as the sixth identity authentication parameter, authenticate the second edge server.
[0183] In one implementation, the second input module 42 is configured to calculate update parameters based on the public key and identity identifier sent by the first IoT device, and send the update parameters to the first IoT device, so that the first IoT device calculates third identity identifier hiding information and third public key hiding information based on the new public key, the identity identifier, and the update parameters; receive the third identity identifier hiding information and the third public key hiding information sent by the first IoT device; and update the first data transmission password and the first registration information based on the third identity identifier hiding information and the third public key hiding information.
[0184] The data transmission device in this application embodiment can be a device, or a component, integrated circuit, or chip in a terminal. The device can be a mobile electronic device or a non-mobile electronic device. For example, mobile electronic devices can be mobile phones, tablets, laptops, PDAs, in-vehicle electronic devices, wearable devices, ultra-mobile personal computers (UMPCs), netbooks, or personal digital assistants (PDAs), etc., while non-mobile electronic devices can be servers, network-attached storage (NAS), personal computers (PCs), televisions (TVs), ATMs, or self-service machines, etc. This application embodiment does not impose specific limitations.
[0185] The data transmission device in this application embodiment can be a device with an operating system. This operating system can be Android, iOS, or other possible operating systems; this application embodiment does not specifically limit the specific operating system used.
[0186] The data transmission device provided in this application embodiment can achieve... Figures 1 to 2 The various processes implemented in the method implementation examples will not be described again here to avoid repetition.
[0187] Figure 5 This is a schematic diagram of the structure of a data transmission device according to an embodiment of this application. Figure 5 As shown, the data transmission device 500 includes a processing module 510 and an encryption module 520.
[0188] Processing module 510 is configured to generate an encryption key based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters when receiving a notification message or connecting to a third IoT device. The notification message is sent by the first edge server when the first IoT device requests data transmission to a second IoT device in the same system and the first IoT device passes identity authentication. The first IoT device and the second IoT device are connected to the same first edge server. The connection between the first IoT device and the third IoT device is established via a blockchain network when the first IoT device requests data transmission to a third IoT device in a different system and the third IoT device passes identity authentication. In this case, the first IoT device is connected to the first edge server, and the third IoT device is connected to the second edge server.
[0189] The encryption module 520 is used to transmit encrypted data to the second IoT device or the third IoT device, wherein the encrypted data is obtained by encrypting the data to be transmitted using the encryption key.
[0190] In one implementation, the generation module 510 is further configured to send first identity hiding information and first public key hiding information calculated based on the identity identifier and public key of the first IoT device to the first edge server; receive first registration information and first data transmission password of the first IoT device sent by the first edge server, wherein the first registration information and the first data transmission password are generated by the first edge server based on the first identity hiding information and the first public key hiding information; and register on the first edge server using the data transmission value, the first registration information, and the first data transmission password, wherein the data transmission value is generated based on the identity identifier and public key.
[0191] In one implementation, the processing module 510 is further configured to receive update parameters sent by the first edge server, the update parameters being calculated by the first edge server based on the public key and identity identifier sent by the first IoT device; calculate third identity identifier hiding information and third public key hiding information based on the new public key, the identity identifier, and the update parameters; and send the third identity identifier hiding information and the third public key hiding information to the first edge server, so that the first edge server updates the first data transmission password and the first registration information based on the third identity identifier hiding information and the third public key hiding information.
[0192] The data transmission device in this application embodiment can be a device, or a component, integrated circuit, or chip in a terminal. The device can be a mobile electronic device or a non-mobile electronic device. For example, mobile electronic devices can be mobile phones, tablets, laptops, PDAs, in-vehicle electronic devices, wearable devices, ultra-mobile personal computers (UMPCs), netbooks, or personal digital assistants (PDAs), etc., while non-mobile electronic devices can be servers, network-attached storage (NAS), personal computers (PCs), televisions (TVs), ATMs, or self-service machines, etc. This application embodiment does not impose specific limitations.
[0193] The data transmission device in this application embodiment can be a device with an operating system. This operating system can be Android, iOS, or other possible operating systems; this application embodiment does not specifically limit the specific operating system used.
[0194] The data transmission device provided in this application embodiment can achieve... Figure 3 The various processes implemented in the method implementation examples will not be described again here to avoid repetition.
[0195] like Figure 6 As shown in the illustration, this application embodiment also provides an electronic device 600, including a processor 601 and a memory 602. The memory 602 stores a program or instructions that can run on the processor 601. When the processor 601 executes the program or instructions, it implements the following: when a first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes authentication, a notification message is sent to the first IoT device to enable the first IoT device to transmit data to the second IoT device. The first IoT device and the second IoT device are connected to the same first edge server. When the first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes authentication, a connection is established between the first IoT device and the third IoT device through a blockchain network to enable the first IoT device to transmit data to the third IoT device. The first IoT device is connected to the first edge server, and the third IoT device is connected to a second edge server.
[0196] In one implementation, before sending the first notification message to the first IoT device, the first registration information and the first data transmission password of the first IoT device are determined based on the first identity hiding information and the first public key hiding information sent by the first IoT device; the first registration information and the first data transmission password are sent to the first IoT device so that the first IoT device registers on the first edge server based on the first registration information and the first data transmission password.
[0197] In one implementation, after sending the first registration information and the first data transmission password to the first IoT device, second registration information is determined based on the second identity hiding information and the second public key hiding information sent by the first IoT device; if the second registration information is the same as the first registration information, the first IoT device is allowed to log in to the first edge server.
[0198] In one implementation, after allowing the first IoT device to log in to the first edge server, the system obtains the first authentication parameters and identity identifier sent by the first IoT device; if the first timestamp sent by the first IoT device is valid, the system determines the second authentication parameters based on the identity identifier and preset dynamic parameters; if the first authentication parameters and the second authentication parameters are the same, the system performs authentication on the first IoT device.
[0199] In one implementation, after the first IoT device has been successfully authenticated, if the first IoT device requests to transmit data to the first edge server for storage, the data sent by the first IoT device is received and stored.
[0200] In one implementation, if the third IoT device and the second edge server are determined to be on the blockchain through the blockchain network, the second edge server is authenticated; if the authentication of the second edge server is successful, a connection is established between the first IoT device and the third IoT device, so that the first IoT device can transmit data to the third IoT device.
[0201] In one implementation, a third authentication parameter and a second timestamp sent by the second edge server are received; a fourth authentication parameter is calculated based on the second timestamp; and if the third authentication parameter and the fourth authentication parameter are the same, the third timestamp of the second edge server is verified.
[0202] In one implementation, if the third timestamp sent by the second edge server is determined to be valid through the blockchain network, a fifth identity authentication parameter is calculated based on the third timestamp and the server password of the second edge server; a sixth identity authentication parameter is calculated based on the central password of the second edge server, the server password, and the third timestamp; if the fifth identity authentication parameter is the same as the sixth identity authentication parameter, the identity authentication of the second edge server is successful.
[0203] In one implementation, after sending the first registration information and the first data transmission password to the first IoT device, an update parameter is calculated based on the public key and identity identifier sent by the first IoT device, and the update parameter is sent to the first IoT device, so that the first IoT device calculates third identity identifier hiding information and third public key hiding information based on the new public key, the identity identifier, and the update parameter; receives the third identity identifier hiding information and the third public key hiding information sent by the first IoT device; and updates the first data transmission password and the first registration information based on the third identity identifier hiding information and the third public key hiding information.
[0204] Alternatively, when the program or instruction is executed by processor 601, it implements the following: upon receiving a notification message or connecting to a third IoT device, it generates an encryption key based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters. The notification message is sent by the first edge server when the first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes identity authentication. The first IoT device and the second IoT device are connected to the same first edge server. The connection between the first IoT device and the third IoT device is established through a blockchain network when the first IoT device requests to transmit data to a third IoT device in a different system and the third IoT device passes identity authentication. The first IoT device is connected to the first edge server, and the third IoT device is connected to the second edge server. Encrypted data is transmitted to the second IoT device or the third IoT device, and the encrypted data is obtained by encrypting the data to be transmitted using the encryption key.
[0205] In one implementation, before generating the encryption key based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters, the first identity hidden information and the first public key hidden information are calculated based on the identity and public key of the first IoT device and sent to the first edge server. The first edge server receives the first registration information and the first data transmission password of the first IoT device, which are generated by the first edge server based on the first identity hidden information and the first public key hidden information. Registration is performed on the first edge server using the data transmission value, the first registration information, and the first data transmission password, where the data transmission value is generated based on the identity and public key.
[0206] In one implementation, after transmitting the encrypted data to the second or third IoT device, an update parameter is received from the first edge server. The update parameter is calculated by the first edge server based on the public key and identity identifier sent by the first IoT device. Third identity identifier hiding information and third public key hiding information are calculated based on the new public key, the identity identifier, and the update parameter. The third identity identifier hiding information and the third public key hiding information are then sent to the first edge server, so that the first edge server updates the first data transmission password and the first registration information based on the third identity identifier hiding information and the third public key hiding information.
[0207] The specific execution steps can be found in the various steps of the above data transmission method embodiments, and can achieve the same technical effect. To avoid repetition, they will not be repeated here.
[0208] It should be noted that the electronic devices in the embodiments of this application include: servers, terminals, or other devices besides terminals.
[0209] The above electronic device structure does not constitute a limitation on the electronic device. An electronic device may include more or fewer components than illustrated, or combine certain components, or arrange them differently. For example, an input unit may include a Graphics Processing Unit (GPU) and a microphone, and a display unit may use a liquid crystal display (LCD), organic light-emitting diode (OLED), or other similar display panels. User input units include at least one of a touch panel and other input devices. A touch panel is also called a touchscreen. Other input devices may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be elaborated further here.
[0210] Memory can be used to store software programs and various data. Memory can primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area can store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, memory can include volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (Synchlink DRAM, SLDRAM), and direct memory bus RAM (DRRAM).
[0211] The processor may include one or more processing units; optionally, the processor integrates an application processor and a modem processor, wherein the application processor mainly handles operations related to the operating system, user interface, and applications, while the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into the processor.
[0212] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described data transmission method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0213] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as ROM, RAM, magnetic disk, or optical disk.
[0214] This application also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions, which, when executed by a computer, cause the computer to perform various processes of the above-described data transmission method embodiments and achieve the same technical effect. To avoid repetition, these will not be described again here.
[0215] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0216] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better 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 computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0217] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A data transmission method, characterized in that, Applied to the first edge server, including: If a first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes authentication, a notification message is sent to the first IoT device to enable the first IoT device to transmit data to the second IoT device. The first IoT device and the second IoT device are connected to the same first edge server. When the first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes identity authentication, a connection is established between the first IoT device and the third IoT device through a blockchain network, so that the first IoT device can transmit data to the third IoT device. The first IoT device is connected to the first edge server, and the third IoT device is connected to the second edge server.
2. The method according to claim 1, characterized in that, Before sending the notification message to the first IoT device, the method further includes: Based on the first identity hiding information and the first public key hiding information sent by the first IoT device, the first registration information and the first data transmission password of the first IoT device are determined. The first registration information and the first data transmission password are sent to the first IoT device so that the first IoT device can register on the first edge server based on the first registration information and the first data transmission password.
3. The method according to claim 2, characterized in that, After sending the first registration information and the first data transmission password to the first IoT device, the method further includes: The second registration information is determined based on the second identity hiding information and the second public key hiding information sent by the first IoT device; If the second registration information is the same as the first registration information, the first IoT device is allowed to log in to the first edge server.
4. The method according to claim 3, characterized in that, After allowing the first IoT device to log in to the first edge server, the method further includes: Obtain the first authentication parameters and identity identifier sent by the first IoT device; If the first timestamp sent by the first IoT device is valid, the second identity authentication parameters are determined based on the identity identifier and the preset dynamic parameters. If the first authentication parameter and the second authentication parameter are the same, the first IoT device passes authentication.
5. The method according to claim 4, characterized in that, After the first IoT device has been successfully authenticated, the process further includes: When the first IoT device requests to transmit data to the first edge server for storage, the server receives and stores the data sent by the first IoT device.
6. The method according to claim 1, characterized in that, The step of establishing a connection between the first IoT device and the third IoT device through a blockchain network includes: In the case where the third IoT device and the second edge server are identified on the blockchain through the blockchain network, the second edge server is authenticated. If the identity authentication of the second edge server is successful, a connection is established between the first IoT device and the third IoT device, so that the first IoT device can transmit data to the third IoT device.
7. The method according to claim 1, characterized in that, The authentication of the second edge server includes: Receive the third authentication parameter and the second timestamp sent by the second edge server; Calculate the fourth identity authentication parameter based on the second timestamp; If the third authentication parameter and the fourth authentication parameter are the same, the third timestamp of the second edge server is verified. If the verification of the third timestamp is successful, the identity authentication of the second edge server is passed.
8. The method according to claim 6, characterized in that, The authentication of the second edge server includes: If the third timestamp sent by the second edge server is determined to be valid through the blockchain network, the fifth identity authentication parameter is calculated based on the third timestamp and the server password of the second edge server. Calculate the sixth identity authentication parameter based on the central password of the second edge server, the server password, and the third timestamp; If the fifth authentication parameter is the same as the sixth authentication parameter, the second edge server passes authentication.
9. The method according to claim 2, characterized in that, After sending the first registration information and the first data transmission password to the first IoT device, the method further includes: The update parameters are calculated based on the public key and identity identifier sent by the first IoT device, and the update parameters are sent to the first IoT device so that the first IoT device can calculate the third identity identifier hiding information and the third public key hiding information based on the new public key, the identity identifier and the update parameters.
10. The method according to claim 9, characterized in that, After sending the updated parameters to the first IoT device, the method further includes: Receive the third identity hiding information and the third public key hiding information sent by the first IoT device; The first data transmission password and the first registration information are updated based on the third identity hidden information and the third public key hidden information.
11. A data transmission method, characterized in that, Applied to a first Internet of Things device, characterized in that it includes: Upon receiving a notification message or connecting to a third IoT device, an encryption key is generated based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters. The notification message is sent by the first edge server when the first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes identity authentication. The first IoT device and the second IoT device are connected to the same first edge server. The connection between the first IoT device and the third IoT device is established via a blockchain network when the first IoT device requests to transmit data to a third IoT device in a different system and the third IoT device passes identity authentication. Specifically, the first IoT device is connected to the first edge server, and the third IoT device is connected to the second edge server. The encrypted data is transmitted to the second IoT device or the third IoT device, wherein the encrypted data is obtained by encrypting the data to be transmitted using the encryption key.
12. The method according to claim 11, characterized in that, Before generating the encryption key based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters, the method further includes: The first identity hidden information and the first public key hidden information are calculated based on the identity identifier and public key of the first Internet of Things and sent to the first edge server; The first edge server receives the first registration information and the first data transmission password of the first IoT device, wherein the first registration information and the first data transmission password are generated by the first edge server based on the first identity hiding information and the first public key hiding information. Registration is performed on the first edge server using data transmission value, first registration information, and first data transmission password, wherein the data transmission value is generated based on the identity identifier and public key.
13. The method according to claim 12, characterized in that, After transmitting the encrypted data to the second IoT device or the third IoT device, the method further includes: The device receives update parameters sent by the first edge server, the update parameters being calculated by the first edge server based on the public key and identity identifier sent by the first IoT device; Calculate the hidden information of the third identity and the hidden information of the third public key based on the new public key, the identity identifier, and the update parameters; The third identity information hiding information and the third public key information hiding information are sent to the first edge server so that the first edge server updates the first data transmission password and the first registration information according to the third identity information hiding information and the third public key information hiding information.
14. A data transmission device, characterized in that, Applied to the first edge server, including: The first transmission module is configured to send a notification message to the first IoT device when the first IoT device requests to transmit data to the second IoT device in the same system and the first IoT device passes the identity authentication, so that the first IoT device transmits data to the second IoT device, and the first IoT device and the second IoT device are connected to the same first edge server. The second transmission module is used to establish a connection between the first IoT device and the third IoT device through a blockchain network when the first IoT device requests to transmit data to a third IoT device in a different system and the first IoT device passes identity authentication, so that the first IoT device can transmit data to the third IoT device. The first IoT device is connected to the first edge server, and the third IoT device is connected to the second edge server.
15. A data transmission device, characterized in that, Applied to the first IoT device, including: The processing module is used to generate an encryption key based on the central password of the first edge server, the first identity hidden information, and the first identity authentication process parameters when receiving a notification message or connecting to a third IoT device. The notification message is sent by the first edge server when the first IoT device requests to transmit data to a second IoT device in the same system and the first IoT device passes identity authentication. The first IoT device and the second IoT device are connected to the same first edge server. The connection between the first IoT device and the third IoT device is established through a blockchain network when the first IoT device requests to transmit data to a third IoT device in a different system and the third IoT device passes identity authentication. In this case, the first IoT device is connected to the first edge server, and the third IoT device is connected to the second edge server. An encryption module is used to transmit encrypted data to the second IoT device or the third IoT device, wherein the encrypted data is obtained by encrypting the data to be transmitted using the encryption key.
16. An electronic device, characterized in that, It includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein when the program or instructions are executed by the processor, they implement the steps of the data transmission method as described in any one of claims 1-10 or the steps of the data transmission method as described in any one of claims 11-13.
17. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the data transmission method as described in any one of claims 1-10 or as described in any one of claims 11-13.
18. A computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program comprising program instructions that, when executed by a computer, cause the computer to perform the steps of the data transmission method as claimed in any one of claims 1-10 or to implement the steps of the data transmission method as claimed in any one of claims 11-13.
Citation Information
Patent Citations
Identity authentication method and system for mobile terminal equipment in Internet of Things system
CN114500049A
Cross-domain identity authentication method, system and equipment based on block chain
CN115378681A