Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В предыдущей публикации мы представили модифицированный протокол Шнорра, совместимый с режимом моментальной электронной цифровой подписи (МЭЦП), а также анонсировали разработку других протоколов с этим свойством. Здесь мы приводим описание таких протоколов на основе функции спаривания точек эллиптической кривой.
Введение
В последующих разделах приводится описание двух схем электронной цифровой подписи (ЭЦП) на основе функции спаривания (Приложение A). Затем эти схемы трансформируются в МЭЦП-совместимые протоколы идентификации. Выявлена и исследована проблема имперсонификации, то есть подмены одной задействованной в протоколе стороны на другую. Достигнутый результат заключается в разработке и анализе нового МЭЦП-совместимого протокола идентификации, для которого имперсонификация предположительно невозможна.
Для обозначения исчезающе малой вероятности будем использовать сокращение и.м.в. Это означает, что для некоторых и , распределённого равномерно и независимо на интервале , по другому , и для больших эта величина исчезающе мала. Например, для . Аналогичное рассуждение справедливо для , где — порождающий элемент (Приложение A).
При описании схем ЭЦП и протоколов идентификации будем исходить из предположения, что имеется пара связанных ключей , где — секретный, а — общедоступный, для которого выпущен сертификат . В этом сертификате — персональные данные владельца , — ЭЦП доверенной стороны (удостоверяющий центр, который отвечает за выпуск и обслуживание сертификатов).
Обозначим через и функции формирования и проверки ЭЦП соответственно. Криптографическую хеш-функцию обозначим через (Приложение Б). Тогда , где — секретный ключ доверенной стороны , предназначенный для формирования ЭЦП.
Перед использованием проверяется на подлинность, целостность и актуальность, последнее осуществляется при помощи сверки со списком отозванных сертификатов. В том числе вычисляется , где — общедоступный ключ доверенной стороны . Если валидна, то булевская переменная и это означает целостность, подлинность и , в противоположном случае . Доверенная сторона может использовать произвольную схему ЭЦП, например, какую-то из описанных ниже.
С целью упрощения допустим, что в различных схемах ЭЦП и протоколах идентификации используется один и тот же общедоступный ключ .
Следует отметить, что большинство известных схем ЭЦП используют простые уравнение «школьного» типа, что важно, так как это упрощает их понимание и анализ. Будем руководствоваться тем же самым \textit{modus operandi} при разработке протоколов идентификации.
Схемы ЭЦП на основе спаривания
Далее по тексту того, кто формирует ЭЦП для сообщения будем называть . Ниже приводится описания двух схем ЭЦП на основе спаривания (Приложение A).
В схеме ЭЦП [Zhang_Safavi-Naini_Susilo_2004] для заданного сообщения заверитель выполняет следующие действия:
вычисляет ;
формирует подпись .
Пусть имеются некоторые подпись и сообщение .
Проверяющий выполняет следующие действия:
вычисляет ;
проверяет подлинность, целостность и актуальность , если актуальность не подтверждена или , то завершает проверку ЭЦП;
вычисляет;
проверяет .
Тогда , если . Если , то c и.м.в.
Понятно, что вычисляется всего один раз и сохраняется в локальной долговременной памяти. Необходимо гарантировать подлинность и целостность . Например, хранить в защищённой памяти вместе с секретным ключом .
Рассмотрим ещё одну схему ЭЦП из [Boneh_Shacham_Lynn_2004]. Задана хеш-функция (Приложение Б). Заверитель выполняет следующие действия:
вычисляет ;
формирует подпись .
Имеются некоторые сообщение и подпись . Проверяющий выполняются следующие действия:
вычисляет ;
проверяет подлинность, целостность и актуальность , если актуальность не подтверждена или , то завершает проверку ЭЦП;
проверяет .
Если и , то в силу билинейности Если и/или , то c и.м.в.
Обе схемы ЭЦП используют функцию спаривания , но отличаются трудоёмкостью проверки. В схеме [Zhang_Safavi-Naini_Susilo_2004] при проверке ЭЦП вычисляется только одно спаривание, тогда как в [Boneh_Shacham_Lynn_2004] для этого необходимо вычислить два спаривания.
МЭЦП-совместимые протоколы идентификации на основе спаривания
Согласно эвристики Фиата-Шамира [Fiat_Shamir_1987], каждой схеме ЭЦП соответствует свой протокол идентификации. Однако нас будут интересовать МЭЦП-совместимые версии таких протоколов.
Ниже приводится описание МЭЦП-совместимого протокола идентификации для схемы ЭЦП из [Zhang_Safavi-Naini_Susilo_2004].
Протокол 1
Сообщения протокола
Действия сторон:
доказывает , что владеет (знает) . Для этого выполняются следующие действия:
выбирает () вычисляет (), проверяет условие . Если , то выбирает новое и заново выполняет необходимые вычисления и проверки;
считывает актуальный сертификат и проверяет ЭЦП доверенной стороны . Если , то сессия завершается. Если , то выбирает и вычисляет (). Если , то выбирает новое и заново выполняет необходимые вычисления и проверки;
проверяет условие , если выполняется, то вычисляет () в противном случае сессия завершается;
вычисляет . Затем проверяет . Если равно, то доказательство принимается, и отвергается в противном случае.
Теперь посмотрим, какой МЭЦП-совместимый протокол можно предложить для схемы ЭЦП из [Boneh_Shacham_Lynn_2004].
Протокол 2
Сообщения протокола:
Действия сторон:
доказывает , что владеет (знает) . Для этого выполняются следующие действия:
как в Протоколе 1;
как в Протоколе 1;
проверяет условие , если выполняется, то вычисляет (\textit{response}), в противном случае сессия завершается;
вычисляет . Затем проверяет . Если равно, то доказательство принимается, и отвергается в противном случае.
Для Протоколов 1 и 2 в случае успешного завершения этапа идентификации стороны независимо формируют общий сессионный секретный ключ в соответствии со следующими правилами:
вычисляет .
вычисляет .
Очевидно, что в силу коммутативности.
Имперсонификация проверяющего
Активная атака включает комплекс мероприятий, предпринимаемых с целью замены информации, которой стороны обмениваются в ходе протокола идентификации. Протоколы 1 и 2 надёжны при условии пренебрежимо малой вероятности активной атаки. Например, когда обмен данными между и осуществляется при помощи технологии NFC (Near-Field Communication) или подобных.
Если стороны взаимодействуют посредством иных незащищённых каналов связи, включая Интернет, то возможна активная атака, цель которой заключается в имперсонификации проверяющего. Обозначим фиктивного проверяющего через $V'$. Атакующий пытается заменить на .
Выберем Протокол 2 в качестве объекта атаки. Используя технику перехвата и блокировки, атакующий способен вместо навязать , такое, что c и.м.в. Сторона вычисляет как .
вычисляет и проверяет . $P$ вычисляет и вычисляет . Очевидно, что .
Представленные рассуждения в равной мере справедливы для Протокола 1. Кроме этого, атака также применима к модифицированному протоколу Шнорра.
В следующем разделе мы продемонстрируем протокол, в котором имперсонификация невозможна.
Протокол, устойчивый к имперсонификации
Предположим, что для стороны и владеют парами ключей и соответственно. Для и выпущены сертификаты и .
Рассмотрим МЭЦП-совместимый и при этом устойчивый к имперсонификации протокол.
Протокол 3
Сообщения протокола:
Действия сторон.
доказывает , что владеет (знает) . Для этого выполняются следующие действия:
считывает актуальный сертификат и проверяет ЭЦП доверенной стороны . Если , то сессия завершается. Если , то выбирает () вычисляет (), проверяет условие . Если , то выбирает новое и заново выполняет необходимые вычисления и проверки;
считывает актуальный сертификат и проверяет ЭЦП доверенной стороны . Если , то сессия завершается. Если , то выбирает и вычисляет (). Если , то выбирает новое и заново выполняет необходимые вычисления и проверки;
проверяет условие , если выполняется, то вычисляет (), в противном случае сессия завершается;
вычисляет . Затем проверяет . Если равно, то доказательство принимается, и отвергается в противном случае.
Если принял предоставленное доказательство, то стороны независимо формируют общий сессионный секретный ключ:
вычисляет .
вычисляет .
Понятно, что по причине коммутативности.
Предварительный анализ
Пусть фиктивный проверяющий владеет парой ключей , c и.м.в.
Ограничимся анализом Протокола 3, в котором для имперсонификации проверяющего (замены на ) необходимо вместо навязать . Однако, атакующий не знает эфемериды . Для раскрытия надлежит отыскать решение ECDLP/DLP при условии или . Связь между ECDLP и DLP объясняется в Приложении A.
Атакующий имеет доступ к и способен вместо навязать , а также вместо навязать некоторое , при этом и c и.м.в. вычисляет как .
вычисляет . Очевидно, что c и.м.в. Кроме этого, атакующий может выбрать произвольные и . Пусть , но c и.м.в.
Легко показать, что подмена не приводит к искомому результату. Для этого при вычислении положим . Однако, с и.м.в.
Если допустить, что атакующий вместо навязывает , но при этом отсутствует подмена , то имперсонификация также невозможна, поскольку с и.м.в.
Заметим, что , или . Следовательно, с и.м.в.
При вычислении замена на некоторое представляется контрпродуктивной. Если допустить такую замену, то при
, c и.м.в., возникнет невязка по . Пусть заданы , . Тогда с и.м.в.
Количество передаваемой информации
Если применяется компактное представление, то в Протоколах 1 и 2 для доставки , и в совокупности потребуется передать бит.
В Протоколе 3 сторона должна сообщить стороне серийный номер сертификата . Предположим, что для сохранения этого номера в долговременной памяти необходимо зарезервировать бит. Тогда для доставки , и в совокупности потребуется передать бит.
Допустимы и другие накладные расходы. Для количества передаваемой информации справедлива асимптотическая оценка .
Вычислительные трудозатраты
Кроме скалярного произведения, особенности вычисления которого описаны здесь, в Протоколе 3 стороны и вычисляют , и соответственно.
При этом и вычисляются однократно. и сохраняют вычисленные значения в локальной долговременной защищённой памяти. В итоге и хранят и соответственно.
вычисляет в каждой отдельной сессии. Если на стороне производительность платформы превышает пропускную способность канала связи между и , то при известном уместно инициировать вычисление на опережение, до получения . Такой способ позволяет минимизировать вычислительную задержку, так как правдоподобно допустить, что будет известна к моменту, когда возникнет необходимость в вычислении .
Поскольку в силу билинейности , то при вычислении возможна оптимизация (Таблица 1).
Пусть аффинные точки , и представлены компактно, тогда для последующих вычислений потребуется восстановить координаты , и при помощи алгоритма Tonelli-Shanks асимптотической трудоёмкости [Cohen_etc._2006] (раздел 11.1.5). Однако в этом нет необходимости, если арифметика точек построена на основе эллиптической кривой Монтгомери [Montgomery_1987]. Возможно использование бирациональных эквивалентов, например, скрученных кривых Эдвардса [Bernstein_2008].
Методы мультипликативного обращения в представлены в [Cohen_etc._2006] (раздел 11.1).
Для программной реализации рассмотренных протоколов целесообразно воспользоваться примитивами библиотеки PBC.
Проблематика аппаратной реализации билинейных отображений всесторонне рассматривается в ряде публикаций [Rodriguez-Henriquez_etc._2006, Beuchat_etc._Nov_2008, Beuchat_etc._2008, Kammler_etc._2009, Ghosh_etc._2010, Estibals_2010, Ghosh_etc._2011, Beuchat_etc._2011, Cheung_etc._2011, Adikari_etc._2012].
Выводы
Протоколы 1 и 2, а также модифицированный протокол Шнорра имеют ограниченную область применения по причине рисков, связанных с имперсонификацией.
Предварительный анализ показывает, что в Протоколе 3 имперсонификация невозможна. Каждый может воспользоваться ключами и , но только способен предоставить неоспоримое доказательство, поскольку владеет долговременным секретным ключом и знает эфемериду . Проверить доказательство может только , так как знает эфемериду .
Кроме этого, независимо вычислить и , такие, что , могут только и , так как владеют секретными ключами и .
Заключение
Сконструированы и исследованы МЭЦП-совместимые протоколы идентификации на основе функции спаривания точек эллиптической кривой. Сформулирована проблема имперсонификации. Разработан устойчивый к имперсонификации МЭЦП-совместимый протокол идентификации.
Список литературы
[Boneh_Shacham_Lynn_2004] Boneh, D., Shacham, H. and Lynn B. "Short Signatures from the Weil Pairing.” , Vol. 17, No. 4, (2004) 297–319.
[Zhang_Safavi-Naini_Susilo_2004] Zhang, F., Safavi-Naini, R. and Susilo, W. "An efficient signature scheme from bilinear pairing and its applications.” , LNCS 2947, (2004) 277–290.
[Fiat_Shamir_1987] Fiat, A. and Shamir, "How to prove yourself: Practical solutions to identification and signature problems.” , LNCS 263, (1987) 186–194.
[Cohen_etc._2006] Cohen, H., Frey, G., Roberto Avanzi, R., Doche C., Lange, T., Nguyen, K. and Vercauteren, F. , Chapman and Hall/CRC, 2006.
[Montgomery_1987] Montgomery, Peter L. "Speeding the Pollard and Elliptic Curve Methods of Factorization.” , (1987) 48 (177): 243–264.
[Bernstein_2008] Bernstein, Daniel J., Birkner, Peter, Joye, Marc, Lange, Tanja, Peters, Christiane. In Vaudenay, Serge (ed.). "Twisted Edwards Curves.” , LNCS 5023, (2008) 389–405.
[Rodriguez-Henriquez_etc._2006] Rodríguez-Henríquez, F., Díaz-Pérez, A., Saqib, N. A. and Koč, Č. K. , Signals and Communication Technology. Boston, MA: Springer US, 2006.
[Beuchat_etc._Nov_2008] Beuchat, J.-L., Brisebarre, N., Detrey, J., Okamoto, E., Shirase, M. and Takagi, T. "Algorithms and Arithmetic Operators for Computing the Pairing in Characteristic Three.” , vol. 57, no. 11, (Nov. 2008) 1454–1468.
[Beuchat_etc._2008] Beuchat, J.-L., Brisebarre, N., Detrey, J., Okamoto, E. and Rodríguez-Henríquez, F. "A Comparison Between Hardware Accelerators for the Modified Tate Pairing over and .” , (2008) 297–315.
[Kammler_etc._2009] Kammler, D., Zhang, D., Schwabe, P., Scharwaechter, H., Langenberg, M., Auras, D., Ascheid, G. and Mathar, R. "Designing an ASIP for Cryptographic Pairings over Barreto-Naehrig Curves.” Springer Berlin/Heidelberg, (2009) 254–271.
[Ghosh_etc._2010] Ghosh, S., Mukhopadhyay, D. and Roychowdhury, D. "High Speed Flexible Pairing Cryptoprocessor on FPGA Platform.” vol. 6487, (2010) 450–466.
[Estibals_2010] Estibals, N. "Compact Hardware for Computing the Tate Pairing over 128-Bit Security Supersingular Curves.” , vol. 6487, (2010) 397–416.
[Ghosh_etc._2011] Ghosh, S., Roychowdhury, D. and Das, A. "High Speed Cryptoprocessor for Pairing on 128-bit Secure Supersingular Elliptic Curves over Characteristic Two Fields.” , (2011) 442–458.
[Beuchat_etc._2011] Beuchat, J.-L., Detrey, J., Estibals, N., Okamoto, E. and Rodríguez-Henríquez, F. "Fast Architectures for the Pairing over Small-Characteristic Supersingular Elliptic Curves.” , vol. 60, no. 2, (Feb. 2011) 266–281.
[Cheung_etc._2011] Cheung, R. C. C., Duquesne, S., Fan, J., Guillermin, N., Verbauwhede, I. and Yao, G. X. "FPGA Implementation of Pairings Using Residue Number System and Lazy Reduction.” , no. 07, (2011) 421–441.
[Adikari_etc._2012] Adikari, J., Hasan, M. A. and Negre, C. "Towards Faster and Greener Cryptoprocessor for Eta Pairing on Supersingular Elliptic Curve over .” , (2012) 166–183.