Jump to content

Deniable encryption

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Renamed user 0e40c0e52322c484364940c7954c93d8 (talk | contribs) at 04:17, 30 June 2024 (selfred). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In cryptography and steganography, plausibly deniable encryption describes encryption techniques where the existence of an encrypted file or message is deniable in the sense that an adversary cannot prove that the plaintext data exists.[1]

The users may convincingly deny that a given piece of data is encrypted, or that they are able to decrypt a given piece of encrypted data, or that some specific encrypted data exists.[2] Such denials may or may not be genuine. For example, it may be impossible to prove that the data is encrypted without the cooperation of the users. If the data is encrypted, the users genuinely may not be able to decrypt it. Deniable encryption serves to undermine an attacker's confidence either that data is encrypted, or that the person in possession of it can decrypt it and provide the associated plaintext.

In their pivotal 1997 paper, Canetti, Dwork, Naor, and Ostrovsky introduced the concept of deniable encryption, a cryptographic breakthrough that ensures privacy even under coercion. This concept allows encrypted communication participants to plausibly deny the true content of their messages. Their work lays the foundational principles of deniable encryption, illustrating its critical role in protecting privacy against forced disclosures. This research has become a cornerstone for future advancements in cryptography, emphasizing the importance of deniable encryption in maintaining communication security.[3]

Function

Deniable encryption makes it impossible to prove the origin or existence of the plaintext message without the proper decryption key. This may be done by allowing an encrypted message to be decrypted to different sensible plaintexts, depending on the key used. This allows the sender to have plausible deniability if compelled to give up their encryption key. The notion of "deniable encryption" was used by Julian Assange and Ralf Weinmann in the Rubberhose filesystem[4][2] and explored in detail in a paper by Ran Canetti, Cynthia Dwork, Moni Naor, and Rafail Ostrovsky[3] in 1996.

Scenario

In some jurisdictions, statutes assume that human operators have access to such things as encryption keys. An example is the United Kingdom's Regulation of Investigatory Powers Act,[5][6] which makes it a crime not to surrender encryption keys on demand from a government official authorized by the act. According to the Home Office, the burden of proof that an accused person is in possession of a key rests on the prosecution; moreover, the act contains a defense for operators who have lost or forgotten a key, and they are not liable if they are judged to have done what they can to recover a key.[5][6]

In cryptography, rubber-hose cryptanalysis is a euphemism for the extraction of cryptographic secrets (e.g. the password to an encrypted file) from a person by coercion or torture[7]—such as beating that person with a rubber hose, hence the name—in contrast to a mathematical or technical cryptanalytic attack.

An early use of the term was on the sci.crypt newsgroup, in a message posted 16 October 1990 by Marcus J. Ranum, alluding to corporal punishment:

...the rubber-hose technique of cryptanalysis. (in which a rubber hose is applied forcefully and frequently to the soles of the feet until the key to the cryptosystem is discovered, a process that can take a surprisingly short time and is quite computationally inexpensive).[8]

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. Bob suspects his wife Alice is engaged in adultery. That being the case, Alice wants to communicate with her secret lover Carl. She creates two keys, one intended to be kept secret, the other intended to be sacrificed. She passes the secret key (or both) to Carl.
  2. Alice constructs an innocuous message M1 for Carl (intended to be revealed to Bob in case of discovery) and an incriminating love letter M2 to Carl. She constructs a cipher-text C out of both messages, M1 and M2, and emails it to Carl.
  3. Carl uses his key to decrypt M2 (and possibly M1, in order to read the fake message, too).
  4. Bob finds out about the email to Carl, becomes suspicious and forces Alice to decrypt the message.
  5. Alice uses the sacrificial key and reveals the innocuous message M1 to Bob. Since it is impossible for Bob to know for sure that there might be other messages contained in C, he might assume that there are no other messages.

Another scenario involves Alice sending the same ciphertext (some secret instructions) to Bob and Carl, to whom she has handed different keys. Bob and Carl are to receive different instructions and must not be able to read each other's instructions. Bob will receive the message first and then forward it to Carl.

  1. Alice constructs the ciphertext out of both messages, M1 and M2, and emails it to Bob.
  2. Bob uses his key to decrypt M1 and isn't able to read M2.
  3. Bob forwards the ciphertext to Carl.
  4. Carl uses his key to decrypt M2 and isn't able to read M1.

Forms of deniable encryption

Normally, ciphertexts decrypt to a single plaintext that is intended to be kept secret. However, one form of deniable encryption allows its users to decrypt the ciphertext to produce a different (innocuous but plausible) plaintext and plausibly claim that it is what they encrypted. The holder of the ciphertext will not be able to differentiate between the true plaintext, and the bogus-claim plaintext. In general, one ciphertext cannot be decrypted to all possible plaintexts unless the key is as large as the plaintext, so it is not practical in most cases for a ciphertext to reveal no information whatsoever about its plaintext.[9] However, some schemes allow decryption to decoy plaintexts that are close to the original in some metric (such as edit distance).[10]

