I have to keep a journal of all transactions that are performed in my application. Think of an invoice journal.

What options do I have? E.g. an option in syslogd, or a table configuration in MySQL would be great.

My goal is to at least be able to prove that the journal has not been manipulated.

Currently I am computing a rolling hashsum of the entries, and send the hashvalue to some trusted 3rd party every 100th entry. That way, I can prove no one has changed a journal entry and recomputed the whole hash chain.

  • 3
    RFC 5848 - Signed Syslog Messages - "...mechanism to add origin authentication, message integrity, replay resistance, message sequencing, and detection of missing messages to the transmitted syslog messages." – Steffen Ullrich May 11 at 8:24
  • Oh yes, there exists even a standard for my sought log format. But do I see correctly that there exists no widely used package or library implementing this standard? How do the tens of thousands of accounting and genral financial software suites realize a manipulation-save transaction journal? I mean there must be a gold standard...? – Olli D-Metz May 12 at 5:33
  • 1
    None of these accounting and financial software will likely use syslog for a transaction journal. And it is likely that there is no standard which will include all use cases of manipulation-save transactions logs since the use cases are too different. But there are general methods to deal with it like having a sequence number included in the message or the previous message (i.e. like a hash chain) etc. The best method to use depends on the specifics and requirements of the actual use case and there is not enough known for your specific case. – Steffen Ullrich May 12 at 5:39
  • Yes, such a hash chain is exactly what I am doing currently. However, I was searching for some 3rd party tool that is thoroughly tested. In principle, I am in need for a tool that savely stores/archives string messages for me. These messages could for instance be a log of user actions, or processed API instructions. It would have to have the possibility to prove that a log entry has not been maniulated, and that no line has been deleted. However, also a hash chain could be faked by just recomputing all hashes after manipulation. – Olli D-Metz May 13 at 6:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.