Abstract: | A faithful execution system includes system memory, a target processor,
and protection engine. The system memory stores a ciphertext including
value fields and integrity fields. The value fields each include an
encrypted executable instruction and the integrity fields each include an
encrypted integrity value for determining whether a corresponding one of
the value fields has been modified. The target processor executes
plaintext instructions decoded from the ciphertext while the protection
engine is coupled between the system memory and the target processor. The
protection engine includes logic to retrieve the ciphertext from the
system memory, decrypt the value fields into the plaintext instructions,
perform an integrity check based on the integrity fields to determine
whether any of the corresponding value fields have been modified, and
provide the plaintext instructions to the target processor for execution. |