https://timestampit.com is a new service that offers a new kind of Trusted Timestamp to the public. Trusted Timestamps are a cryptographically signed timestamp so they can not be forged or altered. TimestampIt! offers Trusted Timestamps that are based on human readable plain-text and that can be parsed and verified using standard open-source tools.
This new GitHub Action makes it very easy to create Trusted Timestamps for any git repo on GitHub, whether it is public or private. These Trusted Timestamps protect your code inventions by proving when the code was actually pushed or merged on GitHub. Unlike regular git commits, they can not be backdated.
https://github.com/timestampit/action_test/tree/trusted_time... is an example repo with this GitHub Action setup. The trusted_timestamps branch contains the Trusted Timestamps for the code on the main branch, as well as a verify_repo_timestamp.sh script for verifying the Trusted Timestamps.
I built TimestampIt! as an exploration of using cryptography to prove what is true. Adding this GitHub Action seemed like a perfect application for Trusted Timestamps, especially for repos that are creating original code.
1. What would happen in the event when the private key was leaked? Is there any scenario for invalidating or rotating keys?
2. For verifying the proof file, it seems like the URL for obtaining the signature key[1] is read directly off the proof file[2]. Wouldn’t that allow an attacker to publish proof files that point to their own server, hence allowing the attacker to sign fabricated files and still make them pass the automated validation?
[1]: https://github.com/timestampit/example_clients/blob/cd65e8c8...
[2]: https://github.com/timestampit/example_clients/blob/cd65e8c8...