К вопросу о существовании доказуемо стойких систем облачных вычислений

УДК 519.711.3

H. П. Варновский1, В. А. Захаров2, А. В. Шокуров3

К ВОПРОСУ О СУЩЕСТВОВАНИИ ДОКАЗУЕМО СТОЙКИХ СИСТЕМ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ*

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

Ключевые слова: облачные вычисления, стойкость, пороговая криптосистема, гомоморфное шифрование.

I. Введение. Гомоморфное шифрование является одной из самых популярных в настоящее время тем исследований в математической криптографии. Вслед за основополагающей статьей К. Джентри [1] последовали многочисленные публикации, посвященные построению и анализу вполне гомоморфных систем шифрования. Авторы некоторых из них утверждают, что благодаря гомоморфным криптосистемам проблема защиты информации в облачных вычислениях может считаться решенной в принципе и остается только позаботиться об эффективности этих криптосистем (см., например, [2]). Такая точка зрения не только не обоснована, но и ошибочна.

Термин "облачные вычисления" имеет разные истолкования в зависимости от приложений. Например, если облако реализует модель обслуживания "базы данных как сервис", то эта модель подразумевает возможность обращения к базам данных с весьма произвольными запросами. В этом случае защита данных, хранящихся в базе, очевидно, невозможна (см. [3]). Но даже в том случае, когда модель обслуживания разрешает лишь вычисление функций от хранящихся на облаке конфиденциальных значений аргументов, защита данных, как это показано в работе [4], невозможна уже для системы с двумя пользователями.

В настоящей статье анализируется одна специальная модель облачных вычислений, в состав которой помимо облачного сервера входят криптосерверы. К каждому отдельному серверу нет доверия. Тем не менее, защита информации возможна, если справедливо предположение о существовании некоторого порога, ограничивающего число "нечестных" серверов. Именно это дополнительное предположение выводит нашу модель за рамки области применения отрицательного результата работы [4].

Система облачных вычислений над конфиденциальными данными в нашей модели может быть построена на основе пороговой гомоморфной криптосистемы с открытым ключом. В статье [5] была описана конструкция этой системы облачных вычислений; здесь мы исследуем ее стойкость. Основной результат таков: из существования стойкой пороговой гомоморфной криптосистемы с открытым ключом следует существование стойкой системы облачных вычислений в нашей модели.

Гомоморфные пороговые криптосистемы исследовались в работах [6, 7]. Ранее уже рассматривалась конструкция системы облачных вычислений на основе пороговой гомоморфной криптосистемы. Но в этой модели нет криптосерверов, и поэтому управление ключами возлагается на самих пользователей. Очевидно, что такой способ администрирования неприемлем для масштабных приложений.

2. Пороговая гомоморфная криптосистема. Пороговая криптосистема с открытым ключом состоит из следующих компонентов: - криптосерверы S\,..., Si, которые можно рассматривать как интерактивные полиномиальные

вероятностные машины Тьюринга. Серверы соединены между собой каналами связи, образующими полный граф на I вершинах;

1 Институт проблем информационной безопасности МГУ, ст. науч. сотр., e-mail: barnaba.npQgmail.com

2 Факультет ВМК МГУ, проф., д.ф.-м.н., e-mail: zakhQcs.msu.su

3 Институт системного программирования РАН, вед. науч. сотр., к.ф.-м.н., e-mail: shokQispras.ru

* Работа выполнена при финансовой поддержке РФФИ, проекты № 12-07-00206, № 12-01-00707.

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

- алгоритм шифрования Епс. Входами служат открытый ключ рк и открытый текст т, выходом — криптограмма с, с = Епс(рк,т). Формально, алгоритм Епс определяется как полиномиальная вероятностная машина Тьюринга. Процесс шифрования ничем не отличается от шифрования в обычной (непороговой) криптосистеме с открытым ключом;

- протокол расшифрования, выполняемый криптосерверами. Входами для каждого криптосерве-ра Si служат доля секретного ключа и криптограмма с. Протокол предназначен для нахождения открытого текста т, криптограммой которого является с.

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

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

