Better just replace it with tlsdate.
Better just replace it with tlsdate.
Why would anyone need encrypted time synch? I do not understand the privacy implications, UTC is not a secret.
[1]: For example: http://www.nist.gov/pml/div688/grp40/auth-ntp.cfm or https://www.nrc-cnrc.gc.ca/eng/solutions/advisory/calibratio...
[2]: My sure gps puck cost $40. It works with the antenna sitting on the window ledge inside my house.
I do not understand the need for confidentiality.
[1]: http://www.nist.gov/pml/div688/grp40/auth-ntp.cfm
[2]: https://www.nrc-cnrc.gc.ca/eng/solutions/advisory/calibratio...
FYI Stephen Röttger is also the same guy who is a co-author of the two IETF proposals for the successor to autokey; Network Time Security[1] and Crypto Message Syntax for NTS[2].
[1]: https://tools.ietf.org/html/draft-ietf-ntp-network-time-secu...
[2]: https://tools.ietf.org/html/draft-ietf-ntp-cms-for-nts-messa...
Bitcoin relies on more than NTP so it's not a huge vulnerability, but NTP's vulnerability is a headache to many security developers.
https://blog.hboeck.de/archives/863-Dont-update-NTP-stop-usi...
Or can you circumvent certificate revocations this way?
Being able to control he time could theoretically let you control any PRNGs that rely on it.
Ummm, no. NTP normally runs on machines that have a local clock/battery, but which need an established network clock anyway.
> Critical initialization code should probably compare uptime with current epoch time if it needs a random seed for a long-use token.
Using time as a random seed is probably a mistake in the first place. You could perhaps try to add entropy from a clock, but you'd want another source of entropy. Generally crypto code needs network clocks for other things (think of Kerberos ticket expiration).
Are you familiar with something other than NTP as a time source for devices without CMOS? I have a project that desperately needs crypto without a clock.
Yes, there is a bit of a bootstrapping problem, but you can address that with a bootstrapped handshake that sets a clock baseline.
Alternatively, you could just hardwire a radio receiver (like say... a GPS receiver).
There is no problem with using low-resolution time signatures as a cryptographic seed. Using time as an entropy source is only a problem if you sample at a lower resolution than your clock's error rate.
You could also cause expired certificates to be accepted, which limits the utility of short-lived certs as a means of protecting against key compromise.
And as hannob said, you can circumvent HSTS by setting the time in the future, causing all HSTS entries to be expired.
NTP does not sync time. NTP measures time drift across groups of servers, and sprinkles in known time. I'm not saying authentication is useless, you should turn it on for your known time sources, but it's not so simple as you make it out to be.
Unless you use SNTP on your servers. Don't do that. Ever.