Designing a Logging System to Verify Authenticity of Logs |

Logging System Design for Data Authenticity |

Question

One of your primary business objectives is being able to trust the data stored in your application.

You want to log all changes to the application data.

How can you design your logging system to verify authenticity of your logs?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C.

Of the given options, option C is the correct answer to the question. Here is a detailed explanation of why:

When it comes to verifying the authenticity of logs, it is important to ensure that the logs have not been tampered with and that they can be trusted. To achieve this, one way is to digitally sign each timestamp and log entry and store the signature.

Digital signatures use a cryptographic mechanism that involves the use of a private key to create a signature and a public key to verify the signature. When a log entry is created, it is hashed using a cryptographic algorithm, and the resulting hash value is then signed using a private key. The signature is then attached to the log entry. When the log entry is retrieved later, the hash value can be recomputed and compared to the original hash value that was signed. If the two values match, the signature is verified using the public key, and the log entry is considered authentic.

In addition to digitally signing each log entry, it is important to store the signature along with the log entry itself. This ensures that the signature cannot be separated from the log entry and used to verify a different log entry.

Option A, writing the log concurrently in the cloud and on premises, can be a good approach for achieving redundancy and ensuring that the logs are available in case of a failure. However, it does not address the issue of authenticity.

Option B, using a SQL database and limiting who can modify the log table, can help to prevent unauthorized modifications to the log entries. However, it does not address the issue of verifying the authenticity of the logs.

Option D, creating a JSON dump of each log entry and storing it in Google Cloud Storage, is a good way to store and manage the logs. However, it does not address the issue of authenticity.

Therefore, option C is the best option for designing a logging system that can verify the authenticity of the logs.