Научная статья на тему 'Процедура обезличивания персональных данных'

Процедура обезличивания персональных данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
982
156
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЕРСОНАЛЬНЫЕ ДАННЫЕ / ОБЕЗЛИЧИВАНИЕ / ПЕРЕСТАНОВКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Саксонов Е. А., Шередин Р. В.

Обсуждается процедура обезличивания таблиц персональных данных. Процедура состоит в перестановке записей в столбцах таблицы. Перестановка обеспечивает сокрытие логических связей между персональными данными, что затрудняет проведение несанкционированного де-обезличивания. Получена формула для оценки трудоемкости несанкционированнго де-обезличивания путем прямого перебора вариантов. Разработан алгоритм восстановления персональных данных после обезличивания. Показаны достоинства метода и примеры применения. Метод достаточно просто реализуется средствами программирования баз данных, например SQL. Статья может быть полезна разработчикам и администраторам информационных систем персональных данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Процедура обезличивания персональных данных»

электронное научно-техническое издание

НАУКА и ОБРАЗОВАНИЕ

Эл №ФС 77 - 30569. Государственная регистрация №0421100025. ISSN 1994-0408_

Процедура обезличивания персональных данных # 03, март 2011 УДК: 681.3

авторы: Саксонов Е. А., Шередин Р. В.

Московский государственный институт электроники и математики (МИЭМ)

saksmiem@mail.ru

Введение.

Вступление в действие Федерального закона о персональных данных обусловило разработку различных подходов, связанных с выполнением требований к их защите и сокращением издержек на ее обеспечение [1].

Одним из эффективных подходов к защите персональных данных является их обезличивание, поскольку оно позволяет снизить требования к уровню защищенности данных и, соответственно, сократить расходы на защиту. Поэтому процедуры обезличивания достаточно широко применяются на практике [1, 2, 3].

Под обезличиванием персональных данных будем понимать действия, в результате которых невозможно определить принадлежность персональных данных конкретному субъекту персональных данных. Описание проблемы.

К настоящему времени можно выделить, например, следующие методы обезличивания персональных данных [2]:

• уменьшение перечня обрабатываемых сведений;

• замена части сведений идентификатором/ами;

• замена численных значений минимальным, средним, или максимальным значением;

• понижение точности некоторых сведений;

• деление сведений на части и обработка в разных информационных системах. Критерием качества метода обезличивания часто является возможность определить

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

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

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

Перемешивание данных имеет ряд достоинств, которые делают этот подход к обезличиванию достаточно перспективным:

• данные находятся в одном хранилище;

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

• простота реализации обезличивания и обратного формирования персональных данных;

• мобильность данных, позволяющая распространять их, хранить в распределенных системах.

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

Здесь предлагается процедура обезличивания, основанная на перемешивании данных, позволяющая оперировать с большими объемами данных, при простом задании параметров и большое количество возможных вариантов, обеспечивающее высокую защищенность от проведения де-обезличивания.

Описание задачи.

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

В качестве базового алгоритма процедуры предлагается использовать циклические перестановки [4].

Пусть задана исходная таблица персональных данных Т^^t2,..., 1Ы), где N число атрибутов, М - длина таблицы. Будем рассматривать множество данных, относящееся к

одному атрибуту - t . (г = 1,2,...,Это множество атрибута t . - V (, содержит М элементов. Все элементы каждого множества V занумерованы от 1 до М, и в таблице Т12,...,tN) совокупность элементов множеств разных атрибутов с одинаковыми

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

Ниже приводятся описание и результаты анализа процедуры обезличивания. Описание процедуры обезличивания.

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

Первый уровень. Проведем разбиение множества Ui на К. (М > К. > 1)

непересекающихся подмножеств V., где число элементов подмножества V. равно М.. (М > М.. > 0),. = 1,2,...,К.. Все элементы каждого подмножества V. считаем занумерованными от 1 до М . эти номера будем называть внутренними номерами элементов подмножества. Внешний номер элемента в подмножестве V,, имеющего внутренний номер к, обозначим - т,.к , (1 < т ..к < М ). Так, что т..к - это порядковый

номер элемента в множестве Ui, соответствующий элементу с внутренним номером к.

Разбиение каждого множества должно обладать следующими свойствами:

К,

1) и. = и и .. - подмножества разбиения включают все элементы множества V.;

2) V. ^ 0 и V. П Vт = 0 для всех т = 1,2,...,К. - каждое подмножество не пусто, а пересечение любых двух подмножеств - пусто;

3) т, = т.(._1)М.(. + 1 для всех , = 2,3,...,К. - для любых двух подмножеств с V. и

V,,_1) элемент с первым внутренним номером подмножества V. имеет внешний номер

на единицу больший, чем внешний номер элемента с наибольшим внутренним номером подмножества Vи ^;

4) если кх > к2, то т..^ > для всех I = 1,2,...,N; . = 1,2,...,К. - упорядоченность

внешней и внутренних нумераций для всех множеств и подмножеств их разбиения совпадают;

К

5) М = ^М.. - суммарное число элементов всех подмножеств V. равно общему числу

.=1 у 4

элементов множества V..

1

Для каждого подмножества V. определим циклическую перестановку (подстановку), е.. (г..) задаваемую следующим образом [4]:

' 1 2 3 ... (М..-1) М.

V п / г.

(Г ) '

(М. - г. +1) (М. - г. + 2) (М. - г. + 3) ... (М. - г. -1) (М. - г.)у

Здесь элементы первой строки матрицы, стоящей в правой части равенства, соответствуют внутренним номерам элементов подмножества V. до перестановки (в исходной таблице),

а элементы, стоящие во второй строке, соответствуют внутренним номерами элементов подмножества V ., стоящим на местах, с номерами, определенными в верхней строке,

после перестановки.

Таким образом, в перестановке (подстановке) е. (г.) производится циклический

сдвиг всех элементов подмножества на число г. , (1 ^ г. ^ (М. - 1)). Будем называть

величину г. параметром перестановки е . (г. ) . Теперь все перестановки для всех

подмножеств множества V. можно задать набором (вектором) параметров

г = (г 1,г2,...,гК.). Вектор параметров перестановок Г задает первый уровень алгоритма

перемешивания, т.е. перестановки первого уровня.

Второй уровень. Рассмотрим теперь множество и. = (ип,и2,...,иК. ), состоящее

из К. элементов. Здесь элемент и. соответствует подмножеству V. , . = 2,3,...,К.. Для

этого множества определим циклическую перестановку е0.. (г0.) :

С 1 2 3 ... (К. -1) К. '

^ = [(К - го. +1) (К - го. + 2) (К - го. + 3) ... (К - го. -1) (К - О/

где элементы верхней строки матрицы перестановки соответствуют исходным номерам

элементов множества и. (подмножеств V), а элементы нижней строки матрицы

соответствуют номерам элементов множества и., стоящим на местах с номерами, определенными в верхней строке, после перестановки.

Таким образом, в перестановке С0г(го,) производится циклический сдвиг

элементов множества и. (подмножеств множества V,) на число Г0,, (1 < Г0.г < (К, — 1) ) -параметр перестановки. Эту перестановку будем называть перестановкой второго уровня.

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

Определим теперь нумерацию элементов множества V, после проведения всех

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

результирующую перестановку [4]: =

= ' Р ... Мк—«,!)] [Мк—V +1 ... (Мк—»+4—г,«)] ... М—М—0) ••• М '

^(К—0.+1)1 ... т(К—0, +1)М(К—,+1) ^К—,+2)1 ... т(К—«+2)М(К—,+2) ... т(К—0)1 ... Чк—«,Щк—,, Здесь верхняя строка матрицы содержит порядковые номера элементов множества

атрибута , в соответствии с их размещением в столбце после перемешивания, а нижняя

строка содержит внешние номера элементов множества этого атрибута, соответствующие

их размещению в исходной таблице.

Пример 1. Пусть М = 15, К г = 4 и Мг1 = 4, Мг2 = 4, Мг3 = 4, Мг4 = 3 при этом

t, = («1, а2, а3, «4, а5, «6, «7, «8, «9, «10, «п, «12, «13, «14, «15) и

= («1 , «2 , ^ «4 ), ^2 = («5 , «6, «7 , «8 ), иг3 = («9 , «10 , «1П «12 ), = («13 , «14 , «15) и

г. = (2,1,2,1), г,, = 2.

Имеем, после применения перестановок первого уровня:

' 1 2 3 4 ^ 1 2 3 4 ^

С 1(2) = С 2(1) =

^ а3 «4 «1 «2 > ,«6 «7 «8 «5

' 1 2 3 4 N ' 1 2 3 ^

С 1(2) = , С 4(1) =

< «11 «12 «9 «10 > ^ «14 «15 «13 >

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

М 2 3 4 5 6 7 8 9 10 11 12 13 14 15^

е(2,(2,1,2,1) =

^ а^ц ^12 &9 ^14 а13 ^а 3 ^а4 а^ ^а 6 ^а7 ^а5 у

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. (К1, К 2,..., KN) - множество, определяющее количество подмножеств для множества каждого атрибута, которое определяет подмножества элементов

(ип , и12 ,..., ),(и 21 ,и 22 ,..., и 2 К2 \ ...,(UNl , ^^ 2 ,...,ижм ) ;

2. ((М11, М12,...,М1К ),(Мц, М22,..., М 2 К2),...,(М

N1, N 2,..., МЖК )) - множество,

определяющее число элементов в подмножествах для множества каждого атрибута;

3. ((г01, г1),(г02, г2),...,(г0 , Г^ )) - множество параметров перестановок для множества каждого атрибута.

Этот набор задает параметры процедуры перемешивания для исходной таблицы Т (А, 12,..., ^ ) .

В результате применения процедуры, вместо исходной таблицы Т(11,12,..., ^)

получается таблица обезличенных данных Т (11,12,..., ^) . Набор параметров:

С(Т (?!, 12,..., ^ )) = {(К>, К 2,..., KN ),

((М М12 ,..., М1К. ),(М 21 , М 22 ,..., М 2 K1),...,(MN 1, MN 2,..., МЛК„, )), ((Г01, ОЛ^ Г2),...,(г0 N , ))}

полностью и однозначно задает процедуру перемешивания для исходной таблицы Т (11 , 12 ,..., ^ ) .

Пример 2. Пусть исходная таблица Т(11,12,13,14) имеет вид:

Атрибут Атрибут 12 Атрибут 13 Атрибут 14

е1

а2 К е2 а 2

а3 Ъ3 е3 ^3

а4 К е4 а4

а5 ъ5 е5 а5

аб Ьб еб а 6 6

«7 Ь7 е 7 а 7

«8 Ь8 е8 ^ 8

а9 Ь9 е 9 а9

а10 Ь10 е10 а10

а11 Ьц е11

а12 Ьц е12 ^12

а13 Ь13 е13 ^13

а14 Ь14 е14

а15 Ь,5 е15 ^15

Для этой таблицы заданы следующие параметры процедуры перемешивания: в(Т (11,12,13,14)) = {(4,3,4,4), ((4,4,4,3), (5,5,5), (6,3,3,3), (4,4,3,4)), ((2, (2,1,2,1)), (1, (3,4,2)), (2(2,1,2,1)), (3, (3,2,1,2))}.

После проведения процедуры перемешивания получаем таблицу Т^^12,t3,14) :

Атрибут t1 Атрибут t2 Атрибут ^ Атрибут t4

«11 Ь14 С11 ^7

«12 ¿15 С12 ^ 8

«9 Ь11 С10 а5

«10 Ь12 С15 а6

«14 ¿13 С13 а11

«15 ¿3 С14 а9

«13 ¿4 С6 а10

«3 ¿5 С5 ^14

«4 ¿1 С1 ¿15

«1 ¿2 С2 а12

«2 ¿9 С3 ¿13

«6 ¿10 С4 а 2

«7 ¿6 С9 а3

«8 ¿7 С7 а4

«5 ¿8 С8 ¿1

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

Де-обезличивание.

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

Пусть в столбце атрибута ti таблицы Т^^12,...,tN) выбран элемент номер п., тогда из матрицы результирующей перестановки С0г (Го,) можно получить номер этого элемента в исходной таблице - т, (п,), который находится как элемент второй строки столбца номер пг. Далее, в каждом столбце атрибута у, в соответствии с матрицей результирующей перестановки С0. (г), находится элемент, номер которого равен номеру столбца, во второй строке которого стоит число т.(п.) (номер элемента в исходной таблице). Таким образом, после просмотра всех столбцов таблицы Т ^^ 12,..., tN ) будет построена запись, соответствующая элементу номер п, из множества атрибута ti, соответствующая записи номер т, (п.) в таблице Т^^12,...,tN).

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

Число возможных различных вариантов разбиения множества из М элементов на К. подмножеств, удовлетворяющих условиям разбиения, приведенным выше, при

заданном наборе (Мп,М12,...,М,К ) равно (К.)! (при условии, что все подмножества

имеют различное число элементов).

Максимальное число возможных вариантов для заданного набора разбиений N множеств атрибутов:

N

К2:К ),(«),(/■„, Г2),...^ , ^ )) = П(Kг )!(К -1)(МП -1)(М. 2 — 1)...(Мк " 1).

¿=1 .

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

Заключение.

Перемешивание данных предложенным методом реализуется достаточно простыми средствами и может применяться в уже сформированных базах данных.

Большое количество вариантов параметров перемешивания обеспечивает достаточно эффективную защиту от атаки путем подбора параметров.

Использование процедуры перемешивания для обезличивания данных обеспечивает защиту от атак, использующих внешние данные, имеющие наборы атрибутов, совпадающие с некоторыми атрибутами в исходной таблице [5].

Наличие набора записей из исходной таблицы не позволяет провести процедуру де-обезличивания для других записей из таблицы обезличенных данных.

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

Литература

1. Федеральнй закон «О персональных даннх»,- 2-е изд. - М.: «Ось-89», 2008. - 32 с.

2. McCallister E., Granee T., Scarfone K. Guide to Protecting the Confidentiality of

Personally Identifiable Information (PII). Recomendations of the National Institute of Standarda and Technology (NIST) U.S. 2010.

3. Конопкин Н. Как превратить предприятие в легитимного менеджера персональных

данных // IT - Manager, 11, 2009.

4. Калужин Л.А., Сущанский В.И. Преобразования и перестановки. - М.: Наука, 1985. -

160 с.

5. L. Sweeney. k-anonymity: a model for protecting privacy. International Journal on

Uncertainty, Fuzziness and Knowledge-based Systems, 10 (5), 2002. - P. 557-570.

6. http://ispdn.ru/forum/index.php?PAGE NAME=read&FID=1&TID=1161 (дата обращения 10.01.2011).

7. http://xp-7.ru/blog/2010-01-03-26 (дата обращения 27.01.2011).

i Надоели баннеры? Вы всегда можете отключить рекламу.