Social communication method, device, equipment and storage medium

By encrypting communication messages using preset encryption channels and zero-knowledge proof keys in the target group, the problem of centralized services exposing user privacy is solved, and the privacy protection of user communication is achieved.

CN116095033BActive Publication Date: 2025-05-27NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310150290.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-09
Publication Date
2025-05-27
Estimated Expiration
2043-02-09

AI Technical Summary

Technical Problem

In the prior art, the centralized service has communication records of all users, and privacy is almost completely exposed.

Method used

By using preset encryption channels and zero-knowledge proof keys in the target group, users encrypt when sending communication messages and verify and forward them through the centralized transmission server to ensure that only the target user can decrypt the message content.

Benefits of technology

It effectively protects users' communication privacy, prevents centralized transmission servers or security center servers from obtaining specific contents of communication messages, and ensures user privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116095033B_ABST
    Figure CN116095033B_ABST
Patent Text Reader

Abstract

The present application provides a social communication method, apparatus, device and storage medium, relating to the field of communication technologies. The method includes: receiving a ciphertext message sent by a target user in a target group through a preset encryption channel corresponding to the target group; wherein, the ciphertext message is information obtained by encrypting a communication message based on a zero-knowledge proof key and a public key corresponding to the target user; verifying, through the preset encryption channel, whether the ciphertext message passes the zero-knowledge proof verification; if the ciphertext message passes the verification, determining the target user corresponding to the ciphertext message based on the public keys corresponding to the users in the target group; and sending the ciphertext message to all users in the target group, so that all users can determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user. Compared with the prior art, it avoids the problem that the centralized service has the communication records of all users and almost completely exposes privacy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technologies, and in particular, to a social communication method, apparatus, device, and storage medium. Background Art

[0002] With the development of Internet technologies, the Internet can be seen everywhere in people's lives and has become an essential part of people's lives. Through the Internet, people can communicate with friends far away in other places, play games, or search for information online, etc.

[0003] As an instant messaging software based on the Internet, communication software is widely used in people's lives. The initial communication software was the Internet pager. Such software enables computer users connected to the Internet to talk to another online Internet user who is also connected to the Internet at any time, and can even see the real-time image of the other party through video. This allows people to communicate freely without worrying about expensive phone bills and enables them to work and communicate without any hindrance.

[0004] However, in such a communication method, since all messages need to be forwarded through a centralized service, the centralized service has the communication records of all users, almost completely exposing privacy. Summary of the Invention

[0005] The purpose of this application is to provide a social communication method, apparatus, device, and storage medium for the deficiencies in the above-mentioned existing technologies, so as to solve the problem in the existing technology that due to the centralized service having the communication records of all users, privacy is almost completely exposed.

[0006] To achieve the above purpose, the technical solutions adopted in the embodiments of this application are as follows:

[0007] In a first aspect, an embodiment of this application provides a social communication method, which is applied to a centralized transmission server. The method includes:

[0008] Receiving a ciphertext message sent by a target user in a target group through a preset encryption channel corresponding to the target group; wherein, the ciphertext message is information obtained by encrypting a communication message based on a zero-knowledge proof key and a public key corresponding to the target user; the zero-knowledge proof key is a key generated by a preset security center according to zero-knowledge proof based on the communication message;

[0009] Verifying whether the ciphertext message passes zero-knowledge proof verification through the preset encryption channel;

[0010] If the ciphertext message passes the verification, determining the target user corresponding to the ciphertext message based on the public keys corresponding to the users in the target group;

[0011] Send the ciphertext message to all users in the target group, so that all users can determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user.

[0012] In a second aspect, another embodiment of the present application provides a social communication device, including: a receiving module, a verification module, a determination module, and a sending module, where:

[0013] The receiving module is configured to receive a ciphertext message sent by a target user in a target group through a preset encryption channel corresponding to the target group; wherein, the ciphertext message is information obtained by encrypting a communication message based on a zero-knowledge proof key and the public key corresponding to the target user; the zero-knowledge proof key is a key generated by a preset security center based on zero-knowledge proof of the communication message.

[0014] The verification module is specifically configured to verify whether the ciphertext message passes zero-knowledge proof verification through the preset encryption channel.

[0015] The determination module is specifically configured to, if the ciphertext message passes verification, determine the target user corresponding to the ciphertext message based on the public keys corresponding to the users in the target group.

[0016] The sending module is specifically configured to send the ciphertext message to all users in the target group, so that all users can determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user.

[0017] In a third aspect, another embodiment of the present application provides a social communication device, including: a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the social communication device runs, the processor communicates with the storage medium through the bus, and the processor executes the machine-readable instructions to perform the steps of any method described in the first aspect above.

[0018] In a fourth aspect, another embodiment of the present application provides a storage medium, on which a computer program is stored. When the computer program is run by a processor, it performs the steps of any method described in the first aspect above.

[0019] The beneficial effects of the present application are as follows: By adopting the social communication method provided by the present application, when users in the target group send communication messages, they will encrypt the communication messages based on the zero-knowledge proof key and the public key corresponding to the target user to obtain the ciphertext message corresponding to the communication message, and then send the ciphertext message to the preset encryption channel in the centralized transmission server. Subsequently, after the zero-knowledge proof verification of the ciphertext message through the preset encryption channel, the target user corresponding to the ciphertext message is determined through the preset encryption channel, and then the ciphertext message is sent to all users in the target group through the preset encryption channel, so that all users can determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user. Since the ciphertext message is encrypted based on the zero-knowledge proof key and the public key corresponding to the target user, even if the security center server or the centralized transmission server obtains the ciphertext message, it is impossible to obtain the corresponding communication message according to the ciphertext message, thus protecting the privacy of users during the communication process. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required for the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and thus should not be regarded as limiting the scope. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.

[0021] Figure 1 It is a schematic structural diagram of a social communication system provided by an embodiment of the present application;

[0022] Figure 2 It is a schematic flowchart of a social communication method provided by an embodiment of the present application;

[0023] Figure 3 It is a schematic flowchart of a social communication method provided by another embodiment of the present application;

[0024] Figure 4 It is a schematic flowchart of a social communication method provided by another embodiment of the present application;

[0025] Figure 5 It is a schematic structural diagram of a social communication device provided by an embodiment of the present application;

[0026] Figure 6 It is a schematic structural diagram of a social communication device provided by another embodiment of the present application;

[0027] Figure 7 It is a schematic structural diagram of a social communication device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0028] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Apparently, the described embodiments are some, but not all, of the embodiments of this application.

[0029] Generally, the components of the embodiments of this application described and illustrated in the accompanying drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative efforts fall within the scope of protection of this application.

[0030] In addition, the flowcharts used in this application illustrate the operations implemented according to some embodiments of this application. It should be understood that the operations in the flowchart may not be implemented in sequence, and steps without a logical context relationship may be reversed or implemented simultaneously. In addition, those skilled in the art can add one or more other operations to the flowchart or remove one or more operations from the flowchart under the guidance of the content of this application.

[0031] Before introducing the communication method provided by this application, the architecture of the communication system designed by this application will be explained first. Figure 1 It is a schematic structural diagram of a social communication system according to an embodiment of this application. As Figure 1 shown, the communication system mainly includes three modules: a peer-to-peer (P2P) network module, a terminal device, a centralized transmission server, a security center server, and a blockchain. Among them:

[0032] The P2P communication protocol (P2P network) is used to build a peer-to-peer communication channel. In the embodiments of this application, a preset communication software is deployed, and the communication between users in the same target group is directly carried out through the P2P network for the transmission of communication messages.

[0033] As Figure 1As shown, the two users of the terminal device 1 and the terminal device 2 can directly complete the transmission of communication messages through the P2P network, so as to realize the communication between the user of the terminal device 1 and the user of the terminal device 2. In the embodiment of the present application, the storage of Ethereum node information adopts the Kademlia distributed hash table; the nodes are interconnected, each node maintains a hash table, and each node is only connected to other 3 nodes to form a p2p communication network; in the embodiment of the present application, each node is each terminal device installed with communication software, that is, each terminal device in the present application is connected through the P2P network. If any node is disconnected, the disconnected node will actively connect to the network and synchronize the latest messages; before the communication starts, the nodes will select a master, and the way of selecting a master is the order in which the nodes join the network plus the network rate of each node.

[0034] Centralized transmission server: The encrypted centralized service includes a preset encryption channel. After the user encrypts the communication information, the encrypted ciphertext message is sent to the preset encryption channel. The preset encryption channel completes one layer of decryption according to the public keys of each member stored in advance, determines the target user of the sent ciphertext message, and then the preset encryption channel broadcasts the ciphertext message and the target user to all group members. After each group member receives the ciphertext message, the ciphertext message is decrypted based on the zero-knowledge proof key and the public key corresponding to the target user to obtain the communication information corresponding to the ciphertext message.

[0035] Security center server (preset security center): When each user sends a communication message, it is necessary to encrypt the communication message according to the public key corresponding to the user, and then obtain the zero-knowledge proof key corresponding to the encrypted communication message on the security center server. Then, after the user obtains the zero-knowledge proof key, the zero-knowledge proof key is distributed through the P2P network.

[0036] In the embodiment of the present application, a zero-knowledge proof generation program is pre-deployed on the security center server, and the zero-knowledge proof key can be generated based on the obtained communication message by using the zero-knowledge proof generation program.

[0037] Blockchain: Obtain the encrypted communication messages corresponding to each group, store and chain the encrypted communication messages corresponding to each group by time period, and any agreement reached by any group can be used as the final credible evidence.

[0038] Such as Figure 1As shown, both the terminal device 1 and the terminal device 2 are installed with communication software, and the users corresponding to the terminal device 1 and the terminal device 2 are in the same target group. The terminal device 1 and the terminal device 2 can communicate with each other. In addition, before sending a communication message, each terminal device also needs to obtain the zero-knowledge proof key corresponding to the communication message from the security center server, and then send the obtained zero-knowledge proof key to other terminal devices in the same target group through the P2P network. Subsequently, the ciphertext message encrypted based on the zero-knowledge proof key and the public key of the user is sent to the encryption channel, so that other users can obtain the ciphertext message through the encryption channel, and the encryption channel will store the ciphertext message as security detection evidence information on the blockchain, so that in case of disputes in the future, evidence can be applied based on the security detection evidence information stored on the blockchain.

[0039] The following combines multiple specific application examples to explain a social communication method provided by an embodiment of the present application. Figure 1 It is a schematic flow chart of a social communication method provided by an embodiment of the present application, applied to a server, as Figure 1 shown, the method includes:

[0040] S101: Receive the ciphertext message sent by the target user in the target group through the preset encryption channel corresponding to the target group.

[0041] Among them, the ciphertext message is the information encrypted based on the zero-knowledge proof key and the public key corresponding to the target user for the communication message; the zero-knowledge proof key is the key generated by the preset security center according to the zero-knowledge proof based on the communication message.

[0042] In the embodiment of the present application, each user in the target group has its own key. The determination method can be, for example: after each user in the target group joins the target group, a public key corresponding to itself in the target group will be registered. When each user needs to send a communication message, the communication message will be encrypted through the public key of the target user, and after successful encryption, the encrypted communication message will be sent to the security center server. After obtaining the zero-knowledge proof key determined by the security center server according to the encrypted communication message, the obtained zero-knowledge proof key will be sent to each user in the target group through the P2P network.

[0043] Subsequently, after receiving the zero-knowledge proof key sent by the security center server, the client encrypts the encrypted communication message with the zero-knowledge proof key to obtain the encrypted ciphertext message, and sends the ciphertext message to the centralized transmission server. Then, the centralized transmission server forwards it through the preset encryption channel corresponding to the target group. This ensures that when the target user in the target group sends communication information, even though the communication message passes through the centralized transmission server, since the messages are all ciphertext messages encrypted with the zero-knowledge proof key and the public key corresponding to the target user, even if the centralized transmission server has the public key corresponding to each user in the target group, it cannot obtain the communication message corresponding to the ciphertext message because it does not have the zero-knowledge proof key. That is, the communication message in the target group cannot be obtained by the centralized transmission server, which means the communication message in the target group will not be leaked. In other words, such an information sending method can protect the communication privacy of each user in the target group.

[0044] In the embodiments of the present application, since the public key corresponding to each user in the target group and the zero-knowledge proof key of the communication message are both transmitted through the preset P2P network and only the users in the target group can know, even though the preset encryption channel can only obtain the public key (the public key corresponding to each user in the target group is pre-stored in the preset encryption channel and the zero-knowledge proof key is stored in the preset security center), it cannot obtain both the public key and the zero-knowledge proof key at the same time. That is, even if the preset encryption channel obtains the ciphertext message, it cannot obtain the communication message based on the ciphertext message, thus improving the communication privacy of users during the communication process. Even in a centralized service, the centralized transmission server cannot obtain the communication messages between users in the target group.

[0045] S102: Verify whether the ciphertext message passes the zero-knowledge proof verification through the preset encryption channel.

[0046] In the embodiments of the present application, the verification method for the ciphertext message can be, for example: verifying whether the ciphertext message passes the zero-knowledge proof verification through the zero-knowledge verification program in the preset encryption channel.

[0047] If the verification is successful, execute the subsequent steps; if the verification is not successful, stop the evidence storage and report the processing.

[0048] S103: If the ciphertext message passes the verification, determine the target user corresponding to the ciphertext message based on the public keys corresponding to each user in the target group.

[0049] Among them, the preset encryption channel determines the target user corresponding to the ciphertext message according to the public keys of each user in the target group pre-stored in the channel. Among them, the user corresponding to the public key that can successfully decrypt the ciphertext message is the target user. Determining the target user corresponding to the ciphertext message is also determining the sender of the ciphertext message. At this point, even if the preset encryption channel decrypts the ciphertext message according to the public key of the target user, the decrypted message at this time is still the message encrypted according to the zero-knowledge proof key, rather than an unencrypted communication message. Therefore, the preset encryption channel still cannot obtain the communication message corresponding to the ciphertext message. That is, when the centralized transmission server forwards the ciphertext message, it cannot know the communication message corresponding to the ciphertext message, ensuring that in the communication process of the users in the target group, even if the communication messages all pass through the forwarding of the centralized transmission server, the centralized transmission server cannot obtain the specific content of the communication message, thus ensuring the privacy of each user in the target group during the communication process.

[0050] S104: Send the ciphertext message to all users in the target group.

[0051] In the embodiments of the present application, the centralized transmission server sends the encrypted ciphertext message to each user in the target group through the preset encryption channel in a serial manner, so that all users can determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user.

[0052] It should be understood that when the preset encryption channel forwards the ciphertext message, it forwards each ciphertext message one by one according to the sending time of each ciphertext message. That is, for the ciphertext message with an earlier sending time, its corresponding forwarding time is also earlier.

[0053] By adopting the social communication method provided by the present application, since the users in the target group will encrypt the communication message based on the zero-knowledge proof key and the public key corresponding to the target user to obtain the ciphertext message corresponding to the communication message when sending the communication message, and then send the ciphertext message to the preset encryption channel in the centralized transmission server. Subsequently, after the zero-knowledge proof verification of the ciphertext message through the preset encryption channel, the target user corresponding to the ciphertext message is determined through the preset encryption channel, and then the ciphertext message is sent to all users in the target group through the preset encryption channel, so that all users can determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user. Such a transmission method is such that since the ciphertext message is encrypted based on the zero-knowledge proof key and the public key corresponding to the target user, even if the security center server or the centralized transmission server obtains the ciphertext message, it cannot obtain the corresponding communication message according to the ciphertext message, protecting the privacy of users during the communication process.

[0054] Optionally, based on the above embodiments, an embodiment of the present application may further provide a social communication method. The implementation process of the above method will be illustrated by the following with reference to the accompanying drawings. Figure 3 It is a schematic flowchart of a social communication method provided by another embodiment of the present application. As Figure 3 shown, before S101, the method may further include:

[0055] S111: Receive a creation operation of a target group sent by a preset group owner user in the target group.

[0056] In an embodiment of the present application, after receiving the creation operation of the target group, a corresponding preset encryption channel for the target group may also be determined; wherein, each target group corresponds to a preset encryption channel; the determination method of the preset encryption channel may be, for example: the centralized transmission server pre-creates a plurality of preset encryption channels, and after receiving the creation operation of the target group, assigns a corresponding preset encryption channel to it among the plurality of preset encryption channels; or, it may also be that the centralized transmission server creates a corresponding preset encryption channel for the target group only after receiving the creation operation of the target group. It should be understood that the above embodiments are only illustrative, and the specific determination method of the preset encryption channel can be flexibly adjusted according to user needs, and is not limited to those given in the above embodiments.

[0057] Subsequently, based on the preset encryption channel corresponding to the target group, send the information of the preset encryption channel to all users in the target group. The information of the preset encryption channel is the identification information of the preset encryption channel. According to this identification information, the encryption channel corresponding to the target group can be uniquely determined among multiple encryption channels, and the communication messages of all users in the target group are forwarded by the preset encryption channel corresponding to this identification information.

[0058] S112: Deploy a zero-knowledge verification program in the preset encryption channel according to the creation operation.

[0059] Among them, the zero-knowledge verification program is sent by the security center to the preset encryption channel, and is used to enable the preset encryption channel to perform zero-knowledge proof verification on the ciphertext message according to the zero-knowledge proof program.

[0060] In an embodiment of the present application, after receiving the creation operation of the target group, the public keys of each user in the target group are also obtained through the preset encryption channel according to the creation operation, and the public keys of each user in the target group are stored in the preset encryption channel.

[0061] In addition, the zero-knowledge proof key corresponding to the target group and the public keys of each user will also be propagated among the users in the target group through the P2P network (key exchange), that is, each user in the target group will have the zero-knowledge proof key corresponding to the target group and the public keys of all users in the target group. In the subsequent process of decrypting the ciphertext message, each user first obtains the ciphertext message forwarded by the preset encryption channel, then determines the public key corresponding to the target user among the public keys of all users in the target group according to the target user determined by the preset encryption channel, and then decrypts the ciphertext message according to the public key corresponding to the target user and the zero-knowledge proof key to obtain the decrypted communication message, thus completing the communication among the users in the target group.

[0062] Optionally, based on the above embodiments, an embodiment of the present application may further provide a social communication method. The implementation process of the above method will be described by way of example in combination with the accompanying drawings below. Figure 4 A schematic flowchart of a social communication method provided by another embodiment of the present application is shown in Figure 4 As shown, the method may further include:

[0063] S121: Store the ciphertext message at a preset position on the blockchain.

[0064] So that the user can obtain the ciphertext message from the blockchain and determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public keys corresponding to each user.

[0065] In the embodiment of the present application, the way of storing the ciphertext message may be, for example: Summarize the message packets corresponding to the ciphertext messages of the target user in the target group according to the time period; construct a Merkle tree corresponding to the target user in the target group and determine the hash value of the Merkle tree root node; the Merkle tree is used to store the message packets corresponding to the ciphertext messages of the target user in the target group in chronological order.

[0066] In the embodiment of the present application, the blockchain, as an immutable ledger, can be used as an evidentiary record for public security proof. The way of evidentiary record may be, for example: Generate the security detection evidentiary record information corresponding to the message packet according to the position identification information of the message packet in the Merkle tree, the hash value of the Merkle tree root node, and the zero-knowledge proof string information of the message packet; send the security detection evidentiary record information to the blockchain.

[0067] Among them, the triggering method of the evidentiary record may be, for example, to collect the security detection evidentiary record information regularly, or to generate and collect the evidentiary record information corresponding to the security packet every time a message packet is generated; it should be understood that the above embodiments are only illustrative, and the specific triggering method of the evidentiary record can be flexibly adjusted according to user needs and is not limited to those given in the above embodiments.

[0068] If you need to obtain the security detection evidence information stored in the blockchain later, you only need to obtain the hash value information of the Merkle tree root node corresponding to the message packet to be obtained in the blockchain, and after determining the Merkle tree root node based on the hash value information, obtain the message packet based on the position identification information of the message packet in the Merkle tree. Any user in the target group can obtain the corresponding communication message after decrypting the ciphertext message stored in the message packet.

[0069] This method of storing security detection evidence information on the blockchain not only makes the security detection evidence information unchangeable, but also allows the security detection evidence information to be extracted from the blockchain as evidence at any time, thereby not only achieving permanent storage of target group communication messages, but also ensuring the security of the stored communication messages during the storage process. Only after each user in the target group obtains the stored security detection evidence information can they decode each ciphertext message stored in the security detection evidence information to obtain the communication information corresponding to each ciphertext message. That is, by using the method provided by the present application, not only can the target group communication messages be permanently stored and subsequently extracted as evidence at any time, but the privacy of the target group communication messages is also guaranteed during the storage process, thereby maximizing the protection of user privacy.

[0070] In an embodiment of the present application, the security center server may perform a security check on each communication message through a preset security check tool to determine a security check result for each communication message.

