Confidential data management method, electronic device, storage medium, and program product

By fragmenting confidential data and encapsulating and encrypting it in trusted execution nodes, the problem of insufficient security in confidential data management in existing technologies is solved, and highly reliable confidential data storage and recovery are achieved.

CN114117471BActive Publication Date: 2026-01-30冯伊娜
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111326311.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-10
Publication Date
2026-01-30
Estimated Expiration
2041-11-10

AI Technical Summary

Technical Problem

Existing confidential data management mechanisms have poor security and reliability, which can easily lead to information leakage and security incidents. Existing solutions such as centralized cloud storage, blockchain identity recovery, and threshold signatures are also at risk of information leakage.

Method used

A secret sharing algorithm is used to divide confidential data into multiple data fragments, which are then stored in trusted execution nodes along with corresponding verification information. The data is then encapsulated and encrypted in a trusted execution environment to ensure the secure storage and transmission of the data in the trusted execution nodes.

Benefits of technology

It improves the security of confidential data management, reduces the risk of collusion among multiple trusted execution nodes, avoids security incidents caused by information leakage, and enhances the reliability of data recovery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114117471B_ABST
    Figure CN114117471B_ABST
Patent Text Reader

Abstract

This invention relates to the field of blockchain technology, and more particularly to a confidential data management method, electronic device, storage medium, and program product. The method, applied to a client, includes: acquiring confidential data and N verification messages, where N is an integer greater than 0; dividing the confidential data into N data fragments according to a secret sharing algorithm, and assigning a corresponding verification message to each data fragment; determining N trusted execution nodes, where each trusted execution node is a node containing a trusted execution environment; and transmitting the N data fragments and their corresponding verification messages to the N trusted execution nodes, so that each trusted execution node stores the data fragments and their corresponding verification messages. This application aims to address the shortcomings of poor security and reliability in existing confidential data management mechanisms, achieving high reliability in confidential data management.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of blockchain technology, and in particular to a confidential data management method, electronic device, storage medium, and program product. Background Technology

[0002] Confidential data includes private data or data that can prove a user's identity. For example, in blockchain applications, a user's identity and asset proof are represented by an account, which is essentially a globally unique public-private key pair. The user who possesses the private key owns the assets under the corresponding public key account and has the right to use them. Therefore, users need to safeguard their private keys carefully, because if lost, they will permanently lose all their assets on the blockchain. In this case, the private key is confidential data. For secure and convenient management of private key data, the most common solution is to use blockchain account management software (commonly known as a "wallet"). The wallet requires the user to encrypt the private key locally using an easy-to-remember password. Each time the private key needs to be used for signing, the wallet requires the user to enter the corresponding password to decrypt it. In this case, forgetting the password or losing the private key file will result in the permanent loss of the account.

[0003] In existing technologies, the management of confidential data often employs three methods: first, backing up confidential data in a centralized cloud service; second, identity recovery on the blockchain, which involves restoring confidential data through a vote by multiple pre-designated agents; and third, threshold signature, which involves restoring confidential data by having a fixed number of agents collectively initiate a signature. However, backing up confidential data in a centralized cloud service is prone to information leakage; blockchain recovery and threshold signature methods cannot prevent confidential data leakage caused by malicious collusion among agents. In other words, the confidential data management mechanisms used in existing technologies have poor security and reliability, making them prone to confidential data leakage, which in turn leads to the leakage of user information and may trigger security incidents. Summary of the Invention

[0004] This invention provides a confidential data management method, electronic device, storage medium, and program product to address the shortcomings of poor security and reliability in existing confidential data management mechanisms and achieve high reliability in confidential data management.

[0005] This invention provides a confidential data management method applied to a client, comprising: acquiring confidential data and N verification messages, wherein N is an integer greater than 0; dividing the confidential data into N data fragments according to a secret sharing algorithm, and determining a corresponding verification message for each data fragment; determining N trusted execution nodes, wherein the trusted execution nodes are nodes containing a trusted execution environment; and transmitting the N data fragments and the verification messages corresponding to each of the N data fragments to the N trusted execution nodes respectively, so that each trusted execution node saves the data fragments and the corresponding verification messages.

[0006] According to a confidential data management method provided by the present invention, after transmitting N data fragments and the verification information corresponding to each of the N data fragments to N trusted execution nodes so that the trusted execution nodes save the data fragments and the verification information, the method further includes: obtaining a data recovery request; transmitting the data recovery request to each of the N trusted execution nodes; obtaining authentication requests transmitted by each of the N trusted execution nodes; transmitting the verification information corresponding to each of the N trusted execution nodes to the N trusted execution nodes; obtaining the data fragments returned by each of the M trusted execution nodes, wherein M is an integer greater than 0 and less than or equal to N; and recovering the confidential data based on the M data fragments.

[0007] According to a confidential data management method provided by the present invention, the step of transmitting N data fragments and the verification information corresponding to each of the N data fragments to N trusted execution nodes respectively includes: obtaining the trusted execution public key of each of the N trusted execution nodes; determining the one-to-one correspondence between the N data fragments and the N trusted execution nodes; encrypting the corresponding data fragments and the verification information respectively using the N trusted execution public keys to obtain N encrypted data packets; and transmitting the N encrypted data packets to the corresponding trusted execution nodes respectively.

[0008] According to a confidential data management method provided by the present invention, the step of transmitting N encrypted data packets to corresponding trusted execution nodes includes: transmitting the N encrypted data packets to a cache server, so that the N trusted execution nodes can obtain the corresponding encrypted data packets from the cache server.

[0009] According to a confidential data management method provided by the present invention, the step of transmitting N data fragments and the verification information corresponding to each of the N data fragments to N trusted execution nodes respectively includes: establishing corresponding trusted execution channels with each of the N trusted execution nodes; and transmitting the N data fragments and the verification information corresponding to each of the N data fragments to the N trusted execution nodes respectively through the N trusted execution channels.

