Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Define privacy threat model for DHTs (and other overlay P2P networks) #3
The idea here is to define a comprehensive privacy threat model for distributed hash tables and similar P2P overlay networks. Focusing on privacy attack surface and metadata leaks of networks that rely on collaboration between peers to resolve and request content in a P2P network. The main goal is to lay the foundation for thinking and designing privacy preserving P2P networks.
It would be interesting to consider a layered threat model. I imagine a world where P2P networks will be the scaffolding for not only for sharing cat pics but also for secure messaging/ secure peer discovery, etc. This means that use cases and users will have different concerns and a different threat model.
scope/ideas to consider:
References to read
 builds on top of the Ricochet protocol to create an asynchronous, metadata resistant group chat protocol. Moreover, it aims at providing a framework to build metadata-resistant applications, which generalises group chat use case.
 defines a metadata resistant application one which do not disclose any information about Who is involved in the communication; Where the participants are communicating from; When did the communication take place; How was did the communication take place; What was the communication about; Apart from these properties, a metadata resistant application should also not leak information about relationships and behavioural patterns of its users.
 evaluates current secure messaging solution and proposes an evaluation and threat model considering 1) security 2) usability and 3) ease-of-adoption properties.
the authors consider the key challenges for secure messaging protocols to be: a) trust establishment, b) conversation privacy c) transport privacy, and studies several protocols in terms of those challenges. Trust establishment consists of ensuring secure distribution of secrets. Conversation security consists of securing communication while it is occurring. Transport privacy consists of hiding communication metadata. Transport privacy is seen as the most difficult problem to solve.
 threat modelling includes 3 types of attackers: 1) local adversaries, who are attackers controlling the local network; 2) global adversaries: attacker controlling large segments of the internet (e.g. governments); and 3) service providers: in the case when the services are centralised to some extent, the service providers are considered potential attackers. These categories of attackers are not mutually exclusive.
 studies several chat protocols and applications security based on the 3 main problem areas when creating a secure chat system: trust establishment and communication and transport privacy. We will focus more on the 3rd problem area, transport privacy, since it is essential for metadata resistance protocols.
Threat model of DHTs - user cases
We can start by defining the threat model from a bird's-eye viewpoint, considering a user perspective and based on hypothetical uses cases. Considering that a user is running a full DHT node capable of routing, requesting and storing data:
Case 1: User wants to download data with
Potential privacy risks:
Case 2: User is interested in serving a certain data and "pins" it.
Potential privacy risks:
Case 3: User is serving (pinning) its own data.
Potential privacy risks
The use cases above are abstracted and general to how DHTs work. Those are the intrinsic privacy leaks in vanilla DHT implementations. In addition to those, some implementations have network specific "sub-protocols" and "sub-systems" that aim at improving scalability, fairness, (etc..) of the network. Unfortunately, those may increase the privacy attack surface. One example is bitswap, which is a data trading protocol that controls how to request and send data blocks between peers (I'm not sure if that's the case for bitswap though, but it is a good example of an addition that may increase the attack surface).