Linked timestamping

From Wikipedia, the free encyclopedia
  (Redirected from Linked Timestamping)
Jump to: navigation, search

Linking-based time-stamping is a type of trusted timestamping where issued time-stamps are related to each other.

Description[edit]

Linking-based time-stamping creates time-stamp tokens which are dependent on each other, entangled into some authenticated data structure. Later modification of issued time-stamps would invalidate this structure. 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.

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 authenticated data structure are:

Simplest linear hash chain based time-stamping is illustrated on following drawing:

Linear hash-chain based linking scheme

The linking-based time-stamping authority (TSA) usually performs the following distinct functions:

Aggregation
For increased scalability TSA might group time-stamping requests arriving within a short timeframe. These requests will be aggregated together without retaining their temporal order and then assigned the same time value. Aggregation creates cryptographic connection between all involved requests; authenticating aggregate value will be used as input for the linking operation.
Linking
Linking creates verifiable and ordered cryptographic link between current and already issued time-stamp tokens.
Example newspaper publication of hash-linked time-stamping service
Publishing
TSA publishes periodically 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[edit]

Linking-based time-stamping 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.

Linking-based time-stamping 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[edit]

Foundations[edit]

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 linking-based time-stamping 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;[12] related algorithms are quite efficient.[13]

Provable security[edit]

Security proof for hash-function based time-stamping schemes was presented by Buldas, Saarepera[14] in 2004. There is an explicit upper bound N 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[15] 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[16] 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 N to \sqrt{N}.

The hash functions used in the secure time-stamping schemes do not necessarily have to be collision-resistant[17] or even one-way;[18] 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.

Hash tree based linking scheme

At the illustration above hash tree based time-stamping system works in rounds (t, t+1, t+2, ...), with one aggregation tree per round. Capacity of the system (N) is determined by the tree size (N=2^l, where l 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[edit]

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.

OpenKSI working group is working on a set of specifications for Keyless Signature Infrastructure, an infrastructure used for generating keyless signatures, which are a combination of linking-based timestamps and server-based signatures .[19]

See also[edit]

Some free implementations:

Some commercial implementations:

References[edit]

  1. ^ Buchmann, J.; Dahmen, E.; Szydlo, M. (2009). "Hash-based Digital Signature Schemes". Post-Quantum Cryptography. p. 35. doi:10.1007/978-3-540-88702-7_3. ISBN 978-3-540-88701-0.  edit
  2. ^ See ISO/IEC 18014-1:2002 Chapter 4.2
  3. ^ For example see XAdES-A.
  4. ^ Haber, S.; Stornetta, W. S. (1991). "How to time-stamp a digital document". Journal of Cryptology 3 (2). doi:10.1007/BF00196791.  edit
  5. ^ Benaloh, Josh; de Mare, Michael (1991). "Efficient Broadcast Time-Stamping". Technical Report 1. Clarkson University Department of Mathematics and Computer Science. 
  6. ^ 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. 
  7. ^ 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. doi:10.1007/3-540-48285-7_24. ISBN 978-3-540-57600-6.  edit
  8. ^ http://www.surety.com/
  9. ^ 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. doi:10.1145/266420.266430. ISBN 0897919122.  edit
  10. ^ Buldas, A.; Laud, P.; Lipmaa, H.; Villemson, J. (1998). "Time-stamping with binary linking schemes". LNCS. Lecture Notes in Computer Science 1462: 486. doi:10.1007/BFb0055749. ISBN 3-540-64892-5.  edit
  11. ^ Buldas, Ahto; Lipmaa, Helger; Schoenmakers, Berry (2000). "Optimally Efficient Accountable Time-Stamping". LNCS 1751: 293–305. doi:10.1007/b75033. 
  12. ^ http://chronos.univ-pau.fr/
  13. ^ Blibech, K.; Gabillon, A. (2006). "A New Timestamping Scheme Based on Skip Lists". Computational Science and Its Applications - ICCSA 2006 (PDF). Lecture Notes in Computer Science 3982. p. 395. doi:10.1007/11751595_43. ISBN 978-3-540-34075-1.  edit
  14. ^ Buldas, Ahto; Saarepera, Märt (2004). "On Provably Secure Time-Stamping Schemes". LNCS 3329: 500–514. doi:10.1007/b104116. 
  15. ^ 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.  edit
  16. ^ Buldas, A.; Laur, S. (2007). "Knowledge-Binding Commitments with Applications in Time-Stamping". LNCS. Lecture Notes in Computer Science 4450: 150–165. doi:10.1007/978-3-540-71677-8_11. ISBN 978-3-540-71676-1.  edit
  17. ^ Buldas, A.; Jürgenson, A. (2007). "Does Secure Time-Stamping Imply Collision-Free Hash Functions?". LNCS. Lecture Notes in Computer Science 4784: 138–150. doi:10.1007/978-3-540-75670-5_9. ISBN 978-3-540-75669-9.  edit
  18. ^ 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. doi:10.1007/11767480_4. ISBN 978-3-540-34703-3.  edit
  19. ^ http://www.openksi.org/refer/