ietf-openpgp
[Top] [All Lists]

Re: [openpgp] Dealing with clock skew

2019-11-16 17:06:27


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

<Prev in Thread] Current Thread [Next in Thread>