A blockchain-based mobile storage medium key life cycle management system
By employing blockchain technology and a secret sharing scheme in mobile storage media, keys are fragmented and stored in multiple trusted locations and recorded on the blockchain, enabling trusted evidence storage and auditing of keys. This solves the security and integrity issues of key management in existing technologies and improves the decentralization and transparency of key management.
Patent Information
- Application Number
- CN202611204768.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-10
- Publication Date
- 2026-11-06
AI Technical Summary
Existing mobile storage media key management solutions lack deep integration of secret sharing and blockchain technology, resulting in insufficient key fragmentation and storage distribution, making it impossible to achieve trusted evidence storage and audit traceability. The update and destruction operations in the key lifecycle lack multi-party collaborative verification and on-chain recording, making it difficult to guarantee the integrity and security of key management.
A blockchain-based key lifecycle management system is adopted. Through a secret sharing scheme, the data encryption key is split into multiple key fragments, which are stored in the mobile storage medium and authorized user devices. The blockchain is used to record the storage distribution information of the key fragments, so as to realize the trusted evidence storage and full audit of the key fragments. It supports multi-party collaborative verification and on-chain recording of key reconstruction, update and destruction.
It significantly improves the decentralization and attack resistance of key storage, enhances the transparency and credibility of the key management process, ensures the integrity and flexibility of key management throughout its lifecycle, and solves the problems of centralized key storage being easily stolen and lack of credible evidence of operation history in existing technologies.
Smart Images

