Paper 2020/847 Original: eprint.iacr.org/2020/847 ↗

Encrypt-to-self: Securely Outsourcing Storage

Jeroen Pijnenburg
Bertram Poettering
Abstract

We put forward a symmetric encryption primitive tailored towards a specific application: outsourced storage. The setting assumes a memory-bounded computing device that inflates the amount of volatile or permanent memory available to it by letting other (untrusted) devices hold encryptions of information that they return on request. For instance, web servers typically hold for each of the client connections they manage a multitude of data, ranging from user preferences to technical information like database credentials. If the amount of data per session is considerable, busy servers sooner or later run out of memory. One admissible solution to this is to let the server encrypt the session data to itself and to let the client store the ciphertext, with the agreement that the client reproduce the ciphertext in each subsequent request (e.g., via a cookie) so that the session data can be recovered when required. In this article we develop the cryptographic mechanism that should be used to achieve confidential and authentic data storage in the encrypt-to-self setting, i.e., where encryptor and decryptor coincide and constitute the only entity holding keys. We argue that standard authenticated encryption represents only a suboptimal solution for preserving confidentiality, as much as message authentication codes are suboptimal for preserving authenticity. The crucial observation is that such schemes instantaneously give up on all security promises in the moment the key is compromised. In contrast, data protected with our new primitive remains fully integrity protected and unmalleable. In the course of this paper we develop a formal model for encrypt-to-self systems, show that it solves the outsourced storage problem, propose surprisingly efficient provably secure constructions, and report on our implementations.

Metadata
Available format(s)
PDF
Category
Cryptographic protocols
Publication info
Preprint.
History
2020-11-20: last updated
2020-07-12: published
Short URL
https://ia.cr/2020/847
License
https://creativecommons.org/licenses/by/4.0/

BibTeX

@misc{cryptoeprint:2020/847,
      author = {Jeroen Pijnenburg and Bertram Poettering},
      title = {Encrypt-to-self: Securely Outsourcing Storage},
      howpublished = {Cryptology {ePrint} Archive, Paper 2020/847},
      year = {2020},
      url = {https://eprint.iacr.org/2020/847}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.