0

Let's say someone signs a document for long term validation using a certificate issued by a trusted CA. Throughout the following years, the document is timestamped again and again by multiple trusted TSA.

Now we project ourselves in a distant future, ie 40 years from now. The original CA is long gone, out of business. I can certainly validate the integrity of the original signature, by going through and validating the timestamps chain. But how can I be sure that the signer certificate was really issued by the same CA that was trusted many years ago, but has since disappeared ? Should I have kept a copy of the CA certificate from the time it was active, and trusted, and preserve its integrity using timestamps ? Would have this bring any more trust in the validation ?

Edited for clarification:

Lets have 2 docs D1 and D2. Both contains a valid signature S1 and S2, and both were timestamped with Trusted TSAs (could be the same TSAs!). The only difference is S1 certificate was issued from CA1 and S2 certificate was issued from CA2. From an integrity point of view, everything is valid. From an origin point of view, 40 years ago, when both documents were signed, we only trusted CA1. CA1 and CA2 now no longer exists. How can I make sure, without doubt, D1 is a document I trust (because it was signed a a time we trusted CA1), and D2 a document I don't trust.

Maybe this is solved only by timestamping, but I feel I would be trusting the process the document went through, rather than the document itself.

  • 3
    have you looked at blockchain? This looks like the type of problem that would have been handled by that process. – jhash Oct 26 '15 at 21:16
  • Yes, regularly publishing our trusted issuers in something like proofofexistence.com (which uses Bitcoin's blockchain) would work and allow, at any time in the future, to validate the trusted origin of a signed document at any point in the past. Is there anything like this but specifically for long term CA trust validation ? An initiative somewhere ? – Mathieu Fortin Nov 2 '15 at 16:40
  • I came to think of Factom's proof-of-process mechanism that's blockchain based. – Natanael Nov 30 '15 at 14:52
1

You don't need to validate every signature if each TSA, before adding its time stamp, validates the previous signature. So TSA 1 validates the initial document checking the validity of the initial CA. Then TSA 2 validates the signature of TSA 1. As this signature covers the entire document, we know that the document hasn't been changed. Then TSA 3 validates the the signature done by TSA 2. As this includes everything, including the signature of TSA 1, we know that there's been no tampering. This carries on all the way through TSA N. Each TSA only needs to validate the previous signature. When you eventually receive the document, all you need to do is validate the signature done by TSA N and you'll be guaranteed that nothing has been changed.

One interesting aspect of this data structure is that even if a TSA's private key becomes exposed, as long as that exposure occurs after the next signature is applied, the security of the document is not jeopardized. Specifically, if TSA I's key is exposed after TSA I+1 has signed the document, integrity is maintained.

As @jhash points out, this is a block chain that has become popularized by Bitcoin.

  • I agree and understand, integrity will be preserved with timestamps. But integrity is not the issue in my scenario. The issue is the origin. How can I be sure that the CA that issued the original signature certificate (here, the original document signer) is really the same as the one which was trusted at that time. It could looks like the same CA, sharing the same name. – Mathieu Fortin Oct 27 '15 at 1:16
  • I may be going over my head, but continuing with the blockchain comparison, I am looking for something like a "blockchain of trust stores" on which anyone/org could publish to the blockchain who they are trusting. Any signature's certificate chain could then be validated against the block chain at any point in time. – Mathieu Fortin Oct 27 '15 at 1:39
  • 1
    Certificate Transparency mechanisms might apply there. A way to show that at that given point in time it was trusted. – Natanael Oct 27 '15 at 10:59
  • @Natanael interesting mention of Certificate Transparency. Maybe you could add an answer detailing how Certificate Transparency could be applied in the context of my scenario ? – Mathieu Fortin Oct 27 '15 at 14:51
  • As long as the previous signature is verified before being signed by the next TSA, you are guaranteed that all the signatures, including the first one, were valid at the time of signing by a TSA. I believe this is as good as keeping all certs that were used in signing around and validating them all. Are you looking for a greater level of certainty than that? If so, what? Perhaps I'm confused. – Neil Smithline Oct 27 '15 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.