sdwdate: Secure Distributed Web Date
Time keeping is crucial for security, privacy, and anonymity. sdwdate is a Tor-friendly replacement for rdate and ntpdate that sets the system's clock by communicating via end-to-end encrypted TCP with Tor onion webservers. Chosen time providers are exclusively reputable sources (whistle-blowing and privacy-friendly onion sites) that are highly likely to be hosted on different hardware.
At random intervals, sdwdate connects to a variety of webservers and extracts the time stamps from http headers (see: RFC 2616).
sdwdate vs ntp
Table: sdwdate vs ntp Comparison
|Written in memory-safe language||Yes||No|
|Secure connection by default (authentication and encryption)||Yes||No|
|Gradual clock adjustments||Yes||Yes|
|Functional over Tor||Yes||No |
|Tor not required||No||Yes|
|Client, time fetcher||Yes||Yes|
|Server, time provider||No, not yet||Yes|
|Drop-in config folder||Yes||No|
|Proxy support||Yes||No  |
|Possible to secure by default on GNU/Linux distribution level||Yes||No |
|Optional GUI||Yes, sdwdate-gui (a systray icon)||No|
- Server, time provider
- sdwdate issue tracker: https://phabricator.whonix.org/project/view/6/
sdwdate only connects to Tor onion services, which are encrypted by default and do not rely on SSL certificate authorities (CAs). Three different pools are used for time sources so that if too many connections fail for any given pool,  the pool is considered as potentially compromised and sdwdate aborts.
sdwdate Source Pools
Determining what sources should be trusted it is important issue; this is also a problem with NTP.
The sdwdate pools used by Whonix are based on stable and reliable Tor onion service web servers. The pools are listed in /etc/sdwdate.d/30_default.conf.
The various onion services are categorized into three different pools according to their members' relationship to the members in other pools. For instance, any member in one pool should be unlikely to share logs (or other identifying data), or agree to send fake time information, with a member from the other pools. In basic terms, sdwdate picks three random servers - one from each pool - and then builds the mediate (middle position) of the three advertised dates.
Trusted Time Sources
The links below are listed to keep track of pool candidates:
- site:http://leakdirectory.org onion
- Requires UDP which is unsupported by Tor, see Tor#UDP.
- NTP security vulnerability because not using authentication by default
- See Dev/TimeSync#NTP.
- For example, due to being unreachable or replying with invalid data.
This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.