5

I'm looking for a way to achieve some kind of code execution validation, so for example if I have a server and a client, I want the client to execute some code (assembly) and send the server validation of this code was actually executioned fully. (and make sure no one tampered with the code running)

Is this thing actually possible? Because in any scenario I can think about there is always a way to bypass this validation, for example if i send from the server asm code so the machine will run it and return the value the code has generated, if someone on the computer he can basically dissasmble the code and without running it to get the generated value.

I know about the new Intel SGX, but I was wondering if there is any method to do so without the need in such hardware specification?

Thanks for the help!

candied_orange
  • 119,268

2 Answers2

2

Look into proof of work research. It technically does what you've asked for but may not give you as arbitrary freedom to demand any kind of work has been done as you would like. This mostly proves effort has been made.

candied_orange
  • 119,268
0

You might also be interested in proof-carrying code techniques.

You still need to define precisely what is your trusted computing base.