Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epoch syncronization - servers should report UTC time to devices #135

Open
snakehand opened this issue Apr 11, 2020 · 6 comments
Open

Epoch syncronization - servers should report UTC time to devices #135

snakehand opened this issue Apr 11, 2020 · 6 comments
Labels
protocol Questions about the protocol/cryptography

Comments

@snakehand
Copy link

Synchronizing time on cellular phones can be tricky. Possible reasons, phone not tracking NITZ, Miss-configured NITZ network or timezone, or daylight saving time. Cross border roaming etc etc. I have suggested that (modified) Julian day numbers should be used as a timescale, since this is sufficiently course, and searching matches +/1 day is not cost prohibitive. But for Design 2 a more fine grained epoch might be desirable. Here I suggest that UNIX time UTC be used, divided down by some suitable interval such as 3600 seconds. By agreeing on UTC time, time zones and daylight saving time are not a introduced, however UTC time can still be difficult to establish.

For this reason I suggest that the server protocol includes a UTC timestamp, that can be used to establish an offset between device time and UTC. No fancy NTP protocol should required as accuracy +/- 10 seconds should be acceptable. This offset is then applied to all reading of system time until a new offset is established.

@dirkx
Copy link

dirkx commented Apr 11, 2020

It may be useful to note that a normal HTTP response (e.g. from an Apache web server) contains a gratuit Date: line.

So this can practically be as simple as configuring the server to be well behaved and in UTC - and let the app pick out that header (which can be somewhat trusted once a SSL wrapping and, if needed, the usual hard Certiciate pinning to the CA chain is done at ssl level).

@gardners
Copy link

gardners commented Apr 11, 2020 via email

@dirkx
Copy link

dirkx commented Apr 11, 2020

@gardners not always commonly available on consumer phones. While that header is - and in this scheme you need to contact that server at least once a day anayway to get the list of infected people.

@gardners
Copy link

Understood. My point is really that GPS time can be the most widely available time base, since it is available away from the internet. If the HTTP header line includes the GPS time, that is. This is probably not an unreasonable or difficult burden to achieve.

@lbarman lbarman added the protocol Questions about the protocol/cryptography label Apr 12, 2020
dirkx added a commit to dirkx/DP-3T-Documents that referenced this issue Apr 12, 2020
dirkx added a commit to dirkx/DP-3T-Documents that referenced this issue Apr 12, 2020
@noci2012
Copy link

GPS time might help, just don't assume it is available. (GPS might be disabled due to power / privacy / whatever considerations).
The app would need the right for location access anyway so it probably can just start GPS..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol Questions about the protocol/cryptography
Projects
None yet
Development

No branches or pull requests

5 participants