2

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?

1 Answers1

2

No, nothing that is secure anyway.

Currently available systems are standard methods of making sure an app can't be run without a license. However these can be reverse engineered relatively easily.

Secure obfuscation is a topic of current research. So far it has not been implemented yet but mathematicians are working on it. One method is using cryptographic multilinear maps.

Nic
  • 236
  • 2
  • 8