CN111970243A - Message forwarding method of multistage routing in anonymous communication network - Google Patents

Message forwarding method of multistage routing in anonymous communication network Download PDF

Info

Publication number
CN111970243A
CN111970243A CN202010699545.1A CN202010699545A CN111970243A CN 111970243 A CN111970243 A CN 111970243A CN 202010699545 A CN202010699545 A CN 202010699545A CN 111970243 A CN111970243 A CN 111970243A
Authority
CN
China
Prior art keywords
node
information
routing
ring
routing ring
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.)
Granted
Application number
CN202010699545.1A
Other languages
Chinese (zh)
Other versions
CN111970243B (en
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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010699545.1A priority Critical patent/CN111970243B/en
Publication of CN111970243A publication Critical patent/CN111970243A/en
Application granted granted Critical
Publication of CN111970243B publication Critical patent/CN111970243B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption

Abstract

The invention discloses a message forwarding method of multistage routing in an anonymous communication network, which comprises the following steps: selecting at least two Routing rings in the anonymous communication network, and respectively taking the two Routing rings as each stage path of a forwarding message, and then selecting a node from each selected Routing ring as a stage path head node of the Routing ring; and carrying out hierarchical encryption on message content to be forwarded by using the public key of each stage of path head node, generating a multi-stage path encryption data packet, sending the multi-stage path encryption data packet to one stage of path head node, and forwarding the message content through each selected Routing ring. The invention can separate the communication relation of the two communication parties, thereby ensuring the anonymity and the safety of the communication relation.

Description

Message forwarding method of multistage routing in anonymous communication network
Technical Field
The invention relates to the technical field of anonymous communication, in particular to a message forwarding method of multi-stage routing in an anonymous communication network.
Background
The network anonymous communication is a privacy protection technology for hiding communication contents and relations by adopting measures of message forwarding, data encryption, traffic confusion and the like. The network anonymous communication technology is mainly applied to anonymous electronic mail systems, anonymous network storage systems, anonymous release systems, anonymous Web browsing systems and the like.
From the perspective of implementation mechanisms, basic implementation mechanisms for network anonymous communication mainly include the following three types: source rewrite technology based, DC-Net problem based, and broadcast multicast technology based anonymous implementation mechanisms. Among them, The anonymity technology based on The source rewriting technology is The most widely applied anonymity realization mechanism at present, and The mainstream anonymity communication network such as Tor (The on Router, abbreviated as Tor, and The Project website is www.torproject.org), I2P (invitible Internet Project, abbreviated as I2P, and The Project website is getio 2p.net), JAP (Java Anon Proxy, abbreviated as JAP, and The Project website is anon.in.tu-dresden.de), and The anonymity communication network proposed by academical circles such as classical crows ("Anonymous Web transactions with crows", Communications of The ACM, Volume 42 Issue 2, feb.1999 Pages 32-48), and The latest loopy communication network ("Security system" 26 entity, Security search, use secret, etc.) are realized based on The source rewriting technology.
An anonymous communication network based on a source rewriting technology is composed of a series of forwarding nodes, messages are transmitted between a sender and a receiver through a plurality of intermediate forwarding nodes, each forwarding node performs encryption and decryption, random time delay and other processing on the messages, so that address information, length information and the like of the messages are hidden, an attacker is prevented from corresponding to the incidence relation between input and output messages according to information such as message content, length, transmission time and the like, confusion of the communication relation between the sender and the receiver of the messages is achieved, construction of special application services such as hidden services of a dark network is supported, and anonymity protection of the sender, anonymity of the receiver and anonymity of the communication relation is provided.
The message handling protocol of the forwarding node in an anonymous communication network is the core of the anonymous communication network design. The existing main stream or latest anonymous communication link is basically that an information sender selects all nodes on the communication link and carries out initialization and maintenance work of the link, a message is subjected to multi-hop forwarding on a link communication path in a source routing mode, all nodes of the communication link play unequal roles, the positions of some nodes are more important, for example, a first-hop node (guard node) of the link knows that the sender is an IP address, and a last node (exit node) of the link knows a target address of the message routing, namely, the positions of the nodes on the communication link are not equal in importance, which means that an attacker can uniquely determine the position of the sender after controlling the key position of the communication link to successfully implement traffic alignment attack. Therefore, the inventor considers that a new message routing mechanism is needed, a sender only needs to specify the head node and the path length of the message transmission path at each stage, and does not need to specify all the transmission paths of the message, so that the communication relationship between two communication parties is separated, and the anonymity and the security of the communication relationship are ensured.
Disclosure of Invention
In view of the above, the present invention provides a message forwarding method for multi-stage routing in an anonymous communication network, so that a sender of a message only needs to specify a header node and a path length of a message transmission path in each stage, and does not need to specify all transmission paths of the message, thereby separating a communication relationship between two communication parties, and thus ensuring anonymity and security of the communication relationship.
Based on the above object, the present invention provides a message forwarding method for multi-stage routing in an anonymous communication network, comprising:
selecting at least two Routing rings in the anonymous communication network, and respectively taking the two Routing rings as each stage path of a forwarding message, and then selecting a node from each selected Routing ring as a stage path head node of the Routing ring;
and carrying out hierarchical encryption on message content to be forwarded by using the public key of each stage of path head node, generating a multi-stage path encryption data packet, sending the multi-stage path encryption data packet to one stage of path head node, and forwarding the message content through each selected Routing ring.
Preferably, the performing hierarchical encryption on the message content to be forwarded by using the public key of the path head node at each stage specifically includes:
determining the sequencing of Routing rings in which the paths of each stage are positioned according to the sequence of forwarding the messages of the paths of each stage;
for the selected m Routing rings, generating m-layer encrypted data packets, and obtaining m-layer encrypted multi-stage path encrypted data packets:
when the layer 1 information is generated, the following information is encrypted by using the public key of the phase path head node of the mth Routing ring: the phase path parameter PathParam of the mth Routing ring, the message content and the Routing information behind the mth Routing ring; the Routing information after the mth Routing ring may specifically be the Routing information of the destination node of the message content;
for the condition that m is more than or equal to i >1, when the client generates the ith layer information, the public key of the stage path head node of the (m + 1-i) th Routing ring is used for encrypting the following information: the phase path parameter PathParam of the ith Routing ring, the information of the (i-1) th layer generated by the client in the past and the Routing information of the phase path head node of the (i + 1) th Routing ring;
wherein, the phase path parameter PathParam of the Routing ring includes: length of the phase path in the Routing ring.
Preferably, the sending the multi-phase path encryption data packet to a stage path head node, and forwarding the message content through each selected Routing ring specifically includes:
after the stage path head node of the ith Routing ring receives the encrypted data packet from the outside of the ring, the stage path head node decrypts the received encrypted information by using the private key of the node, and determines a forwarding node of the message content in the ith Routing ring according to the stage path parameter obtained by decryption;
in the stage, after the route head node carries out hierarchical encryption on the information obtained by decryption by using the symmetric keys shared with all forwarding nodes respectively, the hierarchical encrypted information is sent to the 1 st forwarding node of the ith Routing ring;
and sequentially decrypting the information encrypted in each hierarchy in the information encrypted in the hierarchy by the first node to the last node of the forwarding node in the ith Routing ring, and forwarding the message content by the last node of the forwarding node in the ith Routing ring according to the decrypted Routing information.
Preferably, the step of performing hierarchical encryption on the decrypted information by the stage path head node by using the symmetric key shared with each forwarding node respectively includes:
determining the number of forwarding nodes as n according to the length of the stage path in the decrypted stage path parameters by the stage path head node of the ith Routing ringiThen, the layers from 1 st to n are generatediLayer information, thereby obtaining niHierarchical encrypted information of the layer;
the layer 1 information generated by the phase path head node of the ith Routing ring includes: the hash value of the symmetric key shared by the phase path head node and the last forwarding node of the ith Routing ring, and the following information encrypted by the symmetric key shared by the last forwarding node: the identification information out of the message loop-off forwarding, the Routing information and the message body EMSG of the next stage of the ith Routing loop obtained by decryption, and the hash value of the symmetric key shared by the stage path head node and the last forwarding node;
for ni≥j>1, the j-th layer information generated by the stage path head node includes: stage path head node and nthiHash value of symmetric key shared by +1-j forwarding nodes, and using the hash value with the nth forwarding nodeiThe following information encrypted by the symmetric key shared by +1-j forwarding nodes: layer j-1 information, and stage path head node and niHash values of symmetric keys shared by +1-j forwarding nodes;
wherein, for the condition that m > i is more than or equal to 1, the message body EMSG is the i-1 layer information generated before the client; for the case of i ═ m, EMSG is specifically the message content.
Preferably, the sequentially decrypting, by the first node to the last node of the forwarding node in the ith Routing ring, the information encrypted at each hierarchy level in the information encrypted at the hierarchy level, and forwarding, by the last node of the forwarding node in the ith Routing ring, the message content according to the decrypted Routing information specifically includes:
the 1 st forwarding node in the ith Routing ring receives n sent by the phase path head node of the ith Routing ringiAfter the information of the layer hierarchy is encrypted, the hash values of the symmetric keys shared by the node in the hash value list and other nodes in the ith Routing ring are respectively compared with the hash values in the received information; and taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information to obtain the following information: n thi-layer 1 information, and a hash value of a symmetric key shared by the phase path head node of the ith Routing ring and the local node; verifying the correctness of the decryption information by the 1 st forwarding node of the ith Routing ring according to the hash value of the decrypted key;
after determining that no plaintext information exists in the decrypted information, the 1 st forwarding node of the ith Routing ring continuously sends the decrypted information to the next hop node;
for ni>j>1, after a jth forwarding node of an ith Routing ring receives information sent by a previous hop of node, comparing hash values of symmetric keys shared by the node and other nodes in the ith Routing ring in a hash value list with the hash values in the received information respectively; and taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information to obtain the following information: n thi-j-layer information, and a hash value of a symmetric key shared by the phase path head node of the ith Routing ring and the node; verifying the correctness of the decryption information by the jth forwarding node of the ith Routing ring according to the hash value of the decrypted key;
after determining that no plaintext information exists in the decrypted information, the jth forwarding node of the ith Routing ring continuously sends the decrypted information to the next hop node;
n of ith Routing ringiAfter receiving the information sent by the previous hop of node, each forwarding node compares the hash value of the symmetric key shared by the node and other nodes of the ith Routing ring in the hash value list with the hash value in the received information respectively; taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information; n of ith Routing ringiAnd the forwarding nodes verify the correctness of the decrypted information according to the hash value of the decrypted key, and after the decrypted information is determined to have plaintext information and the identification information out of the message loop-off forwarding is identified, the decrypted information is sent to the node outside the loop of the ith Routing loop according to the decrypted Routing information.
The present invention also provides a client, including:
a head node selection module, configured to select, for a message content to be forwarded, at least two Routing rings in the anonymous communication network, where the Routing rings are respectively used as rings where paths of each stage of forwarding the message content are located; selecting a node from each selected Routing ring as a stage path head node of the Routing ring and setting the length of a stage path for the Routing ring;
and the head node information sending module is used for generating a multi-stage path encryption data packet, sending the multi-stage path encryption data packet to the stage path head node of the 1 st Routing ring, and forwarding the message content through each selected Routing ring.
The invention also provides a node in the Routing ring, comprising:
the external information receiving module is used for decrypting the encrypted information received from the outside of the ring by using the private key of the node; determining forwarding nodes of the message content in the Routing ring according to the stage path parameters obtained by decryption, and after carrying out hierarchical encryption on the information obtained by decryption by using symmetric keys shared with the forwarding nodes respectively, sending the hierarchical encrypted information to a first node in the forwarding nodes of the Routing ring;
the information forwarding module is used for decrypting the information received from the previous hop node in the ring by using a symmetric key shared with the stage path head node; if the plaintext information is decrypted, forwarding the message content to the outside of the ring according to the next-stage routing information in the decrypted plaintext information; otherwise, the decrypted information is sent to the next hop node in the ring.
In the technical scheme of the invention, after a client selects at least two Routing rings in the anonymous communication network to be respectively used as each stage path for forwarding a message, aiming at each selected Routing ring, one node is selected from the Routing ring to be used as a stage path head node of the Routing ring; the client side carries out hierarchical encryption on message content to be forwarded by using the public key of each stage of path head node, generates a multi-stage path encryption data packet, sends the multi-stage path encryption data packet to one stage of path head node, and forwards the message content through each selected Routing ring. The sender client of the message only needs to appoint the head node and the path length of the message transmission path at each stage, and does not need to appoint all transmission paths of the message, thereby separating the communication relationship between two communication parties and ensuring the anonymity and the safety of the communication relationship.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a flowchart of a method for constructing an anonymous communication network based on a ring architecture according to an embodiment of the present invention;
fig. 2 is a flowchart of a method for generating an asymmetric key by a directory server and a ring node according to an embodiment of the present invention;
FIG. 3a is a diagram of a hierarchical encrypted data packet according to an embodiment of the present invention;
fig. 3b is a schematic diagram of an annular structure of a constructed Routing ring according to an embodiment of the present invention;
fig. 4 is a flowchart of a message forwarding method for multi-stage routing in an anonymous communication network according to an embodiment of the present invention;
fig. 5 is a flowchart of a method for forwarding Routing in-loop messages according to an embodiment of the present invention;
fig. 6 is a block diagram of an internal structure of a directory server according to an embodiment of the present invention;
fig. 7 is a block diagram of an internal structure of a client according to an embodiment of the present invention;
fig. 8 is a block diagram of an internal structure of a node in a Routing ring according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to specific embodiments and the accompanying drawings.
It is to be noted that technical terms or scientific terms used in the embodiments of the present invention should have the ordinary meanings as understood by those having ordinary skill in the art to which the present disclosure belongs, unless otherwise defined. The use of "first," "second," and similar terms in this disclosure is not intended to indicate any order, quantity, or importance, but rather is used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that the element or item listed before the word covers the element or item listed after the word and its equivalents, but does not exclude other elements or items. The terms "connected" or "coupled" and the like are not restricted to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", and the like are used merely to indicate relative positional relationships, and when the absolute position of the object being described is changed, the relative positional relationships may also be changed accordingly.
The inventor of the present invention considers that an anonymous communication network is constructed, wherein the network comprises a plurality of flow aggregation rings with ring structures, or Routing rings; in a traffic aggregation ring (Routing ring), on the one hand, all nodes have the same function and can play the following roles:
(1) EntryNode (entry node): receiving an incoming ring message (InMSG) sent to a ring by an outer ring node, and forwarding the incoming ring message to a downstream node after performing message conversion according to a protocol;
(2) ExitNode (egress node): receiving an out-loop message (OutMSG) forwarded by the upstream node, and sending the out-loop message to the out-loop node according to the routing information.
On the other hand, the information held by all nodes in the traffic aggregation ring (Routing ring) is consistent, and the following three types of information are known:
(1) any node only knows the address information of upstream and downstream nodes, namely IP addresses and Port information;
(2) any pair of nodes i and j on the ring share a symmetric key;
(3) any node knows the order in which the symmetric keys are shared with other nodes on the ring, which also means that the node knows the number of nodes on the ring, and the order in which the nodes on the ring are arranged.
The anonymous communication network based on a plurality of Routing rings can ensure that a sender of a message only needs to specify the head node and the path length of the message transmission path of each stage and does not need to specify all the transmission paths of the message, thereby separating the communication relationship of two communication parties and ensuring the anonymity and the safety of the communication relationship.
The technical solution of the embodiments of the present invention is described in detail below with reference to the accompanying drawings.
The embodiment of the invention provides a method for constructing an anonymous communication network based on a Routing ring, a specific flow is shown in figure 1, and the method comprises the following steps:
step S101: an authoritative directory server selects a plurality of nodes for a Routing ring to be constructed.
Specifically, the authoritative directory server selects a plurality of nodes as ring nodes for the Routing ring to be constructed based on a ring node selection algorithm from the node information maintained by the authoritative directory server, for example, r nodes are selected as ring nodes, and information such as public keys and IP ports of the selected nodes is collected to start an initialization process. The ring nodes should be high-speed, stable and high-quality nodes, so the node selection algorithm can set some basic safety limits with reference to the existing anonymous communication system, and can further consider the node reputation (reputations): (1) the node bandwidth is greater than a certain threshold, the stable running time exceeds a certain time, and the credit is good; (2) the adjacent nodes can not be located in the same address field, and the adjacent nodes are located in different autonomous domains and countries. That is, whether the node satisfies the node reputation needs to be considered when selecting the ring node. Wherein r is a natural number set to be greater than 1.
Step S102: the directory server generates asymmetric keys with the selected nodes respectively, and stores the public keys returned by the nodes.
Specifically, the directory server randomly sorts the selected ring nodes, forms a ring initialization path from the sorted ring nodes, sequentially generates asymmetric keys with the nodes in the ring initialization path from a first node to a last node in the ring initialization path, and stores public keys in the asymmetric keys returned by the nodes; and for each node in the ring initialization path, the directory server stores the public key returned by the node as the public key of the node on the Routing ring.
For a ring node in the ring initialization path, the specific process of the directory server and the ring node generating the asymmetric key may include the following sub-steps as shown in fig. 2:
substep S201: the directory server sends Routing ring public key request information carrying Routing ring identification (RingID) to the ring node.
Substep S202: and after receiving the Routing ring public key request information, the ring node acquires the identifier (ringID) of the Routing ring, generates a pair of asymmetric keys and stores the asymmetric keys corresponding to the ringID.
Substep S203: and the link point returns the public key in the asymmetric key to the directory server.
Thus, the directory server can obtain the Routing ring public key of each node in the ring initialization path; for example, for node A, B … … G in the ring initialization path, the directory server may obtain the Routing ring public key of A, B … … G: RRingPubKeyA, RRingPubKeyB, …, RRingPubKeyG; the directory server may save Routing ring public keys of the nodes in the ring initialization path corresponding to the RingID.
Step S103: and the directory server assists in generating a symmetric key shared between any two nodes of the Routing ring according to the public key of each node.
Specifically, taking the kth node in the ring initialization path as the kth node of the Routing ring; in the Routing ring to be constructed, adjacent nodes have a connection relationship, and the last node and the first node also have a connection relationship, so that an annular structure can be formed; aiming at the ring structure, a directory server is used as a middle man to assist each node to establish a shared symmetric key RRK with other nodes clockwise through a D-H (key exchange protocol) key negotiation process; for a Routing ring with r nodes as ring nodes, r (r-1) times of key negotiation is required in the process to generate r (r-1) symmetric keys;
in the process, for one node in the Routing ring, the directory server assists the node and other nodes to establish a shared symmetric key through a D-H key negotiation process according to the sequence of each node in the ring initialization path.
Therefore, after r (r-1) key negotiations, each node and other nodes of the Routing ring all have shared symmetric keys, and each node can acquire the arrangement sequence of the nodes on the Routing ring and the number of the nodes on the Routing ring through the key negotiation sequence with the other nodes of the Routing ring. For example, the ring initialization path of the Routing ring is: node a-node B-node C-node D-node E-node F-node G, node a may know that the order of the nodes on the Routing ring is: node B-node C-node D-node E-node F-node G, node B may know that the order of the nodes on the Routing ring is: node C-node D-node E-node F-node G-node a.
Step S104: and the directory server generates a hierarchy encrypted data packet by using the public key of each node and sends the hierarchy encrypted data packet to the first node of the Routing ring.
Specifically, for a Routing ring with r nodes, the directory server generates r layers of encrypted data packets; the generated encryption information of the r-layer encrypted data packet from the outermost layer to the innermost layer sequentially corresponds to the 1 st node to the last node in the Routing ring, that is, the directory server generates the 1 st layer information in the r-layer encrypted data packet, which corresponds to the last node in the Routing ring.
The directory server generates information from a layer 1 to a layer r, so that an r-layer encrypted data packet is obtained; when the directory server generates the layer 1 information of the hierarchical encrypted data packet, the following information is encrypted by using the public key of the last node in the Routing ring: address information (including an IP address and port information) of a next hop node of the last node in the Routing ring, identification information closed ring of the last node in the ring, a random number nonce generated by the directory server, and an identification (ring id) of the Routing ring; wherein, the last node in the Routing ring is the next hop node in the Routing ring, specifically, the 1 st node in the Routing ring.
For the case that r > i >1, when the directory server generates the ith layer information of the hierarchical encrypted data packet, the following information is encrypted by using the public key of the (r + 1-i) th node in the Routing ring: address information (including IP address and port information) of the next hop node of the r +1-i th node in the Routing ring, identification information extendering of the non-last node in the ring, identification (ring ID) of the Routing ring, and the previously generated i-1 st layer information; wherein, for the case that i >1, the r +1-i th nodes in the Routing ring are the next hop nodes in the Routing ring, specifically the r +2-i th nodes in the Routing ring.
When the directory server generates the r-th layer information of the hierarchical encrypted data packet, the public key of the 1 st node in the Routing ring is used for encrypting the following information: address information (including an IP address and port information) of a next hop node of a 1 st node in the Routing ring, identification information extendering of a non-last node in the ring, identification (ring ID) of the Routing ring, the random number nonce, and previously generated r-1 layer information; wherein, the 1 st node in the Routing ring is the next hop node in the Routing ring, specifically, the 2 nd node in the Routing ring.
For example, a Routing ring has 7 nodes, and its ring initialization path is: node a-node B-node C-node D-node E-node F-node G, the generated hierarchical encrypted data packet is specifically a 7-layer encrypted data packet, as shown in fig. 3 a.
Thereafter, the directory server transmits the generated hierarchical encrypted packet to the 1 st node in the ring initialization path.
Step S105: transmitting the hierarchical encrypted data packet from the first node to the last node of the Routing ring, and sequentially and respectively decrypting each hierarchical encrypted information in the hierarchical encrypted data packet by each node to obtain the address information of the next hop node; each node can establish a Routing ring which is linked to form a ring structure according to the obtained address information of the next hop node.
Specifically, for a Routing ring of r nodes, the jth node in the ring initialization path is the jth node of the Routing ring, wherein j is a natural number from 1 to r; the hierarchical encrypted data packet is transmitted from the first node to the last node of the Routing ring, and the first node to the last node of the Routing ring sequentially decrypt the information encrypted by each hierarchy in the hierarchical encrypted data packet to obtain the address information of the next hop node:
for a Routing ring with r nodes, the 1 st node of the Routing ring decrypts the encryption information at the outermost layer in the hierarchical encryption data packet, namely the r-th layer information: since the r-th layer information is obtained by the directory server through encryption by the public key of the 1 st node of the Routing ring, the r-th layer information can be decrypted by the private key in the asymmetric key generated by the 1 st node of the Routing ring, so as to obtain the following information: address information (including IP address and port information) of a next hop node of the 1 st node of the Routing ring, identification information extendering of a non-last node in the ring, identification (ring id) of the Routing ring, the random number nonce mentioned above, and the r-1 layer information generated before;
the 1 st node of the Routing ring stores the address information of the next hop node, and according to the decrypted identification information extendering of the non-last node in the ring, after a link is established with the next hop node according to the address information of the next hop node, the r-1 layer information is continuously sent to the next hop node of the 1 st node of the Routing ring;
for example, after receiving the hierarchical encrypted data packet shown in fig. 3a, the node a decrypts the outermost layer information by using the private key, so as to obtain the following information: address information (including IP address and port information) of a next hop node, i.e., node B, identification information extendedring, identification (RingID) of Routing ring, the above-mentioned random number nonce, and previously generated layer 6 information;
the node A determines that the node is the non-last node in the ring according to the identification information extendering, so that the transmission of the hierarchical encrypted data packet is continued: and the node A establishes a link with the node B according to the address information of the node B and sends the layer 6 information in the hierarchical encrypted data packet to the node B.
For the case that 1< i < r, the ith node of the Routing ring decrypts the r +1-i layer information in the hierarchical encrypted data packet: since the r +1-i layer information is obtained by the directory server through encryption by the public key of the ith node of the Routing ring, the ith node of the Routing ring can decrypt the information by using the private key in the generated asymmetric key, thereby obtaining the following information: address information (including an IP address and port information) of a next hop node of an ith node of the Routing ring, identification information extendering of a non-last node in the ring, an identification (ring id) of the Routing ring, and previously generated r-i layer information;
the ith node of the Routing ring stores the address information of the next hop node, and according to the decrypted identification information extendering of the non-last node in the ring, after a link is established with the next hop node according to the address information of the next hop node, the r-i layer information is continuously sent to the next hop node of the ith node of the Routing ring;
for example, after receiving the encrypted data packet sent by the node a, the node B decrypts the layer 6 information by using the private key, so as to obtain the following information: address information (including IP address and port information), identification information extendedring, identification (RingID) of Routing ring, and previously generated layer 5 information of the next hop node, i.e., node C;
and the node B determines that the node is the non-last node in the ring according to the identification information extendering, so that the transmission of the hierarchical encrypted data packet is continued: and the node B establishes a link with the node C according to the address information of the node C and sends the layer 5 information in the hierarchical encrypted data packet to the node C.
The nth node of the Routing ring decrypts the layer 1 information in the hierarchical encrypted data packet: since the layer 1 information is obtained by the directory server through encryption by the public key of the r-th node of the Routing ring, the r-th node of the Routing ring can decrypt it with the private key, thereby obtaining the following information: address information (including IP address and port information) of a next hop node of an r-th node of a Routing ring, identification information closed ring of a last node in the ring, identification (ring id) of the Routing ring, and a random number nonce;
determining that the current node is the last node according to the decrypted identification information closed Ring of the last node in the ring, and after storing the address information of the next-hop node, acquiring a symmetric key shared with the next-hop node, namely acquiring the symmetric key shared with the 1 st node of the Routing ring; since each node knows the arrangement sequence of the nodes on the Routing ring and the symmetric key shared by other nodes, the r-th node can determine the 1 st node and the symmetric key shared by the 1 st node according to the known arrangement sequence of the nodes on the Routing ring;
the r node of the Routing ring encrypts a random number nonce according to a symmetric key shared with the 1 st node and then sends the encrypted random number nonce to a next hop node, namely the 1 st node of the Routing ring; thus, the 1 st node of the Routing ring may receive the encrypted random number nonce sent by the r-th node.
For example, after receiving the encrypted data packet sent by the node F, the node G decrypts the layer 1 information by using the private key, so as to obtain the following information: address information (including IP address and port information), identification information closed ring, identification of Routing ring (ring id), random number nonce of the next hop node, i.e., node a;
the node G determines that the node is the last node in the ring according to the identification information closed Ring, so that the transmission of the hierarchical encrypted data packet is not continued; the random number nonce is encrypted according to a symmetric key shared by the node A and then is sent to the next hop node, namely the node A; thus, node a may receive the encrypted random number nonce sent by node G.
After the 1 st node of the Routing ring decrypts the random number nonce by using the symmetric key shared by the r-th node, comparing the current decrypted random number nonce with the previously decrypted random number nonce, and if the comparison result is consistent, successfully establishing the Routing ring with the annular structure; if the comparison result is inconsistent, the Routing ring of the ring structure is established unsuccessfully. The 1 st node of the Routing ring may return the establishment result of the Routing ring to the directory server. Thus, after the Routing ring of the ring structure is successfully established, any node in the Routing ring only knows the address information of the up-and-down-hop nodes, namely the IP address and the Port information.
For example, the loop initialization path described above: after a Routing ring is constructed, a ring structure obtained by a node A, a node B, a node C, a node D, a node E, a node F and a node G is shown in FIG. 3B.
Step S106: the directory server publishes the relevant information of the Routing ring.
Specifically, the directory server publishes the public key information of each node of the Routing ring, but does not publish the arrangement order of each node on the Routing ring.
When the client side can transmit the message through the anonymous communication network of the Routing ring with the ring structure constructed based on the method, only the head node and the path length of the message transmission path at each stage are required to be appointed, and all the transmission paths of the message are not required to be appointed, so that the communication relationship between two communication parties is separated, and the purpose of ensuring the anonymity and the safety of the communication relationship is achieved. The message forwarding method of the multistage routing in the anonymous communication network provided by the embodiment of the invention has the flow shown in fig. 4, and comprises the following steps:
step S401: the client selects at least two Routing rings in the anonymous communication network according to the message content to be forwarded, and the Routing rings are respectively used as rings where paths of each stage for forwarding the message content are located.
Step S402: and the client selects a node from each selected Routing ring as a stage path head node of the Routing ring aiming at each selected Routing ring, and sets the length of the stage path for the Routing ring.
Thus, the selected phase path head node is used as entry node of Routing ring; in fact, the client may randomly select one node in the Routing ring as the phase path head node, that is, any node in the Routing ring may be an entry node (ingress node) of the Routing ring.
Step S403: the client encrypts the message content to be forwarded by using the public key of the path head node of each stage in a hierarchical manner to generate a multi-stage path encryption data packet.
Specifically, the client determines the ordering of the Routing rings where the stage paths are located according to the sequence of forwarding the message by the stage paths, that is, the Routing rings where the stage paths forwarding the message first are ordered before the stage paths forwarding the message first.
And the client generates m layers of encrypted data packets for the selected m Routing rings, wherein the generated encrypted information of the m layers of encrypted data packets from the outermost layer to the innermost layer sequentially corresponds to the 1 st Routing ring to the m Routing ring in sequence.
The client generates information from a layer 1 to a layer m, so that an m-layer encrypted multi-stage path encrypted data packet is obtained;
when the client generates the layer 1 information, the following information is encrypted by using the public key of the phase path head node of the mth Routing ring: the phase path parameter PathParam of the mth Routing ring, the message content and the lower-phase Routing information of the mth Routing ring; the lower-stage Routing information of the mth Routing ring may specifically be the Routing information of the destination node of the message content;
for the condition that m is more than or equal to i >1, when the client generates the ith layer information, the public key of the stage path head node of the (m + 1-i) th Routing ring is used for encrypting the following information: the phase path parameter PathParam of the ith Routing ring, the previously generated i-1 layer information of the client and the lower-phase Routing information of the ith Routing ring; wherein, the lower-stage Routing information of the ith Routing ring is specifically the Routing information of the stage path head node of the (i + 1) th Routing ring;
wherein, the phase path parameter PathParam of the Routing ring includes: the length of the phase path in the Routing ring may further include: a delay parameter for message forwarding in the phase path.
Step S404: and the client sends the multi-stage path encryption data packet to a stage path head node, and the message content is forwarded through each selected Routing ring.
Specifically, after the phase path head node of the ith Routing ring receives the encrypted data packet from outside the ring, a specific method flow for forwarding the message content in the ith Routing ring is shown in fig. 5, and includes the following sub-steps:
substep S501: and the phase path head node of the ith Routing ring decrypts the received encrypted information by using the private key of the node.
Specifically, for the case that m > i ≧ 1, the phase path head node of the ith Routing ring decrypts the received encrypted information by using the private key of the node after receiving the information encrypted by using the public key of the node, so as to obtain the following information: the phase path parameter PathParam of the ith Routing ring, the i-1 layer information generated by the client before, and the lower-phase Routing information of the ith Routing ring.
If i ═ m, after receiving the information encrypted by the public key of the node, the phase path head node of the ith Routing ring decrypts the received encrypted information by the private key of the node, so as to obtain the following information: the phase path parameter PathParam of the mth Routing ring, the message content and the lower-phase Routing information of the mth Routing ring; the lower-stage Routing information of the mth Routing ring may specifically be the Routing information of the destination node of the message content.
Substep S502: and the phase path head node of the ith Routing ring determines the forwarding node of the message content in the ith Routing ring according to the phase path parameters obtained by decryption.
Specifically, the phase path head node of the ith Routing ring obtains the length k of the phase path in the phase path parameter of the ith Routing ring according to decryptioniDetermining the number of nodes passed by the message content in the ith Routing ring as kiTherefore, the path head node at this stage may determine that the number of forwarding nodes for forwarding the message content after the node in the ith Routing ring is ni=ki-1, further determining n arranged after the node according to the arrangement sequence of the nodes on the ith Routing ringiEach node is a forwarding node.
For example, if the length of the stage path obtained by decryption is 4, it may be determined that the number of forwarding nodes in the ith Routing ring is 3, and further, according to the arrangement order of the nodes on the ith Routing ring, 3 nodes arranged after the own node are determined as forwarding nodes.
For example, if the ring structure of the ith Routing ring is as shown in fig. 3B, the phase path head node of the ith Routing ring is node a, and the length of the phase path decrypted by node a is 4, it is determined that the number of forwarding nodes in the ith Routing ring is 3, and then node B, node C, and node D in the ith Routing ring are determined to be forwarding nodes in the ith Routing ring.
Substep S503: and after the stage path head node of the ith Routing ring performs hierarchical encryption on the decrypted information by using the symmetric keys shared with all the forwarding nodes, the hierarchical encrypted information is sent to the 1 st forwarding node of the ith Routing ring.
Specifically, the stage path head node of the ith Routing ring determines that the number of forwarding nodes is niThen, the layers from 1 st to n are generatediLayer information, thereby obtaining niLayer-level encrypted information, wherein the encrypted information from the outermost layer to the innermost layer corresponds in turn to the 1 st forwarding node toThe last forwarding node; and the arranging order of the forwarding nodes is determined according to the arranging order of the forwarding nodes on the ith Routing ring.
The layer 1 information generated by the phase path head node of the ith Routing ring includes: the hash value of the symmetric key shared by the phase path head node and the last forwarding node of the ith Routing ring, and the following information encrypted by the symmetric key shared by the last forwarding node: the identification information out of the message loop-off forwarding, the Routing information and the message body EMSG of the next stage of the ith Routing loop obtained by decryption, and the hash value of the symmetric key shared by the stage path head node and the last forwarding node; in addition, the encrypted information may further include: delay parameters in the phase path parameters PathParam of the ith Routing loop. Wherein, for the condition that m > i is more than or equal to 1, the message body EMSG is the i-1 layer information generated before the client; for the case of i ═ m, EMSG is specifically the message content.
For example, as shown in the ith Routing ring of the ring structure in fig. 3B, the phase path head node of the Routing ring is node a, and it is determined that node B, node C, and node D are forwarding nodes in the ith Routing ring; the layer 1 information generated by the node a is:
GenuMsg=<H(RRKAD),RRKAD(“_out”,RoutInfo,EMSG,H(·))>
wherein, H (RRK)AD) Symmetric key RRK representing the sharing of node A with the last forwarding node, node DADRepresents a symmetric key RRK that node A shares with the last forwarding node, node DADThe hash value of (1); RRKAD("_ out", RoutetInfo, EMSG, H (-)) represents a symmetric key RRK shared with node D using node AADEncrypting the phase path parameter PathParam of the ith Routing ring, the identification information out forwarded by message loop disconnection, the Routing info of the lower phase of the ith Routing ring and the message body EMSG to obtain information; wherein, for m>When i is more than or equal to 1, the message body EMSG is specifically the i-1 layer information generated before the client; for the case of i ═ m, EMSG is specifically the message content.
For ni≥j>1, the j-th layer information generated by the stage path head node includes: stage path head node and nthiHash value of symmetric key shared by +1-j forwarding nodes, and using the hash value with the nth forwarding nodeiThe following information encrypted by the symmetric key shared by +1-j forwarding nodes: layer j-1 information, and stage path head node and niA hash value of a symmetric key shared by +1-j forwarding nodes, and the encrypted information may further include: delay parameters in the phase path parameters PathParam of the ith Routing loop.
For example, after the node a generates layer 2 and layer 3 information corresponding to the node C and the node B, layer 3 hierarchical encrypted information is obtained:
Msg=H(RRKAB),RRKAB(H(RRKAC),RRKAC(GenuMsg,H(RRKAC)),H(RRKAB))
wherein, H (RRK)AC),RRKAC(GenuMsg,H(RRKAC) Layer 2 information generated for node a corresponding to node C; h (RRK)AC) Symmetric key RRK representing node A and node C sharingACThe hash value of (1); h (RRK)AB) Symmetric key RRK representing node A and node B sharingABThe hash value of (1).
N obtained by the phase path head node of the ith Routing ringiThe layer level encrypted information is sent to the 1 st forwarding node of the ith Routing ring.
Substep S504: and sequentially decrypting the information encrypted in each hierarchy in the information encrypted in the hierarchy by the first node to the last node of the forwarding node in the ith Routing ring, and forwarding the message content by the last node of the forwarding node in the ith Routing ring according to the decrypted Routing information.
Specifically, the 1 st forwarding node in the ith Routing ring receives n sent by the phase path head node of the ith Routing ringiAfter the information of the layer hierarchy is encrypted, the hash values of the symmetric key shared by the node in the hash value list and other nodes in the ith Routing ring are respectively compared with the hash values of the symmetric key in the received informationComparing the hash values; and taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information to obtain the following information: n thi-layer 1 information, and a hash value of a symmetric key shared by the phase path head node of the ith Routing ring and the local node; verifying the correctness of the decryption information by the 1 st forwarding node of the ith Routing ring according to the hash value of the decrypted key;
after determining that the decrypted information does not contain plaintext information, the 1 st forwarding node of the ith Routing ring continues to send the decrypted information to the next hop node, namely the 2 nd forwarding node of the ith Routing ring; in addition, if the decrypted information of the 1 st forwarding node of the ith Routing ring further includes a delay parameter, the 1 st forwarding node of the ith Routing ring continues to send the decrypted information to the next hop node after performing time delay according to the delay parameter.
For example, after receiving the hierarchical encrypted message Msg sent by node a, node B compares the hash values of the symmetric keys shared by this node and other nodes in the ith Routing ring in the hash value list with the hash values in the received message, so as to find H (RRK) from the listAB) And H (RRK) in MsgAB) The comparison results are consistent, thereby utilizing RRKABDecrypting the encrypted information in the received message Msg to obtain the following information: h (RRK)AC),RRKAC(GenuMsg,H(RRKAC)),H(RRKAB) (ii) a Node B according to decrypted key hash value H (RRK)AB) H (RRK) with hash value found in listAB) Consistency, verifying the correctness of the decryption information;
after the node B determines that no plaintext information exists in the decrypted information, the node B continuously sends the decrypted information to a next hop node, namely the node C.
For ni>j>1, after the jth forwarding node of the ith Routing ring receives the information sent by the previous hop of node, respectively receiving the hash values of the symmetric key shared by the node and other nodes in the ith Routing ring in the hash value listComparing hash values in the obtained information; and taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information to obtain the following information: n thi-j-layer information, and a hash value of a symmetric key shared by the phase path head node of the ith Routing ring and the node; verifying the correctness of the decryption information by the jth forwarding node of the ith Routing ring according to the hash value of the decrypted key;
after determining that the decrypted information does not contain plaintext information, the jth forwarding node of the ith Routing ring continues to send the decrypted information to the next hop node, namely the jth +1 forwarding node; in addition, if the decrypted information further includes a delay parameter, the jth forwarding node continues to send the decrypted information to the next-hop node after performing time delay according to the delay parameter.
For example, after receiving the information sent by the node B, the node C compares the hash values of the symmetric key shared by the node and other nodes in the ith Routing ring in the hash value list with the hash values in the received information, so as to find H (RRK) from the listAC) And H (RRK) in MsgAC) The comparison results are consistent, thereby utilizing RRKACDecrypting the encrypted information in the received information to obtain the following information: GenuMsg, H (RRK)AC) (ii) a Node C according to decrypted key hash value H (RRK)AC) H (RRK) with hash value found in listAC) Consistency, verifying the correctness of the decryption information;
and after the node C determines that no plaintext information exists in the decrypted information, the node C continuously sends the decrypted information to a next hop node, namely the node D.
N of ith Routing ringiAfter receiving the information sent by the previous hop of node, each forwarding node compares the hash value of the symmetric key shared by the node and other nodes of the ith Routing ring in the hash value list with the hash value in the received information respectively; taking the key corresponding to the hash value with the consistent comparison result as a decryption key to perform encryption on the received informationDecrypting; n of ith Routing ringiAnd the forwarding node verifies the correctness of the decryption information according to the hash value of the decrypted key, identifies the identification information out of the message loop-off forwarding after determining that the decrypted information has plaintext information and identifies the identification information out, and then serves as an ExitNode (exit node) of the Routing loop to send the decrypted information to the node outside the loop according to the decrypted Routing information.
In particular, for m>if i is greater than or equal to 1, the nth ring of the ith Routing ringiThe following information is obtained by decrypting the forwarding nodes: the phase path parameter PathParam of the ith Routing ring, the previously generated i-1 layer information of the client and the lower-phase Routing information of the ith Routing ring; for the case where m is i, the nth ring of the ith Routing ringiThe following information is obtained by decrypting the forwarding nodes: the phase path parameter PathParam of the mth Routing ring, the message content, and the next-phase Routing information of the mth Routing ring.
For example, after the node D receives the information GenuMsg sent by the node C, the hash values of the symmetric key shared by the node D and other nodes in the ith Routing ring in the hash value list are respectively compared with the hash values in the received information, so as to find H (RRK) from the listAD) And H (RRK) in GenuMsgAD) The comparison results are consistent, thereby utilizing RRKADDecrypting the encrypted information in the received information to obtain the following information: "_ out", RoutInfo, EMSG, H (·); node D compares the decrypted key hash value H (-) with the hash value H (RRK) found in the listAD) Consistency, verifying the correctness of the decryption information;
and after the node D determines that the decrypted information has plaintext information and identifies the identification information out forwarded by the message in an out-of-loop manner, the node D sends the decrypted information to the out-of-loop node according to the decrypted routing information RoutetInfo.
Due to the length k of the phase path of the ith Routing loopiThe method is set by a client, so any node of the Routing ring can be used as an ExitNode (exit node) of the Routing ring. Wherein, the length k of the phase path of the ith Routing ring set by the client1Order of the mth Routing ringLength k of segment pathmThe values may or may not be equal.
It can be seen from the above that the nodes of the Routing ring constructed by the present invention can all assume the following roles: entry node, exit node, and nodes on the ring that pass information; any node of the Routing ring only knows the address information of the upstream and downstream nodes; any pair of nodes i and j on the ring share a symmetric key; any node knows the order in which the symmetric keys are shared with other nodes on the ring, which also means that the node knows the number of nodes on the ring, and the order in which the nodes on the ring are arranged.
A specific internal structure of the directory server, as shown in fig. 6, includes: a ring node selection module 601, an asymmetric key generation module 602, a symmetric key assistance generation module 603, and a hierarchical encryption module 604.
The ring node selection module 601 is used for selecting a plurality of nodes for a Routing ring to be constructed;
the asymmetric key generation module 602 is configured to generate an asymmetric key with each node selected by the ring node selection module 601, and store a public key returned by each node;
the symmetric key assisting generation module 603 is configured to assist in generating a symmetric key shared between any two nodes of the Routing ring according to the public key of each node;
the hierarchical encryption module 604 is configured to generate a hierarchical encrypted data packet by using the public key of each node, send the hierarchical encrypted data packet to the first node of the Routing ring, sequentially decrypt information encrypted at each level in the hierarchical encrypted data packet from the first node to the last node of the Routing ring, and obtain address information of a next-hop node, so that each node establishes a link according to the obtained address information of the next-hop node to form a Routing ring with a ring structure.
Specifically, the hierarchical encryption module 604 may generate layer 1 to layer r information for a Routing ring with r nodes by the directory server according to the following method, so as to obtain layer r encrypted packets: when the layer 1 information of the hierarchical encryption data packet is generated, the public key of the last node in the Routing ring is used for encrypting the following information: address information of a next hop node of the last node in the Routing ring, identification information closed Ring of the last node in the Routing ring, a random number nonce generated by a directory server, and an identification Ring ID of the Routing ring; wherein, the last node in the Routing ring is the next hop node in the Routing ring, specifically the 1 st node in the Routing ring; for the case that r > i >1, when generating the i-th layer information of the hierarchical encrypted data packet, the following information is encrypted by using the public key of the (r + 1-i) th node in the Routing ring: address information of a next hop node of an r +1-i node in the Routing ring, identification information extendering of a non-last node in the ring, identification ring ID of the Routing ring and previously generated i-1 layer information; wherein, the (r + 1) th node in the Routing ring is the next hop node in the Routing ring, specifically the (r + 2) th node in the Routing ring; when the r-th layer information of the hierarchical encrypted data packet is generated, the public key of the 1 st node in the Routing ring is used for encrypting the following information: address information of a next hop node of the 1 st node in the Routing ring, identification information extendering of a non-last node in the Routing ring, an identification ring ID of the Routing ring, the random number nonce, and the previously generated r-1 layer information; wherein, the 1 st node in the Routing ring is the next hop node in the Routing ring, specifically, the 2 nd node in the Routing ring.
The method for implementing the specific functions of the modules in the directory server may refer to the method of the steps in the flow shown in fig. 1.
A specific internal structure of the client, as shown in fig. 7, includes: a head node selection module 701 and a head node information sending module 702.
The head node selection module 701 is configured to select, for a message content to be forwarded, at least two Routing rings in the anonymous communication network, where the Routing rings are respectively used as rings where paths of each stage of forwarding the message content are located; selecting a node from each selected Routing ring as a stage path head node of the Routing ring and setting the length of a stage path for the Routing ring;
the head node information sending module 702 is configured to generate a multi-stage path encryption data packet, send the multi-stage path encryption data packet to the stage path head node of the 1 st Routing ring, and forward the message content through each selected Routing ring.
Specifically, the head node information sending module 702 forwards the order of the messages according to the paths at each stage, and further generates m-layer encrypted data packets for the selected m Routing rings, thereby obtaining m-layer encrypted multi-stage path encrypted data packets; when generating layer 1 information, the head node information sending module 702 encrypts the following information by using the public key of the phase path head node of the mth Routing ring: the phase path parameter PathParam of the mth Routing ring, the message content and the Routing information behind the mth Routing ring; the Routing information after the mth Routing ring may specifically be the Routing information of the destination node of the message content; for the case that m is greater than or equal to i >1, when generating the i-th layer information, the head node information sending module 702 encrypts the following information by using the public key of the stage path head node of the (m + 1-i) -th Routing ring: the phase path parameter PathParam of the ith Routing ring, the information of the (i-1) th layer generated by the client in the past and the Routing information of the phase path head node of the (i + 1) th Routing ring; wherein, the phase path parameter PathParam of the Routing ring includes: the length of the phase path in the Routing ring may further include: a delay parameter for message forwarding in the phase path.
The method for implementing the specific functions of the modules in the client may refer to the method in each step in the flow shown in fig. 4.
A specific internal structure of the node in the Routing ring, as shown in fig. 8, includes: an out-of-loop information receiving module 801 and an information forwarding module 802.
The outside-loop information receiving module 801 is configured to decrypt encrypted information received from outside the loop by using a private key of the node; determining forwarding nodes of the message content in the Routing ring according to the stage path parameters obtained by decryption, and after carrying out hierarchical encryption on the information obtained by decryption by using symmetric keys shared with the forwarding nodes respectively, sending the hierarchical encrypted information to a first node in the forwarding nodes of the Routing ring;
specifically, the out-of-loop information receiving module 801 decrypts the encrypted information received from outside the loop by using the private key of the node; and determining the forwarding nodes of the message content in the Routing ring according to the stage path parameters obtained by decryption, and after carrying out hierarchical encryption on the information obtained by decryption by using the symmetric keys shared with the forwarding nodes respectively, sending the hierarchical encrypted information to the first node in the forwarding nodes of the Routing ring.
Specifically, the layer 1 information generated by the out-of-loop information receiving module 801 of the phase path head node of the ith Routing loop includes: the hash value of the symmetric key shared by the phase path head node and the last forwarding node of the ith Routing ring, and the following information encrypted by the symmetric key shared by the last forwarding node: the identification information out of the message loop-off forwarding, the Routing information and the message body EMSG of the next stage of the ith Routing loop obtained by decryption, and the hash value of the symmetric key shared by the stage path head node and the last forwarding node;
for ni≥j>1, the j-th layer information generated by the out-of-loop information receiving module 801 of the phase path head node of the ith Routing loop includes: stage path head node and nthiHash value of symmetric key shared by +1-j forwarding nodes, and using the hash value with the nth forwarding nodeiThe following information encrypted by the symmetric key shared by +1-j forwarding nodes: layer j-1 information, and stage path head node and niHash values of symmetric keys shared by +1-j forwarding nodes;
wherein, for the condition that m > i is more than or equal to 1, the message body EMSG is the i-1 layer information generated before the client; for the case of i ═ m, EMSG is specifically the message content.
The information forwarding module 802 is configured to decrypt information received from a previous-hop node in the ring by using a symmetric key shared with the stage path head node; if the plaintext information is decrypted, forwarding the message content to the outside of the ring according to the routing information in the decrypted plaintext information; otherwise, the decrypted information is sent to the next hop node in the ring.
The method for implementing the specific functions of each module of the node in the Routing ring may refer to the method in each step in the flow shown in fig. 5.
The apparatus of the foregoing embodiment is used to implement the corresponding method in the foregoing embodiment, and has the beneficial effects of the corresponding method embodiment, which are not described herein again.
In the technical scheme of the invention, after a client selects at least two Routing rings in the anonymous communication network to be respectively used as each stage path for forwarding a message, aiming at each selected Routing ring, one node is selected from the Routing ring to be used as a stage path head node of the Routing ring; the client side carries out hierarchical encryption on message content to be forwarded by using the public key of each stage of path head node, generates a multi-stage path encryption data packet, sends the multi-stage path encryption data packet to one stage of path head node, and forwards the message content through each selected Routing ring. The sender client of the message only needs to appoint the head node and the path length of the message transmission path at each stage, and does not need to appoint all transmission paths of the message, thereby separating the communication relationship between two communication parties and ensuring the anonymity and the safety of the communication relationship.
Computer-readable media of the present embodiments, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, is limited to these examples; within the idea of the invention, also features in the above embodiments or in different embodiments may be combined, steps may be implemented in any order, and there are many other variations of the different aspects of the invention as described above, which are not provided in detail for the sake of brevity.
In addition, well known power/ground connections to Integrated Circuit (IC) chips and other components may or may not be shown within the provided figures for simplicity of illustration and discussion, and so as not to obscure the invention. Furthermore, devices may be shown in block diagram form in order to avoid obscuring the invention, and also in view of the fact that specifics with respect to implementation of such block diagram devices are highly dependent upon the platform within which the present invention is to be implemented (i.e., specifics should be well within purview of one skilled in the art). Where specific details (e.g., circuits) are set forth in order to describe example embodiments of the invention, it should be apparent to one skilled in the art that the invention can be practiced without, or with variation of, these specific details. Accordingly, the description is to be regarded as illustrative instead of restrictive.
While the present invention has been described in conjunction with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those of ordinary skill in the art in light of the foregoing description. For example, other memory architectures (e.g., dynamic ram (dram)) may use the discussed embodiments.
The embodiments of the invention are intended to embrace all such alternatives, modifications and variances that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, substitutions, improvements and the like that may be made without departing from the spirit and principles of the invention are intended to be included within the scope of the invention.

