Модифицированное безопасное скалярное произведение в конфиденциальном кластерном анализе k-means с вертикальным секционированием данных

Вестник СибГАУ. № 4(50). 2013

УДК 004.056

МОДИФИЦИРОВАННОЕ БЕЗОПАСНОЕ СКАЛЯРНОЕ ПРОИЗВЕДЕНИЕ В КОНФИДЕНЦИАЛЬНОМ КЛАСТЕРНОМ АНАЛИЗЕ K-MEANS С ВЕРТИКАЛЬНЫМ СЕКЦИОНИРОВАНИЕМ ДАННЫХ*

В. Г. Жуков, А. В. Вашкевич

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, Красноярск, просп. им. газ. «Красноярский рабочий», 31 E-mail: zhukov.sibsau@gmail.com, alex23-5@yandex.ru

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

Ключевые слова: конфиденциальные многосторонние вычисления, криптографические примитивы, кластерный анализ k-means, вертикальное секционирование, безопасное скалярное произведение.

A MODIFIED SECURE DOT PRODUCT IN THE PRIVACY-PRESERVING K-MEANS CLUSTERING

WITH THE VERTICAL PARTITIONING DATA

V. G. Zhukov, A. V. Vashkevich

Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation E-mail: zhukov.sibsau@gmail.com, alex23-5@yandex.ru

The authors consider the actual problems in the design and implementation of the privacy-preserving computations in the multiparty data clustering. There is a basic description of the secure multiparty computations and the definition of the adversary model in it. This article presents the flaws of existing solutions of the privacy-preserving k-means clustering over the vertically partitioned data, and proposed ways to eliminate these disadvantages by the correct using the cryptographic primitive realized secure dot product. The mathematical apparatus given in this article describes all aspects of the original protocol and the details of its modernization. The article has a comparative analysis of the advanced cryptographic primitive with its analog - secure sum. There are conclusions about the effectiveness of improved cryptographic primitive of the secure dot product and recommendations on application of the developed model.

Keywords: secure multiparty computations, cryptographic primitives, k-means clustering, vertical partition, secure dot product.

При проведении совместного анализа данных, принадлежащих разным организациям (пользователям) и являющихся конфиденциальными, не всегда достаточно обеспечения той конфиденциальности, что достигается при помощи традиционных криптосистем; необходимо обеспечить получение совместного результата без раскрытия самих исходных данных [1]. Задачи такого вида называются конфиденциальными многосторонними вычислениями (КМВ) - используются специальные протоколы, позволяющие нескольким участникам произвести вычисления на основе конфиденциальных входных данных каждого из них. После выполне-

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

В алгоритмах конфиденциальной кластеризации используется модель с получестными (semi-honest) участниками. Получестный участник следует протоколу, но волен использовать ту информацию, к которой он имеет доступ во время выполнения протокола, для попытки раскрытия данных других участников. При этом рассматривается возможность сговора (т. е. объединения знаний) некоторых из участников [2].

Работа поддержана грантом Президента молодым кандидатам наук, договор № 14.124.13.473-МК от 04.02.2013.

Участник №1

Участник №2

Участник №3

Атрибут N21

Атрибут N22

Атрибут N21

Атрибут №1

Атрибут N22

Атрибут N23

Рис. 1. Пример вертикального секционирования

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

Данные для многостороннего кластерного анализа могут быть по-разному распределены между участниками. Существует вертикальное (участники содержат разные столбцы данных), горизонтальное (участники содержат разные строки данных) и арбитральное (произвольное) секционирования данных. В вертикальном секционировании данных (рис. 1) каждый участник имеет набор только некоторых атрибутов, но каждого из объектов. При таком секционирование начальный выбор центров кластеров не является конфиденциальным, а защищаются такие шаги к-теаш, как вычисление расстояний между каждой точкой и центрами, выбор минимального расстояния для каждой точки, а также проверка условия остановки кластерного анализа. Алгоритм конфиденциальной кластеризации методом к-теапБ при вертикальном секционировании:

Требуется: г участников, к кластеров, П точек.

1: для всех участников ; = 1, ..., г

