I'm trying to implement system for encrypted and searchable audit logs. The system will work in the following manner:

There will be an untrusted audit log server, where all the logs will be saved and which will return audit logs corresponding to search queries. The administrator of the system will generate a public key, that he will upload to the log server and private key, that he will store for later decryption and search.

Other systems will upload audit logs (for simplicity in the format "who did what and when") encrypted with the public key, which they obtain from the log server, alongside with keywords by which the corresponding audit log can be found. The keywords have to be also encrypted because the audit log server cannot be trusted.

At first, I thought the scheme can be implemented by "PEKS" introduced in Public Key Encryption with Keyword Search. However, I think it will be vulnerable for some statistical attacks because there will be an only a small set of keywords generated for log entries (please correct me if I'm wrong).

I also read Building an Encrypted and Searchable Audit Log but the scheme introduced there is not exactly what I'm trying to accomplish. I would use Secure indexes but the scheme uses symmetric encryption. Is it possible to create some kind of secure index that will use asymmetric searchable encryption?

Edit: For simplicity, consider semi-trusted server, it wont tamper stored data (it wont insert, edit nor delete stored audit logs)

  • $\begingroup$ An untrusted log server can delete and insert the logs! And the statistical attack is called the frequency attack $\endgroup$
    – kelalaka
    Nov 3, 2019 at 22:18
  • $\begingroup$ Maybe you want a semi-honest audit log server? $\endgroup$
    – kelalaka
    Nov 3, 2019 at 22:29
  • $\begingroup$ @kelalaka I did not consider that, but for simplicity consider semi-honest server, it wont insert, delete audit logs $\endgroup$
    – Marmellad
    Nov 13, 2019 at 22:02


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.