Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Отрицаемое шифрование ( двусмысленное шифрование, Двойное дно)

Лекция



Привет, Вы узнаете о том , что такое двойное дно, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое двойное дно, скрытые контейнеры , гибкое шифрование, отрицаемое шифрование, secret sharing , настоятельно рекомендую прочитать все из категории Вредоносное ПО и защита информации.

отрицаемое шифрование (англ. deniable encryption, также двусмысленное шифрование) — способ криптографического преобразования, в котором зашифровываются совместно два или более различных сообщения на двух или более различных ключах . Этот метод обеспечивает возможность правдоподобного отрицания наличия одного или группы сообщений как таковых. Сам термин «двусмысленное шифрование» придуман Джулианом Ассанжем и Ральфом Вайманном в ходе работы над Rubberhose в 1997—2000 годах.

Назначение

В концепции отрицаемого шифрования рассматривается цель обеспечения достаточно высокой стойкости к принуждающим атакам. В модели таких атак предполагается, что атакующий имеет некоторые рычаги воздействия на отправителя, получателя или хранителя зашифрованной информации и принуждает выдать ключ для ее расшифрования. Стойкость к атакам с принуждением обеспечивается тем, что, по крайней мере, одно из передаваемых сообщений не является секретным и атакующему предоставляется ключ, по которому расшифрование криптограммы ведет к раскрытию этого сообщения. При этом процедура расшифрования выполняется таким образом, что у атакующего нет обоснованных доводов полагать, что с криптограммой были связаны еще какие-то другие сообщения. Двусмысленное шифрование разрешает прочитать зашифрованное сообщение несколькими осмысленными способами в зависимости от использованного ключа. Иными словами, оно дает пользователю шанс скрыть секретное сообщение, даже если его вынудили раскрыть один из ключей.

Существенным требованием к алгоритмам отрицаемого шифрования является обеспечение равновероятностного влияния битов криптограммы на биты расшифрованного текста, которое состоит в том, что изменение любого бита криптограммы должно приводить к инвертированию любого бита расшифрованного текста с вероятностью, достаточно близкой к 0.5.

Допустим, вам нужно спрятать некий объем критически важных данных, которые представляют большой интерес для противника. В то же время просто зашифровать файл может быть недостаточно – ведь столкнувшись с криптоконтейнером, противник захочет получить пароль! Возможно даже прибегнет к пыткам разного рода, а этот метод криптоанализа приносит хорошие результаты, это лишь вопрос времени.

В таком случае целесообразно сделать так называемое “двусмысленное шифрование” или “ двойное дно ”. Создается криптоконтейнер, в который загружаются произвольные легитимные данные (то есть такие, которые человек вполне мог бы хранить в криптоконтейнере, например частные фотографии), затем, в свободном месте создается еще одна область, которая открывается по совершенно другому паролю и в которую записывается действительно критичная информация.

Когда файл попадает под пристальное внимание противника, наш герой с честным видом заявляет, что файл используется им для хранения личных фото. Если даже сильно прижмет – сообщает свой (первый) пароль от файла. Противник монтирует криптоконтейнер с этим паролем и видит действительно частные фото. С высокой долей вероятности он оставит контейнер в покое и будет искать дальше. Чтож, попробуем это реализовать!

Суть криптоконтейнера с двойным дном предельно проста: при вводе одного пароля вам выводится одна информация, при вводе другого – другая. С помощью программно-технических средств доказать наличие двойного дна невозможно, но если у вас потребуют доступ и отказать будет невозможно, вы можете выдать доступ к «публичному» содержимому, а о наличии двойного дна и его содержании никто не узнает (в конце материала я на примере из жизни покажу, что это миф).

Существует распространенное мнение, что скрытую область криптоконтейнера можно вычислить, очистив открытую часть и проверив свободное место для записи. Если там имеется скрытая область, она будет занимать место, и станет очевидно, что у криптоконтейнера есть двойное дно. На самом деле это миф. Наличие скрытого криптоконтейнера никак не отразится на основном, даже если по размеру будет занимать львиную его часть.

Если вы будете записывать в криптоконтейнер файл, который превышает по размеру свободную область криптоконтейнера, он будет записываться поверх скрытой части, никак не выдавая ее наличие. Криптоконтейнеры с двойным дном создаются одинаково на TrueCrypt и VeraCrypt, одинаково на всех операционных системах.

Сценарий

Возможный сценарий выглядит так:

  1. Алиса — жена Боба, подозревающего ее в измене. Она хочет передать сообщение своему тайному возлюбленному Карлу. Она конструирует 2 ключа: один для того, чтобы хранить в секрете, и второй, которым можно пожертвовать в критической ситуации. Затем она передает настоящий ключ (а может быть и оба) Карлу.
  2. Вслед за этим она пишет Карлу безвредное сообщение M1 про особенности жизнедеятельности улиток — это сообщение можно показать Бобу в случае, если он обнаружит их переписку, а также письмо M2 Карлу, полное горячих чувств. После этого она комбинирует эти два сообщения и посылает получившийся шифротекст Карлу.
  3. Карл, используя данные ему ключи, расшифровывает исходное сообщение M2 и, при желании, M1.
  4. Боб обнаруживает сообщение, посланное Алисой Карлу. В порыве ревности он заставляет Алису расшифровать письмо.
  5. Алиса восстанавливает открытый текст M1, используя жертвенный ключ. Таким образом в руки Боба попадает скучный текст об улитках, и, так как наличие еще одного ключа держится в тайне, он полагает, что никакого подозрительного смысла сообщение не несло.

Также Алиса может послать одну криптограмму и Бобу, и Карлу. При этом Боб, расшифровав сообщение при помощи своего ключа, узнает, что Карл хочет написать на него донос. Карлу же письмо поведает, что Боб пытается украсть его деньги. Попытки Алисы поссорить их не будут раскрыты, пока Боб и Карл не узнают о том, что у них разные ключи.

Реализация

Алгоритмы реализации

Пример 1.

Выполнение отрицаемого шифрования осуществляется с использованием секретного ключа в виде набора подключей Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и двух простых чисел Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно).Шифрование блоков Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) двух сообщений осуществляют путем вычисления значения Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) по формуле Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно),вычисления значения Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) по формуле Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и формирования блока криптограммы С, которое является решением системы сравнений


Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно)

которую мы запишем в виде


Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно)

в соответствии с китайской теоремой об остатках решение вычисляется по следующей формуле:

Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно)

пусть для раскрытия при вынуждающей атаке предназначено сообщение {\displaystyle {\overline {M}}}Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно). Об этом говорит сайт https://intellect.icu . Тогда атакующему представляются в качестве ключа шифрования тройка значений Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно). Дешифровка выполняется по формуле

Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно).

В последней формуле обратные значения для подключей Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) вычисляются по модулям Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и {\displaystyle p_{2}}Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно), соответственно. Дешифровка секретного сообщения M выполняется по той же формуле, но с использованием ключа, представляющего собой тройку значений Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно):

Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно)

Пример 2

Ключ шифрования представляет собой набор подключей Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и два простых числа Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно). Шифруются два сообщения Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) путем генерации случайных чисел Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно), вычисления значения Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) по формуле Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно), вычисления значения Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) по формуле Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно) и формирования криптограммы Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно), являющейся решением системы сравнений, включающей три сравнения

Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно).

Эту систему можно записать в виде

Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно)
В соответствии с китайской теоремой об остатках решение этой системы сравнений вычисляется по формуле:

Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно)

При вынуждающей атаке атакующему представляется в качестве ключа шифрования тройка значений Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно), по которым расшифрование выполняется по формуле:

Отрицаемое шифрование ( двусмысленное шифрование,  Двойное дно).

Обнаружение

Очевидно, что размер криптограммы не может быть менее суммы размеров шифруемых совместно сообщений, поэтому в качестве признаков наличия в криптограмме других сообщений рассматриваются признаки отличия криптограммы от шифротекста, получаемого вероятностным шифрованием раскрытого сообщения, при котором размер шифротекста значительно больше размера исходного сообщения. Иными словами, атакуемая криптограмма могла быть получена с помощью вероятностного шифрования по представленному ключу. В силу этого для атакующего отсутствуют основания требовать еще какой-либо другой ключ для дальнейшего расшифрования криптограммы.

В пользу наличия дополнительных сообщений в криптограмме атакующим могут быть предъявлены следующие доводы:

  • Неполное использование криптограммы в процессе расшифровки;
  • Наличие ветвлений в процедуре расшифрования, управляемых ключом;
  • Признаки сортировки битов криптограммы в процедуре расшифрования;
  • Нарушение единообразия процесса расшифрования по всем возможным значениям секретного ключа;
  • Неравномерность влияния битов криптограммы на биты расшифрованного текста.

Размер криптограммы может быть больше размера исходного текста. При этом атакующему сообщается, что при создании криптограммы был использован метод вероятностного шифрования. Увеличение размеров шифротекста является свойственным для шифров такого типа.

Такой тип шифрования обнаруживается при выявлениии случайных данных или загрузчика щафрователя, типа VeraCrypt. Этого может быть достаточно, чтобы вызвать подозренние о наличии такого шифрования со всеми вытикающими последствиями .

Современные способы двусмысленного шифрования

Современные способы двусмысленного шифрования используют свойства псевдослучайных перестановок блочных шифров, что препятствует доказательству того, что данные не являются просто бессмысленным набором бит, созданным генератором криптостойкой псевдослучайной последовательности. Данная технология дополняется раскрытием злоумышленнику некоторых обманных данных, похожих на то, что пользователь попытался бы скрыть. Такой вид двусмысленного шифрования иногда называется стеганографическим шифрованием.

В качестве примера можно привести криптографические файловые системы, использующие схему абстрактных «уровней», при которой каждый следующий уровень требует свой ключ для расшифровки. Помимо этого существуют так называемые chaff-уровни, заполненные случайными данными для противодействия обнаружению существования настоящих уровней, равно как и их ключей. Пользователь может хранить обманные данные на нескольких уровнях, утверждая, что остальное пространство используется в качестве chaff-уровней. Физически, данные чаще всего располагаются в одном каталоге, разбитые на файлы одинаковой длины с именами либо выбранными случайным образом (в случае chaff-уровня), либо представляющими результат работы криптографической хеш-функции над идентификаторами блоков. Временные параметры у этих файлов выбираются случайным образом. Примерами таких систем являются Rubberhose и PhoneBookFS.

Другой подход, применяемый традиционными пакетами по защите носителей информации, состоит в создании нового защищенного тома внутри основного. Процесс начинается с того, что при форматировании основной контейнер заполняется беспорядочным набором данных с последующей инициализацией файловой системы. После этого часть файловой системы заполняется безопасными данными, похожими на секретные. Затем где-то в оставшемся пространстве создается новый скрытый том, используемый для тех данных, которые пользователь действительно хочет скрыть. Поскольку противник не может отличить зашифрованные данные от случайных данных заполнителя, он не сможет обнаружить этот скрытый том на диске. Однако то, что содержимое несекретных данных не менялось со времен создания, в частности, время модификации файлов — это сделано, чтобы предотвратить повреждение пользовательских данных, — может возбудить подозрения. Решение данной проблемы состоит в указании системе менять содержимое заглушек. Впрочем, стоит отметить, что данная операция сопряжена с риском повредить хранимые на диске данные. Такие программы, как FreeOTFE и BestCrypt позволяют создавать несколько скрытых разделов на одном диске, в то время как TrueCrypt ограничивается одним.

Существование скрытого тома может быть обнаружено по причине ошибочных реализаций, зависящих от предсказуемых криптографических величин , либо с помощью некоторых инструментов, использующихся в юридических целях, способных обнаруживать неслучайные зашифрованные данные. Также было предположено, что существует уязвимость для тестирования псевдослучайных последовательностей с помощью критерия Хи-квадрат (критерия Пирсона): после каждого изменения зашифрованные данные должны быть видоизменены таким образом, чтобы их распределение правдоподобно соответствовало случайному распределению.

Отрицаемое шифрование также подвержено критике в связи с невозможностью защиты пользователей от вымогательства. Сам факт обладания инструментами, осуществляющими методы отрицаемого шифрования, может заставить злоумышленника продолжить взлом данных даже после того, как пользователь выдал ему пароль, предоставляющий доступ к некоей подложной информации.

Безусловно, недостаточная криптографическая стойкость блочных шифров или числового генератора может подвергнуть риску защищенность такой файловой системы. Для того, чтобы избежать сомнений по поводу достаточной криптографической стойкости генератора, можно зашифровать псевдослучайные данные при помощи другого ключа, нежели основные данные, что приведет к неразличимости хранимой информации и пустого пространства, ведь невозможно отличить зашифрованные данные от других зашифрованных данных. И напоследок стоит отметить, что неправильное использование режимов шифрования может сделать систему уязвимой, например, к атакам по водяным знакам.[10]

Контейнеры без сигнатур

Некоторые криптографические продукты (например, TrueCrypt) позволяют создавать зашифрованные контейнеры без каких-либо сигнатур. Такой контейнер, в общем случае, невозможно связать с конкретной криптографической программой (так как содержимое контейнера выглядит как сплошная случайная последовательность данных).

Контейнеры без сигнатур невозможно обнаружить программами вроде file. С другой стороны, отсутствие каких-либо сигнатур и высокая энтропия данных уже является признаком зашифрованных данных.

скрытые контейнеры

Некоторые продукты позволяют создавать контейнеры внутри уже существующей сплошной случайной последовательности данных. Например, TrueCrypt может создать контейнер внутри свободного пространства файловой системы другого контейнера (свободное пространство файловой системы любого контейнера TrueCrypt изначально заполнено случайными данными).

