Data transmission method and apparatus, electronic device, and storage medium

CN116015720BActive Publication Date: 2026-10-27ZHEJIANG NANOMICRO TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211529667.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-30
Publication Date
2026-10-27
Estimated Expiration
2042-11-30

AI Technical Summary

Technical Problem

该实施方式存在密钥泄露风险等技术问题

Benefits of technology

[0039]本申请提供了一种数据传输方法、装置、电子设备及存储介质,所述方法包括:通信管理服务器接收来自第一终端的数据传输请求,所述数据传输请求携带所述第一终端对应第一化身的第一化身标识、信道对象的信道对象标识以及传输对象对应第二化身的第二化身标识;所述第一化身和所述第二化身属于所述信道对象对应的信道群组成员;根据所述第一化身标识以及所述信道对象标识对应的第一协商密钥,对所述数据传输请求中的加密数据进行解密得到待传输数据;根据所述第二化身标识以及所述信道对象标识对应的第二协商密钥,对所述待传输数据进行加密得到待传输加密数据;根据所述第二化身标识,发送所述待传输加密数据至所述第二化身对应的第二终端。在该技术方案中,终端仅需要与通信管理服务器进行密钥协商,服务器进行文件的解密及加密传输,不需要在终端之间进行密钥分发及协商,进而避免了终端密钥非法泄露的风险;同时,通信管理服务器是独立于元宇宙服务器之外的服务器,与元宇宙服务器高度解耦合,在需要对通信功能更新时,仅需要更新通信管理服务器即可,不需要对元宇宙服务器的主系统进行修改。即本申请提供的数据传输方法安全且灵活。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116015720B_ABST
    Figure CN116015720B_ABST
Patent Text Reader

Abstract

The application provides a data transmission method and device, electronic equipment and storage medium. The method comprises the following steps: a communication management server receives a data transmission request from a first terminal, wherein the data transmission request carries a first avatar identifier, a channel object identifier and a second avatar identifier; encrypted data in the data transmission request is decrypted to obtain to-be-transmitted data according to a first negotiation key corresponding to the first avatar identifier and the channel object identifier; the to-be-transmitted data is encrypted to obtain to-be-transmitted encrypted data according to a second negotiation key corresponding to the second avatar identifier and the channel object identifier; and the to-be-transmitted encrypted data is sent to a second terminal corresponding to the second avatar according to the second avatar identifier. In the technical solution, the terminal only needs to perform key negotiation with the communication management server, the server performs file decryption and encrypted transmission, and key distribution and negotiation between terminals are not needed, thereby avoiding the risk of illegal leakage of terminal keys.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer data transmission technology, and in particular to a data transmission method, apparatus, electronic device, and storage medium. Background Technology

[0002] The metaverse (or virtual world) is a simulated environment in which users live as digital avatars and interact with other users through these avatars. In the metaverse, users' digital avatars, objects, and scenes are typically three-dimensional models. Because the virtual environment in the metaverse is a simulation of the real environment, users can obtain an immersive application experience.

[0003] The metaverse server stores data about the landscape, objects, and users of the virtual environment. The metaverse client runs on each user's smartphone or other smart terminal or computer. The client communicates with the host system (i.e., the metaverse server) (e.g., via a network connection) and provides a display of the three-dimensional virtual environment on the user's computer. Based on this, the user controls the avatar through the client to interact with other avatars or objects using data or messages.

[0004] In some implementations, to enable data transmission between users, the metaverse server establishes a communication link between the two parties. The two parties then exchange keys and perform file encryption / decryption based on this link, while the metaverse server only forwards the data. This implementation presents technical problems such as the risk of key leakage. Summary of the Invention

[0005] To address the aforementioned problems, this application provides a data transmission method, apparatus, electronic device, and storage medium to mitigate the risk of key leakage associated with the data transmission methods described above.

[0006] Firstly, this application provides a data transmission method applicable to a communication management server in a metaverse, the method comprising:

[0007] A data transmission request is received from a first terminal. The data transmission request carries the first avatar identifier of the first terminal corresponding to the first avatar, the channel object identifier of the channel object, and the second avatar identifier of the transmission object corresponding to the second avatar. The first avatar and the second avatar belong to the channel group members corresponding to the channel object.

[0008] Based on the first negotiation key corresponding to the first avatar identifier and the channel object identifier, the encrypted data in the data transmission request is decrypted to obtain the data to be transmitted.

[0009] Based on the second avatar identifier and the second negotiation key corresponding to the channel object identifier, the data to be transmitted is encrypted to obtain encrypted data to be transmitted.

[0010] Based on the second avatar identifier, the encrypted data to be transmitted is sent to the second terminal corresponding to the second avatar.

[0011] According to an embodiment of this application, optionally, the above data transmission method further includes, before receiving a data transmission request from the first terminal:

