XML Encryption
- 1 year ago
- 0
- 0
ID-based encryption или identity-based encryption — асимметричная криптосистема, в которой открытый ключ вычисляется на основе некоторой уникальной информации о личности пользователя ( идентификационных данных ). В качестве такой информации могут выступать имя пользователя, адрес электронной почты, контактный телефон или любые другие данные.
Кроме того, употребляются и другие названия данной криптосистемы: IBE, шифрование на основе идентификации, личностное шифрование .
В 1984 году Ади Шамир выдвинул идею о создании криптосистемы с открытым ключом, полученным на основе идентификационных данных . В своей работе Ади Шамир не дал полного описания системы, а разработал подпись, основанную на идентификационной информации и инфраструктуру открытых ключей, основанную на адресе электронной почты.
Первые практические реализации были представлены в 2001 году Клиффордом Коксом — , а также Дэном Боне и Мэтью К. Франклином — .
Личностное шифрование позволяет любой стороне генерировать открытый ключ из любой идентификационной информации пользователя, безопасно обмениваться сообщениями, проверять подписи без обмена ключами. Схема предполагает наличие надёжного центра генерации закрытых ключей — третья доверенная сторона, называемой Private Key Generator (PKG), целью которой является предоставление каждому новому пользователю персональной смарт-карты. Карта состоит из микропроцессора, I/O порта, ОЗУ, ПЗУ с закрытым ключом пользователя, а также программы для шифрования, расшифровывания, подписи сообщений и проверки подлинности подписей. Ранее выпущенные смарт-карты не требуют обновления при добавлении новых пользователей с систему. Схема может успешно использоваться для замкнутого круга пользователей — международная компания, крупный банк и т. п., так как штаб-квартира такой организации способна организовать и администрировать доверенный PKG для данной группы пользователей .
В схеме шифрования на основе идентификации взята за основу криптосистема с открытым ключом с некоторыми изменениями. Отличие IBE заключается в том, что вместо генерации случайной пары закрытых и открытых ключей и публикации соответствующего открытого ключа, пользователь выбирает в качестве открытого ключа своё имя, почту или иные общеизвестные идентификационные данные, которые могут быть однозначно ассоциированы с данным пользователем. Соответствующий закрытый ключ вычисляется с помощью PKG и выдаётся пользователю в виде смарт-карты, описанной выше .
Процесс установления защищённого IBE канала связи можно описать следующим образом:
Пользователь A подписывает некоторое сообщение с помощью своего закрытого ключа на персональной смарт-карте, зашифровывает результат, используя идентификационные данные получателя и отправляет сообщение получателю — пользователю B. После приёма сообщения пользователь B расшифровывает его с помощью закрытого ключа на своей персональной смарт-карте, проверяет подпись отправителя, используя его идентификационные данные.
Важно отметить, что для обеспечения безопасного обмена сообщениями закрытые ключи должны вычисляться только сервером PKG.
Наглядно работу алгоритма можно представить в виде:
Общая надёжность данной криптосистемы зависит от:
Различия между схемами с закрытым, открытым ключом и личностным шифрованием наглядно представлены на иллюстрации 2. Во всех схемах сообщение зашифровано ключом , передано по открытому каналу как шифротекст и расшифровано ключом . Генерация ключей происходит с использованием случайного параметра . В схеме с закрытым ключом , с открытым ключом ключи шифрования и дешифрования генерируются с использованием случайного параметра через две различные функции и . Иной принцип лежит в схеме шифрования на основе идентификационных данных: идентификационная информация о пользователе выступает в качестве ключа шифрования , ключ дешифрования генерируется с использованием некоего идентификатора пользователя и случайного параметра через функцию .
Схема подписи в криптосистеме с открытым ключом отличается от таковой для личностного шифрования. Различие между данными схемами подписи можно отследить на иллюстрации 3.
В 1984 году Ади Шамир предложил конкретную реализацию только для схемы подписи сообщения, высказал предположение о существовании реализаций самой криптосистемы, а также призвал сообщество заняться их поиском и изучением.
Схема подписи основывается на проверке следующего условия: , где — сообщение, — подпись, — идентификационные данные пользователя, — произведение двух больших простых чисел, — большое простое число, являющееся взаимно простым с .
Параметры и функция , выбираемые на стороне PKG, равны для всех пользователей. Алгоритмическое описание функции хранится у каждого пользователя в индивидуальной смарт-карте. Значения данных параметров могут быть публичными, но разложение на простые множители должно храниться только на сервере PKG. Отличать одного пользователя от другого можно только на основании его идентификатора . Единственный закрытый ключ , соответствующий , есть не что иное, как: . Этот ключ может быть просто вычислен на сервере PKG, но никто другой не сможет вычислить .
Каждое сообщение имеет большое количество возможных подписей и в данном случае алгоритм случайного подбора пары неэффективен. Любая попытка зафиксировать случайное значение для одной переменной из пары и решить выражение для иной незафиксированной переменной потребует разложения на множители , что является сложной вычислительной задачей на текущий момент. Однако, если значение достоверно известно, а разложение не известно, то существует простой способ генерации любого количества подписей для любого сообщения .
Чтобы подписать некоторое сообщение , пользователь должен выбрать случайное число и вычислить: . Вышеобозначенное условие можно переписать в виде: . Так как является взаимно простым с , то можно исключить общий множитель из экспоненты. В итоге: может быть вычислен без вычисления .
В настоящее время схемы шифрования на основе идентификационных данных основаны на билинейных спариваниях (Вейля и Тейта) и эллиптических кривых . Дэн Боне и разработали первую из этих схем в 2001 году — . Она выполняет вероятностное шифрование сообщения произвольной длины подобно схеме Эль-Гамаля .
Иной подход к шифрованию был предложен в 2001 году — . Данная криптосистема использует квадратичные вычеты по модулю большого числа, шифрует сообщения по одному биту за раз и увеличивает длину шифротекста по сравнению с начальным сообщением .
На практике используются следующие криптосистемы на основе идентификационных данных:
В 2010 году Xu An Wang и Xiaoyuan Yang провели исследование стойкости двух Hierarchical Identity-based Encryption схем, в которых подразумевается использование нескольких PKG серверов разных "уровней" для генерации ключей пользователей. Исследователи провели атаку с использованием случайно выбранного закрытого ключа первого "уровня", получив необходимый закрытый ключ для целевого пользователя-жертвы. Полученный закрытый ключ позволит расшифровать любые зашифрованные сообщения пользователя-жертвы .
В 2014 году Jyh-Haw Yeh исследовал и заключил, что авторы данной криптосистемы дают только указание на использование криптографической хеш-функции , но не предлагают каких-либо конкретных реализаций данной хеш-функции. Jyh-Haw Yeh в своей работе разработал и предложил к использованию криптографическую хеш-функцию, удовлетворяющую следующим требованиям :
Кроме того, Jyh-Haw Yeh при разработке криптографической хеш-функции дополнил список требований следующим :
Иными словами, данное дополнительное свойство требует сложности вычисления коэффициента для произвольных прообразов в соотношении или в , где — хеш-функция. Важно отметить, что без введения дополнительного свойства работа Jyh-Haw Yeh представляла бы собой исследование криптостойкости схемы Boneh-Franklin .