[0010] According to a confidential data management method provided by the present invention, a data recovery request transmitted to each of the trusted execution nodes includes its corresponding trusted execution public key; the data fragments returned by each of the trusted execution nodes are data fragments encrypted with the corresponding trusted execution public key; the step of recovering the confidential data based on M data fragments includes: decrypting the corresponding encrypted data fragments using M channel public keys; and recovering the public key based on the decrypted data fragments.

[0011] This invention provides a confidential data management method applied to a trusted execution node, comprising: acquiring data fragments and verification information transmitted by a client; encapsulating the data fragments and the verification information in a trusted execution environment to obtain a data encapsulation package; and saving the data encapsulation package.

[0012] According to a confidential data management method provided by the present invention, after saving the data package, the method further includes: obtaining a data recovery request transmitted by the client; generating an authentication request based on the data recovery request and transmitting the authentication request to the client; obtaining authentication information transmitted by the client; verifying the authentication information transmitted by the client using the authentication information in the data package in the trusted execution environment; and transmitting the data fragment to the client after successful verification.

[0013] According to a confidential data management method provided by the present invention, before obtaining the data fragments and verification information transmitted by the client, the method further includes: transmitting a trusted execution public key to the client; obtaining the data fragments and verification information transmitted by the client includes: obtaining an encrypted data packet transmitted by the client; and decrypting the encrypted data packet using the trusted execution public key to obtain the data fragments and the verification information.

[0014] According to a confidential data management method provided by the present invention, the step of obtaining the encrypted data packet transmitted by the client includes: obtaining the encrypted data packet corresponding to the trusted execution public key in a cache server, wherein the cache server obtains and caches the encrypted data packet transmitted by the client.

[0015] According to a confidential data management method provided by the present invention, the step of obtaining data fragments and verification information transmitted by the client includes: establishing a trusted execution channel with the client; and obtaining the data fragments and verification information transmitted by the client through the trusted execution channel.

[0016] According to a confidential data management method provided by the present invention, the data recovery request includes a corresponding trusted execution public key; after successful verification, the data fragment is transmitted to the client, comprising: after successful verification, encrypting the data fragment using the trusted execution public key; and transmitting the encrypted data fragment to the client.

[0017] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of any of the confidential data management methods implemented by the client described above; or, the processor executes the program to implement the steps of any of the confidential data management methods implemented by the trusted execution node described above.

[0018] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the confidential data management methods implemented by the client described above; or, when executed by a processor, the computer program implements the steps of any of the confidential data management methods implemented by the trusted execution node described above.

[0019] The present invention also provides a computer program product, comprising a computer program that, when executed by a processor, implements the steps of any of the confidential data management methods implemented by the client described above; or, when executed by a processor, the computer program implements the steps of any of the confidential data management methods implemented by the trusted execution node described above.

[0020] The confidential data management method, electronic device, storage medium, and program product provided by this invention involve a client acquiring confidential data and N verification messages. Based on a secret sharing algorithm, the client divides the confidential data into N data fragments and assigns a corresponding verification message to each data fragment. Then, N trusted execution nodes are identified, and the N data fragments and their corresponding verification messages are transmitted to each of the N trusted execution nodes, ensuring that each node stores the data fragments and their corresponding verification messages. Here, N is an integer greater than 0. Upon receiving the data fragments and verification messages transmitted by the client, the trusted execution nodes encapsulate them within a trusted execution environment to obtain a data encapsulation package, and then store the data encapsulation package.

[0021] In other words, when storing confidential data, it is divided into N data fragments, and each fragment and corresponding verification information are stored in a trusted execution node. Furthermore, before storing the data fragments and verification information, the trusted execution node first encapsulates them within the trusted execution environment to form a data package, which is then stored locally. This method avoids the leakage risks associated with centralized storage of confidential data and verification information. It also employs trusted execution environment technology to bind verification information to trusted execution nodes, reducing the risk of collusion among multiple trusted execution nodes and significantly improving the security and reliability of confidential data management, thus preventing security incidents caused by user information leaks. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0023] Figure 1 This is a schematic diagram of the process steps for registering and saving confidential data in the client provided by the present invention;

[0024] Figure 2 This is a schematic diagram of the process steps for recovering confidential data using the client provided by the present invention;

[0025] Figure 3 This is a schematic diagram of the process steps for the trusted execution node to register and save confidential data, as provided by the present invention.

[0026] Figure 4 This is a schematic diagram of the process steps for recovering confidential data using a trusted execution node provided by the present invention;

[0027] Figure 5 This is a schematic diagram of the structure and connection of the confidential data management system provided by the present invention;

[0028] Figure 6 This is a schematic diagram of the process steps for registering and saving confidential data through a client and a trusted execution node, provided by the present invention.

[0029] Figure 7 This is a schematic diagram of the process steps for recovering confidential data through a client and a trusted execution node, provided by the present invention.

[0030] Figure 8 This is a schematic diagram of the connection structure of the client device provided by the present invention;

[0031] Figure 9This is a schematic diagram of the structure and connection of the trusted execution node device provided by the present invention;

[0032] Figure 10 This is a schematic diagram of the structural connection of the electronic device provided by the present invention. Detailed Implementation

[0033] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0034] The inventors analyzed the confidential data management in the prior art. In order to avoid users forgetting or losing confidential data, the prior art mainly manages confidential data through the following three methods.

[0035] The first option is to back up confidential data in a centralized cloud service.

