A data encapsulation method, data protection method and system supporting TPCM trusted platform configuration update
By encrypting and encapsulating data packets and storing the signature value in the trusted platform control module, the problem of data encapsulation in the TPCM standard being unable to be decapsulated during legitimate software and hardware configuration updates is solved, thus enabling reliable decapsulation of data after software and hardware updates.
Patent Information
- Application Number
- CN202411457809.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-18
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-10-18
AI Technical Summary
The existing TPCM standard's data encapsulation and storage mechanism cannot decapsulate data when there are legitimate updates to the software and hardware configurations, causing the encapsulated storage to fail.
The system employs encrypted encapsulation of data packets, a security key generated by TPCM, and a combined value. The hash value is calculated, signed, and stored in the FLASH memory of the trusted platform control module. During decapsulation, the combined value is recalculated and compared with the signature value to ensure the security of data decapsulation.
This technology enables data to remain unsealed even after software and hardware updates, solving the problem of sealed storage failure and ensuring data security and reliability.
Smart Images

Figure CN119377983B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data security, in particular to a data encapsulation method, data protection method and system supporting TPCM trusted platform configuration update. BACKGROUND
[0002] The implementation mechanism of the existing TPCM standard encapsulation storage is described as follows: when a user encapsulates a certain data, the user first selects the software and hardware configurations bound to the data, that is, selects the measurement values in certain platform configuration registers PCR as binding information, and the selected platform configuration registers PCR are denoted as pcrSelection. Then the measurement values are hashed, and the to-be-encapsulated data and the hash value are encrypted as a whole and stored. When the data needs to be unsealed, the measurement values in the PCR under the current software and hardware configuration are read according to pcrSelection, and the hash is calculated. Only when the hash value encapsulated together with the data is consistent, the data can be read.
[0003] Although the encapsulation storage effectively prevents the data from being read in a system in which the software and hardware configurations are illegally changed, if the configurations are modified legally (for example, normal update of the software and hardware of the system), the data cannot be unsealed due to the change of the measurement values in the PCR, and therefore the encapsulation storage fails. For example, it is assumed that a user needs to bind data Data to a secure operating system, and the measurement value of the operating system exists in PCR[8]. When encapsulation is performed, the measurement value in PCR[8] is , Data is encapsulated with [Data, ], and only when the measurement value in PCR[8] is , the data Data can be unsealed. If the measurement value of the operating system in PCR[8] is changed to due to infection of a virus, the data Data cannot be unsealed, thereby protecting the data. If the measurement value in PCR[8] is changed from to due to legal update of the operating system, the data Data also cannot be unsealed, which is the invalid problem of the encapsulation storage. SUMMARY
[0004] The present application provides a data encapsulation method, data protection method and system supporting TPCM trusted platform configuration update.
[0005] Technical scheme: To solve the above problems, the present application adopts a data encapsulation method supporting TPCM trusted platform configuration update, which comprises the following steps:
[0006] receiving an encapsulation data packet, encapsulating the encapsulation data packet, a security key generated by TPCM, and The combined values are encrypted and encapsulated to obtain the encapsulated data SealedData;
[0007] The The combined value is calculated from the hash value obtained by calculating the metric value of the Platform Configuration Register (PCR) bound to several encapsulated data.
[0008] Furthermore, the security key generated by the TPCM is a random number generated by the TPCM.
[0009] This invention also employs a data protection method that supports TPCM trusted platform configuration updates, comprising:
[0010] Step 1: Receive the encapsulated data packet, select several platform configuration registers (PCRs) to be bound to the encapsulated data packet; the selected platform configuration registers (PCRs) form a platform configuration group (PCRS).
[0011] Step 2: Read the metric value of the platform configuration group PCRS and calculate the hash value to obtain... Combined value;
[0012] Step 3: Utilize the security key generated by TPCM to encapsulate data packets. The combined values are encrypted and encapsulated to obtain the encapsulated data SealedData;
[0013] Step 4: Calculate the security key for the encapsulated data SealedData and Signature value of the combined value ; and the security key and signature value It is stored in the FLASH memory of the Trusted Platform Control Module (TPCM); when the TPCM is updated normally, it is recalculated. Signature value of the combined value And save it to the FLASH memory;
[0014] Step 5: Recalculate during data unsealing. The combined value will be recalculated. Decrypting the combined value and the encapsulated data SealedData yields... The combined values are compared. If they match, proceed to the next step; otherwise, the unsealing fails.
[0015] Step 6: Recalculate Signature value of the combined value The recalculated signature value is compared with the signature value stored in the FLASH memory. If they match, the data is unsealed; otherwise, the system configuration information has been modified and unsealing fails.
[0016] Furthermore, the security key generated by the TPCM is a random number generated by the TPCM.
[0017] Furthermore, encryption, decryption, signing, and signature verification operations are all completed within the Trusted Cryptography Module (TPCM); user authorization information is managed and verified through the TPCM's own protocol.
[0018] Furthermore, the encryption and signing keys are generated by the Trusted Cryptography Module (TPCM), are non-transferable keys, are stored inside the TPCM, are protected by the TPCM, and are not used outside the TPCM.
[0019] This invention also employs a data encapsulation system that supports TPCM trusted platform configuration updates, comprising:
[0020] The receiving module is used to receive encapsulated data packets;
[0021] The encapsulation module is used to encapsulate data packets, the security key generated by TPCM, and... The combined values are encrypted and encapsulated to obtain the encapsulated data SealedData;
[0022] The The combined value is calculated from the hash value obtained by calculating the metric value of the Platform Configuration Register (PCR) bound to several encapsulated data.
[0023] This invention also employs a data protection system that supports TPCM trusted platform configuration updates, comprising:
[0024] The data acquisition module receives encapsulated data packets, selects several platform configuration registers (PCRs) to which the encapsulated data packets need to be bound, forms a platform configuration group (PCRS) from the selected PCRs, reads the metric values of the platform configuration group (PCRS) and calculates their hash values, and then calculates... Combined value;
[0025] The encapsulation module is used to encapsulate data packets and the security keys generated by TPCM. The combined values are encrypted and encapsulated to obtain the encapsulated data SealedData;
[0026] The update module is used to calculate the security key for the encapsulated data SealedData and Signature value of the combined value ; and the security key and signature value It is stored in the FLASH memory of the Trusted Platform Control Module (TPCM); when the TPCM is updated normally, it is recalculated. Signature value of the combined value And save it to the FLASH memory;
[0027] The unsealing module is used to recalculate data during unsealing. The combined value will be recalculated. The combined value and the encapsulated data SealedData are obtained by decryption. The combined values are compared; if they do not match, the unsealing process fails; if they match, the values are recalculated. Signature value of the combined value The recalculated signature value is compared with the signature value stored in the FLASH memory. If they match, the data is unsealed; otherwise, the system configuration information has been modified and unsealing fails.
[0028] The present invention also employs a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above method.
[0029] The present invention also employs a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.
[0030] Beneficial Effects: Compared to existing technologies, the significant advantage of this invention is that during data sealing, the data is not bound to the measurement values of the hardware and software configuration information in PCR, but rather to the security key attributes possessed by the hardware and software configuration. An attribute of a hardware and software configuration is all the security-related requirements that this configuration satisfies. As long as the computer's hardware and software configuration meets these security-related attributes, data can be unsealed regardless of the specific state of the hardware and software configuration. Thus, even after hardware and software updates, as long as the platform's attributes remain unchanged, the data can still be unsealed. This solves the failure problem inherent in encapsulated storage. Attached Figure Description
[0031] Figure 1 This is a flowchart illustrating the data protection method of the present invention. Detailed Implementation
[0032] Example 1
[0033] like Figure 1 As shown in the figure, this embodiment of a data protection method supporting TPCM trusted platform configuration updates includes the following steps:
[0034] Step 1: Prepare the necessary information for encapsulation: the user's storage public / private key pair (PK, SK), signature public / private key pair (SP, SS); and the plaintext data to be encrypted. ; The unique identifier for TPCM, TPCMProof; Select the hardware and software configurations to be bound, i.e., select several platform configuration registers. Selected platform configuration register The combination is called The selection information is stored in pcrSelect.
[0035] Step 2: Read the metric values from the PCRS and calculate the hash values: TPCM generates random numbers This represents the security key.
[0036] Step 3: [Regarding...] Security Key and plaintext data Encrypt and encapsulate. The encapsulated data, SealedData, is then stored on the hard drive.
[0037] Step 4: Calculate the security key and signature value It is stored in the TPCM's FLASH memory, and is used every time the system configuration is legally updated. If a change occurs, the signature value is recalculated and updated in the FLASH memory.
[0038] Step 5: During data desealing, first decrypt the encrypted encapsulated data SealedData to obtain... , Security Key Recalculate Combine values and determine Combination value and Check if the combined values are consistent; if not, the unsealing process will fail.
[0039] Step 7: After the combined values are successfully compared, the security key is recalculated. signature value And retrieve the signature value from Flash. If the comparison is inconsistent, the system configuration information has been modified, and the unblocking process will fail.
[0040] Example 2
[0041] This embodiment provides a data protection system that supports TPCM trusted platform configuration updates, including:
[0042] The data acquisition module receives encapsulated data packets, selects several platform configuration registers (PCRs) to which the encapsulated data packets need to be bound, forms a platform configuration group (PCRS) from the selected PCRs, reads the metric values of the platform configuration group (PCRS) and calculates their hash values, and then calculates... Combined value;
[0043] a packaging module for encrypting and packaging a unique identifier of the TPCM, a combination value, a signature value of the combination value, and a package data, to obtain a sealed data SealedData;
[0044] an updating module for calculating a security key of the sealed data SealedData and a signature value of the combination value, and storing the security key and the signature value in a FLASH memory of the TPCM; when the TPCM is normally updated, recalculating the signature value of the combination value and saving to the FLASH memory;
[0045] an unsealing module for, when data is unsealed, recalculating the combination value, comparing the recalculated combination value with the sealed data SealedData, if they are inconsistent, unsealing fails; if they are consistent, recalculating a signature value of the combination value, comparing the recalculated signature value with the signature value saved in the FLASH memory, if they are consistent, unsealing the data, if they are inconsistent, the system configuration information is modified, unsealing fails.
[0046] The encryption and decryption operations and the signature and verification operations are completed in the TPCM; the authorization information of the user is managed and verified by a protocol of the TPCM; the encryption and signature keys are generated by the TPCM and are non-migratable keys stored in the TPCM and protected by the TPCM, and are not used outside the TPCM.
[0047] Embodiment 3
[0048] Those skilled in the art should understand that the embodiments of the present application can provide a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the above method when executing the computer program.
[0049] Embodiment 4
[0050] Those skilled in the art will appreciate that embodiments of the application can be readily used as software, hardware, or a combination of software and hardware. In one
[0051] The present application is described in reference to the flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart Figure 1 one or more functions specified in the flowchart block or blocks. Figure 1 one or more functions specified in the flowchart block or blocks.
[0052] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart block or blocks. Figure 1 one or more functions specified in the flowchart block or blocks. Figure 1 one or more functions specified in the flowchart block or blocks.
[0053] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more functions specified in the flowchart block or blocks. Figure 1 one or more functions specified in the flowchart block or blocks.
[0054] The embodiments of the present application described above are illustrative, and not restrictive, of the present application. Various modifications can be made to the preferred embodiments by those of ordinary skill in the art without departing from the spirit of the present application. The presently disclosed embodiments are intended to cover any and all modifications of the present application within the scope of the claims, along with their equivalents.
Claims
1. A data protection method supporting TPCM trusted platform configuration update, characterized in that, Comprise: Step 1: receiving encapsulated data packets, selecting a plurality of platform configuration registers (PCRs) to which the encapsulated data packets need to be bound; the selected plurality of platform configuration registers (PCRs) form a platform configuration group (PCRS); Step 2: Read the measurement value of the platform configuration group PCRS and calculate the hash value, get combined value; Step 3: encrypt the security key generated by TPCM, the packaged data packet, and the combined value to obtain a packaged data SealedData; Step 4: Calculate the security key for the sealed data SealedData and The signature value of the combined value ; and the security key and the signature value are stored in a FLASH memory of a trusted platform control module TPCM; When the trusted platform control module TPCM is updated normally, the signature value of the combination value is recalculated the signature value of the combination value and saved into the FLASH memory; Step 5: Recalculate during data unsealing. The combined value will be recalculated. Decrypting the combined value and the encapsulated data SealedData yields... The combined values are compared. If they match, proceed to the next step; otherwise, the unsealing fails. Step 6: Recomputing Signature value of combined value ; compare the recomputed signature value with the signature value saved in the FLASH memory, if consistent, proceed with data unsealing, if inconsistent, the system configuration information is modified, unsealing fails.
2. The data protection method of claim 1, wherein, The security key generated by the TPCM is a random number generated by the TPCM.
3. The data protection method of claim 2, wherein, The encryption, decryption, signature and verification operations are all completed inside the trusted cryptographic module (TPCM); the user's authorization information is managed and verified through the protocol of the trusted cryptographic module (TPCM) itself.
4. The data protection method of claim 2, wherein, The encryption and signature keys are generated by the trusted cryptographic module (TPCM) and belong to non-migratable keys, which are stored inside the trusted cryptographic module (TPCM) and protected by the trusted cryptographic module (TPCM) and cannot be used outside the trusted cryptographic module (TPCM).
5. A data protection system supporting TPCM trusted platform configuration update, characterized by, Comprise: The data acquisition module is configured to receive the encapsulated data packets, select a plurality of platform configuration registers (PCRs) to which the encapsulated data packets need to be bound, form a platform configuration group (PCRS) from the selected plurality of platform configuration registers (PCRs), read a measurement value of the platform configuration group (PCRS), and calculate a hash value of the measurement value of the platform configuration group (PCRS) and the combination value. the combination value. A sealing module is used to encrypt and seal the security key generated by the TPCM, the data packet, and the combined value to obtain sealed data SealedData. an update module for calculating a security key of the encapsulated data SealedData and a signature value of the combined value ; and the signature value are stored in a FLASH memory of a trusted platform control module TPCM; When the trusted platform control module TPCM is updated normally, the re-computed The signature value of the combined value and saved into the FLASH memory; unsealing module, for data unsealing, re-computing combined value, re-computed combined value and the combined value decrypted from the sealed data SealedData, if inconsistent, unsealing fails; if consistent, re-computing signature value of the combined value ; The recalculated signature value is compared with the signature value stored in the FLASH memory, and if they are consistent, the data is unsealed, and if they are inconsistent, the system configuration information is modified and the unsealing fails.
6. A computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor executes the computer program to implement the steps of the method of any one of claims 1 to 4.
7. A computer-readable storage medium having stored thereon a computer program, characterized in that The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 4.
Citation Information
Patent Citations
Credible platform module test device
CN101493870A
Computer secure startup system based on trusted platform module
CN101576944A