Во втором сценарии получателем открытого текста является внешний участник, а функции криптосерверов полностью соответствуют их названию. Далее мы будем рассматривать пороговые криптосистемы с неинтерактивным протоколом расшифрования: сервер Si, получив криптограмму с, вычисляет некоторую информацию, обозначаемую через Dec(s¿, с), и посылает ее получателю открытого текста по защищенному каналу связи. Существует эффективный алгоритм, который, получив на вход с, Dec(s\, с),..., Dec(s¡, с), вычисляет открытый текст. В этом сценарии основное требование к криптосистеме формулируется так: существует такой порог t, t < I, что знание любых t долей секретного ключа не позволяет дешифровать криптограммы.

Определение стойкости пороговой криптосистемы дано сразу для гомоморфного варианта. Пороговая криптосистема с открытым ключом является пороговой не вполне гомоморфной криптосистемой (Threshold Somewhat Homomorphic Encryption, TSHE), если существуют эффективный алгоритм Eval и параметр d, такие, что для любой булевой схемы Т глубины не более de к входами, для любых тi,..., vrik G {0,1}, результат Eval(pk, с\,..., с^, /) — это криптограмма открытого текста Т(тi,..., m^). Здесь Cj = Enc(pk,m,j), / — битовая строка, описывающая схему Т. Формально алгоритм Eval определяется как полиномиальная вероятностная машина Тьюринга. Параметр d, вообще говоря, является функцией параметра стойкости п и других параметров TSHE.

Для определения стойкости TSHE необходима модель противника. Последний определяется как полиномиальная вероятностная машина Тьюринга Adv. Противнику доступна атака с известным открытым ключом рк и известными t долями секретного ключа. Все доли секретного ключа равноправны, и поэтому без ограничения общности далее мы будем считать, что это доли s\,... ,st.

Угроза различения открытых текстов по их криптограммам определяется следующим образом: противник выбирает пару открытых текстов т°, т1 одинаковой длины, получает криптограмму с = Епс(рк,тгде а {0,1}, и угадывает а с вероятностью, отделенной от 1/2. Поскольку гомоморфные криптосистемы работают с однобитовыми открытыми текстами, здесь предполагается, что строки т° и т1 шифруются побитово и с — конкатенация соответствующих криптограмм.

Для формализации угрозы машине Adv предоставляется доступ к оракулу О. Этот оракул, получив от Adv пару (т°, т1), выбирает случайный бит а, вычисляет криптограмму с = Епс(рк, та) и возвращает с в качестве ответа на запрос.

Определение!.. TSHE называется полиномиально стойкой, если для любой полиномиальной вероятностной машины Тьюринга Adv имеет место равенство

Pr{Adv°(pk, si,..., St) = с} — - = v{n),

где и(п) пренебрежимо малая функция, т. е. функция, удовлетворяющая соотношению и(п) = = о(1/Р(п)) для любого полинома Р, отличного от 0.

3. Модель системы облачных вычислений. Рассматриваемая модель облачных вычислений включает следующие компоненты.

Участники: облачный сервер, пользователи U\,..., Щ, клиенты С\,   , Сг, серверы S\,..., S¡. Сеть связи. Каждый из пользователей, а также каждый из клиентов имеет канал связи с облаком. Каналы связи между криптосерверами образуют полный граф на I вершинах. Кроме того, у каждого криптосервера есть канал связи с облаком.

Данные. У каждого пользователя Щ, % — 1 ^... ^ k ^ имеются конфиденциальные данные m¿, которые должны храниться и обрабатываться на облаке. Для размещения данных на облаке пользователи применяют протокол POST.

Вычисления. Имеется множество функций F = {j\,..., /jv}, которые определяют все возможные вычисления над данными mi,... Вычисление функций осуществляется алгоритмом С а 1с. Всякий клиент Cj, j = 1,..., г, может передать облаку запрос на вычисление. Запрос состоит из идентификатора клиента Cj, его открытого ключа pj некоторой криптосистемы с открытым ключом (например, системы Эль-Гамаля) и функции /, / € F. Контроль доступа. Облако передает запрос клиента в центр аутентификации, который проверяет полномочия клиента Cj на вычисление функции / и, при наличии таковых, санкционирует выполнение запроса.

Параметр стойкости: натуральное число п. Каждый из основных параметров модели, таких, как длины криптографических ключей, ограничен полиномом от п.

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

1. Пользователи не доверяют облаку. Однако последнее может быть лишь пассивным противником. Это означает, что все функции по хранению и обработке конфиденциальных данных выполняются корректно, но все полученные облаком сведения могут использоваться противником для извлечения информации о значениях m¿.

2. Криптосерверы связаны друг с другом защищенными каналами связи. Память каждого криптосервера также защищена.

3. Существует натуральное число t, t < I, называемое порогом, такое, что в модели имеется не более t "нечестных" серверов. Сервер считается честным, если он правильно выполняет свои функции и не допускает никакой утечки информации.

4. Определение стойкости системы облачных вычислений. Без ограничения общности будем предполагать, что в системе облачных вычислений имеется единственный клиент. Пусть р — открытый ключ некоторой криптосистемы с открытым ключом (РКС). Функцию шифрования этой криптосистемы будем обозначать через Е. Будем предполагать, что данная криптосистема удовлетворяет стандартному определению полиномиальной стойкости (оно дословно повторяет приведенное выше определение, если опустить доли секретного ключа).

Противником для системы облачных вычислений служит полиномиальная вероятностная машина Тьюринга А. Доступная противнику атака включает:

- известные открытые ключи рк и р;

- известные криптограммы с\,...

- известные значения функций /(mi,..., m^) из множества FQ, FQ С F;

- известные доли «i,..., st секретного ключа;

- транскрипцию протокола расшифрования;

- совокупность данных Ми = : É7¿ € U} некоторого множества пользователей U С С {иъ...,ик}.

