Basics
Remote attestation lets a trusted verifier check the integrity of a remote, typically untrusted, prover. Integrity checks can be done at: the firmware level (microcode, BIOS), the operating system level (kernel image, driver), and the application level (executable, dynamic library, configuration file).
The security assumptions of remote attestation are