Неограниченное HIBE и шифрование, основанное на атрибутных значениях

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 20:59, 27 сентября 2015.
Unbounded HIBE and Attribute-Based Encryption
Unbounded HIBE EC 2011.png
Авторы Allison Lewko[@: 1]

Brent Waters[@: 2]

Опубликован 2011 г.
Перевели коллектив проекта «Gir»
Год перевода 2011 г.
Скачать оригинал

__NUMBEREDHEADINGS__

Аннотация. В данной работе, мы представляем HIBE и ABE схемы, которые «не ограничены» в том смысле, что открытые параметры не вызывают дополнительных ограничений на функциональность систем. Во всех предыдущих конструкциях HIBE в стандартной модели, максимальная иерархическая глубина должна была фиксироваться на этапе установки. А во всех предыдущих конструкциях АВЕ в стандартной модели, либо должен реализовываться универсально малая размерность, либо ограниченность размера наборов атрибутов должна задаваться на этапе установки. В наших конструкциях эти ограничения избегаются. Мы используем аргумент шифрования вложенной системы удвоения для доказательства полной безопасности нашей HIBE схемы и выборочной безопасности АВЕ схемы, обе в стандартной модели и основываются на статических предположениях. Наша АВЕ схема поддерживает LSSS метрики в качестве структур доступа а также предыдущее делегирование возможностей пользователей.

Введение

Системы шифрования основанные на иерархической идентификации (HIBE) [1][2] и системы шифрования основанные на атрибутных значениях (АВЕ) [3] реализуют большее количество уровней гибкости для пользователей при разделении и оперировании деликатными данными, чем это делается с помощью систем основанных на идентификации и систем шифрования с открытым ключом. В иерархической идентификационной схеме шифрования идентификаторы пользователей представляются в виде организованной иерархии. Любой пользователь может зашифровать сообщение для любого идентификатора в данной системе используя открытые параметры. Идентификатор на уровне k в иерархии может использовать его секретный ключ для делегирования секретных ключей его второстепенных зависимых идентификаторов, но не может расшифровать какие-либо сообщения кроме тех, что предназначены либо непосредственно ему, либо нижестоящему по иерархии идентификатору. В системе шифрования основанной на атрибутных значениях с дополнительными правилами ключа, пользователи обладают секретными ключами, которые связанны с правилами доступа для общей совокупности атрибутов, а шифртексты связаны с наборов атрибутов. Пользователь может расшифровать сообщение зашифрованное относительно набора атрибутов S только тогда, когда S удовлетворяет правилам доступа ключа данного пользователя.

Как HIBE так и АВЕ системы разрабатывались для реализации внесения некоторых изменений в зависимости от пользователей, но нынешние конструкции обладают некоторыми неотъемлемыми ограничениями. К примеру, новые пользователи могут входить в HIBE систему и собирать секретные ключи без требования о каких-либо изменениях открытых параметров или уже используемых ключей пользователей. Однако, для всех предыдущих конструкций в стандартной модели, идентификаторы новых пользователей должны соответствовать иерархической глубине определённой открытыми параметрами. Точнее говоря, размер открытых параметров растет линейно относительно максимальной глубины иерархии и т.о. становиться невозможным добавить новые уровни к иерархии как только открытые параметры были заданы. Для случая АВЕ, политики частного доступа и наборы атрибутов реализуемые пользователями могут изменяться во времени, но сегодняшние конструкции в стандартной модели не позволяют реализовать некую гибкость в выборе атрибутов и политик после того как были заданы открытые параметры. В конструкциях с «малым объёмом атрибутов» (например, [4][5]) полиномиальная размерность пространства атрибутов должна фиксироваться на стадии установки, а размерность открытых параметров будет расти линейно относительно размера выбранного пространства атрибутов. При наличии конструкции «большого объёма атрибутов» (например, [4]) пространство атрибутов экспоненциально большим, но размер набора S используемого для шифрования ограничивается параметром n который задаётся на этапе установки. Размер открытых параметров растут линейно относительно n.

Это ограничение усугубляет желаемую практическую реализацию для HIBE и АВЕ систем. Если начальные параметры выбираются малыми значениями, система не будет достигать требуемую работоспособность и должна будет полностью переинициализироваться при полном использовании её пользователями. Если параметры установки выбираются слишком большими, то открытые параметры системы также будут слишком большими и это приведёт к неэффективному растрачиванию ресурсов.

Уход от данных ограничений с помощью предыдущих подходов не являлся лёгкой задачей. К примеру, многие стандартные подели HIBE конструкций применяют схемы схожие с HIBE Бонеха-Беёна в [6] (например, [7][8][9][10] в точности используют её). На высоком уровне эти системы полностью основываются на хэш функциях Н которые отображают векторы идентификации в групповые элементы в частном случае. Точнее говоря, предполагается, что пользователь на уровне j в иерархии взаимосвязан с идентификационным вектором . Хэш функция Н использует d фиксированных групповых элемента в билинейной группе G порядка р (например). При получении вектора идентификации на вход, Н каким-либо способом выбирает k векторов где k есть функция от j и максимальная глубина иерархии. В частности, k должно быть строго меньше d. Затем на выходе будут групповые элементы вида

При формировании секретных ключей или шифртекстов эти групповые элементы обычно стремятся к одной и той же случайной экспоненте . Если мы попробуем применить данный подход без ограничения максимальной глубины иерархии, то для некоторых идентификационных векторов нужно будет получить значения указанные выше, и каждый из них будет стремиться к одной экспоненте . Это приведёт к нарушению безопасности – т.к. наши векторы переопределятся в d-размерном пространстве, и т.о. большинство их наборов из d будут линейно независимыми, и находиться в . Это позволит атакующему создать новое значение

для любого вектора который он захочет, с помощью уже полученных значений, возводя их в соответствующие степени, и перемножая результаты. По этой причине реализация неограниченной HIBE системы основывающейся на подобных хэш функциях недопустима.

Наш вклад. Используя новые подходы, мы получили «неограниченные» HIBE и АВЕ схемы. Наша HIBE схема может реализовывать переменную иерархическую глубину для открытых параметров, которые состоят только из определённого числа групповых элементов. Это позволяет уйти от необходимости введения максимальной иерархической глубины на этапе установки и уменьшить размерность открытых параметров. Мы полностью доказали безопасность схемы в стандартной модели посредством статистики, генерационных предположений о безопасности в билинейных группах составного порядка. Наша АВЕ схема имеет большое пространство атрибутов и при этом не обладает ограничением на размер наборов атрибутов используемых для шифрования. Она также оперирует открытыми параметрами которые являются конкретным значением групповых элементов. Она применяем LSSS матрицы в качестве структур доступа, и дополнительно реализовывает возможность делегирования пользователям. Наша АВЕ схема доказуемо безопасна из тех же соображений, а именно, статистики, генерационных предположений о безопасности в билинейных группах составного порядка.

