With the widespread adoption of disk encryption technologies, it has become common for adversaries to employ coercive tactics to force users to surrender encryption keys and other access credentials. For some users, this creates a need for data storage that provides plausible deniability: the ability to deny the existence of sensitive information to avoid coercive tactics that put their safety at risk. Plausibly deniable storage would benefit groups such as human rights advocates relaying sensitive information, journalists covering human rights stories in a war zone, or NGO workers hiding food shipment schedules from militias.
Most previous systems rely on some form of steganography to conceal sensitive information among innocuous-appearing data on a user’s storage device. To accomplish this, they often utilize the unallocated space on a disk to conceal a plausibly deniable hidden volume. Previous approaches all exhibit major design weaknesses stemming from flawed assumptions in their design, like the assumption that the presence of the driver software used to run a deniable volume would not be suspicious to an adversary. The state of the art also does not present solutions to malware installed by the adversary, and does not explore operational characteristics of their systems. Generally, there is a lack of experimental evaluation and available implementations. As a result of these flawed assumptions and other shortcomings, previous deniable storage systems only offer pieces of an implementable and usable solution.
We have developed a new threat model for plausibly deniable storage, designed a system to counter the adversary described in the threat model, and experimentally evaluated both our design and long-held assumptions integral to previous systems. We have designed and implemented Artifice, a deniable storage system that allows us to evaluate our hypotheses. With Artifice, hidden data blocks are split with an information dispersal algorithm to produce a set of obfuscated carrier blocks that are indistinguishable from other pseudo-random blocks on the disk. The blocks are then stored in unallocated space, possess a self-repair capability, and rely on combinatorial security. We have evaluated the reliability and effectiveness of this approach in protecting the integrity of a hidden volume through theoretical models and empirical evaluation.
Unlike existing and proposed systems, Artifice addresses problems regarding flash storage devices and multiple snapshot attacks through comparatively simple block allocation schemes and operational security. To hide the user’s ability to run a deniable system and prevent information leakage, Artifice stores its driver software separately from the hidden data. We have also designed and implemented the first multiple snapshot attack against a deniable storage system. This attack has been shown to classify the existence of an Artifice volume on a disk under certain circumstances and we used these results to provide recommendations for how a user can deniably modify their device’s characteristics to mitigate the effectiveness of the attack.