1 Introduction
In distributed computing environments, it is crucial to measure whether a remote party runs buggy, malicious application codes or is improperly configured. Remote attestation techniques have been proposed for this purpose by analyzing the integrity of a remote system to determine its trustworthiness. Typical attestation mechanisms are designed based on the following steps. First, an attestation requester (attester) sends a challenge to a target system (attestee), which responds with the evidence of the integrity of its hardware and software components. Second, the attester derives runtime properties of the attestee and determines the trustworthiness of the attestee. Finally and optionally, the attester returns an attestation result, such as integrity status, to the attestee.