[0012] Receive a communication channel establishment request from the communication initiating terminal;

[0013] Create a channel object;

[0014] Add the initiator avatar corresponding to the communication initiating terminal to the channel group member of the channel object.

[0015] According to an embodiment of this application, optionally, the above data transmission method, after establishing the channel object, further includes:

[0016] Receive communication channel participation requests from participating terminals;

[0017] The participating avatar corresponding to the communication participating terminal is added to the channel group member, and the first avatar and the second avatar belong to the channel group member.

[0018] According to an embodiment of this application, optionally, the above data transmission method, after adding the participating avatar corresponding to the communication participating terminal to the channel group member of the communication channel object, further includes:

[0019] Receive channel group member management requests from the communication management terminal;

[0020] Manage the channel group members according to the channel group member management request.

[0021] According to an embodiment of this application, optionally, the above data transmission method, after establishing the channel object, further includes:

[0022] After detecting that the communication channel corresponding to the channel object has ended communication, the channel object is eliminated.

[0023] According to an embodiment of this application, optionally, the above data transmission method further includes:

[0024] The system receives a user's query instruction and performs a query in the graph database according to the user's query instruction to obtain and output the graphs of each of the historical shutdown events corresponding to the user's query instruction.

[0025] According to an embodiment of this application, optionally, the above data transmission method further includes, before receiving a data transmission request from the first terminal:

[0026] Send the public key of the channel object to the communication terminals corresponding to all avatars in the channel group members;

[0027] Obtain the avatar public keys sent by the communication terminals corresponding to all avatars in the channel group members;

[0028] Based on the private key of the channel object and the public key of each avatar, generate the identifier of each avatar and the negotiation key corresponding to the identifier of the channel object.

[0029] Secondly, this application provides a data transmission device, which is configured as a communication management server in a metaverse. The device includes:

[0030] A receiving module is configured to receive a data transmission request from a first terminal. The data transmission request carries a first avatar identifier corresponding to a first avatar of the first terminal, a channel object identifier of a channel object, and a second avatar identifier corresponding to a second avatar of the transmission object. The first avatar and the second avatar belong to the channel group members corresponding to the channel object.

[0031] The decryption module is used to decrypt the encrypted data in the data transmission request to obtain the data to be transmitted based on the first negotiation key corresponding to the first avatar identifier and the channel object identifier;

[0032] An encryption module is used to encrypt the data to be transmitted according to the second negotiation key corresponding to the second avatar identifier and the channel object identifier to obtain encrypted data to be transmitted;

[0033] The sending module is used to send the encrypted data to be transmitted to the second terminal corresponding to the second avatar based on the second avatar identifier.

[0034] According to embodiments of this application, optionally, the above-described data transmission apparatus further includes:

[0035] The negotiation module is used to send the object public key of the channel object to the communication terminals corresponding to all avatars in the channel group members, obtain the avatar public keys sent by the communication terminals corresponding to all avatars in the channel group members, and generate each avatar identifier and the negotiation key corresponding to the channel object identifier based on the object private key of the channel object and the avatar public key corresponding to each avatar.

[0036] Thirdly, this application provides an electronic device including a memory and a processor, wherein the memory stores a computer program that, when executed by the processor, performs the data transmission method as described in any one of the first aspects.

[0037] Fourthly, this application provides a storage medium storing a computer program that can be executed by one or more processors and can be used to implement the data transmission method as described in any of the first aspects.

[0038] Compared with the prior art, one or more embodiments of the above solutions may have the following advantages or beneficial effects:

[0039] This application provides a data transmission method, apparatus, electronic device, and storage medium. The method includes: a communication management server receiving a data transmission request from a first terminal, the data transmission request carrying a first avatar identifier corresponding to a first avatar of the first terminal, a channel object identifier of a channel object, and a second avatar identifier corresponding to a second avatar of a transmission object; the first avatar and the second avatar are members of a channel group corresponding to the channel object; decrypting encrypted data in the data transmission request according to a first negotiation key corresponding to the first avatar identifier and the channel object identifier to obtain data to be transmitted; encrypting the data to be transmitted according to a second negotiation key corresponding to the second avatar identifier and the channel object identifier to obtain encrypted data to be transmitted; and sending the encrypted data to be transmitted to a second terminal corresponding to the second avatar according to the second avatar identifier. In this technical solution, the terminal only needs to negotiate a key with the communication management server, and the server performs file decryption and encrypted transmission, without needing to distribute and negotiate keys between terminals, thus avoiding the risk of illegal leakage of terminal keys; at the same time, the communication management server is a server independent of the metaverse server, highly decoupled from the metaverse server, so when the communication function needs to be updated, only the communication management server needs to be updated, without modifying the main system of the metaverse server. The data transmission method provided in this application is secure and flexible. Attached Figure Description

