An efficient message tracing method and system for encrypted communication
By introducing traceability keys and pseudo-random functions into the encrypted communication system, the problem of message verification under end-to-end encryption is solved, efficient message traceability is achieved, a balance between user privacy and platform management is ensured, bandwidth and storage costs are reduced, and information transmission efficiency is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHONGQING UNIV
- Filing Date
- 2023-11-15
- Publication Date
- 2026-07-17
AI Technical Summary
End-to-end encryption in instant messaging systems hinders platforms from reviewing message content, making it impossible to effectively manage the spread of misinformation and creating a conflict between user privacy and platform abuse.
This paper provides an efficient message tracing method for encrypted communication. By generating a random tracing key during the user initialization phase and combining it with a pseudo-random function and a hash algorithm, the method can trace the path of the reported message, restore its complete forwarding graph, and ensure the confidentiality and accountability of message tracing.
It achieves a solution that reduces bandwidth and storage overhead, maintains low message transmission latency, and provides an efficient message traceability solution while ensuring confidentiality and accountability.
Smart Images

Figure CN117499357B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication and cryptography technology, and relates to an efficient message tracing method and system for encrypted communication. Background Technology
[0002] Currently, end-to-end encryption is widely used in instant messaging systems. This encryption ensures that only the two communicating parties (end users) can access the message content, providing strong protection for user message privacy. However, while end-to-end encryption enhances message privacy, it also hinders platform oversight of message content. Unlike instant messaging systems without end-to-end encryption, in end-to-end encrypted systems, the platform can only access encrypted messages, thus preventing it from reviewing plaintext messages to manage system abuse, such as the spread of misinformation. Therefore, there exists a pressing contradiction in E2EE between protecting user message privacy and preventing platform abuse.
[0003] Promoting end-to-end encrypted content review can accelerate the purification of cyberspace security. Effective review can prevent the spread of false and misleading information, reducing misleading and harm to users. It can also prevent malicious behavior and abuse, promptly detecting and blocking illegal activities and cyberattacks by malicious users; and it can also prevent the spread of malware and viruses, protecting users' device and data security.
[0004] Therefore, there is an urgent need for a message tracing method for encrypted communication to achieve efficient message tracing. Summary of the Invention
[0005] In view of this, the purpose of the present invention is to provide an efficient message tracing method and system for encrypted communication. The method and system can trace the path of a reported message in an encrypted communication application, recover its complete forwarding graph, and achieve efficient message tracing.
[0006] To achieve the above objectives, the present invention provides the following technical solution:
[0007] An efficient message tracing method for encrypted communication, comprising the following steps:
[0008] S1. Establish communication and perform initialization between users: The initialization phase only occurs when a pair of senders and receivers establish communication for the first time;
[0009] S2. Communication: In this stage, the sender and receiver communicate normally.
[0010] S3. Reporting and Tracing Stage: This stage is only conducted after the recipient submits a report. The path of the reported message is traced to restore its complete forwarding graph and achieve message tracing.
[0011] Furthermore, in step S1, establishing communication and initialization between users specifically includes:
[0012] S11. When the sender first attempts to communicate with another receiver, it sends a request to the platform;
[0013] S12. The platform generates a random one-way traceability key and distributes it to the sender through a secure channel.
[0014] Furthermore, in step S2, the message communication phase specifically includes:
[0015] S21. The sender attempts to send a new message or forward a received message to the receiver;
[0016] S22. The underlying end-to-end encryption (E2EE) encrypts the message and encapsulates it together with traceability metadata into a data packet;
[0017] S23. The platform receives the data packet from the sender and processes the traceability metadata;
[0018] S24. The platform stores the processed traceability metadata in the database and transmits the data packet to the corresponding recipient after processing.
[0019] Furthermore, in step S3, the reporting and tracing phase specifically includes:
[0020] S31. The platform checks the recipient's report and performs tracing to reveal the forwarding graph of the report message;
[0021] S32. The receiver obtains the message data packet from the platform;
[0022] S33. The receiver verifies the traceability metadata in the data packet;
[0023] S34. The recipient reports invalid data packets containing malformed traceability metadata or illegal messages to the platform.
[0024] Furthermore, the message communication phase includes three independent phases: the message sending phase, the message processing phase, and the message receiving phase;
[0025] The message sending phase includes: the sender sending a data packet to the receiver, wherein the data packet contains ciphertext encrypted with the new message m and the corresponding message, wherein the tag key k used to encrypt the new message is included. t and message tags t The generation is as follows:
[0026] 1) If m is a new message, first randomly generate a string of length n, then use the platform's traceability key tk. ijEncrypt it to obtain the tag key k t Otherwise, use the traceability key tk. ij For the tag key k containing the message t Encryption is performed using 1 to obtain the tag key k. t ;
[0027] 2) Calculate message tags t After hashing the message m, a pseudo-random function F is run. k Get tag t The pseudo-random function F k For F k :{0,1} x ×{0,1} y →{0,1} z ;
[0028] The message processing stage includes: the platform processing the data packet p = (c, tag) received from the sender. t The steps are as follows:
[0029] 1) First, concatenate the traceability key and the message tag, then hash the concatenated string to obtain the tag used for comparison during the traceability phase. t , of which tk ij By querying the database for sender and receiver U i U j get;
[0030] 2) Use the tag' t Add storage to the platform's database;
[0031] 3) Transmit data packet p to the receiver;
[0032] The message receiving stage includes: the receiver processing the data packet p = (c, tag) received from the platform. t The steps are as follows:
[0033] 1) Decrypting the ciphertext c yields the message-tag pair (m,k) t );
[0034] 2) Check if the same key k was received previously. t If received, the data packet is rejected.
[0035] 3) By checking tag' t 'and tag t The data packets are verified by checking if they are equal, where tag' t 'By hashing the message m and then running the pseudo-random function F' k If the values are equal, accept the data packet; otherwise, report the data packet.
[0036] 4) Storage key k t This is for future forwarding and use.
[0037] Furthermore, during the reporting and tracing phase, recipients can report illegal messages and their senders to the platform. The specific steps are as follows:
[0038] 1) Receiver U j Submit a report to the platform (m,k) t U i ), where (m,k t U i These represent the message, the received tag key, and the sender's identity, respectively.
[0039] 2) Next, the platform verifies the accuracy of the report: First, the message m is hashed and then a pseudo-random function F is run. k Then, combine the result with the traceability key tk ij After concatenation and hashing, the resulting tags are compared with those in the database to verify the accuracy of the report, where tk... ij By querying the database for sender and receiver U i U j Obtained;
[0040] 3) If the message exists, the report is successful, and the platform begins tracing. The algorithm for generating the tracing pointer is as follows:
[0041] Furthermore, the output of the traceability It is a set of edges defined by tuples (sender, receiver, message, tag key). The steps of the tracing algorithm are as follows:
[0042] 1) Initialize the collection To record the senders of the whistleblower messages, initially only the sender (k) is included. t U i ), and an empty set of record receivers. An empty set that records edges
[0043] 2) When and Not empty, first search the set backward from the social graph. All message sources for the user, i.e., the senders;
[0044] 3) For each sender, check if these neighbors have sent / received message m. If so, add the corresponding edge to the set.
[0045] 4) Define a temporary set of receivers. for and For each user in the union of the sets, perform a forward search to see if their corresponding receiver has received message m. If so, add the corresponding edge to the set. Then Users in the merged In the middle, the user currently acting as the sender and Each user's edge is added to the set.
[0046] 5) After checking all neighbors, if set U' is not empty, then from set U'... and S←{(k t―1 U i―1 If the loop continues, start the next iteration; otherwise, end the tracing.
[0047] The present invention also provides an efficient message tracing system for encrypted communication.
[0048] The beneficial effects of this invention are as follows:
[0049] The message tracing scheme provided by this invention features confidentiality, accountability, and repudiation. This scheme is based on a novel, spatially efficient tracing method, and its effectiveness and performance have been implemented and evaluated on real-world datasets. Compared to previous schemes, the scheme provided by this invention requires significantly less bandwidth and storage overhead (1.8 times and 29 times respectively), while maintaining low message transmission latency (<0.4 milliseconds).
[0050] Other advantages, objectives, and features of the invention will be set forth in part in the description which follows, and in part will be apparent to those skilled in the art from the following examination, or may be learned from practice of the invention. The objectives and other advantages of the invention can be realized and obtained through the following description. Attached Figure Description
[0051] To make the objectives, technical solutions, and advantages of the present invention clearer, the preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings, wherein:
[0052] Figure 1 This is a schematic diagram illustrating the working principle of the method of the present invention;
[0053] Figure 2 This is a schematic diagram of the traceability algorithm of the present invention;
[0054] Figure 3 This is an example diagram illustrating user reporting and tracing in this invention. Detailed Implementation
[0055] The technical solution of the present invention will now be described in detail with reference to the accompanying drawings.
[0056] This invention provides a method for tracing the message source of an end-to-end encrypted instant messaging system. Figure 1 This is a schematic diagram illustrating the working principle of the method of the present invention, as shown below. Figure 1 As shown, this method includes three entities: the sender, the receiver, and the platform. Users can act as both sender and receiver simultaneously. System parameters are configured by the platform during system setup. Communication between users comprises three phases: initialization, communication, and a report-and-trace phase. Figure 2 This is a schematic diagram of the traceability algorithm of the present invention, as shown below. Figure 2 The initialization phase occurs only when a sender and receiver first establish communication; the message phase occurs when a sender and receiver communicate normally; and the report-trace phase occurs only after the receiver submits a report.
[0057] During the initialization phase, to ensure that the tag key is associated with the message path, a user must request a traceability key from the platform before sending the first message to another user.
[0058] Sender U i Send a request to the platform, requesting communication with the recipient U. j The corresponding traceability key;
[0059] The platform generates a random traceability key tk. ij The traceability key is then added to the database and distributed to the sender U via a secure channel. i Among them, the traceability key tk ij It is the key to all subsequent messages, and only the sender U can access it. i The platform knows it.
[0060] Message phase such as Figure 2 As shown, it contains three independent parts, namely:
[0061] Message sending phase: Sender U i Send a data packet p to receiver U. j The data packet p contains the ciphertext of the new message m and the corresponding message. The tag key k used to encrypt the new message... t and message tags t The generation is as follows:
[0062] 1) If m is a new message, first randomly generate a string of length n, then use the platform's traceability key tk. ij Encrypt it to obtain the tag key k t Otherwise, use the traceability key tk.ij For the tag key k containing the message t Encryption is performed using 1 to obtain the tag key k. t .
[0063] 2) Calculate message tags t After hashing the message m, a pseudo-random function F is run. k Get tag t The pseudo-random function F k for
[0064] F k :{0,1} x ×{0,1} y →{0,1} z
[0065] Message processing stage: The platform processes the data packets p=(c,tag) received from the sender. t The steps are as follows:
[0066] 1) First, concatenate the traceability key and the message tag, then hash the concatenated string to obtain the tag used for comparison during the traceability phase. t , of which tk ij You can query the database to find the sender and receiver U. i U j get.
[0067] 2) Use the tag' t Add storage to the platform's database.
[0068] 3) Transmit data packet p to receiver U j .
[0069] Message Reception Phase: The receiver processes the data packets p=(c,tag) received from the platform. t The steps are as follows:
[0070] 1) Decrypting the ciphertext c yields the message-tag pair (m,k) t ).
[0071] 2) Check if the same key k was received previously. t If received, the data packet is rejected.
[0072] 3) By checking tag' t 'and tag t The data packets are verified by checking if they are equal, where tag' t 'By hashing the message m and then running the pseudo-random function F' k Receive. If they are equal, accept the data packet; otherwise, report the data packet.
[0073] 4) Storage key k t This is for future forwarding and use.
[0074] During the reporting and tracing phase, recipients can report illegal messages and their senders to the platform. The specific steps are as follows:
[0075] 1) Receiver U j Submit a report to the platform (m,k) t U i ), where (m,k t U i These represent the message, the received tag key, and the sender's identity, respectively.
[0076] 2) Next, the platform verifies the accuracy of the report. First, the message m is hashed, and then a pseudo-random function F is run. k Then, combine the result with the traceability key tk ij After concatenation and hashing, the resulting tags are compared in a database to verify the accuracy of the report. (TK is one of the tags.) ij By querying the database for sender and receiver U i U j Obtained.
[0077] 3) If the message exists, the report is successful, and the platform begins tracing the information. The algorithm for generating the tracing pointer is as follows:
[0078] 4) Traceability Output It is a set of edges defined by tuples (sender, receiver, message, tag key). For example... Figure 3 As shown, the steps of the Trace algorithm are as follows:
[0079] 1) Initialize the collection To record the senders of the whistleblower messages, initially only the sender (k) is included. t U i ), and an empty set of record receivers. An empty set that records edges
[0080] 2) When and Not empty, first search the set backward from the social graph. All message sources for the user, i.e., the senders.
[0081] 3) For each sender, check if these neighbors have sent / received message m. If so, add the corresponding edge to the set.
[0082] 4) Define a temporary set of receivers. for and For each user in the union of the sets, perform a forward search to see if their corresponding receiver has received message m. If so, add the corresponding edge to the set. Then Users in the merged In the middle. The user currently acting as the sender and... Each user's edge is added to the set.
[0083] 5) After checking all neighbors, if set U' is not empty, then from set U'... and S←{(k t―1 U i―1 If the loop continues, start the next iteration; otherwise, end the tracing.
[0084] Specifically, the platform queries the database. tk To find user U's neighbors, a message tag is calculated for each neighbor. Since each pair of users has a unique traceability key, if a neighbor sends / receives a message, the unique message tag must be stored in the database. tag Therefore, in step 3), the platform can query the DB. tag This is used to check if a neighbor has sent / received a message. Furthermore, the above process includes backward and forward searches, used to trace the sender and receiver, respectively. The difference between the two lies in the type of query and the method of calculating the tag key.
[0085] Among them, the backward search algorithm BwdSearch(m,k) t U i First, query the database for user U. i The process retrieves the corresponding sender and traceability key from the database. Then, iterates through these senders, searching for their traceability keys in the database. If a key is found, it means the user sent the corresponding message m, so the corresponding user is returned as output; otherwise, 0 is returned.
[0086] The forward search algorithm FwdSearch(m,k) t U i Similarly, first query user U in the database. i This process retrieves the corresponding recipient and its traceability key. Then, it iterates through these recipients, searching the database for all their traceability keys. If a key is found, it means the user sent the corresponding message m, and the corresponding user is added to the set. After the traversal is complete, As output.
[0087] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications can be made to the technical solutions of the present invention without departing from the spirit and scope of the present invention, and all such modifications should be covered within the scope of the claims of the present invention.
Claims
1. A highly efficient message tracing method for encrypted communication, characterized in that: The method includes the following steps: S1. Establish communication and perform initialization between users: The initialization phase only occurs when a pair of senders and receivers establish communication for the first time; S2. Communication: In this stage, the sender and receiver communicate normally. S3. Reporting and Tracing Stage: This stage is only conducted after the recipient submits a report. The path of the reported message is traced to restore its complete forwarding graph and achieve message tracing. In step S1, establishing communication and initialization between users specifically includes: S11. When the sender first attempts to communicate with another receiver, it sends a request to the platform; S12. The platform generates a random one-way traceability key and distributes it to the sender through a secure channel; In step S2, the message communication phase specifically includes: S21. The sender attempts to send a new message or forward a received message to the receiver; S22. The underlying end-to-end encryption encrypts the message and encapsulates it together with traceability metadata into a data packet; S23. The platform receives the data packet from the sender and processes the traceability metadata; S24. The platform stores the processed traceability metadata in the database and transmits the data packet to the corresponding recipient after processing. In step S3, the reporting and tracing phase specifically includes: S31. The platform checks the recipient's report and performs tracing to reveal the forwarding graph of the report message; S32. The receiver obtains the message data packet from the platform; S33. The receiver verifies the traceability metadata in the data packet; S34. The recipient reports invalid data packets containing malformed traceability metadata or illegal messages to the platform; The message communication phase includes three independent phases: the message sending phase, the message processing phase, and the message receiving phase. The message sending phase includes: the sender sending a data packet to the receiver, wherein the data packet contains information about the new message. The encrypted ciphertext and the corresponding message, including the tag key used to encrypt the new message. and message tags The generation is as follows: 1) If If it is a new message, first randomly generate a string of length 1. The string is then used with the platform's traceability key. Encrypt it to obtain the tag key. Otherwise, use the traceability key. Tag key containing the message Encryption is performed to obtain the tag key. ; 2) Calculate message tags After hashing the message m, a pseudo-random function is run. ,get The pseudo-random function for ; The message processing stage includes: the platform processing data packets received from the sender. The steps are as follows: 1) First, the traceability key and message tag are concatenated. The concatenated string is then hashed to obtain the tag used for comparison during the traceability phase. ,in By querying the database for sender and receiver get; 2) Use the tag Add storage to the platform's database; 3) Transfer the data packet Transmitted to the receiver; The message receiving stage includes: the receiver processing data packets received from the platform. The steps are as follows: 1) Decrypting the ciphertext Get Message - Tag Pair ; 2) Check if the same key was received previously. If received, the data packet is rejected. 3) Through inspection and The data packets are verified by checking if they are equal. The message m is hashed and then a pseudo-random function is run. If the values are equal, accept the data packet; otherwise, report the data packet. 4) Storage key This is for future forwarding and use.
2. The efficient message tracing method for encrypted communication according to claim 1, characterized in that: During the reporting and tracing phase, recipients can report illegal messages and their senders to the platform. The specific steps are as follows: 1) Recipient Submit a report to the platform ,in These represent the message, the received tag key, and the sender's identity, respectively. 2) Next, the platform will verify the accuracy of the report: First, the information will be verified. After hashing, run a pseudo-random function Then combine the results with the traceability key. After concatenation and hashing, the resulting tags are compared with those in the database to verify the accuracy of the report. By querying the database for sender and receiver Obtained; 3) If the message exists, the report is successful, and the platform begins tracing. The algorithm for generating the tracing pointer is as follows: .
3. The efficient message tracing method for encrypted communication according to claim 2, characterized in that: The output of the trace Edge sets defined by tuples, tracing algorithm Trace The steps are as follows: 1) Initialize the collection To record the senders of the whistleblower messages, initially only the sender is included. and an empty set of record receivers. An empty set that records edges. ; 2) When and Not empty, first search the set backward from the social graph. All message sources for the user, i.e., the senders; 3) For each sender, check whether these neighbors have sent / received the message. If so, add the corresponding edge to the set. ; 4) Define a temporary set of receivers. ,for and For each user in the union set, perform a forward search to determine if their corresponding receiver has received the message. If so, add the corresponding edge to the set. Then Users in the merged In the middle, the user currently acting as the sender and Each user's edge is added to the set. ; 5) After checking all neighbors, if the set If not empty, then from the set and Begin the next iteration; otherwise, end the tracing.
4. A high-efficiency message tracing system for encrypted communication, characterized in that: The system uses the method described in any one of claims 1 to 3 for message tracing.