Modern deniable encryption techniques exploit the fact that without the key, it is infeasible to distinguish between ciphertext from block ciphers and data generated by a cryptographically secure pseudorandom number generator (the cipher's pseudorandom permutation properties).[11]

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 is a form of steganography.[citation needed]

If the user does not supply the correct key for the truly secret data, decrypting it will result in apparently random data, indistinguishable from not having stored any particular data there.[citation needed]

Examples

Layers

One example of deniable encryption is a cryptographic filesystem that employs a concept of abstract "layers", where each layer can be decrypted with a different encryption key.[citation needed] 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.[citation needed] The user can 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.[citation needed] 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.[citation needed] The timestamps of these files are always randomized.[citation needed] Examples of this approach include Rubberhose filesystem.

Rubberhose (also known by its development codename Marutukku)[12] is a deniable encryption program which encrypts data on a storage device and hides the encrypted data. The existence of the encrypted data can only be verified using the appropriate cryptographic key. It was created by Julian Assange as a tool for human rights workers who needed to protect sensitive data in the field and was initially released in 1997.[12]

The name Rubberhose is a joking reference to the cypherpunks term rubber-hose cryptanalysis, in which encryption keys are obtained by means of violence.

It was written for Linux kernel 2.2, NetBSD and FreeBSD in 1997–2000 by Julian Assange, Suelette Dreyfus, and Ralf Weinmann. The latest version available, still in alpha stage, is v0.8.3.[13]

Container volumes

Another approach used 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 encrypted random data,[14] 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. LibreCrypt[15] and BestCrypt can have many hidden volumes in a container; TrueCrypt is limited to one hidden volume.[16]

Other software

  • OpenPuff, freeware semi-open-source steganography for MS Windows.
  • LibreCrypt, opensource transparent disk encryption for MS Windows and PocketPC PDAs that provides both deniable encryption and plausible deniability.[14][17] Offers an extensive range of encryption options, and doesn't need to be installed before use as long as the user has administrator rights.
  • Off-the-Record Messaging, a cryptographic technique providing true deniability for instant messaging.
  • StegFS, the current successor to the ideas embodied by the Rubberhose and PhoneBookFS filesystems.
  • VeraCrypt (a successor to a discontinued TrueCrypt), an on-the-fly disk encryption software for Windows, Mac and Linux providing limited deniable encryption[18] and to some extent (due to limitations on the number of hidden volumes which can be created[16]) plausible deniability, without needing to be installed before use as long as the user has full administrator rights.
  • Vanish, a research prototype implementation of self-destructing data storage.

Detection

The existence of hidden encrypted data may be revealed by flaws in the implementation.[19][self-published source] It may also be revealed by a so-called watermarking attack if an inappropriate cipher mode is used.[20] The existence of the data may be revealed by it 'leaking' into non-encrypted disk space [21] where it can be detected by forensic tools.[22][self-published source]

Doubts have been raised about the level of plausible deniability in 'hidden volumes'[23][self-published source] – the contents of the "outer" container filesystem have to be 'frozen' in its initial state to prevent the user from corrupting the hidden volume (this can be detected from the access and modification timestamps), which could raise suspicion. This problem can be eliminated by instructing the system not to protect the hidden volume, although this could result in lost data.[citation needed]

Drawbacks

Possession of deniable encryption tools could lead attackers to continue torturing a user even after the user has revealed all their keys, because the attackers could not know whether the user had revealed their last key or not. However, knowledge of this fact can disincentivize users from revealing any keys to begin with, since they will never be able to prove to the attacker that they have revealed their last key.[24]

Deniable authentication

Some in-transit encrypted messaging suites, such as Off-the-Record Messaging, offer deniable authentication which gives the participants plausible deniability of their conversations. While deniable authentication is not technically "deniable encryption" in that the encryption of the messages is not denied, 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 hash-based message authentication code (HMAC)), they are 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.

See also

  • Chaffing and winnowing – Cryptographic technique
  • Deniable authentication – message authentication between a set of participants where the participants themselves can be confident in the authenticity of the messages, but it cannot be proved to a third party after the event
  • dm-crypt – Disk encryption software
  • Key disclosure law – Legislation that requires individuals to surrender cryptographic keys to law enforcement
  • Plausible deniability – Ability to deny responsibility
  • Steganography – Hiding messages in other messages
  • Unicity distance – Length of ciphertext needed to unambiguously break a cipher