[0036] This technical solution is similar to a Key Management Service (KMS). In a blockchain scenario, it can provide wallet (i.e., blockchain account management software) users with a smooth experience and prevent irrecoverable loss of confidential user data. Essentially, it stores confidential blockchain data on the wallet provider's private cloud. When a user changes computers or cannot find their local confidential data, they can verify with the wallet service provider via mobile phone or email to request data recovery. This allows users to use services similar to those provided by the traditional internet, without worrying about asset loss due to forgotten confidential data. However, if the wallet service provider acts maliciously or suffers a hacker attack, a large amount of user confidential data could be leaked, causing significant losses.

[0037] The second option is identity recovery on the blockchain.

[0038] Digital identity recovery functionality is frequently used in blockchain projects, with "social recovery of digital identity" being a common approach. Simply put, when a user account is created, the user needs to designate multiple accounts as proxies for their social recovery. When a user account is lost or stolen, the user can create a new account, find corresponding proxies through social means, and request the proxies to initiate an "inheritance" vote for the newly created account. Once certain conditions are met, the newly created account will inherit all assets and identity information from the old account. However, if a majority of proxies collude maliciously, the user's assets could be at risk of loss.

[0039] The third option is threshold signature.

[0040] It is based on Multi-Party Computation (MPC), using multiple sharded keys to sign (or transact) in turn, generating a final valid signature. Its principle can be understood as follows: first, rotate one key by an angle, then rotate another key by an angle, and so on, until the safe is opened. Some decentralized identity (DID) projects use threshold signatures for confidential data management. A fixed number of agents are maintained in the network, each with a portion of the threshold signature permissions. When any user's confidential data is lost, the agents can collectively initiate a signature to recover the DID. However, if the agents collude maliciously, the user's assets, including the confidential data they are holding, could be threatened.

[0041] To address the problems existing in confidential data management in current technologies, this invention proposes a confidential data management method that achieves this through interaction between a client and a trusted execution node. The client provides users with information input and query functions; this client can be an application (APP) on a smartphone, a web application on a computer, or other interactive software on a smart device. The trusted execution node can be implemented using processing devices such as servers. Data exchange between the client and the trusted execution node occurs through a communication channel. The following describes the method in conjunction with... Figures 1-7 The confidential data management method of the present invention is described.

[0042] First, the confidential data management method of the present invention will be introduced with the client as the executing entity.

[0043] In one embodiment, such as Figure 1 As shown, when implementing the confidential data management method, the client requires users to first register confidential data and then save the confidential data. The implementation process steps are as follows:

[0044] Step 101: Obtain confidential data and N verification messages, where N is an integer greater than 0.

[0045] In this embodiment, confidential data refers to data that the user requires to be highly confidential and secure. The client obtains the confidential data and N verification messages. This confidential data and verification messages can be transmitted to the client from other devices. Alternatively, the user can directly input them through the device on which the client is located. The client is used to obtain the information input by the user and to display information about the confidential data management process to the user. When using the client, the user first needs to log in to the client on their smart device. Then, the user inputs the confidential data to be saved and N verification messages into the client through the smart device, allowing the client to obtain the confidential data and N verification messages.

[0046] In this embodiment, the specific format of the verification information and the number of verification information (i.e., the value of N) can be preset according to actual conditions and needs. For example, three verification information can be preset: the user's mobile phone number, email address, and preset protection password. After logging into the client, the user enters the mobile phone number, email address, and protection password, along with the key to be managed, into the client. The protection password is a password set by the user as needed; for example, the protection password could be set to "abc123".

[0047] Step 102: According to the secret sharing algorithm, the confidential data is divided into N data fragments, and a corresponding verification information is assigned to each data fragment.

[0048] In this embodiment, the client has a pre-configured secret-sharing algorithm. This algorithm divides a secret (e.g., a private key) into segments and shares them among multiple participants, ensuring that the secret can only be calculated or recovered by a certain number of participants. If the number of participants is less than a certain number, the secret cannot be obtained. This method transmits multiple segments of the secret simultaneously from multiple channels, preventing recovery even if a malicious actor is present on any of the channels.

[0049] In this embodiment, after the client obtains the confidential data, it divides the confidential data into N data fragments. That is, the number of data fragments is the same as the number of verification information fragments, and a correspondence is established between the data fragments and the verification information. For example, when the verification information is a mobile phone number, an email address, and a preset protection password, the confidential data is divided into 3 data fragments, represented as m1, m2, and m3 respectively. The established correspondence is: mobile phone number corresponds to m1, email address corresponds to m2, and protection password corresponds to m3.

[0050] Step 103: Determine N trusted execution nodes, where a trusted execution node is a node containing a trusted execution environment.

[0051] In this embodiment, after determining the correspondence between data fragments and verification information, N trusted execution nodes are identified. That is, the number of identified trusted execution nodes is the same as the number of data fragments. A trusted execution node refers to a node containing a Trusted Execution Environment (TEE). The TEE consists of a security chip and auditable security code. The hardware and software resources accessible by the TEE are separate from the node's operating system; the node's operating system cannot read or modify the execution logic and data within the TEE.

[0052] Step 104: Transmit the N data fragments and the corresponding verification information of each of the N data fragments to the N trusted execution nodes respectively, so that each trusted execution node can save the data fragments and the corresponding verification information.

[0053] In this embodiment, after determining N trusted execution nodes, the N data fragments and their corresponding verification information are transmitted to the N trusted execution nodes respectively. Each trusted execution node saves its corresponding data fragment and verification information.

[0054] For example, the verification information includes a mobile phone number, email address, and a preset protection password; the data fragments are m1, m2, and m3; the correspondence is as follows: mobile phone number corresponds to m1, email address corresponds to m2, and protection password corresponds to m3; the trusted execution nodes are trusted execution node 1, trusted execution node 2, and trusted execution node 3. The mobile phone number and m1 are transmitted to trusted execution node 1, the email address and m2 are transmitted to trusted execution node 2, and the protection password and m3 are transmitted to trusted execution node 3.

