В предыдущей публикации мы представили модифицированный протокол Шнорра, совместимый с режимом моментальной электронной цифровой подписи (МЭЦП), а также анонсировали разработку других протоколов с этим свойством. Здесь мы приводим описание таких протоколов на основе функции спаривания точек эллиптической кривой.
Введение
В последующих разделах приводится описание двух схем электронной цифровой подписи (ЭЦП) на основе функции спаривания (Приложение A). Затем эти схемы трансформируются в МЭЦП-совместимые протоколы идентификации. Выявлена и исследована проблема имперсонификации, то есть подмены одной задействованной в протоколе стороны на другую. Достигнутый результат заключается в разработке и анализе нового МЭЦП-совместимого протокола идентификации, для которого имперсонификация предположительно невозможна.
Для обозначения исчезающе малой вероятности будем использовать сокращение и.м.в. Это означает, что для некоторых и
распределённого равномерно и независимо на интервале
по другому
и для больших
эта величина исчезающе мала. Например,
для
Аналогичное рассуждение справедливо для
где
— порождающий элемент
(Приложение A).
При описании схем ЭЦП и протоколов идентификации будем исходить из предположения, что имеется пара связанных ключей где
— секретный,
а
— общедоступный, для которого выпущен сертификат
В этом сертификате
— персональные данные владельца
— ЭЦП доверенной стороны
(удостоверяющий центр, который отвечает за выпуск и обслуживание сертификатов).
Обозначим через и
функции формирования и проверки ЭЦП соответственно. Криптографическую хеш-функцию обозначим через
(Приложение Б). Тогда
где
— секретный ключ доверенной стороны
предназначенный для формирования ЭЦП.
Перед использованием проверяется на подлинность, целостность и актуальность, последнее осуществляется при помощи сверки со списком отозванных сертификатов. В том числе вычисляется
где
— общедоступный ключ доверенной стороны
Если
валидна, то булевская переменная
и это означает целостность, подлинность
и
в противоположном случае
Доверенная сторона
может использовать произвольную схему ЭЦП, например, какую-то из описанных ниже.
С целью упрощения допустим, что в различных схемах ЭЦП и протоколах идентификации используется один и тот же общедоступный ключ
Следует отметить, что большинство известных схем ЭЦП используют простые уравнение «школьного» типа, что важно, так как это упрощает их понимание и анализ. Будем руководствоваться тем же самым при разработке протоколов идентификации.
Схемы ЭЦП на основе спаривания
Далее по тексту того, кто формирует ЭЦП для сообщения будем называть
Ниже приводится описания двух схем ЭЦП на основе спаривания (Приложение 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.
проверяет условие
если выполняется, то вычисляет
в противном случае сессия завершается.
вычисляет
Затем проверяет
Если равно, то доказательство принимается, и отвергается в противном случае.
Для Протоколов 1 и 2 в случае успешного завершения этапа идентификации стороны независимо формируют общий сессионный секретный ключ в соответствии со следующими правилами:
вычисляет
вычисляет
Очевидно, что в силу коммутативности.
Имперсонификация проверяющего
Активная атака включает комплекс мероприятий, предпринимаемых с целью замены информации, которой стороны обмениваются в ходе протокола идентификации. Протоколы 1 и 2 надёжны при условии пренебрежимо малой вероятности активной атаки. Например, когда обмен данными между и
осуществляется при помощи технологии NFC (Near-Field Communication) или подобных.
Если стороны взаимодействуют посредством иных незащищённых каналов связи, включая Интернет, то возможна активная атака, цель которой заключается в имперсонификации проверяющего. Обозначим фиктивного проверяющего через Атакующий пытается заменить
на
Выберем Протокол 2 в качестве объекта атаки. Используя технику перехвата и блокировки, атакующий способен вместо навязать
такое, что
c и.м.в. Сторона
вычисляет
как
вычисляет
и проверяет
вычисляет
и
вычисляет
Очевидно, что
Представленные рассуждения в равной мере справедливы для Протокола 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.