Data subscription, publishing and transmission method, system and device and storage medium

The implementation of public-key cryptography in the NC-Link protocol ensures secure data transmission by encrypting and decrypting data interactions, addressing the lack of security in existing protocols.

CN119109696APending Publication Date: 2024-12-10广东省工业边缘智能创新中心有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411398034.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

The NC-Link protocol lacks robust security measures for data integrity and confidentiality in complex industrial environments, primarily due to plain text data storage and access control based on unique identification information.

Method used

Implementing a data subscription and publishing method using public-key cryptography to encrypt and decrypt data transmissions between agents, subscribers, and publishers, ensuring that only authorized parties can access and transmit sensitive information.

Benefits of technology

Enhances data security by preventing unauthorized access and leakage, thereby improving the integrity and confidentiality of data interactions in industrial networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109696A_ABST
    Figure CN119109696A_ABST
Patent Text Reader

Abstract

The embodiment of the invention is applicable to the technical field of data transmission, and provides a data subscription, release and transmission method, system and device and a storage medium, the data subscription method is applied to an agent, and the method comprises the following steps: receiving a subscription request sent by a subscription end; the subscription request is obtained by encrypting subscription data generated by the subscription end based on a first encryption algorithm; decrypting the subscription request by using a first decryption key of the first encryption algorithm to obtain subscription data; under the condition that the published data matched with the subscription data are obtained, encrypting the published data to generate a response ciphertext; the release data is generated by the release end; and sending the response ciphertext to the subscription terminal to instruct the subscription terminal to decrypt the response ciphertext to obtain published data corresponding to the subscription request. According to the embodiment of the invention, the security of data transmission can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application belong to the technical field of data transmission, and in particular, relate to a data subscription, publishing, transmission method, system, device and storage medium. Background Art

[0002] The Industrial Internet Communication Protocol for CNC Equipment (NC-Link) is a protocol for unifying and standardizing the interaction of CNC equipment. NC-Link is used to connect CNC equipment and application systems, and transmit CNC equipment attribute data, parameters, and operation information to the application system or transmit the control information of the application system to the CNC equipment, thereby realizing information interaction. The NC-Linkk protocol adopts Json string data transmission, supports subscription and publishing data transmission methods, has the characteristics of high efficiency and ease of use, and combines the advantages of OPC UA protocol and MT-Connect protocol to solve the difficulties of MT-Connect and OPC-UA high-frequency data collection, meet the needs of millisecond-level data collection, and help realize industrial interconnection of CNC equipment (including robots, measuring instruments, sensors), heterogeneous systems with multiple CNC systems, and enterprise information software (CAX, MES, ERP, CAPP, PDM, etc.), and supports data services for intelligent applications such as industrial product traceability, production process monitoring, workshop production management, predictive analysis, and remote equipment operation and maintenance.

[0003] However, in the use of NC-Link protocol, data is still mainly stored and transmitted in plain text, and access control and interactive data are only based on the unique identification information of the object to determine whether it can be accessed in the system or network, such as data access and transmission between entities such as CNC equipment, agents, and adapters. This method cannot meet the requirements for data security in complex industrial environments, and lacks integrity and confidentiality measures for data transmitted in the network.

[0004] Therefore, how to improve the security of data interconnection based on NC-Link is an urgent problem to be solved. Summary of the invention

[0005] In view of this, the embodiments of the present application provide a data subscription, publishing, transmission method, system, device and storage medium to improve the security of data interconnection based on NC-Link.

[0006] A first aspect of an embodiment of the present application provides a data subscription method, which is applied to an agent, wherein the agent is connected to a subscriber and a publisher, and the agent stores a first public key and a first private key corresponding to each other; the subscriber stores the first public key sent by the agent; the method comprises:

[0007] Receiving a subscription request sent by the subscriber; the subscription request is obtained by the subscriber generating subscription data by encrypting the subscription request based on a first encryption algorithm;

[0008] Decrypting the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber end encrypting the first decryption key using the first public key;

[0009] When obtaining the published data matching the subscription data, encrypting the published data to generate a response ciphertext; the published data is generated by the publishing end;

[0010] The response ciphertext is sent to the subscriber to instruct the subscriber to decrypt the response ciphertext to obtain the publishing data corresponding to the subscription request.

[0011] A second aspect of an embodiment of the present application provides a data subscription method, which is applied to a subscriber, wherein the subscriber is connected to an agent, and the agent is connected to a publisher, and the agent stores a first public key and a first private key corresponding to each other; the subscriber stores the first public key sent by the agent; the method comprises:

[0012] Generate subscription data;

[0013] Encrypting the subscription data based on a first encryption algorithm to generate a subscription request;

[0014] The subscription request is sent to the proxy; the proxy is used to decrypt the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber using the first public key to encrypt the first decryption key; when publishing data matching the subscription data is obtained, the publishing data is encrypted to generate a response ciphertext; the publishing data is generated and sent by the publisher;

[0015] Receiving a response ciphertext sent by the agent;

[0016] The response ciphertext is decrypted to obtain the publishing data corresponding to the subscription data.

[0017] A third aspect of the embodiments of the present application provides a data publishing method, which is applied to an agent, wherein the agent is connected to a publishing end and a subscribing end, and the agent stores a second public key and a second private key corresponding to each other; the publishing end stores the second public key sent by the agent; the method comprises:

[0018] Receiving a publishing ciphertext sent by the publishing end; the publishing ciphertext is obtained by the publishing end encrypting the publishing data generated by the publishing end based on a second encryption algorithm;

[0019] Decrypting the published ciphertext using a second decryption key of a second encryption algorithm to obtain published data; the second decryption key is obtained by decrypting second key data based on the second private key, and the second key data is generated by encrypting the second decryption key by the publishing end using the second public key;