2: для всех кластеров I = 1, ..., к

3: произвольная инициализация центров

кластеров ц 'у

4: повторять

5: для всех участников ; = 1, ..., г

6: для всех кластеров I = 1, ..., к

7: Ь; =Ц V

8: кластер [I ] = 0

9: для всех точек g = 1, ..., п

10: для всех участников ; = 1, ..., г

11: {Вычисление вектора X; от точки g

до каждого центра кластера по измерению ; }

12: для всех кластеров I = 1, ..., к

13: X; = | данные точки gj -

данные центра кластера ц- |

14: каждый участник помещает g в кластер

[ближайший] { алгоритм определения ближайшего кластера должен сохранять конфиденциальность}

15: для всех участников ; = 1, ..., г

16: для всех кластеров I = 1, ..., к

17: ц'; - среднее всех точек кластера [ I ]

по атрибуту ;

18: пока не выполнится условие останова {алгоритм проверки условия останова должен сохранять конфиденциальность}

За основу для модернизации [3] взята схема конфиденциального кластерного анализа к-теапБ при вертикальном секционировании, предложенная Саме-том и соавторами [4], так как в отличие от других решений для данного секционирования в ней отсутствуют так называемые «особые» участники, выполняющие дополнительные операции с данными.

Обозначим набор атрибутов, содержащихся у Р1 (участника под номером I), как

А1 = {аг1, а12, ..., а1т}. Также р владеет наборами атрибутов каждого из центров кластеров ц; = {ц;|1, ц;|2, ..., ц;1т}. Затем каждый участник

суммирует расстояния между соответствующими измерениями. Так, порция расстояния между точкой и центром кластера ц^ у участника Р1 будет выглядеть

следующим образом (пример для квадрата евклидового расстояния):

= ( - ц }П )2 +( -цр 2 )2 + ... + ( -црт )2

Просуммировав по всем участникам эти расстояния, получим Л л + Л;2 +... + Л;г, где г - число участников. Для центра другого кластера ц имеем похожую формулу йч1 + йч2 +... + Лчг. Чтобы определить, какой из кластеров (; или q) ближе к точке, нужно

г г

просуммировать значения ^ (Л;| - ) = ^ . Если

I=1 I=1

результат положительный, ц будет ближе к точке,

иначе ближе ц;. Этот шаг повторяется к -1 раз, чтобы найти минимальное из расстояний от точки до центра кластера. При этом ни одно из расстояний не раскрывается.

Однако реализация данной схемы Саметом и соавторами имела два существенных недостатка, которые обязательно требовалось устранить:

- для двух участников применялся криптографический примитив «безопасное скалярное произведение» [5], предложенный Малеком и Мири;

- для участников количеством более двух применялся примитив «безопасная сумма» [6], в котором раскрываются данные любого из участников при сговоре его соседей по алгоритму.

Схема применения Саметом и соавторами криптографического примитива «Безопасное скалярное произведение»:

0) Участник р имеет конфиденциальное значение

Л;1 - = Л1, а Р2 имеет конфиденциальное значение

Л;2 - й^2 = й2, требуется получить числа /1 и 12 такие, чтоб /1 хранился у р , 12 у Р2 и /1 • 12 — Л1 + Л2;

1) р генерирует случайное ненулевое число /1 и

создаёт вектор X =

^1

V VА,

а Р2 создаёт вектор

г = (1; ^);

2) р и р2 выполняют безопасное скалярное произведение [5] и р2 получает число /2 такое, что

/^ • /2 — + й?2 .

3) р2 посылает знак /2. Если /2 — 0, то до обоих

кластеров одинаковое расстояние, если /2 Ф 0, то знак показывает кластер, до которого расстояние меньше.

Формальное описание протокола безопасного скалярного произведения:

Предположим, что у двух участников (назовем их Алисой и Бобом) есть по п-мерному вектору:

х = {^ х2 , ..., Хп } - у Алисы и У = {у^ У2 , ... Уп } -у Боба. Каждое измерение вектора является конечным полем Ер, а пространство векторов - конечным п-

мерным расширением Ер" конечного поля Ер .

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