Claims (11)

1. A message forwarding method for multi-stage routing in an anonymous communication network is characterized by comprising the following steps:
selecting at least two traffic aggregation ring Routing rings in the anonymous communication network, and respectively taking the two traffic aggregation ring Routing rings as each stage path of a forwarding message, and then selecting a node from each selected Routing ring as a stage path head node of the Routing ring;
and carrying out hierarchical encryption on message content to be forwarded by using the public key of each stage of path head node, generating a multi-stage path encryption data packet, sending the multi-stage path encryption data packet to one stage of path head node, and forwarding the message content through each selected Routing ring.
2. The method according to claim 1, wherein the hierarchically encrypting the message content to be forwarded by using the public key of the head node of each phase path comprises:
determining the sequencing of Routing rings in which the paths of each stage are positioned according to the sequence of forwarding the messages of the paths of each stage;
for the selected m Routing rings, generating m-layer encrypted data packets, and obtaining m-layer encrypted multi-stage path encrypted data packets:
when generating the layer 1 information of the multi-stage path encryption data packet, encrypting the following information by using the public key of the stage path head node of the mth Routing ring: the phase path parameter PathParam of the mth Routing ring, the message content and the Routing information behind the mth Routing ring; the Routing information after the mth Routing ring may specifically be the Routing information of the destination node of the message content;
for the condition that m is more than or equal to i >1, when the client generates the i-th layer information of the multi-stage path encryption data packet, the client encrypts the following information by using the public key of the stage path head node of the (m + 1-i) th Routing ring: the phase path parameter PathParam of the ith Routing ring, the information of the (i-1) th layer generated by the client in the past and the Routing information of the phase path head node of the (i + 1) th Routing ring;
wherein, the phase path parameter PathParam of the Routing ring includes: length of the phase path in the Routing ring.
3. The method according to claim 2, wherein the sending the multi-stage path encryption packet to a stage path head node, and forwarding the message content through each selected Routing ring specifically includes:
after the stage path head node of the ith Routing ring receives the encrypted data packet from the outside of the ring, the stage path head node decrypts the received encrypted information by using the private key of the node, and determines a forwarding node of the message content in the ith Routing ring according to the stage path parameter obtained by decryption;
in the stage, after the route head node carries out hierarchical encryption on the information obtained by decryption by using the symmetric keys shared with all forwarding nodes respectively, the hierarchical encrypted information is sent to the 1 st forwarding node of the ith Routing ring;
and sequentially decrypting the information encrypted in each hierarchy in the information encrypted in the hierarchy by the first node to the last node of the forwarding node in the ith Routing ring, and forwarding the message content by the last node of the forwarding node in the ith Routing ring according to the decrypted Routing information.
4. The method according to claim 3, wherein the stage path head node performs hierarchical encryption on the decrypted information by using symmetric keys respectively shared with the forwarding nodes, and specifically includes:
the stage path head node of the ith Routing ring determines the number of forwarding nodes as n according to the length of the stage path in the decrypted stage path parametersiThen, the layers from 1 st to n are generatediLayer information, thereby obtaining niHierarchical encrypted information of the layer;
the layer 1 information generated by the phase path head node of the ith Routing ring includes: the hash value of the symmetric key shared by the phase path head node and the last forwarding node of the ith Routing ring, and the following information encrypted by the symmetric key shared by the last forwarding node: the identification information out of the message loop-off forwarding, the Routing information and the message body EMSG of the next stage of the ith Routing loop obtained by decryption, and the hash value of the symmetric key shared by the stage path head node and the last forwarding node;
for ni≥j>1, the j-th layer information generated by the stage path head node includes: stage path head node and nthiHash value of symmetric key shared by +1-j forwarding nodes, and using the hash value with the nth forwarding nodeiThe following information encrypted by the symmetric key shared by +1-j forwarding nodes: layer j-1 information, and stage path head node and niHash values of symmetric keys shared by +1-j forwarding nodes;
wherein, for the condition that m > i is more than or equal to 1, the message body EMSG is the i-1 layer information generated before the client; for the case of i ═ m, EMSG is specifically the message content.
5. The method according to claim 4, wherein sequentially decrypting the hierarchically encrypted information in the hierarchically encrypted information by a first node to a last node of the forwarding nodes in the ith Routing ring, and forwarding the message content by the last node of the forwarding nodes in the ith Routing ring according to the decrypted Routing information, specifically comprises:
the 1 st forwarding node in the ith Routing ring receives n sent by the phase path head node of the ith Routing ringiAfter the information of the layer hierarchy is encrypted, the hash values of the symmetric keys shared by the node in the hash value list and other nodes in the ith Routing ring are respectively compared with the hash values in the received information; and taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information to obtain the following information: n thi-layer 1 information, and a hash value of a symmetric key shared by the phase path head node of the ith Routing ring and the local node; the 1 st forwarding node of the ith Routing ring decrypts the data according to the dataThe Hash value of the key verifies the correctness of the decryption information;
after determining that no plaintext information exists in the decrypted information, the 1 st forwarding node of the ith Routing ring continuously sends the decrypted information to the next hop node;
for ni>j>1, after a jth forwarding node of an ith Routing ring receives information sent by a previous hop of node, comparing hash values of symmetric keys shared by the node and other nodes in the ith Routing ring in a hash value list with the hash values in the received information respectively; and taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information to obtain the following information: n thi-j-layer information, and a hash value of a symmetric key shared by the phase path head node of the ith Routing ring and the node; verifying the correctness of the decryption information by the jth forwarding node of the ith Routing ring according to the hash value of the decrypted key;
after determining that no plaintext information exists in the decrypted information, the jth forwarding node of the ith Routing ring continuously sends the decrypted information to the next hop node;
n of ith Routing ringiAfter receiving the information sent by the previous hop of node, each forwarding node compares the hash value of the symmetric key shared by the node and other nodes of the ith Routing ring in the hash value list with the hash value in the received information respectively; taking the key corresponding to the hash value with the consistent comparison result as a decryption key to decrypt the encrypted information in the received information; n of ith Routing ringiAnd the forwarding nodes verify the correctness of the decrypted information according to the hash value of the decrypted key, and after the decrypted information is determined to have plaintext information and the identification information out of the message loop-off forwarding is identified, the decrypted information is sent to the node outside the loop of the ith Routing loop according to the decrypted Routing information.
6. The method according to any of claims 1-5, wherein the Routing loop is constructed according to the following method:
after selecting a plurality of nodes for a Routing ring to be constructed, respectively generating asymmetric keys with the selected nodes, and storing public keys returned by the nodes;
generating a symmetric key shared between any two nodes of the Routing ring in an assisted manner according to the public key of each node;
generating a hierarchy encrypted data packet by using a public key of each node, sending the hierarchy encrypted data packet to a first node of the Routing ring, and sequentially decrypting information encrypted at each hierarchy in the hierarchy encrypted data packet from the first node to a last node of the Routing ring to obtain address information of a next hop node;
and each node establishes a link according to the obtained address information of the next hop node to form a Routing ring with a ring structure.
7. The method according to claim 6, wherein the generating a hierarchical encrypted data packet using the public key of each node specifically comprises:
for a Routing ring with r nodes, the directory server generates information from layer 1 to layer r according to the following method, so as to obtain r layers of encrypted data packets:
when the layer 1 information of the hierarchical encrypted data packet is generated, the public key of the last node in the Routing ring is used for encrypting the following information: address information of a next-hop node of the last node in the Routing ring, identification information closed Ring of the last node in the Routing ring, a random number nonce generated by a directory server, and an identification Ring ID of the Routing ring; wherein, the last node in the Routing ring is the next hop node in the Routing ring, specifically, the 1 st node in the Routing ring;
for the case that r > i >1, when generating the i-th layer information of the hierarchical encrypted data packet, the following information is encrypted by using the public key of the (r + 1-i) th node in the Routing ring: address information of a next hop node of the r +1-i th node in the Routing ring, identification information extendering of a non-last node in the Routing ring, an identification ring ID of the Routing ring, and i-1 th layer information generated before; wherein, the (r + 1) th node in the Routing ring is the next hop node in the Routing ring, specifically the (r + 2) th node in the Routing ring;
when the r-th layer information of the hierarchical encrypted data packet is generated, the public key of the 1 st node in the Routing ring is used for encrypting the following information: address information of a next hop node of the 1 st node in the Routing ring, identification information extendering of a non-last node in the Routing ring, an identification ring id of the Routing ring, the random number nonce, and r-1 layer information generated before.
8. The method according to claim 7, wherein the sequentially decrypting the encrypted information of each hierarchy in the hierarchical encrypted data packet by the first node to the last node of the Routing ring to obtain the address information of the next-hop node comprises:
the 1 st node of the Routing ring decrypts the r-th layer information in the hierarchical encrypted data packet: the 1 st node of the Routing ring decrypts the hierarchical encrypted data packet by using a private key in the generated asymmetric key to obtain the following information: address information of a next hop node of the 1 st node of the Routing ring, identification information extendedring, an identification ring id of the Routing ring, the random number nonce, and the previously generated r-1 layer information;
the 1 st node of the Routing ring continuously sends the r-1 layer information to the next hop node of the 1 st node of the Routing ring according to the decrypted identification information extendering of the non-last node in the ring and the address information of the next hop node;
for the case that 1< i < r, the ith node of the Routing ring decrypts the r +1-i layer information in the hierarchical encrypted data packet: the ith node of the Routing ring decrypts the asymmetric key by using the private key in the generated asymmetric key to obtain the following information: address information of a next hop node of an ith node of the Routing ring, identification information extendering, an identification ring ID of the Routing ring, and previously generated r-i layer information;
the ith node of the Routing ring continuously sends the r-i layer information to the next hop node of the ith node of the Routing ring according to the decrypted identification information extendering and the address information of the next hop node;
the nth node of the Routing ring decrypts the layer 1 information in the hierarchical encrypted data packet: since the layer 1 information is obtained by the directory server through encryption by the public key of the r-th node of the Routing ring, the r-th node of the Routing ring can decrypt it with the private key, thereby obtaining the following information: address information (including an IP address and port information) of a next hop node of an r-th node of the Routing ring, identification information closed ring of a last node in the ring, an identification (ring id) of the Routing ring, and a random number nonce;
and the r-th node of the Routing ring determines the node as the last node according to the decrypted identification information closed Ring, and stores the address information of the next-hop node.
9. A client, comprising:
a head node selection module, configured to select, for a message content to be forwarded, at least two Routing rings in the anonymous communication network, where the Routing rings are respectively used as rings where paths of each stage of forwarding the message content are located; selecting a node from each selected Routing ring as a stage path head node of the Routing ring and setting the length of a stage path for the Routing ring;
and the head node information sending module is used for generating a multi-stage path encryption data packet, sending the multi-stage path encryption data packet to the stage path head node of the 1 st Routing ring, and forwarding the message content through each selected Routing ring.
10. The client of claim 9,
the head node information sending module is specifically configured to forward the order of the messages according to the paths at each stage, and further generate m-layer encrypted data packets for the selected m Routing rings, so as to obtain m-layer encrypted multi-stage path encrypted data packets: when the layer 1 information is generated, the following information is encrypted by using the public key of the phase path head node of the mth Routing ring: the phase path parameter PathParam of the mth Routing ring, the message content and the Routing information behind the mth Routing ring; the Routing information after the mth Routing ring may specifically be the Routing information of the destination node of the message content; for the condition that m is more than or equal to i and is more than 1, when the ith layer information is generated, the following information is encrypted by using the public key of the stage path head node of the (m + 1-i) th Routing ring: the phase path parameter PathParam of the ith Routing ring, the information of the (i-1) th layer generated by the client in the past and the Routing information of the phase path head node of the (i + 1) th Routing ring; wherein, the phase path parameter PathParam of the Routing ring includes: length of the phase path in the Routing ring.
11. A node in a Routing ring, comprising:
the external information receiving module is used for decrypting the encrypted information received from the outside of the ring by using the private key of the node; determining forwarding nodes of the message content in the Routing ring according to the stage path parameters obtained by decryption, and after carrying out hierarchical encryption on the information obtained by decryption by using symmetric keys shared with the forwarding nodes respectively, sending the hierarchical encrypted information to a first node in the forwarding nodes of the Routing ring;
the information forwarding module is used for decrypting the information received from the previous hop node in the ring by using a symmetric key shared with the stage path head node; if the plaintext information is decrypted, forwarding the message content to the outside of the ring according to the next-stage routing information in the decrypted plaintext information; otherwise, the decrypted information is sent to the next hop node in the ring.
CN202010699545.1A 2020-07-20 2020-07-20 Message forwarding method of multi-stage routing in anonymous communication network Active CN111970243B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010699545.1A CN111970243B (en) 2020-07-20 2020-07-20 Message forwarding method of multi-stage routing in anonymous communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010699545.1A CN111970243B (en) 2020-07-20 2020-07-20 Message forwarding method of multi-stage routing in anonymous communication network