References

  1. ^ See http://www.schneier.com/paper-truecrypt-dfs.html Archived 2014-06-27 at the Wayback Machine. Retrieved on 2013-07-26.
  2. ^ a b Chen, Chen; Chakraborti, Anrin; Sion, Radu (2020). "INFUSE: Invisible plausibly-deniable file system for NAND flash". Proceedings on Privacy Enhancing Technologies. 2020 (4): 239–254. doi:10.2478/popets-2020-0071. ISSN 2299-0984. Archived from the original on 2023-02-08. Retrieved 2024-04-02.
  3. ^ a b Ran Canetti, Cynthia Dwork, Moni Naor, Rafail Ostrovsky (1996-05-10). "Deniable Encryption" (PostScript). Advances in Cryptology – CRYPTO '97. Lecture Notes in Computer Science. Vol. 1294. pp. 90–104. doi:10.1007/BFb0052229. ISBN 978-3-540-63384-6. Archived from the original on 2020-08-24. Retrieved 2007-01-05.{{cite book}}: CS1 maint: multiple names: authors list (link)
  4. ^ See "Rubberhose cryptographically deniable transparent disk encryption system". Archived from the original on 2010-09-15. Retrieved 2010-10-21.. Retrieved on 2009-07-22.
  5. ^ a b "The RIP Act". The Guardian. London. October 25, 2001. Archived from the original on March 28, 2023. Retrieved March 19, 2024.
  6. ^ a b "Regulation of Investigatory Powers Bill; in Session 1999-2000, Internet Publications, Other Bills before Parliament". House of Lords. 9 May 2000. Archived from the original on 8 November 2011. Retrieved 5 Jan 2011.
  7. ^ Schneier, Bruce (October 27, 2008). "Rubber-Hose Cryptanalysis". Schneier on Security. Archived from the original on August 30, 2009. Retrieved August 29, 2009.
  8. ^ Ranum, Marcus J. (October 16, 1990). "Re: Cryptography and the Law..." Newsgroupsci.crypt. Usenet: 1990Oct16.050000.4965@decuac.dec.com. Archived from the original on April 2, 2024. Retrieved October 11, 2013.
  9. ^ Shannon, Claude (1949). "Communication Theory of Secrecy Systems" (PDF). Bell System Technical Journal. 28 (4): 659–664. doi:10.1002/j.1538-7305.1949.tb00928.x. Archived (PDF) from the original on 2022-01-14. Retrieved 2022-01-14.
  10. ^ Trachtenberg, Ari (March 2014). Say it Ain't So - An Implementation of Deniable Encryption (PDF). Blackhat Asia. Singapore. Archived (PDF) from the original on 2015-04-21. Retrieved 2015-03-06.
  11. ^ Chakraborty, Debrup; Rodríguez-Henríquez., Francisco (2008). Çetin Kaya Koç (ed.). Cryptographic Engineering. Springer. p. 340. ISBN 9780387718170. Archived from the original on 2024-04-02. Retrieved 2020-11-18.
  12. ^ a b "Rubberhose cryptographically deniable transparent disk encryption system". marutukku.org. Archived from the original on 16 July 2012. Retrieved 12 January 2022.
  13. ^ "Rubberhose cryptographically deniable transparent disk encryption system". marutukku.org. Archived from the original on 16 July 2012. Retrieved 12 January 2022.
  14. ^ a b "LibreCrypt: Transparent on-the-fly disk encryption for Windows. LUKS compatible.: T-d-k/LibreCrypt". GitHub. 2019-02-09. Archived from the original on 2019-12-15. Retrieved 2015-07-03.
  15. ^ "LibreCrypt documentation on Plausible Deniability". GitHub. 2019-02-09. Archived from the original on 2019-12-15. Retrieved 2015-07-03.
  16. ^ a b "TrueCrypt". Archived from the original on 2012-09-14. Retrieved 2006-02-16.
  17. ^ See its documentation section on "Plausible Deniability" Archived 2019-12-15 at the Wayback Machine)
  18. ^ "TrueCrypt - Free Open-Source On-The-Fly Disk Encryption Software for Windows Vista/XP, Mac OS X, and Linux - Hidden Volume". Archived from the original on 2013-10-15. Retrieved 2006-02-16.
  19. ^ Adal Chiriliuc (2003-10-23). "BestCrypt IV generation flaw". Archived from the original on 2006-07-21. Retrieved 2006-08-23. {{cite journal}}: Cite journal requires |journal= (help)
  20. ^ [title=https://lists.gnu.org/archive/html/qemu-devel/2013-07/msg04229.html Archived 2016-07-02 at the Wayback Machine [Qemu-devel] QCOW2 cryptography and secure key handling]
  21. ^ "Encrypted hard drives may not be safe: Researchers find that encryption is not all it claims to be". Archived from the original on 2013-03-30. Retrieved 2011-10-08.
  22. ^ http://www.forensicfocus.com/index.php?name=Forums&file=viewtopic&t=3970 Archived 2014-09-05 at the Wayback Machine Is there any way to tell in Encase if there is a hidden truecrypt volume? If so how?
  23. ^ "Plausible deniability support for LUKS". Archived from the original on 2019-10-21. Retrieved 2015-07-03.
  24. ^ "Julian Assange: Physical Coercion". Archived from the original on 2013-07-23. Retrieved 2011-10-08.

Further reading