1

I am looking for a way to build a blackbox system that can securely run my algorithm and that can output data to a user.

The system would be my own custom linux computer that runs my algorithm and that I would give away to the user. Now what I want is that the user can configure the algorithm through some predefined ports and also receives data from a predefined port. However, the user should not be able to see any source code of the algorithm and at best should not be able to copy the program (however this is not my main regard)

What would be the best approach to do this? It does not have to be super un-hackable security (since this is probably impossible). Just some sort of good security that does not make it too straight forward to see and copy the source code.

The hardware is my custom computer that I can configure how I want it. The program does not need to run anywhere else.

1 Answers1

1

Setup your box as follows:

Application Setup

using the BG IPC (Background Inter Process Communication) you will be able to connect through the piping port through another application to talk to the user.

Application Security (optional)

The application could be self-deleting and self-decrypting.

On Applicaiton Startup, it would require the user to enter a password (to start the app) then it will delete the file from the file system,

Extra Secuirty

The application execuatable could be zero or random byte nulled. this would replace every byte in the executable with a random byte value, before deleting. this will ensure that the file is un-recoverable.

Dean Van Greunen
  • 5,060
  • 2
  • 14
  • 28
  • But the self-deleting program does not work on a restart anymore. Or am I wrong? – Marcel_marcel1991 Jul 09 '19 at 17:45
  • self-deleting meaning that if the app crashes, or if the computer restarts, then you would need to "re-install" the application and then enter the security password in again as the program has been removed from memory and the executable file would be missing. – Dean Van Greunen Jul 09 '19 at 17:46
  • This is how some enterprise software I've work with in the past runnings. We would use a flash drive to store the application on, then plug it in, run the app, enter the password, then the flash drive would be formatted/emptied, then we would unplug the flash drive. – Dean Van Greunen Jul 09 '19 at 17:47
  • this works on linux only, see https://gist.github.com/DeanVanGreunen/a155bfb13d7b68033c0a398e14b3d107 – Dean Van Greunen Jul 27 '19 at 06:54