3 ms·
You run it in an environment that you DO trust - i.e. a TEE (Trusted Execution Environment). This can be a separate device (physically attached or networked), i
by supermatt 5y ago
You run it in an environment that you DO trust - i.e. a TEE (Trusted Execution Environment). This can be a separate device (physically attached or networked), integrated hardware (e.g. IME/SEP/etc), or some form of isolation built into the hardware (e.g. SGX/PSP/etc).
But this has major limitations - especially if you are trying to communicate from an untrusted layer, as it can still be intercepted. Only what happens INSIDE the TEE is secure, and theres no guarantee you are even communicating with it.
This is why they are generally only used for verification, secured RNG (including OTP), protected decryption of insensitive data (i.e. DRM), etc. Basically where you dont particularly care about the input or output (or both), just that the operation itself needs to be secure.