Hi Jens,
By untrusted kernel, I meant the REE.
We are trying to achieve the following:
Lets say, we have an encrypted REE application (say EA). The vendor of the application wants to hide their code against potentially compromised REE (For example: infected with rootkit/malware).
, a theoretical solution (assuming TEE is safe) would be to decrypt and execute the EA in TEE and proxy all the syscalls made by the EA to REE.
While processing syscalls, REE can see only certain memory pages(decided by the EA and enforced by TEE).
This way, the decrypted code of the EA, will never leave secure memory.
tl;dr Kinda DRM for code.
-Aravind