Linked timestamping
Linked timestamping is a type of trusted timestamping where issued time-stamps are related to each other.
Description
Linked timestamping creates time-stamp tokens which are dependent on each other, entangled into some authenticated data structure. Later modification of the issued time-stamps would invalidate this structure. The temporal order of issued time-stamps is also protected by this data structure, making backdating of the issued time-stamps impossible, even by the issuing server itself.
The top of the authenticated data structure is generally published in some hard-to-modify and widely witnessed media, like printed newspaper. There are no (long-term) private keys in use, avoiding PKI-related risks.
Suitable candidates for the authenticated data structure include:
- Linear hash chain
- Merkle tree (binary hash tree)
- Skip list
The simplest linear hash chain-based time-stamping scheme is illustrated in the following diagram:
The linking-based time-stamping authority (TSA) usually performs the following distinct functions:
- Aggregation
- For increased scalability the TSA might group time-stamping requests together which arrive within a short time-frame. These requests are aggregated together without retaining their temporal order and then assigned the same time value. Aggregation creates a cryptographic connection between all involved requests; the authenticating aggregate value will be used as input for the linking operation.
- Linking
- Linking creates a verifiable and ordered cryptographic link between the current and already issued time-stamp tokens.
- Publishing
- The TSA periodically publishes some links, so that all previously issued time-stamp tokens depend on the published link and that it is practically impossible to forge the published values. By publishing widely witnessed links, the TSA creates unforgeable verification points for validating all previously issued time-stamps.
Security
Linked timestamping is inherently more secure than the usual, public-key signature based time-stamping. All consequential time-stamps "seal" previously issued ones - hash chain (or other authenticated dictionary in use) could be built only in one way; modifying issued time-stamps is nearly as hard as finding a preimage for the used cryptographic hash function. Continuity of operation is observable by users; periodic publications in widely witnessed media provide extra transparency.
Tampering with absolute time values could be detected by users, whose time-stamps are relatively comparable by system design.
Absence of secret keys increases system trustworthiness. There are no keys to leak and hash algorithms are considered more future-proof[1] than modular arithmetic based algorithms, e.g. RSA.
Linked timestamping scales well - hashing is much faster than public key cryptography. There is no need for specific cryptographic hardware with its limitations.
The common technology[2] for guaranteeing long-term attestation value of the issued time-stamps (and digitally signed data[3]) is periodic over-time-stamping of the time-stamp token. Because of missing key-related risks and of the plausible safety margin of the reasonably chosen hash function this over-time-stamping period of hash-linked token could be an order of magnitude longer than of public-key signed token.
Research
Foundations
Haber and Stornetta proposed[4] in 1990 to link issued time-stamps together into linear hash-chain, using a collision-resistant hash function. The main rationale was to diminish TSA trust requirements.
Tree-like schemes and operating in rounds were proposed by Benaloh and de Mare in 1991[5] and by Bayer, Haber and Stornetta in 1992.[6]
Benaloh and de Mare constructed a one-way accumulator[7] in 1994 and proposed its use in time-stamping. When used for aggregation, one-way accumulator requires only one constant-time computation for round membership verification.
Surety[8] started the first commercial linked timestamping service in January 1995. Linking scheme is described and its security is analyzed in the following article[9] by Haber and Sornetta.
Buldas et al. continued with further optimization[10] and formal analysis of binary tree and threaded tree[11] based schemes.
Skip-list based time-stamping system was implemented in 2005; related algorithms are quite efficient.[12]
Provable security
Security proof for hash-function based time-stamping schemes was presented by Buldas, Saarepera[13] in 2004. There is an explicit upper bound for the number of time stamps issued during the aggregation period; it is suggested that it is probably impossible to prove the security without this explicit bound - the so-called black-box reductions will fail in this task. Considering that all known practically relevant and efficient security proofs are black-box, this negative result is quite strong.
Next, in 2005 it was shown[14] that bounded time-stamping schemes with a trusted audit party (who periodically reviews the list of all time-stamps issued during an aggregation period) can be made universally composable - they remain secure in arbitrary environments (compositions with other protocols and other instances of the time-stamping protocol itself).
Buldas, Laur showed[15] in 2007 that bounded time-stamping schemes are secure in a very strong sense - they satisfy the so-called "knowledge-binding" condition. The security guarantee offered by Buldas, Saarepera in 2004 is improved by diminishing the security loss coefficient from to .
The hash functions used in the secure time-stamping schemes do not necessarily have to be collision-resistant[16] or even one-way;[17] secure time-stamping schemes are probably possible even in the presence of a universal collision-finding algorithm (i.e. universal and attacking program that is able to find collisions for any hash function). This suggests that it is possible to find even stronger proofs based on some other properties of the hash functions.
At the illustration above hash tree based time-stamping system works in rounds (, , , ...), with one aggregation tree per round. Capacity of the system () is determined by the tree size (, where denotes binary tree depth). Current security proofs work on the assumption that there is a hard limit of the aggregation tree size, possibly enforced by the subtree length restriction.
Standards
ISO 18014 part 3 covers 'Mechanisms producing linked tokens'.
American National Standard for Financial Services, "Trusted Timestamp Management and Security" (ANSI ASC X9.95 Standard) from June 2005 covers linking-based and hybrid time-stamping schemes.
There is no IETF RFC or standard draft about linking based time-stamping. RFC 4998 (Evidence Record Syntax) encompasses hash tree and time-stamp as an integrity guarantee for long-term archiving.
See also
- "Series of mini-lectures about cryptographic hash functions"; includes application in time-stamping and provable security; by A. Buldas, 2011.
References
- ↑ Buchmann, J.; Dahmen, E.; Szydlo, M. (2009). "Hash-based Digital Signature Schemes". Post-Quantum Cryptography. p. 35. ISBN 978-3-540-88701-0. doi:10.1007/978-3-540-88702-7_3.
- ↑ See ISO/IEC 18014-1:2002 Chapter 4.2
- ↑ For example see XAdES-A.
- ↑ Haber, S.; Stornetta, W. S. (1991). "How to time-stamp a digital document". Journal of Cryptology. 3 (2). doi:10.1007/BF00196791.
- ↑ Benaloh, Josh; de Mare, Michael (1991). "Efficient Broadcast Time-Stamping". Technical Report 1. Clarkson University Department of Mathematics and Computer Science.
- ↑ Bayer, Dave; Stuart A., Haber; Wakefield Scott, Stornetta (1992). "Improving the Efficiency And Reliability of Digital Time-Stamping". Sequences II: Methods in Communication, Security and Computer Science. Springer-Verlag: 329–334.
- ↑ Benaloh, J.; Mare, M. (1994). "One-Way Accumulators: A Decentralized Alternative to Digital Signatures". Advances in Cryptology — EUROCRYPT '93. Lecture Notes in Computer Science. 765. p. 274. ISBN 978-3-540-57600-6. doi:10.1007/3-540-48285-7_24.
- ↑ http://www.surety.com/
- ↑ Haber, S.; Stornetta, W. S. (1997). "Secure names for bit-strings". Proceedings of the 4th ACM conference on Computer and communications security - CCS '97. p. 28. ISBN 0897919122. doi:10.1145/266420.266430.
- ↑ Buldas, A.; Laud, P.; Lipmaa, H.; Villemson, J. (1998). "Time-stamping with binary linking schemes". LNCS. Lecture Notes in Computer Science. 1462: 486. ISBN 3-540-64892-5. doi:10.1007/BFb0055749.
- ↑ Buldas, Ahto; Lipmaa, Helger; Schoenmakers, Berry (2000). "Optimally Efficient Accountable Time-Stamping". LNCS. 1751: 293–305. doi:10.1007/b75033.
- ↑ Blibech, K.; Gabillon, A. (2006). "A New Timestamping Scheme Based on Skip Lists". Computational Science and Its Applications - ICCSA 2006. Lecture Notes in Computer Sciencef. 3982. p. 395. ISBN 978-3-540-34075-1. doi:10.1007/11751595_43.
- ↑ Buldas, Ahto; Saarepera, Märt (2004). "On Provably Secure Time-Stamping Schemes". LNCS. 3329: 500–514. doi:10.1007/b104116.
- ↑ Buldas, A.; Laud, P.; Saarepera, M. �R.; Willemson, J. (2005). "Universally Composable Time-Stamping Schemes with Audit.". LNCS. 3650: 359–373. doi:10.1007/11556992+26. replacement character in
|first3=
at position 4 (help) - ↑ Buldas, A.; Laur, S. (2007). "Knowledge-Binding Commitments with Applications in Time-Stamping". LNCS. Lecture Notes in Computer Science. 4450: 150–165. ISBN 978-3-540-71676-1. doi:10.1007/978-3-540-71677-8_11.
- ↑ Buldas, A.; Jürgenson, A. (2007). "Does Secure Time-Stamping Imply Collision-Free Hash Functions?". LNCS. Lecture Notes in Computer Science. 4784: 138–150. ISBN 978-3-540-75669-9. doi:10.1007/978-3-540-75670-5_9.
- ↑ Buldas, A.; Laur, S. (2006). "Do Broken Hash Functions Affect the Security of Time-Stamping Schemes?" (PDF). LNCS. Lecture Notes in Computer Science. 3989: 50–65. ISBN 978-3-540-34703-3. doi:10.1007/11767480_4.