Наши методики. Мы убираем ограничения наличествующие в предыдущих конструкциях с помощью реализации метода разделения секрета и получения текущего «локального» случайного значения для каждого уровня ключа и шифртекста. Т.о. вместо необходимости создания слишком большого количества значений из ограниченного векторного пространства с одинаковым случайным значением, мы создаём много значений каждое из которых имеет своё новое случайное значение. Этим избегается ухудшение безопасности предыдущих методик указанных выше.

Для создания секретного ключа пользователя в наших HIBE и АВЕ системах, мы сперва делим главное секретное значение на разделения, которые будут связаны с компонентами идентификационного вектора пользователя либо строками его матрицы доступа. Каждое разделение затем «скрывается» с помощью случайного значения, которое выбирается для текущего процесса каждого разделения и связывает разделение с его соответствующим идентификатором или атрибутом.

Основной сложностью в доказательстве безопасности нашей схемы является малое значение энтропии получаемое в результате использования коротких открытых параметров. Это влечёт за собой сложности применения как методов разделения доказательства так и более нового метода удвоенной системы шифрования [9]. Для успешной реализации разделения доказательства, нам необходимо запрограммировать открытые параметры для задания отказов при получении симулятором возможности создания некоторого ключа или ключей. Однако, малое количество степеней свободы доступных для открытых параметров делает эту задачу достаточно трудной в плане программирования для ключей переменной глубины. Для использования систем доказательства удвоенного шифрования нам необходимо ввести информационно-теоретический аргумент в контекст меньшей энтропии – это будет не просто, хотя всё же разрешимо. Мы в конечном итоге достигаем этого с помощью подхода вложенной удвоенной системы шифрования которая позволяет нам реализовать наш информационно-теоретический аргумент для очень локализованного значения, при котором будет достаточное ограничение энтропии открытых параметров.

В схеме удвоенной системы шифрования шифртексты и ключи могут быть двух видов: нормального и полуфункционального. Нормальные ключи могут расшифровывать как нормальные так и полуфункциональные шифртексты, в то время как полуфункциональные ключи могут расшифровывать только нормальные шифртексты. Безопасность здесь доказывается через гибридный аргумент дял последовательности игр, где первый используемый шифртекст изменяется на полуфункциональный а затем ключи изменяются на полуфункциональные один за одним. В конце этого процесса симулятору нет никакой необходимости вычислять ключи и шифртексты, которые расшифровываются корректно, и т.о. доказывается безопасность. Однако, нам необходимо избежать потенциального парадокса: в определённом моменте последовательности игр где ключ изменяется на полуфункциональный симулятор не должен иметь возможности проверять принадлежность ключа проводя расшифровку для полуфункционального шифртекста. Это можно преодолеть с помощью номинальной полуфункциональности, означающей, что если симулятор пытается рассчитать полуфункциональный шифртекст, который можно расшифровать ключом неизвестного вида, то тогда данная пара ключ/шифртекст будут взаимосвязаны т.о., чтобы расшифровка была допустима именно при заданной полуфункциональности. Другими словами, даже если известны полуфункциональные условия, будет реализовываться отказ для расшифровки данного полуфункционального шифртекста и следовательно, он будет неопределим симулятором. Эта номинальная полуфункциональность должны быть сокрыта от атакующего, который не может получить требуемые для расшифровки текста ключи.

Ограничение энтропии открытых параметров в нашей системе не позволяет нам сокрыть номинальную функциональность от атакующего если мы пытаемся изменить ключ от нормального вида в полуфункциональный во время обычного шага. Для ухода от этого, мы представляем концепцию эфемерной полуфункциональности для ключей и шифртекстов. Эфемерная полуфункциональность для ключей это текущее состояние которое реализуется в виде промежуточного этапа между нормализацией и приведением ключа в полуфункциональный вид. Эфемерная полуфункциональность для шифртекстов это текущее состояние оеализуемой полуфункциональности – эфемерные полуфункциональные ключи всё ещё могут расшифровывать полуфункциональные шифртексты, но эфемерные полуфункциональные шифртексты можно расшифровать только нормальными ключами. В нашем доказательстве используется вложенная гибридная структура, где первый шифртекст изменяется на полуфункциональный, затем один ключ за итерацию изменяется на эфемерный полуфункциональный, а потом шифртекст изменяется на эфемерный полуфункциональный, и наконец оба значения, ключ и шифртекст, заменяются на полуфункциональные.

Отметим, что ключ сперва становится таким, что не может расшифровать шифртексты, когда оба значения эфемерные полуфункциональные, и т.о. существует только один эфемерный полуфункциональный текущий ключ. Это позволяет нам реализовать информационно-теоретический аргумент для сокрытия номинальности в более локальном контексте, где нам необходимо только оперировать одним ключом. Даже при этой вложенной методике, реализация игр с малой энетрапией всё ещё является сложной задачей – мы вводим дополнительные внутренние гибридные этапы для постепенного изменения распределений ключей и шифртекстов. В установке KP-ABE мы также заменяем всё для выборочной модели безопасности.

Соответствующие работы. Шифрование основанное на идентификации было рассмотрено Шамиром в [11] и впервые структурировано Бонехом и Франклином [12], а также Коксом [13]. У них безопасность была доказуемой в модели случайного оракула. Канетти, Халеви, и Катз [14] и Бонех и Боен [6] в последствии показали системы которые обладали доказуемой выборочной безопасностью в стандартной модели. Полностью безопасные решения в стандартной модели позже были даны Бонехом и Боеном [8] и Уотерсом [15]. Система Уотерса была эффективной и доказуемой при хорошо заданном выборочном билинейном предположении Диффи-Хеллмана, но обладала открытыми параметрами содержащими групповых элементов, где выступал в качестве параметра безопасности. Система предложенная Гентри [16] обладала короткими открытыми параметрами и доказуемой безопасностью в стандартной модели, но основывалась на “q-типном” предположении (означающем, что число условий в предположении зависит от числа запросов q производимых атакующим). Используя систему удвоенного шифрования, Уотерс [9] показал эффективную IВE систему с короткими открытыми параметрами с полностью доказуемой безопасностью для выборочного линейного и выборочного билинейного предположений Диффи-Хеллмана. В модели случайного оракула, дополнительные схемы были предложены Бонехом, Гентри, и Хамбургом [17] для квадратичного предположения и Гентри, Пикертом, и Ваикунтанатаном [18] для предположений основанных на использовании решёток.

Иерархическое основанное на идентификации шифрование было впервые расписано Хорвитзом и Линном [1] и структурировано Гентри и Сильвербергом [2] в модели случайного оракула. Конструкции с выборочной безопасностью в стандартной модели были затем предложены Бонехом и Боеном [6], а также Бонехом, Боеном и Гротом [7]. В схеме Бонеха, Боена, Грота используются короткие шифртексты (размер которых независим от глубины иерархии). Гентри и Халеви предложили полностью безопасную конструкцию для полиномиальной глубины, основанную на сложном предположении. Уотерс [9] показал полностью безопасную схему для выборочного линейного и выборочного билинейного предположений Диффи-Хеллмана. Левко и Уотерс [10] предложили конструкцию с коротким шифртекстом, также достигающую полной безопасности для статических предположений. Системы HIBE основанные на решётках были построены Кэшом, Хофхеинзом, Килтзем, и Пикертом [19], а также Агравалом, Бонехом и Боеном в [20]. Агравал, Бонех и Боен [21] расписали решёточную схему HIBE где область пространство соответствующих решёток не расширялось с ростом уровней иерархии. Система решёток доказуемо безопасна как в модели случайного оракула, так и выборочно безопасна в стандартной модели. Шатирье и Саркар [22] определили набор новых моделей безопасности для HIBE, и также предложили нашему вниманию HIBEсистему в новой более слабой модели безопасности которая поддерживает наличие переменной глубины. Однако, эта система даже не достигает выборочной безопасности – как показывает сам автор она взламывается даже с помощью простой атаки на стандартную выборочную модель бузопасности.

Шифрование основанное на атрибутах было представлено Сахаем и Уотерсом [3]. Затем Гоял, Панди, и Уотерс [4] последовательно определили два вида АВЕ: АВЕ с ключевой политикой (где ключи связываются с политиками доступа а шифртексты с наборами атрибутов) и с политикой шифртекстов (наоборот). Несколько конструкций в дальнейшем были сделаны для селективно безопасных КР-АВЕ и СР-АВЕ систем (например, [23],[24],[25],[4],[26],[27]). Полностью безопасные конструкции были представлены Левко, Окамото, Сахаем, Такашимой, и Уотерсом [5] а также Окамото и Такашимой [28]. В работах Чейза [29] и Чейза и Чова [30] рассматривалась задача АВЕ для установки нескольких авторизированных пользователей. Дальнейшая концепция Предварительного шифрования была предложена Катзом, Сахаем и Уотерсом [31] и далее более подробно изучена в [5],[32],[28],[33]. Другие работы рассматривающие соответствующие задачи без наличия стойкости от коллизий [34],[35],[36],[37],[38],[39].

Методология удвоенной системы шифрования показана Уотерсом [9] и позднее использована в [10],[5],[28],[40],[41] для получения адаптивной безопасности (и также стойкости от потерь информации в [40],[41]) для IBE, HIBE, и АВЕ систем. Абстракции которые мы показываем для системы удвоенного шифрования при HIBE и АВЕ установках схожи с абстракциями из [41], кроме того, что мы не рассматриваем стойкость от утечки информации а также предлагаем только выборочную безопасность для случая АВЕ.

Удвоенная система шифрования HIBE

Теперь рассмотрим схему удвоенной системы шифрования HIBE. (Она схожа с представленной в [41], но, как уже упоминалось, без учёта стойкости от утечки информации.) Помимо пяти стандартных алгоритмов HIBE схемы (Setup, Encrypt, KeyGen, Decrypt, и Delegate), схема удвоенной системы шифрования HIBE имеет также алгоритмы KeyGenSF и EncryptSF, которые реализуют получение полуфункциональных ключей и шифртекстов, соответственно. В отличие от Setup, Encrypt, KeyGen, Decrypt, и Delegate, KeyGenSF и EncryptSF алгоритмы не выполняются за полиномиальное время (для заданных только им входных параметров), т.к. они используются только для доказательства безопасности и не используются в нормальных операциях системы. Отметим, что расшифровка работает также как и прежде, единственным отличием будет то, что когда секретный ключ и шифртекст являются полуфункциональными расшифровка невозможна.


. Установочный алгоритм принимает в качестве входа параметр и выводит открытые параметры РР и главный секретный ключ MSK.

. Алгоритм шифрования принимает сообщение М, вектор идентификации и открытый параметр РР в качестве входа и выводит шифртекст CT.

. Алгоритм полуфункционального шифрования принимает на входе сообщение М, вектор идентификации и открытые параметры РР. На выходе получается полуфункциональный шифртекст .

. Алгоритм генерации ключа принимает главный секретный ключ MSK, идентификационный вектор , и открытые параметры в качестве входа, а выводит секретный ключ для данного идентификационного вектора.

. Алгоритм полуфункциональной генерации ключа принимает главный секретный ключ MSK, вектор идентификации , и секретные параметры на вход. Выходом же будет полуфункциональный секретный ключ для .

. Алгоритм расшифровки принимает шифртекст СТ, открытые параметры РР, и секретный ключ в качестве входных значений. Если вектор идентификации секретного ключа является префиксом вектора идентификации использованного для зашифровки текста, а ключ и шифртекст не являются оба полуфункциональными, то алгоритм расшифровки выводит сообщение М.

. Алгоритм делегирования принимает секретный ключ для идентификационного вектора , идентификатор , открытые параметры РР в качестве входа. Он выводит секретный ключ для идентификационного вектора , который определяет конкатенацию и .

Свойства безопасности удвоенной системы шифрования HIBE

Мы определяем четыре свойства удвоенной системы шифрования HIBE. Покажем, что система, которая обладает этими тремя свойствами будет безопасной HIBE. Для определения этих свойств зададим следующие вариации игры безопасности для HIBE, которую мы назовём Игра HIBE. В данной игре, атакующий может выполнять Create, Delegate и Reveal запросы. В ответ на Create запросы, создаётся специальный ключ. В ответ на Delegate запросы, выполняется алгоритм делегирования для получения запрашиваемого ключа из специального супер ключа. В ответ на Reveal запросы атакующему выдаётся запрашиваемый ключ. Для получения основной информации по HIBE и её определений безопасности, доказательств теорем из данного раздела, смотрите полную версию данной работы [42].

