Deniable encryption

From Wikipedia, the free encyclopedia

In cryptography, deniable encryption is encryption that allows its user to deny the fact that he or she encrypted a message s/he actually did encrypt. Normally ciphertexts commit to a given plaintext and hence the encryption user cannot claim that he encrypted a different message. Deniable encryption allows its user to point to a different (innocuous but plausible) plaintext and insist that that is what she encrypted. The holder of the ciphertext will not have the means to differentiate between the true plaintext, and the bogus-claim plaintext. In other words, deniable encryption allows an encrypted message to be decrypted to different sensible plaintexts, depending on the key used or otherwise makes it impossible to prove the existence of the real message without the proper encryption key. This allows the sender to have plausible deniability if compelled to give up his or her encryption key. The notion of "deniable encryption" was introduced by Julian Assange & Ralf Wiennmann in the Rubberhose filesystem[1] and explored in detail in a paper by Ran Canetti, Cynthia Dwork, Moni Naor, and Rafail Ostrovsky[2] in 1996.

Contents

[edit] Scenario

Deniable encryption allows the sender of an encrypted message to deny sending that message. This requires a trusted third party. A possible scenario works like this:

  1. Alice sends a pre-chosen key to Bob and a different pre-chosen key to Trent, the trusted third party. The keys are constructed for the purposes of deniable encryption.
  2. Alice constructs a ciphertext (intended to be decrypted by a one-time pad), such that Bob's key will decrypt a harmful message (e.g. instructions on how and when to rob a bank, while Alice tells the bank that someone will try to rob them) and such that Trent's key will decrypt it to a harmless message.
  3. Alice sends the ciphertext to Bob, who tries to rob the bank and gets arrested.
  4. Bob claims that Alice told him to rob the bank, but Alice denies this. To prove her innocence, she can send Trent the same ciphertext (Bob can verify that it is the same ciphertext Alice sent him) and Trent will decrypt it to the harmless message. Trent, being a disinterested third party, is above suspicion, so an adjudicator will believe him over Bob.

Another possible scenario involves Alice sending the same ciphertext to Bob and Carol, to whom she has sent different keys. Bob's key could decrypt the ciphertext to a claim that Carol has maligned Bob, and Carol's key could decrypt the ciphertext to a claim that Bob has maligned Carol. Under the assumption that neither Bob nor Carol can find out each other's keys, Alice's ruse would never be discovered. The same is true of the bank-robbing scenario, except that Bob would understand that Alice had tricked him somehow, but no one would believe him over Trent.

[edit] Modern forms of deniable encryption

Modern mainstay ciphersystems do not offer deniability because they all use a small key. If the key is as large as the message it may offer total deniability meaning that any plaintext the size of the ciphertext may be fitted with a proper key. For shorter keys the deniability is more limited. Hence modern ciphersystems where the key can grow in size without imposing a computational penalty do offer deniability. (e.g. US patent 6,823,068 'Denial cryptography based on graph theory'). Modern deniable encryption techniques exploit the pseudorandom permutation properties of existing block ciphers, making it cryptographically infeasible to prove that the ciphertext is not in fact random padding data generated by a cryptographically secure pseudorandom number generator. This is used in combination with some decoy data that the user would plausibly want to keep confidential that will be revealed to the attacker, claiming that this is all there is. This form of deniable encryption is sometimes referred to as "steganographic encryption".

A prototypical example of deniable encryption is a cryptographic filesystem that employs a concept of abstract "layers", where each layer would be decrypted with a different encryption key. Additionally, special "chaff layers" are filled with random data in order to have plausible deniability of the existence of real layers and their encryption keys. The user will store decoy files on one or more layers while denying the existence of others, claiming that the rest of space is taken up by chaff layers. Physically, these types of filesystems are typically stored in a single directory consisting of equal-length files with filenames that are either randomized (in case they belong to chaff layers), or cryptographic hashes of strings identifying the blocks. The timestamps of these files are always randomized. Examples of this approach include Rubberhose filesystem and PhoneBookFS.

Another approach utilized by some conventional disk encryption software suites is creating a second encrypted volume within a container volume. The container volume is first formatted by filling it with random data, and then initializing a filesystem on it. The user then fills some of the filesystem with legitimate, but plausible-looking decoy files that the user would seem to have an incentive to hide. Next, a new encrypted volume (the hidden volume) is allocated within the free space of the container filesystem which will be used for data the user actually wants to hide. Since an adversary cannot differentiate between encrypted data and the random data used to initialize the outer volume, this inner volume is now undetectable. Concerns have however been raised for the level of plausible deniability in hiding information this way – the contents of the "outer" container filesystem (in particular the access or modification timestamps on the data stored) could raise suspicions as a result of being frozen in its initial state to prevent the user from corrupting the hidden volume. This problem can be countered by instructing the system not to protect the hidden volume, although this could result in lost data. Examples of this approach include FreeOTFE, TrueCrypt and BestCrypt.

Needless to say, insecure block ciphers or pseudorandom number generators can make it possible to compromise the deniability of such filesystems. To escape the assumption that the used pseudorandom number generation is cryptographically secure, it has been advised to instead fill the encrypted space with pseudorandom data, thus being protected by the encryption key.[3] In addition to that, the flawed use of block cipher modes of operation can also compromise the cipher algorithm due to watermarking attacks.[4]

[edit] Malleable encryption

Some in-transit encrypted messaging suites, such as Off-the-Record Messaging, offer malleable encryption which gives the participants plausible deniability of their conversations. While malleable encryption is not technically "deniable encryption" in that its ciphertexts do not decrypt into multiple plaintexts, its deniability refers to the inability of an adversary to prove that the participants had a conversation or said anything in particular.

This is achieved by the fact that all information necessary to forge messages is appended to the encrypted messages – if an adversary is able to create digitally authentic messages in a conversation (see HMAC), he is also able to forge messages in the conversation. This is used in conjunction with perfect forward secrecy to assure that the compromise of encryption keys of individual messages does not compromise additional conversations or messages.

[edit] Software

[edit] See also

[edit] Notes and references

  1. ^ See http://iq.org/~proff/rubberhose.org/. Retrieved on 2007-07-08.
  2. ^ Ran Canetti, Cynthia Dwork, Moni Naor, Rafail Ostrovsky (1996-05-10). "Deniable Encryption" (PostScript). Lecture Notes in Computer Science volume 1294: pages 90–104. 
  3. ^ FreeOTFE documentation on Plausible Deniability. Retrieved on 2006-08-23.
  4. ^ Adal Chiriliuc (2003-10-23). "BestCrypt IV generation flaw". Retrieved on 2006-08-23.
  5. ^ See its documentation section on "Plausible Deniability")
  6. ^ TrueCrypt - Free Open-Source On-The-Fly Disk Encryption Software for Windows Vista/XP, Mac OS X, and Linux - Hidden Volume