[0020] When the subscription data matching the published data is obtained, the published data is encrypted to generate a response ciphertext; the subscription data is generated by the subscriber;

[0021] The response ciphertext is output according to the subscription data.

[0022] A fourth aspect of the embodiments of the present application provides a data publishing method, which is applied to a publishing end, wherein the publishing end is connected to an agent, and the agent is connected to a subscriber, and the agent stores a second public key and a second private key corresponding to each other; the publishing end stores the second public key sent by the agent; the method comprises:

[0023] Generate release data;

[0024] Encrypting the release data based on a second encryption algorithm to generate a release ciphertext;

[0025] The publishing ciphertext is sent to the agent; the agent is used to decrypt the publishing ciphertext with the second decryption key of the second encryption algorithm to obtain publishing data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the publishing end by encrypting the second decryption key with the second public key; when subscription data matching the publishing data is obtained, the publishing data is encrypted to generate a response ciphertext; the subscription data is generated by the subscriber; and the response ciphertext is output according to the subscription data.

[0026] A fifth aspect of the embodiments of the present application provides a data transmission method, which is applied to a data transmission system; the data transmission system includes a proxy, and a subscriber and a publisher connected to the proxy; the method includes:

[0027] The subscriber generates subscription data;

[0028] The subscriber encrypts the subscription data based on a first encryption algorithm to generate a subscription request;

[0029] The subscriber sends the subscription request to the agent;

[0030] The agent uses a first decryption key of a first encryption algorithm to decrypt the subscription request to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber using the first public key to encrypt the first decryption key;

[0031] The publishing end generates publishing data;

[0032] The publishing end encrypts the publishing data based on a second encryption algorithm to generate a publishing ciphertext;

[0033] The publishing end sends the publishing ciphertext to the proxy;

[0034] The agent uses the second decryption key of the second encryption algorithm to decrypt the release ciphertext to obtain release data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the publisher encrypting the second decryption key using the second public key;

[0035] The agent encrypts the published data to generate a published ciphertext;

[0036] The agent distributes the publishing ciphertext to the corresponding subscription end according to the subscription data;

[0037] The subscriber decrypts the response ciphertext to obtain the publishing data corresponding to the subscription request.

[0038] A sixth aspect of the embodiments of the present application provides a data transmission system, the data transmission system comprising an agent, and a subscriber and a publisher connected to the agent;

[0039] The subscriber is used to generate subscription data;

[0040] The subscriber is used to encrypt the subscription data based on a first encryption algorithm to generate a subscription request;

[0041] The subscription end is used to send the subscription request to the proxy;

[0042] The agent is used to decrypt the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber encrypting the first decryption key using the first public key;

[0043] The publishing end is used to generate publishing data;

[0044] The publishing end is used to encrypt the publishing data based on a second encryption algorithm to generate a publishing ciphertext;

[0045] The publishing end is used to send the publishing ciphertext to the proxy;

[0046] The agent is used to decrypt the release ciphertext using the second decryption key of the second encryption algorithm to obtain release data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the publisher encrypting the second decryption key using the second public key;

[0047] The agent is used to encrypt the published data to generate a published ciphertext;

[0048] The agent is used to distribute the publishing ciphertext to the corresponding subscription end according to the subscription data;

[0049] The subscriber is used to decrypt the response ciphertext to obtain the publishing data corresponding to the subscription request.

[0050] The seventh aspect of an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method described in any one of the first, second, third, fourth, and fifth aspects above is implemented.

[0051] An eighth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of the first, second, third, fourth, and fifth aspects above is implemented.

[0052] A fifth aspect of the embodiments of the present application provides a computer program product. When the computer program product runs on a computer, the computer executes the method described in any one of the first, second, third, fourth and fifth aspects above.

[0053] Compared with the prior art, the embodiments of the present application have the following beneficial effects:

[0054] In an embodiment of the present application, the middleware set in the proxy receives a subscription request sent by the subscriber; the subscription request is obtained by the subscriber generating subscription data by encrypting it based on a first encryption algorithm; the subscription request is decrypted using the first decryption key of the first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting the first key data based on the first private key, and the first key data is generated by the subscriber encrypting the first decryption key using the first public key; when the publication data matching the subscription data is obtained, the publication data is encrypted to generate a response ciphertext; the publication data is generated by the publisher; the response ciphertext is sent to the subscriber to instruct the subscriber to decrypt the response ciphertext to obtain the publication data corresponding to the subscription request, thereby enabling the subscriber to encrypt the key of the first encryption algorithm used to encrypt the subscription data with the first public key and then send it to the middleware, so that the middleware can use the first private key to decrypt and obtain the first decryption key corresponding to the first encryption algorithm. After the middleware decrypts and obtains the first decryption key of the first confidential algorithm, it can decrypt the encrypted subscription request it receives to obtain the subscription data generated by the subscriber, thereby enabling the subscriber to transmit the encrypted subscription data to the middleware to prevent leakage of the subscription data. At the same time, the middleware decrypts the first key data through the first private key that is not transmitted to the outside to obtain the first decryption key, so that even if the first public key and the first key data are leaked, a third party cannot obtain the first decryption key, thereby ensuring the security of the first decryption key, thereby improving the security of subscription data transmission, that is, improving the security of the interaction between the subscriber and the agent. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or prior art descriptions. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0056] Figure 1 is a schematic diagram of a data subscription method provided in an embodiment of the present application;

[0057] Figure 2 This is a data subscription interaction diagram provided by an embodiment of the present application;

[0058] Figure 3 is a schematic diagram of another data subscription method provided in an embodiment of the present application;

[0059] Figure 4 It is a schematic diagram of a data publishing method provided in an embodiment of the present application;

[0060] Figure 5 This is a data publishing interaction diagram provided by an embodiment of the present application;

[0061] Figure 6 is a schematic diagram of another data publishing method provided in an embodiment of the present application;

