Протокол идентификации Шнорра совместим с режимом моментальной цифровой подписи
В настоящей публикации приводиться описание модификации протокола идентификации Шнорра, совместимого с режимом моментальной цифровой подписи.
Введение
В публикации приводится описание интерактивного протокола идентификации Шнорра (далее протокол Шнорра) и сформулирована проблема совместимости этого протокола с режимом моментальной электронной цифровой подписи (МЭЦП). В настоящей заметке показано как модифицировать протокола Шнорра так, чтобы обеспечить такую совместимость.
МЭЦП-совместимый протокол Шнорра
Напомним, что некоторые сведения об арифметике точек эллиптической кривой, а также пояснение относительно ECDLP и DLP, можно почерпнуть из этой публикации.
В целях упрощения оставим без изменения всё, что касается протокола Шнорра, в том числе пару ключей и сертификат
Если интерпретировать необходимое условие, то МЭЦП-совместимость возможна тогда, когда и способны вычислить некоторую общую секретную компоненту. Такой компонентой может быть общий сессионный секретный ключ. Покажем как это сделать на примере протокола Шнорра. Обозначим криптографическую хеш-функцию как
Внесём в протокол некоторые изменения. Воспользуемся следующим приёмом: «спрячем» эфемериду в точке кривой. Это приводит к тому, что также превращается в точку. В результате получим следующий протокол.
Сообщения протокола.
Действия сторон.
выбирает вычисляет проверяет условие Если то выбирает новое и заново выполняет необходимые вычисления и проверки;
считывает действующий сертификат и проверяет ЭЦП где — общедоступный ключ доверенной стороны Если то сессия завершается. Если то выбирает и вычисляет Если то выбирает новое и заново выполняет необходимые вычисления и проверки;
проверяет условие если выполняется, то вычисляет в противном случае сессия завершается;
вычисляет Затем проверяет Если равно, то доказательство принимается, и отвергается в противном случае.
Итак, предположим, что этап идентификации завершился успешно и принял предоставленное доказательство.
К этому моменту располагает следующим набором данных: по построению), (получил от в качестве знает (получил от в качестве (по построению), (получил от в качестве
Стороны независимо формируют общий сессионный секретный ключ в соответствии со следующими правилами:
вычисляет
вычисляет
Очевидно, что в силу коммутативности. Следовательно, Что касается МЭЦП, то
формирует подпись для заданного сообщения при помощи с учётом значения хеш-функции
проверяет подпись для некоторого сообщения при помощи с учётом значения хеш-функции
Преимущество рассмотренного решения в том, что изменения касаются арифметических операций и не затрагивают логику протокола. Это важное обстоятельство, так как любые принципиальные модификации инициируют исследование криптостойкости новой конструкции со всеми вытекающими последствиями.
Ранее мы отмечали, что в нашем распоряжении имеется протокол с аналогичной функциональностью, который решает поставленную задачу, но при этом позволяет распознать принадлежность доказывающего к локальному сообществу зарегистрированных участников.
Предварительный анализ
Заметим, что известны только и соответственно. Тогда злоумышленник может получить или отыскав решение ECDLP при условии или соответственно. Также можно найти решение DLP при условии или Назначение функции , а также связь между ECDLP и DLP объясняется в Приложении A. Поскольку то сформировать МЭЦП может только тот, кто знает или , а также секретный ключ выбранной для этой цели произвольной схемы ЭЦП.
Активный злоумышленник, используя технику перехвата и блокировки, способен навязать вместо вместо и вместо при Например, это могут быть сообщения другой сессии. Однако с подавляющей вероятностью отвергнет предоставленное доказательство, так как и с пренебрежимо малой вероятностью. Кроме этого, и с пренебрежимо малой вероятностью.
Количество передаваемой информации
Воспользуемся компактным представлением точки кривой [Cohen_etc._2006] (раздел 13.2.5).
Точка задана парой координат Если лежит на кривой, то справедливо уравнение для некоторых Это уравнение можно интерпретировать как где — квадратичный вычет и тогда существует ровно два решения При решение Если — чётное, то — нечётное, и наоборот. В общем случае из двух решений всегда одно — чётное, а другое — нечётное.
Пусть точка представлена координатой Будем передавать по каналу связи где — бинарный признак, который позволяет определить нужное решение из пары возможных. Примем за правило, что означает чётность, а — нечётность. Например, для следует получить пару и затем из этой пары выбрать нечётное решение.
Для хранения произвольной точки кривой потребуется бит памяти. В квадратный корень вычисляется по алгоритму Tonelli-Shanks асимптотической трудоёмкости [Cohen_etc._2006] (раздел 11.1.5).
Тогда для восстановления точки выполняют следующие действия.
Для заданной координаты при помощи алгоритма Tonelli-Shanks вычисляют некоторую координату
Если то
Если то
Если то
Если то
Если применяется компактное представление, то для доставки и в совокупности потребуется передать бит. Для сравнения, в исходном протоколе Шнорра при тех же условиях для доставки и в совокупности необходимо передать бит.
Оптимизация вычислений
Трудоёмкость зависит от методов вычисления скалярного произведения, а также выбора вычислительной платформы. Так, например, испытания, которые проводились при помощи тестового стенда, реализованного на языке программирования Scala v2.13.6 на аппаратной платформе MacBook Pro (15-inch, 2016) c 4-ядерным процессором Intel Core i7 под управлением macOS Monterey версия 12.6.2 с привлечением примитивов из библиотеки PBC показывают, что за счёт предобработки, возможной для константы скалярное произведение в среднем на % эффективнее скалярного произведения где Результаты замеров сведены в Таблицу 1.
Режим МЭЦП и сертификаты общедоступных ключей
Сторона владеет парой ключей Для общедоступного ключа выпускается соответствующий сертификат. Необходимо ответить на следующий вопрос: какую пользу можно извлечь из режима МЭЦП при наличии сертификата общедоступного ключа?
Пусть для общедоступного ключа выпущен сертификат где — ЭЦП доверенной стороны — персональные данные и — секретный ключ предназначенный для формирования ЭЦП сертификата.
Поставим мысленный эксперимент и в отсутствии режима МЭЦП предположим, что передаёт некоторые заверенные ЭЦП персональные данные При этом утверждает, что — его собственные персональные данные. Следует сразу оговориться, эти данные могли быть получены различными способами, например, в результате сговора, применения методов социальной инженерии или просто скопированы из общедоступной долговременной памяти. Для проверки ЭЦП сторона должна воспользоваться общедоступным ключом из сертификата Предположим также, что все необходимые проверки подтвердили подлинность и целостность
В итоге располагает двумя сертификатами и каждый из которых выпущен доверенным удостоверяющим центром. Рассмотрим случай, когда ( трактуется однозначно). В результате не в состоянии сделать правильный выбор относительно или поскольку отсутствует критерий принятия решения. Очевидно, что подобная неопределённость недопустима.
Если задействовать режим МЭЦП, то принимая решение относительно или сторона опирается на доказательство, которое было предоставлено на этапе идентификации. Рассуждения стороны подчиняются следующей логике.
Сформировать ЭЦП для персональных данных может только тот, кто одновременно имеет доступ к переменным отдельной сессии протокола идентификации, как общедоступным, так и секретным, включая секретный ключ для формирования ЭЦП.
Предположим, что ЭЦП получена в результате сговора. Для этого злоумышленник должен вынудить владельца персональных данных заверить их своей ЭЦП, но с включением некоторых вспомогательных данных, про которые заверителю ничего не известно. Если исходить из модели сопутствующих рисков, то такое событие представляется неправдоподобным. С подавляющей вероятностью заверитель откажется от включения таких данных, опасаясь нежелательных последствий, например, неявного навязывания долговых обязательств, занесения в чёрные списки, блокировки учётных записей и так далее.
Открытая верификации в протоколе Шнорра
Особенность протокола Шнорра в том, что любой, кто имеет доступ в переменным и может проверить корректность вердикта, вынесенного относительно доказательства, предоставленного
Действительно, упомянутые выше переменные передаются по незащищённому каналу связи и, следовательно, общедоступны. Поскольку каждый может воспользоваться общедоступным ключом то совсем не обязательно обладать полномочиями для того, чтобы вычислить и затем проверить
Практический смысл здесь в возможности контроля действий как со стороны так и Это важно при возникновении разногласий. Например, когда утверждает, что предоставил корректное доказательство, а это отрицает.
Выводы
Оценки количества передаваемой информации для исходного протокола Шнорра и описанной выше модификации различаются несущественно.
В исходном протоколе Шнорра задействовано три скалярных произведения, тогда как в модификации протокола таких произведений четыре. Поскольку скалярные произведения и вычисляются относительно образующего элемента то возможна оптимизация, которая позволяет сократить вычислительные трудозатраты в обмен на выделение дополнительной памяти, предназначенной для хранения промежуточных результатов (см. Таблицу 1). Заметим, что в исходном протоколе при вычислении точки допустима только частичная оптимизация. Однако в модифицированном протоколе при вычислении точек и , а также скалярных произведений и такая оптимизация невозможна.
В предложенной модификации протокола открытая верификация нереализуема.
Заключение
Следует засвидетельствовать, что нам удалось решить поставленную задачу для конкретного протокола сравнительно простым способом. Однако для произвольного протокола идентификации проблема совместимости с режимом МЭЦП продолжает оставаться открытой. В дальнейшем мы предпримем попытку отыскать решение задачи для некоторого известного протокола идентификации, отличного от протокола Шнорра.
Текст статьи в формате pdf можно скачать тут.
Список литературы
[Cohen_etc._2006] Cohen, H., Frey, G., Roberto Avanzi, R., Doche C., Lange, T., Nguyen, K. and Vercauteren, F. Handbook of Elliptic and Hyperelliptic Curve Cryptography, Chapman and Hall/CRC, 2006.