[0071] In an embodiment of the present application, the preset security detection tool is determined based on a non-safe vocabulary. The non-safe vocabulary may be, for example, a non-compliant vocabulary, such as a vocabulary involving financial vocabulary, or a vocabulary involving sensitive vocabulary, or a vocabulary involving uncivilized vocabulary. It should be understood that the above embodiment is only an exemplary description, and the word types and contents included in the specific non-compliant vocabulary can be flexibly adjusted according to user needs, and are not limited to those given in the above embodiment.

[0072] The preset security detection tool is used to perform compliance detection on each communication message. If a communication message involves words in the non-compliant vocabulary, or if a communication message contains words that are close or similar to those in the non-compliant vocabulary, then the communication message is determined to have failed the security detection. The security detection result of a communication message containing illegal words is unsafe.

[0073] In order to effectively store communication messages with unsafe detection results and ensure the immutability and reliability of the stored unsafe communication messages, in an embodiment of the present application, if the security detection result of the target communication message in each communication message is failed, the communication message with unsafe security detection result is sent to the preset secure blockchain.

[0074] In some possible embodiments, for a communication message with an insecure security detection result, in addition to reporting the communication message to the blockchain, a prompt message may also be sent to the terminal device that sent the communication message or to the terminal device that received the communication message, prompting that the communication message is an insecure communication message, so as to arouse the vigilance or attention of the user corresponding to the terminal device.

[0075] This method of uploading communication messages with insecure detection results to the blockchain ensures that the blockchain can store evidence of insecure communication messages. Due to the immutable nature of the blockchain itself, it completely preserves the insecure communication information as evidence for subsequent querying of insecure communication messages. For communication messages with a secure detection result, they may not need to be uploaded to the blockchain, thus realizing the security monitoring of communication messages and the storage of evidence for insecure communication messages while ensuring the communication privacy of users.

[0076] In some possible embodiments, if the communication message is a voice message, the voice message may be first converted into a text message, and then the security detection result of the text message may be determined according to a preset non-secure word library.

[0077] In some possible embodiments, if the communication message is an image or an emoji or a video, etc., the text message in the image or emoji or video may also be extracted through a preset image processing module, and then the security detection result of the text message may be determined according to a preset non-secure word library; it should be understood that the above embodiments are only for illustrative purposes, and the specific detection method for communication messages may be flexibly adjusted according to user needs and is not limited to those given in the above embodiments.

[0078] Among them, in order to ensure the comprehensiveness of security detection, the preset security detection tool is updatable, and its update method is: in response to an update operation for the non-secure word library, the preset security detection tool is updated. Among them, in the embodiments of the present application, the maintenance of the non-secure word library is carried out through a security monitoring log, so that the security detection department can ensure the comprehensiveness and iterability of security detection by continuously expanding or updating the non-secure word library and synchronizing the updated non-secure word library to each terminal device installed with communication software.

[0079] By using the social communication method provided in this application, although the communication messages among users in the target group all pass through the centralized transmission server for forwarding, the centralized transmission server only forwards the ciphertext messages corresponding to each encrypted communication message, and will not obtain the content of the communication messages corresponding to each ciphertext message. That is, the communication privacy of each user in the target group is protected. Moreover, to ensure the storage security of the communication records in the target group, this application packs multiple ciphertext messages corresponding to the target group to obtain a message package, and stores each message package on the blockchain as an immutable and non-deletable credible evidence. In the case of subsequent need to obtain the evidence preservation, the corresponding communication message content is obtained from the secure detection evidence preservation information stored on the blockchain. That is, by using the method provided in this application, not only can the privacy of each user's communication in the target group be ensured, but also the integrity and immutability of the communication information records in the target group can be ensured.

[0080] The following explains the social communication device provided in this application in conjunction with the accompanying drawings. This social communication device can execute any of the above Figures 1 - 4 social communication methods. For its specific implementation and beneficial effects, refer to the above, and will not be elaborated below.

[0081] Figure 5 is a schematic structural diagram of a social communication device provided in an embodiment of this application. As Figure 5 shown, the device includes: a receiving module 201, a verification module 202, a determination module 203, and a sending module 204, where:

[0082] The receiving module 201 is configured to receive ciphertext messages sent by a target user in a target group through a preset encryption channel corresponding to the target group; wherein, the ciphertext message is information encrypted for a communication message based on a zero-knowledge proof key and a public key corresponding to the target user; the zero-knowledge proof key is a key generated by a preset security center according to a zero-knowledge proof based on the communication message.

[0083] The verification module 202 is specifically configured to verify whether the ciphertext message passes the zero-knowledge proof verification through the preset encryption channel.