Скрытые контейнеры могут быть обнаружены в некоторых случаях на стадии анализа выключенной системы, например:

  • В случае утечки информации о содержимом скрытого контейнера на незашифрованные файловые системы:
    • Утечки в файл подкачки, файл гибернации и дампы памяти (crash dump);
    • Другие утечки (например, в списки MRU);
  • В случае утечки криптографических ключей или паролей в файл подкачки, файл гибернации и дампы памяти;
  • В случае наличия полной или частичной копии (нескольких копий) внешнего контейнера с ключом / паролем;
  • В случае использования слабых ключей / паролей для скрытого контейнера.

гибкое шифрование

Некоторые системы, шифрующие сообщения на лету, например OTRM предоставляют возможность гибкого шифрования, что позволяет собеседникам отрицать свое участие в беседе. Хотя данный тип шифрования не является, в сущности, двусмысленным, то есть не позволяет двояко расшифровывать сообщения, он лишает противника возможности доказать участие конкретного лица в беседе, равно как и сам факт наличия обмена информацией.

Это достигается добавлением в зашифрованное сообщение информации, необходимой для его подлога. Таким образом, если противник способен создать настоящее сообщение для данной беседы, то он автоматически сможет подделывать сообщения, что вместе с совершенной прямой секретностью (англ. perfect forward secrecy) гарантирует защищенность беседы, даже если ключи для отдельных сообщений находятся под угрозой разглашения.

Альтернативы отрицательному шифрованию

Это одни из самых сложных ситуаций, от которых нужно защитить себя и свои данные. Один из немногих вариантов - использовать совместное использование секрета(Secret Sharing) и иметь доступ к данным только тогда, когда в систему вводятся ключи от двух или более человек .

Чтобы это сработало, вам нужно будет широко заявить о том, что информация доступна только тогда, когда несколько человек вводят свои пароли , аналогично тому, как банки имеют знаки о своих сейфах с задержкой времени, которые нельзя открыть без ожидания, несмотря ни на что. Если ваш противник не знает, что эта система действует, он может в конечном итоге подвергнуть вас пыткам или посадить в тюрьму, потому что он вам не верит.

Другое решение - настроить данные на самоуничтожение при вводе определенного ключа с помощью функции Kali Linux . Если ваш противник захватил вас, вы можете просто дать ему ключ самоуничтожения, и данные с устройства не будут восстановлены . Однако этот метод работает только в том случае, если злоумышленник не предусмотрительно скопировал данные с первого раза , что должен сделать любой технически опытный противник.

Если вы сделаете это, то, вероятно, все закончится для вас очень плохо. Удалив данные, вы сильно разозлите своего противника, и не исключены жестокие пытки, длительное заключение или смерть.

Этот метод рекомендуется только в том случае, если вы находитесь в ситуации, когда предотвращение попадания данных в руки злоумышленника является более важным, чем ваша жизнь.

Программное обеспечение для отрицательного шифрования

  • OpenPuff , свободное ПО для шифрования для ОС Windows.
  • BestCrypt, коммерческое приложение по шифрованию дисков «на лету» для Windows.
  • FreeOTFE, свободное ПО для шифрования дисков «на лету» для Windows и Pocket PC, предоставляющая функциональность двусмыленного шифрования наряду с возможностью отказа[11]. Обладает большой функциональностью и не требует установки.
  • Off-the-Record Messaging, криптографический протокол для сетей обмена мгновенными сообщениями с возможностью отказа
  • StegFS — криптографическая файловая система для Linux с возможностью отказа, преемник ныне не поддерживаемых проектов PhoneBookFS и rubberhose
  • TrueCrypt, приложение для Windows, MAC OS и Linux, с возможностью шифрования дисков «на лету», ограничено способная к двусмысленному шифрованию[12] и с возможностью отрицания[13] (с учетом ограниченности количества скрытых разделов на одном томе). Тоже не требует установки.
  • Vanish — прототип самоуничтожающихся носителей информации.
  • ScramDisk 4 Linux — свободный пакет программ для GNU/Linux, способный работать с контейнерами truecrypt и scramdisk.

Вау!! 😲 Ты еще не читал? Это зря!

Исследование, описанное в статье про двойное дно, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое двойное дно, скрытые контейнеры , гибкое шифрование, отрицаемое шифрование, secret sharing и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Вредоносное ПО и защита информации

создано: 2020-11-02
обновлено: 2021-03-13
25



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Информационная безопасность, Вредоносное ПО и защита информации

Термины: Информационная безопасность, Вредоносное ПО и защита информации