is the process of securely
keeping track of the creation and modification time of a document. Security here means that no one—not even the owner of the document—should be able to change it once it has been recorded provided that the timestamper's integrity is never compromised.
The administrative aspect involves setting up a publicly available, trusted timestamp management infrastructure to collect, process and renew timestamps.
The idea of timestamping information is centuries old. For example, when Robert Hooke
discovered Hooke's law
in 1660, he did not want to publish it yet, but wanted to be able to claim priority. So he published the anagram ceiiinosssttuv
and later published the translation ut tensio sic vis
(Latin for "as is the extension, so is the force"). Similarly, Galileo
first published his discovery of the phases of Venus in the anagram form.
The foundations of these operations is evident enough, in fact; but because I cannot proceed with the explanation of it now, I have preferred to conceal it thus: 6accdae13eff7i3l9n4o4qrr4s8t12ux. On this foundation I have also tried to simplify the theories which concern the squaring of curves, and I have arrived at certain general Theorems.
Trusted digital timestamping has first been discussed in literature by Haber and Stornetta.
There are many timestamping schemes with different security goals:
- PKI-based – timestamp token is protected using PKI digital signature.
- Linking-based schemes – timestamp is generated in such a way that it is related to other timestamps.
- Distributed schemes – timestamp is generated in cooperation of multiple parties.
- Transient key scheme – variant of PKI with short-living signing keys.
- MAC – simple secret key based scheme, found in ANSI ASC X9.95 Standard.
- Database – document hashes are stored in trusted archive; there is online lookup service for verification.
- Hybrid schemes – the linked and signed method is prevailing, see X9.95.
Coverage in standards:
For systematic classification and evaluation of timestamping schemes see works by Masashi Une.
Trusted (digital) timestamping
Getting a timestamp from a trusted third party
According to the RFC 3161 standard, a trusted timestamp is a timestamp
issued by a Trusted Third Party
(TTP) acting as a Time Stamping Authority
). It is used to prove the existence of certain data before a certain point (e.g. contracts, research data, medical records, ...) without the possibility that the owner can backdate the timestamps. Multiple TSAs can be used to increase reliability and reduce vulnerability.
The newer ANSI ASC X9.95 Standard
for trusted timestamps
augments the RFC 3161 standard with data-level security requirements to ensure data integrity
against a reliable time source that is provable to any third party. This standard has been applied to authenticating digitally signed data for regulatory compliance, financial transactions, and legal evidence.
Creating a timestamp
The technique is based on digital signatures
and hash functions
. First a hash is calculated from the data. A hash is a sort of digital fingerprint of the original data: a string of bits that is practically impossible to duplicate with any other set of data. If the original data is changed then this will result in a completely different hash. This hash is sent to the TSA. The TSA concatenates a timestamp to the hash and calculates the hash of this concatenation. This hash is in turn digitally signed
with the private key
of the TSA. This signed hash + the timestamp is sent back to the requester of the timestamp who stores these with the original data (see diagram).
Since the original data cannot be calculated from the hash (because the hash function
is a one way function
), the TSA never gets to see the original data, which allows the use of this method for confidential data.
Checking the timestamp
Checking correctness of a timestamp generated by a time stamping authority (TSA)
Anyone trusting the timestamper can then verify that the document was not
the date that the timestamper vouches. It can also no longer be repudiated that the requester of the timestamp was in possession of the original data at the time given by the timestamp. To prove this (see diagram) the hash
of the original data is calculated, the timestamp given by the TSA is appended to it and the hash of the result of this concatenation is calculated, call this hash A.
Then the digital signature
of the TSA needs to be validated. This is done by decrypting the digital signature using public key of TSA, producing hash B. Hash A is then compared with hash B inside the signed TSA message to confirm they are equal, proving that the timestamp and message is unaltered and was issued by the TSA. If not, then either the timestamp was altered or the timestamp was not issued by the TSA.
Decentralized timestamping on the blockchain
With the advent of cryptocurrencies like bitcoin
, it has become possible to get some level of secure timestamp accuracy in a decentralized and tamper-proof manner. Digital data can be hashed and the hash can be incorporated into a transaction stored in the blockchain
, which serves as evidence of the time at which that data existed.
For proof of work
blockchains, the security derives from the tremendous amount of computational effort performed after the hash was submitted to the blockchain. Tampering with the timestamp would require more computational resources than the rest of the network combined, and cannot be done unnoticed in an actively defended blockchain.
However, the design and implementation of Bitcoin in particular makes its timestamps vulnerable to some degree of manipulation, allowing timestamps up to two hours in the future, and accepting new blocks with timestamps earlier than the previous block.
The decentralized timestamping approach using the blockchain has also found applications in other areas, such as in dashboard cameras
, to secure the integrity of video files at the time of their recording,
or to prove priority for creative content and ideas shared on social media platforms.
There is a free and opensource service named OpenTimestamps
that everyone could use to add timestamps into the bitcoin blockchain.
- ^ Haber, S.; Stornetta, W. S. (1991). "How to time-stamp a digital document". Journal of Cryptology. 3 (2): 99–111. CiteSeerX 10.1.1.46.8740. doi:10.1007/BF00196791. S2CID 14363020.
- ^ Une, Masashi (2001). "The Security Evaluation of Time Stamping Schemes: The Present Situation and Studies". IMES Discussion Papers Series 2001-E-18: 100–8630. CiteSeerX 10.1.1.23.7486.
- ^ Jones, Shawn M. (2017-04-20). "2017-04-20: Trusted Timestamping of Mementos". ws-dl.blogspot.de. Retrieved 2017-10-30.
- ^ Gipp, B., Meuschke, N. and Gernandt, A., 2015 "Decentralized Trusted Timestamping using the Crypto Currency Bitcoin." in Proceedings of the iConference 2015. March 2015, Newport Beach, California.
- ^ Boverman, Alex (2011-05-25). "culubas: Timejacking & Bitcoin". culubas. Retrieved 2020-05-30.
- ^ B. Gipp, J. Kosti, and C. Breitinger. 2016. "Securing Video Integrity Using Decentralized Trusted Timestamping on the Blockchain" in Proceedings of the 10th Mediterranean Conference on Information Systems (MCIS), Paphos, Cyprus.
- ^ C. Breitinger, B. Gipp. 2017. "VirtualPatent – Enabling the Traceability of Ideas Shared Online using Decentralized Trusted Timestamping" in Proceedings of the 15th International Symposium of Information Science, Berlin, 2017.
Last edited on 8 August 2021, at 15:16
Content is available under CC BY-SA 3.0
unless otherwise noted.