[0040] The present application will be described in more detail below based on embodiments and with reference to the accompanying drawings:

[0041] Figure 1 A schematic diagram of the metaverse provided in the embodiments of this application;

[0042] Figure 2 This is a schematic diagram of a first type of data transmission method provided in an embodiment of this application;

[0043] Figure 3This is a second flowchart illustrating the data transmission method provided in an embodiment of this application;

[0044] Figure 4 This is a schematic diagram of a third data transmission method provided in an embodiment of this application;

[0045] Figure 5 This is a schematic diagram of the structure of the communication management server provided in an embodiment of this application;

[0046] Figure 6 This is a schematic diagram of the structure of the data transmission device provided in the embodiments of this application.

[0047] In the accompanying drawings, the same parts are referred to by the same reference numerals, and the drawings are not drawn to scale. Detailed Implementation

[0048] The following detailed description of the embodiments of this application, in conjunction with the accompanying drawings, will provide a thorough understanding of how this application uses technical means to solve technical problems and achieve corresponding technical effects, enabling its implementation. The embodiments of this application and the various features within them can be combined with each other without conflict, and all resulting technical solutions are within the protection scope of this application.

[0049] Furthermore, numerous specific details are set forth in the following description for purposes of explanation, in order to provide a thorough understanding of the embodiments of the invention. However, it will be apparent to those skilled in the art that the invention may be practiced without the specific details herein or the particular methods described.

[0050] Example 1