[0062] Figure 7 is a schematic diagram of a data transmission method provided in an embodiment of the present application;

[0063] Figure 8 It is a schematic diagram of the structure of a data transmission system provided in an embodiment of the present application;

[0064] Fig. 9 It is a schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0065] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0066] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0067] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0068] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0069] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0070] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0071] The embodiment of the present application can be applied to the NC-Link structure, which includes an adapter (publishing end), an agent, and an application system (subscribing end).

[0072] The adapter (hereinafter referred to as the publishing end) is a software component or hardware device used to connect the agent and the CNC equipment, collect the attribute data, parameter data or operation data from the CNC equipment, parse and convert the format, and transmit it to the agent in a unified format, or receive the control information from the agent, convert it according to the specified CNC equipment requirements and transmit it to the corresponding CNC equipment.

[0073] The application system (hereinafter referred to as the subscriber end) is a software and hardware system that analyzes, manages and monitors the attribute data, parameter data and operation data of CNC equipment or controls CNC equipment, such as ERP and MES.

[0074] The agent (also called NC-Link agent) is a software component or hardware device used to connect the publisher and the subscriber, collect data from the publisher and distribute it to the subscriber, or receive control information from the subscriber and transmit it to the publisher. It is also called NC-Link agent.

[0075] The proxy is used to implement data interaction between the subscriber and publisher. For example, the subscriber subscribes to data from the proxy, and the publisher publishes data to the proxy. The proxy sends data to the subscriber based on the subscription.

[0076] The present application sets a middleware in the proxy to transmit the above subscription data and publishing data, so as to improve the data transmission security and data transmission efficiency in the NC-Link structure. At the same time, the middleware uses a combination of public key and private key to encrypt the data transmitted between the middleware and the subscription end and between the middleware and the publishing end, so as to further improve the data transmission security in the NC-Link structure. The technical solution of the present application is explained below through specific embodiments.

[0077] Reference Figure 1 , showing a schematic diagram of a data subscription method provided by an embodiment of the present application. The embodiment of the present application can be applied to an agent, which is connected to a subscription end and a publishing end, and stores a first public key and a first private key corresponding to each other; the subscription end stores the first public key sent by the agent.

[0078] Before the subscriber subscribes to data, the middleware of the proxy can generate a first public key and a first private key corresponding to each other, and send the first public key to the subscriber. The first private key is generated and stored by the proxy and is not sent to the subscriber.

[0079] In actual applications, if the middleware is connected to multiple subscribers, as an example, the middleware can generate corresponding first public keys for different subscribers; as another example, the middleware can generate one or more first public keys, and each first public key can be sent to one or more subscribers.

[0080] As an example, to improve the security of the first public key, the middleware may also update the first public key at a certain frequency and send the updated first public key to the corresponding subscriber.

[0081] The embodiment of the present application may specifically include the following steps:

[0082] Step 101, receiving a subscription request sent by the subscriber;

[0083] The subscription request is obtained by the subscriber end by encrypting the subscription data generated by the subscriber end based on a first encryption algorithm;

[0084] The subscription request is generated by the subscriber after the subscriber generates the subscription data by encrypting it using the first encryption algorithm.

[0085] In actual applications, subscription data may include: 1. Device address: the unique identifier of the subscriber sending the request in the network. 2. Function code: indicates the type of request, for example, reading or setting a parameter. 3. Starting address: the starting address of the requested data block. 4. Data length: the length of the requested data block. 5. CRC checksum: used to ensure the integrity and accuracy of data during transmission.

[0086] Subscription data can be generated by the subscriber in a preset manner, including but not limited to: the user performs a subscription operation on the subscriber, and the subscriber generates subscription data corresponding to the subscription operation; or, the subscriber generates corresponding subscription data according to the subscription plan (for example: generating subscription data for certain data at specified intervals), or, the subscriber generates subscription data in response to its own status (for example: machine restart, version update).

[0087] The embodiment of the present application does not limit the manner and specific process of the subscriber generating subscription data.

[0088] As an example, the first encryption algorithm is a symmetric encryption algorithm, such as: DES algorithm, IDEA algorithm, TDEA algorithm, etc.

[0089] Step 102, decrypt the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data;

[0090] The first decryption key is obtained by decrypting the first key data based on the first private key, and the first key data is generated by the subscriber end encrypting the first decryption key using the first public key;

[0091] The subscriber uses the first public key to encrypt the key of the first encryption algorithm (i.e., the first decryption key) to obtain the first key data, and sends the first key data to the middleware. The middleware uses the first private key corresponding to the first public key to decrypt the first key data to obtain the first decryption key.

[0092] The middleware uses the first decryption key to decrypt the subscription request encrypted by the first encryption algorithm to obtain the subscription data.

[0093] Step 103, when the published data matching the subscription data is obtained, the published data is encrypted to generate a response ciphertext;

[0094] Wherein, the publishing data is generated by the publishing end;

[0095] The published data is actually generated by industrial equipment such as CNC equipment. The publishing end can also be understood as including CNC equipment and adapters. Generally, adapters are deployed on the device side, and the adapter is directly associated with the agent. The publishing end is usually understood as an adapter. The adapter is responsible for the protocol conversion of each CNC device, the adapter connection agent and CNC equipment, and the conversion of the initial data format generated by each CNC device into a unified data that can be recognized by the agent, and the data is sent to the agent. The above-mentioned publishing end generates published data, which can be understood as converting the initial data generated by the CNC device and generating data that can be recognized by the agent as published data.

[0096] When the middleware receives the published data matching the subscription data generated by the publisher, the middleware encrypts the published data matching the subscription data and generates a response ciphertext to improve the security of the published data subscribed by the middleware to the subscriber.

[0097] The embodiment of the present application does not limit the order in which the middleware obtains the publication data and the subscription data. In one example, the middleware can obtain the publication data before step 101 or 102, and after receiving the subscription data, determine the publication data that matches the subscription data. In another example, after obtaining the subscription data, the middleware can send (or encrypt and send) the subscription data to the corresponding publishing end, and use the publication data returned by the publishing end for the subscription data as the publication data corresponding to the subscription data.

[0098] Step 104: Send the response ciphertext to the subscriber to instruct the subscriber to decrypt the response ciphertext to obtain the publishing data corresponding to the subscription request.

[0099] The middleware sends the encrypted response ciphertext to the subscriber, so that the subscriber can obtain the published data corresponding to the subscription data sent by it by decrypting the response ciphertext.

[0100] The embodiment of the present application does not limit the specific encryption method of the middleware to encrypt the published data to generate the response ciphertext, and only requires that the encrypted response ciphertext can be decrypted by the publisher and the published data can be read. As an example, the middleware can encrypt the published data based on the first encryption algorithm to generate the response ciphertext, so that after the publisher receives the response ciphertext, it can use the first decryption key to decrypt the response ciphertext.

[0101] In an embodiment of the present application, the middleware set in the proxy receives a subscription request sent by the subscriber; the subscription request is obtained by the subscriber generating subscription data by encrypting it based on a first encryption algorithm; the subscription request is decrypted using the first decryption key of the first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting the first key data based on the first private key, and the first key data is generated by the subscriber encrypting the first decryption key using the first public key; when the publication data matching the subscription data is obtained, the publication data is encrypted to generate a response ciphertext; the publication data is generated by the publisher; the response ciphertext is sent to the subscriber to instruct the subscriber to decrypt the response ciphertext to obtain the publication data corresponding to the subscription request, thereby enabling the subscriber to encrypt the key of the first encryption algorithm used to encrypt the subscription data with the first public key and then send it to the middleware, so that the middleware can use the first private key to decrypt and obtain the first decryption key corresponding to the first encryption algorithm. After the middleware decrypts and obtains the first decryption key of the first decryption algorithm, it can decrypt the encrypted subscription request it receives to obtain the subscription data generated by the subscriber, thereby enabling the subscriber to transmit the encrypted subscription data to the middleware to prevent leakage of the subscription data. At the same time, the middleware decrypts the first key data through the first private key that is not transmitted to the outside to obtain the first decryption key, so that even if the first public key and the first key data are leaked, a third party cannot obtain the first decryption key, thereby ensuring the security of the first decryption key, thereby improving the security of subscription data transmission, that is, improving the security of the interaction between the subscriber and the agent.

[0102] In some embodiments of the present application, after step 102, the method further includes: parsing the subscription data to obtain first characteristic information of the subscriber; performing subscription verification on the first characteristic information based on preset first verification information; when the first characteristic information passes the subscription verification, obtaining publication data corresponding to the subscription data; the subscription verification includes subscription registration status verification and subscription authorization status verification.

[0103] The proxy is provided with first verification information, in which verification information of one or more subscribers is recorded, and is used to perform subscription registration status verification and subscription authorization status verification on the subscriber that sends the subscription request.

[0104] For example: the first verification information records the identification information of the registered subscriber (for example: user identification, device identification), and authorization information (for example: data subscription permissions). The middleware can read the first characteristic information recorded in the subscription data, and match the first characteristic information with the content recorded in the first verification information. If it is determined that the first characteristic information matches the identification information of one of the registered subscribers, the registered subscriber of the subscriber is determined, and the subscription registration status verification is passed; if it is determined that the first characteristic information matches the authorization information of the registered subscriber, the authorized subscriber of the subscriber is determined, and the subscription authorization status verification is passed.

[0105] If and only if the subscriber passes the verification, the middleware determines the published data that matches the subscription data of the subscriber; if any one of the subscription registration status verification and the subscription authorization status verification fails, the processing of the subscription data is stopped, that is, steps 103-104 are not executed for the subscription data.

[0106] As an example, the first verification information is a subscriber registration table set in the agent.

[0107] Reference Figure 2 , shows a schematic diagram of a data subscription interaction provided by an embodiment of the present application, and the interaction process between the proxy and the subscriber is as follows:

[0108] Step 201: The subscriber uses a symmetric algorithm to encrypt subscription request data.

[0109] Step 202: The middleware generates a pair of keys through a public key mechanism, including: a first public key and a first private key.

[0110] Step 203: The middleware sends the public key to the subscriber.

[0111] Step 204: The subscriber encrypts the key of the symmetric algorithm with the public key and sends it to the middleware.

[0112] Step 205: The middleware uses the private key to decrypt and obtain the key of the symmetric algorithm.

[0113] Step 206: The subscriber sends the encrypted subscription request to the middleware.

[0114] Step 207: The middleware decrypts the subscription request data using the key of the symmetric algorithm.

[0115] In step 208, the middleware obtains the subscriber information from the decrypted subscription plaintext, queries the preset registration table based on the subscription information, and obtains the registration authorization status of the subscription data terminal. If it is unregistered or unauthorized, the process ends and the subscription data cannot be obtained.

[0116] Step 209: If the status is registered, the response data of the corresponding publisher is obtained according to the subscription request in plain text.

[0117] Step 210: The middleware parses the response data, obtains the response result information, and encrypts it.

[0118] Step 211, the middleware sends the result ciphertext to the subscriber, and responds to the subscription request after decryption.

[0119] Reference Figure 3 , shows a schematic diagram of another data subscription method provided by an embodiment of the present application. The embodiment of the present application can be applied to a subscriber, the subscriber is connected to an agent, the agent is connected to a publisher, the agent stores a first public key and a first private key corresponding to each other; the subscriber stores the first public key sent by the agent; the embodiment of the present application may specifically include the following steps:

[0120] Step 301, generating subscription data;

[0121] Step 302: Encrypt the subscription data based on a first encryption algorithm to generate a subscription request;

[0122] Step 303, sending the subscription request to the agent;

[0123] The proxy is used to decrypt the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber using the first public key to encrypt the first decryption key; when publishing data matching the subscription data is obtained, the publishing data is encrypted to generate a response ciphertext; the publishing data is generated and sent by the publisher;

[0124] Step 304, receiving the response ciphertext sent by the agent;

[0125] Step 305: decrypt the response ciphertext to obtain the publishing data corresponding to the subscription data.

[0126] The embodiment of the present application corresponds to the aforementioned data subscription method embodiment, so the embodiment of the present application is described relatively simply. The specific process can be referred to the aforementioned data subscription method embodiment, which will not be repeated here.

[0127] Reference Figure 4 , showing a schematic diagram of a data publishing method provided by an embodiment of the present application, the embodiment of the present application is applied to an agent, the agent is connected to a publishing end and a subscription end, the agent stores a second public key and a second private key corresponding to each other; the publishing end stores the second public key sent by the agent.

[0128] Before the publishing end subscribes to data, the middleware of the proxy can generate a second public key and a second private key corresponding to each other, and send the second public key to the publishing end. The second private key is generated and stored by the proxy, and is not sent to the publishing end.

[0129] In actual applications, if the middleware is connected to multiple publishing ends, as an example, the middleware can generate corresponding second public keys for different publishing ends; as another example, the middleware can generate one or more second public keys, and each second public key can be sent to one or more publishing ends.

[0130] As an example, to improve the security of the second public key, the middleware may also update the second public key at a certain frequency and send the updated second public key to the corresponding publishing end.

[0131] The embodiment of the present application may specifically include the following steps:

[0132] Step 401, receiving the publishing ciphertext sent by the publishing end;

[0133] The publishing ciphertext is obtained by encrypting the publishing data generated by the publishing end based on the second encryption algorithm;

[0134] The publishing ciphertext is generated by the publishing end after it generates the publishing data by encrypting it using the second encryption algorithm.

[0135] The publishing data can be generated by the publishing end in a preset manner, including but not limited to: the publishing end generates the publishing data according to preset generation rules (for example, pre-specified information to be published, publishing data generation frequency, etc.); or, the publishing end generates the publishing data corresponding to the subscription data after receiving the subscription data.

[0136] The embodiment of the present application does not limit the manner and specific process of the publishing end generating the publishing data.

[0137] As an example, the second encryption algorithm is a symmetric encryption algorithm, such as: DES algorithm, IDEA algorithm, TDEA algorithm, etc.

[0138] Step 402, using a second decryption key of a second encryption algorithm to decrypt the release ciphertext to obtain release data;

[0139] The second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the issuing end encrypting the second decryption key using the second public key;

[0140] The publishing end uses the second public key to encrypt the key of the second encryption algorithm (i.e., the second decryption key) to obtain second key data, and sends the second key data to the middleware. The middleware uses the second private key corresponding to the second public key to decrypt the second key data to obtain the second decryption key.

[0141] The middleware uses the second decryption key to decrypt the reading request encrypted by the second encryption algorithm to obtain the publishing data.

[0142] It should be noted that the first encryption algorithm and the second encryption algorithm can be the same encryption algorithm, that is, the publisher and the subscriber use the same encryption algorithm to encrypt their output data (subscription data, publication data), so that the middleware only needs to maintain one decryption key to decrypt the subscription request and the publication ciphertext, or, the first encryption algorithm is different from the second encryption algorithm, the middleware uses the first decryption key to decrypt the subscription request, and uses a second decryption key different from the first decryption key to decrypt the publication ciphertext.

[0143] Step 403, when the subscription data matching the published data is obtained, the published data is encrypted to generate a response ciphertext;

[0144] Wherein, the subscription data is generated by the subscription end;

[0145] When the middleware receives subscription data matching the published data generated by the publisher, the middleware encrypts the published data matching the subscription data and generates a published ciphertext to improve the security of the published data subscribed by the middleware when it returns it to the publisher.

[0146] The embodiment of the present application does not limit the order between the middleware obtaining the published data and the subscription data. In one example, the middleware can obtain the published data before obtaining the subscription data, and store the published data. After receiving the subscription data, it determines the received published data corresponding to the subscription data, and encrypts it to generate a response ciphertext; in another example, after obtaining the subscription data, the middleware sends the subscription data to the corresponding publishing end, so that the publishing end generates a corresponding publishing ciphertext for the subscription data and sends it to the middleware. The middleware obtains the publishing data matching the subscription data by decrypting the publishing ciphertext, and encrypts the publishing data to generate a response ciphertext.

[0147] Step 404: output the response ciphertext according to the subscription data.

[0148] The middleware sends the published ciphertext to the subscriber that sends the subscription data that matches it, so as to complete the response to the subscription request sent by the subscriber.

[0149] The subscriber that sends the subscription data matching the response ciphertext is determined as the target subscriber, and the response ciphertext is sent to the target subscriber.

[0150] In an embodiment of the present application, the middleware set in the proxy receives the publishing ciphertext sent by the publishing end; the publishing ciphertext is obtained by the publishing end encrypting the publishing data generated by the publishing end based on the second encryption algorithm; the publishing ciphertext is decrypted using the second decryption key of the second encryption algorithm to obtain the publishing data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the publishing end encrypting the second decryption key using the second public key; when the subscription data matching the publishing data is obtained, the publishing data is encrypted to generate a response ciphertext; the subscription data is generated by the subscriber; the response ciphertext is output based on the subscription data, so that the publishing end encrypts the key of the second encryption algorithm used to encrypt the publishing data with the second public key and sends it to the middleware, so that the middleware can use the second private key to decrypt and obtain the second decryption key corresponding to the second encryption algorithm. After the middleware decrypts and obtains the second decryption key of the second decryption algorithm, it can decrypt the encrypted publishing ciphertext it receives to obtain the publishing data generated by the publishing end, thereby enabling the publishing end to transmit the encrypted publishing data to the middleware to prevent the publishing data from being leaked. At the same time, the middleware decrypts the second key data through the second private key that is not transmitted to the outside to obtain the second decryption key, so that even if the second public key and the second key data are leaked, a third party cannot obtain the second decryption key, thereby ensuring the security of the second decryption key, thereby improving the security of the publishing data transmission, that is, improving the security of the interaction between the publishing end and the agent.