[0055] In one embodiment, to ensure the security of the data fragment and verification information transmission process, N data fragments and their corresponding verification information are transmitted to N trusted execution nodes respectively. This is achieved through the following specific method: obtaining the trusted execution public key of each of the N trusted execution nodes; determining the one-to-one correspondence between the N data fragments and the N trusted execution nodes; encrypting the corresponding data fragments and verification information using the N trusted execution public keys to obtain N encrypted data packets; and transmitting the N encrypted data packets to the corresponding trusted execution nodes respectively.

[0056] In this embodiment, after determining N trusted execution nodes, the client obtains the trusted execution public key for each trusted execution node. This trusted execution public key is the public key corresponding to the trusted execution environment within each trusted execution node. Each data fragment and its corresponding verification information are encrypted using the trusted execution public key to prevent information leakage during the transmission of encrypted data packets.

[0057] For example, the verification information includes a mobile phone number, email address, and a preset protection password; the data fragments are m1, m2, and m3; the correspondence is as follows: mobile phone number corresponds to m1, email address corresponds to m2, and protection password corresponds to m3; the trusted execution nodes are Trusted Execution Node 1, Trusted Execution Node 2, and Trusted Execution Node 3; the trusted execution public keys corresponding to the trusted execution nodes are TEE Public Key 1, TEE Public Key 2, and TEE Public Key 3. After encrypting the mobile phone number and m1 using TEE Public Key 1, encrypted data packet 1 is obtained and transmitted to Trusted Execution Node 1; after encrypting the email address and m2 using TEE Public Key 2, encrypted data packet 2 is obtained and transmitted to Trusted Execution Node 2; after encrypting the protection password and m3 using TEE Public Key 3, encrypted data packet 3 is obtained and transmitted to Trusted Execution Node 3.

[0058] In this embodiment, only the corresponding trusted execution node can decrypt the encrypted data packet using the correct trusted execution public key within the trusted execution environment, thereby saving data fragments and verification information. Even if the encrypted data packet is obtained by a third party, accurate data fragments and verification information cannot be obtained, preventing data fragment loss and further improving the security of the confidential data management process.

[0059] In one embodiment, data transfer between the client and the trusted execution nodes can be achieved through a caching server. Specifically, N encrypted data packets are transmitted to their respective trusted execution nodes. The process involves transmitting the N encrypted data packets to the caching server so that the N trusted execution nodes can retrieve the corresponding encrypted data packets from the caching server.

[0060] In this embodiment, the client encrypts each data fragment and verification information using a trusted execution public key, and then caches N encrypted data packets to a cache server. Each trusted execution node can obtain the required encrypted data packets from the cache server. This method reduces the client's storage pressure and ensures the client's operational quality.

[0061] It should be noted that the type of cache server can be selected according to actual needs and circumstances. For example, the cache server can be any type of server, such as a local server, a cloud server, or other types of servers. After encrypted data packets are cached on the cache server, they can be deleted immediately after being retrieved by a trusted execution node to save storage space; alternatively, they can be continuously stored or deleted after a preset period of time to achieve the function of backing up encrypted data packets. Furthermore, the encrypted data packets stored on the cache server are encrypted with a trusted execution public key, so there is no need to worry about the leakage of confidential data.

[0062] In one embodiment, to ensure data security, N data fragments and their corresponding verification information are transmitted to N trusted execution nodes respectively. This can be achieved by: establishing corresponding trusted execution channels with each of the N trusted execution nodes; and transmitting the N data fragments and their corresponding verification information to the N trusted execution nodes through the N trusted execution channels.

[0063] In this embodiment, establishing a trusted execution channel between the client and the trusted execution node essentially means establishing a dedicated transmission channel between the client and the trusted execution environment within the trusted execution node. After this trusted execution channel is established, the client transmits data fragments and verification information to the corresponding trusted execution node through the corresponding trusted execution channel, specifically to the trusted execution environment of the trusted execution node.

[0064] In this embodiment, the trusted execution public keys of each of the N trusted execution nodes are obtained. Alternatively, the trusted execution public keys of each of the N trusted execution nodes can be obtained through their respective trusted execution channels. Through the N trusted execution channels, the N data fragments and their corresponding verification information are transmitted to the N trusted execution nodes, specifically as follows: Through the N trusted execution channels, N encrypted data packets are transmitted to their respective trusted execution nodes.

[0065] In this embodiment, the trusted execution channel can further prevent information leakage and ensure the security of confidential data transmission.

[0066] In one embodiment, such as Figure 2 As shown, when implementing the confidential data management method, after the confidential data is saved to the trusted execution nodes, if the user needs the confidential data, it needs to be restored from the trusted execution nodes. Specifically, N data fragments and their corresponding verification information are transmitted to the N trusted execution nodes respectively. After the trusted execution nodes save the data fragments and verification information, the client executes the following steps to restore the confidential data:

[0067] Step 201: Obtain the data recovery request;

[0068] Step 202: Transmit the data recovery request to each of the N trusted execution nodes.

[0069] Step 203: Obtain the authentication requests transmitted by the N trusted execution nodes respectively;

[0070] Step 204: Transmit the verification information corresponding to the N trusted execution nodes to the N trusted execution nodes respectively;

[0071] Step 205: Obtain the data fragments returned by each of the M trusted execution nodes, where M is an integer greater than 0 and less than or equal to N;

[0072] Step 206: Recover confidential data based on M data fragments.

[0073] In this embodiment, when a user forgets or loses confidential data, the user logs into the client via a smart device and initiates a data recovery request. The client receives this request and transmits it to N trusted execution nodes that store the data fragments. Each trusted execution node sends an authentication request to the client. Upon receiving the authentication request, the client transmits the user-input verification information to each of the N trusted execution nodes, which then verify the information. Once each trusted execution node successfully verifies the information, it returns the data fragments to the client. The client then recovers the confidential data based on the M data fragments returned by the trusted execution nodes using a secret sharing algorithm. The value of M can be preset according to actual conditions and needs.

