Paper 2020/847

Encrypt-to-self: Securely Outsourcing Storage

Jeroen Pijnenburg and 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
Published elsewhere. Minor revision. Computer Security – ESORICS 2020
DOI
10.1007/978-3-030-58951-6_31
Keywords
symmetric encryptioncorruptionforward securitystorage encryptionintegrityconfidentiality
Contact author(s)
poe @ zurich ibm com
History
2020-11-20: revised
2020-07-12: received
See all versions
Short URL
https://ia.cr/2020/847
License
Creative Commons Attribution
CC BY

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},
      doi = {10.1007/978-3-030-58951-6_31},
      note = {\url{https://eprint.iacr.org/2020/847}},
      url = {https://eprint.iacr.org/2020/847}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.