1. Алиса генерирует случайные вектор фе Ерп и

числа а, Ь, с, Л е Ер такие, что (аЛ - Ьс) 1 Ф 0 е Ер. Алиса вычисляет следующие векторы:

и — ах + Ьф,

V = сх + ёф .

2. Затем Алиса посылает векторы и и V Бобу. Зная свой вектор у , Боб вычисляет у • и и у • V . Затем Боб отправляет результаты обратно Алисе.

3. Алиса вычисляет (аё - Ьс) 1 (ё (у • и)-Ь (у • V)),

что эквивалентно х • у .

Следует отметить два момента, из-за которых применение данной схемы некорректно. Первым таким моментом является то, что примитив Малека и Мири предназначен для конечных полей. Таким образом, нельзя после выполнения примитива использовать знаки чисел / и 12 для достоверного определения знака суммы ё1 + ё2.

Пример, доказывающий данное утверждение:

Есть конечное поле

{-5, - 4, - 3, - 2, -1, 0, 1, 2, 3, 4, 5} .

ё = —1, ё2 = —2 .

Допустим, /1 = 2. Тогда после проведения безопасного скалярного произведения будет получено /2 = 4, так как в данном конечном поле 2 • 4 = -1 - 2 . Знаки чисел /1 и /2 оба положительные, а знак суммы отрицателен. Следовательно, данный протокол не всегда работает в конечных полях.

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

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

г

А

V А

. Анализ криптографического при-

1 /

митива показал, что использование двумерных векторов раскрывает данные Боба Алисе. Причина в шаге 2 криптографического примитива, когда Боб посылает

Алисе результаты скалярных произведений у • и и

у • V. Алиса, таким образом, получает два уравнения с двумя неизвестными:

У1и1 + У 2й 2 = У •и,

УЛ + У2 ^ = У •v,

где векторы и и V уже известны Алисе, а результаты скалярных произведений у • и и у • V она получила от Боба. Решив эти уравнения, Алиса вычисляет значе-

и

й 1 ,-3

ния — и —, откуда узнает й, т. е. косвенные сведе-

а а

ния о данных Боба (й;1 - йд1, разница между расстояниями от точки до одного кластера и до другого) становятся известны Алисе и, следовательно, нет обеспечения конфиденциальности данных одного из участников кластерного анализа.

Эту проблему можно решить, искусственно разбив

Ч.і4

два измерения векторов (1; й2) и

А А

на три. По-

сле разбиения векторы будут выглядеть следующим образом:

- вектор Алисы (1; 1; d2),

- вектор Боба

—, а

значит, получить

d1 + d2 + d3 — г3 • (51 + $2) = г1 • г2 • г3 (рис. 2). Причем участник Pi знает только ^ и г .

6. Если г — 0, р рассылает всем флаг, что расстояния до кластеров одинаковые, иначе он посылает знак г1 участнику Р2, тот умножает знак г1 на знак г2

и посылает участнику Р3. Участник Р3 умножает полученный знак на знак г3 и узнает, какой из кластеров ближе к точке, а затем рассылает всем.

А А А

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

d^ + 7 — 7 1

известных: -------, — и —, из которых «любопыт-

А А А

ному» (согласно модели нарушителя) участнику Али-

се в общем случае будет нельзя получить значение d1 Боба. Однако при определенных параметрах векторов и и V раскрытие информации все-таки останется возможным, поэтому Боб должен проверять присланные ему от Алисы векторы и и V на следующие условия (они могут выполняться по отдельности, но не одновременно):

и1 = и2,

V = ^

потому что при выполнении обоих этих условий из уравнений можно будет узнать отдельно

1

А V А ) А

^ d1 + 7 + ^ —7 ^

-------+ — • / — d^ .

/ /

11 V ))

Также следует отметить, что безопасное скалярное произведение проводится для двух участников. При использовании этого примитива для нескольких участников следует применять схему, также описанную у Самета и соавторов. Пример для трёх участников:

1. Р3 дробит своё значение d3 на случайные кусочки d31 и d32 такие, что d31 + d32 — d3, и выбирает случайное число г3 Ф 0.

