1

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.

olidem
  • 111
  • 2
  • 3
    [RFC 5848 - Signed Syslog Messages](https://tools.ietf.org/html/rfc5848) - *"...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 '19 at 08: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...? – olidem May 12 '19 at 05: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 '19 at 05: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. – olidem May 13 '19 at 06:41

0 Answers0