PURB (криптография) - PURB (cryptography)

В криптография, а заполненная однородная случайная капля или же PURB это дисциплина для зашифрованных форматов данных, разработанная для минимизации непреднамеренной утечки информации либо из метаданных формата шифрования, либо из его общей длины.[1]

Свойства PURB

При правильном создании содержимое PURB неотличимо от равномерный случайный битовая строка любому наблюдателю без соответствующего ключа дешифрования. Таким образом, PURB протекает нет информация через заголовки или другие метаданные в открытом виде, связанные с зашифрованным форматом данных. Эта «гигиеническая» практика минимизации утечек контрастирует с традиционными форматами зашифрованных данных, такими как Довольно хорошая конфиденциальность, которые включают информацию о кодировании метаданных в открытом виде, такую ​​как приложение, создавшее данные, версия формата данных, количество получателей, для которых зашифрованы данные, идентификаторы или открытые ключи получателей, а также шифры или комплекты, которые использовались для шифрования данные. Хотя такие метаданные шифрования считались нечувствительными при разработке этих зашифрованных форматов, современные методы атак нашли множество способов использования таких случайно просочившихся метаданных для облегчения атак, таких как идентификация данных, зашифрованных с помощью слабых шифров или устаревших алгоритмов, снятие отпечатков пальцев приложений для отслеживать пользователей или определять версии программного обеспечения с известными уязвимостями, или анализ трафика такие методы, как идентификация всех пользователей, групп и связанных открытых ключей, участвующих в диалоге, по зашифрованному сообщению, наблюдаемому только между двумя из них.

Кроме того, PURB - это мягкий ограниченному набору возможных длин, чтобы минимизировать количество Информация зашифрованные данные могут потенциально просочиться к наблюдателям по всей своей длине. Без заполнения зашифрованные объекты, такие как файлы или битовые строки до бит длиной может просочиться до бит информации для наблюдателя, а именно количество битов, необходимых для точного представления длины. PURB дополняется до длины, представленной в число с плавающей запятой мантисса которого не больше (т.е. содержит не более значащих битов), чем ее показатель степени. Это ограничение ограничивает максимальный объем информации, в которую может попасть общая длина PURB. битов, значительное асимптотическое сокращение и наилучшее достижимое в целом для зашифрованных форматов переменной длины, мультипликативные накладные расходы которых ограничены постоянным коэффициентом размера незаполненной полезной нагрузки. Эта асимптотическая утечка аналогична той, которую можно получить, добавляя зашифрованные объекты в степень некоторой базы, например, в степень двойки. Однако включение некоторых значимых битов мантиссы в представление длины, а не просто экспоненты, значительно снижает накладные расходы набивки. Например, заполнение до следующей степени двойки может наложить накладные расходы до 100% за счет почти удвоения размера объекта, в то время как заполнение PURB накладывает накладные расходы максимум на 12% для небольших строк и постепенно уменьшается (до 6%, 3% и т. .) по мере того, как объекты становятся больше.

Экспериментальные данные показывают, что в наборах данных, содержащих такие объекты, как файлы, пакеты программного обеспечения и онлайн-видео, оставление объектов без дополнений или заполнение до постоянного размера блока часто оставляет их однозначно идентифицируемыми только по общей длине.[2][3][1] Заполнение объектов до степени двойки или длины PURB, напротив, гарантирует, что большинство объектов неотличимы по крайней мере от некоторых других объектов и, следовательно, имеют нетривиальный набор анонимности.[1]

Кодирование и декодирование PURB

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

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

Кодирование и декодирование PURB, предназначенных для дешифрования несколькими разными получателями, открытыми ключами и / или шифрованием, представляет собой дополнительную техническую проблему, заключающуюся в том, что каждый получатель должен найти другую точку входа в отдельном месте в PURB, не перекрывающуюся с точками входа других получателей, но PURB не представляет метаданных в виде открытого текста, указывающих положение этих точек входа или даже их общее количество. В документе, предлагавшем PURBs[1] также включены алгоритмы шифрования объектов для нескольких получателей с использованием нескольких наборов шифров. С помощью этих алгоритмов получатели могут найти свои соответствующие точки входа в PURB только с логарифмическим числом пробные расшифровки с помощью симметричный ключ криптография и только одна дорогая открытый ключ операция по набору шифров.

Третья техническая проблема заключается в представлении криптографического материала с открытым ключом, который необходимо закодировать в каждую точку входа в PURB, например, эфемерный Диффи-Хеллман открытый ключ, необходимый получателю для получения общего секрета, в кодировке, неотличимой от равномерно случайных битов. Поскольку стандартные кодировки эллиптическая кривая точки легко отличимы от случайных битов, например, специальных неотличимый для этой цели должны использоваться алгоритмы кодирования, такие как Elligator[4] и его преемники[5][6].

Компромиссы и ограничения

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

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

Одна из критических замечаний по поводу сложности и накладных расходов, связанных с шифрованием PURB, заключается в том, что контекст в котором хранится или передается PURB, часто в любом случае может происходить утечка метаданных о зашифрованном контенте, и такие метаданные находятся за пределами сферы действия или контроля формата шифрования и, таким образом, не могут быть обработаны одним только форматом шифрования. Например, выбор приложением или пользователем имени файла и каталога, в котором будет храниться PURB на диске, может указывать на то, что наблюдатель может сделать вывод о приложении, которое, вероятно, создало его, и с какой целью, даже если содержимое данных PURB не делает этого. Точно так же шифрование тела электронного письма как PURB вместо традиционного PGP или же S / MIME Формат может устранить утечку метаданных формата шифрования, но не может предотвратить утечку информации из заголовков электронной почты в открытом виде или с хостов конечных точек и серверов электронной почты, участвующих в обмене. Тем не менее, отдельные, но дополняющие друг друга дисциплины обычно доступны для ограничения такой утечки контекстных метаданных, например, соответствующие соглашения об именах файлов или использование псевдонимные адреса электронной почты для конфиденциальных сообщений.

Рекомендации

  1. ^ а б c d Никитин, Кирилл; Бармен, Людовик; Lueks, Wouter; Андервуд, Мэтью; Hubaux, Жан-Пьер; Форд, Брайан (2019). «Снижение утечки метаданных из зашифрованных файлов и обмена данными с PURB» (PDF). Труды по технологиям повышения конфиденциальности (PoPETS). 2019 (4): 6–33. Дои:10.2478 / попец-2019-0056.
  2. ^ Хинц, Эндрю (апрель 2002 г.). Снятие отпечатков пальцев с веб-сайтов с использованием анализа трафика. Международный семинар по технологиям повышения конфиденциальности. Дои:10.1007/3-540-36467-6_13.
  3. ^ Сунь, Цисян; Саймон, Д.Р .; Ван, И-Мин; Russell, W .; Padmanabhan, V.N .; Цю, Лили (май 2002 г.). Статистическая идентификация зашифрованного веб-трафика. Симпозиум IEEE по безопасности и конфиденциальности. Дои:10.1109 / SECPRI.2002.1004359.
  4. ^ Бернштейн, Даниэль Дж .; Гамбург, Майк; Краснова, Анна; Ланге, Таня (ноябрь 2013 г.). Elligator: точки эллиптической кривой, неотличимые от однородных случайных строк. Безопасность компьютерных коммуникаций.
  5. ^ Тибучи, Мехди (март 2014 г.). Elligator Squared: однородные точки на эллиптических кривых первого порядка как однородные случайные строки (PDF). Финансовая криптография и безопасность данных.
  6. ^ Аранья, Диего Ф .; Фук, Пьер-Ален; Цянь, Чен; Тибучи, Мехди; Запалович, Жан-Кристоф (август 2014 г.). Бинарный эллигатор в квадрате (PDF). Международная конференция по избранным направлениям криптографии.