9. Данильченко А.Ф. Параметрически замкнутые классы функций трехзначной логики // Известия АН МССР. 1978. 2. С. 13-20.
10. Danil'cenko A. F. On parametrical expressibility of the functions of k-valued logic // Colloq. Math. Soc. J. Bolyai. 1981. 28. P. 147-159.
11. Barris S., Willard R. Finitely many primitive positive clones // Proc. Amer. Math. Soc. 1987. 101. N 3. P. 427-430.
12. Марченко в С. С. Задание позитивно замкнутых классов посредством полугрупп эндоморфизмов // Дискретная математика. 2012. 24. № 4. С. 19-26.
13. Марченков С. С. Операторы замыкания логико-функционального типа. М.: МАКС Пресс, 2012.
14. Марченков С. С. Позитивно замкнутые классы трехзначной логики // Дискретный анализ и исследование операций. 2014. 21. № 1. С. 67-83.
Поступила в редакцию 02.09.16
УДК 519.711.3
H. П. Варновский1, В. А. Захаров2, А. В. Шокуров3
О ДЕДУКТИВНОЙ БЕЗОПАСНОСТИ ЗАПРОСОВ К БАЗАМ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ В СИСТЕМЕ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ*
Рассматриваются простейшие математические модели баз конфиденциальных данных в системах облачных вычислений. Для этих моделей предложено понятие дедуктивной безопасности запросов к базам данных. Установлены необходимые и достаточные условия дедуктивной безопасности и описаны некоторые классы запросов, удовлетворяющие этим условиям.
Ключевые слова: облачные вычисления, гомоморфная криптосистема, база данных, дедуктивная безопасность, симметрическая функция.
I. Введение. Открытие стойкого вполне гомоморфного шифрования [1] создало теоретические предпосылки решения задачи обеспечения информационной безопасности систем удаленных вычислений, включая системы облачных вычислений. За последние годы было предложено несколько подходов к построению гомоморфных криптосистем [2-4], проводятся исследования практических способов их реализации [5, 6], рассматриваются возможности применения гомоморфного шифрования для информационной защиты облачных вычислений [7] и баз данных [8, 9]. Но, как показано в работе [10], впечатление, что благодаря гомоморфным криптосистемам проблема защиты информации в облачных вычислениях может считаться решенной в принципе, неверно: даже в том случае, когда проводится лишь вычисление функций от хранящихся на облаке конфиденциальных значений аргументов, защита данных невозможна уже для системы с двумя пользователями. Чтобы избежать этого ограничения, в статье [11] была предложена специальная модель облачных вычислений, в состав которой помимо облачного сервера входят криптосерверы, на которых реализуется пороговая не вполне гомоморфная криптосистема с открытым ключом (Threshold Somewhat Homomorphic Encryption, TSHE). В статье [12] показано, что если TSHE является стойкой, и доля криптосерверов, контролируемых противником, не превосходит некоторого заданного порога, то предложенная система облачных вычислений является стойкой для вычислений ограниченной глубины.
Доказанная в [12] стойкость облачных вычислений не отменяет, тем не менее, возможности противника компрометировать конфиденциальные данные пользователей. Например, располагая
1 Институт проблем информационной безопасности МГУ, ст. науч. сотр., e-mail: barnaba.npQgmail.com
2 Факультет ВМК МГУ, проф., д.ф.-м.н., e-mail: zakhQcs.msu.su
3 Институт системного программирования РАН, вед. науч. сотр., к.ф.-м.н., e-mail: shokQispras.ru
* Работа выполнена при финансовой поддержке РФФИ, проект № 16-01-00714.
вычисленными значениями функций, зависящих от данных пользователя, противник может попытаться решить обратную задачу и определить значения аргументов этих функций. Для предотвращения этой возможности в системе облачных вычислений [11, 12] предусмотрен контроль доступа: облако передает запрос клиента в центр аутентификации, который проверяет полномочия клиента на вычисление запрашиваемой функции и, при наличии таковых, санкционирует выполнение запроса. Однако вопрос о том, какие запросы клиента считать допустимыми, оставался открытым. Данная статья инициирует исследование этого вопроса.
Вначале коротко описывается предложенная в статье [11] модель системы облачных вычислений с криптосерверами и объясняется, почему она нуждается в дополнительных мерах администрирования для защиты конфиденциальных данных пользователей. Далее рассматривается простейшая модель базы данных, формулируется требование дедуктивной безопасности запросов к этой базе данных, устанавливаются и обосновываются критерии дедуктивной безопасности запросов, приводится пример одного класса дедуктивно безопасных запросов к базе данных в рассматриваемой модели. В заключение показано, каким образом можно распространить полученные результаты на более сложные модели баз данных.
2. Модель системы облачных вычислений. В статьях [И, 12] была разработана и исследована модель облачных вычислений, состоящая из следующих компонентов.
Участники. К их числу относятся облачный сервер, пользователи Ui,..., Uk, хранящие свои данные на облаке, клиенты С\,..., Сг, проводящие вычисления с этими данными, и криптосерверы Si,...,S¿.
Сеть связи. У каждого пользователя и клиента системы имеется канал связи с облачным сервером. Все криптосерверы связаны друг с другом. Кроме того, у каждого криптосервера есть канал связи с облачным сервером.
Данные. У каждого пользователя Щ, % — 1)...) к) имеются конфиденциальные данные m¿, которые хранятся в зашифрованном виде на облаке. Для размещения данных на облаке пользователи применяют специальный протокол.
Вычисляемые функции. Имеется некоторое множество функций F = {j\,..., /jv}, которые разрешается вычислять над данными тi,... , ж*;. Вычисление функций осуществляется алгоритмом Cale. Всякий клиент Cj, j = 1,...,г, может передать облаку запрос на вычисление. В этом запросе указываются идентификатор клиента Cj, его открытый ключ p,¡ некоторой криптосистемы с открытым ключом и описание функции / из множества F, которую хочет вычислить клиент.
Контроль доступа. Запрос клиента Cj поступает в центр аутентификации, который проверяет полномочия этого клиента на вычисление запрашиваемой функции / и, при наличии таковых, санкционирует выполнение запроса.
Особая роль отводится криптосерверам Si,...,S¡, которые реализуют криптосистему TSHE, состоящую из следующих алгоритмов.
Распределенный протокол генерации ключей KeyGen. Получив на входе параметр стойкости, каждый сервер Si генерирует свою долю s¿ секретного ключа. Далее серверы совместно генерируют и публикуют открытый ключ рк.
Алгоритм шифрования Епс. Входами служат открытый ключ рк и открытый текст т, выходом — криптограмма с = Епс(рк,т). Процесс шифрования ничем не отличается от шифрования в обычной (непороговой) криптосистеме с открытым ключом.
Распределенный протокол расшифрования Dec. Входами для каждого криптосервера Si служат соответствующая доля секретного ключа и криптограмма с. Сервер Si, получив криптограмму с, вычисляет некоторую информацию, обозначаемую через Dec(s¿,c), и посылает ее получателю открытого текста по защищенному каналу связи. Получатель располагает эффективным алгоритмом, который по полученным от криптосерверов данным с, Dec(si, с),..., Dec(s¿, с) вычисляет открытый текст т, соответствующий криптограмме с.
Алгоритм Eval вычисления булевых схем глубины d. Для любой булевой схемы Тек входами, которая имеет глубину не более d и описывается битовой строкой /, и для любых криптограмм ci,..., с/; входных данных т i,..., т^ € {0,1}, таких, что c:j = Ene (рк, rrij), j = 1,..., к, результат Eval (рк, ci,..., Cfc, /) — это криптограмма открытого текста Т(т\,..., т^) на открытом ключе рк.
Если служба контроля доступа санкционирует выполнение запроса (Cj,p, /), то система облачных вычислений далее функционирует следующим образом:
— на этапе инициализации криптосерверы, выполняя распределенный протокол генерации ключей KeyGen, создают доли секретного ключа s\,... ,s¡, а также вычисляют и публикуют открытый ключ рк;
— каждый пользователь Í7¿, i = 1,..., к вычисляет криптограмму c¿ = Ene (рк, mi) своих данных и размещает ее на облаке;
— алгоритм Cale, получив на входе открытые ключи р и рк, набор криптограмм с\,..., и описание схемы /, использует алгоритм Eval системы TSHE для вычисления криптограммы с= Епс(рк, Е(р, ¡(ni!,... ,тк)));
— каждый криптосервер <S¿, получив на входе открытый ключ р и криптограмму с, вычисляет, используя распределенный алгоритм расшифрования, криптограмму Е(р, Dec(s¿, с)) и посылает ее клиенту;
— алгоритм клиента получает на входе строки с, Е(р, Dec(si, с)),..., Е(р, Dec(s¡, с)) и секретный ключ, соответствующий открытому ключу р. Вначале клиент извлекает из криптограмм значения Dec(si, с),..., Dec(s¿, с), затем снимает внешнее шифрование в криптограмме с и после этого, еще раз применив свой секретный ключ, извлекает значение Т(т\,... ,т)~)-
В статье [12] было сформулировано требование стойкости системы облачных вычислений и доказано, что описанная выше система облачных вычислений является стойкой при следующих предположениях:
1) облачный сервер может контролироваться лишь пассивным противником, который выполняет корректно все функции по хранению и обработке конфиденциальных данных;
2) используемая TSHE имеет порог t и является стойкой;
3) в системе облачных вычислений имеется не более t "нечестных" криптосерверов. Сформулированное в [12] требование криптографической стойкости подразумевает, что пассивный противник, контролирующий клиентов системы, облачный сервер и не более t криптосерверов, способен получить лишь такую информацию о конфиденциальных данных пользователей, которую можно извлечь из значений функций, вычисляемых по запросам клиентов. Но легко видеть, что некоторые запросы клиентов позволяют скомпрометировать конфиденциальные данные пользователей в обход описанных выше средств криптографической защиты. Например, вычислив значение тождественной функции, зависящей только от данных m¿, противник может узнать данные пользователя Поэтому аутентификация запросов на вычисления, выдаваемых клиентами, которая осуществляется посредством выбора множества F, представляет собой важный этап функционирования системы облачных вычислений. В данной статье мы исследуем вопрос о том, какие множества функций F можно считать допустимыми для вычислений с точки зрения сохранения конфиденциальности данных пользователей.
3. Дедуктивная безопасность запросов: однобитовые базы данных. Описанную выше систему облачных вычислений можно использовать для работы с базами конфиденциальных данных. В простейшем случае каждый пользователь Ui, 1 ^ г ^ к, хранит в базе данных строку из одного бита — конфиденциальное истинностное значение m¿ некоторого базового предиката /'. ассоциированного с этим пользователем. Такие базы данных будем называть однобитовыми. Предикат /'. например, может представлять собой некоторый анкетный вопрос, а его истинностное значение m¿ — это ответ пользователя Í7¿ на данный вопрос. Этот ответ является конфиденциальной информацией. Клиент Cj, j = 1,... ,г, может обращаться к базе данных с запросами. Запросом является произвольная булева формула ср(Р\,..., зависящая от предикатов пользователей. Ответом на запрос является истинностное значение этой формулы (р(т\,..., т^). Клиент базы данных имеет полномочие обращаться с запросами из некоторого множества Q = {<pi,... ,<Pn}-Сформулируем требование безопасности для множества запросов.
Для всякой формулы (р и бита d обозначим через (pd формулу ^ср, если d = 0, и (р, если d = 1. Для набора формул Q = (срi,..., (рм) и двоичного набора А = (di,..., djv) записью Qa обозначим набор формул ((pf1, ■ ■ ■, )• Для набора формул Q, зависящих от предикатов ...../'/,•
и набора S = (mi,... ) истинностных значений этих предикатов обозначим через Q(S) набор
(^(Е),..., дг(Е)) истинностных значений указанных формул. Символами 0 и 1 обозначим двоичные наборы, состоящие из одних нулей и одних единиц соответственно. Символом |= обозначается отношение логического следования в классической логике высказываний.
Определение 1. Множество запросов О, = {<£>!,..., ср^} к однобитовой базе данных, состоящей из значений базовых предикатов ...../'/,.- называется дедуктивно безопасным, если для любого набора I! = (т\,..., т^) истинностных значений этих предикатов соотношение (2~;>;) |= /'/"• не выполняется ни для одного предиката /'. 1 ^ г ^ к.
Приведенное определение дедуктивной безопасности множества запросов <2 подразумевает, что клиент базы данных, получив ответы на все доступные ему запросы, не может дедуктивно выведать (получить в виде логического следствия) истинностного значения предиката ни одного пользователя базы данных. Таким образом, контроль полномочий клиента состоит в проверке дедуктивной безопасности множества запросов, с которыми клиент вправе обращаться к базе данных.
Теорема 1. Набор запросов <2 = {(р1,..., ср^} является дедуктивно безопасным тогда и только тогда, когда для любого базового предиката 1 ^ г ^ к, и для любого набора Е' значений базовых предикатов существует такой набор Е" значений этих предикатов, для которого выполняются соотношения РДЕ') ф РДЕ") и б(Е') = <2(Е").
Доказательство. Рассмотрим произвольный набор Е' = (т^,..., т'к) истинностных значений базовых предикатов и произвольный предикат /'. Пусть б(Е') = (с1\,..., йн). Применительно к набору Е' и предикату / ', свойство дедуктивной безопасности множества запросов <2 равносильно требованию того, чтобы формула
Ф(Рь ... ,Рк) = А ^ А ... А <р*? !>1"'
не была тождественно истинной. Поскольку Ф^^,..., т'к) = 1, последнее возможно тогда и только тогда, когда существует такой набор Е" = (т",... ,тк) значений базовых предикатов, для которого т\ ф т" и при этом ¡^(Е") = (Ц для каждого запроса из множества Я. Теорема доказана.
Из теоремы 1 следует, что вычислительная сложность задачи проверки дедуктивной безопасности произвольного множества запросов <2 к базам данных сравнительно велика.
Теорема 2. Задача проверки дедуктивной безопасности наборов запросов к базам данных является И^-полной.
Доказательство. Непосредственно из формулировки критерия дедуктивной безопасности, представленного в теореме 1, следует, что указанная задача принадлежит сложностному классу Пд полиномиальной иерархии.
Чтобы доказать П^-трудность задачи проверки дедуктивной безопасности, заметим, что согласно теореме 1 эта задача полиномиально взаимносводима к следующей задаче булевой алгебры: для двух произвольных заданных наборов булевых формул ф[(х'1,... ,х'к),..., ф'К(х'1,..., х'к) и ф"(х",... ,хк),..., ф'^(х",..., хк), зависящих от двух непересекающихся множеств переменных X' = к,... ,х'к} и X" — {х'{,... ,хк}, выяснить, верно ли, что для любого набора Е' значений переменных множества X' существует такой набор Е" значений переменных множества X", для которого равенство ф[(Е') = ф"(Е") выполняется для всех пар формул ф", 1 ^ I ^ N.
Покажем, что к последней задаче полиномиально сводима П^-полная задача проверки выполнимости квантифицированных булевых формул вида
X | • 1 > Xщ Зж X * * * 1% ^ ^Х | ^ • > > ^ Xщ ^ X | ^ 1 > • ^ хл ^ • ^ 1 ^
Без ограничения общности можно считать, что бескванторная часть этой формулы представлена
м
в конъюнктивной нормальной форме Ф = \/ Г), . Каждому дизъюнкту
1=1
Дг = х\1 V • • • V х\г V х"г V • • • V
сопоставим две пары формул /ц = х\г V • • • V х\г, дц = щ и /2| = 1, д2е = Щ V х"г V • • • V . Нетрудно видеть, что формула (1) выполнима тогда и только тогда, когда для любого набора Е' значений переменных х[,..., х'т существует такой набор Е" значений переменных ж",..., ж", и\,..., им, что равенства /ц(Е') = дц(Е") и /2|(Е') = д2е(Е") верны для всех £ = 1,..., М. Теорема доказана.
4. Примеры дедуктивно безопасных запросов к базам данных. Поскольку задача проверки дедуктивной безопасности запросов к базам данных является вычислительно трудной,
целесообразно выделить некоторые практически значимые классы запросов, для которых эта задача может быть решена эффективно. Булева функция /(у ..., называется симметрической, если для любой перестановки в : [1 ,к] ^ [1 ,к] верно равенство /(у\,... ,ук) = /(Уе(1); • • •;Ув{к))'ч иными словами, значение симметрической функции определяется только количеством единиц в наборе значений аргументов. В сущности, симметрические запросы призваны собирать лишь статистические сведения о данных пользователей. Дедуктивная безопасность таких запросов означает, что статистические сведения, собранные клиентом базы данных, не позволяют ему получить сведения о данных какого-либо пользователя этой базы.
Теорема 3. Пусть 6 — некоторое множество симметрических запросов к базе данных. Тогда 6 является дедуктивно безопасным в том и только том случае, когда существует такая пара наборов Хо и £¡1 истинностных значений базовых предикатов, для которых выполняются соотношения Х!о 1, 6(£о) = 6(0) и 6(21) = 6(1).
Доказательство. Поскольку множество запросов <2 симметрично, для любого набора И' истинностных значений базовых предикатов, отличного от наборов 0 и 1, и для любого базового предиката /'. набор 2", обеспечивающий выполнимость критерия дедуктивной безопасности, сформулированного в теореме 1, получается за счет подходящей перестановки элементов набора I!'. Если I!' — это один из наборов 0 и 1, то для построения набора Т," нужно провести перестановку элементов соответственно в наборах Х!о и £¡1, указанных в условии теоремы. Теорема доказана.
Нетрудно видеть, что для любого множества симметрических запросов к базе данных выполнимость предложенного в теореме 3 критерия дедуктивной безопасности можно проверить за полиномиальное время. В частности, дедуктивно безопасно всякое множество симметрических запросов <2, удовлетворяющее равенству 6(0) = 6(1).
Помимо простоты проверки требования дедуктивной безопасности симметрические запросы обладают еще одним полезным свойством, которое облегчает их обработку в системах облачных вычислений, построенных на основе известных в настоящее время вполне гомоморфных криптосистем. Такие системы способны вычислять лишь булевы схемы ограниченной глубины. При вычислении более сложных схем происходит деградация зашифрованных данных, и для ее предотвращения нужно регулярно выполнять весьма дорогостоящий алгоритм перешифрования. Известно, что наименьшая глубина схем для почти всех булевых функций пропорциональна числу переменных, от которых зависят функции. Однако симметрические булевы функции принадлежат классу НС1, т.е. их можно реализовать схемами логарифмической глубины.
5. Дедуктивная безопасность запросов: многобитовые базы данных. В общем случае данные пользователя не ограничиваются одним битом, а представляются более сложными структурами данных (списками, таблицами и др.). Однако при построении математической модели можно полагать, что данные каждого пользователя II\ задаются набором (строкой) т^ = (тц,..., т^,) истинностных значений базовых предикатов /•'•[!]. • • • • /*'/["]• Порядковый номер ] предиката /'•[//'] в этом списке будем называть уровнем предиката. Запрос клиента многобитовой базы данных — это произвольная булева формула ..., Р)~[п}), зависящая от базовых предикатов пользова-
телей. Ответом на запрос является истинностное значение этой формулы ^(гпц,..., т^).
Определение2. Множество запросов О, = {¡^1,..., ср^} к многобитовой базе данных, состоящей из наборов значений базовых предикатов {РгЩ •. 1 ^ г ^ к, 1 ^ ^ п}, называется дедуктивно безопасным, если для любого набора I! = (ш1,..., т^) истинностных значений этих предикатов, для любой булевой формулы ..., Хп) и для любого пользователя II\ справедливо соотношение
д(2(Е) ^ _ ? р.[п]) ^ ^ ф(Рг[1], ..., Рг[п)).
В силу определения клиент многобитовой базы данных, воспользовавшись безопасным множеством запросов, не может дедуктивно выведать, исходя из ответов на эти запросы, никаких высказываний о данных каждого отдельного пользователя, кроме тавтологий. Для некоторых классов запросов к многобитовым базам данных необходимое и достаточное условие дедуктивной безопасности может быть получено на основании теоремы 1. Назовем 1-однородным всякий запрос к многобитовым базам данных, который зависит от базовых предикатов одного и того же уровня £, т. е. задается булевой формулой вида ..., РьЩ)-
п
Теорема 4. Пусть Q = |J О/. причем каждое подмножество Q,-. 1 ^ £ ^ п, состо-
1=1
um только из I-однородных запросов. Тогда множество запросов Q является дедуктивно безопасным в том и только том случае, когда каждое подмножество запросов Qe удовлетворяет условиям, сформулированным в теореме 1, т. е. для любого предиката /'[fj. 1 ^ г ^ к, и для любого набора S' истинностных значений базовых предикатов уровня i существует такой набор S" значений этих предикатов, для которого выполняются соотношения Pi[£]ÇE') ф Pi[£]ÇE") и Qi(S') = Qi(S").
Доказательство теоремы аналогично доказательству теоремы 1. Из теоремы 4 следует, что в качестве дедуктивно безопасных множеств запросов к многобитовым базам данных можно использовать 1-однородные симметрические запросы, удовлетворяющие условиям теоремы 3. Такие запросы позволяют вычислять некоторую статистическую информацию (например, сумму, медиану, среднеквадратическое отклонение и др.) о количественных данных, содержащихся в базе, но не раскрывают никакой специальной информации (например, имен), относящейся к отдельным пользователям базы данных.
В данной статье мы оставляем открытым вопрос о более общих критериях дедуктивной безопасности запросов к многобитовым базам данных.
6. Заключение. Один из важных аспектов безопасности облачных вычислений связан с проверкой полномочий клиента на вычисление запрашиваемых функций. Вопросы такого рода изучались ранее (см., например, [13]), и для их решения был предложен метод управления доступом на основе ролей (role-based access control) [14]. Суть его состоит в том, что контролирующая программа (монитор) проверяет в процессе вычисления соответствие действий клиента той роли (полномочиям), которая ему назначена. Однако для системы облачных вычислений, работающей с зашифрованными данными, такой мониторинг осуществить затруднительно или иногда просто невозможно. Поэтому при использовании гомоморфных криптосистем для информационной защиты облачных баз данных целесообразно уметь заранее оценивать последствия выполнения того или иного запроса с точки зрения сохранения безопасности данных пользователей.
В данной статье рассмотрена простейшая модель облачной базы данных и лишь некоторые требования дедуктивной безопасности запросов к базам данных. Эти требования, с одной стороны, являются слишком жесткими, поскольку не принимают во внимание роли клиентов, которые могут иметь разные права доступа к данным. С другой стороны, в рассмотренной модели не учтены возможности противника контролировать некоторых пользователей базы данных и вносить в нее изменения. Поэтому представляет интерес задача уточнения понятия дедуктивной безопасности запросов с учетом ролей, которые могут быть отведены клиентам, и изучение условий, которым должны удовлетворять дедуктивно безопасные запросы, соответствующие заданным ролям.
Авторы статьи выражают признательность А. А. Вороненко и А. А. Татузову за ценные советы, данные в процессе работы над задачами, исследованными в статье.
СПИСОК ЛИТЕРАТУРЫ
1. Gentry С. Fully homomorphie encryption using ideal lattices // Proc. of the 41-st Annual ACM Symp. on Theory of Computing. New York: ACM, 2009. P. 169-178.
2. Van Dijk M., Gentry C., Halevi S., Vaikuntanathan V. Fully homomorphie encryption over the integers // Proc. of the 29-th Intern. Conf. "Advances in Cryptology — EUROCRYPT 2010". Lecture Notes in Computer Science. Vol. 6110. Berlin-Heidelberg: Springer, 2010. P. 24-43.
3. Brakerski Z., Vaikuntanathan V. Efficient fully homomorphie encryption from (standard) IAVK. // Proc. of the 52-nd Symp. on Foundations of Computer Science. Washington: IEEE Computing Society, 2011. P. 97-106.
4. Gentry C., Sahai A., Waters B. Homomorphie encryption from learning with errors: conceptually-simpler, asymptotically-faster, attribute-based // Proc. of the 32-nd Intern. Conf. "Advances in Cryptology — EUROCRYPT 2013". Lecture Notes in Computer Science. Vol. 8042. Berlin-Heidelberg: Springer, 2013. P. 75-92.
5. Gentry C., Halevi S. Implementing Gentry's fully-homomorphic encryption scheme // Proc. of the 30-st Intern. Conf. "Advances in Cryptology — EUROCRYPT 2011". Lecture Notes in Computer Science. Vol. 6632. Berlin-Heidelberg: Springer, 2011. P. 129-148.
6. Gentry С., Halevi S., Smart N. Fully homomorphic encryption with polylog overhead//Proc. of the 31-st Intern. Conf. "Advances in Cryptology — EUROCRYPT 2012". Lecture Notes in Computer Science. Vol. 7237. Berlin-Heidelberg: Springer, 2012. P. 465-482.
7. Lopez-Alt A., Tromer E., Vaikuntanathan V. On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption // Proc. of the 44-th Annual ACM Symp. on Theory of Computing. New York: ACM, 2012. P. 1219-1234.
8. Gahi Y., Guennoun M., El-Khatib K. A secure database system using homomorphic encryption schemes // Proc. of the 3-d Intern. Conf. on Advances in Databases, Knowledge, and Data Applications. Red Hook: IARIA, 2011. P. 54-58.
9. Boneh D., Gentry C., Halevi S., Wang F., Wu D.J. Private database queries using somewhat homomorphic encryption // Proc. of ACNS. Lecture Notes in Computer Science. Vol. 7954. Berlin-Heidelberg: Springer, 2013. P. 129-148.
10. 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.
11. Варновский Н.П., Мартишин С. А., Храпченко M.B., Шокуров А.В. Пороговые системы гомоморфного шифрования и защита информации в облачных вычислениях // Программирование. 2015. № 4. С.47-51. (Varnovskiy N.P., Martishin S.A., Khrapchenko M.V., Shokurov A.V. Secure cloud computing based threshold homomorphic encryption // Programming and Computer Software. 2015. 41. N 4. P. 215-218.)
12. Варновский Н.П., Захаров В. А., Шокуров А. В. К вопросу о существовании доказуемо стойких систем облачных вычислений // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2016. № 2. С. 32-38. (Varnovskiy N. P., Zakharov V. A., Shokurov A.V. On the existence of provably secure cloud computing systems // Moscow Univ. Comput. Math, and Cybern. 2016. 36. N 2. P. 83-88.)
13. Barker S. Deductive database security // Research Directions in Data and Applications Security. IFIP Advances in Information and Communication Technology. Vol. 128. New York: Springer, 2003. P. 103-114.
14. Sandhu R., Coyne E. J., Feinstein H.L., Youman С. E. Role-based access control models // IEEE Computer. 1996. 29. N 2. P. 38-47.
Поступила в редакцию 18.05.16
УДК 004.031.43
В. А. Костенко1, А. В. Плакунов2
МУРАВЬИНЫЕ АЛГОРИТМЫ ДЛЯ ПЛАНИРОВАНИЯ ВЫЧИСЛЕНИЙ В ЦЕНТРАХ ОБРАБОТКИ ДАННЫХ*
Рассмотрен основанный на схеме муравьиных колоний алгоритм для решения задачи отображения запросов на физические ресурсы центров обработки данных. Приведены результаты экспериментального исследования свойств алгоритма и его сравнение с алгоритмами, сочетающими жадные стратегии и ограниченный перебор.
Ключевые слова: муравьиные алгоритмы, центр обработки данных.
1. Введение. В работе рассматривается задача планирования вычислений в центрах обработки данных (ЦОД), работающих в режиме "инфраструктура как услуга" (Infrastructure-asa-Service, IaaS). Задача заключается в построении отображения запросов создания виртуальных машин и виртуальных систем хранения данных, соединенных виртуальными каналами, на вычислительные серверы и серверы хранения данных, и построении маршрутов для виртуальных
1 Факультет ВМК МГУ, вед. науч. сотр., к.ф.-м.н., e-mail: kostQcs.msu.su
2 Факультет ВМК МГУ, асп., e-mail: artaccQlvk.cs.msu.su
* Работа выполнена при финансовой поддержке Министерства образования и науки Российской Федерации, уникальный номер (ID) RFMEFI60714X0070, соглашение № 14.607.21.0070.