CN115913654A - Anonymous communication method, terminal device, and computer-readable storage medium - Google Patents

Anonymous communication method, terminal device, and computer-readable storage medium Download PDF

Info

Publication number
CN115913654A
CN115913654A CN202211329500.0A CN202211329500A CN115913654A CN 115913654 A CN115913654 A CN 115913654A CN 202211329500 A CN202211329500 A CN 202211329500A CN 115913654 A CN115913654 A CN 115913654A
Authority
CN
China
Prior art keywords
network node
link
intermediate network
anonymous
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211329500.0A
Other languages
Chinese (zh)
Inventor
邱炜伟
汪小益
姚文豪
李伟
蔡亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202211329500.0A priority Critical patent/CN115913654A/en
Publication of CN115913654A publication Critical patent/CN115913654A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present application relates to the field of communications, and in particular, to an anonymous communication method, a terminal device, and a computer-readable storage medium. The method comprises the following steps: a first network node receives first anonymous information sent by a first client and acquires a list of intermediate network nodes on a preset block chain; generating a first link based on the list of intermediate network nodes; and sending the first anonymous information to the server based on the first link, and receiving a second anonymous message fed back by the server through a second network node based on a second link. The method can improve the difficulty of restoring the whole path of the first link and the second link under the attack of traffic analysis, resist the attack of traffic analysis and ensure the anonymity of communication.

Description

