To store data in a tamper-proof manner, only processor power and decentralized storage locations are required.
- Use Hashes: Generate a hash over every line in a log file and publish it on another computer (for example on Twitter). Make a hard copy of the hash to make sure that it cannot be manipulated or deleted. Write the hash to a CD-R or DVR-R (not RW because RW can be manipulated or deleted). But be careful, this only shows the manipulation and the log file can still be deleted.
- Use Encryption: Create a random number and encrypt it. Together with the private key, this random number is stored on a USB stick and kept safe. Create a log file with one line. The first line is: Log = Data(“Log file initialization”) + Hash( RandomValue + Data)
Next line: Log = Data(“write the Log data here…”) + Hash( PreviousHash + Data)
In the next line, the hash of the previous line is taken as the new random value. It is very important that this value is deleted afterwards. Someone who wants to manipulate this file cannot manipulate the first line, because the random value of the USB stick is missing. This means that manipulation within this log file can always be proven.
- Improve the whole thing: Use time stamps signed by a server. Store the log file encrypted. Hide or camouflage the log file.
If you have more or better ideas, please write them into the comments. You can also comment here: https://despora.de/posts/12640160