Без ограничения общности стойкость системы облачных вычислений достаточно оценить для случая U = 0. Противник также имеет доступ к специальному оракулу S. Запросом к нему служит

любая криптограмма с. Ответ на запрос представляет собой набор криптограмм Е(р, Dec(si, с)),... ... ,E(p,Dec(st,c)).

Угроза состоит в различении системы облачных вычислений и идеальной функциональности, которая определяется как модель, в которой противнику доступны только открытый ключ рк и значение /(mi,..., тк) для любой / € Fq.

Определение 2. Система облачных вычислений называется стойкой, если для любой полиномиальной вероятностной машины Тьюринга А существует полиномиальная вероятностная (моделирующая) машина Тьюринга В, такая, что для любого множества функций Fq и любого набора mi,..., тк имеет место равенство

|Pr{As(pk,p, Fq, «i,..., 8t, Ci,..., Cfc) = 1} - Pr{BF°(pk) = 1}| = u{n).

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

5. Основной результат. Далее под TSHE понимается пороговая не вполне гомоморфная криптосистема с неинтерактивным протоколом расшифрования, обладающая следующим свойством. Пусть (si,...,st) и рк — соответственно доли секретного ключа, доступные противнику, и открытый ключ, которые могут быть сгенерированы протоколом генерации ключей. Тогда Pr((si,..., st)\pk) одинакова для всех (si,... ,st). Данное требование позволяет исключить из всех последующих формулировок упоминание о долях секретного ключа TSHE, доступных противнику. Одна из криптосистем TSHE такого рода описана в статье [6]. Под системой облачных вычислений понимается система для вычисления функций, задаваемых схемами глубины не более d.

Теорема. Если существует полиномиально стойкая TSHE, то существует стойкая система облачных вычислений.

Доказательство. Из условия теоремы следует существование полиномиально стойкой криптосистемы РКС. Пусть задана TSHE(Gen, Ene, Dec, Eval). Система облачных вычислений строится следующим образом:

- на этапе инициализации криптосерверы выполняют протокол Gen и создают доли секретного ключа si,... ,s¡. Также этот протокол вычисляет и публикует открытый ключ рк;

- протокол POST для пользователя Í7¿ состоит в вычислении c¿ = Enc(pk,m,i) и размещении криптограммы c¿ на облаке;

- алгоритм Cale получает на вход открытые ключи р и рк, набор криптограмм с\,...,ск и описание схемы /. Используя алгоритм Eval системы TSHE, алгоритм Cale вычисляет криптограмму с = Епс(рк, Е(р, /(ть ..., тк)))\

- протокол Dec таков: каждый криптосервер Si на входе Si,p,c вычисляет криптограмму Е(р, Dec(si, с)) и посылает ее клиенту;

- алгоритм клиента получает на входе строки с, Е(р, Dec(si, с)),..., Е(р, Dec(s¡, с)) и секретный ключ, соответствующий открытому ключу р. Сначала клиент извлекает из криптограмм значения Dec{s\, с),..., Dec(s¡, с). Затем снимает внешнее шифрование в криптограмме с и, еще раз применив свой секретный ключ, извлекает значение /(mi,..., тк).

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