[0074] In a specific example, the verification information includes a mobile phone number, an email address, and a preset protection password; the data fragments are m1, m2, and m3; the correspondence is as follows: the mobile phone number corresponds to m1, the email address corresponds to m2, and the protection password corresponds to m3; the trusted execution nodes are trusted execution node 1, trusted execution node 2, and trusted execution node 3; trusted execution node 1 stores m1 and the mobile phone number, trusted execution node 2 stores m2 and the email address, and trusted execution node 3 stores m3 and the protection password.

[0075] When the client receives an authentication request, Trusted Execution Node 1 sends a mobile verification code to the mobile phone number. This process is implemented through the service provided by the communication authentication service provider. The client transmits the user-entered mobile verification code to Trusted Execution Node 1. After Trusted Execution Node 1 verifies the mobile verification code, it returns m1 to the client. Trusted Execution Node 2 sends an email verification code to the email address. This process is implemented through the service provided by the email authentication service provider. The client transmits the user-entered email verification code to Trusted Execution Node 2. After Trusted Execution Node 2 verifies the email verification code, it returns m2 to the client. Finally, the client transmits the user-entered security password to Trusted Execution Node 3. After Trusted Execution Node 2 verifies the security password, it returns m3 to the client.

[0076] If M is 2, and the user enters an incorrect protection password, the client will receive two data fragments, m1 and m2. The client will then use m1 and m2 to recover the confidential data according to the secret sharing algorithm.

[0077] In one embodiment, the data recovery request transmitted to each trusted execution node includes its corresponding trusted execution public key; the data fragments returned by each trusted execution node are data fragments encrypted with their respective trusted execution public keys. Specifically, the process of recovering confidential data based on M data fragments is as follows: using M channel public keys, the corresponding encrypted data fragments are decrypted respectively; and the public key is recovered based on the decrypted data fragments.

[0078] In this embodiment, during the confidential data recovery process, the data fragment transmission process still uses a trusted execution channel, and the transmitted data fragments are encrypted with a trusted execution public key, further ensuring the security of the data fragments.

[0079] The confidential data management method of the present invention will now be described using a trusted execution node as the execution subject.

[0080] In one embodiment, such as Figure 3 As shown, the confidential data management method implements the process of confidential data registration and storage on the trusted execution node. The process steps are as follows:

[0081] Step 301: Obtain the data fragments and verification information transmitted by the client;

[0082] Step 302: Encapsulate the data fragments and verification information in a trusted execution environment to obtain a data encapsulation package;

[0083] Step 303: Save the data package.

[0084] In this embodiment, after the trusted execution node obtains the data fragments and verification information transmitted by the client, it encapsulates the data fragments and verification information within the trusted execution environment to obtain a data encapsulation package. The trusted execution node then saves this data encapsulation package. Specifically, the trusted execution environment can only process data, not store it. Therefore, after obtaining the data encapsulation package in the trusted execution environment, the trusted execution node can save it to local storage. For example, when the trusted execution node is a local server, the data encapsulation package can be saved on the local server's hard drive. The data encapsulation package, formed by data fragments and verification information within the trusted execution environment, can only be re-encapsulated within the trusted execution environment. The operating system layer of the trusted execution node and other devices cannot obtain the specific data fragments and verification information from the data encapsulation package, further ensuring the security of data storage.

[0085] In one embodiment, to ensure the security of data fragment and verification information transmission, the trusted execution node transmits its trusted execution public key to the client before acquiring the data fragment and verification information transmitted by the client. This allows the client to encrypt the corresponding data fragment and verification information using the trusted execution public key, obtaining the corresponding encrypted data packet. The specific steps for acquiring the data fragment and verification information transmitted by the client are: acquiring the encrypted data packet transmitted by the client; and decrypting the encrypted data packet using the trusted execution public key to obtain the data fragment and verification information. In other words, after the trusted execution node acquires the encrypted data packet transmitted by the client, it decrypts the encrypted data packet using the trusted execution public key within the trusted execution environment to obtain the data fragment and verification information. If the client transmits an incompatible encrypted data packet, the trusted execution node cannot decrypt the incompatible encrypted data packet, further improving the security of confidential data and verification information.

[0086] In one embodiment, data transfer between the client and the trusted execution node can be achieved through a caching server. Specifically, the process of obtaining the encrypted data packets transmitted by the client is as follows: the caching server obtains and caches the encrypted data packets transmitted by the client.

[0087] In one embodiment, a trusted execution channel is established between the client and the trusted execution node to transmit data fragments and verification information. Specifically, the process of obtaining the data fragments and verification information transmitted by the client is as follows: establish a trusted execution channel with the client; and obtain the data fragments and verification information transmitted by the client through the trusted execution channel.

[0088] In this embodiment, when the trusted execution public key is transmitted to the client, it is transmitted through a trusted execution channel. The trusted execution channel is used to obtain data fragments and verification information transmitted by the client, specifically as follows: The trusted execution channel is used to obtain the encrypted data packet transmitted by the client. After obtaining the encrypted data packet, the trusted execution node decrypts it using the trusted execution public key.

[0089] In one embodiment, such as Figure 4 As shown, when implementing the confidential data management method, after the confidential data is saved to the trusted execution node, if the user needs the confidential data, it needs to be restored from the trusted execution node. Specifically, after saving the data package, the trusted execution node restores the confidential data through the following process steps:

[0090] Step 401: Obtain the data recovery request transmitted by the client;

[0091] Step 402: Based on the data recovery request, generate an authentication request and transmit the authentication request to the client;

[0092] Step 403: Obtain the verification information transmitted by the client;

