POTSHARDS—A Secure, Long-Term Storage System

Appeared in ACM Transactions on Storage 5(2).

Abstract

Users are storing ever-increasing amounts of information digitally, driven by many factors including government regulations and the public’s desire to digitally record their personal histories. Unfortunately, many of the security mechanisms that modern systems rely upon, such as encryption, are poorly suited for storing data for indefinitely long periods of time; it is very difficult to manage keys and update cryptosystems to provide secrecy through encryption over periods of decades. Worse, an adversary who can compromise an archive need only wait for cryptanalysis techniques to catch up to the encryption algorithm used at the time of the compromise in order to obtain “secure” data. To address these concerns, we have developed POTSHARDS, an archival storage system that provides long-term security for data with very long lifetimes without using encryption. Secrecy is achieved by using unconditionally secure secret splitting and spreading the resulting shares across separately managed archives. Providing availability and data recovery in such a system can be difficult; thus, we use a new technique, approximate pointers, in conjunction with secure distributed RAID techniques to provide availability and reliability across independent archives. To validate our design, we developed a prototype POTSHARDS implementation. In addition to providing us with an experimental testbed, this prototype helped us to understand the design issues that must be addressed in order to maximize security.

Publication date:
June 2009

Authors:
Mark W. Storer
Kevin Greenan
Ethan L. Miller
Kaladhar Voruganti

Projects:
Archival Storage
Secure File and Storage Systems

Available media

Full paper text: PDF

Bibtex entry

@article{storer-tos09,
  author       = {Mark W. Storer and Kevin Greenan and Ethan L. Miller and Kaladhar Voruganti},
  title        = {{POTSHARDS}—A Secure, Long-Term Storage System},
  journal      = {ACM Transactions on Storage},
  volume       = {5},
  number       = {2},
  month        = jun,
  year         = {2009},
}
Last modified 5 Aug 2020