Эта статья является кандидатом в добротные статьи

Медовое шифрование: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
орфография, оформление, дополнение
Строка 6: Строка 6:
В последующем были предложены системы{{sfn|Bojinov|2010}}{{sfn|Rivest|2013}} хранения паролей, использующие схожий метод маскировки сохраненных аутенфикационных данных среди списка явно поддельных, для предотвращения рассекречивания базы данных в случае, к примеру, утечки хeш-файла паролей.
В последующем были предложены системы{{sfn|Bojinov|2010}}{{sfn|Rivest|2013}} хранения паролей, использующие схожий метод маскировки сохраненных аутенфикационных данных среди списка явно поддельных, для предотвращения рассекречивания базы данных в случае, к примеру, утечки хeш-файла паролей.


Основываясь на подобных системах максировки, Ари Джулз из [[Корнеллский университет|Корнеллского Университета]] и Томас Ристенпарт из [[Висконсинский университет в Мадисоне|Университета Висконсина]] представили доклад о медовом шифровании на конференции {{iw|Eurocrypt}} 2014.
Основываясь на подобных системах маскировки, Ари Джулз из [[Корнеллский университет|Корнеллского Университета]] и Томас Ристенпарт из [[Висконсинский университет в Мадисоне|Университета Висконсина]] представили доклад о медовом шифровании на конференции {{iw|Eurocrypt}} 2014.


== Особенности алгоритма ==
== Особенности алгоритма ==
Атака методом «грубой силы» представляет собой взлом путём перебора всех возможных вариантов ключа, что эквивалентно выбору случайных открытых текстов из пространства всех возможных открытых текстов с дискретным равномерным распределением. Это может быть эффективным, несмотря на то что злоумышленник с равной вероятностью получает любой возможный открытый текст, большинство открытых текстов крайне неправдоподобны, другими словами распределение разумных открытых текстов неравномерно. Медовое шифрование защищает от подобных атак, в первую очередь благодаря преобразованию пространства открытых текстов в такое пространство, что распределение правдоподобных открытых текстов в нём равномерно. Таким образом, угадывающий ключи злоумышленник будет часто получать разумно выглядящие тексты, а случайно выглядящие тексты редко. Это затрудняет понимание, был ли правильный ключ угадан. В сущности, медовое шифрование выдаёт ложные данные в ответ на каждое неверное предположение о пароле или ключе шифрования{{sfn|Juels, Ristenpart.|2014|с=1—2}}.
Атака методом «грубой силы» представляет собой взлом путём перебора всех возможных вариантов ключа, что эквивалентно выбору случайных открытых текстов из пространства всех возможных открытых текстов с дискретным равномерным распределением. Это может быть эффективным, несмотря на то что злоумышленник с равной вероятностью получает любой возможный открытый текст, большинство открытых текстов крайне неправдоподобны, другими словами распределение разумных открытых текстов неравномерно. Медовое шифрование защищает от подобных атак, в первую очередь благодаря преобразованию пространства открытых текстов в такое пространство, что распределение правдоподобных открытых текстов в нём равномерно. Таким образом, угадывающий ключи злоумышленник будет часто получать разумно выглядящие тексты, а случайно выглядящие тексты редко. Это затрудняет понимание, был ли правильный ключ угадан. В сущности, медовое шифрование выдаёт ложные данные в ответ на каждое неверное предположение о пароле или ключе шифрования{{sfn|Juels, Ristenpart.|2014|с=1—2}}.


Безопасность медового шифрования основана на том, что вероятность того, что злоумышленник сочтёт открытый текст верным, может быть рассчитана (шифрующей стороной) во время шифрования. Это затрудняет применение медового шифрования в определённых приложениях, где пространство открытых текстов очень велико или их распределение неизвестно. Также это означает, что медовое шифрование может быть уязвимо для атак методом «грубой силы», если эта вероятность будет неправильно посчитана. Например, он уязвим для [[Атака на основе открытых текстов|атак на основе открытых текстов]], если у злоумышленника есть «шпаргалка» ({{lang-en|crib}} — подсказка)<ref group="Прим."> Слово ''crib'' (как существительное, так и глагол) имеет в английском десятки значений, в том числе [[сленг]]овых. В частности, на школьном сленге ''crib'' означает подсказку, шпаргалку и т. п. незаконные методы сдачи экзаменов</ref>, это значит, что он обладает определённым числом открытых текстов и соответствующих им шифротекстов, то возможно перебрать даже данные, зашифрованные медовым методом, если её наличие не было учтено при зашифровке.{{sfn|Juels|2014|с=2}}
Безопасность медового шифрования основана на том, что вероятность того, что злоумышленник сочтёт открытый текст верным, может быть рассчитана (шифрующей стороной) во время шифрования. Это затрудняет применение медового шифрования в определённых приложениях, где пространство открытых текстов очень велико или их распределение неизвестно. Также это означает, что медовое шифрование может быть уязвимо для атак методом «грубой силы», если эта вероятность будет неправильно посчитана. Например, он уязвим для [[Атака на основе открытых текстов|атак на основе открытых текстов]], если у злоумышленника есть «шпаргалка» ({{lang-en|crib}} — подсказка)<ref group="Прим."> Слово ''crib'' (как существительное, так и глагол) имеет в английском десятки значений, в том числе [[сленг]]овых. В частности, на школьном сленге ''crib'' означает подсказку, шпаргалку и т. п. незаконные методы сдачи экзаменов</ref>, это значит, что он обладает определённым числом открытых текстов и соответствующих им шифротекстов, то возможно перебрать даже данные, зашифрованные медовым методом, если её наличие не было учтено при зашифровке{{sfn|Juels|2014|с=2}}.

К недостаткам алгоритма относится проблема опечаток, если доверенный пользователь ошибется при наборе ключа, то он получит поддельный открытый текст, выглядящий при этом правдоподобно, и у него не будет возможности понять это, также актуален вопрос создания семантически и контекстно корректного ложного сообщения, которого будет достаточно, чтобы обмануть злоумышленника. Сгенерированные сообщения должны быть трудно отличимы от реальных сообщений, при этом они должны хорошо коррелировать с правилами и нормами языка и в то же время скрывать значимую информацию из оригинального текста{{sfn|Jantan|2019}}.


== Принцип действия ==
== Принцип действия ==
Строка 19: Строка 21:


При неправильном ключе зашифрованный текст сопоставляется с другим сидом и, таким образом, расшифровывается в ложное сообщение{{sfn|Juels(IEEE)|2014}}.
При неправильном ключе зашифрованный текст сопоставляется с другим сидом и, таким образом, расшифровывается в ложное сообщение{{sfn|Juels(IEEE)|2014}}.

===Способ построения DTE===
Все сообщения в <math>\mathcal{M}</math> сортируются в некотором порядке, причем оно должно быть достаточно большим, чтобы каждое сообщение можно было сопоставить хотя бы с одним сидом. Затем вычисляются [[вероятность]] <math>\mathbf P</math> и [[Функция распределения|функция распределения]] <math>F_S</math> каждого сообщения. Далее DTE сопоставляет открытое текстовое сообщение с диапазоном значений из <math>\mathcal{S}</math>, причем начало диапазона сидов определяется функцией распределения, а конец — вероятностью данного сообщения. После чего DTE случайным образом выбирает сид из этого диапазона и выполняет [[сложение по модулю 2]] с ключом для получения зашифрованного текста. При дешифровании сид получается после сложения по модулю 2 шифротекста с ключом. Затем DTE определяет местоположение сида в <math>\mathcal{S}</math>, оно соответствует значению вероятности, которое лежит между функцией распределения искомого сообщения и следующего за ним в <math>\mathcal{M}</math>. Посредством поиска по таблице соответствий сообщения и его <math>F_S</math> DTE восстановит исходное текстовое сообщение{{sfn|Yin|2017}}.


== Примеры ==
== Примеры ==
Строка 24: Строка 29:


[[Файл:Honey Encryption Beispiel.png|мини|справа|350x350пкс|Визуализация примера]]
[[Файл:Honey Encryption Beispiel.png|мини|справа|350x350пкс|Визуализация примера]]
* Шифруется основной компонент из [[RGB|RGB палитры]], поэтому возможные сообщения — это r (красный), g (зелёный) и b (синий). Известно распределение вероятностей сообщений, а именно синий избирается с вероятностью 50 %, а два других сообщения — по 25 % каждое. DTE (справа на рисунке) сопоставляет выбранное сообщение с сидом (в центре). На рисунке сообщение, которое должно быть зашифровано зелёным цветом, присваивается сиду 01. Ключ 10 теперь [[Сложение по модулю 2|складывается по модулю 2]] с этим сидом:
* Шифруется основной компонент из [[RGB|RGB палитры]], поэтому возможные сообщения — это r (красный), g (зелёный) и b (синий). Известно распределение вероятностей сообщений, а именно синий избирается с вероятностью 50 %, а два других сообщения — по 25 % каждое. DTE (справа на рисунке) сопоставляет выбранное сообщение с сидом (в центре). На рисунке сообщение, которое должно быть зашифровано зелёным цветом, присваивается сиду 01. Ключ 10 теперь складывается по модулю 2 с этим сидом:


:: <math>01 \oplus 10 = 11</math>
:: <math>01 \oplus 10 = 11</math>
Строка 50: Строка 55:
| год = May 2014
| год = May 2014
| pages = 1—16
| pages = 1—16
| doi = 10.1007/978-3-642-55220-5_17
| ref = Juels, Ristenpart
| ref = Juels, Ristenpart
}}
}}
Строка 66: Строка 72:
| год = 2014
| год = 2014
| pages = 59—62
| pages = 59—62
| doi = 10.1109/MSP.2014.67
| ref = Juels(IEEE)
| ref = Juels(IEEE)
}}
}}
Строка 74: Строка 81:
| год = 1999
| год = 1999
| pages = 8
| pages = 8
| doi = 10.1109/SECPRI.1999.766915
| ref = Hoover, Kausik
| ref = Hoover, Kausik
}}
}}
Строка 82: Строка 90:
| год = 2010
| год = 2010
| pages = 286-302
| pages = 286-302
| doi = 10.1007/978-3-642-15497-3_18
| ref = Bojinov
| ref = Bojinov
}}
}}
Строка 90: Строка 99:
| год = 2013
| год = 2013
| pages = 145-160
| pages = 145-160
| doi = 10.1145/2508859.2516671
| ref = Rivest
| ref = Rivest
}}
}}
* {{статья

| автор = Omolara O. E., Jantan A., Abiodun O. I.
==Сcылки==
| заглавие =A comprehensive review of honey encryption scheme
| издательство = TELKOMNIKA Indonesian Journal of Electrical Engineering
| год = 2019
| pages = 13(2):649-656
| doi = 10.11591/ijeecs.v13.i2.pp649-656
| ref = Jantan
}}
* {{статья
| автор = Yin W., Indulska J., Zhou H.
| заглавие =Protecting Private Data by Honey Encryption
| издательство = Hindawi Security and Communication Networks
| год = 2017
| pages = 9
| doi = 10.1155/2017/6760532
| ref = Yin
}}
==Ссылки==
*[http://ec14.compute.dtu.dk Веб-сайт конференции Eurocrypt 2014]
*[http://ec14.compute.dtu.dk Веб-сайт конференции Eurocrypt 2014]
*''Mimoso, Michael'' [https://threatpost.ru/medovoe-shifrovanie-obmany-vaet-hakerov-lozhnoj-deshifrovkoj/1394/ «Медовое» шифрование обманывает хакеров ложной дешифровкой]
*''Mimoso, Michael'' [https://threatpost.ru/medovoe-shifrovanie-obmany-vaet-hakerov-lozhnoj-deshifrovkoj/1394/ «Медовое» шифрование обманывает хакеров ложной дешифровкой]

Версия от 21:38, 10 декабря 2019

Медовое шифрование — тип симметричного шифрования, при котором шифротекст расшифровывается с любым допустимым ключом в правдоподобный открытый текст[1].

История создания

В 1999 Д. Хувер и Б. Хосик рассмотрели проблему шифрования секретной экспоненты в RSA и секретного ключа в DSA и предложили алгоритм маскировки секретной компоненты с помощью PIN-кода (шести-восьмизначной строки). В своем докладе они утверждали, что дешифрование методом «грубой силы» будет давать результат такой же структуры, что и открытый текст, и злоумышленник не сможет различить правильно расшифрованные данные от многих правдоподобных, но ложных расшифровок, что дает возможность, например, уменьшить размерность пространства ключей[2].

В последующем были предложены системы[3][4] хранения паролей, использующие схожий метод маскировки сохраненных аутенфикационных данных среди списка явно поддельных, для предотвращения рассекречивания базы данных в случае, к примеру, утечки хeш-файла паролей.

Основываясь на подобных системах маскировки, Ари Джулз из Корнеллского Университета и Томас Ристенпарт из Университета Висконсина представили доклад о медовом шифровании на конференции Eurocrypt[англ.] 2014.

Особенности алгоритма

Атака методом «грубой силы» представляет собой взлом путём перебора всех возможных вариантов ключа, что эквивалентно выбору случайных открытых текстов из пространства всех возможных открытых текстов с дискретным равномерным распределением. Это может быть эффективным, несмотря на то что злоумышленник с равной вероятностью получает любой возможный открытый текст, большинство открытых текстов крайне неправдоподобны, другими словами распределение разумных открытых текстов неравномерно. Медовое шифрование защищает от подобных атак, в первую очередь благодаря преобразованию пространства открытых текстов в такое пространство, что распределение правдоподобных открытых текстов в нём равномерно. Таким образом, угадывающий ключи злоумышленник будет часто получать разумно выглядящие тексты, а случайно выглядящие тексты редко. Это затрудняет понимание, был ли правильный ключ угадан. В сущности, медовое шифрование выдаёт ложные данные в ответ на каждое неверное предположение о пароле или ключе шифрования[5].

Безопасность медового шифрования основана на том, что вероятность того, что злоумышленник сочтёт открытый текст верным, может быть рассчитана (шифрующей стороной) во время шифрования. Это затрудняет применение медового шифрования в определённых приложениях, где пространство открытых текстов очень велико или их распределение неизвестно. Также это означает, что медовое шифрование может быть уязвимо для атак методом «грубой силы», если эта вероятность будет неправильно посчитана. Например, он уязвим для атак на основе открытых текстов, если у злоумышленника есть «шпаргалка» (англ. crib — подсказка)[Прим. 1], это значит, что он обладает определённым числом открытых текстов и соответствующих им шифротекстов, то возможно перебрать даже данные, зашифрованные медовым методом, если её наличие не было учтено при зашифровке[6].

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

Принцип действия

Различают три набора: набор всех сообщений (пространство сообщений), набор всех ключей (пространство ключей) и набор так называемых сидов или начальных чисел (сид (англ. Seed) пространство). Также важной частью медового шифрования является кодер преобразования с распределением или DTE (от англ. Distribution Transforming Encoder) состоящий из двух алгоритмов кодирования и декодирования, устанавливающих связь между пространствами и . При кодировании обычный текст сопоставляется с сидом с помощью DTE, а затем преобразуется в зашифрованный текст с использованием метода шифрования c выбранным ключом. Во время декодирования сид снова получается после декодирования с ключом, который затем транслируется DTE в правильное сообщение.[8]

Сообщение может быть назначено нескольким сидам, но для каждого сида только одно сообщение. Если для сообщения возможно несколько сидов, в алгоритме кодирования случайно выбирается ровно один. Таким образом, этот алгоритм рандомизирован, а алгоритм декодирования детерминирован[9]. Количество сидов, которое может быть назначено сообщению соответствует его вероятности. Как следствие, отношение количества сидов, принадлежащих сообщению, ко всем возможным, должно максимально соответствовать вероятности сообщения. Таким образом, для создания DTE должно быть известно дискретное распределение вероятности появления сообщений[10].

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

Способ построения DTE

Все сообщения в сортируются в некотором порядке, причем оно должно быть достаточно большим, чтобы каждое сообщение можно было сопоставить хотя бы с одним сидом. Затем вычисляются вероятность и функция распределения каждого сообщения. Далее DTE сопоставляет открытое текстовое сообщение с диапазоном значений из , причем начало диапазона сидов определяется функцией распределения, а конец — вероятностью данного сообщения. После чего DTE случайным образом выбирает сид из этого диапазона и выполняет сложение по модулю 2 с ключом для получения зашифрованного текста. При дешифровании сид получается после сложения по модулю 2 шифротекста с ключом. Затем DTE определяет местоположение сида в , оно соответствует значению вероятности, которое лежит между функцией распределения искомого сообщения и следующего за ним в . Посредством поиска по таблице соответствий сообщения и его DTE восстановит исходное текстовое сообщение[12].

Примеры

  • Зашифрованный номер кредитной карты подвержен атакам методом перебора, потому что не каждый набор цифр одинаково вероятен. Количество цифр может варьироваться от 13 до 19, хотя 16 является наиболее распространённым. Кроме того, он должен иметь действительный идентификационный номер INN[англ.], а последняя цифра должна соответствовать контрольной сумме. Злоумышленник также может учитывать популярность различных сервисов: получить IIN из MasterCard, вероятнее, чем IIN из Diners Club Carte Blanche. Медовое шифрование может защитить от этих атак, сначала сопоставив номера кредитных карт областям в пространстве, где они соответствуют вероятности их легитимности. Номера с недействительными IIN и контрольными суммами вообще не отображаются на какую-либо область. Номера крупных брендов, таких как MasterCard и Visa, сопоставляются с большими регионами этого пространства, в то время как менее популярные сервисы отображаются с более мелкими регионами и так далее. Злоумышленник, перебирая такую схему шифрования, будет получать правдоподобные номера кредитных карт, и типы номеров будут появляться с ожидаемой им частотой[13].
Визуализация примера
  • Шифруется основной компонент из RGB палитры, поэтому возможные сообщения — это r (красный), g (зелёный) и b (синий). Известно распределение вероятностей сообщений, а именно синий избирается с вероятностью 50 %, а два других сообщения — по 25 % каждое. DTE (справа на рисунке) сопоставляет выбранное сообщение с сидом (в центре). На рисунке сообщение, которое должно быть зашифровано зелёным цветом, присваивается сиду 01. Ключ 10 теперь складывается по модулю 2 с этим сидом:
11 — это шифротекст. Во время дешифрования зашифрованный текст повторно складывается по модулю 2 с ключом:
Это снова сид, который затем сопоставляется с исходным сообщением DTE. Сообщение снова расшифровано.
Если злоумышленник пробует ключ, например, 00, он складывает зашифрованный текст с этим ключом и получает , который декодируется синим цветом. Злоумышленник не может определить, является ли это сообщение правильным или неправильным.

Примечания

Комментарии
  1. Слово crib (как существительное, так и глагол) имеет в английском десятки значений, в том числе сленговых. В частности, на школьном сленге crib означает подсказку, шпаргалку и т. п. незаконные методы сдачи экзаменов
Источники

Литература

  • Juels A., Ristenpart T. Honey Encryption: Security Beyond the Brute-Force Bound // In Eurocrypt 2014, Kopenhagen, Dänemark,. — May 2014. — P. 1—16. — doi:10.1007/978-3-642-55220-5_17.
  • Juels A. The Password That Never Was. — Harvard University, 2014. — P. 1—17.
  • Juels A., Ristenpart T. Honey Encryption – Encryption beyond the Brute – Force Barrier. — IEEE Security & Privacy, 12(4), 2014. — P. 59—62. — doi:10.1109/MSP.2014.67.
  • Hoover D. N., Kausik B. N. Software smart cards via cryptographic camouflage. — IEEE Symposium on Security and Privacy (Cat. No.99CB36344), 1999. — P. 8. — doi:10.1109/SECPRI.1999.766915.
  • Bojinov H., Bursztein E., Boyen X., Boneh D. Kamouflage: loss-resistant password management. — ESORICS, 2010. — P. 286-302. — doi:10.1007/978-3-642-15497-3_18.
  • Juels A., Rivest R. Honeywords: Making password-cracking detectable. — ACM Conference on Computer and Communications Securityy — CCS, 2013. — P. 145-160. — doi:10.1145/2508859.2516671.
  • Omolara O. E., Jantan A., Abiodun O. I. A comprehensive review of honey encryption scheme. — TELKOMNIKA Indonesian Journal of Electrical Engineering, 2019. — P. 13(2):649-656. — doi:10.11591/ijeecs.v13.i2.pp649-656.
  • Yin W., Indulska J., Zhou H. Protecting Private Data by Honey Encryption. — Hindawi Security and Communication Networks, 2017. — P. 9. — doi:10.1155/2017/6760532.

Ссылки