[0093] Step 404: In a trusted execution environment, verify the verification information transmitted by the client using the verification information in the data encapsulation packet;

[0094] Step 405: After successful verification, the data fragments are transmitted to the client.

[0095] In this embodiment, after the trusted execution node receives the data recovery request, it generates an authentication request and transmits the authentication request to the client. Then, in the trusted execution environment, the trusted execution node decapsulates the data package and verifies the authentication information transmitted by the client using the authentication information in the data package. If the verification passes, the data fragment is transmitted to the client; if the verification fails, the data fragment is not transmitted to the client.

[0096] In one embodiment, to ensure the security of data fragments, the channel through which the client transmits data fragments is a corresponding trusted execution channel. Therefore, the data recovery request includes the corresponding trusted execution public key. After successful verification, the data fragments are transmitted to the client. The specific implementation process is as follows: After successful verification, the data fragments are encrypted using the trusted execution public key; the encrypted data fragments are then transmitted to the client. After obtaining the encrypted data fragments, the client decrypts them using the trusted execution public key.

[0097] The following section describes the confidential data management method of the present invention through the overall process of interaction between the client and the trusted execution node.

[0098] In one embodiment, the confidential data management method is as follows: Figure 5 The confidential data management system shown includes a client, a cache server, and three trusted execution nodes determined by the client across multiple nodes. The client interacts with the three trusted execution nodes (Trusted Execution Node 1, Trusted Execution Node 2, and Trusted Execution Node 3) through a cache storage. Each trusted execution node is configured with its own corresponding trusted execution environment (TEE1, TEE2, and TEE3), and each trusted execution node is configured with its own corresponding storage (Storage 1, Storage 2, and Storage 3).

[0099] In this embodiment, as Figure 6 As shown, the process of registering and saving confidential data through the client and trusted execution node is as follows:

[0100] Step 601: The user logs in to the client.

[0101] Step 602: The client obtains confidential data and three verification pieces of information (phone number, email address, and protection password).

[0102] Step 603: The client divides the confidential data into three data fragments (m1, m2, and m3) according to the secret sharing algorithm, and assigns a corresponding verification message to each data fragment.

[0103] The specific correspondence is as follows: mobile phone number corresponds to m1, email address corresponds to m2, and password corresponds to m3.

[0104] Step 604: The client identifies three trusted execution nodes (trusted execution node 1, trusted execution node 2, and trusted execution node 3).

[0105] Step 605: The client establishes trusted execution channels with the trusted execution environments of the three trusted execution nodes respectively, wherein the cache server is a transfer point in the trusted execution channel.

[0106] Step 606: The client obtains the trusted execution public keys (TEE public key 1, TEE public key 2, and TEE public key 3) corresponding to the three trusted execution nodes through the trusted execution channel.

[0107] Step 607: The client uses three trusted execution public keys to encrypt the corresponding data fragments and verification information, respectively, to obtain three encrypted data packets (ms1, ms2, and ms3).

[0108] Specifically, after encrypting the phone number and m1 using TEE public key 1, we get ms1; after encrypting the email address and m2 using TEE public key 2, we get ms2; and after encrypting the protection password and m3 using TEE public key 3, we get ms3.

[0109] Step 608: The client transmits each encrypted data packet to the cache server through the trusted execution channel.

[0110] Specifically, ms1, ms2, and ms3 are transmitted to the cache server.

[0111] Step 609: The three trusted execution nodes retrieve the corresponding encrypted data packets from the cache server through the trusted execution channel.

[0112] Specifically, trusted execution node 1 obtains ms1, trusted execution node 2 obtains ms2, and trusted execution node 3 obtains ms3.

[0113] Step 610: Each trusted execution node, in its respective trusted execution environment, decrypts the encrypted data packet using the trusted execution public key.

[0114] Step 611: Each trusted execution node encapsulates the data fragments and verification information in its respective trusted execution environment to obtain data encapsulation packages (Ms1, Ms2, and Ms3, respectively).

[0115] Step 612: Each trusted execution node saves the data package to its corresponding memory.

[0116] Specifically, trusted execution node 1 saves Ms1 to memory 1, trusted execution node 2 saves Ms2 to memory 2, and trusted execution node 3 saves Ms3 to memory 3.

[0117] In this embodiment, as Figure 7 As shown, the process of recovering confidential data through the client and trusted execution node is as follows:

[0118] Step 701: The user logs into the client, and the client obtains a data recovery request;

[0119] In step 702, the client transmits the data recovery request to the three trusted execution nodes respectively.

[0120] Step 703: After each trusted execution node obtains the data recovery request transmitted by the client, it generates an authentication request and returns it to the client.

[0121] Step 704: After obtaining the authentication requests transmitted by each trusted execution node, the client obtains the authentication information entered by the user and transmits the authentication information entered by the user to each trusted execution node respectively.

[0122] Specifically, Trusted Execution Node 1 sends a mobile verification code to the mobile phone number, using a service provided by a communication authentication service provider to send the mobile verification code. The client then transmits the user-entered mobile verification code to Trusted Execution Node 1. Trusted Execution Node 2 sends an email verification code to the email address, using a service provided by an email authentication service provider to send the email verification code. The client then transmits the user-entered email verification code to Trusted Execution Node 2. Finally, the client transmits the user-entered protection password to Trusted Execution Node 3.

[0123] Step 705: Each trusted execution node obtains the corresponding verification information.

[0124] Step 706: Each trusted execution node verifies the verification information transmitted by the client.

[0125] Specifically, trusted execution node 1 reads Ms1 from memory 1, unblocks it, and then verifies the mobile verification code using the mobile phone number stored in trusted execution node 1; trusted execution node 2 reads Ms2 from memory 2, unblocks it, and then verifies the email verification code using the email address stored in trusted execution node 2; trusted execution node 3 reads Ms3 from memory 3, unblocks it, and then verifies the protection password transmitted by the client using the protection password stored in trusted execution node 3.

