Trusted Execution Environments: Properties, Applications, and Challenges | Synapse