6.1TPM架构 家北大学 5 Northeastemn University ● Random Number Generator(RNG) RNG is the source of randomness in the TPM The TPM uses these random values for nonces, key generation and randomness in signatures. allows implementation of a Pseudo Random Number Generator(PRNG)algorithm The RNG output may or may not be shielded data (by the TPM or by external caller)
6.1 TPM 架构 ⚫ Random Number Generator (RNG) ❖ RNG is the source of randomness in the TPM ❖ The TPM uses these random values for nonces, key generation and randomness in signatures. ❖ allows implementation of a Pseudo Random Number Generator (PRNG) algorithm ❖ The RNG output may or may not be shielded data (by the TPM or by external caller)
6.1TPM架构 家北大学 5 Northeastern University SHA-1 Engine A SHA-1 message digest engine is used for computing signatures,creating key Blobs and for general purpose use. ●HMAC engine Computes the HMAC digest authDigest resulting from a secret and arbitrary data >authDigest-HMAC(secret,data) Mainly used in TPM's authentication protocols >provides two pieces of information to the TPM:proof of knowledge of the authorization data and proof that the request arriving is authorized and has no modifications made to the command in transit. >See OSAP/OlAPprotocols
6.1 TPM 架构 ⚫ SHA-1 Engine ❖ A SHA-1 message digest engine is used for computing signatures, creating key Blobs and for general purpose use. ⚫ HMAC engine ❖ Computes the HMAC digest authDigest resulting from a secret and arbitrary data ➢authDigest←HMAC( secret, data) ❖ Mainly used in TPM’s authentication protocols ➢provides two pieces of information to the TPM: proof of knowledge of the authorization data and proof that the request arriving is authorized and has no modifications made to the command in transit. ➢See OSAP/OIAP protocols
6.1TPM架构 家北大学 Northeastern University ●RSA Key Generation TCG standardizes the RSA algorithm for use in TPM modules.Its recent release into the public domain makes it a good candidate for TCG.The RSA key generation engine is use to create signing keys and storage keys. ●RSA Engine The RSA engine is used for signing with signing keys,encryption/decryption with storage keys, and decryption with the EK
6.1 TPM 架构 ⚫ RSA Key Generation ❖ TCG standardizes the RSA algorithm for use in TPM modules. Its recent release into the public domain makes it a good candidate for TCG. The RSA key generation engine is use to create signing keys and storage keys. ⚫ RSA Engine ❖ The RSA engine is used for signing with signing keys, encryption/decryption with storage keys, and decryption with the EK
6.1TPM架构 家北大学 Northeastern University Execution Engine The execution engine runs program code.It performs TPM initialization and measurement taking. Platform Configuration Registers(PCR) A PCR is a 160-bit/20-byte storage location which is used to store integrity measurements. Whether a PCR must be used to store a specific measurement (e.g.the CRTM,BlOS...Option ROM code...),or,whether it is available for general use,is specified in platform specific specifications
6.1 TPM 架构 ⚫ Execution Engine ❖ The execution engine runs program code. It performs TPM initialization and measurement taking. ⚫ Platform Configuration Registers (PCR) ❖ A PCR is a 160-bit/20-byte storage location which is used to store integrity measurements. ❖ Whether a PCR must be used to store a specific measurement (e.g. the CRTM, BIOS…Option ROM code…), or, whether it is available for general use, is specified in platform specific specifications
6.1TPM架构 束北大学 5 Northeastemn University Central Processing Unit (CPU) Graphics Graphics and Memory Controller Controller HUB(GMCH) System Memory Chipset(Northbridge) Hard Disks Interface Controller USB Devices HUB(ICH) Expansion Cards Chipset(Southbridge) Network Interface Low Pin Count (LPC)Bus System BlOS TPM Floppy Drive Parallel l/o Super l/O (Legacy Devices) PS/2 Serial l/o TPM Integration into PC-Hardware
6.1 TPM 架构