Сперва определим Игру как аналогичную Игре HIBE, за исключением того, что она будет выполняться без делегирования. Точнее говоря, вместо выполнения Create, Delegate и Reveal запросов атакующий просто выполняет KeyGen запросы – т.е. отправляет идентификационные векторы для которых создаются секретные ключи данного вектора с помощью вызова KeyGen, а затем отправляются атакующему. Единственным упрощением является тот факт, что запрашиваемые идентификационные векторы могут быть префиксами текущего вектора для шифртекста.

Затем определим Игру как аналогичную Игре за исключением того, что текущий шифртекст будет генерировать с помощью вызова EncryptSF вместо Encrypt. Также определим Игру как аналогичную Игре за исключением того, что отвечающий элемент заменяет все KeyGen запросы на KeyGenSF. Другими словами, соответствующий текущий шифртекст и все секретные ключи предоставленные атакующему будут полуфункциональными.

Инвариантность делегирования. Говорится, что схема HIBE удвоенной системы шифрования обладает полуфункциональным инвариантным делегированием, если для любого РРТ алгоритма , преимущество в Игре будет пренебрежимо близким к его преимуществу в Игре . Обозначим это как:

Инвариантность полуфункционального шифртекста. Говорится, что схема HIBE удвоенного шифрования обладает инвариантностью полуфункционального шифртекста если для любого РРТ алгоритма , преимущество в Игре будет пренебрежимо близким к преимуществу в Игре . Обозначим это как:

Инвариантность полуфункционального ключа. Говорится, что схема HIBE удвоенного шифрования обладает инвариантностью полуфункционального ключа если для любого РРТ алгоритма , преимущество в Игре будет пренебрежимо близким к преимуществу в Игре . Обозначим это как:


Полуфункциональная безопасность. Говорится, что схема HIBE удвоенного шифрования обладает полуфункциональной безопасностью если для любого РРТ алгоритма , преимущество в Игре будет пренебрежимо мало. Обозначим это как:

TemplateLemmaIcon.svg Лемма «Теорема 1»
Если схема HIBE удвоенного шифрования обладает инвариантностью делегирования, инвариантностью полуфункционального шифртекста и ключа, и полуфункциональной безопасностью, то является безопасной HIBE схемой.


Альтернативное свойство безопасности

Свойство инвариантности полуфункционального ключа иногда бывает сложно доказать напрямую. Для этого, определим альтернативное свойство, инвариантность одного полуфункционального ключа, которое больше подходит для работы и которое реализует инвариантность полуфункционального ключа через гибридный аргумент.

Для определения инвариантности одного полуфункционального ключа, нам необходимо определить дополнительную игру, Игру (где b представляет бит, который может принимать значение 0 или 1). В такой игре, где атакующий запрашивает ключ он будет определять какой именно ключ (нормальный или полуфункциональный) запрашивается. Если атакующий запрашивает нормальный ключ, то вызывается KeyGen для генерации ключа и после этого возвращения его атакующему. Если атакующий запрашивает полуфункциональный ключ, вызывается KeyGenSF для генерации ключа, который опять таки потом возвращается атакующему. В некоторой точке атакующий определяет текущий ключ. В ответ, идёт вычисление нормального ключа, если b = 0 и полуфункционального ключа если b = 1. Когда атакующий запрашивает текущий шифртекст, ему выдаётся полуфункциональный шифртекст. Отметим, что только разницей между Игрой и Игрой можно выявить специальный ключ атакующего.

Инвариантность одного полуфункционального ключа. Говорим, что схема удвоенной системы шифрования HIBE обладает инвариантностью одного полуфункционального ключа если для любого РРТ , преимущество в Игре будет пренебрежимо близким к преимуществу в Игре . Обозначим это как:

TemplateLemmaIcon.svg Лемма «Теорема 2»
Если схема удвоенной системы шифрования HIBE обладает инвариантностью одного полуфункционального ключа, то она также обладает и инвариантностью полуфункционального ключа.


Предположения о сложности

Наша конструкция будет использовать билинейные группы составного порядка, впервые представленные в [43]. Дополнительную информацию об этих группах можно найти в полной версии данной работы. Пусть G обозначает билинейную группу порядка , которая является суммой трёх отдельных простых значения, и пусть обозначает билинейное отображение.

В предположениях указанных ниже, пусть обозначает, например, подгруппу порядка в G. Отметим, что если и для тогда . Используем обозначение для выражения того, что Х выбирается равномерно случайно из конечного набора S. Отметим также что кроме как для Предположения 2, для всех остальных предположений есть частные случаи Предположения о решении общей подгруппы определённого в [7]. В общем виде Предположение о решении общей подгруппы описывается следующим образом: в билинейной группе порядка , существует подгруппа порядка для каждого подмножества . Пусть обозначают два таких подмножества. Должно быть трудно различить по признакам случайный элемент из подгруппы соответствующей от случайного элемента подгруппы соответствующей , даже если первый задан случайными элементами из подгрупп соответствующих наборам которые удовлетворяют либо либо . Общий вид утверждений для наших явных предположений смотрите ниже. Предположение 1 здесь немного слабее чем Предположение 1 из [10], а Предположение 2 и 4 также присутствуют в [10]. В наших доказательствах мы также используем Предположение 4 с заменой на .

Предположение 1. Для заданного группового генератора определяем следующее распределение:

Определим преимущество алгоритма при взломе Предположения 1 как:

Говорим, что удовлетворяет Предположению 1 если пренебрежимо малая функция от для любого РРТ алгоритма .

Предположение 2. Для заданного группового генератора , определим следующее распределение:

Определим преимущество алгоритма при взломе Предположения 2 как:

Говорим, что удовлетворяет Предположению 2 если пренебрежимо малая функция от для любого РРТ алгоритма .

Предположение 3. Для заданного группового генератора , определим следующее распределение:

Определим преимущество алгоритма при взломе Предположения 2 как:

Говорим, что удовлетворяет Предположению 3 если пренебрежимо малая функция от для любого РРТ алгоритма .

Предположение 4. Для заданного группового генератора , определим следующее распределение:

Определим преимущество алгоритма при взломе Предположения 2 как:

Говорим, что удовлетворяет Предположению 4 если пренебрежимо малая функция от для любого РРТ алгоритма .

Наша HIBE конструкция