Anonymous communication method, terminal device, and computer-readable storage medium
Technical Field
The present application belongs to the field of communications, and in particular, to an anonymous communication method, apparatus, terminal device, and storage medium.
Background
Currently, it is desirable to use a communication system that ensures communication quality while ensuring message confidentiality and user anonymity. Confidentiality means that the content of the sent message cannot be known by others, so that the privacy of the person cannot be revealed unless confidentiality is guaranteed. Anonymity means that the identities of both communicating parties cannot be obtained from the outside world, and in most scenarios, a user does not want to expose who the user is communicating with. It is clear that a large number of more confidential online Applications (APPs), such as bitcoin transactions, etc., can only be supported with guaranteed anonymity. Thus, today people are increasingly beginning to use anonymous communication systems.
In the existing anonymous communication system, message content and routing nodes are encrypted layer by layer through an onion routing protocol, so that an intermediate routing node cannot know which server the client communicates with, but under the attack of traffic analysis, the client can be inferred to communicate with which server according to the whole network traffic analysis, and the attack of the traffic analysis cannot be resisted.
Disclosure of Invention
The embodiment of the application provides an anonymous communication method, terminal equipment and a computer readable storage medium, which can resist the attack of flow analysis and ensure the privacy confidentiality in the communication process.
In a first aspect, an embodiment of the present application provides an anonymous communication method, which is applied to a first network node connected to a first client, and the method includes:
receiving first anonymous information sent by the first client, and acquiring a list of intermediate network nodes on a preset block chain;
generating a first link based on the list of the intermediate network nodes, wherein the first link is used for indicating each intermediate network node and an information transmission opportunity corresponding to the intermediate network node when information is sent;
sending the first anonymous information to a server based on the first link, and receiving second anonymous information fed back by the server through a second network node based on a second link; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is replied;
wherein the information transmission occasion is used to indicate a point in time at which the intermediate network node transmits anonymous information.
In a possible implementation manner of the first aspect, after the generating the first link based on the list of intermediate network nodes, the method further includes:
according to the list of the intermediate network nodes, constructing a first message packet corresponding to the first anonymous information, wherein the first message packet comprises a first message header and a first message body, the first message header comprises the first link, and the first message body comprises the first anonymous information; alternatively, the first and second liquid crystal display panels may be,
after obtaining the list of intermediate network nodes on the predetermined blockchain, the method further includes:
generating the first link and the second link based on the list of intermediate network nodes;
accordingly, after generating the first link and the second link based on the list of intermediate network nodes, the method further comprises:
and constructing a second message packet corresponding to the first anonymous information according to the list of the intermediate network nodes, wherein the second message packet comprises a second message header and a second message body, the second message header comprises the first link, and the second message body comprises the first anonymous information and the second link.
In a possible implementation manner of the first aspect, the constructing a first message packet corresponding to the first anonymous information according to the list of the intermediate network nodes includes:
encrypting the first anonymous information, the node address of the intermediate network node of the first link and the information transmission opportunity based on the public key of the intermediate network node included in the first link to obtain the first message packet; alternatively, the first and second liquid crystal display panels may be,
the constructing a second message packet corresponding to the first anonymous information according to the list of the intermediate network nodes includes:
and encrypting the first anonymous information, the node address of the intermediate network node of the first link, the information transmission opportunity and the second link based on the public key of the intermediate network node included in the first link to obtain the second message packet.
In a possible implementation manner of the first aspect, the sending the first anonymous information to the server based on the first link includes:
sending the first message packet or the second message packet to an intermediate network node in the first link at a preset information sending time point;
decrypting the first message packet or the second message packet based on a private key of an intermediate network node in the first link;
correspondingly, in the decryption process, each intermediate network node decrypts the first message header or the second message header based on a private key to obtain a node address of the next intermediate network node and an information transmission time for transmitting the message sending body to the next intermediate network node;
transmitting the first message packet or the second message packet to a next intermediate network node based on the node address of the next intermediate network node and an information transmission timing at which the message body is transmitted to the next intermediate network node;
until the second network node decrypts the first message header or the second message header based on a private key, the first anonymous information in the decrypted first message body or the decrypted second message body is obtained, and the first anonymous information is sent to the server side through the second network node.
In a possible implementation manner of the first aspect, the method further includes:
when first anonymous information sent by the first client is received, anonymous information of a preset type sent by a second client is received;
sending the anonymous message of the preset type to the server based on the first link;
and when the anonymous message of the preset type is used for indicating that the server receives the anonymous message, discarding the anonymous message based on the preset type.
In a possible implementation manner of the first aspect, the method further includes:
if the sum of the time points of the first link at which the intermediate network node transmits the first anonymous information is larger than a preset first threshold value, the first anonymous information is sent to a second network node connected with the server based on the first link again, and second anonymous information fed back by the server through the second network node based on the second link is received.
In a second aspect, an embodiment of the present application provides an anonymous communication method, which is applied to a second network node connected to a server, and the method includes:
acquiring first anonymous information sent by a first client through a first network node based on a first link;
sending the first anonymous information to the server, and receiving second anonymous information fed back by the server;
feeding back the second anonymous information to the first client based on a second link;
wherein the first link and the second link are generated based on a list of intermediate network nodes on a preset blockchain; the first link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is sent; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when replying information; the information transmission opportunity is used for indicating a time point of the intermediate network node for transmitting anonymous information.
In a possible implementation manner of the second aspect, before the feeding back the second anonymity information to the first client based on the second link, the method further includes:
acquiring a list of intermediate network nodes on a preset block chain, and generating the second link based on the list of intermediate network nodes; alternatively, the first and second electrodes may be,
and acquiring the second link sent by the first client through the first network node based on the first link.
In a possible implementation manner of the second aspect, before the feeding back the second anonymity information to the first client based on the second link, the method further includes:
constructing a third message packet corresponding to the second anonymous information based on the second link, wherein the third message packet comprises a third message header and a third message body;
correspondingly, according to the second link, a third packet corresponding to the second anonymous information is constructed, including:
encrypting the node address and the information transmission opportunity of the intermediate network node of the second link based on the public key of the intermediate network node of the second link to obtain a third message header;
encrypting the third message body based on a public key of the first network node, the third message body including the second anonymous information;
accordingly, the feeding back the second anonymity information to the first client based on the second link includes:
sending the third packet to an intermediate network node of the second link;
decrypting the third packet based on a private key of an intermediate network node of the second link;
correspondingly, in the decryption process, each intermediate network node decrypts the third message header based on the private key to obtain the node address of the next intermediate network node and the information transmission time for transmitting the third message packet to the next intermediate network node;
transmitting a third packet to a next intermediate network node based on the node address of the next intermediate network node and an information transmission timing at which the third packet is transmitted to the next intermediate network node;
until the first network node decrypts the third message body based on a private key, the second anonymous information in the decrypted third message body is obtained, and the second anonymous information is sent to the client through the first network node.
In a third aspect, an embodiment of the present application provides an anonymous communication apparatus, where the apparatus includes:
the receiving module is used for receiving the first anonymous information sent by the first client and acquiring a list of intermediate network nodes on a preset block chain;
a generating module, configured to generate a first link based on the list of the intermediate network nodes, where the first link is used to indicate each of the intermediate network nodes and an information transmission opportunity corresponding to the intermediate network node when sending information;
the sending module is used for sending the first anonymous information to a server based on the first link and receiving second anonymous information fed back by the server through a second network node based on a second link; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when replying information;
wherein the information transmission occasion is used to indicate a point in time at which the intermediate network node transmits anonymous information.
In a fourth aspect, an embodiment of the present application provides an anonymous communication apparatus, including:
the system comprises an acquisition module, a first link module and a second link module, wherein the acquisition module is used for acquiring first anonymous information sent by a first client through a first network node based on a first link;
the processing module is used for sending the first anonymous information to the server and receiving second anonymous information fed back by the server;
a feedback module, configured to feed back the second anonymous information to the first client based on a second link;
wherein the first link and the second link are generated based on a list of intermediate network nodes on a preset blockchain; the first link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is sent; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is replied; the information transmission opportunity is used for indicating a time point of anonymous information transmission of the intermediate network node.
In a fifth aspect, an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor, when executing the computer program, implements the anonymous communication method according to any one of the first aspect or the second aspect.
In a sixth aspect, the present application provides a computer-readable storage medium, which stores a computer program, where the computer program is executed by a processor to implement the anonymous communication method according to the first aspect or the second aspect.
Compared with the prior art, the embodiment of the application has the beneficial effects that: in the method, a first network node receives first anonymous information sent by a first client, and obtains a list of intermediate network nodes on a preset block chain; generating a first link based on the list of intermediate network nodes; and sending first anonymous information to the server based on the first link, and receiving second anonymous information fed back by the server through the second network node based on the second link. Through the setting of the intermediate network nodes in the first link and the second link and the information transmission time corresponding to the intermediate network nodes, the identity information of the client can be hidden, the difficulty of restoring the first link and the second link under the attack of flow analysis can be improved, the attack of flow analysis can be resisted, and the anonymity of communication can be ensured; has stronger usability and practicability.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
FIG. 1 is a schematic diagram of an anonymous communication system, as provided by an embodiment of the present application;
fig. 2a is a schematic flow chart of an anonymous communication method provided by an embodiment of the present application;
fig. 2b is a diagram illustrating an example of a first link and a second link provided in an embodiment of the present application;
fig. 2c is a diagram illustrating an example of a message packet provided by an embodiment of the present application;
FIG. 2d is a diagram of another example message packet provided by an embodiment of the present application;
fig. 3a is a schematic flow chart of a method for sending first anonymous information according to an embodiment of the present disclosure;
fig. 3b is a diagram illustrating an example of decrypting a packet according to an embodiment of the present application;
fig. 3c is another exemplary diagram for decrypting a message packet according to an embodiment of the present application;
FIG. 4 is a schematic flow chart diagram of another anonymous communication method provided by embodiments of the present application;
fig. 5 is a schematic flow chart of a method for feeding back second anonymous information according to an embodiment of the present application;
fig. 6 is an exemplary diagram of a message packet when replying to a message according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an anonymous communication device according to an embodiment of the present application;
FIG. 8 is a schematic diagram of another anonymous communication device according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail, and in other instances, specific technical details may be mutually referenced in various embodiments, and a specific system not described in one embodiment may be referenced in other embodiments.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
Reference throughout this specification to "one embodiment of the present application" or "some embodiments" or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in other embodiments," "an embodiment of the present application," "other embodiments of the present application," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather mean "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.
Furthermore, in the description of the present application and the appended claims, the terms "first," "second," and the like are used for distinguishing between descriptions and not necessarily for describing or implying relative importance.
In the existing anonymous communication system, message content and routing nodes are encrypted layer by layer through an onion routing protocol, so that an intermediate routing node cannot know which server the client communicates with, but under the attack of whole network traffic analysis, the communication path between the client and the server can be restored by deducing the client and which server the client communicates with according to the whole network traffic analysis, and the attack of the traffic analysis cannot be resisted.
In order to solve the above defects, the inventive concept of the present application is:
according to the method and the device, the first anonymous information sent by the first client can be received through the first network node connected with the first client, the list of the intermediate network nodes on the preset block chain is obtained, the first link is generated and comprises the information transmission opportunity, the information transmission opportunity is used for indicating the time point of the intermediate network nodes for transmitting the anonymous information, the identity information of the first client can be hidden, the difficulty of restoring the first link and the second link is improved under the attack of flow analysis, the attack of flow analysis can be resisted, and the anonymity of communication is guaranteed.
In order to explain the technical means of the present application, the following description will be given by way of specific examples.
Referring to fig. 1, fig. 1 is a schematic diagram of an anonymous communication system according to an embodiment of the present application, and for convenience of description, only portions related to the present application are shown. The communication system is a distributed system based on block chains, and the system includes, but is not limited to: a first client 10, a first network node 20, a plurality of intermediate network nodes 30, a second network node 40, a server 50, a second client 60, and a blockchain 70.
The first client 10, the server 50 and the second client 60 may be data communication devices based on a blockchain 70 with data processing capabilities, e.g. may be terminal devices, servers, etc. The terminal equipment comprises but is not limited to a mobile phone, a computer, intelligent voice interaction equipment, intelligent household appliances, a vehicle-mounted terminal, an aircraft and the like; the server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud computing services, but is not limited thereto. The terminal device and the server may be directly or indirectly connected through wired or wireless communication, and the application is not limited herein.
The first network node 20, the plurality of intermediate network nodes 30 and the second network node 40 are peer identities and may be computing devices such as servers, terminal devices etc. that access the network in any form.
The first network node 20 is a proxy network node of the first client 10, and is configured to forward information sent by the first client to the server 50 or receive information fed back to the first client 10 by the server 50. The second network node 40 is a proxy network node of the server 50, and is configured to receive information sent by the first client to the server 50 or forward information fed back by the server 50 to the first client 10.
The plurality of intermediate network nodes 30 may also be proxy network nodes of other clients or servers, and are configured to forward information sent by the other clients or servers, or receive information fed back to the other clients or servers.
A Peer-To-Peer (P2P) network is formed among the plurality of intermediate network nodes 30, and the P2P Protocol is an application layer Protocol operating on a Transmission Control Protocol (TCP). In a distributed system based on blockchain 70, any computing device, such as a server, a terminal device, may join to become a network node, which includes a hardware layer, an intermediate layer, an operating system layer, and an application layer.
The first network node 20, the plurality of intermediate network nodes 30, and the second network node 40 are each registered in the blockchain 70 at startup. The block chain 70 includes a series of blocks that are consecutive to each other according to the generated chronological order, and once a new block is added to the block chain 70, the new block is not removed any more, and node addresses (Internet Protocol, IP), node ports, node public keys, service information provided by nodes, and the like of respective network nodes registered when the network nodes in the distributed system based on the block chain 70 are started are recorded in the blocks.
Each block in the block chain 70 further includes a hash value of the block storage interaction record and a hash value of the previous block, and the blocks are connected by the hash value to form the block chain 70. The block may include information such as a time stamp at the time of block generation. The block chain 70 is essentially a decentralized database, a series of blocks that are related using cryptographic methods, each block containing relevant information for verifying the validity of the information and generating the next block.
In this embodiment, when the first client 10 and the second client 60 send information to the server 50 through the first network node 20, the first network node 20 selects a first link, where the first link includes a plurality of intermediate network nodes 30 and a second network node 40, and therefore, the second network node 40 may also be referred to as an intermediate network node between the first network node 20 and the server 50.
The first network node and the second network node may both select the second link, and the server 50 feeds back information to the first client 10 and the second client 60 through the second network node 40 based on the second link. The second link comprises a plurality of intermediate network nodes 30 and the first network node 20, and therefore the first network node 20 may also be referred to as an intermediate network node between the second network node 40 and the first client 10.
To sum up, when a first client sends anonymous information to a first service end by using the anonymous system of the present application, the anonymous information can be forwarded through a proxy gateway node (first network node) of the first client, the first network node selects a first link, the first link includes a plurality of intermediate network nodes and a proxy gateway node (second network node) of the first service end, the first network node or the second network node selects a second link, the service end feeds back information to the first client and the second client through the second network node based on the second link, even if the first link and the second link are restored during whole network traffic analysis, the identity information of the first client and the first service end cannot be obtained, and the anonymity of communication is ensured. In other embodiments, more or fewer components than are shown in the example of FIG. 1 may be included, or certain components may be combined, or different components may be included. Fig. 1 is an exemplary description only and should not be construed as a specific limitation of the present application. For example: memory, etc. may also be included.
Referring to fig. 2a, fig. 2a is a schematic flow chart of an anonymous communication method according to an embodiment of the present application. The execution subject of the method in fig. 2a may be the first network node in fig. 1. As shown in fig. 2a, the method comprises: s201 to S203.
S201, a first network node receives first anonymous information sent by a first client, and obtains a list of intermediate network nodes on a preset block chain.
Specifically, the list of the intermediate network nodes includes a node address, a node port, a node public key, service information provided by the node, and the like of each intermediate network node.
The node address IP refers to a network interconnection protocol, and the first network node can be interconnected and intercommunicated with the intermediate network node according to the IP of the intermediate network node.
The node ports are not I/O ports of computer hardware, but rather are concepts in the form of software. In the embodiment of the application, the TCP protocol is used when the network nodes communicate with each other, that is, after information is sent, whether the information arrives needs to be confirmed, and the node port corresponds to a port provided by a service of the TCP protocol, that is, a TCP port.
In the embodiment of the application, each network node obtains a key pair (namely a public key and a private key) through an encryption algorithm, and each network node registers the public key in a block chain; the private key is retained. The key pair derived by the encryption algorithm can be guaranteed to be unique worldwide. When using this key pair, if one of the keys is used to encrypt a piece of data, the other key must be used to decrypt the piece of data. If the public key is used to encrypt data, the private key must be used to decrypt the data. In the embodiment of the application, the anonymous information is encrypted by using a public key and decrypted by using a private key. In the embodiment of the present application, the encryption algorithm includes a symmetric encryption algorithm, an asymmetric encryption algorithm, and the like, which is not limited in the embodiment of the present application.
In the embodiment of the application, the service information provided by the node includes personal information, transaction records and the like of the user.
The term "first" in the first client and first anonymous information in the embodiments of the present application is used only for a distinguishing description from the client and anonymous information in other embodiments, and is not to be construed as indicating or implying relative importance.
In the embodiment of the application, in order to hide the identity information of the first client, when the first client sends the first anonymous information to the server, the first anonymous information is not sent to the server through the first client directly, but is forwarded through the first network node connected with the first client, and the first network node selects a transmission path for sending the first anonymous information based on the acquired list of the intermediate network nodes on the preset block chain.
S202, the first network node generates a first link based on the list of intermediate network nodes.
In this embodiment of the present application, the first link includes at least one intermediate network node and an information transmission opportunity corresponding to the intermediate network node. The information transmission occasion is used to indicate a point in time at which the intermediate network node transmits information. The first link is a path through which the first network node sends the first anonymous information to the server, and is used for indicating each intermediate network node and the first link at the information transmission opportunity corresponding to the intermediate network node when information is sent.
In some embodiments, after the first network node obtains the list of intermediate network nodes on the predetermined blockchain, the method further includes:
the first link and the second link are generated based on the list of intermediate network nodes.
The second link comprises at least one intermediate network node and information transmission occasions corresponding to the intermediate network nodes, and is used for indicating the intermediate network nodes and the information transmission occasions corresponding to the intermediate network nodes when information is replied.
For example, please refer to fig. 2b, fig. 2b is a diagram illustrating a first link and a second link according to an embodiment of the present disclosure.
The first link comprises an intermediate network node B, an intermediate network node C, an intermediate network node D, an intermediate network node E and a second network node F. When a first client sends first anonymous information to a server, the first anonymous information is sent to a first network node a by a preset information sending time point (for example, any time point of 0 to 60 seconds, for example, 5 seconds later), the a is used for forwarding the first anonymous information, the a selects B, C, D, E, and F as a first link in a list of intermediate network nodes, after receiving the first anonymous information, the B delays a preset time B (information transmission timing corresponding to the B node) to send the first anonymous information to the C, after receiving the first anonymous information, the C delays a preset time C (information transmission timing corresponding to the C node) to send the first anonymous information to the D, after receiving the first anonymous information, the D delays a preset time D (information transmission timing corresponding to the D node) to send the first anonymous information to the E, after receiving the first anonymous information, the E delays a preset time E (information transmission timing corresponding to the E node) to send the first anonymous information to the F, and after receiving the first anonymous information, the F delays the first anonymous information sending timing (information to the F).
In this embodiment, the second link refers to a path through which the first anonymous information has been received is fed back to the first service end when the service end receives the first anonymous information, and the second link includes at least one intermediate network node and an information transmission time corresponding to the intermediate network node. In this embodiment of the present application, the information that has received the first anonymous information is fed back to the first service end is referred to as second anonymous information.
Illustratively, the second link includes a second network node F, an intermediate network node G, an intermediate network node H, an intermediate network node I, an intermediate network node J, and a first network node a. The node a selects B, C, D, E, F as the first link and selects F, G, H, I, J, a as the second link while selecting B, C, D, E, F as the first link in the list of intermediate network nodes.
When the server feeds back the second anonymous information to the first client, the second anonymous information is sent to a second network node F at a preset information sending time point (for example, any time point from 0 to 60 seconds, for example, 5 seconds is delayed), the F is used for forwarding the second anonymous information, after receiving the second anonymous information, the F delays a preset time F (information transmission timing corresponding to the F node) to send the second anonymous information to the G, after receiving the second anonymous information, the G delays a preset time G (information transmission timing corresponding to the G node) to send the second anonymous information to the H, after receiving the second anonymous information, the H node delays a preset time H (information transmission timing corresponding to the H node) to send the second anonymous information to the I, after receiving the second anonymous information, the I node delays a preset time I (information transmission timing corresponding to the I node) to send the second anonymous information to the J, after receiving the second anonymous information, the J node delays a preset time J (information transmission timing corresponding to the J node) to send the second anonymous information to the first network node a, and after receiving the first anonymous information by the first node a, and forwarding the first anonymous information to the first network node a.
It should be noted that the first network node randomly selects at least one intermediate network node from the list of intermediate network nodes as the first link or the second link. When an intermediate network node is randomly selected as a first link or a second link, because the first anonymous information sent by the first client is forwarded through the first network node, the second anonymous information fed back by the server is forwarded through the second network node, and the intermediate network node may also be used as an intermediate network node of the first link or the second link between other clients and the server, when only one intermediate network node exists and the random delay sending time of the intermediate network node is set, because it cannot be easily determined which client or server the sending opportunity of the intermediate network node corresponds to, the confidentiality of anonymous communication can be improved, and the anonymity of the communication mechanism is ensured.
When the first network node randomly selects a plurality of intermediate network nodes as the first link or the second link, for example, 5 intermediate network nodes, better anonymity of communication is ensured, and at the same time, higher efficiency of information transmission can be ensured.
In this embodiment of the application, when the address of the client is unknown by the server, both the first link and the second link may be generated by the first network node; the second link may also be generated by a second network node connected to the server, when the server knows the address of the client. When the first link and the second link are both generated by the first network node, the preset time of delay of each intermediate network node is determined by the first network node.
Accordingly, when the second link is generated by the second network node, the preset time for each intermediate network node in the second link to delay is determined by the second network node.
In the embodiment of the present application, the information transmission time corresponding to each intermediate network node is within a first numerical range, for example: the first value range is (0, 60) seconds. The information transmission time corresponding to each intermediate network node may be the same or different, and this is not limited in the embodiments of the present application.
In the embodiment of the application, after the first link is generated based on the list of the intermediate network node, the first message packet corresponding to the first anonymous information is constructed according to the list of the intermediate network node.
In particular, the first message packet includes a first message header and a first message body encrypted based on a public key of the intermediate network node, the first message header may include the first link, and the first message body may include the first anonymous information.
In the embodiment of the application, when the first message packet corresponding to the first anonymous information is constructed, the first anonymous information, the node address of the second network node and the information transmission time corresponding to the second network node are repeatedly encrypted based on the public key of the second network node in the first link.
Specifically, the first network node may encrypt the anonymous information, the node address of the second network node, and the information transmission timing corresponding to the second network node twice based on the public key of the second network node.
In this embodiment of the present application, the encryption performed twice by using the public key of the second network node is to enable the second network node to determine that the first network node sends the first anonymous information to the second network node of the server-side proxy. The specific determination method comprises the following steps: when a second network node decrypts a first message packet by using its own private key for the first time, the second network node obtains a node address for transmitting information to a next network node, and if the second network node finds that the node address for transmitting information to the next network node is the node address of the second network node, the second network node determines that the first message packet is transmitted to itself, and decrypts a first message body in the first message packet based on its own private key, so as to obtain first anonymous information.
For example, please refer to fig. 2c, and fig. 2c is an exemplary diagram of an information packet according to an embodiment of the present application.
In fig. 2c, the first message packet comprises a first message header and a first message body. The first message header includes: and the node addresses of the node B, the node C, the node D, the node E and the node F after encryption based on the respective public keys of the node B, the node C, the node D, the node E and the node F in the first link, and the respective information transmission opportunities B, C, D, E and F of the node B, the node C, the node D, the node E and the node F. Wherein F and F are encrypted twice based on the public key of node F.
The first message body includes first anonymous information.
According to the embodiment of the application, the first network node generates the first link based on the list of the intermediate network node, the first link is generated without the first client based on the list of the intermediate network node, and under the attack of the whole network flow analysis, the identity information of the client can be hidden, so that the anonymity of communication is ensured.
In the embodiment of the application, after the first link and the second link are generated based on the list of the intermediate network node, the second message packet corresponding to the first anonymous information is constructed according to the list of the intermediate network node.
Specifically, the second message packet includes a second message header and a second message body encrypted based on the public key of the intermediate network node, the second message header includes the first link, and the second message body includes the first anonymous information and the second link.
For example, please refer to fig. 2d, where fig. 2d is an exemplary diagram of another message packet provided in the embodiment of the present application.
In fig. 2d, the second message packet comprises a second message header and a second message body. The second message header includes:
and the node addresses of the node B, the node C, the node D, the node E and the node F after encryption based on the respective public keys of the node B, the node C, the node D, the node E and the node F in the first link, and the respective information transmission opportunities B, C, D, E and F of the node B, the node C, the node D, the node E and the node F. Wherein F and F are encrypted twice based on the public key of node F.
The second message body includes: based on the first anonymous information encrypted by the respective public keys of the node F, the node G, the node H, the node I, the node J and the node A in the second link, the node addresses of the node F, the node G, the node H, the node I, the node J and the node A, and the respective transmission opportunities F, G, H, I, J and a of the node F, the node G, the node H, the node I, the node J and the node A.
In the embodiment of the application, the first network node generates the first link and the second link based on the list of the intermediate network node, and the first client does not need to generate the first link and the second link based on the list of the intermediate network node, so that the identity information of the client can be hidden under the attack of the whole network flow analysis, and the anonymity of communication is ensured.
S203, the first network node sends first anonymous information to a second network node connected with the server based on the first link, and receives second anonymous information fed back by the server through the second network node based on the second link.
Specifically, a first message packet or a second message packet sent to a second network node connected to the server based on the first link includes first anonymous information (as shown in a message packet architecture in fig. 2c or fig. 2 d); in the sending process, the network node in the first link analyzes the first message packet or the second message packet, and decrypts layer by using respective private keys, so that the second network node can obtain first anonymous information and forwards the first anonymous information to the server; correspondingly, when the second message packet is transmitted, the second network node may further obtain the first anonymous information and the second link through layer-by-layer decryption, and may feed back the second anonymous information to the first network node based on the second link.
Referring to fig. 3a, fig. 3a is a schematic flow chart of a method for sending first anonymous information according to an embodiment of the present application. The execution subject of the method in fig. 3a may be the first network node in fig. 1. As shown in fig. 3a, the method comprises: s301 to S303.
S301, the first network node sends a first message packet or a second message packet to the intermediate network node in the first link at a preset information sending time point.
Specifically, the specific setting of the preset information sending time point has been described in the above embodiments, and is not described herein again.
According to the method and the device, the message packet at the time point is sent by the preset information, when the flow analysis is carried out on the attacker, the difficulty of the attacker in analyzing which network node is the sender is increased, the attack of the flow analysis can be resisted, and the anonymity of communication is ensured.
S302, the first network node decrypts the first message packet or the second message packet based on the private key of the intermediate network node in the first link; in the decryption process, each intermediate network node decrypts the first message header or the second message header based on the private key to obtain the node address of the next intermediate network node and the information transmission time for transmitting the first message packet or the second message packet to the next intermediate network node.
Specifically, since the message body is sent encrypted using the public key of the intermediate network node in the first link, decryption can be accomplished using the private key of the intermediate network node in the first link.
In the decryption process, each intermediate network node in the first link decrypts the first message header based on the private key of the intermediate network node, and obtains the node address of the next intermediate network node and the information transmission time for transmitting the message packet to the next intermediate network node.
For example, please refer to fig. 3b, fig. 3b is a diagram illustrating an example of decrypting a packet according to an embodiment of the present application, where fig. 3b illustrates that a first message body includes first anonymous information.
N1 in fig. 3b is the first message packet at the beginning of the transmission.
N2 in fig. 3B is an information transmission timing C at which the intermediate network node B in the first link decrypts the first message header based on its own private key, obtains the node address of the intermediate network node C, and transmits the message packet to the intermediate network C. The decryption method of other intermediate network nodes is the same as the above method, and is not described herein again.
N3 in fig. 3b is the decrypted first message body.
For example, please refer to fig. 3c, fig. 3c is another exemplary diagram for decrypting a message packet according to an embodiment of the present application. In fig. 3c, the second message body includes: the first anonymous information encrypted based on the respective public keys of the node F, the node G, the node H, the node I, the node J, and the node a in the second link, the node addresses of the node F, the node G, the node H, the node I, the node J, and the node a, and the respective transmission timings F, G, H, I, J, and a of the node F, the node G, the node H, the node I, the node J, and the node a are illustrated.
M1 in fig. 3c is the second message packet at the beginning of transmission.
M2 in fig. 3C is an information transmission timing C at which the intermediate network node B in the first link decrypts the first message header based on its own private key, obtains the node address of the intermediate network node C, and transmits the message packet to the intermediate network C. The decryption method of other intermediate network nodes is the same as the above method, and is not described herein again.
M3 in fig. 3c is the decrypted second message body.
S303, the first network node transmits the first message packet or the second message packet to the next intermediate network node based on the node address of the next intermediate network node and the information transmission time of transmitting the first message packet or the second message packet to the next intermediate network node; and until the second network node decrypts the first message header or the second message header based on the private key, the first anonymous information in the decrypted first message body or the decrypted second message body is obtained, and the first anonymous information is sent to the server side through the second network node.
For example, referring to N3 in fig. 3b, the last network node in the first link is a second network node F, and the second network node F decrypts the first message header based on a private key of F to obtain a decrypted first message body, where the first message body includes the first anonymous information. Referring to M3 in fig. 3c, the last network node in the first link is a second network node F, and the second network node F decrypts the second message header based on a private key of F to obtain a decrypted second message body, where the second message body includes the first anonymous information and the second link.
Specifically, when the first network node transmits the message packet to the second network node, the second network node obtains the first anonymous information through decryption, and the second network node forwards the first anonymous information to the server.
In the embodiment of the application, in order to increase the difficulty of restoring the paths of the first link and the second link under the attack of the whole network traffic analysis, when the first anonymous information sent by the first client is received, the anonymous information of the preset type sent by the second client is received. And sending anonymous information of a preset type to the server based on the first link.
The anonymous message of the preset type is used for indicating the server to discard the anonymous message based on the preset type when receiving the anonymous message.
Specifically, the anonymous information of the preset type is obfuscated anonymous information or blank anonymous information. In order to prevent the path of the first link or the second link from being restored during the whole network traffic analysis, the idle second client side is enabled to send the anonymous information of confusion or blank, and the anonymous information of confusion or blank is sent to the server side based on the first link selected by the first network node.
In this embodiment of the present application, in order to prevent the first anonymous information from being lost in the first link, when the message packet in fig. 2c is sent, the anonymous communication method according to this embodiment of the present application further includes:
and if the accumulated sum of the time points of the first anonymous information transmitted by the intermediate network node of the first link is greater than a preset first threshold value, sending the first anonymous information to a second network node connected with the server based on the first link again, and receiving second anonymous information fed back by the server through the second network node based on the second link.
Specifically, when the message packet is transmitted in the first link, the first network node calculates the accumulated sum of the time points of information transmission of the intermediate network nodes of the first link, and if the accumulated sum of the time points of information transmission of the intermediate network nodes of the first link is greater than a preset first threshold, for example, if the accumulated sum of the time points of information transmission of the intermediate network nodes of the first link is greater than twice the preset accumulated sum of the time points of information transmission of the intermediate network nodes of the first link, the message packet including the first anonymous information is sent to the second network node connected to the server again based on the first link, and the second anonymous information fed back by the server through the second network node based on the second link is received.
When the message packet in fig. 2d is sent, the anonymous communication method according to the embodiment of the present application further includes:
and if the sum of the time points of the first anonymous information transmitted by the intermediate network nodes of the first link and the second link is greater than a preset second threshold value, sending the first anonymous information to a second network node connected with the server based on the first link again, and receiving second anonymous information fed back by the server through the second network node based on the second link.
Specifically, when the message packet is transmitted in the first link and the second link, the first network node calculates the accumulated sum of the time points at which the intermediate network nodes of the first link and the second link transmit information, and if the accumulated sum of the time points at which the intermediate network nodes of the first link and the second link transmit information is greater than a preset second threshold, for example, if the accumulated sum of the time points at which the intermediate network nodes of the first link and the second link transmit information is greater than twice the accumulated sum of the time points at which the preset intermediate network nodes transmit information, the first anonymous information is sent to the second network node connected to the service end based on the first link again, and the second anonymous information fed back by the service end through the second network node based on the second link is received.
In summary, the technical solution of the present application is applied to a first network node connected to a first client, where the first network node receives first anonymous information sent by the first client, and obtains a list of intermediate network nodes on a preset blockchain; generating a first link based on the list of intermediate network nodes; and sending first anonymous information to the server based on the first link, and receiving second anonymous information fed back by the server through a second network node. The method comprises the steps that anonymous information sent by a first client is received through a first network node connected with the first client, and a list of intermediate network nodes on a preset block chain is obtained; and generating a first link based on the list of the intermediate network nodes, wherein the first link comprises an information transmission opportunity for indicating a time point of the intermediate network nodes for transmitting the anonymous information, the identity information of the client can be hidden, the difficulty of restoring the first link and the second link is improved under the attack of flow analysis, the attack of the flow analysis can be resisted, and the anonymity of communication is ensured.
Referring to fig. 4, fig. 4 is a schematic flow chart of another anonymous communication method provided in an embodiment of the present application. The execution subject of the method in fig. 4 may be the second network node in fig. 1. As shown in fig. 4, the method includes: s401 to S403.
S401, the second network node obtains first anonymous information sent by the first client through the first network node based on the first link.
Specifically, the second network node decrypts the received message packet based on its own private key, and obtains the first anonymous information, where the first anonymous information may refer to N3 in fig. 3b or M3 in fig. 3 c.
S402, the second network node sends the first anonymous information to the server and receives the second anonymous information fed back by the server.
Specifically, the second network node is a proxy network node of the server, and is configured to forward information sent by the client to the server, or forward information fed back by the server to the client.
And S403, the second network node feeds back the second anonymous information to the first client on the basis of the second link.
Specifically, the first link may be generated by the first network node based on a list of intermediate network nodes on a predetermined blockchain, and the second link may be generated by the first network node or the second network node based on the list of intermediate network nodes on the predetermined blockchain. The first link and the second link respectively comprise at least one intermediate network node and information transmission time corresponding to the intermediate network node; the information transmission occasion is used to indicate a point in time at which the intermediate network node transmits anonymous information.
The method for generating the second link by the second network node is the same as the method for generating the first link by the first network node, and is not described herein again.
In summary, the technical solution of the present application is applied to a second network node connected to a server, where the second network node obtains first anonymous information sent by a first client through a first network node based on a first link, sends the first anonymous information to the server, and receives second anonymous information fed back by the server, the second network node obtains a list of intermediate network nodes on a preset block chain, and generates a second link based on the list of intermediate network nodes, and feeds back second anonymous information to the first client based on the second link, that is, when the server receives the first anonymous information sent by the first client, the second anonymous information fed back may be sent to the second network node, the second network node is configured to forward the second anonymous information, and the second network node feeds back the second anonymous information to the first client based on the second link that has been selected by the second network node, and an information transmission opportunity is configured to indicate a time point at which the intermediate network node transmits the anonymous information, so that when the server communicates with the client, it is not possible to know whether the client is communicating, and it is possible to ensure that traffic analysis of the whole network, and to resist privacy of the communication process between the client and the server.
Referring to fig. 5, fig. 5 is a schematic flowchart of another anonymous communication method provided in an embodiment of the present application. The execution subject of the method in fig. 5 may be the second network node in fig. 1. As shown in fig. 5, the method includes: s501 to S504.
S501, the second network node constructs a third message packet corresponding to the second anonymous information based on the second link.
Specifically, the third message packet may include a third message header and a third message body, the third message header may include the node address and the information transmission timing of the intermediate network node in the second link encrypted based on the public key of the intermediate network node in the second link, the third message body may include the second anonymous information, and the third message body may further include the node address and the information transmission timing of the first network node encrypted based on the first network node.
Correspondingly, constructing a third packet corresponding to the second anonymous information according to the second link may include:
s502, encrypting the node address and the information transmission opportunity of the intermediate network node of the second link based on the public key of the intermediate network node of the second link to obtain a third message header; the third message body, which may include the second anonymity information, is encrypted based on the public key of the first network node.
For example, please refer to fig. 6, fig. 6 is an exemplary diagram of a message packet according to an embodiment of the present application. The message packet may include a third message header and a third message body, where the third message header includes node addresses of the node F, the node G, the node H, the node I, the node J, and the node a encrypted based on respective public keys of the node F, the node G, the node H, the node I, the node J, and the node a in the second link, and respective transmission timings F, G, H, I, J, and a of the node F, the node G, the node H, the node I, the node J, and the node a. The third message body may include the second anonymity information and the node a's node address and the node a's transmission occasion a encrypted based on the first network node public key.
Accordingly, feeding back the second anonymity information to the first client based on the second link includes:
s503, the second network node decrypts the third message packet based on the private key of the intermediate network node of the second link; correspondingly, in the decryption process, each intermediate network node decrypts the third message header based on the private key to obtain the node address of the next intermediate network node and the information transmission time for transmitting the third message packet to the next intermediate network node.
Specifically, the principle of the decryption process for the third message packet is the same as that of S302, and is not described herein again.
S504, the second network node transmits the third message packet to the next intermediate network node based on the node address of the next intermediate network node and the information transmission time of transmitting the third message packet to the next intermediate network node; and until the first network node decrypts the third message body based on the private key to obtain the second anonymous information in the decrypted third message body, and the second anonymous information is sent to the client through the first network node.
Specifically, when the second network node transmits the reply message body to the first network node, the first network node obtains the second anonymous information through decryption, and the first network node forwards the second anonymous information to the first client. The implementation principle of S504 is the same as S303, and is not described here again.
In the embodiment of the application, the second network node constructs a message packet corresponding to the second anonymous information based on the second link, the second network node sends the message packet to an intermediate network node in the second link, the second network node decrypts the message packet based on a private key of the intermediate network node in the second link, and the first network node can obtain the decrypted second anonymous information; moreover, if the second link is generated by the first network node, when the server side feeds back the second anonymous information, the identity information of the first client side does not need to be known, privacy of the first client side is kept more friendly, and the anonymity of communication is guaranteed.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an anonymous communication apparatus according to an embodiment of the present application, where the apparatus may include:
a receiving module 71, configured to receive the first anonymous information sent by the first client, and obtain a list of intermediate network nodes on a preset blockchain;
a generating module 72, configured to generate a first link based on the list of the intermediate network nodes, where the first link is used to indicate each of the intermediate network nodes and an information transmission opportunity corresponding to the intermediate network node when sending information;
a sending module 73, configured to send the first anonymous information to a server based on the first link, and receive second anonymous information fed back by the server through a second network node based on a second link; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is replied;
wherein the information transmission occasion is used to indicate a point in time at which the intermediate network node transmits anonymous information.
Referring to fig. 8, fig. 8 is a schematic structural diagram of another anonymous communication apparatus provided in an embodiment of the present application, where the apparatus may include:
the obtaining module 81 is configured to obtain first anonymous information that is sent by the first client through the first network node based on the first link.
And the processing module 82 is configured to send the first anonymous information to the server, and receive second anonymous information fed back by the server.
A feedback module 83, configured to feed back the second anonymity information to the first client based on a second link;
wherein the first link and the second link are generated based on a list of intermediate network nodes on a preset blockchain; the first link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is sent; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is replied; the information transmission opportunity is used for indicating a time point of the intermediate network node for transmitting anonymous information.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules, so as to perform all or part of the functions described above. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only used for distinguishing one functional unit from another, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
As shown in fig. 9, the embodiment of the present application further provides a terminal device 200, which includes a memory 21, a processor 22, and a computer program 23 stored in the memory 21 and operable on the processor 22, and when the processor 22 executes the computer program 23, the anonymous communication method of each of the embodiments described above is implemented.
The Processor 22 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 21 may be an internal storage unit of the terminal device 200. The memory 21 may also be an external storage device of the terminal device 200, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card) and the like provided on the terminal device 200. Further, the memory 21 may also include both an internal storage unit of the terminal device 200 and an external storage device. The memory 21 is used to store computer programs and other programs and data required by the terminal device 200. The memory 21 may also be used to temporarily store data that has been output or is to be output.
The embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the anonymous communication method according to the foregoing embodiments is implemented.
The embodiment of the present application provides a computer program product, which when running on a mobile terminal, enables the mobile terminal to implement the anonymous communication method of the foregoing embodiments when executed.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a separate product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow in the method of the embodiments described above can be implemented by instructing relevant hardware by a computer program, which can be stored in a computer readable storage medium, and when the computer program is executed by a processor, the steps of the embodiments of the methods described above can be implemented. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable storage medium may include at least: any entity or device capable of carrying computer program code to a photographing apparatus/terminal apparatus, a recording medium, computer memory, read-only memory (ROM), random Access Memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium. Such as a usb-drive, a removable hard drive, a magnetic or optical disk, etc. In some jurisdictions, computer-readable storage media may not be an electrical carrier signal or a telecommunications signal in accordance with legislative and proprietary practices.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiments of the present application.
The above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not depart from the spirit and scope of the embodiments of the present application, and they should be construed as being included in the present application.

