В криптографии и стеганографии правдоподобно отрицательное шифрование описывает методы шифрования, при которых существование зашифрованного файла или сообщения отрицается в том смысле, что злоумышленник не может доказать, что данные открытого текста существуют.
Пользователи могут убедительно отрицать, что данная часть данных зашифрована или что они могут расшифровать данный фрагмент зашифрованных данных или наличие определенных зашифрованных данных. Такие опровержения могут быть или не быть искренними. Например, может быть невозможно доказать, что данные зашифрованы без сотрудничества с пользователями. Если данные зашифрованы, пользователи действительно не смогут их расшифровать. Отрицательное шифрование служит для подрыва уверенности злоумышленника в том, что данные либо зашифрованы, либо лицо, владеющее ими, может расшифровать их и предоставить связанный открытый текст.
Отрицательное шифрование делает невозможным доказательство существования сообщения открытого текста без надлежащего ключа дешифрования. Это можно сделать, разрешив расшифровку зашифрованного сообщения в различные разумные открытые тексты, в зависимости от используемого ключа . Это позволяет отправителю иметь правдоподобное отрицание, если он вынужден отказаться от своего ключа шифрования. Понятие «отрицательное шифрование» было использовано Джулианом Ассанжем и в файловой системе Rubberhose и подробно исследовано в статье Рана Канетти, Синтии Дворк, Мони Наор и Рафаил Островский в 1996 году.
Отрицательное шифрование позволяет отправителю зашифрованного сообщения отрицать отправив это сообщение. Для этого требуется доверенная третья сторона. Возможный сценарий выглядит так:
Другой возможный сценарий предполагает, что Алиса отправляет один и тот же зашифрованный текст (некоторые секретные инструкции) Бобу и Карлу, которым она передала разные ключи. Боб и Карл должны получать разные инструкции и не должны иметь возможность читать инструкции друг друга. Боб сначала получит сообщение, а затем перешлет его Карлу.
Обычно зашифрованные тексты расшифровываются в один открытый текст это должно храниться в секрете. Однако одна из форм отрицательного шифрования позволяет своим пользователям расшифровывать зашифрованный текст для получения другого (безобидного, но правдоподобного) открытого текста и правдоподобно утверждать, что это именно то, что они зашифровали. Владелец зашифрованного текста не сможет отличить истинный открытый текст от открытого текста с ложным заявлением. В общем, расшифровка одного зашифрованного текста в несколько открытых текстов невозможна, если ключ не равен незашифрованному тексту, поэтому для большинства целей это непрактично. Однако некоторые схемы позволяют дешифровке перехитрить открытые тексты, которые близки к оригиналу в некоторой метрике (например, расстояние редактирования ).
Современные методы отрицательного шифрования используют тот факт, что без ключа невозможно отличить зашифрованный текст от блочных шифров и данных, генерируемых криптографически безопасным генератором псевдослучайных чисел (свойства псевдослучайной перестановки шифра).
Используется в сочетании с некоторыми данными приманки, которые пользователь, вероятно, захочет сохранить конфиденциальными, которые будут раскрыты злоумышленник, утверждающий, что это все, что есть. Это форма стеганографии.
. Если пользователь не предоставляет правильный ключ для действительно секретных данных, его дешифрование приведет к явно случайным данным, неотличимым от того, что там не было никаких конкретных данных.
Одним из примеров отрицательного шифрования является криптографическая файловая система, в которой используется концепция абстрактных «уровней», где каждый уровень может быть расшифрован с помощью другого ключа шифрования. Кроме того, специальные «chaff слои» заполняются случайными данными, чтобы иметь правдоподобное отрицание существования реальных слоев и их ключей шифрования. Пользователь может хранить файлы-приманки на одном или нескольких слоях, отрицая существование других, утверждая, что остальное пространство занято слоями мякины. Физически эти типы файловых систем обычно хранятся в одном каталоге, состоящем из файлов одинаковой длины с именами файлов, которые либо рандомизированы (в случае, если они принадлежат слоям мусора), либо криптографические хэши строк, идентифицирующих блоки. метки времени этих файлов всегда рандомизированы. Примеры этого подхода включают файловую систему Rubberhose и.
Другой подход, используемый некоторыми стандартными программными комплектами для шифрования дисков, - это создание второго зашифрованного тома внутри тома контейнера. Том контейнера сначала форматируется, заполняя его зашифрованными случайными данными, а затем инициализируя на нем файловую систему. Затем пользователь заполняет часть файловой системы законными, но правдоподобно выглядящими файлами-ловушками, которые, по-видимому, у пользователя есть стимул скрыть. Затем новый зашифрованный том (скрытый том) выделяется в свободном пространстве файловой системы контейнера, который будет использоваться для данных, которые пользователь действительно хочет скрыть. Поскольку злоумышленник не может отличить зашифрованные данные от случайных данных, используемых для инициализации внешнего тома, этот внутренний том теперь невозможно обнаружить. LibreCrypt и BestCrypt могут иметь много скрытых томов в контейнере; TrueCrypt ограничен одним скрытым томом.
Существование скрытых зашифрованных данных может быть обнаружено из-за недостатков в реализации. Это также может быть обнаружено с помощью так называемой «атаки с использованием водяных знаков», если используется неподходящий режим шифрования. Существование данных может быть обнаружено по их «утечке» в незашифрованное дисковое пространство, где они могут быть обнаружены судебными инструментами.
Были высказаны сомнения относительно уровня правдоподобного отрицания в «скрытых томах» - содержимое файловой системы «внешнего» контейнера должно быть «заморожено» в исходном состоянии, чтобы предотвратить повреждение скрытого тома пользователем (это можно определить по отметкам времени доступа и модификации), что может вызвать подозрение. Эту проблему можно устранить, указав системе не защищать скрытый том, хотя это может привести к потере данных.
Отрицательное шифрование подверглось критике, поскольку оно не защищает пользователей от раскрытия ключей под принуждением или пытками. Обладание инструментами шифрования, которые нельзя отрицать, может привести к тому, что злоумышленники будут продолжать истязать пользователя даже после того, как пользователь раскрыл все свои ключи, поскольку злоумышленники не могли знать, раскрыл ли пользователь свой последний ключ или нет.
Некоторые пакеты для передачи зашифрованных сообщений, такие как Off-the-Record Messaging, предлагают отклоняемую аутентификацию, что дает участникам правдоподобное отрицание их разговоры. Хотя отрицательная аутентификация технически не является «отрицательным шифрованием» в том смысле, что в шифровании сообщений не отказывается, ее отрицание относится к неспособности злоумышленника доказать, что участники беседовали или сказали что-либо конкретное.
Это достигается за счет того, что вся информация, необходимая для подделки сообщений, добавляется к зашифрованным сообщениям - если злоумышленник может создать цифровую аутентификацию в диалоге (см. код аутентификации сообщения на основе хэша (HMAC)), он также может подделывать сообщения в беседе. Это используется в сочетании с совершенной прямой секретностью, чтобы гарантировать, что компрометация ключей шифрования отдельных сообщений не нарушит дополнительные разговоры или сообщения.