[0151] In some optional embodiments of the present application, after step 402, the embodiments of the present application also include: parsing the published data to obtain second characteristic information of the publishing end; performing a publication verification on the second characteristic information based on preset second verification information; if the second characteristic information passes the verification, storing the published data; the publication verification includes a publication registration status verification and a publication authorization verification.

[0152] The proxy is provided with second verification information, in which verification information of one or more publishing terminals is recorded, and is used to perform publishing registration status verification and publishing authorization status verification on the publishing terminal that sends the publishing ciphertext.

[0153] For example, the second verification information records the identification information of the registered publisher (e.g., device identification) and authorization information (e.g., data publishing authority). The middleware can read the second characteristic information recorded in the published data, and match the second characteristic information with the content recorded in the second verification information. If it is determined that the second characteristic information matches the identification information of one of the registered publishers, the publisher is determined to be a registered publisher and passes the publishing registration status verification; if it is determined that the second characteristic information matches the authorization information of the registered publisher, the publisher is determined to be an authorized publisher and passes the publishing authorization status verification.

[0154] If and only if the publishing end passes the verification, the middleware determines the publishing data that matches the publishing data of the publishing end; if any one of the publishing registration status verification and the publishing authorization status verification fails, the processing of the publishing data is stopped, that is, steps 403-404 are not executed for the publishing data.

[0155] As an example, the second verification information is a publishing end registry set in the agent.

[0156] Reference Figure 5 , shows a schematic diagram of data publishing interaction provided by an embodiment of the present application, and the interaction process between the agent and the publisher is as follows:

[0157] Step 501: The publishing end uses a symmetric algorithm to encrypt the published data.

[0158] Step 502: The middleware generates a pair of keys, a second public key and a second private key, through a public key mechanism.

[0159] Step 503: The middleware sends the public key to the data publishing end.

[0160] Step 504: The publisher encrypts the key of the symmetric algorithm with the public key and sends it to the middleware.

[0161] Step 505: The middleware uses the private key to decrypt and obtain the key of the symmetric algorithm.

[0162] Step 506: The publishing end then sends the encrypted publishing data (publishing ciphertext) to the middleware.

[0163] Step 507: The middleware uses the key of the symmetric algorithm to decrypt the published ciphertext.

[0164] Step 508, the middleware obtains the publisher information from the decrypted publishing data, queries the preset registration table based on the publishing information, obtains the registration and authorization status of the publishing data terminal, and ends the process if it is unregistered or unauthorized.

[0165] Step 509: If the user is in a registered and authorized state, the data is distributed and published according to the subscription request.

[0166] Reference Figure 6 , shows a schematic diagram of another data publishing method provided by an embodiment of the present application, the embodiment of the present application is applied to a publishing end, the publishing end is connected to an agent, the agent is connected to a subscriber, the agent stores a second public key and a second private key corresponding to each other; the publishing end stores the second public key sent by the agent; the embodiment of the present application may specifically include the following steps:

[0167] Step 601, generating publishing data;

[0168] Step 602, encrypting the release data based on a second encryption algorithm to generate a release ciphertext;

[0169] Step 603, sending the published ciphertext to the agent;

[0170] The agent is used to decrypt the published ciphertext using the second decryption key of the second encryption algorithm to obtain the published data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the publisher using the second public key to encrypt the second decryption key; when subscription data matching the published data is obtained, the published data is encrypted to generate a response ciphertext; the subscription data is generated by the subscriber; and the response ciphertext is output based on the subscription data.

[0171] The embodiments of the present application correspond to the aforementioned data publishing method embodiments, so the embodiments of the present application are described relatively simply. The specific process can be referred to the aforementioned data publishing method embodiments, which will not be repeated here.

[0172] The embodiment of the present application also discloses a middleware structure, so that the agent can simultaneously implement the above-mentioned data subscription method embodiment and data publishing method embodiment. The middleware structure includes:

[0173] The request forwarding module is used to send the decrypted subscription request to the publisher and obtain the response data published by the publisher based on the decrypted subscription request.

[0174] The data receiving module is used to receive access data from the data subscriber or publisher.

[0175] The data sending module is used to send plaintext or ciphertext data to the applicant.

[0176] The integrity verification module is used to receive integrity verification requests, use the corresponding private key to perform signature verification and decryption after receiving the ciphertext data, and perform fingerprint extraction and fingerprint comparison. It returns the data integrity verification result to the applicant.

[0177] The key application module is used to generate / apply for public and private keys. It establishes an identity and a public and private key pair for the applicant (publisher or subscriber) according to preset rules.

[0178] The data encryption module is used to encrypt the original text using a national or commercial encryption algorithm and return the ciphertext after encryption.

[0179] The data decryption module is used to decrypt data and return the plain text after decryption.

[0180] Reference Figure 7 , shows a schematic diagram of a data transmission method provided by an embodiment of the present application, and the embodiment of the present application can be applied to a data transmission system; the data transmission system includes an agent, and a subscriber and a publisher connected to the agent; the method includes:

[0181] Step 701, the subscriber generates subscription data;

[0182] Step 702: the subscriber encrypts the subscription data based on a first encryption algorithm to generate a subscription request;

[0183] Step 703, the subscriber sends the subscription request to the proxy;

