I have a problem which has several layers;
- Provide a distributed computing plane where actors can voluntarily add and remove computing resources from, the actors are untrusted by default, and thus their resources too.
- Actor A wants to run application 1 (a container) that gets scheduled on a computing resource provided by actor B, B is malicious to user A and wants to sniff on app 1, prevent this.
- Execute a OCI (open container initiative) Container on an untrusted host in such a way that prevents unauthorized node-local admin access to resources or running state.
- Execute a x86-64-compiled program in such a way which is hidden/shadowed to the executing resource (the CPU and memory) while being resistant to tampering.
The above problem can be shuffled around (encrypt program state/instructions and allow supervisor to access the underlying resource), but mostly it would push the problem around (the supervisor can be compromised by malicious hardware).
What I want to achieve is provide containerization resources in a zero-trust environment, by cryptographically/mathematically/logically making the program state uncompromisable to and beyond the level of the actual final decoded CPU instructions, I assume that anyone (with enough time) would be able to sniff and scrap together a complete saved and snapshotted state of the application, if they had complete access to the hardware, and/or create custom versions which highjack instruction flow.
I want to create a black box from off-the-shelf computer hardware, and/or standard instruction standards, which the actor only has to give compute resources to to make it run.
I want to be able to not trust the hardware it's running on, the CPU. Is this possible in any (practical) way?