I have the following scenario to which I have to apply cryptography to protect sensitive data:
An embedded Linux computer box will be creating and accepting file packages with contents that should not be accessible to anyone outside a restricted group of persons. These packages will be sent to and retrieved from the box via http or USB drives.
A software tool will exist that can create and extract the packages. This tool will only be accessible to the restricted group. Another tool will exist that can create packages but not extract them. This will be freely distributed.
These statements also apply:
- The files can be easily obtained by any potential attacker.
- The box can fall in the attacker's hands at any time but we assume that they will not gain root access to it.
- There will be many boxes around and a file created by either of the tools or any box should be accessible by any other box.
- The boxes are distributed and are no longer accessible to the restricted group of persons (i.e. to change keys, pass phrases, etc.).
The question is what cryptographic solution can we apply to this scenario using standard algorithms and tools/libraries, and how do we protect the key(s) from a leak from the restricted group of persons (we can assume a sub-group of them is 100% trustworthy). It would be possible setting up a server in a restricted network that could handle the decryption for the tool for the restricted group of persons.