[0084] The determination module 203 is specifically configured to, if the ciphertext message passes the verification, determine the target user corresponding to the ciphertext message based on the public keys of each user in the target group.

[0085] The sending module 204 is specifically configured to send the ciphertext message to all users in the target group, so that all users can determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user.

[0086] Optionally, the verification module 202 is specifically configured to verify the ciphertext message through a zero-knowledge verification program in a preset encryption channel, and verify whether the ciphertext message passes the zero-knowledge proof verification.

[0087] Optionally, based on the above embodiments, an embodiment of the present application may further provide a social communication device. The implementation process of the device given below is illustrated with reference to the accompanying drawings. Figure 5 Give an example of the implementation process of the device. Figure 6 For the structural schematic diagram of the social communication device provided by another embodiment of the present application, as Figure 6 shown, the device further includes: a creation module 205, where:

[0088] The receiving module 201 is specifically configured to receive a creation operation of a target group sent by a preset group owner user in the target group;

[0089] The creation module 205 is configured to deploy a zero-knowledge verification program in a preset encryption channel according to the creation operation.

[0090] As Figure 6 shown, the device further includes: a storage module 206, configured to obtain the public keys of each user in the target group through a preset encryption channel according to the creation operation, and store the public keys of each user in the target group in the preset encryption channel.

[0091] Optionally, the determination module 203 is specifically configured to determine a preset encryption channel corresponding to the target group.

[0092] Optionally, the storage module 206 is specifically configured to store the ciphertext message in a preset location on the blockchain, so that the user can obtain the ciphertext message from the blockchain, and determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to each user.

[0093] Optionally, the determination module 203 is specifically configured to summarize the message packets corresponding to the ciphertext messages of the target user in the target group according to a time period; construct a Merkle tree corresponding to the target user in the target group, and determine the hash value of the Merkle tree root node; the Merkle tree is used to store the message packets corresponding to the ciphertext messages of the target user in the target group in chronological order.

[0094] Optionally, the determination module 203 is specifically configured to generate security detection evidence information corresponding to the message packet according to the position identification information of the message packet in the Merkle tree, the hash value of the Merkle tree root node, and the zero-knowledge proof string information of the message packet;

[0095] The sending module 204 is specifically configured to send the security detection evidence information to the blockchain.

[0096] The above device is used to execute the method provided in the foregoing embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0097] The above modules may be one or more integrated circuits configured to implement the above method. For example, one or more application specific integrated circuits (ASICs), or one or more microprocessors, or one or more field programmable gate arrays (FPGAs), etc. Again, when a certain module above is implemented in the form of a processing element scheduling program code, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processors that can call program code. Again, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0098] Figure 7 FIG. is a schematic structural diagram of a social communication device provided by an embodiment of the present application. The social communication device may be integrated into a terminal device or a chip of the terminal device.

[0099] As Figure 7 shown, the social communication device includes: a processor 501, a bus 502, and a storage medium 503.

[0100] The processor 501 is used to store a program. The processor 501 calls the program stored in the storage medium 503 to execute the above Figures 1 - 4 corresponding method embodiment. The specific implementation manner and technical effects are similar and will not be elaborated here.

[0101] Optionally, the present application further provides a program product, such as a storage medium, on which a computer program is stored, including a program that executes the corresponding embodiment of the above method when run by a processor.

[0102] In several embodiments provided by the present application, it should be understood that the disclosed device and method may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, and the indirect coupling or communication connection of the device or unit may be in an electrical, mechanical or other form.

[0103] The unit described as a separation component may or may not be physically separated. The component displayed as a unit may or may not be a physical unit, that is, it may be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0104] In addition, each functional unit in various embodiments of the present application may be integrated in a processing unit, may exist separately as individual physical units, or two or more units may be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a hardware plus software functional unit.

[0105] The above integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above software functional unit stored in a storage medium includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (English: processor) to execute some steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: various media such as a USB flash drive, a mobile hard disk, a read-only memory (English: Read-Only Memory, abbreviated as: ROM), a random access memory (English: Random Access Memory, abbreviated as: RAM), a magnetic disk, or an optical disc that can store program codes.

Claims