[0051] Please see Figure 1 , Figure 1 This is a schematic diagram of a metaverse scenario provided in an embodiment of this application. The metaverse includes one or more metaverse servers (such as...). Figure 1 Metaverse Server 12a and Metaverse Server 12b, etc.), multiple clients (such as Figure 1 The client 11a and client 11b, etc. (i.e., the communication terminal in the following embodiments), and the communication management server 13, etc., which are uniquely provided in this application; wherein, each client is associated with a digital avatar. The metaverse server and the communication management server are connected to multiple clients through the Internet composed of various gateways, etc., which will not be described in detail here.

[0052] A Metaverse server is a server that hosts Metaverse services and is associated with Metaverse clients. A Metaverse server is a single server or a cluster of servers used to store and run the various types of software required to manage Metaverse.

[0053] Users access the metaverse through the metaverse client. Digital avatars, virtual objects, and scenes in the metaverse are rendered and displayed on the client. Users can also interact with other digital avatars and move them within the metaverse through the client. For ease of explanation below, client 11a is defined as the first terminal, and client 11b as the second terminal.

[0054] The communication management server 13 is used to establish communication channels for two communicating parties or communication groups. It also creates a virtual channel object for each communication channel for easy management. Then, it generates communication key pairs for the channel objects, calculates and stores the negotiated keys between the channel objects and their members (i.e., the communication participants in the communication channel), manages the communication user groups formed by the communication participants, and the persistence of the channel objects for each communication channel. It also manages data transmission between users based on communication terminals. A communication channel does not refer to a physical channel; any communication link and method can be used to implement it.

[0055] After a user accesses the Metaverse through the Metaverse client, the client corresponding to each digital avatar generates a communication key pair. As mentioned earlier, the communication key pair includes a private key and a public key. The private key is stored locally on the client or the communication management server and is not shown to others, while the public key can be distributed to others to negotiate the key.

[0056] In this application, to facilitate the management of communication channels, the communication management server associates the existence of communication channels with that of channel objects. When a user initiates a data transmission service such as a multi-point group chat or point-to-point interaction, the communication management server allocates a virtual link or other communication channel for the data transmission service and generates a corresponding channel object (a type of virtual user terminal / user avatar). This channel object negotiates a key with the participating users. Since the terminals negotiate the key with the virtual channel object within the server, there is no need for key negotiation between the terminals, resulting in higher security. When a user ends a data transmission service such as a multi-point group chat or point-to-point interaction, the communication management server deletes the channel object corresponding to the data transmission service, thus ending the lifecycle of the channel object.

[0057] In this application, the data transmission service, communication channel, channel object, and communication group (including all members of the data transmission service) are in one-to-one correspondence. The channel object and the communication terminal (the terminal corresponding to the user avatar) exchange public keys and generate negotiation keys. In this way, the avatar identifier of each user avatar and the channel object identifier of the channel object are uniquely associated with a negotiation key. Even within the same communication group, the negotiation keys between different user avatars and the channel object are different.

[0058] Specifically, the communication management server 13 receives a data transmission request from a first terminal. The data transmission request carries a first avatar identifier corresponding to the first terminal, a channel object identifier for the channel object, and a second avatar identifier corresponding to the second avatar of the transmission object. The first avatar and the second avatar belong to the channel group members corresponding to the channel object. Based on the first avatar identifier and the first negotiation key corresponding to the channel object identifier, the encrypted data in the data transmission request is decrypted to obtain the data to be transmitted. Based on the second avatar identifier and the second negotiation key corresponding to the channel object identifier, the data to be transmitted is encrypted to obtain encrypted data to be transmitted. Based on the second avatar identifier, the encrypted data to be transmitted is sent to the second terminal corresponding to the second avatar.

[0059] It should be noted that, Figure 1 The system scenario diagram shown is merely an example. The server and scenario described in this application embodiment are for the purpose of more clearly illustrating the technical solution of this application embodiment and do not constitute a limitation on the technical solution provided by this application embodiment. As those skilled in the art will know, with the evolution of the system and the emergence of new business scenarios, the technical solution provided by this application embodiment is also applicable to similar technical problems.

[0060] Example 2

[0061] Figure 2 For a first flowchart illustrating the data transmission method provided in this application embodiment, please refer to [link / reference]. Figure 2 The data transmission method for a communication management server in the metaverse provided in this embodiment includes:

[0062] Step S110: The communication management server receives a data transmission request from the first terminal.

[0063] In some embodiments, the data transmission request is generated by the initiating terminal of the data exchange request (i.e., the first terminal), and carries the first avatar identifier of the first terminal corresponding to the first avatar, the channel object identifier of the channel object, and the second avatar identifier of the second avatar corresponding to the transmission object (i.e., the target user of the data transmission); the first avatar and the second avatar belong to the channel group members corresponding to the channel object.

[0064] In some embodiments, the first avatar identifier, the channel object identifier, and the second avatar identifier can all be unique identifiers within a certain metaverse, or they can be unique identifiers across all metaverses; their implementation can be, for example, by registering a serial number.

[0065] In some embodiments, before receiving a data transmission request from the first terminal, the communication management server... Figure 2The method further includes: receiving a communication channel establishment request from the communication initiating terminal; establishing a channel object; and adding the initiating avatar corresponding to the communication initiating terminal to the channel group members of the channel object.

[0066] Specifically, the communication initiating terminal (i.e., the first terminal) first sends a communication channel establishment request to the communication management server. Then, upon receiving the request, the communication management server establishes a channel object and adds the initiating avatar corresponding to the communication initiating terminal to the channel group members of the channel object. In this embodiment, a key pair is generated for the channel object simultaneously with its establishment. The private key is stored by the communication management server and not disclosed to others, while the public key is distributed to the terminals used by the channel participants.

[0067] In some embodiments, following the previous embodiment, after the channel object is established, the communication management server... Figure 2 The method further includes: receiving a communication channel participation request from a communication participating terminal; adding the participating avatar corresponding to the communication participating terminal to the channel group member, wherein the first avatar and the second avatar belong to the channel group member.

[0068] Specifically, after establishing a channel object, the communication initiating terminal can invite the corresponding avatars of other terminals to join the target channel based on the channel object identifier of the channel object, or other avatars can send a request to the communication initiating terminal to join the channel. Upon receiving a communication channel participation request from a communication participating terminal (i.e., other terminals), the communication management server adds the participating avatar corresponding to the communication participating terminal to the channel group members. At this time, the aforementioned first avatar and second avatar belong to the channel group members.

[0069] In some embodiments, after adding the participating avatar corresponding to the communication participating terminal to the channel group member of the communication channel object, the method further includes: receiving a channel group member management request from a communication management terminal; and managing the channel group member according to the channel group member management request.

[0070] Channel group member management requests can include various requests such as adding, removing, restricting permissions, ending group chat, and querying. Specifically, channel group members are managed by the communication management server, which can add or delete members and provide a member list based on the aforementioned requests. After the participant avatar corresponding to the communication participating terminal is added to the channel group member of the communication channel object, the communication management server will manage the channel group members according to the channel group member management requests, such as providing a list of all members of the channel group or deleting a member.

[0071] In some embodiments, following the previous embodiment, after the channel object is established, the communication management server... Figure 2 The method also includes: eliminating the channel object after detecting that the communication channel corresponding to the channel object has ended communication. This embodiment can perform timely resource reclamation.

[0072] In some embodiments, key negotiation is required to achieve secure data transmission; that is, before the communication management server receives a data transmission request from the first terminal, Figure 2 The method further includes: sending the object public key of the channel object to the communication terminals corresponding to all avatars in the channel group members; obtaining the avatar public keys sent by the communication terminals corresponding to all avatars in the channel group members; and generating each avatar identifier and the negotiation key corresponding to the channel object identifier based on the object private key of the channel object and the avatar public key corresponding to each avatar.

[0073] Specifically, the step of generating the negotiation key corresponding to each avatar identifier and the channel object identifier based on the private key of the channel object and the public key of each avatar can use the Diffie-Hellman key exchange protocol (hereinafter referred to as DH protocol) to generate the negotiation key S, that is: DH(private key of channel object, public key of avatar) = negotiation key S = DH(private key of avatar, public key of channel object).

[0074] It is important to note that each member in the channel group has a unique negotiation key S, which is exclusive to the channel object.

[0075] Step S120: Decrypt the encrypted data in the data transmission request to obtain the data to be transmitted based on the first negotiation key corresponding to the first avatar identifier and the channel object identifier.

[0076] In some embodiments, after receiving a data transmission request from the first terminal, the communication management server decrypts the encrypted data in the data transmission request to obtain the data to be transmitted based on the first negotiation key S1 corresponding to the first avatar identifier and the channel object identifier, i.e.: DH (private key of the channel object, public key of the first avatar) = negotiation key S1 = DH (private key of the first avatar, public key of the channel object).

[0077] Step S130: Encrypt the data to be transmitted according to the second negotiation key corresponding to the second avatar identifier and the channel object identifier to obtain encrypted data to be transmitted.

[0078] In some embodiments, the communication management server decrypts the encrypted data in the data transmission request according to the first negotiation key S1 to obtain the data to be transmitted, and then encrypts the data to be transmitted according to the second negotiation key S2 corresponding to the second avatar identifier and the channel object identifier, that is: DH (private key of the channel object, public key of the second avatar) = negotiation key S2 = DH (private key of the second avatar, public key of the channel object) to obtain encrypted data to be transmitted.

[0079] Step S140: Based on the second avatar identifier, send the encrypted data to be transmitted to the second terminal corresponding to the second avatar.

[0080] In some embodiments, after the communication management server encrypts the data to be transmitted using the second negotiation key S2 to obtain encrypted data to be transmitted, it sends the encrypted data to be transmitted to the second terminal corresponding to the second avatar based on the second avatar identifier. The second terminal can then use the negotiation key stored within it to decrypt the file, thus completing the secure data transmission process.

[0081] In the data transmission method provided in this application, the terminal only needs to negotiate a key with the communication management server, and the server performs file decryption and encrypted transmission. Key distribution and negotiation between terminals are unnecessary, thus avoiding the risk of illegal leakage of terminal keys. Furthermore, the communication management server is independent of the metaverse server and highly decoupled from it. When communication functions need to be updated, only the communication management server needs to be updated; no modification to the metaverse server's main system is required. Therefore, the data transmission method provided in this application is both secure and flexible.

[0082] This application will now be explained in detail with reference to specific scenarios.

[0083] Scenario 1: In this scenario, all group members are connected to the same metaverse, meaning that this scenario mainly involves the secure transmission of data within the same metaverse.

[0084] Figure 3 For a second flowchart illustrating the data transmission method provided in this application embodiment, please refer to [link / reference]. Figure 3 The data transmission method for a communication management server within the same metaverse provided in this embodiment includes:

[0085] Step S210: The first terminal initiates a communication channel establishment request.

[0086] In some embodiments, when a communication initiating terminal (i.e., the first terminal) needs to transmit data with other avatars, it first sends a communication channel establishment request to the communication management server.

[0087] Step S211: The communication management server establishes a channel object and returns the channel object identifier.

[0088] In some embodiments, after receiving a communication channel establishment request from a communication initiating terminal, the communication management server creates a channel object and a corresponding channel group, and adds the initiating avatar corresponding to the communication initiating terminal to the channel group members of the channel object. Then, the channel object identifier is fed back to the first terminal, facilitating the first terminal to invite other avatars to participate.

[0089] Steps S212 to S213: The first terminal sends the channel object identifier to the second terminal through the metaverse server.

[0090] In some embodiments, the number of second terminals can be one or more.

[0091] Step S214: The second terminal initiates a communication channel participation request.

[0092] In some embodiments, the second terminal requests to join the corresponding communication channel based on the aforementioned channel object identifier under the user's operation. At this time, the second terminal sends a communication channel participation request.

[0093] Step S215: Negotiate the key.

[0094] In some embodiments, after receiving a communication channel participation request from a communication participating terminal, the communication management server adds the participating avatar corresponding to the communication participating terminal to the channel group members, and then negotiates the key.

[0095] In some embodiments, this step mainly involves the communication management server negotiating keys with the first terminal and the second terminal; specifically, the first terminal and the communication management server exchange their respective public keys to generate a first negotiation key, and the second terminal and the communication management server exchange their respective public keys to generate a second negotiation key.

[0096] Step S216: Data transmission.

[0097] In some embodiments, after the key negotiation in the previous step, the first terminal and the second terminal can conduct secure data exchange based on the communication management server. For details of the interaction process, please refer to [reference needed]. Figure 2 And corresponding descriptions.

[0098] Step S217: Channel object elimination.

[0099] In some embodiments, either the first terminal or the second terminal may terminate these communication channels; after the communication management server detects that the communication channel corresponding to the channel object has ended communication, it deletes the channel object and saves logs and other information of the channel object.

[0100] Scenario 2: In this scenario, group members can access different metaverses, meaning this scenario mainly involves secure data transmission across metaverses.

[0101] Figure 4 For a third flowchart illustrating the data transmission method provided in this application embodiment, please refer to [link / reference]. Figure 4 The data transmission method for a cross-universe communication management server provided in this embodiment includes:

[0102] Step S310: The first terminal initiates a communication channel establishment request.

[0103] In some embodiments, when a communication initiating terminal (i.e., the first terminal) located in the first metaverse needs to transmit data with avatars of other metaverses, it first sends a communication channel establishment request to a communication management server that is independent of the metaverse server.

[0104] Step S311: The communication management server establishes a channel object and returns the channel object identifier.

[0105] In some embodiments, after receiving a communication channel establishment request from a communication initiating terminal, the communication management server creates a channel object and a corresponding channel group, and adds the initiating avatar corresponding to the communication initiating terminal to the channel group member of the channel object. Then, it feeds back the channel object identifier, such as a QR code, to the first terminal, facilitating the first terminal to invite other avatars to participate.

[0106] Step S312: The first terminal directly shares the channel object identifier with the second terminal.

[0107] In some embodiments, a user can operate a first terminal to share a channel object identifier such as a QR code to a second terminal of another user. The number of second terminals can be one or more.

[0108] Step S313: The second terminal initiates a communication channel participation request.

[0109] In some embodiments, the second terminal requests to join the corresponding communication channel based on the aforementioned channel object identifier under the user's operation. At this time, the second terminal sends a communication channel participation request.

[0110] Step S314: Negotiate the key.

[0111] 0 In some embodiments, after receiving a communication channel participation request from a communication participating terminal, the communication management server adds the participating avatar corresponding to the communication participating terminal to the channel group members, and then negotiates the key.

[0112] In some embodiments, this step mainly involves the communication management server negotiating keys with the first terminal and the second terminal; specifically, the first terminal and the communication management server exchange their respective public keys to generate a first negotiation key, and the second terminal and the communication management server exchange their respective public keys to generate a second negotiation key.

[0113] Step S315: Data transmission.

[0114] In some embodiments, after the key negotiation in the previous step, the first terminal and the second terminal can conduct secure data exchange based on the communication management server. For details of the interaction process, please refer to [reference needed]. Figure 2 And corresponding descriptions.

[0115] Step 0 S316: Channel object elimination.

[0116] In some embodiments, either the first terminal or the second terminal may terminate these communication channels; after the communication management server detects that the communication channel corresponding to the channel object has ended communication, it deletes the channel object and saves logs and other information of the channel object.

[0117] 5 Example 3

[0118] Figure 5 Please refer to the schematic diagram of a communication management server provided in the embodiments of this application. Figure 5 The communication management server provided in this application includes an object management module 501, a group management module 502, a key calculation module 503, a key database 504, a transmission controller 505, and a data encryption / decryption module 506, wherein:

[0119] The object management module 501 is used to generate a corresponding channel object for each channel group in the communication management server (the communication management server can manage multiple channel groups), instruct the key calculation module 503 to generate a key pair, associate the channel group member corresponding to the channel object, and eliminate the corresponding channel object after detecting that the communication channel corresponding to the corresponding channel object has ended communication.

[0120] The group management module 502 is used to manage channel group members, including adding channel group members, deleting channel group members, and providing a list of channel group members.

[0121] The key calculation module 503 is used to calculate the public and private keys and the negotiation key of the channel object.

[0122] The key database 504 is used to store the calculated channel object key pairs and the negotiation keys between the channel object and the corresponding avatars of the group members.

[0123] The transmission controller 505 includes a data transmission module 5051 and a message transmission module 5052. The data transmission module 5051 is used to receive and forward data sent by the client (i.e., the communication terminal in the above embodiment); the message transmission module 5052 is used to transmit management information between users (clients).

[0124] The data encryption / decryption module 506 is used to decrypt received data and encrypt sent data using the negotiated key.

[0125] In this embodiment, the communication initiator (the communication initiating terminal in the above embodiment) first sends a communication channel establishment request to the communication management server. Then, the communication management server establishes a communication channel object and generates a key pair. The private key is stored by the communication management server and cannot be shown to others, while the public key can be distributed to the participants of the channel.

[0126] In this process, the channel initiator can invite other avatars to join the channel; or other avatars can send a request to the channel initiator to join the channel. Once permission is granted, the avatar that sent the request to join the channel becomes a member of the channel group; the members of the channel group are managed by the communication management server.

[0127] When the avatar corresponding to the communication terminal joins the channel group, it exchanges a public key with the channel object. After exchanging public keys, the Diffie-Hellman key exchange protocol is used to generate a negotiation key S, namely:

[0128] DH(A's private key, B's public key) = negotiation key S = DH(B's private key, A's public key), where A is the first user (i.e., a channel participant) and B is the second user (i.e., a channel object). By using this algorithm, the same negotiation key S can be obtained without exchanging private keys between the two parties (note that each member and group object shares a separate negotiation key S).

[0129] The data sender (client) encrypts the data to be transmitted using a negotiation key S shared with the channel object and then transmits it to the communication management server. The communication management server decrypts the data using the negotiation key S. Then, based on the data transmission requirements, the communication management server locates the data receiver (which can be all users in a group or only some users) and the corresponding negotiation key. The communication management server uses this key to encrypt the data again and transmits it to the data receiver (client). The data receiver then uses this key to decrypt the data. At this point, the secure data transmission process is complete.

[0130] Example 4

[0131] Figure 6 Please refer to the schematic diagram of a data transmission device provided in the embodiments of this application. Figure 6 The data transmission device provided in this embodiment is set in the communication management server in the metaverse, and includes a receiving module 610, a decryption module 620, an encryption module 630 and a sending module 640.

[0132] The receiving module 610 is used to receive a data transmission request from a first terminal. The data transmission request carries a first avatar identifier corresponding to a first avatar of the first terminal, a channel object identifier of a channel object, and a second avatar identifier corresponding to a second avatar of the transmission object. The first avatar and the second avatar belong to the channel group members corresponding to the channel object.

[0133] The decryption module 620 is used to decrypt the encrypted data in the data transmission request to obtain the data to be transmitted based on the first negotiation key corresponding to the first avatar identifier and the channel object identifier.

[0134] The encryption module 630 is used to encrypt the data to be transmitted according to the second negotiation key corresponding to the second avatar identifier and the channel object identifier to obtain encrypted data to be transmitted.

[0135] The sending module 640 is used to send the encrypted data to be transmitted to the second terminal corresponding to the second avatar based on the second avatar identifier.

[0136] In some embodiments, the data transmission device further includes:

[0137] The negotiation module is used to send the object public key of the channel object to the communication terminals corresponding to all avatars in the channel group members, obtain the avatar public keys sent by the communication terminals corresponding to all avatars in the channel group members, and generate each avatar identifier and the negotiation key corresponding to the channel object identifier based on the object private key of the channel object and the avatar public key corresponding to each avatar.

[0138] Specific embodiments of the data transmission method based on the above modules have been described in detail in Embodiment 1, and will not be repeated here.

[0139] Example 5

[0140] This embodiment provides an electronic device, which can be a mobile phone, computer, or tablet computer, etc., serving as the communication management server in this application. It includes a memory and a processor. The memory stores a calculator program, which, when executed by the processor, implements the data transmission method described in Embodiment 1. It is understood that the electronic device may further include an input / output (I / O) interface and communication components.

[0141] The processor is used to execute all or part of the steps in the data transmission method as described in Embodiment 1. The memory is used to store various types of data, which may include, for example, instructions for any application or method in the terminal device, as well as application-related data.

[0142] The processor may be implemented as an Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), controller, microcontroller, microprocessor, or other electronic components, and is used to execute the data transmission method in Embodiment 1 above.

