Конвергентное шифрование , также известное как хэш-кодирование контента , представляет собой криптосистему , которая создает идентичный шифротекст из идентичных файлов с открытым текстом . Это имеет приложения в облачных вычислениях для удаления дубликатов файлов из хранилища без доступа поставщика к ключам шифрования. [1] Сочетание дедупликации и конвергентного шифрования было описано в патенте на систему резервного копирования, поданном Stac Electronics в 1995 году. [2] Эта комбинация использовалась Farsite, [3] Permabit , [4] Freenet , MojoNation, GNUnet , flud и Tahoe Least-Authority File Store . [5]
Система приобрела дополнительную известность в 2011 году, когда поставщик облачных хранилищ Bitcasa объявил, что они используют конвергентное шифрование для обеспечения дедупликации данных в своем облачном хранилище . [6]
Конвергентное шифрование открыто для «подтверждения атаки на файл», в которой злоумышленник может эффективно подтвердить, обладает ли цель определенным файлом, зашифровав незашифрованную или текстовую версию, а затем просто сравнив вывод с файлами, которыми владеет цель. [7] Эта атака создает проблему для пользователя, хранящего информацию, которая не является уникальной, то есть либо общедоступной, либо уже имеющейся у злоумышленника, например: запрещенные книги или файлы, которые вызывают нарушение авторских прав . Можно привести аргумент, что подтверждение атаки на файл становится менее эффективным, если добавить уникальный фрагмент данных, такой как несколько случайных символов, к открытому тексту перед шифрованием; это делает загруженный файл уникальным и, следовательно, приводит к уникальному зашифрованному файлу. Однако некоторые реализации конвергентного шифрования, в которых открытый текст разбивается на блоки на основе содержимого файла, и каждый блок затем независимо конвергентно шифруется, могут непреднамеренно помешать попыткам сделать файл уникальным путем добавления байтов в начале или конце. [8]
Еще более тревожной, чем атака подтверждения, является атака «узнать оставшуюся информацию», описанная Дрю Перттулой в 2008 году. [9] Этот тип атаки применяется к шифрованию файлов, которые являются лишь незначительными вариациями публичного документа. Например, если защитник зашифрует банковскую форму, включающую десятизначный номер банковского счета, злоумышленник, который знает общий формат банковской формы, может извлечь номер банковского счета защитника, создав банковские формы для всех возможных номеров банковских счетов, зашифровав их, а затем, сравнив эти шифрованные данные с зашифрованным файлом защитника, вывести номер банковского счета. Обратите внимание, что эта атака может быть расширена для атаки на большое количество целей одновременно (все варианты написания целевого клиента банка в примере выше или даже всех потенциальных клиентов банка), и наличие этой проблемы распространяется на любой тип документа формы: налоговые декларации, финансовые документы, формы медицинского страхования, формы трудоустройства и т. д. Также обратите внимание, что не существует известного метода снижения серьезности этой атаки — добавление нескольких случайных байтов в файлы по мере их хранения не помогает, поскольку эти байты также могут быть атакованы с помощью подхода «узнать оставшуюся информацию». Единственный эффективный подход к смягчению этой атаки — шифрование содержимого файлов неконвергентным секретом перед сохранением (сводя на нет любые преимущества конвергентного шифрования) или просто не использовать конвергентное шифрование в первую очередь.