[0184] Step 704, the agent uses a first decryption key of a first encryption algorithm to decrypt the subscription request to obtain subscription data;

[0185] The first decryption key is obtained by decrypting the first key data based on the first private key, and the first key data is generated by the subscriber end encrypting the first decryption key using the first public key;

[0186] Step 705, the publishing end generates publishing data;

[0187] Step 706, the publishing end encrypts the publishing data based on a second encryption algorithm to generate a publishing ciphertext;

[0188] Step 707, the publishing end sends the publishing ciphertext to the proxy;

[0189] Step 708, the agent uses a second decryption key of a second encryption algorithm to decrypt the release ciphertext to obtain release data;

[0190] The second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the issuing end encrypting the second decryption key using the second public key;

[0191] Step 709, the agent encrypts the published data to generate a published ciphertext;

[0192] Step 710, the agent distributes the publishing ciphertext to the corresponding subscriber according to the subscription data;

[0193] Step 711: The subscriber decrypts the response ciphertext to obtain the publishing data corresponding to the subscription request.

[0194] The embodiment of the present application can realize that the subscriber end encrypts the key of the first encryption algorithm used to encrypt the subscription data with the first public key and then sends it to the middleware, so that the middleware can use the first private key to decrypt and obtain the first decryption key corresponding to the first encryption algorithm. After the middleware decrypts and obtains the first decryption key of the first decryption algorithm, it can decrypt the encrypted subscription request received by it to obtain the subscription data generated by the subscriber end, so that the subscriber end transmits the encrypted subscription data to the middleware to prevent the subscription data from being leaked. At the same time, the middleware decrypts the first key data through the first private key that is not transmitted to the outside to obtain the first decryption key, so that even if the first public key and the first key data are leaked, the third party cannot obtain the first decryption key, which ensures the security of the first decryption key, thereby improving the security of the transmission of subscription data, that is, improving the security of the interaction between the subscriber end and the agent. And, the publisher end encrypts the key of the second encryption algorithm used to encrypt the published data with the second public key and then sends it to the middleware, so that the middleware can use the second private key to decrypt and obtain the second decryption key corresponding to the second encryption algorithm. After the middleware decrypts and obtains the second decryption key of the second decryption algorithm, it can decrypt the encrypted publishing ciphertext it receives to obtain the publishing data generated by the publishing end, thereby enabling the publishing end to transmit the encrypted publishing data to the middleware to prevent the publishing data from being leaked. At the same time, the middleware decrypts the second key data through the second private key that is not transmitted to the outside to obtain the second decryption key, so that even if the second public key and the second key data are leaked, a third party cannot obtain the second decryption key, thereby ensuring the security of the second decryption key, thereby improving the security of the publishing data transmission, that is, improving the security of the interaction between the publishing end and the agent.

[0195] Since the embodiment of the present application includes the interaction process between the agent and the subscriber (the process of a data subscription method embodiment as described above), and the interaction process between the agent and the publisher (the process of a data publishing method embodiment as described above), the relevant interaction process can refer to the aforementioned data subscription method embodiment and data publishing method embodiment, and the embodiment of the present application will not be repeated.

[0196] It should be noted that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0197] Reference Figure 8 , showing a schematic diagram of a network transmission system provided in an embodiment of the present application, the data transmission system includes an agent 801, and a subscriber end 802 and a publisher end 803 connected to the agent;

[0198] The subscription end 802 is used to generate subscription data;

[0199] The subscription end 802 is used to encrypt the subscription data based on a first encryption algorithm to generate a subscription request;

[0200] The subscription end 802 is used to send the subscription request to the agent 801;

[0201] The agent 801 is used to decrypt the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber 802 encrypting the first decryption key using the first public key;

[0202] The publishing terminal 803 is used to generate publishing data;

[0203] The publishing terminal 803 is used to encrypt the publishing data based on a second encryption algorithm to generate a publishing ciphertext;

[0204] The publishing terminal 803 is used to send the publishing ciphertext to the agent 801;

[0205] The agent 801 is used to decrypt the release ciphertext using the second decryption key of the second encryption algorithm to obtain release data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the release end 803 by encrypting the second decryption key using the second public key;

[0206] The agent 801 is used to encrypt the published data and generate a published ciphertext;

[0207] The agent 801 is used to distribute the publishing ciphertext to the corresponding subscription end 802 according to the subscription data;

[0208] The subscriber 802 is used to decrypt the response ciphertext to obtain the publishing data corresponding to the subscription request.

[0209] An embodiment of the present application provides a data transmission system, and by using the system, each step in the aforementioned data transmission method embodiment can be implemented.

[0210] As for the data transmission system embodiment, since it is basically similar to the data transmission method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment part.

[0211] Reference Fig. 9 , shows a schematic diagram of an electronic device provided by an embodiment of the present application. Fig. 9 As shown, the electronic device 900 in the embodiment of the present application includes: a processor 910, a memory 920, and a computer program 921 stored in the memory 920 and executable on the processor 910. When the processor 910 executes the computer program 921, the steps of the above-mentioned data subscription method embodiment, data publishing method embodiment, or data transmission method embodiment are implemented.

[0212] The embodiment of the present application also discloses a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps of the above-mentioned data subscription method embodiment, data publishing method embodiment, or data transmission method embodiment.

[0213] The embodiment of the present application also discloses a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the steps of the above-mentioned data subscription method embodiment, data publishing method embodiment, or data transmission method embodiment.

[0214] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application is described in detail with reference to the above-mentioned embodiments, a person skilled in the art should understand that the technical solutions described in the above-mentioned embodiments can still be modified, or some of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A data subscription method, characterized in that: Applied to an agent, the agent is connected to a subscriber and a publisher, and the agent stores a first public key and a first private key corresponding to each other; The subscriber stores the first public key sent by the agent; the method comprises: Receiving a subscription request sent by the subscriber; the subscription request is obtained by the subscriber generating subscription data by encrypting the subscription request based on a first encryption algorithm; Decrypting the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber end encrypting the first decryption key using the first public key; When obtaining the published data matching the subscription data, encrypting the published data to generate a response ciphertext; the published data is generated by the publishing end; The response ciphertext is sent to the subscriber to instruct the subscriber to decrypt the response ciphertext to obtain the publishing data corresponding to the subscription request.