[0126] Step 707: The trusted execution node determines whether the verification is successful. If yes, proceed to step 708; otherwise, proceed to step 711.

[0127] Step 708: The trusted execution node encrypts the data fragments using the trusted execution public key and transmits the encrypted data fragments to the client through the trusted execution channel.

[0128] Step 709: After the client obtains two or more encrypted data fragments, it decrypts them using the trusted execution public key obtained during the registration process.

[0129] Step 710: The client recovers confidential data using two or more data fragments based on the secret sharing algorithm.

[0130] Step 711: Do not return data fragments.

[0131] The confidential data management method provided by this invention divides confidential data into N data fragments and saves each data fragment and corresponding verification information to a trusted execution node. Furthermore, when saving data fragments and verification information, the trusted execution node first encapsulates the data fragments and verification information within a trusted execution environment to form a data package, and then saves the data package locally. This method not only avoids the leakage risks associated with centralized storage of confidential data and verification information, but also utilizes trusted execution environment technology to bind verification information to trusted execution nodes, reducing the risk of collusion among multiple trusted execution nodes. This significantly improves the security and reliability of confidential data management and prevents security incidents caused by user information leakage.

[0132] This invention leverages the security of TEE technology, preventing node maintainers from accessing users' confidential data while providing reliable backup and recovery services. Furthermore, it utilizes secret distribution technology to disperse confidential data across random, trusted execution nodes, further eliminating the possibility of node maintainers attacking users' confidential data.

[0133] The client device provided by this invention is described below. The client device described below can be referred to in correspondence with the confidential data management method described above; repeated details will not be repeated. Figure 8As shown, the client device includes:

[0134] The first acquisition module 801 is used to acquire confidential data and N verification messages, where N is an integer greater than 0;

[0135] The segmentation module 802 is used to divide confidential data into N data fragments according to the secret sharing algorithm, and to determine a corresponding verification information for each data fragment;

[0136] The determination module 803 is used to determine N trusted execution nodes, where a trusted execution node is a node containing a trusted execution environment;

[0137] The transmission module 804 is used to transmit N data fragments and their corresponding verification information to N trusted execution nodes, so that each trusted execution node can save the data fragments and their corresponding verification information.

[0138] The trusted execution node device provided by this invention is described below. The trusted execution node device described below can be referred to in correspondence with the confidential data management method described above; repeated details will not be repeated. Figure 9 As shown, the trusted execution node device includes:

[0139] The second acquisition module 901 is used to acquire data fragments and verification information transmitted by the client.

[0140] The encapsulation module 902 is used to encapsulate data fragments and verification information in a trusted execution environment to obtain a data encapsulation package;

[0141] The storage module 903 is used to store the data package.

[0142] Figure 10 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 10As shown, the electronic device may include a processor 1001, a communications interface 1002, a memory 1003, and a communication bus 1004. The processor 1001, communications interface 1002, and memory 1003 communicate with each other via the communication bus 1004. The processor 1001 can call logical instructions stored in the memory 1003 to execute a confidential data management method as a client. This method includes: acquiring confidential data and N verification messages, where N is an integer greater than 0; dividing the confidential data into N data fragments according to a secret sharing algorithm, and assigning a corresponding verification message to each data fragment; determining N trusted execution nodes, where a trusted execution node is a node containing a trusted execution environment; and transmitting the N data fragments and their corresponding verification messages to the N trusted execution nodes, so that each trusted execution node stores the data fragments and their corresponding verification messages.

[0143] Alternatively, the processor 1001 can call logical instructions in the memory 1003 to execute a confidential data management method as a trusted execution node. This method includes: acquiring data fragments and verification information transmitted by the client; encapsulating the data fragments and verification information in a trusted execution environment to obtain a data encapsulation package; and saving the data encapsulation package.

[0144] Furthermore, the logical instructions in the aforementioned memory 1003 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0145] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer, as a client, can execute the confidential data management method provided in the above embodiments. The method includes: acquiring confidential data and N verification information, where N is an integer greater than 0; dividing the confidential data into N data fragments according to a secret sharing algorithm, and determining a corresponding verification information for each data fragment; determining N trusted execution nodes, where a trusted execution node is a node containing a trusted execution environment; and transmitting the N data fragments and the verification information corresponding to each of the N data fragments to the N trusted execution nodes respectively, so that each trusted execution node saves the data fragments and the corresponding verification information.

[0146] Alternatively, the computer, acting as a trusted execution node, can execute the confidential data management method provided in the above embodiments. The method includes: acquiring data fragments and verification information transmitted by the client; encapsulating the data fragments and verification information in a trusted execution environment to obtain a data encapsulation package; and saving the data encapsulation package.

[0147] In another aspect, the present invention also provides a non-transitory computer-readable storage medium storing a computer program thereon. When executed by a processor, the computer program implements the confidential data management method provided in the embodiments with the client described above as the execution subject. The method includes: acquiring confidential data and N verification information, where N is an integer greater than 0; dividing the confidential data into N data fragments according to a secret sharing algorithm, and determining a corresponding verification information for each data fragment; determining N trusted execution nodes, where a trusted execution node is a node containing a trusted execution environment; and transmitting the N data fragments and the verification information corresponding to each of the N data fragments to the N trusted execution nodes respectively, so that each trusted execution node saves the data fragments and the corresponding verification information.

[0148] Alternatively, when the computer program is executed by the processor, it implements the confidential data management method provided in various embodiments when the execution subject is the aforementioned trusted execution node. The method includes: acquiring data fragments and verification information transmitted by the client; encapsulating the data fragments and verification information in a trusted execution environment to obtain a data encapsulation package; and saving the data encapsulation package.