Теперь покажем нашу схему удвоенной системы шифрования HIBE. Наша система строится в билинейной группе составного порядка, чей порядок N является суммой трёх различных простых значения. Предполагается, что наши идентификационные векторы обладают компонентами, которые являются элементами . В полуфункциональных алгоритмах указанных ниже, мы допускаем, что обозначает генератор , а - генератор .

Полагаем, что векторы идентификации кодируются таким образом, что если вектор идентификации не является префиксом вектора идентификации , то последняя компонента не будет эквивалентна какой либо компоненте . Другими словами, когда не является префиксом предполагается, что для всех . Простая схема получения данной кодировки заключается в замене переменного вектора идентификационных компонентов, на связанные с каждым входным значением и предыдущими входами: . Это реализует входы увеличенной длинны, но этого можно избежать с помощью применения для каждого из них хэш функции стойкой к коллизиям.

Основная идея нашей конструкции заключается в реализации методики разделения секрета между уровнями наших секретных ключей.Секретный ключ пользователя вовлечённый в разделение главного секретного ключа выглядит как сумма экспонент, где каждый элемент суммы дополнительно скрывается случайным условием уникальным для каждого из них. Другими словами, каждое разделение сокрыто случайным значением, которое «локально» относительно данного разделения. Для успешной расшифровки пользователь должен эффективно раскрыть каждое разделение, которое может быть реализовано только пользователем с j-ым уровнем идентификационного вектора, который совпадает с идентификационным вектором шифртекста по всем компонентам от первой до j. Если пользовательский идентификационный вектор не совпадает покомпонентно для , то пользователь не сможет восстановить необходимое k-ое разделение, т.о. не выполнив расшифровку. В сущности, каждый уровень ключа и шифртекста очень напоминает пример схемы Бонеха-Боена IBE [6] с дополнительным уровнем локальной рандомизации между разделением главного секретного ключа и условиями включения идентификаторов. В этих примерах разделяются одинаковые открытые параметры, которые мы можем согласовать с помощью использования текущего локального случайного значения на уровнях ключа и шифртекста.

Конструкция

Алгоритм установки принимает параметр безопасности и выбирает билинейную группу G порядка , где являются различными простыми значениями. Пусть обозначает подгруппу порядка в G. Алгоритм тогда выбирает равномерно случайно из , а равномерно случайно из . Наборы открытых параметров будут выглядеть как:

Главным ключом будет .


Алгоритм шифрования выбирает равномерно случайно из . Он создаёт шифртекст следующим образом:

. Алгоритм полуфункционального шифрования сперва вызывает алгоритм Шифрования для получения нормального шифртекста, . Затем он выбирает случайный значения . Он формирует полуфункциональный шифртекст как:

Отметим, что дополнительное условие на будет одинаково для каждого значения i.

Алгоритм генерации ключа выбирает равномерно случайные значения из . Он также выбирает случайные значения при условии что . Секретный ключ создаётся как:


Как только этот алгоритм был запущён он выбирает случайные значения . Эти значения сохраняются и используются на каждом уровне выполнения алгоритма.

Для создания полуфункционального ключа, алгоритм генерации полуфункционального ключа сперва вызывает KeyGen алгоритм для получения нормального ключа, . Затем он выбирает случайное значение и создаёт полуфункциональный ключ как:

Отметим, что условия выбираются из текущих случайных значений для каждого ключа, тогда как значения разделяются с помощью всех полуфункциональных ключей. Также отметим, что экспоненты по модулю здесь не связаны с экспонентами по модулю по Китайской Теореме об Остатках. Также важно заметить, что полуфункциональные компоненты (дополнительные условия и ) появляются только в последнем уровне ключа.

. Алгоритм делегирования принимает секретный ключ для и уровень j + 1 идентификации . Он выводит секретный ключ SK’ для следующим образом. Он выбирает и равномерно случайным образом, случайно при ограничении и вычисляет:

где определены как элементы идентификации в G.

.,Алгоритм расшифровки принимает для и шифртекст СТ зашифрованный относительно . Предполагая, что есть префикс сообщение будет расшифровываться следующим образом. Алгоритм расшифровки вычисляет:

Сообщение затем вычисляется как

Корректность Отметим, что:

которое эквивалентно:

т.к. Т.о. .

Безопасность

Докажем, что наша схема удвоенной системы шифрования HIBE обладает инвариантностью делегирования, инвариантностью полуфункционального шифртекста и одного ключа, и полуфункциональной безопасностью. По теоремам 1 и 2 выходит, что наша HIBE система безопасна. В более общем виде это можно доказать в следующей теореме:

TemplateLemmaIcon.svg Лемма «Теорема 3»
По Предположениям 1-4, наша HIBE система полностью безопасна.


Доказательства инвариантности делегирования, инвариантности полуфункционального шифртекста и полуфункциональной безопасности достаточно просты и их можно найти в полной версии данной работы. Действительно сложным является доказательство инвариантности одного полуфункционального ключа, и в этом нам помогут наши инновационные методы.

Инвариантность одного полуфункционального ключа

Действительная сложность в доказательстве инвариантности одного полуфункционального ключа в нашей системе заключается в повторении одинаковых открытых параметров для каждого уровня ключей и шифртекстов, что относительно ограничивает нашу возможность распределения полуфункциональных ключей и шифртекстов при изменении их вида для исходного ключа. В типичной системе удвоенного шифрования нам необходимо удостовериться, что при замене вида одного ключа симулятор не сможет определить исходное значение сам. Т.к. симулятор должен уметь вычислять полуфункциональный шифртекст для любого вектора идентификации и также использовать любой вектор идентификации для исходного ключа, то следовательно, он может узнать является ли исходный ключ полуфункциональным попробовав расшифровать им полуфункциональный шифртекст. Этот потенциальный парадокс можно обойти с помощью задания для симулятора того, что он может сделать только номинально полуфункциональный ключ, т.е. даже если условия полуфункциональности присущи и для исходного ключа, то они будут связаны с полуфункциональным шифртекстом и отстраняться при расшифровке. Теперь мы можем сказать, что аргумент номинально сокрыт от атакующего которой уже не может запрашивать ключи расшифровки.

Если мы попытаемся изменить исходный ключ в нашей системе от номинального до функционального для единичного или очень маленького количества шагов используя предположения об обобщённом решении подгруппы, то очень ограниченная энтропия доступная для открытых параметров будет не давать нам получить корректные распределения полуфункциональных ключей и полуфункционального шифртекста без раскрытия номинальности. Другими словами, для симулятора будет сложной задачей предотвращение наличия информационно-теоретических утечек нежелательных корреляций между полуфункциональными компонентами ключей и шифртекста который он создаёт.

