The solution does not require synchronized time, but the clocks are assumed to be relatively synchronized meaning that they are running on a relatively equal frequency.
All timestamps are represented with a 32 bit value containing seconds
since the epoch11.2.
Timestamps are at first recorded as
where
is the
local timestamp and
is the remote timestamp received through
the timestamp exchange.
When receiving a signature message, a certain slack
in the calculated
timestamp difference is allowed. This means that a signature message with a
verified digest and a timestamp difference
so that
where
is the stored timestamp difference of the sender, is
considered a verified signature message.
To compensate for a possible skew between clocks, the timestamp
difference is recalculated for every received and verified signature
message. The difference is recalculated as
where
is the recorded timestamp difference and
is the difference
calculated based on the received timestamp.
Andreas 2004-07-29