Enabling Censorship Tolerant Networking
MetadataShow full item record
Billions of people in the world live under heavy information censorship. We propose a new class of delay tolerant network (DTN), known as a censorship tolerant network (CTN), to counter the growing practice of Internet-based censorship. CTNs should provide strict guarantees on the privacy of both information shared within the network and the identities of network participants. CTN software needs to be publicly available as open source software and run on personal mobile devices with real-world computational, storage, and energy constraints. We show that these simple assumptions and system constraints have a non-obvious impact on the design and implementation of CTNs, and serve to differentiate our system design from previous work. We design data routing within a CTN using a new paradigm: one where nodes operate selfishly to maximize their own utility, make decisions based only on their own observations, and only communicate with nodes they trust. We introduce the Laissez-faire framework, an incentivized approach to CTN routing. Laissez-faire does not mandate any specific routing protocol, but requires that each node implement tit-for-tat by keeping track of the data exchanged with other trusted nodes. We propose several strategies for valuing and retrieving content within a CTN. We build a prototype BlackBerry implementation and conduct both controlled lab and field trials, and show how each strategy adapts to different network conditions. We further demonstrate that, unlike existing approaches to routing, Laissez-faire prevents free-riding. We build an efficient and reliable data transport protocol on top of the Short Message Service (SMS) to serve a control channel for the CTN. We conduct a series of experiments to characterise SMS behaviour under bursty, unconventional workloads. This study examines how variables such as the transmission order, delay between transmissions, the network interface used, and the time-of-day affect the service. We present the design and implementation of our transport protocol. We show that by adapting to the unique channel conditions of SMS we can reduce message overheads by as much as 50\% and increase data throughput by as much as 545% over the approach used by existing applications. A CTN's dependency on opportunistic communication imposes a significant burden on smartphone energy resources. We conduct a large-scale user study to measure the energy consumption characteristics of 20100 smartphone users. Our dataset is two orders of magnitude larger than any previous work. We use this dataset to build the Energy Emulation Toolkit (EET) that allows developers to evaluate the energy consumption requirements of their applications against real users' energy traces. The EET computes the successful execution rate of energy-intensive applications across all users, specific devices, and specific smartphone user-types. We also consider active adaptation to energy constraints. By classifying smartphone users based on their charging characteristics we demonstrate that energy level can be predicted within 72% accuracy a full day in advance, and through an Energy Management Oracle energy intensive applications, such as CTNs, can adapt their execution to maintain the operation of the host device.