Для преодоления этого недостатка, мы реализуем методику вложенной удвоенной системы шифрования и предлагаем концепцию эфемерной полуфункциональности. Вместо того, чтобы пытаться явным образом изменить исходный ключ от натурального до полуфункционального мы сперва изменим его от нормального до эфемерно полуфункционального. Эфемерный полуфункциональный ключ получается из нового распределения которое служит в качестве промежуточной стадии между нормальным и полуфункциональным распределениями. Отметим, что эфемерный полуфункциональный ключ может всё ещё расшифровывать полуфункциональный шифртексты, и как раз в этом заключается его единственное отличие от нормального ключа на последнем уровне.

После замены текущего ключа от нормального до эфемерного полуфункионального, мы затем изменим шифртекст также на эфемерный полуфункциональный. Эфемерные полуфункциональные шифртексты будут получаться из нового распределения шифртекстов и не будут расшифровываемыми с помощью эфемерных полуфункциональных ключей. Здесь мы сталкиваемся с ещё одним потенциальным парадоксом удвоенной системы шифрования: мы делаем так, чтобы симулятор мог рассчитывать только пары текущий ключ/шифртекст которые будут номинально эфемерными полуфункциональными, т.е. их распределения будут связаны таким образом, что даже если эфемерные полуфункциональные условия представлены как для ключа так и для шифртекста, то они всё равно не реализуют расшифровку. Эта взаимосвязь будет скрыта от атакующего который не сможет выполнять запросы ключа расшифровывающего текст.

Для реализации этого информационно-теоретического сокрытия с такой малой энтропией в наших открытых параметрах, нужно использовать гибридный аргумент в котором мы изменим вид шифртекста на один уровень за раз. Т.к. существует только эфемерные полуфункциональные условия для ключа на первом уровне, то теперь достаточно скрыть взаимосвязь между первым уровнем шифртекста и первым уровнем ключа: это можно сделать с помощью попарно независимых функций. Как только мы получили эфемерный полуфункциональный текущий ключ и эфемерный полуфункциональный шифртекст мы можем изменить текущий ключ на полуфункциональный в обычном виде и также вернуть шифртекст к его обычному полуфункциональному состоянию.

Естественно, использование эфемерной полуфункциональности помогает нам обойти наличие низкой энтропии в открытых параметрах потому что она позволяет нам перенести информационно-теоретический аргумент, который номинально сокрыт от атакующего в набор, где мы оперируем только одним ключом.

Теперь определим распределения эфемерных полуфункциональных ключей и шифртекстов. Сделаем задав два новых алгоритма, EncryptESF и KeyGenESF. Как и алгоритмы EncryptSF и KeyGenSF, им не надо выполняться за полиномиальное время. Отметим, что алгоритм EncryptESF принимает дополнительный параметр : это происходит потому что выводимые им шифтрексты разделяют значение с полуфункциональными ключами созданными KeyGenSF. Как и в оригинальных полуфункциональных алгоритмах мы обозначаем за генератор а за - генератор .

. Алгоритм эфемерного полуфункционального шифрования сперва вызывает алгоритм Encrypt для получения нормального шифртекста . Затем он выбирает случайные значения и формирует эфемерный полуфункциональный шифртекст как:

. Алгоритм генерации эфемерного полуфункционального ключа сперва вызывает алгоритм KeyGen для получения нормального ключа . Он выбирает случайные значения и формирует эфемерный полуфункциональный ключ как:

Отметим, что эфемерный полуфункциональный ключ может расшифровывать полуфункциональный шифртекст, но не может расшифровать эфемерный полуфункциональный шифртекст, т.к. эфемерный полуфункциональный шифртекст можно расшифровать только с помощью нормальных ключей.

Последовательность игр. Мы докажем инвариантность одного полуфункционального ключа для нашей схемы HIBE удвоенной системы шифрования через гибридный аргумент для следующей последовательности игр. Начнём с , где шифртекст является полуфункциональным и текущий ключ нормальным. Завершим мы Игрой , где шифртекст является полуфункциональным и текущий ключ тоже. Определим следующие промежуточные игры. В этих играх, распределения текущего ключа и вариации шифртекста, в процессе распределения запрашиваемых нормальных и полуфункциональных ключей будут такими же как и в Играх и .

Игра . Эта игра будет в точности как и Игра за исключением того, что добавляется упрощение последнего компонента текущего ключа вектора идентификации, в том плане, что он не может быть эквивалентен любому компоненту вектора идентификации текущего ключа по модулю .

Игра ЕК. В Игре ЕК, шифртекст всё ещё полуфункциональный а текущий ключ теперь уже эфемерный полуфункциональный. Мы повторно используем добавочное упрощение для идентификаторов по модулю .

Игра ЕС. В Игре ЕС, как шифртекст так и текущий ключ являются эфемерными полуфункциональными. И опять таки используется добавочное упрощение для идентификаторов по модулю .

Игра . Эта игра такая же как и Игра , но с добавлением упрощения для идентификаторов по модулю .

В полной версии мы доказали что существует переход от Игры до игры , а также до Игр ЕК, ЕС, , и наконец без принятия преимущества атакующего пренебрежимо малой величины.


Политика ключей в шифровании основанном на атрибутах

Теперь представим нашу конструкцию для КР-АВЕ. Наши открытые параметры состоят из постоянного числа элементов из билинейной группы составного порядка N, тогда как наше пространство атрибутов будет . Шифртексты в нашей системе связаны с наборами атрибутов, в то время как секретные ключи связаны с матрицами доступа LSSS. Эта конструкция очень схожа с нашей HIBE конструкцией. Основными изменениями здесь выступают атрибуты заменённые на идентификаторы, главный ключ теперь разделяем согласно матрице LSSS, вместо использования для этого суммарного значения. Мы следуем утверждению, что для разделения значения реализуется вектор с первой координатой эквивалентной , а разделения получаются с помощью перемножения строк матрицы LSSS для разделяемого вектора . Подмножество строк способно восстановить разделяемый секрет тогда и только тогда, когда их промежуток включает в себя вектор (1,0,…,0).

Конструкция

Алгоритм установки принимает параметр безопасности и выбирает подходящую билинейную группу G порядка , произведения трёх различных простых значения. Он выбирает равномерно случайно, и также выбирает равномерно случайные элементы из подгруппы . Он задаёт открытые параметры как:

MSK в данном случае есть , а пространство U атрибутов есть .

Алгоритм шифрования принимает сообщение М, набор атрибутов S, и открытые параметры. Пусть за l обозначается размер набора S, и пусть обозначают элементы S. Алгоритм шифрования выбирает равномерно случайные значения и вычисляет шифртекст как:

(Мы также полагаем, что набор S задаётся как часть шифртекста.)

Алгоритм генерации ключа принимает главный ключ , открытые параметры, и матрицу LSSS, где А это матрица над , а отображает каждую строку А в атрибут из . Алгоритм генерации ключа выбирает случайный вектор с первой координатой эквивалентной и случайные значения . Для каждого пусть обозначает x-ую строку А, а обозначает, что атрибут связанный с этой строкой был реализован посредством отображения . Пусть обозначает разделение связанное со строкой из А. Тогда секретный ключ формируется следующим образом:

. Алгоритм расшифровки принимает шифртекст СТ для набора атрибутов S и секретный ключ SK для матрицы доступа . Если атрибуты шифртекста удовлетворяют политике секретного ключа, тогда он вычисляет сообщение М следующим образом. Сперва он рассчитывает константы такие, что . А затем:

Корректность. Отметим, что:

Это показывает, что

Безопасность

Мы доказали, что наша система является выборочно безопасной используя аналогичную стратегию для нашего доказательства адаптивной безопасности HIBE системы (общее определение адаптивной безопасности в КР-АВЕ установке можно найти в полной версии данной работы). Мы можем достичь адаптивной безопасности в HIBE установке потому что можно предположить, что, согласно выбору вектора идентификации для текущего шифртекста, каждый запрашиваемый ключ будет иметь конечную идентификационную компоненту, которая не будет совпадать с какой-либо компонентой текущего шифртекста. Это позволяет нам перенести наши полуфункциональные компоненты только на последний уровень ключа, что сыграет решающее значение в появлении рандомизации с помощью применения наших попарно независимых аргументов на средней стадии доказательства. В адаптивной КР-АВЕ установке, нам известно только, что политика запрашиваемого ключа не будет удовлетворительной для набора атрибутов шифртекста, но нам при этом не известно каким именно образом она не подходит в данном случае. Другими словами, для ключей, которые запрашивает атакующий перед текущим шифртекстом нам не известно, какие именно строки ключа будут соответствовать атрибутам, которые не находятся в текущем шифртексте. Это оставляет нас в состоянии неизвестности – мы не знаем где задать полуфункциональные условия. Если мы попытаемся задать полуфункциональные условия для каждой строки, то не сможем сделать так, чтобы полуфункциональные условия появлялись случайно подходящим образом для оценки атакующего. Если мы зададим полуфункциональные условия для слишком малого количества строк, то не получим должный объём полуфункциональности.

Эта проблема решается с помощью перехода к модели выборочной безопасности, при которой атакующий вынужден раскрывать набор атрибутов текущего шифртекста на каждом этапе начала игры. Это означает, что когда симулятор оперирует с запросом ключа, ему уже известно какие строки ключа соответствуют атрибутам, которые отсутствуют в шифртексте, и он может внести полуфункциональные условия в точности для этих строк. Нужно добавить дополнительный гибридный аргумент к нашей стратегии доказательства для того, чтобы мы могли изменить строки ключа из нормального в полуфункциональный единожды за раз. Доказательство следующей теоремы также как и обсуждение возможностей делегирования для нашей АВЕ схемы читатель может найти в полной версии данной работы.

TemplateLemmaIcon.svg Лемма «Теорема 4»
По Предположениям 1-4, наша КР-АВЕ система будет выборочно безопасной.


Контакты авторов материала

  1. University of Texas Austin, USA, E-mail: alewko@cs.utexas.edu
  2. University of Texas Austin, USA, E-mail: bwaters@cs.utexas.edu