выполняется для бесконечно многих п. Здесь е(п) — функция, не являющаяся пренебрежимо малой, т.е. удовлетворяющая неравенству е(п) ^ 1 /Р(п) для некоторого полинома Р. Без ограничения общности будем считать, что для бесконечно многих п выполняется неравенство

Pr {As(pk,p, Fq,Ci,..., ск) = 1} - Pr {BF°(pk) = 1} > е(п).

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

8f(n) = Pr{As(pk,p, F0, ci, ..., cfc) = 1}.

Во втором варианте вместо S действует оракул S', который на все запросы отвечает строкой Е(р,0а),...,Е(р,0а), где а = \Dec(suc)\. Пусть

ö£(n) = Pt{As' (pk,p,FQ,Cl,...,ck) = 1}.

Следующее утверждение позволяет исключить из модели оракул S.

Лемма. Для любой полиномиальной вероятностной машины Тьюринга А выполняется соотношение öf(n) — 62 (п) = v(n).

Доказательство. Допустим, что существует полиномиальная вероятностная машина Тьюринга А, такая, что Sf(n) — 8if(n) > j(n) для бесконечно многих п, где у(п) ^ 1/Q(n) для некоторого фиксированного полинома Q. Покажем, что из этого следует нестойкость криптосистемы РКС. Для этого построим полиномиальную вероятностную машину Тьюринга AdvE — противника для криптосистемы РКС. На входе р машина AdvE создает систему облачных вычислений. Очевидно, что все алгоритмы и протоколы эмулируются на одной машине Тьюринга за полиномиальное время. Далее AdvE вызывает машину А на входе pk,p, Fq, с\, ..., Когда машина А обращается к оракулу с запросом с, противник AdvE формирует пару ((Dec(si, с),..., Dec(si, с)), 0), где 0 — строка нулей той же длины, что и первый элемент пары, и передает эту пару в качестве запроса оракулу О. Последний возвращает криптограмму с'. Машина Advs просто передает эту криптограмму машине А. Выходом машины AdvE служит выход машины А.

Если с' — криптограмма первого элемента пары, то все параметры и распределения вероятностей соответствуют случаю работы машины А с оракулом S. Поэтому Pr{Adv(p) = 1} = S'i(n). Если же с' — криптограмма строки 0, то все параметры распределения вероятностей соответствуют случаю работы машины А с оракулом S'. Значит, Pi{Adv%(p) = 1} = <5^(п). Но тогда предполагаемое неравенство öf(n) — > j(n) противоречит требованию полиномиальной стойкости криптосистемы РКС, используемой в нашей модели облачных вычислений. Лемма доказана.

Доказательство теоремы требует построения противника Adv для TSHE.

На входе рк машина Adv выполняет алгоритм генерации ключей криптосистемы РКС, создавая открытый ключ р. Далее эта машина вычисляет значения /(тщ,..., т^) для всех / € FQ и формирует пару (т°, т1), где т1 = (тi,..., т^), т° = О", /3 = |т \. Заметим, что набор mi,... ,mfc и множество F0 фиксированы и не зависят от параметра стойкости п. Эту пару {тР,/т1) машина Adv передает оракулу О и получает в ответ криптограмму с. Затем машина Adv вызывает машину А на входе рк,р, fq, с. Выходом машины Adv служит выход машины А.

Пусть <7i (п) — это вероятность совместного осуществления следующих двух событий: 1) Adv°(pk) = 1 и 2) оракул О выбрал открытый текст т1, а ао(п) — это вероятность совместного осуществления двух других событий: 1) Adv°(pk) = 0 и 2) оракул О выбрал открытый текст т°.

Оценим величину сго(п) +<7i(n). Из определения величин <7i(n), оо(п), а также из приведенного описания противника Adv следует, что эта сумма равна величине

1/2 + l/2(Pr{As' (рк,р, Fq, Епс(рк, т1)) = 1} - Pr{As' (рк,р, Fa, Епс(рк,т°)) = 1}).

Согласно лемме верно, что

