Введение

Шифрование на основе идентификации (IBE) является важным примитивом криптографии на основе идентификации. Это тип шифрования с открытым ключом, в котором открытый ключ пользователя представляет собой некоторую уникальную информацию, идентифицирующую этого пользователя (например, адрес электронной почты). Это означает, что отправитель, имеющий доступ к открытым параметрам системы, может зашифровать сообщение, используя, например, текстовое значение имени или адреса электронной почты получателя в качестве ключа. Получатель получает ключ для расшифровки от центрального органа, которому необходимо доверять, поскольку он генерирует секретные ключи для каждого пользователя. Шифрование на основе идентификации было предложено Ади Шамиром в 1984 году, однако ему удалось предложить лишь реализацию схем цифровой подписи на основе идентификации. Проблема построения схемы шифрования на основе идентификации оставалась нерешенной в течение многих лет. Схема Boneh–Franklin, основанная на спариваниях, и схема шифрования Cocks, основанная на квадратичных вычетах, решили эту проблему в 2001 году.

Системы шифрования

Наиболее эффективные схемы шифрования на основе идентификатора в настоящее время основаны на билинейных спариваниях на эллиптических кривых, таких как спаривания Вейля или Тейта. Первая из этих схем была разработана Дэном Боне и Мэтью К. Франклином в 2001 году и выполняет вероятностное шифрование произвольных шифротекстов, используя подход, аналогичный Эльгамалу. Хотя схема Бонэ — Франклина является доказуемо безопасной, доказательство безопасности опирается на относительно новые предположения о сложности решения задач в определенных группах эллиптических кривых. Другой подход к шифрованию на основе идентификатора был предложен Клиффордом Коксом в 2001 году. Схема IBE Кокса основана на хорошо изученных предположениях (предположении о квадратичной остаточности), но шифрует сообщения по одному биту за раз, что приводит к значительному расширению шифротекста. Таким образом, она крайне неэффективна и непрактична для передачи чего-либо, кроме самых коротких сообщений, например, сеансового ключа для использования с симметричным шифром. Третий подход к IBE заключается в использовании решеток.

Преимущества

Одним из основных преимуществ любой схемы шифрования на основе идентификатора является то, что если число пользователей конечно, после выдачи ключей всем пользователям секрет третьей стороны можно уничтожить. Это возможно, поскольку данная система предполагает, что выданные ключи всегда действительны (поскольку в этой базовой системе отсутствует механизм отзыва ключей). Большинство модификаций этой системы, поддерживающих отзыв ключей, лишаются этого преимущества. Более того, поскольку открытые ключи генерируются из идентификаторов, IBE устраняет необходимость в инфраструктуре распределения открытых ключей. Подлинность открытых ключей гарантируется неявно, при условии обеспечения безопасности при передаче закрытых ключей соответствующим пользователям (подлинность, целостность, конфиденциальность). Помимо этого, IBE предоставляет интересные возможности, обусловленные способностью кодировать дополнительную информацию в идентификатор. Например, отправитель может указать срок действия сообщения, добавляя эту временную метку к идентификатору получателя (возможно, используя бинарный формат, такой как X.509). Когда получатель обращается к PKG для получения закрытого ключа, соответствующего открытому ключу, PKG может проверить идентификатор и отказать в выдаче ключа, если срок действия истек. В целом, внедрение данных в идентификатор эквивалентно открытию дополнительного канала связи между отправителем и PKG, с гарантированной подлинностью благодаря зависимости закрытого ключа от идентификатора.

Недостатки

Если генератор частных ключей (PKG) скомпрометирован, все сообщения, защищенные в течение всего срока действия пары открытого и закрытого ключей, используемых этим сервером, также оказываются скомпрометированными. Это делает PKG высокоприоритетной целью для злоумышленников. Чтобы ограничить последствия компрометации сервера, основную пару открытого и закрытого ключей можно обновить новой, независимой парой ключей. Однако это создает проблему управления ключами, поскольку всем пользователям необходимо иметь самую последнюю версию открытого ключа сервера. Поскольку генератор частных ключей (PKG) генерирует закрытые ключи для пользователей, он может расшифровывать и/или подписывать любые сообщения без авторизации. Это означает, что системы IBS не могут быть использованы для обеспечения неотрекаемости. Это может не представлять собой проблему для организаций, которые размещают свой собственный PKG и готовы доверять своим системным администраторам, а также не нуждаются в неотрекаемости. Проблема неявного хранения ключей не существует в текущей системе PKI, где закрытые ключи обычно генерируются на компьютере пользователя. В зависимости от контекста, хранение ключей может рассматриваться как положительное свойство (например, в корпоративной среде). Было предложено несколько альтернативных систем, устраняющих хранение ключей, включая шифрование на основе сертификатов, разделение секрета, безопасную криптографию выдачи ключей и криптографию без сертификатов. Для передачи закрытого ключа при подключении к системе требуется защищенный канал между пользователем и генератором частных ключей (PKG). В качестве распространенного решения для крупномасштабных систем часто используется соединение, подобное SSL. Важно отметить, что пользователи, имеющие учетные записи в PKG, должны иметь возможность аутентифицироваться. В принципе, это можно осуществить с помощью имени пользователя, пароля или пары открытых ключей, управляемых на смарт-картах. Решения IBE могут полагаться на криптографические методы, уязвимые к атакам квантовых компьютеров, способных взламывать коды (см. алгоритм Шора).