Литература

  1. 1,0 1,1 Horwitz, J., Lynn, B.: Toward hierarchical identity-based encryption. In: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, pp. 466–481. Springer, Heidelberg (2002)
  2. 2,0 2,1 Gentry, C., Silverberg, A.: Hierarchical ID-based cryptography. In: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 548–566. Springer, Heidelberg (2002)
  3. 3,0 3,1 Sahai, A., Waters, B.: Fuzzy identity-based encryption. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 457–473. Springer, Heidelberg (2005) 41. Shamir, A.: Identity-based cryptosystems and signature schemes. In: Blakely, G.R., Chaum, D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp. 47–53. Springer, Heidelberg (1985)
  4. 4,0 4,1 4,2 4,3 Horwitz, J., Lynn, B.: Toward hierarchical identity-based encryption. In: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, pp. 466–481. Springer, Heidelberg (2002)
  5. 5,0 5,1 5,2 5,3 Lewko, A., Okamoto, T., Sahai, A., Takashima, K., Waters, B.: Fully secure functional encryption: Attribute-based encryption and (Hierarchical) inner product encryption. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 62–91. Springer, Heidelberg (2010)
  6. 6,0 6,1 6,2 6,3 Boneh, D., Boyen, X.: Efficient selective-ID secure identity-based encryption without random oracles. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 223–238. Springer, Heidelberg (2004)
  7. 7,0 7,1 Boneh, D., Boyen, X., Goh, E.: Hierarchical identity based encryption with constant size ciphertext. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, Springer, Heidelberg (2005)
  8. 8,0 8,1 Boneh, D., Boyen, X.: Secure identity based encryption without random oracles. In: Franklin, M. (ed.) CRYPTO 2004. LNCS, vol. 3152, pp. 443–459. Springer, Heidelberg (2004)
  9. 9,0 9,1 9,2 9,3 9,4 Waters, B.: Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions. In: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 619–636. Springer, Heidelberg (2009)
  10. 10,0 10,1 10,2 10,3 10,4 Lewko, A., Waters, B.: New techniques for dual system encryption and fully secure HIBE with short ciphertexts. In: Micciancio, D. (ed.) TCC 2010. LNCS, vol. 5978, pp. 455–479. Springer, Heidelberg (2010)
  11. Shamir, A.: Identity-based cryptosystems and signature schemes. In: Blakely, G.R., Chaum, D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp. 47–53. Springer, Heidelberg (1985)
  12. Boneh, D., Franklin,M.: Identity-based encryption from the weil pairing. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 213–229. Springer, Heidelberg (2001)
  13. Cocks, C.: An identity based encryption scheme based on quadratic residues. In: Honary, B. (ed.) Cryptography and Coding 2001. LNCS, vol. 2260, pp. 26–28. Springer, Heidelberg (2001)
  14. Canetti, R., Halevi, S., Katz, J.: A forward-secure public-key encryption scheme. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656, pp. 255–271. Springer, Heidelberg (2003)
  15. Waters, B.: Efficient identity-based encryption without random oracles. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 114–127. Springer, Heidelberg (2005)
  16. Gentry, C.: Practical identity-based encryption without random oracles. In: Vaudenay, S. (ed.) EUROCRYPT 2006. LNCS, vol. 4004, pp. 445–464. Springer, Heidelberg (2006)
  17. Boneh, D., Gentry, C., Hamburg, M.: Space-efficient identity based encryption without pairings. In: FOCS, pp. 647–657 (2007)
  18. Gentry, C., Peikert, C., Vaikuntanathan, V.: Trapdoors for hard lattices and new cryptographic constructions. In: Proceedings of the 40th Annual ACM Symposium on Theory of Computing, pp. 197–206 (2008)
  19. Cash, D., Hofheinz, D., Kiltz, E., Peikert, C.: Bonsai trees, or how to delegate a lattice basis. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 523–552. Springer, Heidelberg (2010)
  20. Agrawal, S., Boneh, D., Boyen, X.: Efficient lattice (H)IBE in the standard model. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 553–572. Springer, Heidelberg (2010)
  21. Agrawal, S., Boneh, D., Boyen, X.: Lattice basis delegation in fixed dimension and shorter-ciphertext hierarchical IBE. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 98–115. Springer, Heidelberg (2010)
  22. Chatterjee, S., Sarkar, P.: Generalization of the selective-ID security model for HIBE protocols. In: Yung, M., Dodis, Y., Kiayias, A., Malkin, T.G. (eds.) PKC 2006. LNCS, vol. 3958, pp. 241–256. Springer, Heidelberg (2006)
  23. Bethencourt, J., Sahai, A., Waters, B.: Ciphertext-policy attribute-based encryption. In: Proceedings of the IEEE Symposium on Security and Privacy, pp. 321–334
  24. Cheung, L., Newport, C.: Provably secure ciphertext policy abe. In: ACM Conference on Computer and Communications Security, pp. 456–465 (2007) 566 A. Lewko and B. Waters 22. Chow, S., Dodis, Y., Rouselakis, Y.,Waters, B.: Practical leakage-resilient identitybased encryption from simple assumptions
  25. Goyal, V., Jain, A., Pandey, O., Sahai, A.: Bounded ciphertext policy attribute based encryption. In: Aceto, L., Damg˚ard, I., Goldberg, L.A., Halld.orsson, M.M., Ing.olfsd.ottir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp. 579–591. Springer, Heidelberg (2008)
  26. Ostrovksy, R., Sahai, A., Waters, B.: Attribute based encryption with nonmonotonic access structures. In: ACM Conference on Computer and Communications Security, pp. 195–203 (2007)
  27. Waters, B.: Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization. In: Catalano, D., Fazio, N., Gennaro, R., Nicolosi, A. (eds.) PKC 2011. LNCS, vol. 6571, pp. 53–70. Springer, Heidelberg (2011)
  28. 28,0 28,1 28,2 Okamoto, T., Takashima, K.: Fully secure functional encryption with general relations from the decisional linear assumption. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 191–208. Springer, Heidelberg (2010)
  29. Chase, M.: Multi-authority attribute based encryption. In: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 515–534. Springer, Heidelberg (2007)
  30. Chase, M., Chow, S.: Improving privacy and security in multi-authority attributebased encryption. In: ACM Conference on Computer and Communications Security, pp. 121–130 (2009)
  31. Katz, J., Sahai, A.,Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. In: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 146–162. Springer, Heidelberg (2008)
  32. Okamoto, T., Takashima, K.: Hierarchical predicate encryption for inner-products. In: Matsui, M. (ed.) ASIACRYPT 2009. LNCS, vol. 5912, pp. 214–231. Springer, Heidelberg (2009)
  33. Shi, E., Waters, B.: Delegating capabilities in predicate encryption systems. In: Aceto, L., Damg˚ard, I., Goldberg, L.A., Halld.orsson, M.M., Ing.olfsd.ottir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp. 560–578. Springer, Heidelberg (2008)
  34. Al-Riyami, S., Malone-Lee, J., Smart, N.: Escrow-free encryption supporting cryptographic workflow. Int. J. Inf. Sec. 5, 217–229 (2006)
  35. Bagga, W., Molva, R., Crosta, S.: Policy-based encryption schemes from bilinear pairings. In: ASIACCS, p. 368 (2006)
  36. Barbosa, M., Farshim, P.: Secure cryptographic workflow in the standard model. In: Barua, R., Lange, T. (eds.) INDOCRYPT 2006. LNCS, vol. 4329, pp. 379–393. Springer, Heidelberg (2006)
  37. Bradshaw, R., Holt, J., Seamons, K.: Concealing complex policies with hidden credentials. In: ACM Conference on Computer and Communications Security, pp. 146–157 (2004)
  38. Miklau, G., Suciu, D.: Controlling access to published data using cryptography. In: VLDB, pp. 898–909 (2003)
  39. Smart, N.: Access control using pairing based cryptography. In: Joye, M. (ed.) CT-RSA 2003. LNCS, vol. 2612, pp. 111–121. Springer, Heidelberg (2003)
  40. 40,0 40,1 Cocks, C.: An identity based encryption scheme based on quadratic residues. In: Honary, B. (ed.) Cryptography and Coding 2001. LNCS, vol. 2260, pp. 26–28. Springer, Heidelberg (2001)
  41. 41,0 41,1 41,2 41,3 Lewko, A., Rouselakis, Y., Waters, B.: Achieving leakage resilience through dual system encryption. In: Ishai, Y. (ed.) TCC 2011. LNCS, vol. 6597, pp. 70–88. Springer, Heidelberg (2011)
  42. Lewko, A., Waters, B.: Unbounded HIBE and attribute-based encryption. Cryptology ePrint Archive, Report 2011/049 (2011), http://eprint.iacr.org/
  43. Boneh, D., Goh, E., Nissim, K.: Evaluating 2-DNF formulas on ciphertexts. In: Kilian, J. (ed.) TCC 2005. LNCS, vol. 3378, pp. 325–341. Springer, Heidelberg (2005)