Схемы разделения секрета для произвольных структур доступа
Схемы разделения секрета для произвольных структур доступа (англ. Secret sharing with generalized access structure) — схемы разделения секрета, которые позволяют задать произвольный набор групп участников (квалифицированных подмножеств), имеющих возможность восстановить секрет (структуру доступа).
История
В 1979 году израильский криптоаналитик Ади Шамир предложил пороговую схему разделения секрета между сторонами, обладающую следующими свойствами:
- Для восстановления секрета достаточно и больше сторон.
- Никакие и меньше сторон не смогут получить никакой информации о секрете.[1]
Такой подход нашел много применений. Например, для многопользовательской авторизации в инфраструктуре открытых ключей, в цифровой стеганографии для скрытой передачи информации в цифровых изображениях, для противодействия атакам по сторонним каналам при реализации алгоритма AES.
Однако более сложные приложение, где определённые группы участников могут иметь доступ, а другие нет, не вписываются в модель пороговых схем. Для решения этой проблемы были разработаны схемы разделения секрета для произвольных структур доступа.
Японские ученые Мицуро Ито, Акиро Саито и Такао Нишизеки первые начали изучать разделение секрета для произвольных структур доступа и в 1987 году предложили свою схему.[2] Их мысль развили Джош Бенало и Джерри Лейхтер, предложив в 1988 году схему разделения для монотонных структур.[3] В 1989 Эрнест Бриккелл предложил схему, в которой участникам раздаются не доли секрета, а их линейные комбинации.[4]
Определение используемых терминов
Дилер — участник процедуры (протокола), который, зная секрет, вычисляет доли секрета и раздаёт эти доли остальным участникам.
Квалифицированное подмножество — множество участников группы, для которого разрешено восстановление секрета.
Примером, иллюстрирующим появление квалифицированных подмножеств, может служить разделение секрета между управленцами. В случае, если секрет может быть восстановлен либо всеми тремя управленцами, либо любым управленцем и любым вице-президентом, либо президентом в одиночку,[1] квалифицированными подмножествами будут президент, вице-президент и управленец, или любые три управленца.
Структура доступа — перечисление квалифицированного и неквалифицированных подмножеств.
Пусть — множество участников группы, — количество участников группы, — множество, состоящее из всех возможных подмножеств участников группы. Пусть — множество, состоящее из подмножеств участников, которым разрешено восстановление секрета (квалифицированные множества участников), — множество, состоящее из подмножеств участников, которые не могут восстановить секрет. Структура доступа обозначается как (,).
Структура доступа называется монотонной, если все надмножества квалифицированных подмножеств также входят в , то есть
Предположим (,) — структура доступа на . называют минимальным квалифицированным подмножеством, если всегда, когда . Множество минимальных квалифицированных подмножеств обозначается как и называется базисом . Минимальное квалифицированное подмножество однозначно задает структуру доступа.
Схема Бенало-Лейхтера
Пусть задана монотонная структура доступа и — множество минимальных квалифицированных подмножеств, соответствующее . Пусть . Для каждого вычисляются доли секрета для участников этого подмножества с помощью любой — пороговой схемы разделения секрета.
Доля секрета передается соответствующему участнику. В результате каждый участник получает набор долей секрета. Восстановление секрета происходит по выбранной (n, n)-пороговой схеме.[3]
Пример:
Здесь, например, является вторым в , поэтому он получает доли секрета
Аналогично для остальных участников
Недостаток данной схемы — возрастающий объём долей секрета для каждого участника при увеличении [5][6].
Схема Ито-Саито-Нишизеки
Ито, Саито, Нишизеки представили так называемую технику кумулятивного массива для монотонной структуры доступа.[2]
Пусть — монотонная структура доступа размером и пусть — соответствующие ей максимальные неквалифицированные подмножества участников.
Кумулятивный массив структуры доступа есть матрица размеров , где и обозначается как . То есть столбцы матрицы отвечают неквалифицированным подмножествам, а значение по строкам внутри столбца будет единицей, если элемент не входит в данное подмножество.
В данной схеме можно использовать любую — пороговую схему разделения секрета с секретом и соответствующими долями
Доли соответствующие секрету будут определятся как множество :
Восстановление секрета происходит по выбранной — пороговой схеме.
Сложность реализации данной схемы, достигнутая в 2016 году составляет .[7]
Пример:
Пусть , .
Соответствующее множество минимальных квалифицированных подмножеств
В этом случае и .
Кумулятивный массив структуры доступа имеет вид
Доли секрета участников равны
Восстановление секрета аналогично восстановлению секрета в — пороговой схеме Шамира.
Линейная схема разделения секрета Брикелла
Для структуры доступа и набора участников составляется матрица размера , в которой строка длины ассоциируется с участником . Для подмножества участников , которому соответствует набор строк матрицы — , должно выполняться условие, что вектор принадлежит линейной оболочке, натянутой на .
Дилер выбирает вектор , где разделяемый секрет . Доля секрета участника :
Восстановление секрета.
Выбирается вектор , длины , — вектор, составленный из координат , соответствующих набору участников .
Для каждого должно выполняться условие: . Тогда секрет можно восстановить по формуле:
Пример:
Множество минимальных квалифицированных подмножество .
Подходящая матрица:
удовлетворяет требованию схемы:
Для :
Для :
Доли секрета каждого участника:
Восстановление секрета:
Для восстановления секрета выбирается
Тогда для :
А для :
Применение
Данные схемы применяются в протоколах условного раскрытия секрета (англ. conditional disclosure of secrets, CDS)[8], безопасных распределенных вычислениях[9][10][11], задачах распределения ключей[12] и схемах аутентификации нескольких приемников[13].