Key fragment storage method and device, electronic equipment and storage medium
By allocating key shards using key generation parameters and monitoring metrics, and combining polynomial construction and evaluation point identification, the problems of high cost, single point of failure risk, and poor scalability of centralized master key storage are solved, thus achieving security, flexibility, and scalability in key storage.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGDONG CERTIFICATE AUTHORITY
- Filing Date
- 2026-04-30
- Publication Date
- 2026-06-02
AI Technical Summary
The existing centralized master key storage scheme in cryptographic service technology has drawbacks such as high cost, single point of failure risk, poor scalability and rigid architecture, and cannot meet the security requirements of distributed environments.
The number of key shard shares is determined by key generation parameters and monitoring indicators. The master key is sharded and the key shard set of each node is encrypted and stored. Multi-dimensional monitoring indicators are used for dynamic evaluation and intelligent allocation of shard shares. Polynomial construction and evaluation point identification are combined to ensure the uniqueness and recoverability of key shards.
It improves the security, flexibility, and scalability of key storage, addresses the shortcomings of centralized storage solutions, and enables dynamic adaptability and security management in a distributed environment.
Smart Images

Figure CN122137550A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of information security, and more specifically, to a key fragmentation storage method, apparatus, electronic device, and storage medium. Background Technology
[0002] With the improvement of general-purpose computing power of central processing units (CPUs) and the maturity of trusted execution environment (TEE) technology, the industry has begun to explore software-defined cryptographic services based on general-purpose CPU clusters. However, general-purpose CPU clusters face new challenges such as the vulnerability of operating systems to attack and the potential for malicious control of nodes, making traditional centralized storage no longer directly applicable. Therefore, existing technologies urgently need a new key protection mechanism that can adapt to distributed environments, eliminate single points of dependency, and possess dynamic adaptability to address the shortcomings of centralized storage solutions in terms of cost, security, scalability, and architectural flexibility.
[0003] To address the aforementioned issues, existing technologies urgently need improvement. Summary of the Invention
[0004] The purpose of this application is to provide a key sharding storage method. By sharding the master key using key generation parameters and the number of key shard shares determined based on monitoring indicator information, the method encrypts and stores the key shard set corresponding to each node. This solves the problems of high cost, single point of failure risk, poor scalability, and rigid architecture in the centralized master key storage scheme of existing cryptographic service technologies. The method can allocate the master key according to the number of key shard shares determined by the monitoring indicator information of the node, thereby improving the security, flexibility, and scalability of key storage.
[0005] Firstly, this application provides a key fragmentation storage method, including: Obtain key information and monitoring indicator information for each node; the key information includes the master key and its corresponding key generation parameters; Based on the monitoring metrics information, the number of key shard shares that each node should hold is determined. Based on the key generation parameters and the number of key shard shares, the master key is sharded to obtain a key shard set corresponding to each node; Each node's corresponding key fragment set is encrypted and stored separately to obtain the encrypted key fragment storage information for each node.
[0006] The key sharding storage method provided in this application can realize key sharding storage. By sharding the master key through key generation parameters and the number of key shard shares determined based on monitoring indicator information, the key shard set corresponding to each node is encrypted and stored. This solves the problems of high cost, single point of failure risk, poor scalability and rigid architecture of the centralized master key storage scheme in existing cryptographic service technologies. It can allocate the master key according to the number of key shard shares determined by the monitoring indicator information of the node, thereby improving the security, flexibility and scalability of key storage.
[0007] Optionally, the monitoring indicator information includes basic operational dimension indicator information, security compliance dimension indicator information, environmental security dimension indicator information, and behavioral reputation dimension indicator information; based on the monitoring indicator information, the number of key shard shares that each node should hold is determined, including: The basic operation dimension indicator information, the security compliance dimension indicator information, the environmental security dimension indicator information, and the behavior reputation dimension indicator information of each node are normalized to obtain the current monitoring indicator parameters of each node. For each node, a dynamic trust score is obtained by dynamically scoring based on the current monitoring indicator parameters and the preset indicator weights corresponding to the current monitoring indicator parameters. Based on the scoring range in which the dynamic trust score is located, the corresponding number of key shard shares is allocated to each node, thus obtaining the number of key shard shares that each node should hold.
[0008] The key sharding storage method provided in this application can realize key sharding storage. Through dynamic evaluation of multi-dimensional monitoring indicators, it can more granularly reflect the trust status of nodes, thereby realizing intelligent allocation of key sharding shares and further enhancing the adaptability and security of key storage.
[0009] Optionally, the key generation parameters include a recovery threshold parameter; based on the key generation parameters and the number of key shard shares, the master key is sharded to obtain a key shard set corresponding to each node, including: Based on the recovery threshold parameter and the master key, the master key polynomial is constructed. Configure a unique non-zero evaluation point identifier for each node corresponding to the number of key fragment shares; The unique non-zero evaluation point identifiers are sequentially input into the master key polynomial to calculate the polynomial value corresponding to the unique non-zero evaluation point identifiers. The unique non-zero evaluation point identifier is combined with the corresponding polynomial value to obtain key fragmentation; The key fragments are distributed to the corresponding nodes to obtain the key fragment set for each node.
[0010] The key fragmentation storage method provided in this application can realize key fragmentation storage. Through polynomial construction and evaluation point identification, the key is effectively fragmented, ensuring the uniqueness and recoverability of key fragments, and laying the foundation for subsequent key recovery operations.
[0011] Optionally, the key information further includes the secondary key corresponding to the primary key; the key shard set corresponding to each node is encrypted and stored respectively to obtain the encrypted key shard storage information corresponding to each node, including: Using data verification, corresponding verification information is set for each key fragment in the key fragment set; Using the subkey, the key fragment set containing the verification information is encrypted to obtain an encrypted key fragment set. The encrypted key fragment set is stored in the corresponding node through a certified secure channel, thus obtaining the encrypted key fragment storage information for each node.
[0012] Optionally, after encrypting and storing the key fragment set corresponding to each node to obtain the encrypted key fragment storage information corresponding to each node, the method further includes: The system periodically acquires monitoring metrics information for different periods at preset intervals to update the dynamic trust score of each node in different periods, thus obtaining the updated dynamic trust score. Based on the updated dynamic trust score, the encryption key fragment storage information of each node is adjusted, and the operation log information of the corresponding node during the adjustment is recorded.
[0013] Optionally, after adjusting the encryption key fragment storage information of each node based on the updated dynamic trust score and recording the operation log information of the corresponding node during the adjustment, the method further includes: When a fault is detected in any node or an anomaly occurs in any encrypted key fragment storage information, the corresponding faulty node is identified. Based on the operation log information corresponding to the faulty node, the encryption key fragment storage information corresponding to the faulty node is recovered to obtain the encryption key fragment storage information of the faulty node before the fault occurred or before the data anomaly occurred.
[0014] Optionally, after encrypting and storing the key fragment set corresponding to each node to obtain the encrypted key fragment storage information for each node, the method further includes: In response to the received master key recovery command, all the encrypted key fragment storage information is decrypted to obtain the key fragment set corresponding to each node; Using the verification information, the key fragment set is verified to obtain the verification result; If the verification result is successful, extract key fragments with a number greater than or equal to the recovery threshold parameter from the key fragment set of all nodes, and use Lagrange interpolation to perform master key recovery operation to obtain the master key.
[0015] Secondly, this application provides a key fragmentation storage device, comprising: The acquisition module is used to acquire key information and monitoring indicator information of each node; the key information includes the master key and its corresponding key generation parameters. The determination module is used to determine the number of key shard shares that each node should hold based on the monitoring indicator information. The sharding module is used to shard the master key based on the key generation parameters and the number of key shard shares to obtain a key shard set corresponding to each node; The storage module is used to encrypt and store the key fragment set corresponding to each node, thereby obtaining the encrypted key fragment storage information for each node.
[0016] Thirdly, this application provides an electronic device including a processor and a memory, wherein the memory stores a computer program executable by the processor, and when the processor executes the computer program, it performs the steps in the key fragmentation storage method described above.
[0017] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the steps of the key fragmentation storage method described above.
[0018] Beneficial effects: The key sharding storage method provided in this application shards the master key by using key generation parameters and the number of key shard shares determined based on monitoring indicator information. Then, it encrypts and stores the key shard set corresponding to each node. This solves the problems of high cost, single point of failure risk, poor scalability, and rigid architecture of the centralized master key storage scheme in existing cryptographic service technologies. It can allocate the master key according to the number of key shard shares determined by the monitoring indicator information of the node, thereby improving the security, flexibility, and scalability of key storage. Attached Figure Description
[0019] Figure 1 This is a flowchart of a key fragmentation storage method provided in an embodiment of this application.
[0020] Figure 2 This is a schematic diagram of the key fragmentation storage device provided in an embodiment of this application.
[0021] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0022] Labeling Explanation: 1. Acquisition Module; 2. Determination Module; 3. Segmentation Module; 4. Storage Module; 301. Processor; 302. Memory; 303. Communication Bus. Detailed Implementation
[0023] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0024] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0025] Please refer to Figure 1 , Figure 1 A key fragmentation storage method provided in this application embodiment is used for key fragmentation storage, including: Step S1: Obtain key information and monitoring indicator information for each node; key information includes the master key and its corresponding key generation parameters. Step S2: Based on the monitoring indicator information, determine the number of key shard shares that each node should hold; Step S3: Based on the key generation parameters and the number of key shard shares, the master key is sharded to obtain the key shard set corresponding to each node; Step S4: Encrypt and store the key fragment set corresponding to each node to obtain the encrypted key fragment storage information corresponding to each node.
[0026] It should be noted that a node refers to an independent, operational physical or logical computing unit that constitutes a cluster. It is the core carrier for providing cryptographic services, performing key management, and collaborative computing.
[0027] The key sharding storage method provided in this application shards the master key by using key generation parameters and the number of key shard shares determined based on monitoring indicator information. Then, it encrypts and stores the key shard set corresponding to each node. This solves the problems of high cost, single point of failure risk, poor scalability, and rigid architecture of the centralized master key storage scheme in existing cryptographic service technologies. It can allocate the master key according to the number of key shard shares determined by the monitoring indicator information of the node, thereby improving the security, flexibility, and scalability of key storage.
[0028] Specifically, in step S1, key information and monitoring indicator information of each node are acquired. The key information includes the master key and its corresponding key generation parameters. Key information refers to data used for cryptographic operations such as encryption, decryption, signing, or verification. Its core is the "master key," which is the most important key in the system and requires strict protection. The "key generation parameters" associated with the master key are auxiliary information used to control the master key sharding process. These include the total number of nodes participating in key sharding storage (the minimum number of shards required to shard the master key) and the recovery threshold parameter (the minimum number of valid shards required to recover the master key). The recovery threshold parameter can be set according to actual needs, but it must be less than the total number of nodes. Monitoring metrics refer to metrics information in the following dimensions: basic operation (such as node liveness status, CPU utilization, memory utilization, etc., which reflect node stability), security and compliance (such as task success rate, cryptographic operation error rate, TEE integrity proof verification results, abnormal access audit logs, etc., which reflect security events and compliance), environmental security (such as data center security level, network isolation domain, etc., which reflect the physical and network environment), and behavioral reputation (such as key management audit logs, historical task completion records, etc., which reflect the reliability of historical collaboration).
[0029] The methods for obtaining key generation parameters can be varied. For example, they can be obtained by manual input by the user, read from a configuration file, or obtained from other systems via an API interface. For instance, in a distributed storage system, when it is necessary to protect the master key of a core service, the original data of the master key is first provided, and a series of parameters are set, such as the number of nodes participating in storage and recovery threshold parameters.
[0030] Specifically, in step S2, based on the monitoring indicator information, the number of key fragment shares that each node should hold is determined, including: The basic operational dimension indicators, security compliance dimension indicators, environmental security dimension indicators, and behavioral reputation dimension indicators of each node are normalized to obtain the current monitoring indicator parameters of each node. For each node, a dynamic trust score is obtained by dynamically scoring based on the current monitoring indicator parameters and the preset indicator weights corresponding to the current monitoring indicator parameters. Based on the scoring range of the dynamic trust score, the corresponding number of key shard shares is allocated to each node, thus obtaining the number of key shard shares that each node should hold.
[0031] In step S2, normalization refers to converting indicator data with different dimensions and value ranges to a unified scale, such as between 0 and 1, to facilitate subsequent comprehensive evaluation and comparison. Existing methods such as min-max normalization and Z-score normalization can be used, which will not be detailed here. Normalization is performed on the basic operational dimension indicator information, safety compliance dimension indicator information, environmental safety dimension indicator information, and behavioral reputation dimension indicator information of each node to obtain the current monitoring indicator parameters for each node. This eliminates the influence of different dimensions between indicators and ensures the comparability of various indicators during the scoring process. Therefore, the current monitoring indicator parameters of each node can objectively reflect its performance in each dimension.
[0032] Dynamic trust score is a dynamic numerical value derived from a quantitative assessment of the reliability, security, or performance of each node. It is calculated using a weighted fusion algorithm. This dynamic trust score reflects the trust level of a node in real-time or near real-time; a higher score generally indicates a more trustworthy node. By dynamically scoring each node using current monitoring indicator parameters and their corresponding preset indicator weights, the overall trustworthiness of the node can be quantified. Furthermore, it can be dynamically updated based on real-time monitoring data to reflect changes in the node's trust status.
[0033] A scoring interval refers to dividing the dynamic trust score into several preset ranges, each corresponding to a specific number of key fragment shares. For example, a high trust score interval can be allocated more key fragment shares, while a low trust score interval corresponds to allocated fewer key fragment shares (generally, to successfully recover the master key, each participating node should be allocated at least one key fragment share to ensure that the sum of the key fragment shares of all nodes exceeds the recovery threshold parameter, preventing recovery failure). By using the scoring interval where the trust score falls, the number of key fragments held by a node can be flexibly and adaptively adjusted according to its trust level, achieving dynamic security management of key fragments.
[0034] In practical applications, dynamic trust scores can be calculated using the following formula: ; in, Let i be the dynamic trust score of node i in the nth period; The dynamic trust score for node i in the (n-1)th period; This is the historical attenuation coefficient; For the new data weighting coefficients, ; The preset indicator weight is the corresponding indicator weight for the kth monitoring indicator information; This refers to the current monitoring indicator parameter (i.e., the indicator value after normalization) for the k-th monitoring indicator information in the n-th period. When n=1, This represents the default value of the dynamic trust score for node i, which is 0.
[0035] Specifically, in step S3, the master key is fragmented based on the key generation parameters and the number of key fragment shares to obtain a key fragment set corresponding to each node, including: Based on the recovery threshold parameters and the master key, the master key polynomial is constructed. Configure a unique non-zero evaluation point identifier for each node that corresponds to the number of key fragment shares; The unique non-zero evaluation point identifiers are sequentially input into the master key polynomial to calculate the polynomial value corresponding to the unique non-zero evaluation point identifier. The unique non-zero evaluation point identifier is combined with the corresponding polynomial value to obtain key fragments; The key fragments are distributed to the corresponding nodes, resulting in a key fragment set for each node.
[0036] In step S3, for each node, a master key polynomial is constructed based on the recovery threshold parameter. For example, it can be constructed based on the Shamir secret sharing scheme, i.e., a (t-1) order polynomial is randomly generated in the Trusted Execution Environment (TEE) to obtain: ; in, For the objective polynomial; Master key information; , , , These are random coefficients; The evaluation point identifier (the unique non-zero evaluation point identifier can be substituted into the polynomial to calculate the polynomial value corresponding to the unique non-zero evaluation point identifier, thereby constructing the corresponding key fragment); p is a sufficiently large prime number; mod is the modulo function; This indicates that the modulo operation is performed on a prime number p. This indicates that the modulo operation is performed on the prime number p of the calculation result (polynomial value) corresponding to the preceding target polynomial; t is the minimum number of valid fragments required to recover the master key.
[0037] Generate the corresponding m for each node i i A unique non-zero evaluation point is found within the finite field GF(p), and a unique non-zero evaluation point identifier is obtained. , where m i Let be the number of key shard shares that node i should hold. For node i, the m-th i A unique non-zero evaluation point identifier is generated for each node. Therefore, for all nodes, the following is obtained: A unique non-zero evaluation point identifier (N is the sum of all nodes) is used to fragment the master key. Each key is fragmented.
[0038] Each unique non-zero evaluation point identifier is input into the master key polynomial to calculate the polynomial value corresponding to each unique non-zero evaluation point identifier, i.e. Substitution Calculations were performed to obtain The value of .
[0039] By combining the unique non-zero evaluation point identifier with its corresponding polynomial value, the corresponding key fragment is obtained. All key fragments are then distributed to the corresponding nodes, resulting in the key fragment set for each node. ,Right now .
[0040] Specifically, in step S4, the key information also includes the secondary key corresponding to the master key; the key fragment set corresponding to each node is encrypted and stored respectively to obtain the encrypted key fragment storage information corresponding to each node, including: Using data verification, corresponding verification information is set for each key fragment in the key fragment set; Using the secondary key, the key fragment set containing the verification information is encrypted to obtain the encrypted key fragment set. Through a secure, authenticated channel, the encrypted key shard set is stored in the corresponding node, thus obtaining the encrypted key shard storage information for each node.
[0041] In step S4, before the key fragment set is encrypted, downstream technologies such as Message Authentication Codes (MACs) or zero-knowledge proofs are used to generate verification data associated with the content of each key fragment. A MAC is a key-based hash function used to verify the integrity and authenticity of data. For example, a MAC value can be calculated for each key fragment, stored along with the key fragment, and used in subsequent verification to confirm whether the key fragment has been tampered with. Zero-knowledge proofs allow one party (the prover) to prove a statement to another party (the verifier) that it is true without revealing any additional information about the statement. For example, zero-knowledge proofs can be used to verify the validity of key fragments without exposing the content of the key fragments themselves. The purpose is to ensure that the content of each key fragment has not been illegally modified after being stored or transmitted and originates from a legitimate generator.
[0042] Secondary keys consist of a public key and a shared key. Using secondary keys—either the public key or the shared key—and mature encryption algorithms, the confidentiality of key shard sets containing verification information is protected. Specifically, when using public key encryption, each node can possess a public and private key pair. Key shard sets can be encrypted using the corresponding node's public key, and only the node possessing the corresponding private key can decrypt them. When using shared key encryption, all participating nodes can share a single symmetric key, or each node can share a symmetric key with the key shard generator, used for encrypting and decrypting the key shard sets. The purpose is to ensure that the content of the key shard set is confidential when stored on the nodes, and only authorized nodes can access it.
[0043] During the transmission of key fragment sets from the generator to the target node, encryption and authentication mechanisms are employed to protect the transmission path. For example, Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocols can be used to establish an end-to-end encrypted channel, ensuring the confidentiality and integrity of data during transmission. Furthermore, this channel should also include authentication capabilities to ensure that data is sent to the correct node and that the recipient is legitimate. The aim is to prevent key fragment sets from being eavesdropped on, tampered with, or subjected to replay attacks during transmission, thereby further enhancing the security of key fragment storage.
[0044] Specifically, after encrypting and storing the key fragment set corresponding to each node to obtain the encrypted key fragment storage information for each node, the process also includes: The system periodically acquires monitoring metrics information for different periods at preset intervals to update the dynamic trust score of each node in different periods, thus obtaining the updated dynamic trust score. Based on the updated dynamic trust score, the encryption key fragment storage information of each node is adjusted, and the operation log information of the corresponding node during the adjustment is recorded.
[0045] After obtaining the encrypted key fragment storage information corresponding to each node, the monitoring indicator information for each node in different periods is collected and updated again at preset intervals (e.g., hourly, daily, or weekly).
[0046] The system periodically acquires monitoring metrics at preset intervals and updates the dynamic trust score of each node for each period based on the latest acquired metrics. This updated dynamic trust score is then used to reassess the number of key shards each node should hold, and the corresponding key shard set is adjusted accordingly to modify the encryption key shard storage information. During this adjustment process, operation logs are recorded for each node. These logs may include, but are not limited to: the timestamp of the adjustment, the node identifier performing the adjustment, the node identifier being adjusted, a summary of the key shard set status before and after the adjustment (e.g., hash value or version number), the specific content of the adjustment (e.g., which key shards were added, deleted, or modified), and the result of the adjustment. By reviewing the logs, the encryption key shard storage information of faulty nodes can be accurately restored to its latest and correct state.
[0047] The adjustment process of the key fragment set is as shown in steps S2, S3 and S4 above, and will not be described in detail here.
[0048] In some optional embodiments, after reassessing the number of key shard shares each node should hold, the number of key shard shares for the corresponding node can be adjusted based on whether the node experiences any abnormal security events (such as TEE integrity proof failure, abnormal audit logs, reported malicious behavior, etc.) or passes security audit events (such as vulnerability patching, security patch updates, passing compliance checks, etc.) within a preset period. For example, after recalculating the number of key shard shares, if any node is detected to have experienced an abnormal security event within a preset period, an immediate weight reduction is triggered to decrease the number of key shard shares for the corresponding node, resulting in an adjusted number of key shard shares. Conversely, if any node passes a security audit event, an immediate weight increase is triggered to increase the number of key shard shares for the corresponding node, resulting in an adjusted number of key shard shares. This adjusts the key shard set held by the corresponding node accordingly to adjust the corresponding encrypted key shard storage information.
[0049] Specifically, based on the updated dynamic trust score, after adjusting the encryption key fragment storage information of each node and recording the operation log information of the corresponding node during the adjustment, the process also includes: When a fault is detected in any node or an anomaly occurs in any encrypted key fragment storage information, the corresponding faulty node is identified. Based on the operation log information corresponding to the faulty node, the encrypted key fragment storage information corresponding to the faulty node is recovered, thus obtaining the encrypted key fragment storage information of the faulty node before the fault occurred or before the data anomaly occurred.
[0050] When any node fails—for example, due to node offlineness, hardware damage, or network interruption—or when any encrypted key fragment storage information exhibits data anomalies—such as data corruption, tampering, or inconsistency—the system will detect and identify the failed node or the abnormal storage information, thereby determining the corresponding faulty node. The detection mechanism may include, but is not limited to, existing detection methods such as heartbeat detection, data checksums, and integrity checks, which will not be detailed here. Once an anomaly is detected, the node will be immediately marked as a faulty node.
[0051] Once a faulty node is identified, the corresponding encrypted key fragment storage information is restored based on the operation log information. The operation log details the adjustment process and status changes of the key fragment storage information at different points in time, such as the addition, deletion, and modification of key fragments, changes in encryption methods, and migration of storage locations. By tracing back through these operation logs, the complete state of the encrypted key fragment storage information before the fault occurred or before the data anomaly appeared can be reconstructed. For example, the encrypted key fragment storage information can be restored to the state recorded in the log for the last normal state or the most recent valid operation.
[0052] Specifically, after encrypting and storing the key fragment set corresponding to each node to obtain the encrypted key fragment storage information for each node, the process also includes: In response to the received master key recovery command, all encrypted key fragment storage information is decrypted to obtain the key fragment set corresponding to each node; Using the verification information, verify the key fragment set and obtain the verification result; If the verification result is successful, extract key fragments with a number greater than or equal to the recovery threshold parameter from the key fragment sets of all nodes, and use them to perform master key recovery operation using Lagrange interpolation to obtain the master key.
[0053] After obtaining the encrypted key fragment storage information, when it is necessary to recover the master key, a master key recovery command will be issued. This master key recovery command triggers the decryption operation of all previously encrypted key fragment information, thereby obtaining the original, unencrypted key fragment set of each node.
[0054] After decrypting the key fragments, pre-set verification information is used to perform integrity checks and authenticity verification on these key fragments to determine whether the key fragments have been tampered with or damaged during storage or transmission, resulting in a verification result. The verification result can be "verification successful" or "verification failed." This verification mechanism is a crucial step in ensuring the security of the recovery process and the correctness of the master key, effectively preventing malicious or erroneous fragments from participating in the recovery process.
[0055] If the verification result is successful, extract key fragments from the key fragment set whose number is greater than or equal to the recovery threshold parameter. The recovery threshold parameter is a preset minimum number of fragments to be recovered in the key fragmentation scheme, ensuring that even if some fragments are lost or damaged, the master key can still be recovered as long as the threshold number is met, thereby improving the fault tolerance of the system. The extracted key fragments are then processed using the Lagrange interpolation algorithm to recover the original master key. Lagrange interpolation is a mature secret-sharing recovery algorithm that can accurately reconstruct the master key from a sufficient number of key fragments, ensuring the accuracy and reliability of the recovery operation. Lagrange interpolation is an existing algorithm and will not be described in detail here.
[0056] As shown above, this key sharding storage method obtains key information and monitoring metrics of each node. The key information includes the master key and its corresponding key generation parameters. Based on the monitoring metrics, the number of key shard shares that each node should hold is determined. Based on the key generation parameters and the number of key shard shares, the master key is sharded to obtain a key shard set corresponding to each node. The key shard set corresponding to each node is then encrypted and stored to obtain encrypted key shard storage information for each node. Thus, by sharding the master key using the key generation parameters and the number of key shard shares determined based on the monitoring metrics, and then encrypting and storing the key shard set corresponding to each node, this method solves the problems of high cost, single point of failure risk, poor scalability, and rigid architecture in existing centralized master key storage schemes in cryptographic services. It can allocate the master key according to the number of key shard shares determined by the node's monitoring metrics, thereby improving the security, flexibility, and scalability of key storage.
[0057] Please refer to Figure 2 , Figure 2 A key fragmentation storage device provided in this application embodiment is used for key fragmentation storage, including: Module 1 is used to acquire key information and monitoring indicator information of each node; the key information includes the master key and its corresponding key generation parameters. Module 2 is used to determine the number of key fragment shares that each node should hold based on monitoring indicator information. Sharding module 3 is used to shard the master key based on the key generation parameters and the number of key shard shares to obtain the key shard set corresponding to each node. Storage module 4 is used to encrypt and store the key fragment set corresponding to each node, so as to obtain the encrypted key fragment storage information corresponding to each node.
[0058] The key sharding storage device provided in this application shards the master key by using key generation parameters and the number of key shard shares determined based on monitoring indicator information. Then, it encrypts and stores the key shard set corresponding to each node. This solves the problems of high cost, single point of failure risk, poor scalability, and rigid architecture of the centralized master key storage scheme in existing cryptographic service technologies. It can allocate the master key according to the number of key shard shares determined by the monitoring indicator information of the node, thereby improving the security, flexibility, and scalability of key storage.
[0059] Specifically, during execution, module 1 acquires key information and monitoring metrics of each node. The key information includes the master key and its corresponding key generation parameters. Key information refers to data used for cryptographic operations such as encryption, decryption, signing, or verification; its core is the "master key," the most important key in the system that requires strict protection. The "key generation parameters," associated with the master key, are auxiliary information used to control the master key sharding process. These include the total number of nodes participating in key sharding storage (the minimum number of shards required to shard the master key) and a recovery threshold parameter (the minimum number of valid shards required to recover the master key). The recovery threshold parameter can be set according to actual needs, but it must be less than the total number of nodes. Monitoring metrics refer to metrics information in the following dimensions: basic operation (such as node liveness status, CPU utilization, memory utilization, etc., which reflect node stability), security and compliance (such as task success rate, cryptographic operation error rate, TEE integrity proof verification results, abnormal access audit logs, etc., which reflect security events and compliance), environmental security (such as data center security level, network isolation domain, etc., which reflect the physical and network environment), and behavioral reputation (such as key management audit logs, historical task completion records, etc., which reflect the reliability of historical collaboration).
[0060] The methods for obtaining key generation parameters can be varied. For example, they can be obtained by manual input by the user, read from a configuration file, or obtained from other systems via an API interface. For instance, in a distributed storage system, when it is necessary to protect the master key of a core service, the original data of the master key is first provided, and a series of parameters are set, such as the number of nodes participating in storage and recovery threshold parameters.
[0061] Specifically, module 2 determines the number of key shard shares that each node should hold based on monitoring indicator information, including: The basic operational dimension indicators, security compliance dimension indicators, environmental security dimension indicators, and behavioral reputation dimension indicators of each node are normalized to obtain the current monitoring indicator parameters of each node. For each node, a dynamic trust score is obtained by dynamically scoring based on the current monitoring indicator parameters and the preset indicator weights corresponding to the current monitoring indicator parameters. Based on the scoring range of the dynamic trust score, the corresponding number of key shard shares is allocated to each node, thus obtaining the number of key shard shares that each node should hold.
[0062] When Module 2 is executed, normalization processing refers to converting indicator data with different dimensions and value ranges to a unified scale, such as between 0 and 1, to facilitate subsequent comprehensive evaluation and comparison. Existing methods such as min-max normalization and Z-score normalization can be used, which will not be detailed here. Normalization processing is performed on the basic operational dimension indicator information, safety compliance dimension indicator information, environmental safety dimension indicator information, and behavioral reputation dimension indicator information of each node to obtain the current monitoring indicator parameters for each node. This eliminates the influence of different dimensions between indicators and ensures the comparability of various indicators during the scoring process. Therefore, the current monitoring indicator parameters of each node can objectively reflect its performance in each dimension.
[0063] Dynamic trust score is a dynamic numerical value derived from a quantitative assessment of the reliability, security, or performance of each node. It is calculated using a weighted fusion algorithm. This dynamic trust score reflects the trust level of a node in real-time or near real-time; a higher score generally indicates a more trustworthy node. By dynamically scoring each node using current monitoring indicator parameters and their corresponding preset indicator weights, the overall trustworthiness of the node can be quantified. Furthermore, it can be dynamically updated based on real-time monitoring data to reflect changes in the node's trust status.
[0064] A scoring interval refers to dividing the dynamic trust score into several preset ranges, each corresponding to a specific number of key fragment shares. For example, a high trust score interval can be allocated more key fragment shares, while a low trust score interval corresponds to allocated fewer key fragment shares (generally, to successfully recover the master key, each participating node should be allocated at least one key fragment share to ensure that the sum of the key fragment shares of all nodes exceeds the recovery threshold parameter, preventing recovery failure). By using the scoring interval where the trust score falls, the number of key fragments held by a node can be flexibly and adaptively adjusted according to its trust level, achieving dynamic security management of key fragments.
[0065] In practical applications, dynamic trust scores can be calculated using the following formula: ; in, Let i be the dynamic trust score of node i in the nth period; The dynamic trust score for node i in the (n-1)th period; This is the historical attenuation coefficient; For the new data weighting coefficients, ; The preset indicator weight is the corresponding indicator weight for the kth monitoring indicator information; This refers to the current monitoring indicator parameter (i.e., the indicator value after normalization) for the k-th monitoring indicator information in the n-th period. When n=1, This represents the default value of the dynamic trust score for node i, which is 0.
[0066] Specifically, when sharding module 3 shards the master key based on the key generation parameters and the number of key shard shares to obtain the key shard set corresponding to each node, it executes the following: Based on the recovery threshold parameters and the master key, the master key polynomial is constructed. Configure a unique non-zero evaluation point identifier for each node that corresponds to the number of key fragment shares; The unique non-zero evaluation point identifiers are sequentially input into the master key polynomial to calculate the polynomial value corresponding to the unique non-zero evaluation point identifier. The unique non-zero evaluation point identifier is combined with the corresponding polynomial value to obtain key fragments; The key fragments are distributed to the corresponding nodes, resulting in a key fragment set for each node.
[0067] During execution, sharding module 3 constructs a master key polynomial for each node based on the recovery threshold parameter. For example, it can be constructed using the Shamir secret sharing scheme, i.e., a (t-1) order polynomial is randomly generated within a Trusted Execution Environment (TEE), resulting in: ; in, For the objective polynomial; Master key information; , , , These are random coefficients; The evaluation point identifier (the unique non-zero evaluation point identifier can be substituted into the polynomial to calculate the polynomial value corresponding to the unique non-zero evaluation point identifier, thereby constructing the corresponding key fragment); p is a sufficiently large prime number; mod is the modulo function; This indicates that the modulo operation is performed on a prime number p. This indicates that the modulo operation is performed on the prime number p of the calculation result (polynomial value) corresponding to the preceding target polynomial; t is the minimum number of valid fragments required to recover the master key.
[0068] Generate the corresponding m for each node i i A unique non-zero evaluation point is found within the finite field GF(p), and a unique non-zero evaluation point identifier is obtained. , where m i Let be the number of key shard shares that node i should hold. For node i, the m-th i A unique non-zero evaluation point identifier is generated for each node. Therefore, for all nodes, the following is obtained: A unique non-zero evaluation point identifier (N is the sum of all nodes) is used to fragment the master key. Each key is fragmented.
[0069] Each unique non-zero evaluation point identifier is input into the master key polynomial to calculate the polynomial value corresponding to each unique non-zero evaluation point identifier, i.e. Substitution Calculations were performed to obtain The value of .
[0070] By combining the unique non-zero evaluation point identifier with its corresponding polynomial value, the corresponding key fragment is obtained. All key fragments are then distributed to the corresponding nodes, resulting in the key fragment set for each node. ,Right now .
[0071] Specifically, the key information also includes the secondary key corresponding to the master key; when storage module 4 encrypts and stores the key fragment set corresponding to each node to obtain the encrypted key fragment storage information corresponding to each node, it executes: Using data verification, corresponding verification information is set for each key fragment in the key fragment set; Using the secondary key, the key fragment set containing the verification information is encrypted to obtain the encrypted key fragment set. Through a secure, authenticated channel, the encrypted key shard set is stored in the corresponding node, thus obtaining the encrypted key shard storage information for each node.
[0072] During execution, before the key fragment set is encrypted, storage module 4 uses data verification methods, such as Message Authentication Codes (MACs) or zero-knowledge proofs, to generate verification data associated with the content of each key fragment. A MAC is a key-based hash function used to verify the integrity and authenticity of data. For example, a MAC value can be calculated for each key fragment, stored along with the fragment, and used in subsequent verification to confirm whether the fragment has been tampered with. Zero-knowledge proofs allow one party (the prover) to prove a statement to another party (the verifier) that it is true without revealing any additional information about the statement. For example, zero-knowledge proofs can be used to verify the validity of key fragments without exposing their content, ensuring that the content of each key fragment has not been illegally modified after storage or transmission and originates from a legitimate generator.
[0073] Secondary keys consist of a public key and a shared key. Using secondary keys—either the public key or the shared key—and mature encryption algorithms, the confidentiality of key shard sets containing verification information is protected. Specifically, when using public key encryption, each node can possess a public and private key pair. Key shard sets can be encrypted using the corresponding node's public key, and only the node possessing the corresponding private key can decrypt them. When using shared key encryption, all participating nodes can share a single symmetric key, or each node can share a symmetric key with the key shard generator, used for encrypting and decrypting the key shard sets. The purpose is to ensure that the content of the key shard set is confidential when stored on the nodes, and only authorized nodes can access it.
[0074] During the transmission of key fragment sets from the generator to the target node, encryption and authentication mechanisms are employed to protect the transmission path. For example, Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocols can be used to establish an end-to-end encrypted channel, ensuring the confidentiality and integrity of data during transmission. Furthermore, this channel should also include authentication capabilities to ensure that data is sent to the correct node and that the recipient is legitimate. The aim is to prevent key fragment sets from being eavesdropped on, tampered with, or subjected to replay attacks during transmission, thereby further enhancing the security of key fragment storage.
[0075] Specifically, the key fragmentation storage device also includes: The update module is used to periodically acquire monitoring indicator information for different periods at preset intervals, so as to update the dynamic trust score of each node in different periods and obtain the updated dynamic trust score. The adjustment module is used to adjust the encryption key fragment storage information of each node based on the updated dynamic trust score, and record the operation log information of the corresponding node during the adjustment.
[0076] After obtaining the encryption key fragment storage information corresponding to each node, the update module re-collects and updates the monitoring indicator information for each node at preset intervals (e.g., hourly, daily, or weekly).
[0077] The update module periodically acquires monitoring indicator information at preset intervals and updates the dynamic trust score of each node in different periods based on the latest acquired monitoring indicator information. This results in an updated dynamic trust score, which the adjustment module then uses to reassess the number of key shard shares each node should hold and adjusts its key shard set accordingly to adjust the corresponding encrypted key shard storage information. Simultaneously, during the adjustment process, the operation log information of the corresponding node is recorded. This operation log information may include, but is not limited to: the timestamp of the adjustment, the node identifier that performed the adjustment operation, the node identifier that was adjusted, a summary of the key shard set status before and after the adjustment (e.g., hash value or version number), the specific content of the adjustment (e.g., which key shards were added, deleted, or modified), and the result of the adjustment operation. By reviewing the logs, the encrypted key shard storage information of the faulty node can be accurately restored to the latest and correct state.
[0078] The adjustment process of the key fragment set is as shown in the steps performed by the determination module 2, fragmentation module 3 and storage module 4 mentioned above, and will not be described in detail here.
[0079] In some optional embodiments, after reassessing the number of key shard shares each node should hold, the number of key shard shares for the corresponding node can be adjusted based on whether the node experiences any abnormal security events (such as TEE integrity proof failure, abnormal audit logs, reported malicious behavior, etc.) or passes security audit events (such as vulnerability patching, security patch updates, passing compliance checks, etc.) within a preset period. For example, after recalculating the number of key shard shares, if any node is detected to have experienced an abnormal security event within a preset period, an immediate weight reduction is triggered to decrease the number of key shard shares for the corresponding node, resulting in an adjusted number of key shard shares. Conversely, if any node passes a security audit event, an immediate weight increase is triggered to increase the number of key shard shares for the corresponding node, resulting in an adjusted number of key shard shares. This adjusts the key shard set held by the corresponding node accordingly to adjust the corresponding encrypted key shard storage information.
[0080] Specifically, the key fragmentation storage device also includes: The detection module is used to identify the corresponding faulty node when any node fails or any encrypted key fragment storage information shows data abnormality. The first recovery module is used to recover the encrypted key fragment storage information corresponding to the faulty node based on the operation log information corresponding to the faulty node, so as to obtain the encrypted key fragment storage information of the faulty node before the fault occurred or before the data anomaly occurred.
[0081] When any node fails, such as due to node offlineness, hardware damage, or network interruption, or when any encrypted key fragment storage information exhibits data anomalies, such as data corruption, tampering, or inconsistency, the detection module will detect and identify the failed node or the storage information with data anomalies, thereby determining the corresponding faulty node. The detection mechanism may include, but is not limited to, existing detection methods such as heartbeat detection, data checksums, and integrity checks, which will not be detailed here. Once an anomaly is detected, the node will be immediately marked as a faulty node.
[0082] Once the faulty node is identified, the first recovery module will restore the encrypted key fragment storage information corresponding to that node based on the operation log information. The operation log information details the adjustment process and status changes of the key fragment storage information at different points in time, such as the addition, deletion, and modification of key fragments, changes in encryption methods, and migration of storage locations. By tracing back through these operation logs, the complete state of the encrypted key fragment storage information of the faulty node before the failure or data anomaly can be reconstructed. For example, the encrypted key fragment storage information can be restored to the state recorded in the log for the last normal state or the most recent valid operation.
[0083] Specifically, the key fragmentation storage device also includes: The decryption module is used to decrypt all encrypted key fragment storage information in response to the received master key recovery command, so as to obtain the key fragment set corresponding to each node; The verification module is used to verify the key fragment set using the verification information and obtain the verification result; The second recovery module is used to extract key fragments from the key fragment set of all nodes with a number greater than or equal to the recovery threshold parameter when the verification result is successful. These fragments are then used to perform master key recovery operations using Lagrange interpolation to obtain the master key.
[0084] After obtaining the encrypted key fragment storage information, when it is necessary to recover the master key, a master key recovery command will be issued. This master key recovery command triggers the decryption module to decrypt all previously encrypted key fragment information, thereby obtaining the original, unencrypted key fragment set of each node.
[0085] After decrypting the key fragment set, the verification module uses pre-set verification information to perform integrity checks and authenticity verification on these key fragment sets to determine whether the key fragments have been tampered with or damaged during storage or transmission, thus obtaining a verification result. The verification result can be "verification successful" or "verification failed." This verification mechanism is a crucial step in ensuring the security of the recovery process and the correctness of the master key, effectively preventing malicious or erroneous fragments from participating in the recovery process.
[0086] If the verification result is successful, the second recovery module extracts key fragments from the key fragment set whose number is greater than or equal to the recovery threshold parameter. The recovery threshold parameter is a preset minimum number of fragments to be recovered in the key fragmentation scheme, ensuring that even if some fragments are lost or damaged, the master key can still be recovered as long as the threshold number is met, thus improving the system's fault tolerance. The second recovery module uses the Lagrange interpolation algorithm to calculate the extracted key fragments, thereby recovering the original master key. Lagrange interpolation is a mature secret-sharing recovery algorithm that can accurately reconstruct the master key from a sufficient number of key fragments, ensuring the accuracy and reliability of the recovery operation. Lagrange interpolation is an existing algorithm and will not be described in detail here.
[0087] As shown above, this key sharding storage device acquires key information and monitoring indicators of each node. The key information includes the master key and its corresponding key generation parameters. Based on the monitoring indicators, it determines the number of key shard shares each node should hold. Based on the key generation parameters and the number of key shard shares, it shards the master key to obtain a key shard set for each node. It then encrypts and stores the key shard set for each node to obtain encrypted key shard storage information for each node. Therefore, by sharding the master key using the key generation parameters and the number of key shard shares determined based on the monitoring indicators, and then encrypting and storing the key shard set for each node, this device solves the problems of high cost, single point of failure risk, poor scalability, and rigid architecture inherent in existing centralized master key storage schemes in cryptographic services. It can allocate the master key based on the number of key shard shares determined by the node's monitoring indicators, thus improving the security, flexibility, and scalability of key storage.
[0088] Please refer to Figure 3 , Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device includes a processor 301 and a memory 302. The processor 301 and the memory 302 are interconnected and communicate with each other through a communication bus 303 and / or other forms of connection mechanism (not shown). The memory 302 stores a computer program executable by the processor 301. When the electronic device is running, the processor 301 executes the computer program to execute the key sharding storage method in any optional implementation of the above embodiments, so as to achieve the following functions: obtaining key information and monitoring indicator information of each node. The key information includes a master key and its corresponding key generation parameters. Based on the monitoring indicator information, the number of key shard shares that each node should hold is determined. Based on the key generation parameters and the number of key shard shares, the master key is sharded to obtain a key shard set corresponding to each node. The key shard set corresponding to each node is encrypted and stored to obtain encrypted key shard storage information corresponding to each node.
[0089] This application provides a computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it executes the key sharding storage method in any optional implementation of the above embodiments to achieve the following functions: obtaining key information and monitoring indicator information of each node, the key information including the master key and its corresponding key generation parameters; determining the number of key shard shares that each node should hold based on the monitoring indicator information; sharding the master key based on the key generation parameters and the number of key shard shares to obtain a key shard set corresponding to each node; and encrypting and storing the key shard set corresponding to each node to obtain encrypted key sharding storage information corresponding to each node. The storage medium 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 Red-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0090] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0091] Furthermore, 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; they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0092] Furthermore, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0093] In this document, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, without necessarily requiring or implying any such actual relationship or order between these entities or operations.
[0094] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A key fragmentation storage method, characterized in that, include: Obtain key information and monitoring metrics information for each node; The key information includes the master key and its corresponding key generation parameters; Based on the monitoring metrics information, the number of key shard shares that each node should hold is determined. Based on the key generation parameters and the number of key shard shares, the master key is sharded to obtain a key shard set corresponding to each node; Each node's corresponding key fragment set is encrypted and stored separately to obtain the encrypted key fragment storage information for each node.
2. The key fragmentation storage method according to claim 1, characterized in that, The monitoring metrics include basic operational metrics, security compliance metrics, environmental security metrics, and behavioral reputation metrics. Based on these monitoring metrics, the number of key shard shares that each node should hold is determined, including: The basic operation dimension indicator information, the security compliance dimension indicator information, the environmental security dimension indicator information, and the behavior reputation dimension indicator information of each node are normalized to obtain the current monitoring indicator parameters of each node. For each node, a dynamic trust score is obtained by dynamically scoring based on the current monitoring indicator parameters and the preset indicator weights corresponding to the current monitoring indicator parameters. Based on the scoring range in which the dynamic trust score is located, the corresponding number of key shard shares is allocated to each node, thus obtaining the number of key shard shares that each node should hold.
3. The key fragmentation storage method according to claim 1, characterized in that, The key generation parameters include a recovery threshold parameter; Based on the key generation parameters and the number of key shard shares, the master key is sharded to obtain a key shard set corresponding to each node, including: Based on the recovery threshold parameter and the master key, the master key polynomial is constructed. Configure a unique non-zero evaluation point identifier for each node corresponding to the number of key fragment shares; The unique non-zero evaluation point identifiers are sequentially input into the master key polynomial to calculate the polynomial value corresponding to the unique non-zero evaluation point identifiers. The unique non-zero evaluation point identifier is combined with the corresponding polynomial value to obtain key fragmentation; The key fragments are distributed to the corresponding nodes to obtain the key fragment set for each node.
4. The key fragmentation storage method according to claim 3, characterized in that, The key information also includes the secondary key corresponding to the primary key; Each node's corresponding key fragment set is encrypted and stored separately to obtain the encrypted key fragment storage information for each node, including: Using data verification, corresponding verification information is set for each key fragment in the key fragment set; Using the subkey, the key fragment set containing the verification information is encrypted to obtain an encrypted key fragment set. The encrypted key fragment set is stored in the corresponding node through a certified secure channel, thus obtaining the encrypted key fragment storage information for each node.
5. The key fragmentation storage method according to claim 1, characterized in that, After encrypting and storing the key fragment set corresponding to each node, the encrypted key fragment storage information for each node is also included: The system periodically acquires monitoring metrics information for different periods at preset intervals to update the dynamic trust score of each node in different periods, thus obtaining the updated dynamic trust score. Based on the updated dynamic trust score, the encryption key fragment storage information of each node is adjusted, and the operation log information of the corresponding node during the adjustment is recorded.
6. The key fragmentation storage method according to claim 5, characterized in that, Based on the updated dynamic trust score, the encryption key fragment storage information of each node is adjusted, and the operation log information of the corresponding node during the adjustment is recorded. The process also includes: When a fault is detected in any node or an anomaly occurs in any encrypted key fragment storage information, the corresponding faulty node is identified. Based on the operation log information corresponding to the faulty node, the encryption key fragment storage information corresponding to the faulty node is recovered to obtain the encryption key fragment storage information of the faulty node before the fault occurred or before the data anomaly occurred.
7. The key fragmentation storage method according to claim 4, characterized in that, After encrypting and storing the key fragment set corresponding to each node to obtain the encrypted key fragment storage information for each node, the following steps are also included: In response to the received master key recovery command, all the encrypted key fragment storage information is decrypted to obtain the key fragment set corresponding to each node; Using the verification information, the key fragment set is verified to obtain the verification result; If the verification result is successful, extract key fragments with a number greater than or equal to the recovery threshold parameter from the key fragment set of all nodes, and use Lagrange interpolation to perform master key recovery operation to obtain the master key.
8. A key fragmentation storage device, characterized in that, include: The acquisition module is used to acquire key information and monitoring indicator information of each node; The key information includes the master key and its corresponding key generation parameters; The determination module is used to determine the number of key shard shares that each node should hold based on the monitoring indicator information. The sharding module is used to shard the master key based on the key generation parameters and the number of key shard shares to obtain a key shard set corresponding to each node; The storage module is used to encrypt and store the key fragment set corresponding to each node, thereby obtaining the encrypted key fragment storage information for each node.
9. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a computer program executable by the processor, and when the processor executes the computer program, it performs the steps in the key fragmentation storage method as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it performs the steps in the key fragmentation storage method as described in any one of claims 1-7.