A MODIFIED SECURE DOT PRODUCT IN THE PRIVACY-PRESERVING K-MEANS CLUSTERING WITH THE VERTICAL PARTITIONING DATA


Cite item

Full Text

Abstract

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.

Full Text

При проведении совместного анализа данных, принадлежащих разным организациям (пользователям) и являющихся конфиденциальными, не всегда достаточно обеспечения той конфиденциальности, что достигается при помощи традиционных криптосистем; необходимо обеспечить получение совместного результата без раскрытия самих исходных данных [1]. Задачи такого вида называются конфиденциальными многосторонними вычислениями (КМВ) - используются специальные протоколы, позволяющие нескольким участникам произвести вычисления на основе конфиденциальных входных данных каждого из них. После выполне ния протокола КМВ каждый из участников получает результат вычисления, но ни один из них не должен иметь возможность получения никакой дополнительной информации о данных других участников. В алгоритмах конфиденциальной кластеризации используется модель с получестными (semi-honest) участниками. Получестный участник следует протоколу, но волен использовать ту информацию, к которой он имеет доступ во время выполнения протокола, для попытки раскрытия данных других участников. При этом рассматривается возможность сговора (т. е. объединения знаний) некоторых из участников [2]. Работа поддержана грантом Президента молодым кандидатам наук, договор № 14.124.13.473-МК от 04.02.2013. 18 Математика, механика, информатика Участник №1 Участник №2 Участник №3 Атрибут Nsl Атрибут №2 Атрибут №1 Атрибут №1 Атрибут №2 Атрибут Ns3 Рис. 1. Пример вертикального секционирования На первом этапе исследований по применению КМВ в кластерном анализе рассматривался алгоритм, позволяющий работать с большими объемами данных и имеющий простую структуру. Наиболее распространенным и изученным алгоритмом кластерного анализа, удовлетворяющим предъявляемым требованиям, является алгоритм k-means. Данные для многостороннего кластерного анализа могут быть по-разному распределены между участниками. Существует вертикальное (участники содержат разные столбцы данных), горизонтальное (участники содержат разные строки данных) и арбитральное (произвольное) секционирования данных. В вертикальном секционировании данных (рис. 1) каждый участник имеет набор только некоторых атрибутов, но каждого из объектов. При таком секционирование начальный выбор центров кластеров не является конфиденциальным, а защищаются такие шаги k-means, как вычисление расстояний между каждой точкой и центрами, выбор минимального расстояния для каждой точки, а также проверка условия остановки кластерного анализа. Алгоритм конфиденциальной кластеризации методом k-means при вертикальном секционировании: Требуется: r участников, k кластеров, n точек. 1: для всех участников j = 1, ..., r 2: для всех кластеров i = 1, ..., k 3: произвольная инициализация центров кластеров μ i 4: повторять 5: для всех участников j = 1, ..., r 6: для всех кластеров i = 1, ..., k 7: Kj = μ i 8: кластер [i ] = 0 9: для всех точек g = 1, ..., n 10: для всех участников j = 1, ..., r 11 : {Вычисление вектора Xj от точки g до каждого центра кластера по измерению j } 12: для всех кластеров i = 1, ..., k 13: xij = | данные точки gj данные центра кластера μ^· | 14: каждый участник помещает g в кластер [ближайший] { алгоритм определения ближайшего кластера должен сохранять конфиденциальность} 15: для всех участников j = 1, ..., r 16: для всех кластеров i = 1, ..., k 17: μ 'ij - среднее всех точек кластера [ i ] по атрибуту j 18: пока не выполнится условие останова {алгоритм проверки условия останова должен сохранять конфиденциальность} За основу для модернизации [3] взята схема конфиденциального кластерного анализа k-means при вертикальном секционировании, предложенная Саме-том и соавторами [4], так как в отличие от других решений для данного секционирования в ней отсутствуют так называемые «особые» участники, выполняющие дополнительные операции с данными. Обозначим набор атрибутов, содержащихся у Pi (участника под номером i ), как Ai =Iai1, ai2, ..., aim}. Также Pi владеет наборами атрибутов каждого из центров кластеров μJi = {μJi1, μji2, ..., μjim} . Затем каждый участник суммирует расстояния между соответствующими измерениями. Так, порция расстояния между точкой и центром кластера μjt у участника Pi будет выглядеть следующим образом (пример для квадрата евклидового расстояния): dß =(a-1- μ ji1 )2 +(ai2 -μ;ϊ 2 )2 +...+(a-m -μ*,» )2 Просуммировав по всем участникам эти расстояния, получим d л + dj2 +... + djr, где r - число участников. Для центра другого кластера μq имеем похожую формулу dq1 + dq2 +... + dqr. Чтобы определить, какой из кластеров ( j или q ) ближе к точке, нужно r r просуммировать значения Σ (dji - dqi ) = Σ dj . Если i=1 i=1 результат положительный, μq будет ближе к точке, 19 Вестник СибГАУ. № 4(50). 2013 иначе ближе μ j . Этот шаг повторяется k -1 раз, чтобы найти минимальное из расстояний от точки до центра кластера. При этом ни одно из расстояний не раскрывается. Однако реализация данной схемы Саметом и соавторами имела два существенных недостатка, которые обязательно требовалось устранить: - для двух участников применялся криптографический примитив «безопасное скалярное произведение» [5], предложенный Малеком и Мири; - для участников количеством более двух применялся примитив «безопасная сумма» [6], в котором раскрываются данные любого из участников при сговоре его соседей по алгоритму. Схема применения Саметом и соавторами криптографического примитива «Безопасное скалярное произведение»: 0) Участник P1 имеет конфиденциальное значение dj\ - dq1 = d1, а P2 имеет конфиденциальное значение dj2 - dq2 = d2, требуется получить числа I1 и l2 такие, чтоб I1 хранился у P1, l2 у P2 и I1 · l2 = d1 + d2 ; 1) P1 генерирует случайное ненулевое число I1 и создаёт вектор X = di-i V VI j а P2 создаёт вектор Y = (1; d2 ) ; 2) P1 и P2 выполняют безопасное скалярное произведение [5] и P2 получает число l2 такое, что і! · l2 — d, + d2. 3) P2 посылает знак l2. Если l2 = 0, то до обоих кластеров одинаковое расстояние, если l2 Ф 0, то знак показывает кластер, до которого расстояние меньше. Формальное описание протокола безопасного скалярного произведения: Предположим, что у двух участников (назовем их Алисой и Бобом) есть по n-мерному вектору: x = {x1, x2 , ..., Xn } - у Алисы и y = [Уъ y2, ... Уп } -у Боба. Каждое измерение вектора является конечным полем Fp , а пространство векторов - конечным nмерным расширением Fp n конечного поля Fp . Алиса и Боб хотят совместно и с сохранением конфиденциальности посчитать x · y . Результат протокола должен быть известен только Алисе. Входные данные каждого из участников не должны быть раскрыты друг другу. Для достижения этих целей Алиса и Боб выполняют следующий протокол: 1. Алиса генерирует случайные вектор φε Fpn и числа a, b, c, d є Fp такие, что (ad - bc) 1 Ф 0 є Fp. Алиса вычисляет следующие векторы: u = ax + bφ , v = cx + dφ . 2. Затем Алиса посылает векторы u и v Бобу. Зная свой вектор y , Боб вычисляет y · u и y · v . Затем Боб отправляет результаты обратно Алисе. 3. Алиса вычисляет (ad - bc) 1 (d (y · u )-b (y · v)), что эквивалентно x· y . Следует отметить два момента, из-за которых применение данной схемы некорректно. Первым таким моментом является то, что примитив Малека и Мири предназначен для конечных полей. Таким образом, нельзя после выполнения примитива использовать знаки чисел l1 и l2 для достоверного определения знака суммы d1 + d2. Пример, доказывающий данное утверждение: Есть конечное поле {-5, - 4, - 3, - 2, -1, 0, 1, 2, 3, 4, 5} . d, = —1, d2 = —2 . Допустим, l1 = 2 . Тогда после проведения безопасного скалярного произведения будет получено l2 = 4, так как в данном конечном поле 2 · 4 = -1 - 2 . Знаки чисел l1 и l2 оба положительные, а знак суммы отрицателен. Следовательно, данный протокол не всегда работает в конечных полях. Таким образом, использование знаков после операций в конечных полях не всегда будет давать корректный результат. Данный недостаток устраняется использованием множества вещественных чисел вместо конечных полей. При этом все операции безопасного скалярного произведения сохраняют корректность. Данное решение также имеет полезность в том, что использование конечных полей ухудшает точность проведения кластерного анализа, так как необходимо было бы «накладывать» область допустимых значений на конечное поле, что породило бы погрешность из-за необходимости квантования. Вторым моментом, из-за которого некорректно применение предложенной Саметом и соавторами схемы, является использование двумерных векторов (i; d2 ) г d, 1 Λ V li . Анализ криптографического приi J митива показал, что использование двумерных векторов раскрывает данные Боба Алисе. Причина в шаге 2 криптографического примитива, когда Боб посылает Алисе результаты скалярных произведений y · u и y · v. Алиса, таким образом, получает два уравнения с двумя неизвестными: yu + У2Щ = y · и, y,vi + У2 v2 = У · v , где векторы u и v уже известны Алисе, а результаты скалярных произведений y · u и y · v она получила от Боба. Решив эти уравнения, Алиса вычисляет значеи 20 Математика, механика, информатика d1 1 ния — и — , откуда узнает u,, т. е. косвенные сведения о данных Боба ( d;l - dq1, разница между расстояниями от точки до одного кластера и до другого) становятся известны Алисе и, следовательно, нет обеспечения конфиденциальности данных одного из участников кластерного анализа. Эту проблему можно решить, искусственно разбив d, . l' два измерения векторов (i; d2 ) и I, I, на три. По сле разбиения векторы будут выглядеть следующим образом: - вектор Алисы (1; 1; d2 ), - вектор Боба — , а значит, получить d, + d2 + d3 = T3 · (S1 + s2) = T1 · T2 · T3 (рис. 2). Причем участник Pi знает только di и Ti. 6. Если T1 = 0, P1 рассылает всем флаг, что расстояния до кластеров одинаковые, иначе он посылает знак T1 участнику P2, тот умножает знак T1 на знак T2 и посылает участнику P3. Участник P3 умножает полученный знак на знак T3 и узнает, какой из кластеров ближе к точке, а затем рассылает всем. l1 l1 lI где z - случайное число, сгенерированное Бобом. Скалярное произведение данных векторов останется прежним, но теперь в двух уравнениях станет три неd, + z — z 1 известных: -, — и —, из которых «любопытl1 l1 lI ному» (согласно модели нарушителя) участнику Алисе в общем случае будет нельзя получить значение d1 Боба. Однако при определенных параметрах векторов u и v раскрытие информации все-таки останется возможным, поэтому Боб должен проверять присланные ему от Алисы векторы u и v на следующие условия (они могут выполняться по отдельности, но не одновременно): U1 = U2 , vI = V2 , потому что при выполнении обоих этих условий из уравнений можно будет узнать отдельно 1 li V li ) li 1 d, + z + I-z ^ = --+ — · i — d, . I I li V li )) Также следует отметить, что безопасное скалярное произведение проводится для двух участников. При использовании этого примитива для нескольких участников следует применять схему, также описанную у Самета и соавторов. Пример для трёх участников: 1. P3 дробит своё значение d3 на случайные кусочки d31 и d32 такие, что d31 + d32 — d3, и выбирает случайное число T3 Ф 0. 2. P3 и P1 выполняют SDP, и P1 получает S1 такое, что d31 + d, — T3 · S1. 3. P3 и P2 выполняют SDP, и P2 получает S2 такое, что d32 + d2 — T3 · S2. 4. P2 и P1 выполняют SDP для получения S1 + S2. 5. На выходе получается: dl+d2+d3=(sl+s2)*r3=rl*r2*r3 Рис. 2. Схема безопасного скалярного произведения для трех участников Основной минус данного алгоритма в том, что количество данных, передаваемых по сети, растёт пропорционально квадрату количества участников. Именно по этой причине алгоритм не подходит для кластерного анализа с большим количеством участников и обрабатываемых данных, поскольку он применяется на каждой итерации для каждого объекта данных к -1 раз. В связи с проектированием программного обеспечения, реализующего данный протокол, стало возможно сравнить сетевой трафик (рис. 3), генерируемый алгоритмом с использованием того или иного криптографического примитива. Тем не менее, если к конфиденциальности предъявляются жёсткие требования, следует применять примитив «безопасное скалярное произведение», поскольку в нём гарантируется сохранение конфиденциальности даже при сговоре против одного из участников всех остальных (рис. 4). Таким образом, устранив недостатки схемы по применению безопасного скалярного произведения, можно использовать данный криптографический примитив для определения ближайшего кластера. Однако применение безопасного скалярного произведения требует передачи данных от каждого участника каждому, что при большом количестве участников и большом количестве объектов данных приведет к большому объему трафика. Поэтому использование безопасного скалярного произведения рекомендуется к применению для малого количества объектов данных или участников, когда велик риск сговора и на первый план выходит обеспечение конфиденциальности данных в ущерб скорости работы алгоритма. и 21 Вестник СибГАУ. № 4(50). 2013 Рис. 3. Зависимость количества переданных байт за одну операцию сравнения расстояний от количества участников Рис. 4. Зависимость максимального допустимого количества сговорившихся участников от общего количества участников
×

About the authors

Vadim Gennadyevich Zhukov

Siberian State Aerospace University named after academician M. F. Reshetnev

Email: zhukov.sibsau@gmail.com
Candidate of Engineering Sciences, associate professor, associate professor of Information technologies security department 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation

Alexey Vyacheslavovich Vashkevich

Siberian State Aerospace University named after academician M. F. Reshetnev

Email: alex23-5@yandex.ru
postgraduate student 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation

References

  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.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2013 Zhukov V.G., Vashkevich A.V.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies