Русский
Русский
English
Статистика
Реклама

Как поделиться своими секретами и остаться в выигрыше

Из этой статьи вы узнаете:

  • Что такое схемы разделения секрета и с чем их едят

  • Чем хороши пороговые схемы

  • Идея схемы Миньотта

  • Идея схемы Карнина-Грина-Хеллмана

  • Где применяются такие схемы

Что такое схемы разделения секрета и зачем они нужны?

Начну свое повествование с примера, описанного в книге неизвестного бельгийского автора "Gent und seine Schnheiten". В городе Генте была построена ратушная башня, в одной из комнат которой хранились очень важные документы. Эти документы лежали в шкафу, закрывавшемся на три замка, шкаф - в яйце, яйцо - в утке, утка - в зайце... Один ключ от шкафа хранился у фогта, а два других у главного шеффена. В секретной комнате было две двери, каждая с тремя замками. Ключи от этих замков находились во владении различных цехов. Таким образом, получить доступ к документам могли только совместно собравшиеся представители трех цехов, фогт и шеффен.

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

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

Основные понятия

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

  • Доля секрета - некоторая уникальная для каждого участника процесса информация, помогающая восстановить секрет

  • Дилер - доверенное лицо, которое производит распределение долей секрета между участниками

  • Разделение секрета - фаза подсчета и раздачи долей секрета

  • Восстановление секрета - фаза сбора долей секрета и подсчета самого секрета

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

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

Что было с городскими документами история умалчивает, но понимая последствия подобных протоколов разделения секрета, люди придумали пороговые (t, n) схемы. Имея n частей секрета, можно восстановить его, используя только t из них. Если любая группа из t-1 или меньше сторон не могут восстановить секрет, то такая схема называется совершенной. В случае, когда размер долей секрета такой же, как и у самого секрета, то схема называется идеальной.

Если бы работники администрации города Генте знали о таком методе, они бы выбрали n хранителей ключей, но построили бы систему безопасности таким образом, что нужно было бы не менее t из n участников процесса чтобы получить доступ к секрету. Однако, в случае заговора, несколько хранителей ключа, количество которых было бы меньше t, не смогли бы открыть двери и украсть документы.


Рассмотрим далее несколько пороговых схем, которые не так популярны, как, например, схема Блэкли и схема Шамира.

Схема Миньотта

Данный метод основан на китайской теореме об остатках. Звучит она следующим образом:

Если натуральные числа a_1,a_2, .., a_n взаимно просты, то для любых чисел r_1,r_2,..,r_n таких, что 0\leq r_i <a_i при всех i \in {1,2,..,n} найдется число N которое при делении на a_i дает остаток r_i для всех i \in {1,2,..,n} . Более того, если найдутся два таких числа N_1 и N_2 , то N_1 \equiv N_2 \ (mod \ a_1a_2...a_n) .

Иными словами, теорема позволяет утверждать о единственности решения системы:

В схеме Миньотта используются так называемые последовательности Миньотта последовательности взаимно простых положительных чисел

p_1<p_2<<p_n такие, что \prod _{i=0} ^{t-2} p_{n-i}< \prod _{i=1} ^{t} p_{i} при том, что n целое, n2 и 2tn .

Наконец, опишем алгоритм схемы разделения секрета. Имеется открытая последовательность Миньотта, из которой выбирается случайным образом секрет S. Обозначим

\alpha = \prod _{i=1} ^{t} p_i \\ \beta = \prod _{i=0} ^{t-2} p_{n-i}

и потребуем чтобы <S< .

Задача дилера в этом случае заключается в вычислении долей секрета I_i по формуле I_i=S (mod \ p_i )\ \ 1in и распределении их между участниками.

Восстанавливается секрет с помощью t значений I_i . Составляется система:

По китайской теореме об остатках она имеет единственное решение, лежащее в пределах Z_{p_1,,p_t} так как S< . В случае попытки решить систему имея t-1 долей секрета, можно считать, что Sx_0 (mod\ p_1 p_{t-1}) где x_0 единственное решение системы с t-1 уравнениями. Отсюда следует, что подобрать секрет будет тем сложнее, чем больше будет последовательность Миньотта, то есть чем выше значение \frac{-}{} .

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

Схема Карнина-Грина-Хеллмана

Следующая схема основана на том, что невозможно однозначно решить систему c t неизвестными, имея меньше, чем t уравнений. Все действия происходят в конечном поле. На этапе разделения секрета случайным образом выбирается n+2 различных векторов U,V_0,V_1, ,V_n размерности t так, чтобы ранг любой матрицы размером t x t, составленной из этих векторов, был равен t (то есть все вектора выбираем попарно линейно независимыми). При этом значения V_0,V_1, ,V_n являются открытыми. Секретом S будет служить скалярное произведение U,V_0 а долями секрета скалярные произведения _i=U,V_i \ \ 1in .

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

Система имеет единственное решение, так как на этапе распределения секрета выбирались линейно независимые векторы, значит определитель матрицы не равен нулю. Найдя вектор U, легко восстановить секрет путем вычисления скалярного произведения U,V_0 .

Если злоумышленник получит меньше, чем t значений, система будет иметь бесконечное количество решений и любое из них равновероятно может быть искомым секретом. Это означает, что схема Карнина-Грина-Хеллмана является совершенной. Однако, размер каждой доли секрета в t раз больше самого секрета, что делает схему не идеальной.

Применение схем разделения секрета

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

Для создания пороговых криптосистем могут использоваться такие системы открытого шифрования, как:

  • Криптосистема RSA

  • Криптосистема Эль-Гамаля

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

Источники

Источник: habr.com
К списку статей
Опубликовано: 20.12.2020 02:12:46
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Информационная безопасность

Криптография

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

Алгоритмы

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru