Мы не отступаем от сложившейся традиции и продолжаем знакомить с полученными результатами. В настоящей заметке речь пойдёт об объявленном ранее режиме моментальной электронной цифровой подписи (МЭЦП). Хотя основное смысловое содержание режима МЭЦП раскрыто в предыдущей публикации, мы полагаем, что необходимая конкретизация будет способствовать дополнительному пониманию.
Следует подчеркнуть, что МЭЦП — это не отдельный вид подписи, а специальный режим, в котором может применяться любая известная схема ЭЦП. Иными словами, мы никоим образом не берём на себя ответственность в связи с разработкой новой схемы, но предлагаем резонный способ применения уже существующих схем.
Если отталкиваться от названия, то становится понятно, что режим МЭЦП действует в моменте, то есть в данный конкретный момент времени, сейчас. Это означает, что режим применяется для заверения тех данных, которые неразрывно связаны с некоторой идентифицирующей сущностью, и эта связь непосредственно следует из предъявленного ранее доказательства. Получить такое доказательство можно в результате выполнения интерактивного протокола идентификации. Следовательно, режим МЭЦП оправдан только в сочетании с таким протоколом. Рассуждая о подобном сочетании в первую очередь будем полагать, что в процессе формирования подписи задействованы некоторые уникальные переменные текущей сессии протокола идентификации. Важно понимать, что по построению эти переменные эфемерны и их действие ограничено конкретной сессией.
Отметим, что в этой публикации мы рассматривали режим МЭЦП на примере заверения персональных данных, самой, пожалуй, органичной области приложения такого режима.
Мы покажем, что режим МЭЦП возможен для любой известной схемы ЭЦП. Однако остаётся открытым вопрос о том, может ли такой режим применяться в сочетании с произвольным протоколом идентификации, например, с любым из известных. С другой стороны, режим МЭЦП без проблем сочетается с интерактивным протоколом идентификации с возможностью формирования общего секретного сессионного ключа, разработанного нами в развитие протокола, представленного в этой заметке.
В настоящем тексте мы не предлагаем формальных доказательств, но придерживаемся такой манеры изложения, которая позволяет раскрыть суть через рассмотрение ряда содержательных примеров. К сожалению, не удалось избежать формальных обозначений. Надеемся, что это не вызовет затруднений, так как все необходимые обозначения были введены нами ранее. К тому же мы используем стандартную математическую нотацию, принятую в специальной литературе. Для примера следует обратиться к [Cohen_etc._2006].
Интерактивный протокол идентификации
Прежде всего напомним, что такое интерактивный протокол идентификации. По сути, это игра двух участников, каждый из которых наделен собственной ролью. Чтобы избежать излишних усложнений умышленно ограничим число субъектов взаимодействия.
Различают Доказывающего (Prover, ) и Проверяющего (Verifier, ). предоставляет доказательство, например, знания секрета, а проверяет это доказательство и выносит вердикт при помощи решающего правила. Вердикт может быть положительным (доказательство принято), отрицательным (доказательство отвергнуто) или даже неопределённым. Как правило, по факту принятого или отвергнутого доказательства инициируется определенное действие. Например, распространен сценарий, когда запрашивает доступ к некоторому ресурсу и такой доступ предоставляется, если принимает доказательство. Возможно и иное применение.
Протоколы идентификации относятся к более общему классу , которые впервые были введены в работе [Cramer_1996]. и моделируются при помощи вероятностной интерактивной машины Тьюринга, а сам есть суть интерактивная схема доказательства в стиле игры Артура-Мерлина [Babai_Moran_1988], в которой всегда выбирает некоторую случайную величину с дискретным равномерным распределением.
Сосредоточимся на таких протоколах идентификации, которые опираются на методы асимметричной криптографии.
Интерактивный протокол идентификации можно представить в виде следующей диаграммы:
Из диаграммы ясно, что в ходе протокола передается три сообщения: witness, challenge и response. При этом передает два сообщения: witness и response, а — только одно: challenge. Назначение сообщений следует из их названия. На наш взгляд перевод упомянутых сообщений с английского языка на русский нецелесообразен, так как возможные неточности перевода способны исказить смысл и привести к непониманию.
Назовём эфемеридами случайные независимые переменные с равномерным распределением, которые меняются от одной сессии протокола к другой. По своему криптографическому назначению эфемериды равнозначны секретным ключам. Для раскрытия неизвестной эфемериды необходимо найти решение некоторой вычислительно-сложностной проблемы или предпринять силовую атаку.
Предполагается, что каждый участник имеет в своём распоряжении пару уникальных ключей: секретный и общедоступный. Кроме этого, для общедоступных ключей выпущены надлежащие сертификаты.
Стороны выполняют следующие действия:
формирует witness на основании общедоступного ключа , а также не менее одной известной только ему эфемериды.
формирует challenge при помощи не менее одной известной только ему эфемериды.
формирует response на основании собственных секретного и общедоступного ключей и challenge.
выносит вердикт на основании witness, response, задействованной в challenge эфемериды и общедоступного ключа .
Любой протокол идентификации включает три сообщения, которые благодаря эфемеридам распределены независимо и равномерно. Доказано, что меньшего количества сообщений быть не может (может быть больше). Все перечисленные сообщения имеют одинаковую смысловую нагрузку в различных протоколах идентификации, но способы их формирования могут существенно различаться и зависеть от основных положений вычислительно-сложностной проблематики, а также выбранного математического аппарата.
После некоторого размышления мы решили оставить те обозначения, которые используются в разработанном нами интерактивном протоколе идентификации с возможностью формирования общего секретного сессионного ключа, который пока не обнародован. Так в качестве response передается , где — некоторая известная обеим сторонам криптографическая хеш-функция. Для проверки доказательства вычисляет При этом используется простое решающее правило вида . Здесь Заметим, что способ вычисления и в данном контексте несущественен.
Поскольку большинство публикуемых нами текстов взаимосвязаны, то надеемся, что такой подход в дальнейшем упростит «перебрасывание мостика» между различными заметками.
Совместимость с произвольной схемой ЭЦП
Пусть имеется пара ключей и сертификат . Покажем как это работает на примере известной схемы ЭЦП Шнорра [Schnorr_1990].
выступает в роли заверителя. Для заданных сообщения , секретного ключа и заверитель выполняет следующие вычисления:
, где ;
;
;
.
Пусть имеются подпись и сообщение , такие, что . Предположим, что подлинность и целостность ключа подтверждены в результате проверки действующего сертификата . выполняет следующие вычисления:
;
.
Если , то , где . Предположим, что . Следовательно, , если . При с преобладающей вероятностью и с пренебрежимо малой . Однако, если , то с преобладающей вероятностью и с пренебрежимо малой .
Проверка ЭЦП и верификация взаимосвязаны. Пусть — некоторые персональные данные и . Для проверки предъявлены , и действующий сертификат . Если ЭЦП валидна, иначе говоря , то . По факту валидности выполняется верификация . Подлинность персональных данных следует из .
Режим МЭЦП можно реализовать с привлечением произвольной конвенциональной схемы на основе арифметики точек эллиптической кривой. Такой подход присущ подавляющему большинству современных схем ЭЦП [Schnorr_1990, Paterson_2002, Hess_2003, Boneh_Shacham_Lynn_2004, Zhang_Safavi-Naini_Susilo_2004, Boneh_Boyen_2004]. Однако это условие не является необходимым. Например, можно без потери общности заменить подгруппу группы точек эллиптической кривой на подгруппу простого порядка группы . Заметим, что режим также совместим со схемами ЭЦП, которые разработаны с учетом положений постквантовой криптографии.
Такая совместимость имеет простое объяснение. Поскольку в произвольной конвенциональной схеме ЭЦП вычисление носит нормативный характер, — присутствует всегда в любой схеме ЭЦП, то замена на не приводит к негативным последствиям для криптостойкости этой схемы, так как в общем случае неизвестна зависимость вероятности коллизии от аргумента криптографической хеш-функции . Здесь под коллизией мы понимаем при и .
Например, если для этой цели воспользоваться схемой ЭЦП [Zhang Safavi-Naini_Susilo_2004], то для заданных сообщения и секретного ключа заверитель сначала вычисляет , а затем формирует подпись .
Пусть имеются подпись и сообщение , такие, что . сначала вычисляет и затем . Проверяет и , если
Заметим, что на этапе идентификации по незащищенному каналу связи передаётся и для раскрытия при неизвестном секретном ключе необходимо либо вычислить , либо отыскать решение некоторой вычислительно-сложностной проблемы.
Подведем итог.
не способен выполнить подлог/фальсификацию ЭЦП при известном , так как не знает . Он может воспользоваться парой ключей , где , и для выпущен сертификат , но последующая верификация покажет, что .
(он же заверитель) может сформировать только, если знает секрет .
Проверка ЭЦП возможна только при условии положительного решения относительно response .
Перечислим отличительные особенности режима МЭЦП.
Режим действует в рамках текущей сессии и актуален только для .
не может убедить третью сторону в подлинности и целостности данных, полученных в ходе конкретной сессии.
МЭЦП может сформировать тот, кто знает секретный ключ и способен вычислить .
Проверить МЭЦП может тот, кому известны и .
Корректность МЭЦП гарантирована при условии принятого доказательства.
Режим МЭЦП идеологически близок работе [Dwork_Naor_Sahai_1998], в которой впервые была сформулирована проблема оспоримой подлинности (deniable authentication) и предложено конкретное решение.
Предположим, что удостоверился в подлинности персональных данных заверителя при помощи МЭЦП с последующей верификацией. Теперь заверитель может воспользоваться секретным ключом для формирования подписи посредством произвольной конвенциональной схемы ЭЦП на основе арифметики точек эллиптической кривой или любой другой. Отметим, что эта схема может отличаться от той, которая применялась для проверки персональных данных. Такую ЭЦП имеет смысл сохранять в долговременной памяти, а для её проверки необходим действующий сертификат . Это означает, что после подтверждения подлинности в режиме МЭЦП, для всех остальных данных, заверение которых осуществляется в рамках конвенциональной схемы ЭЦП, гарантируется неоспоримая подлинность (undeniable authentication). Причём без вспомогательных вычислений и дополнительных организационных издержек.
В общем случае злоумышленник не имеет доступа к персональным данным, так как они передаются и хранятся в зашифрованном виде, но может определить серийные номера сертификатов общедоступных ключей заверителей, отслеживая запросы проверяющих, например по правилам протокола OCSP (Online Certificate Status Protocol). Такой мониторинг следует расценивать как угрозу, ведь сертификаты содержат информацию, которая позволяет деанонимизировать участника. Потенциальные риски компенсируются передачей сертификатов посредством защищенного туннеля. Кроме этого, считывание сертификатов может осуществляться методом безопасного извлечения информации (Private Information Retrieval, PIR) [Chor_Goldreich_Kushilevitz_Sudan_1995, Kushilevitz_Ostrovsky_1997].
Несовместимость с произвольным протоколом
Как было показано, в режиме МЭЦП можно применить любую известную схему ЭЦП на основе арифметики точек эллиптической кривой и не только. Все протоколы идентификации состоят из полутора раундов и предусматривают передачу сообщений witness, challenge и response. Следует ответить на следующий принципиальный вопрос: режим МЭЦП возможен только для конкретного протокола идентификации или же совместим с произвольным протоколом?
Рассмотрим конкретный пример. Для этого при описании протокола идентификации Шнорра [Schnorr_1990] перейдём от подгруппы простого порядка группы к подгруппе порядка группы точек эллиптической кривой.
Предварительно выбирает и формирует пару ключей . Затем обращается к доверенной стороне за выпуском сертификата , где и — персональные данные .
Для упрощения опустим информацию о месторасположении сертификата, а также его актуализацию путем сверки со списком отозванных сертификатов.
Эллиптический протокол идентификации Шнорра
Сообщения протокола.
Действия сторон. доказывает , что владеет (знает) . Для этого выполняются следующие действия:
выбирает (commitment), вычисляет (witness), проверяет условие . Если , то выбирает новое и заново выполняет необходимые вычисления и проверки.
считывает действующий сертификат и проверяет ЭЦП . Если , то выбирает (challenge), в противном случае сессия завершается.
проверяет условие , если выполняется, то вычисляет (response), в противном случае сессия завершается.
вычисляет . Затем проверяет . Если равно, то доказательство принимается, и отвергается в противном случае.
В общем случае пара ключей , при помощи которых формируется/проверяется ЭЦП, отличается от . Для доверенная сторона также выпускает сертификат . Для простоты положим .
Предположим, что передаёт некоторые данные, заверенные ЭЦП. Причём ЭЦП сформирована при помощи секретного ключа , а для проверки необходимо применить общедоступный ключ из сертификата . При этом отсутствует гарантия того, что данные заверил именно , а не злоумышленник, который обманным путем вынудил сформировать ЭЦП для этих данных или получил их из открытых источников. При этом также не означает, что данные были заверены тем, кто предоставил доказательство в настоящий момент времени. Так, например, злоумышленник может навязать данные, заверенные ЭЦП, но при этом утратившие актуальность. Выше показано, что режим МЭЦП позволяет решить эту задачу. Следовательно, необходимо продемонстрировать работоспособность режима МЭЦП в протоколе идентификации Шнорра.
Заметим, что ЭЦП в этом протоколе, как впрочем и любое иное действие, «оторвана» от результатов идентификации. Действительно, если принял доказательство от , a затем заверил ЭЦП некоторые данные и отправил , то невозможно гарантировать, что в промежуток времени между фактом принятия доказательства и моментом формирования ЭЦП идентичность не претерпела принципиальных изменений в результате значимых событий. К таким событиям относится, например, отзыв сертификата по причине компрометации секретного ключа , истечения сроков его действия и другие. В результате не сможет предоставить доказательство, а предоставленное ранее утрачивает легитимность. Промежуток времени, в течение которого происходит значимое событие, может быть сколь угодно мал, но он отличен от нуля, и поэтому проблема относится к разряду фундаментальных. Таким образом, рассуждая о режиме МЭЦП в протоколе идентификации Шнорра, необходимо следовать необоснованному предположению о пренебрежимо малой вероятности значимого события.
Отметим, что в разработанном нами протоколе идентификации значимые события также возможны, однако защищенный туннель передачи данных, который формируется только по факту доказательства, предоставляет дополнительные гарантии. Иными словами, идентификация легитимна в пределах отдельной сессии, которая завершается в результате деактуализации сессионного ключа по истечении предустановленного интервала времени, который в свою очередь регулируется положениями действующей политики безопасности.
Необходимое условие заключается в том, что response не может передаваться по незащищенному каналу связи без предварительного преобразования посредством односторонней функции. Поясним, почему это так.
Если в качестве response передавать вместо , то ЭЦП сможет сформировать не только , а любой, кто получил доступ к . Очевидно, что применение односторонней псевдослучайной функции в предположении модели случайного оракула (random oracle model), например, такой как , нарушает алгебраическую структуру response в виде . Последнее означает, что проверка доказательства должна опираться на иной способ, отличный от алгебраического. Так в нашем протоколе выполняется проверка . Вычислить может только , так как знает секрет, а — только , поскольку знает challenge. Злоумышленник наблюдает и для раскрытия ему необходимо решить вычислительно-сложностную проблему или вычислить .
В протоколе идентификации Шнорра response задаётся как , а для проверки необходимо сначала вычислить точку и затем проверить . Понятно, что если передать вместо и вычислить , то с преобладающей вероятностью . Следовательно, проверка возможна для , но невозможна для . Это означает, что в этом протоколе response может передаваться только в открытом виде, но тогда необходимое условие режима МЭЦП не выполняется.
Просматриваются следующие два направления будущих исследований:
Поиск/разработка протоколов идентификации, для которых необходимое условие выполняется.
Формальное доказательство того факта, что необходимое условие не выполняется для любого протокола идентификации с использованием алгебраического способа проверки доказательства.
Мы также не исключаем, что сомнению может быть подвергнуто выведенное нами доказательство свойств witness indistinguishable и whiness hiding [Feige_Shamir_1990], однако только экспертное сообщество способно подтвердить/опровергнуть это доказательство после публикации разработанного нами протокола идентификации в рецензируемом периодическом издании.
Заключение
По сравнению с конвенциональной схемой, режим МЭЦП имеет некоторые ограничения. Однако, как следует из объяснений, сами по себе конвенциональные схемы ЭЦП бесполезны с точки зрения решения поставленной задачи, так как не гарантируют, что подпись была сформирована именно тем, кто предоставил заверенные данные в настоящий момент времени.
Предположительно режим МЭЦП работоспособен только в нашем протоколе, поскольку алгебраическое уравнение используется для проверки доказательства во всех известных протоколах идентификации [Fiat_Shamir_1987, Feige_Fiat_Shamir_1988, Guillou_Quisquater_1988, Schnorr_1990, Brickell_Mccurley_1992, Okamoto_1993, Nguyen_2005]. Для всех этих протоколов необходимое условие не выполняется.
В настоящей заметке опущено доказательство криптостойкости режима МЭЦП. Это осознанный шаг, цель которого — сокращение текста одновременно с разумным его упрощением. Кроме этого, для таких рассуждений необходимо располагать детальным описанием протокола идентификации. Мы оставляем за собой право вернуться к этой теме после соответствующей публикации.
Список литературы
[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.
[Cramer_1996] Cramer, R. “Modular Design of Secure, yet Practical Cryptographic Protocols.” PhD Thesis, University of Amsterdam, 1996.
[Babai_Moran_1988] Babai, L. and Moran, S. “Arthur-Merlin games: A randomized proof system, and a hierarchy of complexity classes.” Journal of Computer and System Sciences, Volume 36, Issue 2, April (1988) 254–276.
[Schnorr_1990] Schnorr, C. P. “Efficient identification and signatures for smart cards.” Advances in Cryptology — CRYPTO’89 LNCS 435, (1990) 239–252.
[Paterson_2002] Paterson, K. G. “ID-based signatures from pairings on elliptic curves.” IEEE Electronic Letters, 38(18), (2002) 1025–1026.
[Hess_2003] Hess, F. “Efficient Identity Based Signature Schemes Based on Pairings.” Revised Papers from the 9th Annual International Workshop on Selected Areas in Cryptography — SAC’02, (2003) 310–324.
[Boneh_Shacham_Lynn_2004] Boneh, D., Shacham, H. and Lynn B. “Short Signatures from the Weil Pairing.” J. Cryptol., 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.” Public Key Cryptography, LNCS 2947, (2004) 277–290.
[Boneh_Boyen_2004] Boneh, D. and Boyen, X. “Short Signatures Without Random Oracles.” EUROCRYPT 2004, LNCS 3027, (2004) 56–73.
[Chor_Goldreich_Kushilevitz_Sudan_1995] Chor, B., Goldreich, O., Kushilevitz, E. and Sudan M. “Private information retrieval.” In Proc. of the 36th IEEE Symp. on Foundations of Computer Science, (1995) 41–51.
[Kushilevitz_Ostrovsky_1997] Kushilevitz, E. and Ostrovsky, R. “Replication is not needed: Single database, computationally-private information retrieval.” In Proc. of the 38th IEEE Symp. on Foundations of Computer Science, (1997) 36–373.
[Fiat_Shamir_1987] Fiat, A. and Shamir, A. “How to prove yourself: Practical solutions to identification and signature problems.” Advances in Cryptology[ — CRYPTO’86 LNCS 263, (1987) 186–194.
[Feige_Fiat_Shamir_1988] Feige, U., Fiat, A. and Shamir, A. “Zero-knowledge Proofs of Identity.” Journal of Cryptology, 1 (1988) 77–94.
[Guillou_Quisquater_1988] Guillou, L. C. and Quisquater, J. -J. “A practical zero-knowledge protocol fitted to security microprocessor minimizing both transmission and memory.” Advances in Cryptology — EUROCRYPT’88 LNCS 330, (1988) 123–128.
[Brickell_Mccurley_1992] Brickell, E. F. and Mccurley, K. S. “An interactive identification scheme based on discrete logarithms and factoring.” Journal of Cryptology, 5 (1992) 29–39.
[Okamoto_1993] Okamoto, T. “Provably secure and practical identification schemes and corresponding signature schemes.” Advances in Cryptology — CRYPTO’92 LNCS 740, (1993) 31–53.
[Nguyen_2005] Nguyen, L. “Accumulators from Bilinear Pairings and Applications.” In Topics in Cryptology — CT-RSA’05, LNCS 3376, (2005) 275–292.
[Dwork_Naor_Sahai_1998] Dwork, C., Naor, M. and Sahai, A. “Concurrent Zero-Knowledge.” Proc. 30th ACM Symposium on the Theory of Computing, (1998), 409–418.
[Feige_Shamir_1990] Feige, U. and Shamir, A. “Witness Indistinguishable and Witness Hiding Protocols.” In Proceedings of 22nd STOC, ACM Press, (1990) 416–426.