2. Р3 и р выполняют 8БР, и р получает 51 такое, что d31 + d1 — г3 • 51.

3. Р3 и Р2 выполняют 8БР, и Р2 получает 52 такое, что d32 + d2 — г3 • 52.

4. Р2 и Р выполняют 8БР для получения ^ + s2.

5. На выходе получается:

<11+сі2+сіЗ=(8і+82)*гЗ=г1*г2*гЗ

Рис. 2. Схема безопасного скалярного произведения для трех участников

Основной минус данного алгоритма в том, что количество данных, передаваемых по сети, растёт пропорционально квадрату количества участников. Именно по этой причине алгоритм не подходит для кластерного анализа с большим количеством участников и обрабатываемых данных, поскольку он применяется на каждой итерации для каждого объекта данных к — 1 раз.

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

Тем не менее, если к конфиденциальности предъявляются жёсткие требования, следует применять примитив «безопасное скалярное произведение», поскольку в нём гарантируется сохранение конфиденциальности даже при сговоре против одного из участников всех остальных (рис. 4).

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

и

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

Рис. 4. Зависимость максимального допустимого количества сговорившихся участников от общего количества участников

Библиографические ссылки

1. Шутый Р. С. Рандомизированные протоколы, применяемые для выполнения конфиденциальных многосторонних вычислений в компьютерных сетях / Санкт-Петербургский гос. ун-т телекоммуникаций им. проф. М. А. Бонч-Бруевича, 2009. 170 с.

2. Жуков В. Г., Стефаров А. П. Формирование типовой модели нарушителя правил разграничения доступа в автоматизированных системах // Известия ЮФУ. Техн. науки: науч.-техн. и прикладной журнал. Таганрог : ТТИ ЮФУ, 2012. Вып. 12 (137). С. 45-54.

3. Жуков В. Г., Вашкевич А. В. Конфиденциальный кластерный анализ при вертикальном секционировании данных // Информационная безопасность -2013 : материалы XIII Междунар. науч.-практ. конф. Ч. I. Таганрог : ТТИ ЮФУ, 2013. С. 191-198.

4. Samet S., Miri A., Orozco-Barbosa L. Privacy-Preserving K-Means Clustering in Multi-Party Environment // Proceedings of International Conference on Security and Cryptography, Barcelona, Spain, 2007. C. 381-385.

5. Malek B., Miri A. Secure dot-product protocol using trace functions // Proceedings of the 2006 IEEE International Symposium on Information Theory, 2006.

C. 927-931.

6. Clifton C., Kantarcioglu M., Vaidya J., Lin X., Zhu M. Tools for privacy preserving data mining // SIGKDD Explorations, 2002. Vol. 4(2). C. 28-34.

References

1. Shutyi R. Randomizirovannye protokoly, primen-jaemye dlja vypolnenija konfidencial’nyh mnogostoronnih vychislenij v kompjuternyh setjah (Randomized protocols applied for performing secure multiparty computations in computer networks). The Bonch-Bruevich Saint-Petersburg State University of Telecommunications, 2009, 170 p.

2. Zhukov V. G., Stefarov A. P. Izvestija Juzhnogo federal'nogo universiteta. Tehnicheskie nauki, 2012, no. 12 (137), p. 45-54.

3. Zhukov V. G., Vashkevich A. V. Materialy XIII mezhdunarodnoj nauchno-prakticheskoj konferencii “In-formacionnaja bezopasnost'-2013” (Proceedings of the 13th International Scientific Conference “Information Security-2013”), Russia, Taganrog, 2013, vol. 1, p. 191-198.

4. Samet S., Miri A., Orozco-Barbosa L. Proceedings of the 2007 International Conference on Security and Cryptography, Barcelona, Spain, 2007, p. 381-385.

5. Malek B., Miri A. Proceedings of the 2006 IEEE International Symposium on Information Theory, 2006, p. 927-931.

6. Clifton C., Kantarcioglu M., Vaidya J., Lin X., Zhu M. Tools for privacy preserving data mining (2002) SIGKDD Explorations, 4(2), p. 28-34.

© Жуков В. Г., Вашкевич А. В., 2013