document DNS discovery/registration procedures in the security section #127
Description
Currently, the security FAQ does not mention anything about DNS discovery. There's some mention that others in your swarm may know what you download, but those privacy concerns are always toned down by the "key requirement":
Users only connect to other users with the same dat link. Anyone with a dat link can see other users that are sharing that link and their IP addresses.
The document then links to this blog post which explains the various "reader privacy" tradeoffs in p2p architectures, but never explicitly mentions DNS discovery problems in themselves.
I've documented briefly my concerns with the protocol in this review of the protocol, but I will try to explain them here in the form of a Q/A so it can be adapted in the documentation.
Can others see what I do on the Dat network?
When content is shared with Dat, it gets announced on the Mainline DHT, a custom DNS server operated by the Dat project and multicast DNS. Those peer discovery mechanisms all have various tradeoffs that will reveal information to a third party in various ways.
- the DHT discovery will share information with a global swarm of machines operating the DHT. The swarm is decentralized so it is more difficult for an individual attacker to identify patterns but an attacker with a global view of the network might be able to establish correlations between users
- the Dat project running or whoever is contacted through the custom DNS discovery can establish directly when content goes online, from where, who is looking for it, and establish direct correlations between users
- multicast DNS discovery usually operates on the local network, which means an attacker would need to be on the local network to get information about traffic. since that information would be available through other means, no additional privacy concerns are raised here.
In other words, by using the custom discovery DNS mechanism, you are trusting the Dat project to a certain extent.
This could certainly be improved, but I figured I would start with something to get the ball rolling and have a better idea of what I am getting at here.
Thanks!