[0143] The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0144] Example 6

[0145] This embodiment also provides a computer-readable storage medium, such as flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, server, app store, etc., on which a computer program is stored. When the computer program is executed by a processor, it can implement the following method steps:

[0146] A data transmission request is received from a first terminal. The data transmission request carries the first avatar identifier of the first terminal corresponding to the first avatar, the channel object identifier of the channel object, and the second avatar identifier of the transmission object corresponding to the second avatar. The first avatar and the second avatar belong to the channel group members corresponding to the channel object.

[0147] Based on the first negotiation key corresponding to the first avatar identifier and the channel object identifier, the encrypted data in the data transmission request is decrypted to obtain the data to be transmitted.

[0148] Based on the second avatar identifier and the second negotiation key corresponding to the channel object identifier, the data to be transmitted is encrypted to obtain encrypted data to be transmitted.

[0149] Based on the second avatar identifier, the encrypted data to be transmitted is sent to the second terminal corresponding to the second avatar.

[0150] For a detailed description of the above method steps, please refer to Example 1. This example will not be repeated here.

[0151] In summary, this application provides a data transmission method, apparatus, electronic device, and storage medium. The method is applicable to a communication management server in a metaverse, comprising receiving a data transmission request from a first terminal, the data transmission request carrying a first avatar identifier corresponding to a first avatar of the first terminal, a channel object identifier of a channel object, and a second avatar identifier corresponding to a second avatar of a transmission object; the first avatar and the second avatar are members of a channel group corresponding to the channel object; decrypting the encrypted data in the data transmission request according to a first negotiation key corresponding to the first avatar identifier and the channel object identifier to obtain data to be transmitted; encrypting the data to be transmitted according to a second negotiation key corresponding to the second avatar identifier and the channel object identifier to obtain encrypted data to be transmitted; and sending the encrypted data to be transmitted to a second terminal corresponding to the second avatar according to the second avatar identifier. In this technical solution, the terminal only needs to negotiate a key with the communication management server, and the server performs file decryption and encrypted transmission. Key distribution and negotiation between terminals are unnecessary, thus avoiding the risk of illegal leakage of terminal keys. Furthermore, the communication management server is independent of the metaverse server and highly decoupled from it. When communication functions need to be updated, only the communication management server needs to be updated; there is no need to modify the main system of the metaverse server. Therefore, the data transmission method provided in this application is secure and flexible.

