In this work we describe, design and analyze the security of a tamper-evident, append-only data structure for maintaining secure data sequences in a loosely coupled distributed system where individual system components may be mutually distrustful. The resulting data structure, called an Authenticated Append-Only Skip List (AASL), allows its maintainers to produce one-way digests of the entire data sequence, which they can publish to others as a commitment on the contents and order of the sequence. The maintainer can produce efficiently succinct proofs that authenticate a particular datum in a particular position of the data sequence against a published digest. AASLs are secure against tampering even by malicious data structure maintainers. First, we show that a maintainer cannot ``invent'' and authenticate data elements for the AASL after he has committed to the structure. Second, he cannot equivocate by being able to prove conflicting facts about a particular position of the data sequence. This is the case even when the data sequence grows with time and its maintainer publishes successive commitments at times of his own choosing.
AASLs can be invaluable in reasoning about the integrity of system logs maintained by untrusted components of a loosely-coupled distributed system.
[1]
Michael T. Goodrich,et al.
Implementation of an authenticated dictionary with skip lists and commutative hashing
,
2001,
Proceedings DARPA Information Survivability Conference and Exposition II. DISCEX'01.
[2]
Marvin Theimer,et al.
Dealing with server corruption in weakly consistent, replicated data systems
,
1997,
MobiCom '97.
[3]
Mary Baker,et al.
Secure History Preservation Through Timeline Entanglement
,
2002,
USENIX Security Symposium.
[4]
Bruce Schneier,et al.
Cryptographic Support for Secure Logs on Untrusted Machines
,
1998,
USENIX Security Symposium.
[5]
Michael T. Goodrich,et al.
Persistent Authenticated Dictionaries and Their Applications
,
2001,
ISC.
[6]
William Pugh,et al.
Skip Lists: A Probabilistic Alternative to Balanced Trees
,
1989,
WADS.
[7]
Jan Willemson,et al.
Time-Stamping with Binary Linking Schemes
,
1998,
CRYPTO.
[8]
Stuart Haber,et al.
How to time-stamp a digital document
,
1990,
Journal of Cryptology.