\Pr{As' (рк,р, F^Encipk.m1)) = 1} - Pr{As(pk,p, F0, Епс(рк, т1)) = 1}| = v{n).

Нетрудно заметить, что существует такая полиномиальная машина Тьюринга В, для которой верно равенство

Pr{As' (рк,р, FQ, Епс(рк,т°)) = 1} = Pr{BF°(pk) = 1}.

И, наконец, из предположения о нестойкости системы облачных вычислений, сделанного в начале доказательства, следует, что

pt{As{pk,p,fq,Enc{pk,m1)) = 1} - Pr{BF° (рк) = 1} ^ е(п).

Таким образом, приходим к выводу о том, что oq(v) + <7i(n) ^ 1/2 + е(п)/2. Из полученного неравенства следует, что разность oq(h) — <7i(n) не является пренебрежимо малой величиной, что противоречит определению стойкости TSHE.

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

Альтернативный вариант — использование вполне гомоморфных криптосистем. В этом случае от клиента не требуются никакие дополнительные действия, но облако должно регулярно выполнять весьма дорогостоящий алгоритм перешифрования (bootstrapping). Априори не ясно, всегда ли второй подход предпочтительней первого.

Наличие сети криптосерверов в нашей модели позволяет решить проблему весьма эффективно. Пусть с — криптограмма бита b с "длинным шумом". Облако передает эту криптограмму серверам, которые выполняют протокол перешифрования. На входе (с, s¿) сервер Si выбирает случайный бит <7j, вычисляет его криптограмму c¿ = Епс(рк, cr¿). Далее гомоморфно вычисляется криптограм-I

ма с' бита а = ф^. Затем гомоморфно вычисляется криптограмма с" бита b Ф а. На следующем

г= 1

шаге серверы выполняют протокол расшифрования криптограммы с" и получают в открытом виде бит Ьфа. Этот бит вновь шифруется и еще раз гомоморфно складывается с битом а. В результате будет получена криптограмма бита b с "коротким шумом".

7. Заключение. Современное состояние исследований в области обеспечения безопасности облачных вычислений оставляет множество нерешенных вопросов и направлений для дальнейших исследований. Отметим лишь некоторые.

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

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

В данной работе рассматривалась стойкость системы облачных вычислений в присутствии только пассивного противника. Случай активного противника представляется значительно более сложным и до сих пор практически не исследованным.

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

СПИСОК ЛИТЕРАТУРЫ

1. Gentry С. Fully homomorphie encryption using ideal lattices // Proc. of the 41-st ACM Symp. on Theory of Computing. New York: ACM, 2009. P. 169-178.

2. Tebaa A., El Hajii S. Secure cloud computing through homomorphie encryption // Cornell University Library. 2014. URL: http://arxiv.org/abs/1409.0829.

3. Варновский H.П., Шокуров A.B. Гомоморфное шифрование // Труды Института системного программирования. 2007. 12. С. 27-36.

4. Van Dijk M., Juels A. On the impossibility of cryptography alone for privacy-preserving cloud computing // Proc. of the 5-th USENIX Conf. on Hot Topics in Security. Berkeley: USENIX Association, 2010. P. 1-8.

5. Варновский H.П., Мартишин С. А. Храпченко М.В., Шокуров A.B. Пороговые системы гомоморфного шифрования и защита информации в облачных вычислениях // Программирование. 2015. № 4. С. 47-51.

6. Asharov G., Jain A., Lopez-Alt A., Tromer E., Vaikuntanathan V., Wichs D. Multiparty computation with low communication, computation and interaction via threshold fhe // Proc. of the 5-th USENIX Conf. on Hot Topics in Security. Lecture Notes in Computer Science. Vol. 7237. Berlin: Springer, 2012. P. 483-501.

7. Myers S., Sergi M., Shelat A. Threshold fully homomorphic encryption and secure computation// Cryptology ePrint Archive. Report 2011/454. 2011. URL: https://eprint.iacr.org/2011/454.

Поступила в редакцию 07.09.15

ВЕСТН. МОСК. УН-ТА. СЕР. 15. ВЫЧИСЛ. МАТЕМ. И КИБЕРН. 2016. № 2

ON THE EXISTENCE OF PROVABLY SECURE CLOUD COMPUTING SYSTEMS Varnovsky N. P., Zakharov V. A., Shokurov A. V.

We study a formal model of cloud computing systems supplied with auxiliary cryptoservers. Assuming an existence of a secure threshold somewhat homomorphie open key cryptosystem we show how to build a secure cloud computing system in the framework of this model.

Keywords: cloud computing, security, threshold cryptosystem, homomorphie encryption.