[0149] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0150] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0151] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A confidential data management method characterized by comprising: The application is applied to a client, comprising: obtaining secret data and N pieces of verification information, wherein N is an integer greater than 0; according to a secret sharing algorithm, dividing the secret data into N data fragments, and determining a corresponding piece of verification information for each data fragment; determining N trusted execution nodes, wherein the trusted execution node is a node comprising a trusted execution environment; transmitting the N data fragments and the N pieces of verification information corresponding to the N data fragments respectively to the N trusted execution nodes, so that each trusted execution node saves the data fragments and the corresponding verification information; obtaining a data recovery request; transmitting the data recovery request to the N trusted execution nodes respectively; obtaining identity authentication requests transmitted by the N trusted execution nodes respectively; transmitting the verification information corresponding to the N trusted execution nodes to the N trusted execution nodes respectively, so that the trusted execution nodes, in the trusted execution environment, unseal a data encapsulation package, verify the verification information transmitted by the client through the verification information in the data encapsulation package, and transmit the data fragments to the client after verification; the data encapsulation package is obtained by encapsulating the data fragments and the verification information in the trusted execution environment by the trusted execution node; obtaining the data fragments returned by M trusted execution nodes respectively, wherein M is an integer greater than 0 and less than or equal to N; recovering the secret data according to the M data fragments; the N pieces of verification information are different from each other, and the N pieces of verification information comprise a mobile phone number, an email address and a preset protection password.

2. The confidential data management method according to claim 1, characterized by, The step of transmitting the N data fragments and the N pieces of verification information corresponding to the N data fragments respectively to the N trusted execution nodes comprises: obtaining trusted execution public keys of the N trusted execution nodes respectively; determining a one-to-one correspondence between the N data fragments and the N trusted execution nodes; encrypting the corresponding data fragments and the verification information through the N trusted execution public keys respectively to obtain N encrypted data packets; transmitting the N encrypted data packets to the corresponding trusted execution nodes respectively.

3. The confidential data management method according to claim 2, characterized by, The step of transmitting the N encrypted data packets to the corresponding trusted execution nodes respectively comprises: transmitting the N encrypted data packets to a cache server, so that the N trusted execution nodes obtain the corresponding encrypted data packets from the cache server.

4. The confidential data management method according to claim 1, characterized by, The step of transmitting the N data fragments and the N pieces of verification information corresponding to the N data fragments respectively to the N trusted execution nodes comprises: establishing corresponding trusted execution channels with the N trusted execution nodes respectively; transmitting the N data fragments and the N pieces of verification information corresponding to the N data fragments respectively to the N trusted execution nodes through the N trusted execution channels respectively.

5. The confidential data management method according to claim 4, characterized by, The data recovery request transmitted to each of the trusted execution nodes includes a respective corresponding trusted execution public key; the data fragments returned by the trusted execution nodes respectively are the data fragments encrypted by the corresponding trusted execution public keys; The recovering of the confidential data according to the M data fragments includes: The corresponding encrypted data fragments are respectively decrypted by the M trusted execution public keys; The confidential data is recovered according to the decrypted data fragments.

6. A confidential data management method characterized by comprising: Applied to a trusted execution node, comprising: Obtaining data fragments and verification information transmitted by a client; Encapsulating the data fragments and the verification information in a trusted execution environment to obtain a data encapsulation package; Saving the data encapsulation package; Obtaining a data recovery request transmitted by a client; Generating an identity authentication request according to the data recovery request and transmitting the identity authentication request to the client; Obtaining verification information transmitted by the client; Decapsulating the data encapsulation package in the trusted execution environment, and verifying the verification information transmitted by the client by the verification information in the data encapsulation package; After verification, transmitting the data fragments to the client; N verification information of N trusted execution nodes are different from each other, and the N verification information includes a mobile phone number, an email address and a preset protection password.

7. The confidential data management method according to claim 6, characterized by, Before the obtaining of the data fragments and the verification information transmitted by the client, further comprising: Transmitting a trusted execution public key to the client; The obtaining of the data fragments and the verification information transmitted by the client includes: Obtaining an encrypted data package transmitted by the client; Decrypting the encrypted data package by the trusted execution public key to obtain the data fragments and the verification information.

8. The confidential data management method according to claim 7, characterized by, The obtaining of the encrypted data package transmitted by the client includes: Obtaining the encrypted data package corresponding to the trusted execution public key in a cache server, wherein the cache server obtains and caches the encrypted data package transmitted by the client.

9. The confidential data management method according to claim 6, characterized by, The obtaining of the data fragments and the verification information transmitted by the client includes: Establishing a trusted execution channel with the client; Obtaining the data fragments and the verification information transmitted by the client through the trusted execution channel.

10. The confidential data management method according to claim 9, characterized by, The data recovery request includes a corresponding trusted execution public key; After verification, encrypting the data fragments by the trusted execution public key; Transmitting the encrypted data fragments to the client. The processor executes the program to implement the steps of the confidential data management method according to any one of claims 1 to 5; 11. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, Or, The processor executes the program to implement the steps of the confidential data management method according to any one of claims 6 to 10. The computer program is executed by the processor to implement the steps of the confidential data management method according to any one of claims 1 to 5; 12. A non-transitory computer-readable storage medium having stored thereon a computer program, characterized in that, Or, The computer program is executed by the processor to implement the steps of the confidential data management method according to any one of claims 6 to 10. ​ 13. A computer program product comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the steps of the confidential data management method according to any one of claims 1 to 5. Alternatively, The computer program, when executed by a processor, implements the steps of the confidential data management method according to any one of claims 6 to 10.

Citation Information

Patent Citations

  • Information processing method, system and device

    CN111368309A

  • Data storage method, data recovery method, data storage device, data recovery device and data recovery equipment

    CN111726230A