Claims (11)

1. An anonymous communication method, applied to a first network node connected to a first client, the method comprising:
receiving first anonymous information sent by the first client, and acquiring a list of intermediate network nodes on a preset block chain;
generating a first link based on the list of the intermediate network nodes, wherein the first link is used for indicating each intermediate network node and an information transmission opportunity corresponding to the intermediate network node when information is sent;
sending the first anonymous information to a server based on the first link, and receiving second anonymous information fed back by the server through a second network node based on a second link; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when replying information;
wherein the information transmission occasion is used to indicate a point in time at which the intermediate network node transmits anonymous information.
2. The anonymous communication method of claim 1, wherein after said generating a first link based on said list of intermediate network nodes, said method further comprises:
constructing a first message packet corresponding to the first anonymous information according to the list of the intermediate network nodes, wherein the first message packet comprises a first message header and a first message body, the first message header comprises the first link, and the first message body comprises the first anonymous information; alternatively, the first and second electrodes may be,
after obtaining the list of intermediate network nodes on the predetermined blockchain, the method further includes:
generating the first link and the second link based on the list of intermediate network nodes;
accordingly, after generating the first link and the second link based on the list of intermediate network nodes, the method further comprises:
and constructing a second message packet corresponding to the first anonymous information according to the list of the intermediate network nodes, wherein the second message packet comprises a second message header and a second message body, the second message header comprises the first link, and the second message body comprises the first anonymous information and the second link.
3. The anonymous communication method as set forth in claim 2, wherein the constructing a first message packet corresponding to the first anonymous information according to the list of the intermediate network nodes comprises:
encrypting the first anonymous information, the node address of the intermediate network node of the first link and the information transmission opportunity based on the public key of the intermediate network node included in the first link to obtain the first message packet; alternatively, the first and second electrodes may be,
the constructing a second message packet corresponding to the first anonymous information according to the list of the intermediate network nodes includes:
and encrypting the first anonymous information, the node address of the intermediate network node of the first link, the information transmission opportunity and the second link based on the public key of the intermediate network node included in the first link to obtain the second message packet.
4. The anonymous communication method of claim 3, wherein the sending the first anonymous information to a server based on the first link comprises:
sending the first message packet or the second message packet to an intermediate network node in the first link at a preset information sending time point;
decrypting the first message packet or the second message packet based on a private key of an intermediate network node in the first link;
correspondingly, in the decryption process, each intermediate network node decrypts the first message header or the second message header based on a private key to obtain a node address of a next intermediate network node and an information transmission time for transmitting the first message packet or the second message packet to the next intermediate network node;
transmitting the first message packet or the second message packet to a next intermediate network node based on a node address of the next intermediate network node and an information transmission timing at which the first message packet or the second message packet is transmitted to the next intermediate network node;
until the second network node decrypts the first message header or the second message header based on a private key, the first anonymous information in the decrypted first message body or the decrypted second message body is obtained, and the first anonymous information is sent to the server through the second network node.
5. The anonymous communication method according to any of claims 1 to 4, further comprising:
when first anonymous information sent by the first client is received, anonymous information of a preset type sent by a second client is received;
sending the anonymous message of the preset type to the server based on the first link;
and when the anonymous message of the preset type is used for indicating that the server receives the anonymous message, discarding the anonymous message based on the preset type.
6. The anonymous communication method according to any of claims 1 to 4, further comprising:
and if the accumulated sum of the time points of the transmission of the first anonymous information by the intermediate network node of the first link is greater than a preset first threshold value, sending the first anonymous information to a second network node connected with the server based on the first link again, and receiving second anonymous information fed back by the server through the second network node based on the second link.
7. An anonymous communication method, applied to a second network node connected to a server, the method comprising:
acquiring first anonymous information sent by a first client through a first network node based on a first link;
sending the first anonymous information to the server, and receiving second anonymous information fed back by the server;
feeding back the second anonymity information to the first client based on a second link;
wherein the first link and the second link are generated based on a list of intermediate network nodes on a preset blockchain; the first link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when information is sent; the second link is used for indicating each intermediate network node and information transmission time corresponding to the intermediate network node when replying information; the information transmission opportunity is used for indicating a time point of anonymous information transmission of the intermediate network node.
8. The anonymous communication method as set forth in claim 7, wherein, prior to the feeding back the second anonymous information to the first client based on the second link, the method further comprises:
acquiring a list of intermediate network nodes on a preset block chain, and generating the second link based on the list of intermediate network nodes; alternatively, the first and second electrodes may be,
and acquiring the second link sent by the first client through the first network node based on the first link.
9. The anonymous communication method according to claim 7 or 8, wherein before the feeding back the second anonymous information to the first client based on the second link, the method further comprises:
constructing a third message packet corresponding to the second anonymous information based on the second link, wherein the third message packet comprises a third message header and a third message body;
correspondingly, according to the second link, a third packet corresponding to the second anonymous information is constructed, including:
encrypting the node address and the information transmission opportunity of the intermediate network node of the second link based on the public key of the intermediate network node of the second link to obtain a third message header; encrypting the third message body based on a public key of the first network node, the third message body including the second anonymous information;
accordingly, the feeding back the second anonymity information to the first client based on the second link includes:
sending the third packet to an intermediate network node of the second link;
decrypting the third packet based on a private key of an intermediate network node of the second link;
correspondingly, in the decryption process, each intermediate network node decrypts the third message header based on the private key to obtain the node address of the next intermediate network node and the information transmission time for transmitting the third message packet to the next intermediate network node;
transmitting a third packet to a next intermediate network node based on the node address of the next intermediate network node and an information transmission timing at which the third packet is transmitted to the next intermediate network node;
until the first network node decrypts the third message body based on a private key, the second anonymous information in the decrypted third message body is obtained, and the second anonymous information is sent to the client through the first network node.
10. A terminal device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor when executing the computer program implementing an anonymous communication method as claimed in any of claims 1 to 6 or claims 7 to 9.
11. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the anonymous communication method according to any one of claims 1 to 6 or claims 7 to 9.
CN202211329500.0A 2022-10-27 2022-10-27 Anonymous communication method, terminal device, and computer-readable storage medium Pending CN115913654A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211329500.0A CN115913654A (en) 2022-10-27 2022-10-27 Anonymous communication method, terminal device, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211329500.0A CN115913654A (en) 2022-10-27 2022-10-27 Anonymous communication method, terminal device, and computer-readable storage medium