1. A social communication method, characterized in that, applied to a centralized transmission server, the method includes: Receiving a ciphertext message sent by a target user in a target group through a preset encryption channel corresponding to the target group; wherein, the ciphertext message is information obtained by encrypting a communication message based on a zero-knowledge proof key and a public key corresponding to the target user; the zero-knowledge proof key is a key generated by a preset security center based on the communication message using zero-knowledge proof; Verifying whether the ciphertext message passes zero-knowledge proof verification through the preset encryption channel; If the ciphertext message passes the verification, determining the target user corresponding to the ciphertext message based on the public keys corresponding to each user in the target group; Sending the ciphertext message to all users in the target group, so that all users determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user; wherein, the public keys corresponding to each user in the target group and the zero-knowledge proof key of the communication message are transmitted among users through a preset peer-to-peer network.

2. The method according to claim 1, characterized in that, The step of verifying whether the ciphertext message passes zero-knowledge proof verification through the preset encryption channel includes: Performing zero-knowledge proof verification on the ciphertext message through a zero-knowledge verification program in the preset encryption channel to verify whether the ciphertext message passes zero-knowledge proof verification.

3. The method according to claim 2, characterized in that, Before receiving the ciphertext message sent by the target user in the target group through the preset encryption channel corresponding to the target group, the method further includes: Receiving a creation operation of the target group sent by a preset group owner user in the target group; Deploying the zero-knowledge verification program in the preset encryption channel according to the creation operation.

4. The method according to claim 3, characterized in that, After receiving the creation operation of the target group sent by the preset group owner user in the target group, the method further includes: Obtaining the public keys of each user in the target group through the preset encryption channel according to the creation operation, and storing the public keys of each user in the target group in the preset encryption channel.

5. The method according to claim 3, characterized in that, After receiving the creation operation of the target group sent by the preset group owner user in the target group, the method further includes: Determining the preset encryption channel corresponding to the target group.

6. The method according to claim 1, characterized in that, The method further includes: Storing the ciphertext message at a preset position on the blockchain, so that the user can obtain the ciphertext message from the blockchain and determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public keys corresponding to each user.

7. The method according to claim 6, characterized in that, The step of storing the ciphertext message at a preset position on the blockchain includes: Summarizing the message packets corresponding to the ciphertext messages of the target user in the target group according to time periods; Construct the Merkle tree corresponding to the target user under the target group, and determine the hash value of the Merkle tree root node; the Merkle tree is used to store the message packets corresponding to the ciphertext messages of the target user in the target group in chronological order.

8. The method according to claim 7, wherein, the method further includes: generating security detection evidence information corresponding to the message packet according to the position identification information of the message packet in the Merkle tree, the hash value of the Merkle tree root node, and the zero-knowledge proof string information of the message packet; sending the security detection evidence information to the blockchain.

9. A social communication device, wherein, the device includes: a receiving module, a verification module, a determination module, and a sending module, wherein: the receiving module is configured to receive ciphertext messages sent by a target user in a target group through a preset encryption channel corresponding to the target group; wherein, the ciphertext message is information obtained by encrypting a communication message based on a zero-knowledge proof key and a public key corresponding to the target user; the zero-knowledge proof key is a key generated by a preset security center according to a zero-knowledge proof based on the communication message; the verification module is specifically configured to verify whether the ciphertext message passes the zero-knowledge proof verification through the preset encryption channel; the determination module is specifically configured to, if the ciphertext message passes the verification, determine the target user corresponding to the ciphertext message based on the public keys corresponding to the users in the target group; the sending module is specifically configured to send the ciphertext message to all users in the target group, so that all users determine the communication message corresponding to the ciphertext message based on the zero-knowledge proof key and the public key corresponding to the target user; wherein, the public keys corresponding to the users in the target group and the zero-knowledge proof key of the communication message are transmitted among the users through a preset peer-to-peer network.

10. A social communication device, wherein, the device includes: a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the social communication device runs, the processor communicates with the storage medium through the bus, and the processor executes the machine-readable instructions to execute the method according to any one of claims 1-8 above.

11. A storage medium, wherein, a computer program is stored on the storage medium, and when the computer program is run by a processor, it executes the method according to any one of claims 1-8 above.

Citation Information

Patent Citations

  • Instant messaging system and method based on block chain technology

    CN110113244A

  • Electronic medical record sharing and verifiable system based on block chain

    CN115314225A

  • Apparatuses, methods, and computer program products for centralized channel management in a group-based communication system

    US20210243571A1