[0152] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0153] Although the embodiments disclosed in this application are as described above, the content is merely for the purpose of facilitating understanding of this application and is not intended to limit this application. Any person skilled in the art to which this application pertains may make any modifications and changes in the form and details of the implementation without departing from the spirit and scope disclosed in this application; however, the scope of patent protection of this application shall still be determined by the scope defined in the appended claims.

Claims

1. A data transmission method, characterized in that, The method, applicable to a communication management server in a metaverse, includes: Send the public key of the channel object to all communication terminals corresponding to the avatars in the channel group members; Obtain the avatar public keys sent by the communication terminals corresponding to all avatars in the channel group members; Based on the private key of the channel object and the public key of each avatar, generate an avatar identifier and a negotiation key corresponding to the channel object identifier; A data transmission request is received from a first terminal. The data transmission request carries the first avatar identifier of the first terminal corresponding to the first avatar, the channel object identifier of the channel object, and the second avatar identifier of the transmission object corresponding to the second avatar. The first avatar and the second avatar belong to the channel group members corresponding to the channel object. Based on the first negotiation key corresponding to the first avatar identifier and the channel object identifier, the encrypted data in the data transmission request is decrypted to obtain the data to be transmitted. Based on the second avatar identifier and the second negotiation key corresponding to the channel object identifier, the data to be transmitted is encrypted to obtain encrypted data to be transmitted. Based on the second avatar identifier, the encrypted data to be transmitted is sent to the second terminal corresponding to the second avatar.

