On Nov 16, 2019, at 9:40 AM, Claudio Luck <claudio.luck@pep.foundation> wrote:
If we live in an asynchronous messaging world with no global time
concept, then the sender is free to hand out back-dated signatures. The
receiver can't tell the difference between in-transit delay and
back-dating. This can be used on purpose by the sender to induce some
tolerance at the receiver side.
We do live in that world; it's not an if.
Newton argued for a notion of absolute time, but also conceded Galileo's point
that you can switch frames of reference and have a conversion between them.
Leibniz, on the other hand, argued that space is meaningless except as relative
distance and that time *only* makes sense as an expression of relative motion.
Ernst Mach also had a number of pithy things to say about this, particularly
that even if you have absolute space or time, all math and physics works if you
declare that you're still and the universe is moving or ticking.
I'm especially fond of Poincaré's "The Measure of Time" as he hits not only on
the physical aspects but the experiential ones as well (English translation
here: <https://en.wikisource.org/wiki/The_Measure_of_Time>). Of course,
Einstein tied a bow around all of this in his Special Relativity which flat out
declares what Leibniz gestures toward, that space and time are linked and there
is no preferred frame of reference.
Of course, I can do the same thing towards Einstein that Leibniz and Mach did
and note that if there's no preferred position or clock, I can just declare one
and everything works fine. Operationally, this is what we do with
GPS/atomic/NTP time. We declare that to be our frame of reference.
However, even that breaks down for surprisingly short distances. Network delays
and the consequent "lag" means that you can't establish primacy on most
multiplayer games in a lot of circumstances. This is why lots of them try to
avoid situations where jumping around corners etc. are easy to cheat at. This
is exactly the same problem you're talking about. There are a lot of
interesting papers, but here's one that is precisely trying to create an
absolute frame of reference, "Lag Compensation for First-Person Shooter Games
in Cloud Gaming"
<https://link.springer.com/chapter/10.1007/978-3-319-90415-3_5>. Note that
they're not doing any mathematical security (like signatures) here, this is all
trusting the network. They have this problem because it is inherent to any
system that has space and time involved with it.
In the general case, you can't consider a time measurement to be a scalar, it
has to be at the very least a complex number of the form [time, skew]. As Derek
noted, Kerberos used a skew of five minutes. While Neal Walfield noted in his
original post that he's seen skew of 20min, I concur that that seems a bit
long. My naive home set-up commonly has alarms across devices being ±2s or
less, but that's because they're all getting time from some combination of NTP
and cellular network time, which is ultimately GPS time (and of course, skew).
I think five minutes is likely reasonable, but *some* skew is unavoidable.
Moreover, anyone who's on satellite networks is seeing latency of over a second
and once you throw in normal exponential backoff, five minutes seems about as
short as is reasonable.
Thus, you're absolutely right, if time is a scalar, then someone can cheat.
There are situations (like real-time internet games) where the exact problem
you mention, that someone can hide cheating in the skew is a well-known,
unsolvable problem.
Jon
_______________________________________________
openpgp mailing list
openpgp(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/openpgp