  Attestation is a fundamental building block to establish trust over software
systems. When used in conjunction with trusted execution environments, it
guarantees that genuine code is executed even when facing strong attackers,
paving the way for adoption in several sensitive application domains. This
paper reviews existing remote attestation principles and compares the
functionalities of current trusted execution environments as Intel SGX, Arm
TrustZone and AMD SEV, as well as emerging RISC-V solutions.