2. The method according to claim 1, characterized in that, Before receiving a data transmission request from the first terminal, it also includes: Receive a communication channel establishment request from the communication initiating terminal; Create a channel object; Add the initiator avatar corresponding to the communication initiating terminal to the channel group member of the channel object.

3. The method according to claim 2, characterized in that, Following the establishment of the channel object, the following is also included: Receive communication channel participation requests from participating terminals; The participating avatar corresponding to the communication participating terminal is added to the channel group member, and the first avatar and the second avatar belong to the channel group member.

4. The method according to claim 3, characterized in that, After adding the participating avatar corresponding to the communication participating terminal to the channel group member of the communication channel object, the method further includes: Receive channel group member management requests from the communication management terminal; Manage the channel group members according to the channel group member management request.

5. The method according to claim 2, characterized in that, Following the establishment of the channel object, the following is also included: After detecting that the communication channel corresponding to the channel object has ended communication, the channel object is eliminated.

6. A data transmission device, characterized in that, A communication management server is configured within the metaverse, the device comprising: The negotiation module is used to send the public key of the channel object to the communication terminal corresponding to all avatars in the channel group members, obtain the public key of the avatar sent by the communication terminal corresponding to all avatars in the channel group members, and generate the negotiation key corresponding to each avatar identifier and the channel object identifier based on the private key of the channel object and the public key of each avatar. A receiving module is configured to receive a data transmission request from a first terminal. The data transmission request carries a first avatar identifier corresponding to a first avatar of the first terminal, a channel object identifier of a channel object, and a second avatar identifier corresponding to a second avatar of the transmission object. The first avatar and the second avatar belong to the channel group members corresponding to the channel object. The decryption module is used to decrypt the encrypted data in the data transmission request to obtain the data to be transmitted based on the first negotiation key corresponding to the first avatar identifier and the channel object identifier; An encryption module is used to encrypt the data to be transmitted according to the second negotiation key corresponding to the second avatar identifier and the channel object identifier to obtain encrypted data to be transmitted; The sending module is used to send the encrypted data to be transmitted to the second terminal corresponding to the second avatar based on the second avatar identifier.

7. An electronic device, characterized in that, It includes a memory and a processor, wherein the memory stores a computer program that, when executed by the processor, performs the method as described in any one of claims 1 to 5.

8. A storage medium, characterized in that, The computer program stored in the storage medium, when executed by one or more processors, implements the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • VoIP safety meeting session key transmission method

    CN104618110A