Повышение безопасности в пороговой схеме разделения секрета Шамира при помощи использования модульной арифметики | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Библиографическое описание:

Повышение безопасности в пороговой схеме разделения секрета Шамира при помощи использования модульной арифметики / А. Ю. Зыбкин, Д. К. Осипов, Р. Р. Закороев [и др.]. — Текст : непосредственный // Молодой ученый. — 2019. — № 47 (285). — С. 84-87. — URL: https://moluch.ru/archive/285/64317/ (дата обращения: 19.12.2024).



Ключевые слова: информация, защита информации, пороговые схемы разделения секрета, схема Шамира.

Защита информации — деятельность, направленная на предотвращение утечки защищаемой информации, несанкционированных и непреднамеренных воздействий на защищаемую информацию [1, с. 1].

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

Пороговая схема разделения секрета представляет из себя такую (k, n) схему, в которой секрет делится между участниками в количестве «n» и для восстановления секрета требуется любая группа из не менее, чем «k» участников. Обязательным условием для пороговых схем является неравенство: k < n.

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

Идея схемы Шамира заключается в том, что для интерполяции многочлена, степень которого k-1, требуется k точек. Если число известных точек меньше k, то интерполяция невозможна.

Если мы рассматриваем полином первой степени, например f(x) = x+4, то для того, чтобы построить эту функцию нам понадобится минимум две точки. Если полином будет второй степени, например f(x) = x2+5x+3, то для построения графика такой функции потребуется, по крайней мере, три точки и так далее.

Теперь более подробно рассмотрим, как происходит разделение и восстановление секрета.

1) Разделение секрета

Предположим, что наш секрет S равен 42. Превращаем данное число в точку на декартовой системе координат (0,42). Затем требуется придумать такую полиномиальную функцию, которая бы удовлетворяла данной точке, и степень которой была бы k-1, где k — порог требуемых долей секрета, для его восстановления. Полином будет иметь вид f(x)=a0+a1x+a2x2+…+ak-1xk-1, где:

  • a0 =S;
  • a1,a2,…,ak-1 — положительные целые числа, которые выбираются случайным образом.

Для нашего примера примем пороговое значение долей для восстановления секрета k=3, всего же будем генерировать 5 долей секрета. Наша полиномиальная функция будет следующая: f(x) = 42+3x+5x2. Далее раздаём 5 фрагментов секрета, при условии, что x не равен 0, поскольку это наш секрет. Получаем следующие фрагменты: (18, 1716), (23,2756), (27, 3768), (31, 4940) и (35, 6272) и отправляем по одному фрагменту каждому из пяти хранителей «ключа». Стоит заметить, что k=3 является открытой информацией.

2) Восстановление секрета

Если любые трое из пяти доверенных лиц хотят восстановить секрет S, тогда им нужно восстановить полином, используя свои доли. Для этого они с помощью своих точек, пусть это будут: (18, 1716), (23,2756), (27, 3768), должны рассчитать интерполяционный полином Лагранжа, используя следующие формулы:

В нашем случае это будет выглядеть следующим образом:

В итоге получаем:

Поскольку нам известно, что S=P(0), то восстановление секрета осуществить просто:

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

Чтобы показать это наглядно, рассмотрим ситуацию, когда злоумышленнику стали известны две точки (18, 1716) и (23,2756), а так же он знает открытую информацию, что k=3. Исходя из известной ему информации, он может вывести полином второй степени и подставить известные ему значения:

Затем злоумышленник может узнать значение коэффициента a1, вычислив разность между f(23) и f(18):

Так как наши коэффициенты a1,a2,…,ak-1 являются целыми положительными числами, то число возможных вариантов значения коэффициента a2 сводится к минимуму. То есть злоумышленнику становится известно, что a2 может принимать следующие значения: 1, 2, 3, 4 и 5, поскольку, если a2 будет больше 5, то коэффициент a1 станет отрицательным, а это невозможно. Затем злоумышленник может, подставив значение a1, вывести формулу для вычисления секрета, например для точки (23,2756):

Учитывая, что число вариантов для коэффициента a2 ограниченно становится понятно, что подобрать и проверить значение секрета S не составит труда.

Для устранения этой проблемы Шамиром было предложено использование модульной арифметики. Суть заключается в замене f(x) на f(x)mod p, где p принадлежит множеству простых чисел, а также p > S и p > n. Это простое число p является порядком конечного поля, то есть поля, элементами которого являются целые числа 0, 1, 2,…, p-1, а все математические операции в этом поле производятся по модулю p.

Продемонстрируем, как это повысит безопасность схемы. В качестве p будем использовать число 79. Оно является простым и больше секрета и числа участников, между которыми делится секрет, следовательно, удовлетворяет всем условиям. Наш полином принимает вид:

Поскольку полиномиальная функция изменилась, то фрагменты (точки) так же примут новый вид: (18,57), (23, 70), (27, 55), (31, 42) и (35, 31). Пусть первые трое участников решили восстановить значение секрета. Для восстановления рассчитаем интерполяционный полином Лагранжа. Поскольку значение секрета находится при x=0, воспользуемся немного изменёнными формулами:

Тогда получим:

После решения полученного выражения получаем, что S=42. Таким образом, значение секрета восстанавливается. Теперь разберёмся, как модульная арифметика позволяет повысить безопасность.

Допустим, кроме публичной информации k=3 и p=79, злоумышленнику стали известны два фрагмента (18,57) и (23, 70). На основе имеющиеся у него информации он может вывести следующие формулы, где qx — коэффициент f(x), который показывает целочисленную часть результата деления f(x) на 79:

Теперь злоумышленник может найти значение a1, вычислив разность между f(23) и f(18):

Далее он может попытаться вывести значение S, подставив a1:

На этот раз злоумышленник столкнётся с серьёзной проблемой, ему, кроме неизвестного секрета S, будут так же неизвестны значения a2,q18 и q23. Поскольку, возможно бесконечное число различных комбинаций этих параметров, то он не сможет получить никаких сведений о значении секрета. Следовательно, можно сделать вывод, что модульная арифметика исключает проблему описанную ранее.

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

Литература:

  1. ГОСТ Р 50922–2006 Защита информации. Основные термины и определения. — М.: Стандартинформ, 2008. — 12 с.
  2. Зыбкин А. Ю. Исследование эффективности применения схемы разделения секрета Шамира в области информационной безопасности: диплом. работа. Санкт-Петербургский государственный морской технический университет, СПб, 2019.
  3. Adi Shamir. How to Share a Secret/ Adi Shamir// Massachusetts Institute of Technology. — 1979. — Ноябрь. — c. 612–613
Основные термины (генерируются автоматически): значение секрета, восстановление секрета, модульная арифметика, пороговая схема разделения секрета, защита информации, полиномиальная функция, секрет, число, злоумышленник стали, интерполяционный полином.


Похожие статьи

Векторизация слов для нечеткого поиска в вопросно-ответных системах

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

Повышение эффективности размещения элементов БИС на основе алгоритмов машинного обучения

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

Применение искусственных нейронных сетей для прогнозирования DoS атак

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

Методы детектирования искусственных новостей

В статье решается задача детектирования искусственных новостей. Используются классические методы машинного обучения, такие как метод опорных векторов и случайный лес, а также методы глубокого обучения — нейронная сеть LSTM, языковые модели BERT и XLN...

Методы детектирования состязательных атак

В статье рассматривается подходы к детектированию состязательных атак. Используются такие классические атаки как FSGM, Deep Fool, C&W и PGD, нейронная сеть ResNet-18, датасеты MNIST и CIFAR-10.

Пороговые криптосистемы как один из вариантов модификации асимметричных криптосистем

Принципы построения безопасности Bluetooth

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

Ключевые моменты в развитии сверточных нейронных сетей

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

Использование сети Хемминга для автоматической коррекции ошибок

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

Нейронные сети, обучаемые на основе алгоритма обратного распространения ошибки

В статье приводится обзор алгоритма обучения на основе обратного распространение ошибки. В результате были оценены параметры нейронной сети с применением алгоритма обратного распространение ошибки. Полученные результаты являются примером работы искус...

Похожие статьи

Векторизация слов для нечеткого поиска в вопросно-ответных системах

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

Повышение эффективности размещения элементов БИС на основе алгоритмов машинного обучения

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

Применение искусственных нейронных сетей для прогнозирования DoS атак

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

Методы детектирования искусственных новостей

В статье решается задача детектирования искусственных новостей. Используются классические методы машинного обучения, такие как метод опорных векторов и случайный лес, а также методы глубокого обучения — нейронная сеть LSTM, языковые модели BERT и XLN...

Методы детектирования состязательных атак

В статье рассматривается подходы к детектированию состязательных атак. Используются такие классические атаки как FSGM, Deep Fool, C&W и PGD, нейронная сеть ResNet-18, датасеты MNIST и CIFAR-10.

Пороговые криптосистемы как один из вариантов модификации асимметричных криптосистем

Принципы построения безопасности Bluetooth

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

Ключевые моменты в развитии сверточных нейронных сетей

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

Использование сети Хемминга для автоматической коррекции ошибок

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

Нейронные сети, обучаемые на основе алгоритма обратного распространения ошибки

В статье приводится обзор алгоритма обучения на основе обратного распространение ошибки. В результате были оценены параметры нейронной сети с применением алгоритма обратного распространение ошибки. Полученные результаты являются примером работы искус...

Задать вопрос