Measurement Software
Reporting the software state of a platform requires a computing engine to measure software before that software is loaded, and to store the measurement in the root of trust. A generic Trusted Platform does this with nested loader software, starting with the root-of-trust, each of which computes a digest of the next loader and stores the digest in the root-of-trust before passing control to the next loader. As long as software is measured and the result stored before execution, the software cannot hide itself. This builds a "chain of trust" starting from the root-of-trust.