Show HN: Seal – Verifiable timestamp for your private ideas
docs.planet.ink
docs.planet.ink
https://datatracker.ietf.org/doc/html/rfc3161
Many large certificate issuing orgs run timestamping authority servers. Tools like Java jarsigner, Adobe Acrobat, and many other tools are designed to work with them. Search for "rfc3161".
This is enough, independent of whether or not it happened after any of the certificates involved have expired. I don't think most consider total "key compromise" (of the 3rd party timestamping cert + the code signing cert) part of the threat model... but if there was an issue either could be revoked at a specific point in time. (Mentioning algorithm compromise takes away from your argument, when that happens entire segments of PKI get tossed.)
https://knowledge.digicert.com/generalinformation/INFO1119.h...
A user’s software can distinguish between code signed with an expired certificate that should not be trusted and code that was signed with a Certificate that was valid at the time the code was signed but which has subsequently expired.
Otherwise there's no viable way to actually use timestamping, or your archived timestamped files would just randomly become untrustworthy. Keeping the signature valid using a timestamp (and giving the timestamp special standing) means you can still trust something like a Windows XP installer 20 years later without needing to save a hash ahead of time (and without worrying the hash you saved elsewhere was maliciously changed to fit the changed file).
This is simply not true.
More precisely, it depends on the definition of "valid", but conventionally the death of a notary doesn't invalidate their notarizations.
Of course, after a risk assessment you may still decide to treat an expired signature (timestamp) as valid in a concrete case, but it would be a questionable practice to do so in general for an automated validation procedure. It would effectively mean that you ignore the expiration date of certificates and treat them as being valid indefinitely. Those expiry dates exist precisely to contain the risk of fraudulent key use. Accepting signatures after certificate expiration without having proof of when the signatures were created completely undermines that mechanism.
An additional issue is that CAs are not required to maintain and publish revocation information (via CRL/OCSP) for expired certificates, which means that in general you lose the ability to even check the certificate for revocation. This is why AdES formats provide the ability to store revocation information with the signature (and also timestamps). Of course, to make use of revocation information you have to validate the CRL/OCSP signatures, which in the long run again requires adding timestamps covering those.
Or, as parent mentioned ("conventionally"): standard practice.
Yes, if you have nothing in place to update and check CRLs and transition away from SHA1, you're gonna have a bad time. Is that the clarification you're trying to make? It's not like expiration vs. revocation hasn't been considered:
https://social.technet.microsoft.com/Forums/ie/en-US/405be5d...
certificates remain in the CRL indefinitely - Code Signing and Kernel Code Signing
1. My project got politely asked to not use the ct log and lets encrypt infra this way. Since you are only doing it every 12 hours you might be ok.
2. Sigstore[2] seems like it might be a good match and their infra is designed for lots of small fast one off sigs.
[1]: https://merklecounty.substack.com/p/rget-a-secure-download-u...
[2]: https://sigstore.dev
https://en.wikipedia.org/wiki/Trusted_timestamping#Trusted_(...
I've been using opentimestamps/ots for a few years now. It can be used to show a specific version of a file existed as early as the proof date. Unfortunately the only other value seems to be showing that if you had doctored a file then that happened at least as early as the timestamp and not later.
For practical purposes DKIM signatures in emails would do the trick.
Write an email to yourself, or to someone you trust, its DKIM will include the timestamp and it can be verified publicly.
The fact that it allows to verify the authenticity of leaked emails is only a small and not necessarily negative side-effect.
If so, I could definitely see people noting every conceivable idea they can imagine to claim rights later
... Otherwise, is it because I don't trust my past self to be accurate?
Or to prove to 3rd parties you absolutely did what you said you did at a time? In which case it's not private.
Other than that, I can't really see a need for this that is for private use.
Or only publish a hash that used some collision-resistant function (future proof), and then publish the text that matches the hash later. For this, you can just tweet it, or write it into a HN comment.
$2a$12$0qd0ztFAO5XAjQ.HRDMxjeS3n6tsemeHfWfWO0MIBR0mwFfmyp2RO
These newspapers tend to be archived all over the world by multiple people, and are another way to provide proof that something was published by a certain date.
Inventing something first no longer matters in patent law.
- https://en.wikipedia.org/wiki/Linked_timestamping
- https://www.vice.com/en/article/j5nzx4/what-was-the-first-bl...
The company in the second link: http://www.surety.com/
I don't see the need to build new tech though. It should be trivial to build a CRUD layer over git repo (which uses a merkle tree DAG) - and you get public logs to boot, including simple hosting and wide tooling. Immutable commits maintained in a public tree. This could also be combined with the above hack (using commit id).
e.g. git commit --date="10 day ago" -m "Your commit message"
Also, I'm not aware of any public host that does not do garbage collection. But even if that were the case, you still need to trust whatever the repository host is.
shasum -a 512 filewithtimestamp.txt
This approach uses LE as a trusted third party. The date on the cert is valid if you trust letsencrypt.