Figure CN123055258A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information security technology, and more specifically, to a blockchain-based mobile storage medium key lifecycle management system. Background Technology
[0002] With the rapid development of information technology, mobile storage media are widely used for personal data storage and enterprise information exchange due to their portability and large capacity. However, the risk of data leakage is also becoming increasingly serious. To ensure the security of data in mobile storage media, data encryption technology is usually used to protect the stored content, and the secure management of encryption keys directly determines the reliability of the entire encryption system.
[0003] Existing mobile storage medium key management solutions lack a system architecture that deeply integrates secret sharing with blockchain technology, making it impossible to achieve trusted evidence storage and audit traceability for key sharded storage distribution; key sharding is mostly concentrated on a single medium or host storage, with insufficient degree of distributed storage and a lack of effective threshold reconstruction mechanism; update and destruction operations in the key lifecycle lack multi-party collaborative verification and on-chain recording, making it difficult to guarantee the integrity and security of key management. Summary of the Invention
[0004] This invention provides a blockchain-based mobile storage medium key lifecycle management system, comprising: The key initialization module is used to respond to the initialization command of the mobile storage medium, generate a data encryption key based on a preset key generation algorithm, and split the data encryption key into n key fragments based on a secret sharing scheme, and set a reconstruction threshold k, where n is an integer greater than 1 and k is an integer greater than 1 and not greater than n. A key fragment distribution module is used to obtain the n key fragments sent by the key initialization module and store the n key fragments in multiple different trusted storage locations. The trusted storage locations include a protected storage area inside the mobile storage medium and multiple authorized user devices bound to the mobile storage medium. The blockchain recording module is used to obtain the key fragment storage distribution information sent by the key fragment distribution module, write the key fragment storage distribution information into the blockchain network, and generate the corresponding blockchain evidence record. A key reconstruction module is used to respond to an event in which the mobile storage medium accesses the host, collect key fragments from no less than k trusted storage locations based on the blockchain evidence records, perform secret reconstruction calculations on the collected key fragments, and obtain the data encryption key. The encryption / decryption execution module is used to obtain the data encryption key sent by the key reconstruction module and perform real-time encryption / decryption operations on the storage partition of the mobile storage medium based on the data encryption key.
[0005] Furthermore, the key initialization module includes: A random number generation unit is used to generate random numbers as the data encryption key; A finite field selection unit is used to select a large prime number and construct a finite field based on the large prime number. A polynomial construction unit is used to obtain the data encryption key sent by the random number generation unit, obtain the finite field sent by the finite field selection unit, and construct a k-1 degree polynomial on the finite field. The constant term of the k-1 degree polynomial is equal to the data encryption key, and the remaining coefficients of the k-1 degree polynomial are coefficients randomly selected from the finite field. The sharding calculation unit is used to obtain the (k-1)th degree polynomial sent by the polynomial construction unit, calculate the function values corresponding to n different non-zero independent variables based on the (k-1)th degree polynomial, and divide each non-zero independent variable and its corresponding function value into a key shard to obtain the n key shards.
[0006] Furthermore, the key reconstruction module includes: The shard collection unit is used to respond to the event of the mobile storage medium accessing the host, determine the trusted storage location corresponding to each of the n key shards based on the blockchain evidence record, and read the corresponding key shards from no less than k trusted storage locations. Each key shard contains a non-zero independent variable and its corresponding function value. A Lagrange interpolation calculation unit is used to acquire no less than k key fragments sent by the fragment collection unit, and to perform interpolation calculation on the collected key fragments based on the Lagrange interpolation algorithm to reconstruct the k-1 degree polynomial. The key restoration unit is used to obtain the reconstructed k-1 degree polynomial sent by the Lagrange interpolation calculation unit, and extract the constant term of the k-1 degree polynomial as the data encryption key.
[0007] Furthermore, the key fragmentation distribution module includes: The fragmented encryption unit is used to encrypt each of the n key fragments to obtain n encrypted key fragments. The first distribution unit is used to store a first number of the encryption key fragments in the protected storage area inside the mobile storage medium; The second distribution unit is used to distribute the second number of the encryption key fragments to multiple authorized user devices bound to the mobile storage medium via short-range wireless communication, wherein the sum of the first number and the second number is equal to n, and the second number is not less than the reconstruction threshold k.
[0008] Furthermore, the blockchain record module includes: The distribution information generation unit is used to obtain the key fragment storage distribution information sent by the key fragment distribution module, and generate a distribution information digest based on the key fragment storage distribution information. The key fragment storage distribution information includes the storage location identifier and storage timestamp of each key fragment. The smart contract invocation unit is used to invoke the key management smart contract in the blockchain network and submit the distribution information digest sent by the distribution information generation unit as transaction data to the blockchain network. The evidence storage record generation unit is used to obtain the transaction submission result of the smart contract calling unit and generate the blockchain evidence storage record based on the block height and transaction hash returned by the blockchain network.
[0009] Furthermore, the encryption / decryption execution module includes: An encryption unit is used to obtain the data encryption key sent by the key reconstruction module, and when data is written to the storage partition, to encrypt the written data based on the data encryption key and write the encrypted ciphertext data to the storage partition. The decryption unit is used to obtain the data encryption key sent by the key reconstruction module, and when data is read from the storage partition, to decrypt the read ciphertext data based on the data encryption key and output the decrypted plaintext data to the host.
[0010] Furthermore, it also includes: The key shard update module is used to respond to a key update command by collecting key shards from at least k trusted storage locations based on the blockchain evidence records, performing secret reconstruction calculations on the collected key shards to obtain the data encryption key, splitting the data encryption key into n' new key shards based on the secret sharing scheme and setting a new reconstruction threshold k', and storing the n' new key shards in multiple different trusted storage locations, where n' is an integer greater than 1 and k' is an integer greater than 1 and not greater than n'.
[0011] Furthermore, the key fragmentation update module includes: The old shard collection unit is used to respond to the key update instruction, determine the trusted storage location corresponding to the n key shards based on the blockchain evidence record, and read the corresponding key shards from no less than k trusted storage locations that are reconstructed thresholds. The old key reconstruction unit is used to acquire no less than k key fragments sent by the old fragment collection unit, and to perform interpolation calculations on the collected key fragments based on the Lagrange interpolation algorithm to reconstruct the data encryption key. The new shard generation unit is used to obtain the data encryption key sent by the old key reconstruction unit, construct a k'-1 degree polynomial over a finite field, wherein the constant term of the k'-1 degree polynomial is equal to the data encryption key, and the remaining coefficients of the k'-1 degree polynomial are coefficients randomly selected from the finite field. Based on the k'-1 degree polynomial, the unit calculates the function values corresponding to n' different non-zero independent variables, and uses each non-zero independent variable and its corresponding function value as a new key shard to obtain the n' new key shards. The new fragment distribution unit is used to store the n' new key fragments in multiple different trusted storage locations.
[0012] Furthermore, it also includes: The key fragment destruction module is used to respond to the key destruction command, determine the trusted storage locations corresponding to the n key fragments based on the blockchain evidence record, send a fragment destruction command to each of the trusted storage locations so that each trusted storage location deletes the key fragments stored therein, and submit the key destruction record to the blockchain network after all key fragments have been confirmed to have been deleted.
[0013] Furthermore, the key fragment destruction module includes: The location query unit is used to respond to the key destruction instruction, query the trusted storage locations corresponding to the n key fragments based on the blockchain evidence record, and generate a fragment destruction address list. The destruction instruction sending unit is used to obtain the fragment destruction address list sent by the location query unit, and send a fragment destruction instruction to each trusted storage location in the fragment destruction address list. The fragment destruction instruction contains the identification information of the key fragment to be destroyed. The destruction confirmation collection unit is used to receive the fragment destruction confirmation messages returned by each of the trusted storage locations, and generate a key destruction completion confirmation after all the fragment destruction confirmation messages corresponding to all n key fragments have been received. The destruction on-chain unit is used to obtain the key destruction completion confirmation sent by the destruction confirmation collection unit, generate a key destruction record based on the key destruction completion confirmation, and submit the key destruction record to the blockchain network.
[0014] The embodiments of the present invention have at least the following beneficial effects: 1. By splitting the data encryption key into multiple key fragments based on a secret sharing scheme and storing them separately in the protected storage area inside the mobile storage medium and in multiple authorized user devices bound to the medium, the security risks caused by centralized key storage in the traditional single storage mode are avoided. Even if some storage locations are physically cracked or the devices are lost, attackers cannot obtain a sufficient number of key fragments to reconstruct the original key, thereby significantly improving the dispersion and anti-attack capability of key storage and effectively solving the problem that centralized key storage in the existing technology is easily stolen as a whole.
[0015] 2. By writing the storage distribution information of key fragments into the blockchain network through the blockchain recording module and generating evidence records, and by leveraging the immutability and decentralization of the blockchain, the system achieves reliable evidence storage and full audit traceability of key fragment storage location, storage timestamp, and other key information. Any illegal changes to the storage status of key fragments can be detected in a timely manner, thereby enhancing the transparency and credibility of the key management process and effectively solving the problem of lack of reliable evidence storage mechanism and difficulty in traceability and auditing of key operation history in existing technologies.
[0016] 3. When a mobile storage medium is connected to a host, the key reconstruction module collects key fragments from trusted storage locations with a number of reconstruction thresholds based on blockchain evidence records and performs secret reconstruction calculations. At the same time, the key fragment update module and key fragment destruction module realize the dynamic update and trusted destruction of keys. This enables multi-party collaborative verification and on-chain recording capabilities in all stages of key generation, distribution, use, update and destruction throughout the entire life cycle, thereby ensuring the integrity and flexibility of key management and effectively solving the problems of lack of multi-party collaborative verification and untraceable operation in key updates and destruction in existing technologies. Attached Figure Description
[0017] The above and other objects, features, and advantages of exemplary embodiments of the present invention will become readily apparent from the following detailed description taken in conjunction with the accompanying drawings. Several embodiments of the invention are illustrated in the drawings by way of example and not limitation, wherein: Figure 1 This is a schematic diagram of the structure of a blockchain-based mobile storage medium key lifecycle management system provided in an embodiment of the present invention. Detailed Implementation
[0018] The principles and spirit of the invention will now be described with reference to several exemplary embodiments. It should be understood that these embodiments are provided merely to enable those skilled in the art to better understand and implement the invention, and are not intended to limit the scope of the invention in any way. Rather, these embodiments are provided to make the invention more thorough and complete, and to fully convey the scope of the invention to those skilled in the art.
[0019] The following is for reference. Figure 1 , Figure 1 This is a schematic diagram of a blockchain-based mobile storage medium key lifecycle management system provided in an embodiment of the present invention. Figure 1 As shown, a blockchain-based mobile storage medium key lifecycle management system includes: The key initialization module is used to respond to the initialization command of the mobile storage medium, generate a data encryption key based on a preset key generation algorithm, and split the data encryption key into n key fragments based on a secret sharing scheme, and set a reconstruction threshold k, where n is an integer greater than 1 and k is an integer greater than 1 and not greater than n.
[0020] In practice, the removable storage medium is an encrypted USB flash drive with a USB interface, which contains a controller chip and NAND flash memory storage partitions. The initialization command is triggered by the user through the host-side management software, which runs on a Windows or Linux operating system. The software sends a custom SCSI command to the flash drive's controller chip via the USB protocol, and the controller chip enters the initialization process after receiving the command.
[0021] The data encryption key is generated using a hardware-based true random number generator. The USB flash drive's main control chip integrates a true random number generator compliant with the SP800-90B standard. This generator utilizes the chip's internal thermal noise as an entropy source to generate a 256-bit random number, which serves as the data encryption key. This key is then used for subsequent symmetric encryption of the storage partition.
[0022] The secret-sharing scheme employs the Shamir secret-sharing algorithm. The core idea of this algorithm is to divide a secret value into n pieces, such that any number of at least k pieces can reconstruct the original secret, while any number of fewer than k pieces cannot obtain any information about the secret. In this implementation, n typically takes the value of 5, and k typically takes the value of 3, meaning a total of 5 key pieces are generated, and at least 3 of these pieces are needed to reconstruct the complete data encryption key.
[0023] The specific execution flow of this module is as follows: The main control chip first generates a 256-bit data encryption key, which is then input as the secret value into the encoding function of the Shamir secret sharing algorithm. The total number of key fragments, n=5, and the reconstruction threshold, k=3, are set. The encoding function outputs five key fragments. Each key fragment's data structure is a binary tuple containing one independent variable and its corresponding dependent variable value. The length of each key fragment is the same as the original key, 256 bits. After the above process is completed, the data encryption key itself is not stored in plaintext in any storage location; only the split key fragments are retained.
[0024] A random number generation unit is used to generate random numbers as the data encryption key.
[0025] In practice, this unit is implemented by calling the true random number generator hardware module inside the main control chip. The true random number generator adopts a ring oscillator structure, which consists of an odd number of inverters connected end to end to form an oscillation loop. It extracts entropy by utilizing the random jitter of the oscillation frequency, and outputs a 256-bit random number after digitization. This random number is directly used as the data encryption key.
[0026] A finite field selection unit is used to select a large prime number and construct a finite field based on the large prime number.
[0027] In implementation, this unit reads a preset large prime number p from the read-only memory of the main control chip. This large prime number p is a fixed system parameter, written at the factory when the removable storage medium leaves the factory. A typical value for p is a 256-bit prime number; specifically, it can be... This prime number p is the prime number used in the secp256k1 elliptic curve and has sufficient cryptographic strength. A finite field is constructed based on this large prime number p. finite field Includes from 0 to All integers, addition and multiplication operations on the field are performed modulo p.
[0028] A polynomial construction unit is used to obtain the data encryption key sent by the random number generation unit, obtain the finite field sent by the finite field selection unit, and construct a k-1 degree polynomial on the finite field. The constant term of the k-1 degree polynomial is equal to the data encryption key, and the remaining coefficients of the k-1 degree polynomial are coefficients randomly selected from the finite field.
[0029] During implementation, this unit records the data encryption key as... k-1 coefficients are randomly selected from the finite field GF(p). Each coefficient is from Within the range, numbers are uniformly and randomly selected using a true random number generator. Then, a (k-1)th degree polynomial is constructed, the mathematical expression of which is shown in the following equation: Here, mod represents the modular operation, and x is the polynomial independent variable. For data encryption keys, to Let be the polynomial coefficients randomly selected from the finite field GF(p), where p is a large prime number output by the selected element of the finite field. The value is a 256-bit random number output by the random number generation unit, and its value ranges from 0 to 1. between. to The method for determining the value is as follows: For each coefficient, a true random number generator is called to generate a 256-bit random number. If the random number is greater than p-1, it is regenerated until it falls within the range. Interval. In this implementation, k=3, so the constructed polynomial is a quadratic polynomial.
[0030] The sharding calculation unit is used to obtain the (k-1)th degree polynomial sent by the polynomial construction unit, calculate the function values corresponding to n different non-zero independent variables based on the (k-1)th degree polynomial, and divide each non-zero independent variable and its corresponding function value into a key shard to obtain the n key shards.
[0031] In practice, this unit selects n distinct non-zero elements from the finite field GF(p). Each All taken from And when any i ≠ j x i The selection method is as follows: for i ranging from 1 to n, a true random number generator is called to generate a 256-bit random number. If the random number falls within the range... The interval and the already selected to If all are different, then accept this value as... Otherwise, regenerate. (This will affect each...) Substitute the above polynomials to calculate the corresponding function values. . The calculation method is shown in the following formula: Where i ranges from 1 to n. Let i be the i-th non-zero independent variable. To be The function value obtained after substituting into the polynomial is to The polynomial coefficients are output by the polynomial constructor unit, where p is a large prime number. For each pair... As a key slice, n=5 in this implementation, resulting in 5 key slices. Each key slice has a total length of 512 bits, with the independent variable and function value each occupying 256 bits.
[0032] The key fragment distribution module is used to obtain the n key fragments sent by the key initialization module, and store the n key fragments in multiple different trusted storage locations. The trusted storage locations include a protected storage area inside the mobile storage medium and multiple authorized user devices bound to the mobile storage medium.
[0033] In implementation, the key fragment distribution module operates as a functional component within the main control chip firmware. This module receives five key fragments from the key initialization module and distributes them to different trusted storage locations according to a preset distribution strategy. The protected storage area inside the removable storage medium refers to a one-time programmable memory within the USB flash drive's main control chip. This area can only be accessed by the main control chip's internal firmware; external interfaces, including the USB interface and debug interface, cannot directly read data from this area. The authorized user device bound to the removable storage medium refers to a user terminal device, such as a smartphone, tablet, or laptop, that has established a trust relationship with the USB flash drive beforehand through a pairing process. The pairing process completes key exchange and authentication between devices via Bluetooth. After successful authentication, the device information is recorded in the trusted device list of the USB flash drive's main control chip.
[0034] The distribution strategy is as follows: two key fragments are stored in a protected storage area within the mobile storage medium, and the remaining three key fragments are distributed to three different authorized user devices via short-range wireless communication. Each authorized user device, upon receiving a key fragment, stores it in its trusted execution environment, such as the ARMTrustZone security zone on a smartphone. After distribution, the storage location information of all key fragments is aggregated into key fragment storage distribution information, which is used for subsequent blockchain recording and key reconstruction.
[0035] The fragment encryption unit is used to encrypt each of the n key fragments to obtain n encrypted key fragments.
[0036] During implementation, each key fragment is independently encrypted before distribution. The encryption algorithm uses AES-256-GCM symmetric encryption, which is an authentication encryption mode that provides integrity verification while encrypting. The encryption key used for each key fragment is derived by the main control chip based on the device root key and fragment number. The derivation function uses the HKDF key derivation function, taking the device root key and fragment number as input and outputting a 256-bit fragment encryption key. The device root key is a unique 256-bit key written to each USB flash drive at the factory and stored in the main control chip's one-time programmable memory. A 96-bit random number is also generated as an initial vector during each fragment encryption, generated by a true random number generator. The encrypted fragment is called an encryption key fragment.
[0037] The first distribution unit is used to store a first number of the encryption key fragments in a protected storage area inside the mobile storage medium.
[0038] In this implementation, the first quantity is 2. This unit writes two encryption key fragments into the internal secure storage area of the USB flash drive's main control chip. Access to this secure storage area is controlled by the main control chip's memory protection unit; any read operation from an external interface will be forcibly returned as invalid data by the hardware. After writing, the unit records the storage locations of these two fragments as internal storage addresses 0x0001 and 0x0002.
[0039] The second distribution unit is used to distribute the second number of the encryption key fragments to multiple authorized user devices bound to the mobile storage medium via short-range wireless communication, wherein the sum of the first number and the second number is equal to n, and the second number is not less than the reconstruction threshold k.
[0040] In this implementation, the second quantity is 3, and the reconstruction threshold k=3, meaning the second quantity equal to k satisfies the requirement. This unit uses the built-in low-power Bluetooth module of the USB flash drive to send the remaining 3 encrypted key fragments to the 3 bound authorized user devices respectively. Bluetooth communication uses a secure connection mode, establishing an encrypted channel using the LE Secure Connections protocol to ensure that the fragments are not stolen or tampered with during transmission. Each authorized user device returns a reception confirmation message to the USB flash drive after receiving the fragment. The second distribution unit completes the distribution process after receiving all 3 confirmation messages.
[0041] The blockchain record module is used to obtain the key fragment storage distribution information sent by the key fragment distribution module, write the key fragment storage distribution information into the blockchain network, and generate the corresponding blockchain evidence record.
[0042] During implementation, after the key sharding distribution module completes shard storage, it packages the storage location information and storage timestamps of all key shards into key shard storage distribution information. The storage location information includes the destination identifier for each shard, the internal storage location record as the device's internal identifier, and the authorized user device record as its Bluetooth MAC address. This storage distribution information is sent to the blockchain recording module. The blockchain recording module submits this information as transaction data to the blockchain network. The blockchain network uses a Hyperledger Fabric consortium blockchain because it supports fine-grained access control and privacy protection. This module submits the hash digest of the key shard storage distribution information as the transaction payload by calling the blockchain network's SDK interface. After the consensus nodes in the blockchain network verify and sort the transactions, they package the transactions into new blocks. Once the block is confirmed, a corresponding block height and transaction hash are generated. The block height and transaction hash together constitute the blockchain evidence record, which is returned to the USB flash drive's main control chip for storage, used for querying shard locations during subsequent key reconstruction.
[0043] The distribution information generation unit is used to obtain the key fragment storage distribution information sent by the key fragment distribution module, and generate a distribution information digest based on the key fragment storage distribution information. The key fragment storage distribution information includes the storage location identifier and storage timestamp of each key fragment.
[0044] During implementation, the key fragment storage distribution information received by this unit includes the storage location identifiers and storage timestamps of five fragments. The storage timestamps are the readings of the real-time clock inside the USB flash drive's main control chip at the moment of distribution completion. This unit uses the SHA-256 hash algorithm to perform hash calculations on the entire key fragment storage distribution information, generating a 256-bit hash value as a distribution information digest. This hash value can be used in subsequent verification to confirm that the storage distribution information has not been tampered with.
[0045] The smart contract invocation unit is used to invoke the key management smart contract in the blockchain network and submit the distribution information digest sent by the distribution information generation unit as transaction data to the blockchain network.
[0046] In implementation, this unit acts as a blockchain client, communicating with the blockchain network via the Hyperledger Fabric Java SDK. The key management smart contract is pre-deployed on the blockchain network, with contract code written in Go. The contract defines a method for storing key distribution information digests. This unit constructs a transaction proposal, which includes the contract name, method name, and parameters, namely the distribution information digest. This transaction proposal is sent to endorsing nodes in the blockchain network for simulated execution and signing. After collecting a sufficient number of endorsements, the transaction is submitted to the sorting nodes, which sort the transactions and package them into a block.
[0047] The evidence storage record generation unit is used to obtain the transaction submission result of the smart contract calling unit and generate the blockchain evidence storage record based on the block height and transaction hash returned by the blockchain network.
[0048] During implementation, after a transaction is confirmed by the blockchain network, the returned block height is, for example, block 1024, and the transaction hash is a 64-character hexadecimal string. This unit combines the block height and transaction hash into a structure, which serves as a blockchain evidence record. This record is written to the non-volatile memory of the USB flash drive's main control chip for permanent storage, and can be used by the system in any subsequent scenario where verification of shard distribution information is required.
[0049] The key reconstruction module is used to respond to the event of the mobile storage medium accessing the host, collect key fragments from no less than k trusted storage locations based on the blockchain evidence record, perform secret reconstruction calculation on the collected key fragments, and obtain the data encryption key.
[0050] In implementation, when a USB flash drive (or removable storage medium) is connected to a host computer via a USB interface, the main control chip powers on and the firmware executes the initialization process. Upon detecting the connection event, the main control chip first reads the previously stored blockchain evidence records from its internal non-volatile memory to obtain the block height and transaction hash. Then, through the blockchain network's query interface, it uses the transaction hash to query the specific content of the transaction, extracting the key shard storage distribution information from the transaction content, thereby determining which trusted storage location each of the five key shards is stored in.
[0051] Next, the key reconstruction module begins collecting key fragments. This module first reads two encrypted key fragments stored in the protected storage area inside the USB drive, and then decrypts them within the main control chip to obtain the plaintext key fragments. Simultaneously, the module sends fragment request commands to three authorized user devices via the USB drive's Bluetooth communication module, requesting these devices to return their respective stored encrypted key fragments. Upon receiving the request, each authorized user device verifies that the request originates from the bound USB drive. If verification is successful, it sends its stored encrypted key fragments back to the USB drive via a secure Bluetooth channel. The USB drive then decrypts these fragments to obtain the plaintext key fragments.
[0052] Since the reconstruction threshold k=3, this module only needs to collect at least 3 fragments to perform reconstruction. In this implementation, the module can collect all 5 fragments and select any 3 fragments for reconstruction. The module inputs the selected 3 fragments into the decoding function of the Shamir secret sharing algorithm. The decoding function performs Lagrange interpolation calculations to restore the original polynomial, and then extracts the constant term as the data encryption key. After reconstruction, the data encryption key is stored in a temporary register inside the main control chip for subsequent encryption and decryption operations. This key is automatically cleared from the register when the USB flash drive is powered off or ejected.
[0053] The shard collection unit is used to respond to the event of the mobile storage medium accessing the host, determine the trusted storage location corresponding to each of the n key shards based on the blockchain evidence record, and read the corresponding key shards from no less than k trusted storage locations. Each key shard contains a non-zero independent variable and its corresponding function value.
[0054] During implementation, the unit first parses the blockchain evidence record and queries the blockchain network to obtain complete key shard storage distribution information. Based on the storage distribution information, the unit initiates read requests in parallel to the internal storage address and three authorized user devices. During the read process, the unit maintains a counter to record the number of shards successfully collected. When the counter reaches k (3), the unit immediately stops the collection process and passes the data of the three collected shards to the next unit. Each read key shard is a tuple. ,in As the independent variable, This is the corresponding function value.
[0055] The Lagrange interpolation calculation unit is used to acquire no less than k key fragments sent by the fragment collection unit, and to perform interpolation calculation on the collected key fragments based on the Lagrange interpolation algorithm to reconstruct the k-1 degree polynomial.
[0056] In implementation, this unit receives three key fragments from the fragment collection unit. Assume the independent variables corresponding to these three fragments are as follows: The corresponding function values are respectively This unit performs Lagrange interpolation calculations over the finite field GF(p). The mathematical principle underlying the interpolation calculation is: given k distinct points... There exists a unique polynomial of degree less than k that passes through all these points. This unit solves for this polynomial by constructing Lagrange basis functions. The specific form of the Lagrange interpolation calculation is shown in the following equation: in, The summation symbol indicates that j is accumulated from 1 to k; The symbol for multiplication is , indicating that m is multiplied from 1 to k and m≠j; k is the reconstruction threshold, which is k=3 in this implementation, representing the number of fragments participating in the reconstruction. Let j represent the independent variable collected in the j-th segment, where j ranges from 1 to k; Let m represent the independent variable in the m-th segment collected, where m ranges from 1 to k and m ≠ j; This represents the function value collected in the j-th fragment, which was set during the key initialization phase. Substituting the polynomial The result is calculated; mod p represents the modulo p operation, and all arithmetic operations are performed over the finite field GF(p). The division mentioned above refers to division over the finite field GF(p), i.e., multiplying by the multiplicative inverse of the denominator modulo p. Denominator The multiplicative inverse in the finite field is calculated using the extended Euclidean algorithm. After performing the above calculations, the complete coefficient expression of the polynomial f(x) is obtained. This is because the independent variables corresponding to the k pieces involved in the reconstruction... All are selected from the finite field GF(p) and are distinct from each other, therefore the denominator If a variable is not zero modulo p, its multiplicative inverse must exist.
[0057] The key restoration unit is used to obtain the reconstructed k-1 degree polynomial sent by the Lagrange interpolation calculation unit, and extract the constant term of the k-1 degree polynomial as the data encryption key.
[0058] During implementation, among the coefficients of the reconstructed polynomial f(x), the coefficient of the constant term... This is the original data encryption key. This unit is derived from the polynomial expression. Extract The value. This is 256 bits of binary data, i.e., the original data encryption key. This unit will... The key is output to the key register of the main control chip for use by the encryption and decryption modules.
[0059] The encryption / decryption execution module is used to obtain the data encryption key sent by the key reconstruction module and perform real-time encryption / decryption operations on the storage partition of the mobile storage medium based on the data encryption key.
[0060] During implementation, the key reconstruction module sends the reconstructed data encryption key to the encryption / decryption execution module, which then loads the key into the AES-256 hardware encryption engine built into the USB flash drive's main control chip. The storage partition is the user data area on the USB flash drive's NAND flash memory chip. This area is divided into logical blocks at the factory for the host to read and write via the USB MassStorage protocol. When the host writes data to the USB flash drive, the data stream enters the main control chip through the USB interface. The corresponding unit of the encryption / decryption execution module sends the data to the AES-256 hardware encryption engine for encryption, and the encrypted ciphertext data is written to the corresponding physical address in the NAND flash memory. When the host reads data from the USB flash drive, the ciphertext data in the NAND flash memory is read out, sent to the AES-256 hardware encryption engine for decryption, and the decrypted plaintext data is returned to the host via the USB interface. The entire encryption / decryption process is completed in real time along the data path, transparent to the host operating system. The host sees a regular high-capacity storage device, while the data actually stored in the flash memory is always encrypted. The AES-256 hardware encryption engine uses the XTS-AES mode, which is designed specifically for storage devices. Each logical block uses an independent adjustment value, which can resist watermark attacks and replay attacks.
[0061] An encryption unit is used to obtain the data encryption key sent by the key reconstruction module, and when data is written to the storage partition, to encrypt the written data based on the data encryption key and write the encrypted ciphertext data to the storage partition.
[0062] In practice, this unit is triggered when the host sends a WRITE command via the USB interface. The write data sent by the host is in sector units, with each sector being 512 bytes. The encryption unit retrieves the write data from the DMA buffer and simultaneously reads the data encryption key from the key register. The encryption unit passes the data encryption key and the address of the currently written logical block as input parameters to the AES-256-XTS encryption engine. In XTS mode, the logical block address is first encrypted using the key to generate an adjustment value, and then the adjustment value is XORed with the plaintext data and encrypted using AES, finally outputting the ciphertext. The ciphertext data is written back to the corresponding physical sector of the NAND flash memory.
[0063] The decryption unit is used to obtain the data encryption key sent by the key reconstruction module, and when data is read from the storage partition, to decrypt the read ciphertext data based on the data encryption key and output the decrypted plaintext data to the host.
[0064] In practice, this unit is triggered when the host sends a READ command via the USB interface. The address of the logical block requested by the host is passed to the decryption unit, which reads the corresponding ciphertext data from the NAND flash memory and simultaneously reads the data encryption key from the key register. The decryption unit inputs the data encryption key and the currently read logical block address into the AES-256-XTS decryption engine. The XTS decryption engine uses the same adjustment value generation logic as the encryption to perform the inverse operation on the ciphertext data and output plaintext data. The plaintext data is filled into the transmit buffer of the USB controller and returned to the host via the USB interface.
[0065] The key shard update module is used to respond to a key update command by collecting key shards from at least k trusted storage locations based on the blockchain evidence records, performing secret reconstruction calculations on the collected key shards to obtain the data encryption key, splitting the data encryption key into n' new key shards based on the secret sharing scheme and setting a new reconstruction threshold k', and storing the n' new key shards in multiple different trusted storage locations, where n' is an integer greater than 1 and k' is an integer greater than 1 and not greater than n'.
[0066] In practice, the key update command is manually triggered by the user through the host-side management software, or automatically triggered by the USB flash drive firmware according to a preset lifecycle policy. The preset policy is set to automatically update every 180 days, or trigger an update when multiple consecutive key fragment collection failures are detected. After the update command is sent to the USB flash drive's main control chip, the key fragment update module starts. This module first follows the same process as the key reconstruction module, collecting at least k key fragments based on the blockchain evidence records, and performing Lagrange interpolation reconstruction to obtain the current data encryption key. After obtaining the key, this module does not pass the key to the encryption / decryption module, but instead re-executes the key initialization process.
[0067] This module generates new system parameters, resetting the total number of shards n'=7 and the new reconstruction threshold k'=4, meaning four shards are needed to reconstruct the new key. The module uses the data encryption key as the secret value and re-splits it into seven new key shards based on the Shamir secret sharing algorithm. These seven shards are then stored in new trusted storage locations according to the new distribution strategy. These new locations can include unused storage areas in existing authorized user devices or newly bound authorized user devices. After distribution, the module updates the evidence records in the blockchain network, writing the new key shard storage distribution information into the blockchain, generating new blockchain evidence records that replace the original ones. The old key shards are marked as invalid and deleted by their respective storage locations after the update.
[0068] The old shard collection unit is used to respond to the key update instruction, determine the trusted storage locations corresponding to the n key shards based on the blockchain evidence record, and read the corresponding key shards from no less than k trusted storage locations.
[0069] In practice, this unit performs the same operations as the shard collection unit in the key reconstruction module. This unit first reads the blockchain evidence record from its internal memory and queries the blockchain network to obtain the old shard storage distribution information. Then, it collects encrypted key shards from the internal protected storage area and authorized user devices respectively, and decrypts them to obtain plaintext shards. The unit completes its collection task after collecting at least k=3 shards and then passes the collected shards to the old key reconstruction unit.
[0070] The old key reconstruction unit is used to acquire no less than k key fragments sent by the old fragment collection unit, and to perform interpolation calculations on the collected key fragments based on the Lagrange interpolation algorithm to reconstruct the data encryption key.
[0071] In implementation, this unit uses the exact same algorithm as the Lagrange interpolation calculation unit. This unit receives three key fragments sent by the old fragment collection unit. and Lagrange interpolation is performed on the finite field GF(p) to reconstruct the original polynomial f(x), from which the constant term is extracted. As the data encryption key, the specific form of the Lagrange interpolation calculation is shown in the following formula: in, For summation, The symbol represents a multiplication, and k is the reconstruction threshold, i.e., the number of fragments involved in the reconstruction. In this implementation, k=3. This represents the independent variable collected in the j-th segment. This represents the independent variable in the m-th segment collected. Let represent the function value collected in the j-th slice, and p be a large prime number output by the selected unit of the finite field. The division mentioned above refers to division over the finite field GF(p), that is, multiplying by the multiplicative inverse of the denominator modulo p.
[0072] The new shard generation unit is used to obtain the data encryption key sent by the old key reconstruction unit, construct a k'-1 degree polynomial over a finite field, wherein the constant term of the k'-1 degree polynomial is equal to the data encryption key, and the remaining coefficients of the k'-1 degree polynomial are coefficients randomly selected from the finite field. Based on the k'-1 degree polynomial, the unit calculates the function values corresponding to n' different non-zero independent variables, and uses each non-zero independent variable and its corresponding function value as a new key shard to obtain the n' new key shards.
[0073] In implementation, this unit selects a new large prime number p'. p' can be the original large prime number p, or a new 256-bit large prime number can be selected according to the security policy. In this implementation, the newly selected large prime number p' is used. This unit constructs a polynomial of degree k'-1 over the finite field GF(p'). The new reconstruction threshold k'=4, therefore the degree of the polynomial is 3. The mathematical form of the polynomial is shown below: Here, mod represents the modular operation, and x is the polynomial independent variable. This is equal to the data encryption key, which is 256 bits of data output by the old key reconstruction unit. Let be the coefficients randomly selected from the finite field GF(p') using a true random number generator. The selection method is as follows: For each coefficient, a true random number generator is called to generate a 256-bit random number. If the random number is greater than p'-1, it is regenerated until it falls within the range. The interval. Then, this unit selects n'=7 distinct non-zero independent variables. Each Taken from And they are not equal to each other. The selection method is as follows: for t ranging from 1 to 7, a true random number generator is called to generate a 256-bit random number. If the random number falls within... The interval and the already selected to If all are different, then accept this value as... Otherwise, regenerate. Substitute each independent variable into the polynomial to calculate the corresponding function value, as shown in the following formula: Where t takes values from 1 to 7. Let t be the t-th non-zero independent variable. To be Substituting the polynomial The function value obtained after calculation Let be the coefficients of the polynomial, and p' be a newly chosen large prime number. For each pair... As a new key fragment, a total of 7 new key fragments were generated.
[0074] The new fragment distribution unit is used to store the n' new key fragments in multiple different trusted storage locations.
[0075] During implementation, the unit stores three of the seven new key fragments at different addresses within the protected storage area of the USB flash drive, and distributes the remaining four fragments via Bluetooth to four different authorized user devices, including the three existing authorized user devices and one newly bound user device. During distribution, each fragment is encrypted using AES-256-GCM before transmission to ensure secure transmission. After distribution is complete, the unit notifies the blockchain recording module to update the on-chain evidence storage record.
[0076] The key fragment destruction module is used to respond to the key destruction command, determine the trusted storage locations corresponding to the n key fragments based on the blockchain evidence record, send a fragment destruction command to each of the trusted storage locations so that each trusted storage location deletes the key fragments stored therein, and submit the key destruction record to the blockchain network after all key fragments have been confirmed to have been deleted.
[0077] In practice, the key destruction command is triggered by the user through management software in emergency situations, such as when the USB drive is lost or stolen. The user sends a destruction command to all shard storage locations through the management application on the bound authorized user device. This command can also be triggered by preset logic, such as automatically triggering destruction when a threshold number of consecutive incorrect password entries are reached. Upon receiving the command, the key shard destruction module first retrieves the storage distribution information of all key shards from the blockchain's notarized records, determining the specific addresses of the five shards stored in the internal protected storage area and on the three authorized user devices. Then, the module sends shard destruction commands in parallel to each storage location, each command containing a unique identifier for the shard to be destroyed. Each storage location, upon receiving the destruction command, verifies the legitimacy of the command's source. If verification is successful, it immediately physically deletes or overwrites the data of the specified shard from the storage medium. Shard deletion in the internal protected storage area is accomplished by writing all zeros to the corresponding address. Shard deletion on authorized user devices is accomplished by calling the device's secure deletion API, which first overwrites and then releases the storage space. Each storage location returns a confirmation message to the USB drive after completing the deletion. Once the USB drive receives all five confirmation messages, the module confirms that all shards have been successfully destroyed. The module then generates a key destruction record, which includes a destruction timestamp and a summary of the destruction operation, and submits this record to the blockchain network.
[0078] The location query unit is used to respond to the key destruction instruction, query the trusted storage locations corresponding to the n key fragments based on the blockchain evidence records, and generate a fragment destruction address list.
[0079] During implementation, upon receiving a destruction command, the unit reads the blockchain evidence record stored in the non-volatile memory inside the USB flash drive to obtain the block height and transaction hash. It then queries the blockchain network to retrieve the key shard storage distribution information. From this information, the unit extracts the storage location identifiers for each of the five shards, including their internal storage addresses and the Bluetooth MAC addresses of authorized user devices, and aggregates these addresses to generate a shard destruction address list.
[0080] The destruction instruction sending unit is used to obtain the fragment destruction address list sent by the location query unit, and send a fragment destruction instruction to each trusted storage location in the fragment destruction address list. The fragment destruction instruction contains the identification information of the key fragment to be destroyed.
[0081] During implementation, this unit constructs destruction instruction messages based on the entries in the fragment destruction address list. For internal storage addresses, the unit sends an internal instruction to the memory controller of the main control chip, carrying the physical address of the fragment to be destroyed. For authorized user devices, the unit sends a destruction instruction message to each device via Bluetooth, containing the fragment sequence number and fragment identifier of the fragment to be destroyed. Each destruction instruction message is encrypted and authenticated using a pre-shared symmetric key between the USB flash drive and the device.
[0082] The destruction confirmation collection unit is used to receive the fragment destruction confirmation messages returned by each of the trusted storage locations, and after all the fragment destruction confirmation messages corresponding to all n key fragments have been received, it generates a key destruction completion confirmation.
[0083] In practice, after sending the destruction command, this unit enters a waiting state, listening for response messages from each storage location. Each storage location returns an acknowledgment message after completing the fragment deletion, containing the storage location identifier and the operation result status code. The unit updates its internal counter with each acknowledgment message received. When the counter reaches a total of n=5, it indicates that all fragments have been successfully deleted. At this point, the unit generates a key destruction completion acknowledgment, which includes a timestamp of the destruction operation and an acknowledgment identifier.
[0084] The destruction on-chain unit is used to obtain the key destruction completion confirmation sent by the destruction confirmation collection unit, generate a key destruction record based on the key destruction completion confirmation, and submit the key destruction record to the blockchain network.
[0085] During implementation, upon receiving confirmation of key destruction completion, the unit constructs a blockchain transaction. The transaction data includes a destruction operation summary, a destruction timestamp, and a confirmation identifier. The unit then uses the blockchain SDK to call the destruction record method in the key management smart contract, submitting the transaction to the blockchain network. After consensus confirmation, the transaction is packaged into a new block, generating the corresponding block height and transaction hash. This transaction hash serves as permanent evidence that the key to the removable storage medium has been completely destroyed at a specific time.
[0086] The above description is merely an explanation of some preferred embodiments of the present invention and the technical principles employed. Those skilled in the art should understand that the scope of the invention as described in the embodiments of the present invention is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in the embodiments of the present invention.
Claims
1. A blockchain-based mobile storage medium key lifecycle management system, characterized in that, include: The key initialization module is used to respond to the initialization command of the mobile storage medium, generate a data encryption key based on a preset key generation algorithm, and split the data encryption key into n key fragments based on a secret sharing scheme, and set a reconstruction threshold k, where n is an integer greater than 1 and k is an integer greater than 1 and not greater than n. A key fragment distribution module is used to obtain the n key fragments sent by the key initialization module and store the n key fragments in multiple different trusted storage locations. The trusted storage locations include a protected storage area inside the mobile storage medium and multiple authorized user devices bound to the mobile storage medium. The blockchain recording module is used to obtain the key fragment storage distribution information sent by the key fragment distribution module, write the key fragment storage distribution information into the blockchain network, and generate the corresponding blockchain evidence record. A key reconstruction module is used to respond to an event in which the mobile storage medium accesses the host, collect key fragments from no less than k trusted storage locations based on the blockchain evidence records, perform secret reconstruction calculations on the collected key fragments, and obtain the data encryption key. The encryption / decryption execution module is used to obtain the data encryption key sent by the key reconstruction module and perform real-time encryption / decryption operations on the storage partition of the mobile storage medium based on the data encryption key.
2. The blockchain-based mobile storage medium key lifecycle management system according to claim 1, characterized in that, The key initialization module includes: A random number generation unit is used to generate random numbers as the data encryption key; A finite field selection unit is used to select a large prime number and construct a finite field based on the large prime number. A polynomial construction unit is used to obtain the data encryption key sent by the random number generation unit, obtain the finite field sent by the finite field selection unit, and construct a k-1 degree polynomial on the finite field. The constant term of the k-1 degree polynomial is equal to the data encryption key, and the remaining coefficients of the k-1 degree polynomial are coefficients randomly selected from the finite field. The sharding calculation unit is used to obtain the (k-1)th degree polynomial sent by the polynomial construction unit, calculate the function values corresponding to n different non-zero independent variables based on the (k-1)th degree polynomial, and divide each non-zero independent variable and its corresponding function value into a key shard to obtain the n key shards.
3. The blockchain-based mobile storage medium key lifecycle management system according to claim 2, characterized in that, The key reconstruction module includes: The shard collection unit is used to respond to the event of the mobile storage medium accessing the host, determine the trusted storage location corresponding to each of the n key shards based on the blockchain evidence record, and read the corresponding key shards from no less than k trusted storage locations. Each key shard contains a non-zero independent variable and its corresponding function value. A Lagrange interpolation calculation unit is used to acquire no less than k key fragments sent by the fragment collection unit, and to perform interpolation calculation on the collected key fragments based on the Lagrange interpolation algorithm to reconstruct the k-1 degree polynomial. The key restoration unit is used to obtain the reconstructed k-1 degree polynomial sent by the Lagrange interpolation calculation unit, and extract the constant term of the k-1 degree polynomial as the data encryption key.
4. The blockchain-based mobile storage medium key lifecycle management system according to claim 1, characterized in that, The key fragmentation distribution module includes: The fragmented encryption unit is used to encrypt each of the n key fragments to obtain n encrypted key fragments. The first distribution unit is used to store a first number of the encryption key fragments in the protected storage area inside the mobile storage medium; The second distribution unit is used to distribute the second number of the encryption key fragments to multiple authorized user devices bound to the mobile storage medium via short-range wireless communication, wherein the sum of the first number and the second number is equal to n, and the second number is not less than the reconstruction threshold k.
5. A blockchain-based mobile storage medium key lifecycle management system according to claim 1, characterized in that, The blockchain recording module includes: The distribution information generation unit is used to obtain the key fragment storage distribution information sent by the key fragment distribution module, and generate a distribution information digest based on the key fragment storage distribution information. The key fragment storage distribution information includes the storage location identifier and storage timestamp of each key fragment. The smart contract invocation unit is used to invoke the key management smart contract in the blockchain network and submit the distribution information digest sent by the distribution information generation unit as transaction data to the blockchain network. The evidence storage record generation unit is used to obtain the transaction submission result of the smart contract calling unit and generate the blockchain evidence storage record based on the block height and transaction hash returned by the blockchain network.
6. A blockchain-based mobile storage medium key lifecycle management system according to claim 1, characterized in that, The encryption / decryption execution module includes: An encryption unit is used to obtain the data encryption key sent by the key reconstruction module, and when data is written to the storage partition, to encrypt the written data based on the data encryption key and write the encrypted ciphertext data to the storage partition. The decryption unit is used to obtain the data encryption key sent by the key reconstruction module, and when data is read from the storage partition, to decrypt the read ciphertext data based on the data encryption key and output the decrypted plaintext data to the host.
7. A blockchain-based mobile storage medium key lifecycle management system according to claim 1, characterized in that, Also includes: The key shard update module is used to respond to a key update command by collecting key shards from at least k trusted storage locations based on the blockchain evidence records, performing secret reconstruction calculations on the collected key shards to obtain the data encryption key, and then re-splitting the data encryption key into n' new key shards based on the secret sharing scheme and setting a new reconstruction threshold k'. The n' new key shards are then stored in multiple different trusted storage locations, where n' is an integer greater than 1 and k' is an integer greater than 1 and not greater than n'.
8. A blockchain-based mobile storage medium key lifecycle management system according to claim 7, characterized in that, The key fragmentation update module includes: The old shard collection unit is used to respond to the key update instruction, determine the trusted storage location corresponding to the n key shards based on the blockchain evidence record, and read the corresponding key shards from no less than k trusted storage locations that are reconstructed thresholds. The old key reconstruction unit is used to acquire no less than k key fragments sent by the old fragment collection unit, and to perform interpolation calculations on the collected key fragments based on the Lagrange interpolation algorithm to reconstruct the data encryption key. The new shard generation unit is used to obtain the data encryption key sent by the old key reconstruction unit, construct a k'-1 degree polynomial over a finite field, wherein the constant term of the k'-1 degree polynomial is equal to the data encryption key, and the remaining coefficients of the k'-1 degree polynomial are coefficients randomly selected from the finite field. Based on the k'-1 degree polynomial, the unit calculates the function values corresponding to n' different non-zero independent variables, and uses each non-zero independent variable and its corresponding function value as a new key shard to obtain the n' new key shards. The new fragment distribution unit is used to store the n' new key fragments in multiple different trusted storage locations.
9. A blockchain-based mobile storage medium key lifecycle management system according to claim 1, characterized in that, Also includes: The key fragment destruction module is used to respond to the key destruction command, determine the trusted storage locations corresponding to the n key fragments based on the blockchain evidence record, send a fragment destruction command to each of the trusted storage locations so that each trusted storage location deletes the key fragments stored therein, and submit the key destruction record to the blockchain network after all key fragments have been confirmed to have been deleted.
10. A blockchain-based mobile storage medium key lifecycle management system according to claim 9, characterized in that, The key fragment destruction module includes: The location query unit is used to respond to the key destruction instruction, query the trusted storage locations corresponding to the n key fragments based on the blockchain evidence record, and generate a fragment destruction address list. The destruction instruction sending unit is used to obtain the fragment destruction address list sent by the location query unit, and send a fragment destruction instruction to each trusted storage location in the fragment destruction address list. The fragment destruction instruction contains the identification information of the key fragment to be destroyed. The destruction confirmation collection unit is used to receive the fragment destruction confirmation messages returned by each of the trusted storage locations, and generate a key destruction completion confirmation after all the fragment destruction confirmation messages corresponding to all n key fragments have been received. The destruction on-chain unit is used to obtain the key destruction completion confirmation sent by the destruction confirmation collection unit, generate a key destruction record based on the key destruction completion confirmation, and submit the key destruction record to the blockchain network.