Publications (1)

Publication Number Publication Date
CN115913654A true CN115913654A (en) 2023-04-04

Family

ID=86475259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211329500.0A Pending CN115913654A (en) 2022-10-27 2022-10-27 Anonymous communication method, terminal device, and computer-readable storage medium

Country Status (1)

Country Link
CN (1) CN115913654A (en)

Similar Documents

Publication Publication Date Title
US10396987B2 (en) Securely provisioning an application with user information
Borisov et al. DP5: A private presence service
US7899185B2 (en) Real privacy management authentication system
US9231919B2 (en) Method and device for anonymous encrypted mobile data and speech communication
AU2016369606A1 (en) Systems and methods for secure multi-party communications using a proxy
WO2019227225A1 (en) Systems and methods for establishing communications via blockchain
Al Barghouthy et al. Social Networks IM Forensics: Encryption Analysis.
CN107094156B (en) Secure communication method and system based on P2P mode
US10375051B2 (en) Stateless server-based encryption associated with a distribution list
Asokan et al. Towards securing disruption-tolerant networking
Schliep et al. End-to-end secure mobile group messaging with conversation integrity and deniability
CN109462605B (en) IM communication system and communication method thereof
US11411744B2 (en) Encryption communication method, information processing apparatus, and program
Kita et al. Producer anonymity based on onion routing in named data networking
Schliep et al. Consistent synchronous group off-the-record messaging with sym-gotr
Andrieș et al. A survey on the security protocols employed by mobile messaging applications
Lewis Cwtch: Privacy Preserving Infrastructure for Asynchronous, Decentralized, Multi-Party and Metadata Resistant Applications
CN115913654A (en) Anonymous communication method, terminal device, and computer-readable storage medium
CN110995730B (en) Data transmission method and device, proxy server and proxy server cluster
AlSabah et al. PriviPK: Certificate-less and secure email communication
CN111279655B (en) Data sharing method, system and server, communication terminal and recording medium
Joy et al. DiscoverFriends: secure social network communication in mobile ad hoc networks
Yang et al. High efficiency secure channels for a secure multiparty computation protocol based on signal
CN111797417A (en) File uploading method and device, storage medium and electronic device
Berg et al. WebRTC-based Decentralized Chat Application with Minimal Latency

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination