critical. In this paper, we focus on structured P2P over-
lays, and more specifically in Kademlia (Maymounkov
and Mazi
`
eres, 2002) networks, due to the many desired
features and their practical impact, with BitTorrent (Co-
hen, 2013) and IPFS (Benet, 2014) both being based on
this design.
The distributed nature of P2P systems introduces
susceptibility to a series of attacks that aim at disrupting
their storage, service quality, consistency, behaviour,
or overall operability of the network. Examples of the
most prominent attacks include routing table poisoning
(Locher et al., 2010), flooding (Zargar, Joshi and Tipper,
2013), eclipse (Singh et al., 2004), and Sybil (Douceur,
2002) attacks. Certain threats, such as Sybil and eclipse
attacks, are based on malicious control of identifiers. The
absence of a central authority makes authentication in
decentralised peer-to-peer overlays inherently difficult.
Secure, verifiable, and limited node identities are essential
for preventing attackers from forging node identities and
staging subsequent attacks.
The Sybil attack defined by Douceur (2002) is based
on the concept of inserting a node into a P2P network
multiple times, each time with a different identity. The
goal of Sybil attack might range from enabling other
attacks to disrupting the network connectivity, or even
effect majority decisions in consensus protocols. Levine,
Shields and Margolin (2006) categorise approximately
90 approaches that have been proposed as defense mech-
anisms against Sybil attacks. These fall into categories
such as: trusted certification, resource testing, no solu-
tion, recurring costs and fees and trusted devices. A
running theme among these approaches is the idea that
without a central trusted authority that certifies peers’
identities, there is no realistic approach to prevent Sybil
attacks. Resource-testing based approaches mandate
that all peers—even highly-constrained ones—have to
spend a certain amount of resources, such as a proof-of-
work (PoW) to have the network accept them. Given the
heterogeneous distribution of computing power, storage
and bandwidth in today’s diverse device landscape and
the cheap availability fo cloud computing, the utility of
such approaches is questionable (Pr
¨
unster et al., 2018).
Eclipse attacks (Singh et al., 2004), on the other hand,
target a node or a specific group of nodes and try to isolate
(or ’eclipse’) them by populating their first-hop neighbor
set. The goal is to control a victim’s neighbours as wells
as incoming and outgoing traffic. Attackers might first
stage a Sybil attack in order to create seemingly distinct
malicious nodes around attack targets, or directly mount
an eclipse attack using a small set of malicious nodes.
Various countermeasures have been proposed to en-
hance the resiliency of P2P overlays against eclipse
attacks. Baumgart and Mies (2007) propose a mitigation
mechanism against, amongst others, eclipse attacks, on
Kademlia networks. They base their proposal on self-
certifying identifiers combined with proof-of-work-based
identifier generation and disjoint key lookup paths. Their
cryptographic scheme for signatures used to authenticate
their nodes relies either on a crypto puzzle, or a central
certificate authority. The latter is required since their se-
curity model is based on effective defences against Sybil
attacks. Other similar strategies against eclipse attacks
base their mitigation schemes on a centralized encryption
authority. For example, Castro et al. (2002) solve the
problem of secure node ID assignment by making use
of a set of central trusted authorities (CAs) to assign
and sign node IDs when joining the network. Likewise,
Fantacci et al. (2009) enhance the Kademlia architecture
and protocol by employing external certification services
to bind node IDs to a public key in a token.
Some of the proposed mitigation approaches pose
additional structural or proximity constraints on neigh-
bour selection. Nonetheless, they still rely on a trusted
authority for the issuance of unique node IDs. Hildrum
and Kubiatowicz (2003) propose to defend P2P sys-
tems against eclipse attacks by enforcing neighbour
node selection based on the minimum network delay.
However, these approaches negatively affect the perform-
ance by introducing additional overheads and impeding
optimisations.
Having provided an overview about peer-to-peer
security measures, we now discuss Android security, as
the second pillar of our approach.
2.1 Android as Trusted Computing
Base
Since Android security in general has been discussed
extensively in existing literature and is well documented
by Google, we only recap the basics and focus on recent
features, such as key attestation, that elevate Android
smartphones to a trusted computing base (TCB).
2.1.1 Android Security
To prevent applications from accessing arbitrary data, the
Android operating system uses sandboxing in combina-
tion with mandatory access control. The former concept
is realised by assigning a unique user ID to each pro-
cess, while the latter relies on SELinux (Android Source,
2019b). As sandboxing is implemented purely in soft-
ware, a compromised or altered OS (like a custom ROM)
allows for circumventing these restrictions. With the
introduction of Trusty (Android Source, 2019c) Google
has taken action to prevent access to cryptographic keys
in such scenarios by relying on trusted hardware.
Since Trusty is a trusted execution environment (TEE)
designed to perform only predefined tasks, it is isolated
Master of Puppets: Trusting Silicon in the Fight for Practical Security in Fully Decentralised Peer-to-Peer Networks
253