ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2023 Математические методы криптографии № 61
УДК 519.719.325 DOI 10.17223/20710410/61/4
СИСТЕМЫ С ОТКРЫТЫМИ КЛЮЧАМИ НА ОСНОВЕ ИДЕНТИФИКАЦИОННОЙ ИНФОРМАЦИИ
А. В. Черемушкин
Академия криптографии РФ, г. Москва, Россия
E-mail: avc238@mail.ru
Рассмотрены особенности практического применения криптографических систем с открытыми ключами на основе идентификаторов. Выделены математические задачи и конструкции, приведены основные подходы к построению систем шифрования, цифровой подписи, аутентификации сторон и ключевых систем с открытыми ключами на основе идентификаторов.
Ключевые слова: криптография па основе идентификаторов, криптосистемы с открытыми ключами, эллиптическая кривая, билинейное спаривание.
ID-BASED PUBLIC KEY CRYPTOGRAPHIC SYSTEMS
A. V. Cheremushkin Academy of Cryptography of the Russian Federation, Moscow, Russia
A surway contains an analisys of practical aspects of ID-based public key cryptography. IDB-systems simplify a certificate management process, but trusted requirements for the key generation center (KGC) must be very stronger than for certification authority. When key escrow property is not assumed, users' private keys should be protected from malicious KGC. Many networks need hierarchical KGC architecture. In the paper, we describe a basic mathematical constructions applied in ID-based cryptosystems. We survey fundamental ID-based cryptographic primitives: Key extraction, Key Escrow, Encryption, Digital Signature, Identification Scheme and Key Agreement, which are based on the mathematical concepts of Integer Factorization, Quadratic Residues, Discret Logarithms, and Bilinear Pairings. We review several schemes to illustrate different approaches and practical solutions.
Keywords: ID-based cryptography, public key cryptography, elliptic curve, bilinear pairing.
Введение
Криптографическая система па основе идентификаторов (IDentity-Based ervpto-svstem, IDB-svstem) — это асимметричная криптографическая система, в которой открытые ключи вычисляются по общедоступному алгоритму на основе идентификационной информации их владельцев (в дальнейшем для краткости будем называть такие системы IDB-системами).
Личные ключи вырабатываются центром генерации ключей KGC (Key Generation Center) на основе идентификационной информации и выдаются владельцам открытых ключей при личной встрече либо с использованием защищенного канала. Идентификационная информация для формирования открытого ключа может включать:
идентификаторы пользователей информационной системы; любую персональную информацию (адрес электронной почты, фотографию, номер телефона, почтовый адрес и т.п.); любые термины и условия, такие, как действующая политика, время, выполняемая роль, любые факты, связанные с конкретной стороной. Поэтому часто такие системы определяют как системы, в которых личные ключи формируются на основе открытых, а последние могут представлять собой произвольные текстовые строки.
Поскольку ключи однозначно определяются по идентификационной информации, то необходимость в сертификатах открытых ключей отпадает, а следовательно, отпадает необходимость в создании инфраструктуры открытых ключей, содержащей множество удостоверяющих центров. Поэтому данная технология формирования ключей представляется весьма перспективной и удобной для практических применений.
Первые работы по данному направлению появились около сорока лет назад, но активный поиск новых конструкций и подходов к их построению продолжается и в настоящее время. Общее число публикаций по данному направлению уже составляет несколько сотен. Хорошие обзоры по различным способам построения и разнообразным приложениям IDB-еиетем содержатся в работах [7, 10, 15, 16, 20, 27, 38, 57],
Многие IDB-еиетемы доведены до включения в международные стандарты. Так, например, в стандарте ISO/IEC 14888-2:2007 [69] описана IDB-ехема цифровой подписи GQ1 на основе USA. В стандарте ISO/IEC 14888-3:2018 [70] приведены три ГОВ-ехемы цифровой подписи:
— системы IBS-1 и IBS-2 на основе GDH-rpvnn1 [12];
— китайская система IBS на основе билинейного спаривания [73],
В стандарте ISO/IEC 11770-3:2015 [71] описаны два IDB-протокола выработки общего ключа:
— на основе системы Смарта —Чена —Ченга (N, Smart, L, Chen, Z, Cheng) [17];
— на основе системы Фуджиока — Сузуки — Устаоглу (Fujioka, Suzuki, Ustaoglu), и один IDB-протокол защищенной передачи ключа:
— на основе системы Сакаи — Касахары [55],
Стандарт IEEE Р1363а-2004 [72] определяет четыре типа криптосистем:
— IBS-системы шифрования;
— IBS-системы инкапсуляции ключа (Key Encapsulation);
— IBS-системы цифровой подписи;
— IBS-системы одновременного шифрования и подписи (Signeryption),
Кроме того, рабочая группа IETF S/MIME выпустила несколько проектов, касающихся криптографических методов на основе идентификаторов.
Есть также несколько опубликованных RFC, которые доказывают интерес и доверие научного сообщества к этой криптографической технике (таблица).
1GDH (Gap Diffie ^ Hellman groups) — таким термином обозначают класс циклических групп, для которых вычислительная проблема Диффи — Хеллмапа (CDHP) является трудной, в то время как проблема распознавания Диффи — Хеллмана (DDHP) оказывается простой. Более точно: пусть G — аддитивная группа и a,b,c G Zp.
1. Computation Diffie — Hellman Problem (CDHP): для (P,aP,bP) вычислить abP.
2. Decisional Diffie ^Hellman Problem (DDHP): для (P, aP, bP, cP) распознать, когда c = ab в Zp.
G
вероятностный полиномиальный алгоритм не сможет решить CDHP с непренебрежимо малым преимуществом за полиномиальное время.
Документы IETF, содержащие описание IDB-систем
Номер Год Название
RFC 1824 1995 IBC Protocol for Authenticated Key-Exchange
RFC 5091 2007 IBC Standard #1: Supersingular Curve Implementations of the BF and BB1
Cryptosystems
RFC 5408 2009 IBE Architecture and Supporting Data Structures
RFC 5409 2009 Using the BF and BB1 Algorithms with the Cryptographic Message Syntax
RFC 6267 2011 MIKEY-IBAKE: Identity-Based Authenticated Key Exchange (IBAKE) Mode of
Key Distribution in Multimedia Internet KEYing (MIKEY)
RFC 6508 2012 Sakai-Kasahara Key Encryption (SAKKE)
RFC 6509 2012 MIKEY-SAKKE: Sakai-Kasahara Key Encryption in Multimedia Internet KEYing
(MIKEY)
RFC 6539 2012 IBAKE: Identity-Based Authenticated Key Exchange
RFC 7859 2016 Identity-Based Signatures for Mobile Ad Hoc Network (MANET) Routing Protocols
Далее работа построена следующим образом: в п, 1 обсуждаются особенности практического применения IDB-систем и возникающие при этом проблемы, В п, 2 приведены основные математические конструкции, применяемые для формирования личных ключей пользователей, соответствующих открытым ключам на основе их идентификаторов, В п, 3 рассмотрены конкретные примеры криптографических IDB-систем: системы шифрования (включая иерархические, анонимные, с использованием сертификатов и без них), цифровой подписи (включая signcryption- и higncrvption-системы), аутентификации сторон, а также системы выработки общего ключа и замены ключа,
1. Особенности практического применения
Перечислим особенности практического применения IDB-систем, их недостатки и способы их устранения при построении приложений,
1,1, Масштабирование на несколько регионов Нельзя утверждать, что из-за отсутствия необходимости в сертификатах потребность в инфраструктуре полностью отпадает. Для формирования личных ключей подписи пользователей необходима доверенная третья сторона — центр генерации ключей KGC, Он формирует личные ключи на основании идентификационной информации их владельцев, используя свой главный (мастер-) ключ, представляющий собой ключевую пару (открытый/закрытый мастер-ключ), При этом мастер-ключ должен быть один, и он должен принадлежать только центру генерации ключей, который должен быть также один.
Это накладывает ограничение на максимальное количество пользователей, так как они должны быть зарегистрированы и должны получить ключевые пары только в одном таком центре. Значит, круг использования этой технологии ограничен сотрудниками одного региона, одной организации, предприятия, либо клиентами одного банка или какого-либо другого поставщика услуг.
Для расширения возможностей данной технологии применяются так называемые иерархические IDB-системы HIDE (Hierarchical IDentitv-based Encryption), в которых имеется множество локальных центров KGC, образующих древовидную структуру. Корнем дерева является главный центр, а центр каждого нижележащего уровня выдаёт ключи центрам следующего уровня. Пользователям соответствуют листья этого дерева. При этом открытый ключ каждого пользователя должен зависеть от идентификаторов центров, лежащих на пути от этой вершины до корня дерева. Такой способ формирования открытых ключей приводит к усложнению процедуры отзыва и обновления ключей.
1,2, Обеспечение анонимности в иерархических IDB-еиетемах В системах открытого шифрования условие анонимности получателя обычно обеспечивается путём шифрования идентификаторов получателя вместе с отправляемым сообщением. Поэтому убедиться в правильности адресата может только тот, кто владеет личным ключом получателя, С другой стороны, для формирования такого сообщения необходимо знать актуальную информацию об открытом ключе получателя, которая содержится в действующем сертификате открытого ключа. Этот сертификат должен быть своевременно получен отправителем, причём он пересылается, как правило, в открытом виде. Поэтому в коммуникационных сетях противник, анализируя трафик, имеет возможность получить информацию о получателе,
IDB-еиетемы исключают такую возможность, поскольку там отсутствуют сертификаты, а открытый ключ вычисляется непосредственно из идентификационной информации получателя. Поэтому такие системы очень удобны для построения анонимных (иерархических) систем шифрования (Anonymous (Hierarchical) Identity-Based Encryption, A(H)IBE) для анонимных коммуникационных систем, в которых по шифр-тексту невозможно определить ни отправителя, ни получателя. Это понятие введено впервые в работе М, A6. ia. ia и др. [1], Примеры А(Н)1ВЕ-ехем получаются, например, на основе схемы Боне — Франклина,
Помимо коммуникационных систем, данные конструкции применяются при удалённом получении информации из баз данных, В той же работе [1] изучались системы, открытого шифрования с возможностью поиска ключевых слов (Public-key Encryption with Keyword Search, PEKS), PEKS — это системы, в которых шифртекст ассоциирован с ключевым словом, причём выполняется требование о невозможности получения никакой информации об этом слове. Пользователь получает в центре KGC, помимо ключевой пары, ещё однонаправленную функцию для каждого используемого им ключевого слова. Для получения всех записей, содержащих ключевое слово, он может обратиться к администратору удалённой базы данных и передать ему соответствующую однонаправленную функцию. Администратор может выбрать все такие зашифрованные записи, причем он не сможет получить никакой информации ни о ключевом слове, ни о содержащейся в этих зашифрованных записях информации, 1,3, Депонирование ключа в IDB-еиетемах Критичным свойством IDB-еиетем является присущая им возможность создания системы депонирования личных ключей. Центр KGC, обладая мастер-ключом, имеет возможность вычислять ранее выданные личные ключи всех пользователей. Это позволяет без труда создать легитимную систему депонирования личных ключей, при которой при наличии решения суда правоохранительные органы могут запросить применяемые ключи у центра, а центр обязан предоставить личный ключ указанного пользователя. При этом центру нет необходимости хранить эти ключи, так как он может их заново вычислить по идентификационной информации,
1.4. Защита от нечестного центра К G С В криптографических системах с инфраструктурой открытых ключей PKI на основе стандарта Х.509 удостоверяющий центр, входящий в инфраструктуру PKI, отвечает только за подлинность соответствия между указанными в сертификате открытым ключом и идентификатором пользователя. Удостоверяющий центр выдаёт только сертификат ключа, а свой личный ключ пользователь может держать в секрете, не предъявляя его центру. Единственное, что пользователь должен сделать при получе-
нии сертификата открытого ключа, — это доказать наличие у него второй половины ключевой пары, что может быть произведено без раскрытия этого ключа,
В системах с открытыми ключами на основе идентификационной информации центр KGC сам формирует личные ключи всех пользователей. Поэтому большим недостатком IDB-еиетем является то, что нечестный центр KGC, обладая мастер-ключом, имеет возможность самостоятельно вычислять текущие и выданные ранее личные ключи всех пользователей по их идентификаторам, а поэтому и читать шифрованную переписку и подделывать цифровую подпись каждого пользователя.
Поэтому необходимо дополнить IDB-еиетему механизмами, позволяющими защитить пользователей от нечестного поведения центра KGC, например применяя протокол доказательства с нулевым разглашением. Такой подход используется в системах шифрования с извлечением ключа вслепую, в которых пользователь имеет возможность получить личный ключ, не раскрывая центру ни ключа, ни своего идентификатора, и в системах защиты цифровой подписи от подделки подписи со стороны центра [18], где с помощью такого доказательства пользователь, сохраняя в тайне свой личный ключ, может доказать на его основе арбитру, что это не его подпись,
1,5, IDB-еиетемы на основе сертификатов (СВС-еиетемы)
Другой способ защиты от нечестного центра KGC предоставляют системы с открытыми ключами, построенные на основе сертификатов (Certificate-Based Cryptography, СВС) и сохраняющие преимущества PKI и IDB-еиетем, Теперь каждый пользователь сам формирует свою ключевую пару и запрашивает сертификат в доверенном сертификационном центре CA (Certificate Authority), При этом центр CA формирует сертификат с помощью IDB-алгоритма, но при этом он не может восстановить личный ключ пользователя. Такие системы уже не относятся непосредственно к IDB-еиетемам, но сочетают в себе преимущества обычных систем с открытыми ключами и IDB-еиетем,
1,6, Системы без сертификатов (CLC-еиетемы) Ещё одним направлением исследований является открытая криптография без сертификатов (CertifieateLess Cryptography, CLC) [57], где также решается проблема депонирования ключа центром, унаследованная от систем на основе идентификаторов, В данном случае не требуются ни сертификаты, ни инфраструктура PKI, Вместо них доверенная сторона — центр KGC — формирует частичные личные ключи аналогично IDB-еиетемам, Действующий личный ключ пользователя получается путём объединения полученного частичного ключа и выбранного им самим секрета. Поэтому он остаётся неизвестным и не хранится в центре KGC, что устраняет проблему депонирования ключа центром KGC,
Хотя такие системы имеют много общего с системами шифрования на основе сертификатов, каждый подход имеет свои достоинства и отличительные особенности, 1,7, Как заменить скомпрометированные ключи? Ещё одной проблемой IDB-еиетем является отзыв и замена скомпрометированных ключей. Для любых систем с открытыми ключами, основанных на PKI или на ID, должна быть обеспечена процедура отзыва скомпрометированных ключей, В традиционных PKI это решается путём включения в сертификат предустановленного срока годности и ведения актуального списка аннулированных сертификатов, В IDB-системах с открытыми ключами на основе идентификаторов замена ключей представляет проблему, поскольку непонятно, как можно заменять имеющиеся идентификаторы, Самое простое практическое решение для облегчения процедуры отзы-
ва ключей предполагает дополнение идентификаторов некоторой заменяемой информацией, например, сроком действия, ключевым словом и т, п. Более того, можно предусмотреть регулярную замену ключей независимо от того, был ли ключ скомпрометирован или нет, например используя идентификационную информацию вида "receiver-address¡current-date" [20, 22], где date может быть днём, неделей, месяцем или годом.
Такой способ оказывается неудобным для систем с большим числом пользователей, поскольку они должны постоянно контактировать с одним доверенным центром KGC, нагрузка на который резко возрастает. Кроме того, важную роль приобретает проблема обеспечения аутентичности самой идентификационной информации, так как отправители могут путать похожие наборы данных и тем самым неправильно формировать открытые ключи получателя, В результате они будут ненамеренно отправлять зашифрованные сообщения не тем адресатам, причём последние смогут прочитать содержащуюся в них информацию.
Поэтому в нескольких работах предложены IDB-спстемы с процедурой отзыва ключей (IDB-cryptosistem with revocation) [6, 40, 42, 58, 39], где предлагаются специальные математические конструкции, ускоряющие и облегчающие этот процесс и позволяющие упростить работу центра KGC, заменив оценку трудоёмкости с линейной на логарифмическую от числа пользователей, и при этом сохранить простоту работы для самих пользователей,
1,8, Другие приложения
По данным Voltage, сегодня технология IBE защищает данные для более чем 100 миллионов пользователей по всему миру и совместима с такими широко распространенными продуктами, как Outlook, Yahoo, Gmail и др. В [33] содержится большой обзор применений IDB-систем для сенсорных сетей, где отмечается, что в приложениях с ограниченными доступными системными ресурсами факторы, касающиеся общей производительности системы, становятся гораздо более важными. Благодаря экономичности и низким требованиям к инфраструктуре, IDB-системы хорошо соответствуют требованиям к таким сетям. Их применение приводит к значительному сокращению накладных расходов на связь, а также к более рациональному использованию пропускной способности. Иерархические модели, которые могут быть получены из IBC, по-видимому, идеально вписываются в инфраструктуру сенсорной сети. Более того, ряд специальных, ключевых особенностей IBC (распределённый центр генерации ключей, системная иерархия, отзыв ключей, делегирование) решаются простым и элегантным способом.
Далее при описании протоколов будем использовать следующие обозначения:
— a Gr Zn — выбрать случайный элемент а из Zn;
?
— F = G — проверить совпадение F и G;
— G = (P) — циклическая группа G порождена элементом P.
В случаях, когда это не вызывает разночтений, будем для упрощения записи опускать знак конкатенации в аргументе хеш-функции h(x,y,... ,z) = h(x||y|| ... ||z),
2. Математические конструкции для формирования личных ключей
на основе идентификаторов
Формирование личных ключей пользователей (key extraction), соответствующих открытым ключам на основе их идентификаторов, производится в центрах KGC, Перечислим применяемые при этом основные алгоритмы формирования ключевых пар.
2,1, IDB-еиетемы на основе ES А Первый способ построения IDB-еиетемы предложил А, Шамир в 1984г. [60], За основу была взята система ES А, основанная на сложности задачи факторизации целых чисел. Пусть h : {0,1}* ^ Zn — хеш-функция, n = pq.
Открытый ключ центра KGC —это пара (e,n), где e —большое простое число, не являющееся делителем числа (p — 1)(q — 1),
Закрытый ключ центра— (p, q, d), где d = e-1 mod (p — 1)(q — 1), Пользователь A предъявляет центру свою идентификационна^ю информацию IDa и центр выдаёт ему ключевую пару (pkA, skA) = (h(IDA),pkA) т- е. h(IDA) = skA mod n. Значения d и skA = pkA mod n центр может вычислить, зная разложение числа n, 2,2, IDB-еиетемы на основе квадратичных вычетов
В 2001 г, в работе [19] К, Кокс (С, Cocks) предложил схему на основе сложности задачи нахождения квадратного корня в кольце вычетов по составному модулю: x Е Zn, a = x2 mod n n = pq, p, q — различные большие простые числа, удовлетворяющие условию p = q = 3 (mod 4),
Пусть J (n) — множество всех элементе в кольца Zn, которые имеют символ Яко-би равный 1; QR(n) С J (n) — множество всех квадратичных вычетов по модулю n; u Е J (n) \ QR(n); h : {0,1}* ^ J (n) — хеш-функция.
Тройка (n, u, h) составляет набор открытых параметров.
Заметим, что из условия a Е J (^следует, что (-] = | a | = 1 или | a | = [ ^ =
p q p q
= — 1. Поэтому л ибо a либ о (—a) является квадратичным вычетом по модулю n,
p
q
r = a(n+5-(p+q))/s mod n.
Такое r удовлетворяет условию r2 = a (mod n) ми r2 = —a (mod n) в зависимости от того, что является квадратичным вычетом: ми —a.
Пользователь A предъявляет центру свою идентификационную информацию IDa и центр выдаёт ему ключевую пару (pkA, skA) = (a, r), где:
— открытый ключ пользователя равен a = h(IDA) Е J (n);
— личный ключ пользователя определяется как
y/a mod n, a Е QR(n); ^
/ua mod n, a Е J (n) \ QR(n).
2,3, IDB-еиетемы па основе задачи логарифмирования в мультипликативной группе поля К, Гюнтер (С, G, Günther) в [32] предложил способ построения IDB-еиетемы на основе цифровой подписи центра KGC, вычисленной по схеме Эль Гама.im. Закрытым и открытым ключами центра KGC являются соответственно элементы xS G {1,... ,p-1} и yS = gxs G Zp, где p —большое простое число.
Пользователь A получает в KGC цифровую подпись (ua,va) для своего идентификатора ID а, где
UA = gkA; va = (IDa - xsua)^1 mod (p - 1); Ua Gr ZP; (&A,p - 1) = 1.
Проверка подписи проводится с помощью уравнения
ЦА = 9Юл у7а .
Теперь ключевая пара пользователя А определяется как
(ркл,вкл) = ((ША,иА),уА), А
вая половина подписи, а в роли личного ключа —вторая половина подписи Vл = = (дШл у-ил), Поэтому проблема определения личного ключа по открытому ключу сводится к проблеме дискретного логарифмирования в Zp.
2,4, ЮВ-системы на основе группы точек эллиптической кривой Фактически, все первоначально разработанные ГОВ-схемы на основе группы точек эллиптической кривой предполагают наличие операции билинейного спаривания. В общем случае эта операция определяется па двух абелевых группах и О2 простого порядка ^ и принимает значение в третьей мультипликативной группе ОТ того же порядка:
е: ©1 х О ^ От. При этом должны выполняться два свойства:
1) билинейность: при всех € О1 и у, г € О2 выполнены тождества
е(-ш, х + г) = е(-ш, х) е(-ш, г), е(,ш + х, г) = е(-ш, г) е(х, г);
2) невырожденность: для некоторых элементов х € О1 и у € О2 выполнено е(х,У) = 1В практических применениях используются в основном операции спаривания для
групп точек эллиптической кривой. Поэтому будем рассматривать только такие операции, В этом случае группы О1 и О2 являются одинаковыми или различными циклическими подгруппами группы точек эллиптической кривой над конечным полем или его расширением, а ОТ — это подгруппа мультипликативной группы поля. При рассмотрении групп точек эллиптических кривых над конечным полем будем обозначать точки большими латинскими буквами, а элементы поля — маленькими.
Если Р € О1 и п € N то для кратных точек будем использовать обозначение
\п]Р = Р + ... + Р.
1 1 4-V-'
п
В [10] выделено два типа ШВ-схем, различающихся по способу формирования ключевых пар участников:
— тип БОК (от Сакаи — Огиши — Казахара (Е, Бака1, К, ОЬ^вЫ, М, КаваИага) [53]) предполагает наличие двух хеш-функций ^ и к2, принимающих значение соответственно в группах О1 и С2;
— тип БК (от Сакаи — Казахара (Е, Бака1, М, КаваИага) [55]) использует только одну хеш-функцию к, принимающую числовое значение, которое получается представлением двоичного вектора — значения хеш-функции соответствующим натуральным числом.
Для обоих типов ключевая пара центра KGC имеет вид ([s]P, s), где s — закрытый ключ (1 < в < q — 1); [s]P — открытый ключ; P —образующий элемент группы Gi. Для IDB-ехем типа SOK ключевая пара пользователя A определяется как
(pkA,skA) = (hi(lDA), [s]hi(IDA)).
A
(pkA, skA) = ([s + h(IDA)]P, [s + hi(IDA)]-1P),
As выполняется соотношение e(pkA, skA) = e(P, P),
2,5, IDB-системы на основе нечётких множеств В 2005 г. А, Сахаи и Б, Уотерс (A, Sahai и В, Waters) [56] предложили новый способ построения IDB-системы на основе нечётких множеств, в которой идентификатор рассматривается как набор описательных атрибутов.
Нечёткая схема IBE позволяет использовать закрытый ключ, соответствующий открытому ключу с идентификатором ш, для расшифрования текста, зашифрованного на открытом ключе с идентификатором ш', тогда и только тогда, когда идентификаторы ш и ш' находятся близко друг к другу, что определяется метрикой, позволяющей оцепить «перекрытие» множеств: |ш П ш'| ^ d при некотором заданном параметре d.
Нечёткая схема IBE может быть применена для обеспечения шифрования с использованием в качестве идентификационной информации биометрических входных данных. Поскольку биометрические данные обладают некоторым шумом, их использование в обычных IDB-снстемах невозможно. Однако свойство устойчивости к ошибкам нечёткой схемы IBE позволяет расшифровать зашифрованные данные с помощью личного ключа, восстановленного из биометрических данных, который может отличаться от истинного личного ключа.
Кроме того, Fuzzy-IBE можно использовать для приложений, которые называются «шифрованием на основе атрибутов», В таких приложениях стороны отправляют зашифрованные сообщения всем пользователям, имеющим заданное множество атрибутов, например «члены комиссии», «сотрудники отдела» и т.п., которые составляют (нечёткую) идентификацию. Поэтому такие сообщения могут прочитать только те, у кого в идентификационной информации есть соответствующие атрибуты.
Преимуществом такого подхода является то, что документы могут храниться на обычном сервере без доверенных средств (удалённой) аутентификации.
Благодаря этому свойству IDB-системы на основе нечётких множеств применяются в системах, допускающих эффективную процедуру отзыва ключей. Далее в п,3,1 описана нечёткая система шифрования Fuzzy-IBE (Fuzzy Identity-Based Encryption) из [56], а в п, 3,2 —её применение в системах с процедурой отзыва ключей из [38], 2,6, Иерархические IDB-системы Для масштабирования IDB-систем с целью применения их в больших распределённых системах в [23] предложена иерархическая структура IDB-системы, в которой может быть несколько локальных центров KGC, образующих древовидную структуру, корнем которой является корневой центр генерации ключей rootPKG, а каждый центр выдаёт ключи только связанным с ним центрам следующего уровня (рис, 1), Листьям дерева соответствуют пользователи.
root PKG
mk
<ю
X))S N mk<|D,j
(юх> (id;>
mk
(ID
1 ,ID2> I/' N mk(ID1,ID'-))
(IDi, ID2) (IDi, IDs)
mk
<iDi.iD2,iD3)
Nt mk(ID1,ID2,ID' >
(IDi, Ю2, Юз) (IDi,ID2,IDQ
Рис. 1. Иерархическая структура локальных центров [23]
Каждый локальный центр PKG, соответствующий вершине, расположенной на г-м уровне, однозначно характеризуется набором идентификаторов (IDi,..., ID), соответствующих пути от корня к этой вершине. Поэтому в качестве открытого ключа для этого центра можно выбрать значение h(ID11| ... ЦГО^), где h — некоторая хеш-функция, а закрытый ключ mk(IDl,...,IDi) формируется на основе открытого ключа.
В н.3.1 приведён пример иерархической IDB-системы шифрования HIDE [23].
Другие способы формирования ключевых пар пользователей рассмотрены далее при описании конкретных классов IDB-систем.
3. Примеры криптографических IDB-систем
3.1. IDB-системы шифрования (I В Е ) IBE-схема на основе квадратичных вычетов
В [19] К. Кокс (С. Cocks) предложил IDB-схему шифрования, использующую описанный в п.2.2 способ формирования ключевых пар на основе проблемы извлечения квадратного корня в кольце вычетов Zn, n = pq, оде p и q— простые числа, удовлетворяющие условию p = q = 3(mod4). Пользователь A предъявляет центру свою идентификационную информацию IDA и получает ключевую пару (pkA, skA) = (a,r), где a = h(IDA) e J(n), a r находится по формуле (1).
Зашифрование происходит побитно: для зашифрования бита m (который закодирован +1 или —1) надо:
1) выбрать случайные элементы t0, t1 e Zn;
2) вычислить
t2 + u'a { U\
di =
ti
Ci = m -n
г e {0,1}.
Шифртекст состоит из двух элементов ((do,Co), (d1,c1)). Поэтому при зашифровании одного бита получится O(log n) битов шифртекста. Расшифрование:
1) определить г e {0,1} такое, что r2 = uia;
2) вычислить g = di + 2r, которое можно записать так:
g = di + 2r = t!±l! + 2r =(ti + Г)2
ti
ti
ti + r' ti
ti,
Отсюда следует, что ( —
Vn
3) вычислить m = ci ( — ).
n
2
IBE-система Боне — Франклина на основе билинейного спаривания
(BF-IDE)
Первая практически эффективная иерархическая система предложена в работе D, Boneh и М, Franklin в 2001г. [9]. Она основана на операции спаривания для эллиптических кривых e: G1 х Gi ^ GT, где Gi — подгруппа группы точек эллиптической кривой; GT — подгруппа мультипликативной группы поля. Пусть также имеются хеш-функции h1: {0,1}* ^ G1 и h2: GT ^ {0,1}n.
Центр KGC обладает ключевой парой (s,H), H = [s]P, P G G1.
Участник A получает в центре KGC открытый ключ Qa = Лч(ГОа) и личный ключ Sa = [s]Qa- Для зашифрования сообщения M G {0,1}% отправляемого участнику A, надо выбрать случайное значение r G Zq и сформировать шифртекст
C = ([r]P, M + h2(e(QA, H)r)) = (U, V). A
M = C + h2(e(SA,U)),
так как e(SA, U) = e([s]QA, [r]P) = e(QA, [s]P)r = e(QA, H)r.
Данная схема в качестве конструктивного блока нашла многочисленные практические применения в протоколах для иерархических, облачных, широковещательных и др. ID B-систем [23, 22, 34, 2, 67, 14].
Позднее Д. Галиндо (D. Galindo) [21] обнаружил уязвимость этого протокола и предложил исправленный и улучшенный вариант.
Система Fuzzy-IBE на основе нечётких множеств
В нечёткой системе шифрования Fuzzy-IBE (Fuzzy Identity-Based Encryption), предложенной в 2005 г. А. Сахаи и Б. Уотерс (A. Sahai, В. Waters) [56], идентификатор рассматривается как набор описательных атрибутов.
Пусть e: G1 х G1 ^ GT — операция билинейного спаривания для групп G1 и GT простого порядка p и Po — образующий элемент группы G1. Определим коэффициент Лагранжа для i G Zp и S С Zp равенством
Si's(x)= п н Ч0' x=ZGS-г (2)
jes,j=i i - J [0, x G Zp \{i}.
Пусть идентификаторами являются подмножества ш некоторого множества U, Множество U может быть множеством всевозможных атрибутов или множеством оцифрованных значений некоторой биометрической системы распознавания. Каждому элементу подмножества ш однозначно сопоставлен некоторый элемент из Zp. Пусть для простоты элементам из U соответствуют первые |U| элементов {1,..., |U|} из Zp.
Выберем случайно и равновероятно t]_,... ,t\u\,y Gr Zp. Открытыми параметрами центра являются
(T1 = [t1]Po, ...,T\U\ = [t\u|]Po, Y = e(Po, Po)y), а мастер-ключ определяется как (t1,..., t\U\,y).
Пользователь с идентификатором ш СТА получает личный ключ на основе случайного многочлена д(х) € Щр[х\ степени 1 — 1с д(0) = у как упорядоченный набор (Ог)геш, ~д(г)~
где Di
ti
Po, i & ш.
Зашифрование. Для зашифрования сообщения ^ш € С^т на открытом ключе ш' выбирают случайный элемент г € Щр и формируют шифртекст ВИда
с =(ш', с' = ш¥г, {С =[т\Тг]геш).
Расшифрование. Если шифртекст получен на ключе ш', то для его расшифрования на ключе ш, удовлетворяющем условию |ш П ш'| ^ 1, следует выбрать произвольное подмножество а С ш П ш' мощноетн 1 и вычислить
с!/ П e(Gi, Ci)£i-(o) = m • e(Po, Po)ry/ П e
q(i)
ti
Po, [rti]Po
Si,a (o)
m • e(Po, Po)ry/ П (e(Po, Po)rq(i))*"(o) = m • e(Po, Po)ry/e(Po, Po) ^^(o)
m.
Данное выражение вытекает из формулы интерполяции стоящего в показателе многочлена q(x) степен и d — 1 по d точкам:
Е q(i)Si,a(0) = q(0) = y.
Иерархические IBE-системы
В [23] предложена иерархическая структура IDB-системы — HIDE (Hierarchical IDentitv-based Encryption), в которой локальные центры KGC образуют древовидную структуру, корнем которой является корневой центр генерации ключей rootPKG, а каждый центр выдаёт ключи только связанным с ним центрам следующего уровня (см, рис, 1), Конечные вершины, соответствующие листьям этого дерева, представляют пользователей.
Данная система была основана на конструкции Боне и Франклина [9],
Параметры корневого центра rootPKG:
1) Пусть p — fc-битовое простое число, e: G1 х G1 ^ GT — операция спаривания, где G1, G — циклические группы порядка p; Po — случайно выбранный образующий элемент группы G1,
2) При некотором n > 0 выбираются криптографические хеш-функции
hi h2 ha h4
{0,1}* ^ Gi, GT ^ {0,1}n, {0,1}n х {0,1}n ^ Zp,
{0,1}n ^ {0,1}n.
3) Выбирается случайный элемент € Щ, — корневой мастер-ключ, и формируется ключевая пара центра п^РКС (з0,(0 = [з0\Р0),
Формирование ключей для центра, расположенного на г-м уровне. При г ^ 1 каждый центр КССг, расположенный на г-м уровне, выбирает в качестве секрета элемент вг € Щр, вг = з, и вычисляет (г = [зг\Р0,
Центр KGQ однозначно характеризуется набором идеитификаторов (ID1,..., IDj), соответствующих пути от корня к этому центру, В качестве открытого ключа он выбирает значение Pi = h1(ID1| ... ||IDj), а для получения закрытого ключа обращается в центр KGCi-1 с идентификатором (ID1| ... ||IDi-1).
Пусть центр KGCi-:1 обладает секретом si-1 и мастер-ключом
mkiDi-i = (Si-1, Q1,..., Qi-1)
(при г = 1 центр KGC1 обладает секретом s1 и мастер-ключом mk1 = (S1, Q^, где S1 — единичный элемент группы G1),
Для вычисления личного ключа центра KGCj центр KGCi-1:
1) вычисляет Pi = h1(ID1| ... ||IDj);
i
2) вычисляет Si = Si-1 + [si-1]Pi = 5^[sj-1]Pi;
j=1
3) возвращает (Sj, Q1,..., Q^), где Qj = [sj]P0, 1 ^ j ^ г — 1.
i
mkiDi = (Si,Q1,... ,Qi).
Для зашифрования сообщения M e {0,1}* для центра KGCi надо:
1) вычислить Pi = h1(ID1,... , IDj), 1 ^ j ^ г;
2) вычислить g = e(Q0, P1);
3) выбрать случайное о e {0,1}n и вычислить r = h3(o, M);
4) определить
C =([r]Po, [r]P2, ..., [r]Pi, о 0 h2(rg), M 0 h4(o)).
Расшифрование.
Получив сообщение C = (U0, U2,..., Ui, V, W), участник (ID1,..., IDi) должен:
1) вычислить
, e(U0,St)
g = 1-;
П e(Qj-1 ,Uj) j=2
2) вычислить о = V 0 h2(g');
3) вычислить M = W 0 h4(o);
4) вычислить r = h3(o, M). Если U0 = [r]P0, то прервать протокол. Если пет, то
M
Заметим, что вместо гаммирования W = M 0 h4(o) можно использовать любой алгоритм блочного шифрования W = Eh4(CT)(M),
IBE-протокол Уотерса
Система шифрования, предложенная В, Waters в [66], использует симметричное спаривание эллиптических кривых e: G1 х G1 ^ Gt, G1 = (P0). Закрытый ключ центра — случайный элемент x eR Zp, открытым ключом является Q = [x]P0, Пусть пользователь A характеризуется идентификатором
IDa = (ab...,ara) e {0,1}n.
Обозначим ш = {г: аг = 1} С {1,..., п}.
Для формирования ключа пользователя центр КОС выбирает случайные Р2,и', 1]\,... ,ип Ек и пусть и = (^1,..., ип), Центр объявляет (Ро , (о, Р2, и) открытыми параметрами пользователя и выдаёт ему личный ключ 1 = е([х]Р2 + [т\У, [г]Ро), где г Ек Ъ*р — елучайное; V = и' + Е иг.
геш
Зашифрование.
Для зашифрования сообщения т Е Ър необходимо вычислить значение V = и' +
+ Е иг, выбрать случайное г Ек Ър и сформировать шифртекст вида геш
с = (в((о,Р2у • т, ЩРо, [г^).
Расшифрование.
Для расшифрования шифртекста С = (с1,С2, С3) надо с использованием личного
е(<2,Сз)
ключа а = (<1,а2) вычислить т = —:—-—г • с1.
е(<1, С2)
Действительно,
е(<2,Сз) = е([г]Ро, [^) = е([г]Ро, [¿^) =
е(<1, С2) ^ С1 е([х]Р2 + [r]V, [г]Ро) ^ С1 е([х]Р2, [г]Ро) • е([г] V, [Ь]Ро) ^ С1
е(Ро^ )н
e([x]Po,P2y • e(Po,V)rt
e(Qo, P2) • m = m.
Данная схема может быть модифицирована в иерархическую IDB-еиетему, в которой идентификатор центра г-го уровня имеет вид ID = (IDi,..., IDj). В этом случае для каждого уровня надо генерировать свои параметры U 'и U,
Системы IBE вслепую (Blind IBE)
Для схем шифрования на основе идентификаторов существует протокол извлечения ключа (key extraction protocol), в котором пользователь отправляет строку с идентификационными данными центру KGC, который затем возвращает соответствующий секретный ключ для этого идентификатора. Этот протокол может быть выполнен для нескольких известных схем IBE эффективно вслепую, то есть пользователь может получить секретный ключ, соответствующий его идентификатору, без того чтобы главный центр узнал что-либо об этом идентификаторе. Схемы, поддерживающие протокол извлечения вслепую, называются системами IBE вслепую (blind IBE),
В [28] М, Грин и С, Хохенбергер (М, Green, S, Hohenberger) предложили эффективные протоколы извлечения ключа вслепую, удовлетворяющие этому определению, для схем IBE Боне-Бойена [8] и Уотерса "[66] (используя обобщение," предложенное независимо Неккаче (D, Naeeaehe) [46] и Чатержи — Сархара (Chatterjee, Sarkar) [13]), Последний протокол похож на схему подписи вслепую Окамото [49],
Рассмотрим эффективный протокол извлечения ключа вслепую, названный BlindExtraet, для следующих ГОЕ-еиетем:
(1) Боне-Бойена [8];
(2) обобщённой версии протокола IBE Уотерса [66], предложенной независимо Нэк-каче [46] и Чатержи — Сархаром [13],
Так как обе ехемы основаны на одинаковых конструкциях, сначала опишем их общие элементы. Пусть С1 = (Р), = д, f : {0,1}* ^ С1 и е : С х С ^ Су-операция билинейного спаривания. Выбираем а Ея Ъ* и Н, Р2 Ея С1 и полагаем Р1 = [а]Р, т5к = [а]Р2 — закрытый ключ центра КОС,
Пользователь А отправляет центру свой идентификатор ГО а и получает от центра личный ключ вида
(АьА) = ([а]Р2 + [r]f (ГОа), [г]Р) Е С2, где г Ея Ъд. Корректность этой пары проверяется тестом
е(Р1,Р2) (ГОа)) = е(^с,Р).
Для зашифрования текста т Е Су вырабатывается случайное число 5 Ея Ъд и формируется шифртекст
С =(е(РьР2Г ■ т, [5]Р, [^(гоа)).
При расшифровании шифртекета С = (с, У, Z) Е х С1 используется ключ (Д0,Д1) Е С1 и формируется открытый текст
т = с ■ е(ад)/е(У,Д,).
Протокол извлечения ключа вслепую ВИпс1Ех1;га^ для обеих схем 1ВЕ (1) и (2) имеет следующий вид (А —пользователь, Т —центр):
А: У Ея Ъд ,
А ^ Т Н' = [у]Р +[ГО а]Р1 ,
А о Т гКргоо%,ГО а),
Т Г ЕД Ъд ,
Т £0 = [а]Р2 + [Г](Н' + Н),
Т = [г]р,
А ^ Т (£0,£1),
А: проверяет е(Рь Р2) ■ е(£1, Н' + Н) = е(£0,Р),
А: г Ея Ъд,
А: £о = £0 - [у]£1 + [^(ГОа), £1 = £1 + [г] Р.
Через ZKproof(y, а) здесь обозначен протокол доказательства с нулевым разглашением знания такой пары (у, а), что выполняется равенетво Н' = [у]Р + [а]Р1, Этот протокол может быть сделан неинтерактивным, выполняемым однократной передачей сообщения ([Г1]Р +[Г2]Р1,Х, 51, 52), ГД6 Г1, Г2 Ея Ъд, X = ^([^]Р +[Г2]Р1), 51 = Г1+ХГ, 52 = Г2 +ха. Проверка правильности доказательства осуществляется путём рассмотрения равенства
[Г1]Р + [Г2]Р1 = [51]Р + [52 ]Р1 + [х]Н'.
Различие между системами (1) и (2) заключается в выборе способа записи идентификаторов и конструкции функции f : {0,1}* ^ С1.
Для системы 1ВЕ (1) функция f определяется как
f (ГО а) = Н + [ГО а]Р1.
Для системы 1ВЕ (2) идентификаторы ГО = (а^ ..., ап), а € {0,1}г, выбираются из пространства битовых строк длины N = п/, а функция / : {0,1}м ^ ОТ определяется как
п
/ (ГО а) = Н + Е [а, , ^=1
где элементы Ц € ОТ выбираются центром случайно (Д. Неккаче предлагал использовать значения N = 160 и / = 32 [46]), Для протокола доказательства с нулевым
п
разглашением ZKproof значение Н' вычисляется по формуле Н' = [у]Р + Е[а?
¿=1
0 ^ а < 2г. Личный ключ пользователя, соответствующий идентификатору ГО, где г €д имеет следующий вид:
(До, А) = ([а]Р2 + [г]/(ГОа), [г]Р) = ^[а]Р2 + [г] ^Н + Е ] ^ , [г]^ .
СВС-системы шифрования
Системы шифрования на основе сертификатов (Certificate-Based Сгур1ю8\^ет, СВС) помогают избавиться от недостатка обычных ГОВ-еиетем шифрования, где центр КОС имеет возможность вычислять личные ключи всех пользователей, а поэтому и знакомиться с содержанием шифрованной переписки каждого пользователя, В то же время они не требует наличия дорогостоящей инфраструктуры РК1, позволяющей постоянно проверять актуальность сертификата.
Сертификат используется как составная часть ключа расшифрования, который составлен непосредственно из сгенерированного пользователем личного ключа и полученного в центре сертификации СА сертификата. Хотя СА знает сертификат, он, в отличие от КСС, не может расшифровать ни одного шифртекста.
Пусть имеется операция симметричного билинейного спаривания для группы
01 = (Р) и две хеш-функции : {0,1}* ^ О1 и Л,2 : ОТ ^ {0,1}п, где п —длина открытого сообщения, подлежащего зашифрованию.
Центр С А выбирает закрытый ключ €д Ъ*р и открытый ключ = ]Р.
Пользователь А обладает ключевой парой (зкл,ркл) = (за, [м]Р)- Для получения сертификата он обращается в центр СА, отправляя туда сообщение тГоА, содержащее значение открытого ключа ^а = [за]Р и другую идентификационную информацию. Центр СА вычисляет <2А = || тГоА) и возвращает сертификат еейА = [зс]2а,
В качестве дополнительного аргумента для может быть включён период действия сертификата.
Теперь А подписывает тГоА, формируя значение [за]Ра, где Ра = Л-^тГоА), и вычисляет личный ключ 5А = сегtA + [за]Ра- Заметим, что это значение образовано из подписей центра СА и пользователя А под сообщениями <2а и Ра соответственно.
Зашифрование сообщения т с использованием тГоА выполняется следующим образом: вычисляется <2 а = || 1п&>А) и Ра = (тГоА), выбирается случайное Ь €д и формируется шифртекст
(Ц, V) = ([Ь]Р, М 0 Ме(дс, аА)4б([8А]Р, Ра)')).
Расшифрование сообщения (Ц, V), зашифрованного с помощью тГоА и открытого ключа <2а, осуществляется с помощью личного ключа $а по формуле
М = V 0 й2(б(и,ЗА)).
CLC-системы шифрования
Рассмотрим пример системы, шифрования без сертификатов (Certifieateless Cryptosystem), предложенный в работе [2]. Пусть, как и выше, имеется операция симметричного билинейного спаривания для группы G1 = (P), Центр выбирает закрытый ключ s ER Zp, и пусть открытый ключ Q = [s]P, Пусть h1 : {0,1}* ^ G1 и h2 : Gf ^ {0,1}га— хеш-функции; n —длина открытого сообщения, подлежащего зашифрованию.
Извлечение частичного личного ключа пользователя A осуществляется согласно алгоритму BF-IBE Боне — Франклина: для идентификатора ID a алгоритм возвращает значение [sjH^IDA),
Пользователь вырабатывает секретное значение x ER Zp и формирует действующий личный ключ skA = [xsjH^IDa) и открытый ключ pkA = (X,Y) = ([x]P, [x]Q), Корректность открытого ключа может быть проверена равенством e(P,Y) = e(Q,X),
Зашифрование n-битового сообщения m E Zp с помощью идентификатора ID a и (X, Y)
открытого ключа, вырабатывается случайное значение t ER Zp и формируется шифр-текст
(U,v) = ([t]P, m 0 h2(e(hi(IDa),Y))). Для расшифрования шифртекста (U, V) используется личный ключ skA'.
m = v ф h2(e(skA, U)).
3,2, IBE-еиетемы с процедурой отзыва ключей
Наиболее удобным способом обновления ключей является принудительная периодическая замена ключей путём привязки их к определённому периоду времени, например к одной неделе.
Центр KGC, выступающий в данном случае в роли центра управления ключами, должен регулярно производить обновление ключей всех пользователей. При невозможности непосредственных контактов для этого необходимо организовать рассылку зашифрованных ключей. Однако такой способ оказывается неудобным для систем с большим числом пользователей, поскольку центру KGC в этом случае приходится регулярно выполнять массовую рассылку зашифрованной ключевой информации,
В работе [6] предложена оригинальная схема, позволяющая избежать массовой рассылки, в которой пользователи обращаются к общедоступному серверу центра KGC только в случае необходимости. Для этого использована конструкция, построенная на основе нечёткой системы шифрования Fuzzy IBE и структуры бинарного дерева [38],
Преимуществом систем шифрования на основе конструкции Fuzzy IBE является то, что шифртекеты могут храниться на общедоступном открытом сервере, В конструкции Fuzzy IBE из [56], описанной в п, 3,1, пользовательские ключи и ключи, использованные для зашифрования текстов, связаны с наборами описательных атрибутов. Ключ пользователя может расшифровать тот или иной зашифрованный текст только в том случае, если у ключа зашифрования и ключа пользователя совпадает определённое количество атрибутов (так называемая «устойчивость к ошибкам»). Количество атрибутов, используемых для шифрования, и степень устойчивости к ошибкам определяются заранее.
Для защищённости от сговора требуется, чтобы разные пользователи, объединив свои атрибуты вместе, не смогли расшифровать зашифрованный текст, который ни
один из них не емог расшифровать по отдельности. Чтобы предотвратить сговоры, алгоритм генерации ключей Fuzzy IBE для каждого пользователя генерирует случайный полином, степень которого на единицу меньше, чем степень устойчивости к ошибкам, для каждого пользователя. Этот многочлен используется для вычисления ключей, соответствующих набору атрибутов. Поскольку все ключи вычисляются на разных полиномах, они не могут быть объединены каким-либо значимым образом,
В схеме IBE сообщения шифруются по двум атрибутам: идентификационной информации получателя и периоду времени. Ключ расшифрования также вычисляется для идентификационной информации атрибутов и времени с помощью полинома первой степени, что означает, что оба атрибута ключа расшифрования должны совпадать с атрибутами зашифрованного текста.
Ключ расшифрования каждого пользователя, соответствующий идентификатору и времени, разделён на два компонента: личный ключ и обновление ключа. Чтобы иметь возможность расшифровать зашифрованный текст, пользователю требуется как личный ключ, так и обновление ключа. Личный ключ выдаётся каждому пользователю центром KGC так же, как и обычные личные ключи в IBE, Обновление ключа публикуется центром KGC и является общедоступным для всех пользователей.
Таким образом, когда центру управления ключами KGC необходимо отозвать ключ пользователя, он может просто прекратить публикацию обновлений ключей для этого пользователя.
Чтобы избежать необходимости вычисления обновлений ключей для каждого пользователя отдельно, в [6] используется структура двоичного симметричного дерева высотой h, в котором каждому пользователю соответствует уникальный конечный узел — лист дерева. Каждому узлу дерева присвоен случайный многочлен.
Каждый пользователь получает ключи, соответствующие его идентификационной информации и вычисленные по полиномам всех узлов на пути от листа, соответствующего этому пользователю, к корню дерева. Чтобы иметь возможность расшифровать текст, зашифрованный в период времени t, пользователю достаточно получить обновления ключа, соответствующие t, для всех полиномов вершин па этом пути. Таким образом, когда ни один пользователь не отозван, центру ключей достаточно опубликовать обновление ключа, вычисленное на полиноме корня дерева. Когда отзывается подмножество пользователей, центр сначала находит минимальный набор вершин в дереве, который содержит предка (или сам узел) среди всех листьев, соответствующих неотозванным пользователям. Затем центр публикует обновления ключей по полиномам для вершин из этого набора. Начальная установка.
Пусть Gi — группа простого по рядка p с образующим P и операцией билинейного спаривания. Определим функцию
FP.J.H! ....,Hj (x) = [x2]P + Е (x)]Hi,
i=i
где (x) определяется равенством (2),
Пусть имеется бинарное древо T, Каждой вершине соответствует некоторая строка, определяемая путём Path (v) от v к корню root дерева T, Если вершина v не является листом дерева, то обозначим через v^ и vr соответственно её левого и правого сына.
Обозначим через г/ = {(vi,ti)} список вершин, ключи которых отозваны, В этом списке для каждой вершины v указывается время tj, когда произведён отзыв ключа.
Требуется расшифровать текст в период времени Ь так, чтобы ключи расшифрования не зависели от вершин, ключи которых были отозваны до этого момента времени.
Определим функцию КТОос1ев, которая вычисляет минимальное множество вершин, дня которого требуется обновить ключи так, чтобы пользователи, ключи которых не отозваны до момента времени Ь, могли расшифровать шифртекст, В качестве входов функции КШ1ос1еБ выступают бинарное дерево Т, время £ и список г/ вершин, ключи которых отозваны, В этом списке дня каждой вершины указывается время, когда произошел отзыв ключа. Выходом является минимальное множество вершин дерева Т, для которого ни одна из вершин из списка г/, у которой время отзыва не превосходит Ь, не имеет предшественников в этом множестве и все остальные листья имеют в этом множестве в точности одного предшественника.
Алгоритм вычисления функции КТОос1ев состоит в следующем. Сначала помечаются как отзываемые все предшественники отозванных до момента времени Ь вершин, а затем и все дети отзываемых вершин. На рис, 2 показан пример работы алгоритма вычисления функции КТОос1ев при отзыве ключей пользователя, соответствующего вершине и3. Символ ом ® помечены вершины, ключи которых отзываются, а символом ✓ — вершины, ключи которых подлежат обновлению.
и 1 42 и 3 и 4 И5
Рис. 2. Результат работы функции КШос1ез при отзыве ключей пользователя из [6]
Приведём описание алгоритма отзыва. Помимо дополнительных выходов г/ и вЬ, оно в точности повторяет процедуру из Еияяу 1ВЕ,
Полагаем г/ = 0, и пусть Т —бинарное дерево с п листьями. Пусть для примера G1 = {Р >, |С| = р, 3 Е {1,2, 3} а Ее Zp, Р = [а]Р, Р2,НъН2,Нз Ее
Генерация закрытого ключа, БК(рк, тк, ш, вЬ):
1) положить рк = (Р, Р\, Р2, Н\, Н2, И3), тк = а, вЬ = Т;
2) взять непомеченную вершину-лист V го дерева Т и приписать ш к этой вершине;
3) для всех х Е РаЬН(ь)\
— если ах не определено, то приписать вершине х значение ах Ее Zp;
— Гх Ее Zp;
— Бх = [ахш + а]Рз + [гх]Рр2дя1 Д2Д3 (ш);
-Б = [Гх]Р;
4) возвратить вкш = {(х,Пх,0'х)}х€Р<ан(ь), вЬ.
Заметим, что ах фиксирует многочлен первой степени дх(у) = аху + ас условием дх (0) = а, соответствующий вершине х. Алгоритм вычисляет ш-компоненты ключа расшифрования с помощью многочленов всех вершин па пути от листа, соответству-ш
Генерация обновлённого ключа, KU(pk, mk, t, г/, st):
1) положить pk = (P, Pi, P2, Hi, H2, H3), mk = a st = T;
2) для всех x G KUNodes(T, г/, t):
гх GR
— Ex = [axt + a]P + [гл ]Fp2,j,Hi,H2,H3 (t);
— EX = [rx]P;
3) возвратить kut = {(x, Ex, E'x) : x G KUNodes(T, г/, t)}.
Алгоритм сначала находит минимальное множество вершин, содержащее предшествующую вершину (или саму вершину) для всех неотзываемых вершин. Затем вы-t
этого множества.
Генерация ключа, расшифрования (Decryption Key Generation) DK(skw , kut):
1) положить skw = {(i,Di,Dj) : i G I}, kut = {(j, Ej, Ej) : j G J} для некоторых множеств вершин I, J;
2) для всех (i, Dj, Dj) G skw, (j, Ej, Ej) G kut:
— если существуют i G I, j G J, такие, что i = j, то dkW)t = (Di,Ej, Dj, Ej) (ключ создан);
— в противном случае (т. е, skw и kut не имеют ни одной общей вершины) dkW)t =i (символ ± указывает, что ключ отозван);
3) возвратить dkW)t = (D,E,D',E') (далее индексы i, j опускаем).
Алгоритм находит компоненты ключа skw и kut, которые получены с использованием одинаковых многочленов. Зашифрование E(pk,w,t, m):
1) положить pk = (P, Pi, P2, Hi, H2, H3);
2) z Gr Zp;
3) ci = m ■ e(Pi,P2)z;
4) C2 = [z]P;
5) Сш = [z]FP2,J,Hi,H2,H3(ш);
6) Ct = [z]FP2,J,Hi,H2,H3 (t);
7) возвратить C = (w,t,Cw,Ct,ci,C2), Алгоритм шифрования в точности повторяет IBE, Расшифрование D(dkW)t,C):
1) положить dkWjt = (D, E, D', E'), C = (ш, t, Сш, Ct, ci, C2);
m
Алгоритм расшифрования такой же, как у Fuzzy IBE, Отзыв (Revocation) R(w,t, г/, st):
1) для любой вершины v, ассоциированной с идентификатором ш, добавить (v,t)
г/
г/
Функция KUNodes должна вычисляться, только если изменяется содержание спис-г/
г/
Если число пользователей превышает ёмкость текущего дерева, то необходимо дополнить его непомеченным деревом такого же размера путём присоединения корневых
вершин обоих деревьев к новой корневой вершине. Тем самым число пользователей может быть увеличено в 2 раза. Каждый новый пользователь получает дополнительную компоненту личного ключа, определённую по старому или новому дереву, которая должна быть зашифрована с помощью соответствующей идентификационной информации с указанием времени и опубликована,
3,3, IDB-еиетемы цифровой подписи IDB-схема подписи Шамира на основе RSA
А, Шамир предложил схему цифровой IDB-подпиеи на основе RSA, Для подписи сообщения m пользователю A с открытым ключом pk = h(IDa) и личным ключом sk = h(IDA)d mod n надо:
1) выбрать случайное число r G Zn;
2) вычислить t = re mod n;
3) вычислить f = h(t,m), где h — однонаправленная функция;
4) вычислить s = sk • rf mod n.
Значением подписи будет (s,t).
Для проверки подписи надо проверить выполнение равенства
se = pk • th(t'm) mod n.
IDB-схема подписи GQ Гийу — Кискатера на основе RSA
L, С, Guillou и J.-J. Quisquater в 1999 г. [30] предложили модификацию схемы Шамира, Пусть центр KGC обладает закрытым мастер-ключом d и открытым ключом (n, в), ed = 1 ( mod ^.Пользователь A получает в центре «тень» Ja своего идентификатора ID a в качестве открытого ключа и RS А-подпиеь Sa = J-d mod n в качестве
JA
ционную информацию ID а для того, чтобы не проходила (экзиетенциональная) атака, позволяющая строить новые ключевые пары путём возведения в степень и умножения значений из известных противнику ключевых пар.
Алгоритм вычисления подписи а = (s, t) под сообщен нем m:
1) r gr Zn;
2) u = re mod n;
3) t = J%ue mod n, где k выбирается из условия ek-1 ^ m ^ ek;
4) s = rS\.
Для проверки подписи надо вычислить u = J\ se и проверить выполнение равенства
? h t = J%uek.
Модифицированный вариант этой схемы [30] вошёл в международный стандарт ISO/IEC 14888-2: 1999.
IDB-схема подписи GQ1 на основе RSA из ISO/IEC 14888-2: 2008
Рассмотрим вариант GQ1 IDB-ехемы цифровой подписи из последней версии этого стандарта. Пусть n = p1 •... • pf — произведение различных простых чисел; v — простое число (верификационная экспонента), v < n.
Формирование ключей владельца подписи.
Ключ проверки подписи формируется как элемент G G Zn, каким-то образом сопоставленный идентификационной информации пользователя: ID м G,
Ключ подписи Q G Zn можно вычислить двумя способами так, что полученные в результате числа G и Q удовлетворяют условию
G ■ Qv mod n = 1.
Способ 1 (с применением китайской теоремы об остатках (CRT, Chinese Remainder Theorem)):
1) для i = 1,... , /:
— найти число sj как наименьшее положительное число, такое, что v sj — 1 кратно pj — 1;
— вычислить uj = pj — 1 — sj; Gj = G mod pj; Qj = GU mod pj;
2) найти Q = CRT(Qi,... , Qf) с помощью китайской теоремы об остатках.
Способ 2 (без применения CRT):
1) найти число s как наименьшее положительное число, такое, что v s — 1 кратно наибольшему общему делителю (pi — 1,... ,р/ — 1);
2) вычислить u = (pi — 1,... ,Pf — 1) — s;
3) вычислить Q = Gu mod n.
Алгоритм, подписи:
1) выбрать случайные числа г = (г1, ..., Tt);
2) для i = 1,..., t вычислить г7 mod n и сопоставить им битовую строку W;
3) вычислить H = h(W||M), пусть R —начадьный отрезок из t(/(v) — 1) битов строки H, где /(v^^^^^n длипа v;
4) для i = 1,..., t вычислить г ■ QRi mod n, сопоставить им битовую строку S,
Подписью является пара (R, S),
Алгоритм, проверки подписи:
1) разделить битовые строки R и S па компоненты и выделить соответствующие числа г и sj; i = 1,..., t;
2) для i = 1,..., t вычислить Sj7 ■ GRi mod n, сопоставить им битовую строку W*;
3) вычислить H* = h(W*||M), пусть R* —пачадьпый отрезок из t(/(v) — 1) битов строки H*;
?
4) проверить равенство R* = R,
IBS-1-схема подписи на основе ECDLOG из ISO/IEC FDIS 14888-3: 2018
IDB-ехема подписи IBS-1 строится на основе группы точек эллиптической кривой и операции билинейного спаривания. Этот механизм основан на алгоритме, разработанном в [35], Пусть G1 = (P) — циклическая подгруппа порядка q группы точек эллиптической кривой E над толем GF(pm),
Мастер-ключом центра KGC является ключевая пара (U, V), где открытый ключ U — случайное число в интервале 0 < U < q, а закрытый ключ вычисляется по формуле V = [U]P,
Ключ формирования и проверки подписи пользователя — это ключевая пара (X, Y), где Y = h1(ID) — ключ проверки подписи, полученный из идентификационных данных владельца ID с помощью хеш-функции h1; а X —личный ключ подписи, вычисляемый центром KGC: X = [U]Y,
Конкретные параметры схемы подписи—Gi, G2,P,q,e(, ),h1 и h2 — определены в [70], Здесь e(,) обозначает операцию билинейного спаривания e : Gl ^ G2, которая предполагает наличие в мультипликативной подгруппе поля, являющегося некоторым расширением поля GF(pm), циклической подгруппы G2 порядкa q.
Алгоритм формирования подписи:
1) выбрать случайное целое k, 0 < k < q, и сохранить его в секрете;
2) вычислить П = e(X, P)k.
Замечание, Элемент П принадлежит расширению поля GF(pm) степени 4 для характеристики p = 2, степени 6 для характеристики p = 3 и степени 2 для характеристики p > 3;
3) при p > 3 вычислить
R = h2(M||Па||Пь) mod q, где П = (Па, Пь) G GF(p2m), Если R = 0, то перейти к п. 1,
Для полей более высокой степени расширения следует рассматривать больше компонент в строке П. Например, для степени расширения 4: П = (Па, Пь, Пс, П^);
4) вычисление второй части подписи:
S = [k - R]X.
Подписью является Е = (R, S),
Алгоритм, проверки подписи:
1) проверить S G G1; если пет, то подпись неверна;
2) вычислить П' = e(S,P) * e(Y,V)R.
Замечание, Значение спаривания e(Y, V) может быть вычислено заранее;
3) вычислить
R' = h2(M||Па|ПЬ) mod q;
?
4) проверить свидетельство R' = R. Если да, то подпись верпа, иначе неверна,
IDB-схема подписи BLMQ
Эта схема, основанная на операции билинейного спаривания и описанная в работе П, Баретто, Б, Либерта, Н, МакКулаха и Дж, Киекатера (P. Barreto, В, Libert, N. McCullagh и J, Quisquater) [5] в 2005 г., была опубликована, а затем предложена ими для включения в стандарт IEEE Р 1303.3 [4],
k
на k-DHI (k-Diffie-Hellman Inversion) для групп (G1, G2): для заданного (k + 2)-набора (P,Q,aQ,a2Q,...,akQ) найти a-1^, где P G G^ Q G G^ a Gr Z*; q —порядок этих групп.
Пусть h1,h2 : {0,1}* ^ Z*— хеш-функции, e : G1 x G2 ^ GT — операция билинейного спаривания. Открытый ключ центра: P,Q,sQ,g = e(P,Q). Закрытый ключ центра: s G Zq. Пользователь A получает в центре личный ключ
Sida = (h1(IDA) + s)-1P.
Подпись к сообщению т — это (H, S), вде H = h2(m,r) r = gx\ S = (x + H)Sida; x Gr Z*. подписи (H, S) заключается в проверке равенства
H = h2(m, e(S, h1(IDA)Q + sQ)g-h).
IDB-схема подписи Уотерса
Схема IDB-шифрования, основанная на симметричном спаривании, предложенная в работе В, Waters в 2005 г. [66] и рассмотренная в п. 3.1, может быть преобразована в схему цифровой подписи следующим образом.
Пусть имеется операция билинейного спаривания e: G1 х Gi ^ Gp, Gi = (P0). Закрытый ключ центра — случайный элемент x GR Zp,
Центр KGC вырабатывает случайные P2, U', U1,..., Un gr G1 и выдаёт пользователю личный ключ [x]P2.
Для формирования подписи сообщение m G {0,1}* сначала сжимается криптографической хеш-функцией h: {0,1}* ^ {0,1}n: h(m) = (m1,... , mn), затем пользователь вырабатывает случайный элемент r G Zp и с помощью полученного в центре KGC личного ключа вычисляет
Sig(m) = ([x]P2 + [r]fU' + E Uz) , [r]Po).
\ i:mi = 1 /
Для проверки подписи Sig(m) = (a1, a2) к сообщению m с помощью открытого ключа P2, U', U1,..., Un надо проверить равенство
eKPo)/e(^2,U' + E U^ = e(Po,P2).
\ i:mi=1 /
Описание других схем подписи на основе операции билинейного спаривания в группе точек эллиптической кривой, например предложенные Патерсоном (Paterson) и др., можно найти в обзоре [27].
IDB-система подписи с недоверенным центром KGC
В работе [18] Ч. Чен, Ф. Занг и К. Ким (X. Chen, F. Zhang и К. Kim) предложили вариант схемы подписи, позволяющий пользователю доказывать с нулевым разглашением арбитру, что центр KGC совершил атаку по (экзиетенциональной) подмене подписи.
Пусть имеется операция билинейного спаривания e: G1 х G1 ^ Zq, G1 = (P), две хеш-функции h1 : {0,1}* х G1 ^ G1 и h2 : {0,1}* х G1 ^ Zq,
Пользователь A выбирает r gr Zq в качестве своего долговременного секрета и отправляет центру значение rP в качестве открытого ключа. Центр вычисляет Qa = = h1 (ГОA||t,rP) и = sQA, вде t — срок действия, а затем передаёт их пользователю. Открытым ключом пользователя будет IDa, а личным ключом — (Sa, s).
m
1) a Gr Z^ U = <2Qa;
2) V = rh2(m,U);
3) h = h2(m,U + V);
4) W = (a + h)SA.
Подписью является набор a = (U, V, W, t, rP) G Gf х {0,1}* х G1.
Для проверки подписи надо вычислить Qa = h1^roA||t,rP) h1(m, U) и h = = h2(m, U + V), а затем проверить выполнимость равенств
e(W, P) = e(U + hQA, Q), e(V, P) = e(h1(m, U), rP).
m
вычислит r' GR Zq и QA = h2(IDA||t,r'P), а затем сформирует подпись в соответствии с приведённым алгоритмом
a' = (U', V', W',t,r'P),
то проверка подписи будет успешной, однако пользователь сможет доказать арбитру с нулевым разглашением на основе знания своего личного ключа, что это не его подпись,
IDB-системы одновременного вычисления цифровой подписи и шифрования (IBSigncryption)
Протокол Зенга, В 1997 г. Zheng в работе [68] предложил одну из первых схем одновременного вычисления цифровой подписи и шифрования, более быстрого, чем их последовательное вычисление. Общими параметрами являются: p —большое простое число; q_ делитель (p — 1); g Gr Zp, gq = 1 mod p; h
KHk () — хеш-функция, зависящая от ключа;
(E, D) — алгоритмы симметричного зашифрования и расшифрования. Пусть также:
— личным ключом A является xa GR {1,..., q — 1}, открытым — ya = gXa mod p;
— личным ключом B является xb GR {1,..., q — 1}, открытым — = gxb mod p.
m
A ^ B : (c, r, s). Алгоритм формирования подписи и зашифрования:
1) сторона A выбирает x GR {1,..., q — 1} вычисляет k = h(yX mod p) и выделяет из k ключи k = k1|k2;
2) вычисляет c = Ekl (m), r = KHk2 (m), s = x/(r + xa) mod q;
B (c, r, s)
Алгоритм, расшифрования и проверки подписи:
1) сторона B восстанавливает k из c, r, s, g,p, x^ xb:
k = h((ya ■ gr)sxb mod p)
k k1 k2
2) вычисляет m = Dkl (c);
mA r = KHfc2 (m).
Этот протокол не защищён от чтения назад, так как если противник восстановит долговременный ключ xa, то в силу равенства
h((ya ■ gr)sxb mod p) = h((yXa+r)s mod p)
он сможет вычислить ключ k = h((y^a+r)s mod p).
Протокол Нэйла — Ридди, На базе данной схемы D, Nalla и К, С, Reddy в работе [47] предложили IDB-ехему одновременного вычисления цифровой подписи и шифрования, основанную на операции билинейного спаривания. Пусть G1 — подгруппа группы точек эллиптической кривой порядка q, для которой определена операция билинейного спаривания Вейля e: G1 х Gi —У G2; G2 — мультипликативная группа того же порядка q. Предположим также, что имеются хеш-функция h': {0,1}* — Z*, функция вычисления ключа шифрования hh': Z* — {0,1}* и псевдослучайная функция h1: G2 — {0,1}*,
Стороны A и B получают в центре KGC ключе вые пары (QA, SA) и (QB, SB), сформированные на основе своих идентификаторов, SA = [s]QA, Sb = [s]QB, где s ER Z* — закрытый мастер-ключ центра.
Для отправления стороне B подписанного сообщения m E {0,1}* сторон a A использует открытые ключи (Qa,Qb) и свой личный ключ SA.
Алгоритм формирования подписи и зашифрования:
1) сторона A выбирает оду чайный элемент a ER Z*;
2) вычисляет
R =[a]SA, d = h'(R||hi(e(QB,SA))||m), S = MQa, kA = h''(e(QB,Sa)ad), c = kA 0 m;
3) отправляет (R, S, c) стороне B.
Алгоритм, расшифрования и проверки подписи.
B
(R,S,c,Qa,Qb) и свой личный ключ SB:
1) вычисляет kB = h" (e(SB, S)) и m = kB ф c;
2) вычисляет d' = hh(R||h1(e(SB, QA))||m) и принимает m, только если выполнено равенство e(SB, S) = e(QB, R)d . В противном случае B прерывает протокол.
Данный протокол защищен от чтения назад и является вычислительно более эффективным,
IDB-системы одновременного вычисления цифровой подписи и шифрования с сокрытием идентификаторов
Рассмотрим протокол IBHigncryption (от Id-Based Higncryption). Термин «hignervp-tion» означает identity-hiding signervption, т, e, одновременное вычисление цифровой подписи и шифрования с сокрытием идентификаторов.
Пусть имеется операция симметричного билинейного спаривания e: G1 х G1 — GT для группы G1 = (P) ^^ртдка qn h : {0,1}* — G1 — криптографическая хеш-функция. Центр выбирает закрытый ключ msk = s ER Z*. Открытыми параметрами являются (q, G1, Gt ,e,P,h).
Пользователь A применяет в качестве открытого ключа идентификатор pkA = ID a и получает в центре skA = [s]h(IDa) в качестве личного ключа.
Пусть (k, E, D) — некоторая схема аутентифицированного шифрования с аееоции-
k
производного ключа KDF: GT х{0,1}* — K.
Для зашифрования и подписи сообщения n e{0, 1}*с сокрытием идентификаторов A
1) выбирает случайный x ER Z* и ^^^тасляет X = [x]h(IDa) E G1;
2) вычисляет предварительный секрет PS = e(skA, h(IDB))x e GT;
3) вычисляет ключ для AE шифрования k = KDF(PS,XpDa);
4) вычисляет cae = (H, IDа||п||х) с ассоциированными данными H e {0,1}*;
5) отправляет получателю B сообщение C = (H, X, cae).
Для расшифрования полученного сообщения C = (Н, X, cae) и проверки подписи B
1) вычисляет PS = e(X, skB) e GT и ключ k = KDF(PS,XpDB);
2) расшифровывает Dk (H, cAE) с проверкой целостности;
3) получает ID a, n, x и проверяет равенство X = [x]h(ID a). Если всё правильно, то принимает сообщение m, в противном случае прерывает протокол.
Подписи на основе сертификатов
Цифровые подписи па основе сертификатов (Certificate-Based Signature, CBS) строятся аналогично СВЕ-системам, В них сертификат, построенный на основе открытого ключа и идентификационной информации пользователя, используется как составная часть ключа подписи, составленного непосредственно из сгенерированного пользователем личного ключа и полученного сертификата.
Впервые такая система предложена в [37], однако позднее в работе [41] найдена атака и построен исправленный вариант, В [3] предложена схема анонимной циклической подписи на основе сертификатов. Все указанные схемы построены с использованием операции билинейного спаривания.
Рассмотрим предложенную в работе [43] СВС-ехему цифровой подписи, не использующую операцию билинейного спаривания. Пусть G — мультипликативная группа порядка q, Центр KGC выбирает случайный образующий элемент g eR G и случайное число x eR Zq, являющееся его тетер-ключом. Пусть X = gx и h : {0,1}* ^ Zq — криптографическая хеш-функция. Параметрами схемы являются (G,q,g,X, h).
Пользователь A выбирает u eR Zq в качестве своего личного ключа skA и вычисляет открытый ключ pkA = (gu,Xu,х„), где — неинтерактивное доказательство знания значения дискретного логарифма u = logg U = logX U2 для элементов U = gu и U2 = Xu (например, на основе протокола аутентификации Шнорра),
Идентификационной информацией пользователя служит значение Н = h(pkA, ID a), где pkA и ID a — открытый ключ и идентификатор п ользователя A, Сертификационный центр СА выбирает случайно r eR Zq и вычисляет сертификат (R, s) пользователя A (фактически еертификат (R, s) является цифровой подписью Эль-Гамаля под сообщением Hi, связывающим значения pk^ и IDa):
R = gr, s = r-1(H — xR) mod q. Корректность сертификата проверяется равенством
RsXR = gH.
Для подписания сообщения m e {0,1}* пользователь использует сертификат (R, s) и личный ключ и, а также случайный элемент y eR Zq и вычисляет значение подписи a = (Y,H,z):
Y = R-y, H = h(Y,R,m), z = (y + Hsu) mod q.
Проверка подписи осуществляется следующим образом. Сначала проверяется, что действительно является неинтерактивным доказательством знания пользователем с идентификатором IDa и открытым ключом pkA значения ключа и. Если оно
прошло проверку, то вычисляются H = h(Y,R,m) и H = h(pkA, IDa), a затем проверяется равенство
(guf = Rz Y (XU)HR.
Если оно выполнено, то подпись признаётся истинной,
3,4, IDB-еиетемы аутентификации сторон Протоколы аутентификации сторон обычно строятся на основе протоколов цифровой подписи, использующих технику доказательства знания без разглашения секретов. Рассмотрим пример такого протокола,
IDB-система аутентификации сторон GQ
В 1988 г. Л, ГннV и Ж, Кискатер [29| предложили протокол аутентификации сторон на основе схемы ES А, вариант GQ1 которого [31] позже вошёл в международный стандарт ISO/IEC 9798-5:2009, а соответствующий ему IDB-протокол цифровой подписи — в рассмотренный выше стандарт ISO/IEC 14888-2:2008,
Пусть n = pq и числа e, d удовлетворяют условию ed =1 (mod <p(n)). Число d
h
участникам. Каждый участник A получает в центре личный ключ u = h(IDA)-d G Zn и открытый ключ v = h(IDA). Тем самым выполняется равенство v = (u-1)e mod n, и мы можем использовать ранее рассмотренный протокол:
A ^ B A ^ B AB
a,y = re mod n,
y = rux mod n.
B
Y = vxyb mod n.
3,5, IDB-протокол ы выработки общего ключа IBKE-протокол Окамото на основе RSA
Первый IDB-протокол выработки общего ключа (Identity-Based Key Exchange) на основе RSA предложен Е, Окамото (Е, Okamoto) в 1987 г. [48], KGC имеет открытый ключ (e,n), а число d, такое, что ed =1 (mod ф(п)), KGC храпит в секрете. Пусть go _ образующий элемент мультипликативной группы Z^.
Пользователь X E {A, B} имеет ^^^рттый ключ IDX и получает в центре KGC личный ключ sx, удовлетворяющий условию (sx= 1 mod n. ^^этепие sX центр KGC вычисляет по формуле sX = X)d mod n, ^де IDX — идентификационные дан-X
Протокол:
A :
A ^ B B
AB
га Er Z*n, tA = sAgrA mod n, rB Er Z*n, tB = sBgrB mod n.
Теперь A и B вычисляют общий ключ k = gerArB соответственно по формулам
kA = (teBrnB )rA, kB = (îAida )rB.
IBAKE-протокол с обеспечением частичной аутентификации ключа
Протокол, предложенный Е, Окамото и К, Танака (Е, Okamoto, К, Tanaka) в 1989 г. [50], является вариантом предыдущего, В нём используется хеш-функция h : {0,1}* ^ 1 для обеспечения частичной аутентификации ключа. Обозначим через Ta , Tb метки времени. Протокол:
A : rA Gr Zn, uA = gerA mod n,
A : CA = h(uA,IDA,IDB,Ta),
A ^ B : uA, vA = sAgCArA mod n,
B : CA = h(uA,IDA, IDв,Ta),
?
B : проверявт IDa = «A1 /vA, B : rB Gr Zn,uB = herB mod n, B : св = h(«B,IDв,IDa,Tb), A ^ B : uB,vB = sBgCBrB mod n,
A : св = h(«B,IDв,IDa,Tb),
?
A : проверяет IDB = «BB /vB.
Теперь A и B вычисляют общий ключ k = gerArB соответственно по формулам
kA = uB, кв = uA .
Два предыдущих протокола не защищены от нечестного центра KGC, так как он имеет возможность восстановить личные ключи всех пользователей, а также не обеспечивают защиты от чтения назад при компрометации мастер-ключа центра KGC, Поэтому необходимо обеспечить защиту пользователя от центра, предоставив ему возможность самому формировать личные ключи,
IBKE-протокол с защитой личного ключа пользователя от центра KG С
М, Гиро и Дж, Пале (M, Girault, J, Paillés) в [25] предложили модификацию протокола Окамото, в которой предусмотрена защита личного ключа пользователя от центра KGC, Пользователь А передаёт в центру KGC значение mod n, где skA = xa G Zn- выбранный им самостоятельно и сохраняемый в секрете личный ключ, и получает открытый ключ pkA = Уа = IDmod n, корректность которого он может проверить из условия (уа)6IDa = mod n (заметим, что А может вычислить уа самостоятельно по значению s а из протокола Окамото),
Протокол:
А : га Gr Zn,
А ^ B : tA = yAmod n,
B : гв Gr Zn, А ^ B : tB = yB-rB mod n.
Теперь А и B вычисляют общий ключ k = g-erArB аналогично протоколу Окамото по формулам
kA = (îBIDb р, кв = (^АГОа Р.
В результате выполнения протокола получается ключ, отличающийся знаком от того, который вычисляется в протоколе Окамото, Однако так как ключ не зависит от личных ключей участников, данный протокол не имеет преимуществ по сравнению с протоколом Окамото,
IBKE-протокол с самосертифицируемыми открытыми ключами
В 1991г. М, Гиролт (М, Girault) предложил следующий протокол [26], Пользователь A передаёт центру KGC значение gXA mod n, где skа = xa G — выбранный им самостоятельно и сохраняемый в секрете личный ключ, и получает открытый ключ pkA = Уа, удовлетворяющий условию yA = (gXA — IDA)d mod n.
Центр KGC также не может узнать значение xa-, но теперь с помощью проверки равенства gXA = yA+IDa (mod n) каждый может убедиться в правильности открытого ключа.
Протокол:
A : Га Gr Zn, A ^ B : tA = grA mod n,
B : гв Gr Zn, A ^ B : tB = grB mod n.
Теперь A и B вычисляют общий ключ k = grAXB +rBXB аналогично протоколу MTI/AO [44] по формулам
kA = tBA (yB + IDв)rA, кв = tA(yA + IDA)rB.
IBKE-протокол выработки общего ключа на основе цифровой подписи
К, Гюнтер (С, G, Günther) в [32] предложил протокол выработки общего ключа на основе цифровой подписи, сформированной центром KGC, Закрытым и открытым ключами центра являются элементы xt G {1,...,p — 1} и yT = gXT G Z*, где p — большое простое число; g — образующий элемент группы Zp.
Пользователь A изучает в KGC цифровую подпись (па,уа) по схеме Эль-Гамаля для своего идентификатора ID a G Zp:
ua = gkA, va = (IDa — xtUA)k-1 mod (p — 1), где kA Gr Zp; (kA,p — 1) = 1- Проверка подписи проводится с помощью уравнения
uAA = gIDA y-UA.
В роли открытого ключа пользователя A выступает его идентиф нкатор ID а и первая половина подписи ua, а в роли личного ключа — вторая половина подписи va = logUA (gIDA yt~UA ) Для ^^щего ключ а стороны A и B выбирают случай-
ные элементы га,гв Gr Zp и выполняют следующий протокол:
A ^ B A ^ B A ^ B AB
ID A, U А, IDb ,Ub ,
rA
wA = uBA,
rB
WB = uJB .
Теперь А и В могут вычислить общий ключ соответственно по формулам кА = < (£Шв у-ив )ГА, кв = (дтА у-иА )гв. В результате формируется общий ключ к = /ш"1ААиА£ = дквГА"В +кАЬАТв.
Данный протокол также нестоек к атаке чтения назад, так как при компрометации долговременных ключей va , vB имеется возможность определения разовых общих ключей по передаваемым сообщениям wB, WA
k = wBA wAB.
В качестве улучшения этого протокола с одновременным сокращением числа передаваемых сообщений С, Саедниа (S, Saeednia) в 2000 г, [52] предложил следующую модификацию:
A ^ B : IDa,«a,tA = grA, A ^ B : IDb,uв,tB = grB.
Улучшение достигнуто за счёт изменения формулы для вычисления второй части подписи Эль-Гамаля
vA = IDAkA — uA mod (p — 1) и проверочного соотношения
= «AD1 .
AB
kA = tBB (uBDB yUB )rA, kB = tAB («AD1 )rB.
В результате получается k = gVBrA+VArB,
Протоколы выработки общего ключа на основе операции билинейного спаривания
IBKE-протокол Сакаи — Огиши — Казахара
Протокол типа SK предложен R. Sakai, К, Ohgishi и М, Kasahara в 2001г. [54]. В нём используется операция билинейного спаривания с разными группами G1 и G2, для которых имеются хеш-функции h1: {0,1}* ^ G1 и h2: {0,1}* ^ G2. Центр KGC обладает ключевой парой (s,Qpub), Qpub = [s]P, P е G2. Протокол является неинтерактивным и не предполагает обмена сообщениями, аналогично статичному протоколу Диффи — Хеллмана,
h2
и предполагает наличие гомоморфизма ф: G2 ^ G^. Сторона A получает открытый ключ Qa = h2(IDA) и личный ключ Sa = [s]Qa-
Общий ключ k = c^(Qa),Qb)s вычисляется сторонами по формулам
k = 6^(Sa),Qb ) = е(ф^в ),Qa).
A
получает открытый ключ (Qa, QA) = (^(IDa), h2(IDA)) и личный ключ (Sa,SA) =
= ([s]Qa, [s]QA)
Общий ключ k = e(QA,QB)s ■ e(QB, QA)s вычисляется сторонами по формулам
kA = e(SA,QB) ■ e(QB, SA), kB = e(SB,QA) ■ e(QA,SB).
IBKE-протокол Смарта
В 2002 г, Н, Смарт (N, Р, Smart) [61] предложил первый интерактивный протокол выработки общего ключа на основе операции билинейного спаривания, аналогичный протоколу MTI/A0 [44], Это протокол типа SOK, в котором центр обладает ключевой парой (s,Qpub), Qpub = [s]P, s ER Щ, {P) = G, |G| = q, а участник A получает ключевую пару (Qa = h(IDA), SA = [s]QA).
Для выработки общего ключа стороны выбирают случайно га,гв Er Zq и выполняют следующий протокол:
(3)
A ^ B : Ta = [Ta]P, A ^ B : Tb = [гв]P.
AB
kA = е([тА]Яв,Qmь) e(SA,TB), кв = е([гв]Яа,ЯРпъ) e(SB,Ta).
В результате получается ключ
к = e([rA]QB, Qpub) e([s]QA, [гв]P) = e([rA]QB, ^ь) е([гв]Qa, ^ь) =
= e([rA]QB + [гв ]QA,^b).
Данный протокол, подобно протоколу MTI, защищен от атаки «противник-в-се-редине», но он не стоек к атаке чтения назад, так как при компрометации долговременных ключей Sa и Sb пользователей противник имеет возможность вычислять действующие ключи для любого сеанса
к = e(SA, Tb)e(SB,Ta).
IBKE-протокол Скотта
В 2002 г. М, Скотт (М, Scott) в [59] предложил другой способ обмена сообщениями, зависящими от идентификаторов сторон, аналогичный протоколу MTI/C1:
A ^ B : pA = e(SA,QB)rA,
rB
A ^ B : рв = e(SB, QA)
Теперь A и B могут вычислить общий ключ k = e(QA,QB)srArB соответственно по формулам
kA = pBA, кв = Pa .
IBKE-протокол Шима
В 2003 г. К. Шим (К. Shim) [62] предложил защищенный от чтения назад вариант протокола. Он также отличается только способом вычисления общего ключа к = e(TA + Qa,Tb + QB)s по формулам
kA = e ([ГА] Qpub + Sa,Tb + Qb ), кв = е([гв ]Qpub + Sb ,Ta + Qa ).
Однако в [63] найдена атака «противник-в-еереднне» на этот протокол. Противник С выбирает случайные числа а' и Ь' и подменяет сообщения в протоколе (3):
А ^ С (В): Та = [Га]Р,
С (А) ^ В : ТА = [а']Р - Фа, С (А) ^ В : Тб = [гв ]Р,
а ^ с (в): тв = щр - дБ.
АВ
кА = в([гА]др„ь + £а, ТВ + фв) = в([гА]^ь + £а, [а']Р) = е(Р, Рр*6'в(^А, РР', кв = е([гв]дриЬ + ^в, ТА + Фа) = е([гв+ ^в, [Ь']Р) = е(Р, Рв(^А, РГ'.
С
кА = е(ТА ,6'^ь)е(дА,Ь'^ь) = е(Р,Р р*6' в(^А,Р Р' = ^а, кв = е(Тв, а'^ь)е(Фв,а'^ь) = е(Р, Рв(^А,РР' = кв.
1ВКЕ-протокол Рюи — Юн — Юу
Защищенный от этих атак вариант протокола Смарта типа БОК предложили в 2004 г. Е. Рюи, Е. Юн и К. Юу (Е. К. Еуи, Е. Л. Уооп и К. У. Уоо) [51]. Он отличается только способом вычисления общего ключа к = ([гагв]Р, е(фА,фвР по формулам
кА = ([гв]Та, б(^А, Фв)), кв = ([га]Тв, е(5в, Фа)).
В 2009 г. С. Ванг и др. [64] предложили новый способ вычисления общего ключа, основанный на применении хеш-функции
к = Ь(ГО А, Го в, [гаГв ]Р, 6(Фа, Фв Г, Та, Тв).
1ВКЕ-протокол Ванга
В 2013 г. Ю. Ванг (У. \Vang) [65] предложил новый аутентифицированный протокол вида
А ^ В : Та =[Га]Фа, А ^ В : Тв =[гв]фв
типа БОК, но отличающийся способом выработки общего ключа
к = е(фА,Фв ),
где зА = Л,(Та,Тв); = Л.(Тв, Та); Л, : С1 х С1 ^ Пользователи вычисляют общий ключ по формулам
Ка = е((^А + мрА, звФв + Тв)), Кв = е((£в + «вРв, «аФа + Та)).
IBKE-протокол МакКалаха — Барето
В 2005 г. Н. МакКалах и П. Барето (N. McCullagh и Р. S.L. М. Barreto) [45] предложили протокол выработки общего ключа на основе идентификаторов, имеющий аналогии с протоколом цифровой подписи BLMQ, Пусть P — точка эллиптической кривой над полем Zp, (P) = G, h : {0,1}* ^ Zp — хеш-функция. Центр обладает закрытым ключом s и открытым ключом [s]P, Пользователь A получает в удостоверяющем центре открытый ключ Qa = [h(IDa)]P + [s]P = [h(IDa) + s]P и личный ключ Sa = [(h(IDa) + s)-1]P, Пользователи A и B выбирают случайные элементы поля га и г в соответственно и выполняют протокол
A ^ B : na = [га]qb, A ^ B : nb = [гв]qa.
Теперь A и B могут вычислить общий ключ k = e(P, P)s(rA +rB) по формулам
kA = e(SA,NB)rA, кв = e(SB, naYb .
IBKE-протоколы выработки общего ключа на основе эллиптической кривой без операции билинейного спаривания
IBKE-протокол Као — Коу — Ду
Протокол предложен X. Cao, W. Kou, X. Du. в 2010 г. [11]. Центр KGC генерирует для пользователя с идентификатором IDa случайное чиело sa, выступающее в роли случайного параметра для текущей ключевой пары, и вычисляет открытый ключ Qa = saP и личный ключ о а = sa + hAs mod q, где На = h1(IDa||sa), h1 : {0,1}* x GT ^ Zq.
Для выработки общего ключа пользователи A и B выбирают случайные числа г а и гв и выполняют протокол
A ^ B : Ta = [ra] P, Qa , A ^ B : Tb =[гв]P,Qb.
Теперь A и B могут вычислить общий ключ K = [гагв]P по формулам
Ka = Qa + M(Tb + [Нв ]QpU ь), Kb = Qb + [гв ](Ta + [На]^ь).
IBKE-протокол Ислама — Бисваса
Протокол предложили Н. Islam и G. P. Biswas в 2010 г. [36]. Он отличается от предыдущего видом пересылаемых сообщений и формулой для общего ключа:
A ^ B : Ta = m(qa + [h^Qpub), Qa, A ^ B : Tb =[rB](QB + [нв]Qpub),QB.
Теперь A и B могут ^^^^^^отть общий ключ K = [(га + rB)оаов]P по формулам Ka = [oa](Tb + [rA](QB + MQpub)), Kb = [ов ](Ta + [rB](QA + [Нв]^ь)).
IBKE-протокол Горейши и др.
Протокол предложен в 2015 г. [24]. Пусть h1 : {0,1}* х GT ^ Zg, h2 : {0,1}* ^ Z*. Помимо ключевой пары (Qa, ^а), пользоват ель A выбирает оду чайное число xa Z* и вычисляет XA = xAP, yA = аА + h2(lDA)xA mod q YA = [yA]P. Протокол предполагает выполнение предварительного этапа обмена значениями (Qa, Pa) и (Qb, Pb):
A ^ B : Qa,Xa,
A ^ B : Qb ,Xb ,
A ^ B : Ta = [Га^аУа]Ув,
A ^ B : Tb =[гв авУв]Ya .
Пользователи A и B вычисляют по формулам Ka = [га^а]Тв и Kb = [rBав]Ta общий ключ
K = [га Гв ffA^B УАУв ]P.
Данный протокол более быстрый, так как в нём требуется только два раза вычислять кратные точки вместо трёх.
Выводы
В работе проанализированы основные положительные и отрицательные свойства криптографических систем с открытыми ключами, вычисляемыми на основе идентификационной информации. Несмотря на очевидные достоинства, связанные с упрощенной процедурой распределения ключей, такие системы обладают целым рядом ограничений, вытекающих из способа их построения. К их числу относятся: трудность масштабирования на распределённые системы с большим числом пользователей, необходимость наличия защищённого канала для получения ключей пользователями, высокая степень доверия к центру генерации ключей, имеющему возможность в любой момент восстанавливать все ранее им выданные личные ключи пользователей, сложность процедур отзыва и обновления ключей и др. Описаны способы защиты от возможных уязвимоетей и перечислены применяемые при этом математические конструкции.
ЛИТЕРАТУРА
1. AbdallaM., BellareM., Catalano D., et al. Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions // LNCS. 2005. V. 3621. P. 205-222.
2. Al-Riyami S. S. and Paterson K. G. Certificateless public key cryptography // LNCS. 2003. V. 2894. P. 452-473.
3. Au M., Liu J., Susilo W., and Yuen T. Certificate based (linkable) ring signature // LNCS. 2007. V. 4464. P. 79-92.
4. Barreto P. S. L. M., Libert В., McCullaghN., and Quisquater J-J. Efficient and Secure Identity-Based Signatures and Signcrvption from Bilinear Maps. https://www. slideserve.com/connie/efficient-and-secure-identity-based-signatures-and-signcryption-from-bilinear-maps.
5. Barreto P. S. L. M., Libert В., McCullaghN., and Quisquater J-J. Efficient and provablv-secure identity-based signatures and signcrvption from bilinear maps // LNCS. 2005. V. 3788. P. 515-532.
6. Boldyreva A., Goyal V., and Kumar V. Identity-based encryption with efficient revocation // Proc. CCS'08. N.Y.: ACM, 2008. P. 417-426. '
7. Baek J., Newmarch J., Safavi-Naini R., and Susilo W. A survey of identity-based cryptography // Proc. Australian Unix Users Group Annual Conf. 2004. P. 95-102.
8. Boneh D and Boy en X. Efficient selective-ID secure Identity-Based Encryption without random oracles // LNCS. 2004. V.3027. P. 223-238.
9. Boneh D. and Franklin M. Identity based encryption from the Weil pairing // LNCS. 2001. V. 2139. P. 213-229; SIAM J. Comput. 2003. V.32. No. 3. P. 586-615.
10. Boyd C., Mathura A., and Stebila D. Protocols for Authentication and Key Establishment. 2nd ed. Berlin; Heidelberg: Springer, 2020. 521 p.
11. Cao X., KouW., and Du X. A pairing-free identity-based authenticated key agreement protocol with minimal message exchanges // Inform. Sci. 2010. V. 180. Iss. 15. P. 2895-2903.
12. Cha J. C. and Cheon J. if. An identity-based signature from gap Diffie — Hellman groups // LNCS. 2003. V. 2567. P. 18-30.
13. Chatterjee S. and Sarkar P. Trading time for space: Towards an efficient IBE scheme with short(er) public parameters in the standard model // LNCS. 2005. V. 3935. P. 424-440.
14. Chen L. and Cheng Z. Security proof of Sakai — Kasahar's identity-based encryption scheme // LNCS. 2005. V.3796. P. 442-459.
15. Chen L. Identity-based Cryptography. Hewlett-Packard Laboratories. September 2006. http: //www.sti.uniurb.it/events/fosad06/papers/Chen-fosad06.pdf.
16. Chatterjee S. and Sarkar P. Identity-Based Encryption. N.Y.: Springer, 2011. 180 p.
17. Chen L., Cheng Z., and Smart N. P. Identity-based Key Agreement Protocols from Pairings. Cryptologv ePrint Archive. Report 2006/199. 2006. https://eprint.iacr.org/2006/199. pdf.
18. Chen X., Zhang F., and Kim K. A new ID-based group signature scheme from bilinear pairings // LNCS. 2003. V.2908. P. 585-592.
19. Cocks C. An identity-based encryption scheme based on quadratic residues // LNCS. 2001. V. 2260. P. 360-363.'
20. Gagné M. Identity-Based Encryption: a Survey // RSA Laboratories Crvptobvtes. 2003. V. 6. No. 1. P. 10-19.
21. Galindo D. Boneh-Franklin identity based encryption revisited // Proc. ICALP 2005. Lisbon, Portugal, 2005. P. 791-802
22. Gentry C. Certificate-based encryption and the certificate revocation problem // LNCS. 2003. V. 2656. P. 272-293.
23. Gentry C. and Silverberg A. Hierarchical ID-based cryptography // LNCS. 2002. V. 2501. P. 548-566.
24. Ghoreishi S.-M., Isninl.F., RazakS.A., and ChizariH. Secure and authenticated key agreement protocol with minimal complexity of operations in the context of identity-based cryptosvstems // Proc. I4CT. Kuching, Malaysia, 2015. P. 299-303.
25. Girault M. and Paillés J. C. An identity-based scheme providing zero-knowledge authentication and authenticated key exchange // Proc. ESORICS. AFCET, Toulouse, 1990. P. 173-184.
26. Girault M. Self-certified public keys // LNCS. 1991. V.547. P. 490-497.
27. Gorantla M. C., Gangishetti R., and Saxena A. A Survey on ID-Based Cryptographic Primitives. http://eprint.iacr.org/2005/094.
28. Green M. and Hohenberger S. Blind identity-based encryption and simulatable oblivious transfer 11 LNCS. 2007. V. 4833. P. 265-282. "
29. Guillou, L. and Quisquater J.-J. A practical zero knowledge protocol fitted to security microprocessor minimizing both transmission and memory // LNCS. 1988. V. 330. P. 123-128.
30. Guillou L. C. and Quisquater J.-J. A "paradoxical" identity-based signature scheme resulting from zero-knowledge 11 LNCS. 1990. V.403. P. 216-231.
31. Guillou L.C., UgonM., and Quisquater J.-J. Cryptographic authentication protocols for smart cards // Computer Networks Magazine. 2002. V. 36. P. 437-451.
32. G'iinther C. G. An identity-based key-exchange protocol // LNCS. 1990. V. 434. P. 29-37.
33. Grumazescu C. and Patriciu V-V. A comprehensive survey on ID-based cryptography for wireless sensor networks //J. Military Technology. 2018. V. 1. No. 1. P. 57-70.
34. HorwitzJ. and Lynn B. Toward hierarchical identity-based encryption // LNCS. 2002. V.2332. P. 466-481.
35. Hess F. Efficient identity based signature schemes based on pairings // LNCS. 2003. V. 2595. P. 310-324.
36. Islam H. and Biswas G. P. An improved pairing-free identity-based authenticated key agreement protocol based on ECC // Procedia Engineering. 2012. V. 30. P. 499-507.
37. Kang B. G., Park J. H., and Hahn S. G. A certificate-based signature scheme // LNCS. 2004. V. 2964. P. 99-111.
38. KatzJ. Binary tree encryption: Constructions and applications // LNCS. 2004. V. 2971. P.1-11.
39. LeeK., LeeD.H., and Park J. H. Efficient revocable identity-based encryption via subset difference methods // Des. Codes Crvptogr. 2017. V. 85. P. 39-76.
40. Tseng Y. and Tsai T. Efficient revocable ID-based encryption with a public channel // Computer J. 2012. V. 55. No. 4. P. 475-486.
41. Li J., Huang X., MuY., et al. Certificate-based signature: Security model and efficient construction 11 LNCS. 2007. V.4582. P. 110-125.
42. Libert B. and Vergnaud D. Adaptive-ID Secure revocable identity-based encryption // LNCS. 2009. V. 5473. P. 1-15.
43. Liu J. K., Baek J., Susilo W., and Zhou J. Certificate-based signature schemes without pairings or random oracles // LNCS. 2008. V.5222. P. 285-297.
44. Matsumoto T., Takashima Y., and Imai H. On seeking smart public-key distribution systems 11 Trans. IECE. Japan. Sec. E. 1986. V. 69. Iss. 2. P. 99-106.
45. McCullagh N. and Barreto P. S. L. M. A new two-party identity-based authenticated key agreement//LNCS. 2005. V. 3376. P. 262-274.
46. Naccache D. Secure and Practical Identity-Based Encryption. Crvptologv ePrint Archive. Report 2005/369. 2005. https://eprint.iacr.org/2005/369.
47. Nalla D. and Reddy K. C. Signcrvption Scheme for Identity-based Cryptosvstems. https: //eprint.iacr.org/2003/066.pdf.
48. Okamoto E. Key distribution systems based on identification information // LNCS. 1987. V. 293. P. 194-202.
49. Okamoto T. Efficient blind and partially blind signatures without random oracles // LNCS. 2006. V. 3876. P. 80-99.
50. Okamoto E. and Tanaka K. Key distribution system based on identification information // IEEE J. Selected Areas Communications. 1989. V. 7. No. 4. P. 481-485.
51. RyuE.K., YoonE.J., and YooK.Y. An efficient ID-based authenticated key agreement protocol from pairings 11 LNCS. 2004. V. 3042. P. 1464-1469.
52. Saeednia S. Improvement of Gunther's identity-based key exchange protocol // Electronics Lett. 2000. V.36. No. 18. P. 1535-1536.
53. Sakai R., Ohgishi K., and Kasahara M. Cryptosvstems based on pairing // Proc. SCIS'00. Okinawa, Japan, 2000. P. 26-28.
54. Sakai R., Ohgishi K., and Kasahara M. Cryptosvstems based on pairing over elliptic curve // Proc. Svmp. on Cryptography and Information Security. Oiso, Japan, January 2001. (in Japanese)
55. Sakai R. and Kasahara M. ID Based Cryptosvstems with Pairing on Elliptic Curve. Crvpto-logv ePrint Archive. Report 2003/054. https://eprint.iacr.org/2003/054.pdf. 2003.
56. Sahai A. and Waters B. Fuzzy identity-based encryption // LNCS. 2005. V. 3494. P. 457-473.
57. SayidJ., SayidL, and Kar J. Certificateless public key cryptography: A research survey // Intern. J. Security Appl. 2016. V. 10. No. 7. P. 103-118'
58. Seo J. if. and Emura K. Revocable hierarchical identity-based encryption // Theor. Comput. Sci. 2014. V. 542. P. 44-62.
59. Scott M. Authenticated ID-Based Key Exchange and Remote Log-in with Simple Token and PIN Number. Crvptologv ePrint Archive. 2002. Report 2002/164. https://eprint.iacr. org/2002/164.
60. Shamir A. Identity-based cryptosvstems and signature schemes // LNCS. 1984. V. 196. P. 47-53.
61. Smart N. P. An identity based authenticated key agreement protocol based on the Weil pairing 11 Electronics Lett. 2002. V.38. No. 13. P. 630-632.
62. Shim K. Efficient ID-based authenticated key agreement protocol based on Weil pairing // Electronics Lett. 2003. V.39. No. 8. P. 653-654.
63. SunH.-M. and Hsieh B.-T. Security Analysis of Shim's Authenticated Key Agreement Protocols from Pairings. Crvptologv ePrint Archive. 2003. Report 2003/113. http://epri.nt. iacr.org/2003/113.
64. WangS., Cao Z., Choo K. K. R., and Wang L. An improved identity-based key agreement protocol and its security proof // Inf. Sci. 2009. V. 179. No. 3. P. 307-318.
65. Wang Y. Efficient identity-based and authenticated key agreement protocols // LNCS. 2013. V. 7420. P. 172-197.
66. Waters B. Efficient identity-based encryption without random oracles // Proc. EUROCRYPT'05. Aarhus, Denmark, 2005. P. 114-127.
67. Yao D., Fazio N., Dodis Y., and Lysyanskaya A. Id-based encryption for complex hierarchies with applications to forward security and broadcast encryption // Proc. CCS'04. Washington: ACM, 2004. P. 354-363.
68. Zheng Y. Digital signcrvption or how to achieve cost(signature<fcencrvption) ^ cost(signa-ture) + cost (encryption) 11 LNCS. 1997. V. 1294. P. 165-179.
69. ISO/IEC 14888-2. Information Technology — Security Techniques — Digital Signatures with Appendix^ P. 2: Integer Factorization Based Mechanisms. ISO/IEC, 1999.
70. ISO/IEC 14888-3. Information Technology — Security Techniques — Digital Signatures with Appendix^ P. 3: Discrete Logarithm Based Mechanisms. ISO/IEC, 1998.
71. ISO/IEC 11770-3. Information Technology — Security Techniques — Key Management — P. 3: Mechanisms Using Asymmetric Techniques. ISO/IEC, 1999.
72. IEEE P1363.3. Identity-Based Public Key Cryptography Using Pairings, https:// standards.ieee.org/ieee/1363.3/3822/. 2013.
73. GM/T 0044.2-2016. Identity-Based Cryptographic Algorithm using Bilinear Pairings — P. 2: Digital Signature Algorithm. 2016. (in Chinese).
REFERENCES
1. AbdallaM., BellareM., Catalano D., et al. Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions. LNCS, 2005, vol.3621, pp. 205-222.
2. Al-Riyami S. S. and Paterson K. G. Certificateless public key cryptography. LNCS, 2003, vol.2894, pp. 452-473.
3. Au M., Liu J., Susilo W., and Yuen T. Certificate based (linkable) ring signature. LNCS, 2007, vol.4464, pp. 79-92.
4. Barreto P. S. L. M., Libert B., McCullagh N., and Quisquater J-J. Efficient and Secure Identity-Based Signatures and Signcrvption from Bilinear Maps. https://www. slideserve.com/connie/efficient-and-secure-identity-based-signatures-and-signcryption-from-bilinear-maps.
5. Barreto P. S. L. M., Libert B., McCullagh N., and Quisquater J-J. Efficient and provablv-secure identity-based signatures and signcrvption from bilinear maps. LNCS, 2005, vol.3788, pp.515-532.
6. Boldyreva A., Goyal V., and Kumar V. Identity-based encryption with efficient revocation. Proc. CCS'08, N.Y., ACM, 2008, pp. 417-426.
7. Baek J., Newmarch J., Safavi-Naini R., and Susilo W. A survey of identity-based cryptography. Proc. Australian Unix Users Group Annual Conf., 2004, pp. 95-102.
8. Boneh D and Boy en X. Efficient selective-ID secure Identity-Based Encryption without random oracles. LNCS, 2004, vol. 3027, pp. 223-238.
9. Boneh D. and Franklin M. Identity based encryption from the Weil pairing. LNCS, 2001, vol.2139, pp. 213-229; SIAM J. Comput., 2003, vol.32, no.3, pp. 586-615.
10. Boyd C., Mathura A., and Stebila D. Protocols for Authentication and Key Establishment. 2nd ed. Berlin; Heidelberg, Springer, 2020. 521 p.
11. Cao X., KouW., and Du X. A pairing-free identity-based authenticated key agreement protocol with minimal message exchanges. Inform. Sci., 2010, vol. 180, iss. 15, pp. 2895-2903.
12. ChaJ. C. and CheonJ.H. An identity-based signature from gap Diffie — Hellman groups. LNCS, 2003, vol.2567, pp. 18-30.
13. Chatterjee S. and Sarkar P. Trading time for space: Towards an efficient IBE scheme with short(er) public parameters in the standard model. LNCS, 2005, vol.3935, pp.424-440.
14. Chen L. and Cheng Z. Security proof of Sakai — Kasahar's identity-based encryption scheme. LNCS, 2005, vol.3796, pp.442-459.
15. Chen L. Identity-based Cryptography. Hewlett-Packard Laboratories. September 2006. http: //www.sti.uniurb.it/events/fosad06/papers/Chen-fosad06.pdf.
16. Chatterjee S. and Sarkar P. Identity-Based Encryption. N.Y., Springer, 2011. 180 p.
17. Chen L., Cheng Z., and Smart N. P. Identity-based Key Agreement Protocols from Pairings. Crvptologv ePrint Archive, Report 2006/199, 2006. https://eprint.iacr.org/2006/199. pdf.
18. Chen X., Zhang F., and Kim K. A new ID-based group signature scheme from bilinear pairings. LNCS, 2003, vol.2908, pp.585-592.
19. Cocks C. An identity-based encryption scheme based on quadratic residues. LNCS, 2001, vol.2260, pp.360-363.
20. Gagne M. Identity-Based Encryption: a Survey. RSA Laboratories Cryptobvtes, 2003, vol.6, no. 1, pp.10-19.
21. Galindo D. Boneh-Franklin identity based encryption revisited. Proc. ICALP 2005, Lisbon, Portugal, 2005, pp. 791-802
22. Gentry C. Certificate-based encryption and the certificate revocation problem. LNCS, 2003, vol.2656, pp. 272-293.
23. Gentry C. and Silverberg A. Hierarchical ID-based cryptography. LNCS, 2002, vol.2501, pp.548-566.
24. Ghoreishi S.-M., Isninl.F., RazakS.A., and Chizari H. Secure and authenticated key agreement protocol with minimal complexity of operations in the context of identity-based cryptosvstems. Proc. I4CT. Kuching, Malaysia, 2015. pp. 299-303.
25. Girault M. and Paillés J. C. An identity-based scheme providing zero-knowledge authentication and authenticated key exchange. Proc. ESORICS, AFCET, Toulouse, 1990, pp.173-184.
26. Girault M. Self-certified public keys. LNCS, 1991, vol. 547, pp. 490-497.
27. Gorantla M. C., Gangishetti R., and Saxena A. A Survey on ID-Based Cryptographic Primitives. http://eprint.iacr.org/2005/094.
28. Green M. and Hohenberger S. Blind identity-based encryption and simulatable oblivious transfer. LNCS, 2007, vol.4833, pp.265-282.
29. Guillou, L. and Quisquater J.-J. A practical zero knowledge protocol fitted to security microprocessor minimizing both transmission and memory. LNCS, 1988, vol.330, pp.123-128.
30. Guillou L. C. and Quisquater J.-J. A "paradoxical" identity-based signature scheme resulting from zero-knowledge. LNCS, 1990, vol.403, pp. 216-231.
31. Guillou L.C., UgonM., and Quisquater J.-J. Cryptographic authentication protocols for smart cards. Computer Networks Magazine, 2002, vol.36, pp.437-451.
32. Gunther C. G. An identity-based key-exchange protocol. LNCS, 1990, vol.434, pp.29-37.
33. Grumâzescu C. and Patriciu V-V. A comprehensive survey on ID-based cryptography for wireless sensor networks. J. Military Technology, 2018, vol. 1, no. 1, pp. 57-70.
34. Horwitz J. and Lynn B. Toward hierarchical identity-based encryption. LNCS, 2002, vol. 2332, pp.466-481.
35. Hess F. Efficient identity based signature schemes based on pairings. LNCS, 2003, vol.2595, pp.310-324.
36. Islam H. and Biswas G. P. An improved pairing-free identity-based authenticated key agreement protocol based on ECC. Procedia Engineering, 2012, vol.30, pp.499-507.
37. Kang B. G., Park J. H., and Hahn S. G. A certificate-based signature scheme. LNCS, 2004. vol.2964, pp. 99-111.
38. KatzJ. Binary tree encryption: Constructions and applications. LNCS, 2004, vol.2971, pp. 141.
39. LeeK., LeeD.H., and Park J. H. Efficient revocable identity-based encryption via subset difference methods. Des. Codes Crvptogr., 2017, vol.85, pp.39-76.
40. Tseng Y. and Tsai T. Efficient revocable ID-based encryption with a public channel. Computer J., 2012, vol.55, no.4, pp.475-486.
41. Li J., Huang X., MuY., et al. Certificate-based signature: Security model and efficient construction. LNCS, 2007, vol.4582, pp. 110-125.
42. Libert B. and Vergnaud D. Adaptive-ID Secure revocable identity-based encryption. LNCS, 2009, vol.5473, pp. 1-15.
43. Liu J. K., Baek J., Susilo W., and Zhou J. Certificate-based signature schemes without pairings or random oracles. LNCS, 2008, vol.5222, pp. 285-297.
44. Matsumoto T., Takashima Y., and Imai H. On seeking smart public-key distribution systems. Trans. IECE, Japan, Sec. E, 1986, vol.69, iss.2, pp.99-106.
45. McCullagh N. and Barreto P. S. L. M. A new two-party identity-based authenticated key agreement. LNCS, 2005, vol.3376, pp.262-274.
46. Naccache D. Secure and Practical Identity-Based Encryption. Cryptologv ePrint Archive. Report 2005/369. 2005. https://eprint.iacr.org/2005/369.
47. Nalla D. and Reddy K. C. Signcrvption Scheme for Identity-based Cryptosvstems. https: //eprint.iacr.org/2003/066.pdf.
48. Okamoto E. Key distribution systems based on identification information. LNCS, 1987, vol. 293, pp. 194-202.
49. Okamoto T. Efficient blind and partially blind signatures without random oracles. LNCS, 2006, vol.3876, pp. 80-99.
50. Okamoto E. and Tanaka K. Key distribution system based on identification information. IEEE J. Selected Areas Communications. 1989, vol.7, no.4, pp.481-485.
51. RyuE.K., YoonE.J., and YooK.Y. An efficient ID-based authenticated key agreement protocol from pairings. LNCS, 2004, vol. 3042, pp. 1464-1469.
52. Saeednia S. Improvement of Gunther's identity-based key exchange protocol. Electronics Lett., 2000, vol. 36, no. 18, pp. 1535-1536.
53. SakaiR., OhgishiK., and Kasahara M. Cryptosvstems based on pairing. Proc. SCIS'00. Okinawa, Japan, 2000, pp. 26-28.
54. Sakai R., Ohgishi K., and Kasahara M. Cryptosvstems based on pairing over elliptic curve. Proc. Svmp. on Cryptography and Information Security, Oiso, Japan, January 2001. (in Japanese)
55. Sakai R. and Kasahara M. ID Based Cryptosvstems with Pairing on Elliptic Curve. Crvpto-logv ePrint Archive, Report 2003/054. https://eprint.iacr.org/2003/054.pdf. 2003.
56. Sahai A. and Waters B. Fuzzy identity-based encryption. LNCS, 2005, vol. 3494, pp. 457-473.
57. SayidJ., SayidL, and Kar J. Certihcateless public key cryptography: A research survey. Intern. J. Security Appl., 2016. vol. 10, no. 7, pp. 103-118.
58. SeoJ.H. and Emura K. Revocable hierarchical identity-based encryption. Theor. Comput. Sci., 2014. vol.542, pp.44-62.
59. Scott M. Authenticated ID-Based Key Exchange and Remote Log-in with Simple Token and PIN Number. Crvptologv ePrint Archive, 2002, Report 2002/164. https://eprint.iacr. org/2002/164.
60. Shamir A. Identity-based cryptosvstems and signature schemes. LNCS, 1984, vol.196, pp.47-53.
61. Smart N. P. An identity based authenticated key agreement protocol based on the Weil pairing. Electronics Lett., 2002, vol.38, no. 13, pp.630-632.
62. Shim K. Efficient ID-based authenticated key agreement protocol based on Weil pairing. Electronics Lett., 2003, vol.39, no.8, pp.653-654.
63. SunH.-M. and Hsieh B.-T. Security Analysis of Shim's Authenticated Key Agreement Protocols from Pairings. Crvptologv ePrint Archive, 2003, Report 2003/113. http://eprint. iacr.org/2003/113.
64. Wang S., Cao Z., Choo K. K. R., and Wang L. An improved identity-based key agreement protocol and its security proof. Inf. Sci., 2009, vol. 179, no. 3, pp. 307-318.
65. Wang Y. Efficient identity-based and authenticated key agreement protocols. LNCS, 2013, vol.7420, pp. 172-197.
66. Waters B. Efficient identity-based encryption without random oracles. Proc. EUROCRYPT'05, Aarhus, Denmark, 2005, pp. 114-127.
67. Yao D., Fazio N., Dodis Y., and Lysyanskaya A. Id-based encryption for complex hierarchies with applications to forward security and broadcast encryption. Proc. CCS'04, Washington, ACM, 2004, pp. 354-363.
68. Zheng Y. Digital signcrvption or how to achieve cost(signature<fcencrvption) ^ cost(signa-ture) + cost (encryption). LNCS, 1997, vol.1294, pp. 165-179.
69. ISO/IEC 14888-2. Information Technology — Security Techniques — Digital Signatures with Appendix^ P. 2: Integer Factorization Based Mechanisms. ISO/IEC, 1999.
70. ISO/IEC 14888-3. Information Technology — Security Techniques — Digital Signatures with Appendix^ P. 3: Discrete Logarithm Based Mechanisms. ISO/IEC, 1998.
71. ISO/IEC 11770-3. Information Technology — Security Techniques — Key Management — P. 3: Mechanisms Using Asymmetric Techniques. ISO/IEC, 1999.
72. IEEE P1363.3. Identity-Based Public Key Cryptography Using Pairings, https:// standards.ieee.org/ieee/1363.3/3822/. 2013.
73. GM/T 0044.2-2016. Identity-Based Cryptographic Algorithm using Bilinear Pairings — P. 2: Digital Signature Algorithm. 2016. (in Chinese).