Publications (2)

Publication Number Publication Date
CN111970243A true CN111970243A (en) 2020-11-20
CN111970243B CN111970243B (en) 2022-06-03

Family

ID=73361956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010699545.1A Active CN111970243B (en) 2020-07-20 2020-07-20 Message forwarding method of multi-stage routing in anonymous communication network

Country Status (1)

Country Link
CN (1) CN111970243B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112689282A (en) * 2020-12-16 2021-04-20 曲阜师范大学 Anonymous communication scheme for protecting location privacy in wireless sensor network
CN113572727A (en) * 2021-06-08 2021-10-29 深圳市国电科技通信有限公司 Data security concealed transmission method and system based on P2P network routing node
CN114051236A (en) * 2022-01-12 2022-02-15 华东交通大学 Anonymous communication method, system, medium and electronic device based on rerouting mechanism
CN114285593A (en) * 2021-11-08 2022-04-05 深圳市联洲国际技术有限公司 Method, device, equipment and storage medium for constructing secure local area network protocol
CN115277054A (en) * 2022-06-08 2022-11-01 北京邮电大学 Directory service method and system in anonymous network

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111072B1 (en) * 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
CN101635918A (en) * 2009-08-19 2010-01-27 西安电子科技大学 Method for hierarchichal onion rings routing
CN102546635A (en) * 2012-01-10 2012-07-04 北京邮电大学 Anonymous communication path selection method and network node
CN103117852A (en) * 2013-01-29 2013-05-22 无锡南理工科技发展有限公司 Anonymous routing protocol based on zero-knowledge proof
CN104168265A (en) * 2014-07-16 2014-11-26 南京邮电大学 Distributed hash table network-based anonymous communication method
CN105357113A (en) * 2015-10-26 2016-02-24 南京邮电大学 Construction method of anonymous communication path based on rerouting
CN106453428A (en) * 2016-12-15 2017-02-22 中国科学院上海微系统与信息技术研究所 Anonymous safety communication method applicable to MANET (mobile ad-hoc network) network layer
CN110784321A (en) * 2019-11-06 2020-02-11 曲阜师范大学 Novel secure anonymous communication protocol based on public-private key cryptographic mechanism

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111072B1 (en) * 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
CN101635918A (en) * 2009-08-19 2010-01-27 西安电子科技大学 Method for hierarchichal onion rings routing
CN102546635A (en) * 2012-01-10 2012-07-04 北京邮电大学 Anonymous communication path selection method and network node
CN103117852A (en) * 2013-01-29 2013-05-22 无锡南理工科技发展有限公司 Anonymous routing protocol based on zero-knowledge proof
CN104168265A (en) * 2014-07-16 2014-11-26 南京邮电大学 Distributed hash table network-based anonymous communication method
CN105357113A (en) * 2015-10-26 2016-02-24 南京邮电大学 Construction method of anonymous communication path based on rerouting
CN106453428A (en) * 2016-12-15 2017-02-22 中国科学院上海微系统与信息技术研究所 Anonymous safety communication method applicable to MANET (mobile ad-hoc network) network layer
CN110784321A (en) * 2019-11-06 2020-02-11 曲阜师范大学 Novel secure anonymous communication protocol based on public-private key cryptographic mechanism

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
罗熹: "匿名通信技术研究进展", 《网络安全技术与应用》 *
赵文超: "匿名资源发布策略用户区分性的研究", 《2011年全国通信安全学术会议论文集》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112689282A (en) * 2020-12-16 2021-04-20 曲阜师范大学 Anonymous communication scheme for protecting location privacy in wireless sensor network
CN113572727A (en) * 2021-06-08 2021-10-29 深圳市国电科技通信有限公司 Data security concealed transmission method and system based on P2P network routing node
CN113572727B (en) * 2021-06-08 2023-04-28 深圳市国电科技通信有限公司 Data security hidden transmission method and system based on P2P network routing node
CN114285593A (en) * 2021-11-08 2022-04-05 深圳市联洲国际技术有限公司 Method, device, equipment and storage medium for constructing secure local area network protocol
CN114285593B (en) * 2021-11-08 2024-03-29 深圳市联洲国际技术有限公司 Method, device, equipment and storage medium for constructing secure local area network protocol
CN114051236A (en) * 2022-01-12 2022-02-15 华东交通大学 Anonymous communication method, system, medium and electronic device based on rerouting mechanism
CN115277054A (en) * 2022-06-08 2022-11-01 北京邮电大学 Directory service method and system in anonymous network
CN115277054B (en) * 2022-06-08 2023-11-10 北京邮电大学 Directory service method and system in anonymous network

Also Published As

Publication number Publication date
CN111970243B (en) 2022-06-03

Similar Documents

Publication Publication Date Title
CN111970243B (en) Message forwarding method of multi-stage routing in anonymous communication network
EP3289727B1 (en) Network path proof of transit using in-band metadata
Naous et al. Verifying and enforcing network paths with ICING
JP5449543B2 (en) Packet routing in the network
CN111970244B (en) Method for constructing anonymous communication network and forwarding message based on ring-shaped architecture
EP3157225B1 (en) Encrypted ccnx
US10681018B2 (en) Transparent encryption in a content centric network
US9647876B2 (en) Linked identifiers for multiple domains
US20180091481A1 (en) Method and system for protecting data flow between pairs of branch nodes in a software-defined wide-area network
US8345878B2 (en) Method for distributing cryptographic keys in a communication network
Sengupta et al. Privacy-preserving network path validation
Perng et al. M2: Multicasting mixes for efficient and anonymous communication
US10986209B2 (en) Secure and reliable on-demand source routing in an information centric network
Alzahrani et al. Key management in information centric networking
CN111970247B (en) Method for sending confusion messages of peer-to-peer ring in anonymous communication network
Marques et al. Internal BGP as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)
Chen Infrastructure-based anonymous communication protocols in future internet architectures
Tusa et al. Homomorphic Routing: Private Data Forwarding in the Internet
CN114374564A (en) Internal gateway routing link safety management system and method
Simsek Blind packet forwarding: a clean-slate security approach for future networks
Al-Muhtadi An efficient overlay infrastructure for privacy-preserving communication on the internet
Wigoutschnigg et al. Shared Crowds: A Token-Ring Approach to Hide the Receiver
Gumudavally A coding enabled anonymity network

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
GR01 Patent grant
GR01 Patent grant