[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Untrusting a Trusted Third Party: TSA.
Alfonso - The instant of trust for the issuance of the time stamping token
happens when
the token is verified. At this instant the TSA can easily return a
commentary to the questioning client that its clocks drifted xy and z amount
and as such the relying party can take the testimony of the TSA as being
that the actual time the incident happened was XY and Z + drift_value.
There is nothing anywhere that says that the TST itself is the testimony of
the TSA, just the token to prove that some TS was actually issued - i.e its
a receipt and not a very good one. This is an important concept and is
crucial to many many use models.
Todd
----- Original Message -----
From: "Alfonso De Gregorio" <agregorio@xxxxxxx>
To: <ietf-pkix@xxxxxxx>
Sent: Thursday, September 13, 2001 5:30 AM
Subject: Untrusting a Trusted Third Party: TSA.
>
> Hi Everyone,
>
> The following consideration is quite obvious; however, it's intriguing
> to see how the TSP allows a user to perform a simple test against a
> TSA that he doesn't trust anymore.
>
> Assume a user is afraid that a TSA is issuing time-stamp tokens while
> not in synchronization with UTC; after all if a TSA use a trustworthy
> source of time and include a trustworthy time value for each time-stamp
> token is not necessarily ensuring that the clock doesn't drift outside
> the declared accuracy (this is addressed in ETSI - STF 178-T1 draft H).
>
> The test
> The ordering of time-stamp tokens issued by different TSAs is only
> possible when the _absolute value_ (*) of the difference between the
> genTime of the first time-stamp token and the genTime of the second
> time-stamp token is greater than the sum of the accuracies of the
> genTime for each time-stamp token.
>
> *) partially contrarywise to what is asserted in section 2.4.2 of rfc3161.
>
> TSA-1: the tsa not trusted anymore by alice
> TSA-2..TSA-3: tsa still trusted by alice
>
> 1. Alice send a TimeStampReq to TSA-1 (TSA1Req) where
> TimeStampReq.messageImprint is simply an hash of a document kept
> secret (Alice_doc);
> 2. Upon receiving the response (TSA1Response), Alice hash the received
> time-stamp token ( hash(TSA1Response) ) and send as quickly as possible
> a time-stamp request to TSA2 (TSA2Req), where
> TimeStampReq.messageImprint is hash(TSA1Response);
> 3. if the absolute value of the difference of the first time-stamp token
> and the genTime of the second time-stamp token ( abs(x) ) is greater
> than the sum of the accuracies of the genTime for each time-stamp
> token, Alice can order the two tokens; but for a positive value of
> the difference we have a consistent chain of time-stamp
> request/response, and for a negative a contradictory result.
>
> x = TSA2Response.genTime - TSA1Response.genTime;
> while abs( x ) > (TSA2Response.accuracy + TSA1Response.accuracy)
> if x > 0 --> TSA2Resoponse follows TSA1Response
> if x < 0 --> TSA2Response is _antecedents_ to TSA1Response
>
> Alice can prove the opposite showing the chained sequence of time-stamp
> requests:
> a. Alice_doc
> b. TSA1Response.TSTInfo.messageImprint = hash(Alice_doc)
> c. TSA2Response.TSTInfo.messageImprint(hash(TSA1Response))
>
>
> Sincerely,
> alfonso
>