2. The method according to claim 1, characterized in that After decrypting the subscription request using the first decryption key of the first encryption algorithm to obtain the subscription data, the method further includes: Parsing the subscription data to obtain first characteristic information of the subscriber; Performing a subscription verification on the first characteristic information according to preset first verification information; When the first characteristic information passes the subscription verification, obtaining the publishing data corresponding to the subscription data; The subscription verification includes a subscription registration status verification and a subscription authorization status verification.

3. A data subscription method, characterized in that: Applied to a subscriber, the subscriber is connected to an agent, the agent is connected to a publisher, and the agent stores a first public key and a first private key corresponding to each other; The subscriber stores the first public key sent by the agent; the method comprises: Generate subscription data; Encrypting the subscription data based on a first encryption algorithm to generate a subscription request; The subscription request is sent to the proxy; the proxy is used to decrypt the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber using the first public key to encrypt the first decryption key; when publishing data matching the subscription data is obtained, the publishing data is encrypted to generate a response ciphertext; the publishing data is generated and sent by the publisher; Receiving a response ciphertext sent by the agent; The response ciphertext is decrypted to obtain the publishing data corresponding to the subscription data.

4. A data publishing method, characterized in that: Applied to an agent, the agent is connected to a publishing end and a subscribing end, and the agent stores a second public key and a second private key corresponding to each other; The issuing end stores the second public key sent by the agent; the method comprises: Receiving a publishing ciphertext sent by the publishing end; the publishing ciphertext is obtained by the publishing end encrypting the publishing data generated by the publishing end based on a second encryption algorithm; Decrypting the published ciphertext using a second decryption key of a second encryption algorithm to obtain published data; the second decryption key is obtained by decrypting second key data based on the second private key, and the second key data is generated by encrypting the second decryption key by the publishing end using the second public key; When the subscription data matching the published data is obtained, the published data is encrypted to generate a response ciphertext; the subscription data is generated by the subscriber; The response ciphertext is output according to the subscription data.

5. The method according to claim 4, characterized in that After decrypting the release ciphertext using the second decryption key of the second encryption algorithm to obtain the release data, the method further includes: Parsing the published data to obtain second characteristic information of the publishing end; Performing release verification on the second characteristic information according to preset second verification information; If the second characteristic information passes the verification, storing the published data; The publishing verification includes publishing registration status verification and publishing authorization verification.

6. A data publishing method, characterized in that: Applied to a publishing end, the publishing end is connected to an agent, the agent is connected to a subscription end, and the agent stores a second public key and a second private key corresponding to each other; The issuing end stores the second public key sent by the agent; the method comprises: Generate release data; Encrypting the release data based on a second encryption algorithm to generate a release ciphertext; The publishing ciphertext is sent to the agent; the agent is used to decrypt the publishing ciphertext with the second decryption key of the second encryption algorithm to obtain publishing data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the publishing end by encrypting the second decryption key with the second public key; when subscription data matching the publishing data is obtained, the publishing data is encrypted to generate a response ciphertext; the subscription data is generated by the subscriber; and the response ciphertext is output according to the subscription data.

7. A data transmission method, characterized in that: Applied to data transmission systems; The data transmission system includes an agent, and a subscriber and a publisher connected to the agent; the method includes: The subscriber generates subscription data; The subscriber encrypts the subscription data based on a first encryption algorithm to generate a subscription request; The subscriber sends the subscription request to the agent; The agent uses a first decryption key of a first encryption algorithm to decrypt the subscription request to obtain subscription data; the first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber using the first public key to encrypt the first decryption key; The publishing end generates publishing data; The publishing end encrypts the publishing data based on a second encryption algorithm to generate a publishing ciphertext; The publishing end sends the publishing ciphertext to the proxy; The agent uses the second decryption key of the second encryption algorithm to decrypt the release ciphertext to obtain release data; the second decryption key is obtained by decrypting the second key data based on the second private key, and the second key data is generated by the publisher encrypting the second decryption key using the second public key; The agent encrypts the published data to generate a published ciphertext; The agent distributes the publishing ciphertext to the corresponding subscription end according to the subscription data; The subscriber decrypts the response ciphertext to obtain the publishing data corresponding to the subscription request.

8. A data transmission system, characterized in that: The data transmission system includes an agent, and a subscriber and a publisher connected to the agent; The subscriber is used to generate subscription data; The subscriber is used to encrypt the subscription data based on a first encryption algorithm to generate a subscription request; The subscription end is used to send the subscription request to the proxy; The agent is used to decrypt the subscription request using a first decryption key of a first encryption algorithm to obtain subscription data; The first decryption key is obtained by decrypting first key data based on the first private key, and the first key data is generated by the subscriber end encrypting the first decryption key using the first public key; The publishing end is used to generate publishing data; The publishing end is used to encrypt the publishing data based on a second encryption algorithm to generate a publishing ciphertext; The publishing end is used to send the publishing ciphertext to the proxy; The agent is used to decrypt the release ciphertext using a second decryption key of a second encryption algorithm to obtain release data; The second decryption key is obtained by decrypting second key data based on the second private key, and the second key data is generated by the issuing end encrypting the second decryption key using the second public key; The agent is used to encrypt the published data to generate a published ciphertext; The agent is used to distribute the publishing ciphertext to the corresponding subscription end according to the subscription data; The subscriber is used to decrypt the response ciphertext to obtain the publishing data corresponding to the subscription request.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.