A Trusted Platform Module (TPM) is a secure processor targeted at managing digital keys and accelerating digital signing. A TPM is a cryptoprocessor chip that is embedded on a motherboard or a device, and that provides a secure and trustworthy environment for the execution and the storage of cryptographic operations and keys. A TPM can provide some benefits for security, such as enhancing the confidentiality and integrity of the data and the code, preventing unauthorized modifications or tampering, and enabling remote attestation or verification. A TPM can perform various functions, such as:
Generating and storing digital keys, such as asymmetric keys, symmetric keys, or hash keys, in a non-volatile and tamper-resistant storage. A TPM can also protect the keys from being exported or copied, and can use them for encryption, decryption, signing, or verification purposes.
Accelerating digital signing, which is the process of generating and attaching a digital signature to a message or a document, using a cryptographic algorithm and a private key, to verify the authenticity and the integrity of the sender and the data. A TPM can speed up the digital signing process by using a dedicated hardware module, rather than a software application, and by using a secure and fast algorithm, such as RSA or ECC.
Measuring and reporting the state of a computing platform, which is the process of collecting and verifying the information about the hardware and software components of a system or a device, such as the BIOS, the boot loader, the operating system, or the applications. A TPM can measure the state of a computing platform by using a mechanism called Trusted Boot, which involves creating and storing a hash or a digest of each component as it is loaded, and comparing it with a known and trusted value. A TPM can also report the state of a computing platform by using a mechanism called Remote Attestation, which involves sending the hash or the digest of each component to a remote verifier, who can check the validity and the trustworthiness of the system or the device.
A non-volatile tamper-resistant storage for storing both data and signing keys in a secure fashion, a protected Pre-Basic Input/Output System (BIOS) which specifies a method or a metric for “measuring” the state of a computing platform, and a platform-independent software interface for accessing computer functions are not part of a TPM, although they may be related or useful concepts or techniques. A non-volatile tamper-resistant storage for storing both data and signing keys in a secure fashion is a feature or a component of a TPM, but it is not the whole TPM. A non-volatile tamper-resistant storage is a type of memory or device that can retain the data and the keys even when the power is off, and that can resist physical or logical attacks or modifications. A non-volatile tamper-resistant storage can provide some benefits for security, such as enhancing the availability and the integrity of the data and the keys, preventing data loss or corruption, and facilitating the recovery and the restoration process. A protected Pre-Basic Input/Output System (BIOS) which specifies a method or a metric for “measuring” the state of a computing platform is a function or a result of a TPM, but it is not the whole TPM. A protected Pre-Basic Input/Output System (BIOS) is a firmware or a software that is responsible for initializing and testing the hardware and software components of a system or a device, and for loading and executing the operating system. A protected Pre-Basic Input/Output System (BIOS) can provide some benefits for security, such as enhancing the performance and the functionality of the system or the device, preventing or mitigating some types of attacks or vulnerabilities, and supporting the audit and the compliance activities. A platform-independent software interface for accessing computer functions is a concept or a technique that is related to a TPM, but it is not the whole TPM. A platform-independent software interface is a software component or a layer that allows a user or an application to access and use the functions or the features of a computer system or a device, regardless of the type or the nature of the system or the device, such as the hardware, the software, or the operating system. A platform-independent software interface can provide some benefits for security, such as enhancing the usability and the interoperability of the system or the device, supporting the encryption and the authentication mechanisms, and enabling the segmentation and isolation of the system or the device.