Например, Бобцов

АЛГОРИТМ ДЕПЕРСОНАЛИЗАЦИИ ПЕРСОНАЛЬНЫХ ДАННЫХ

АЛГОРИТМ ДЕПЕРСОНАЛИЗАЦИИ ПЕРСОНАЛЬНЫХ ДАННЫХ

УДК 004.056
АЛГОРИТМ ДЕПЕРСОНАЛИЗАЦИИ ПЕРСОНАЛЬНЫХ ДАННЫХ
А.С. Куракин
Рассматривается проблема обеспечения безопасности информационных систем персональных данных на стадиях разработки и оптимизации. Для решения данной проблемы предлагается использовать алгоритм деперсонализации для понижения класса информационных систем персональных данных, что, в свою очередь, снимает основную часть требований по применению организационных мер и технических средств защиты информации. Ключевые слова: обезличивание, алгоритм деперсонализации, защита информации, персональные данные, информационные системы персональных данных
Введение
Требования Федерального закона «О персональных данных» [1] и постановления Правительства Российской Федерации «Об утверждении Положения об обеспечении безопасности персональных данных при их обработке в информационных системах персональных данных» [2] обязывает организации, обрабатывающие персональные данные (далее – операторы), обеспечивать соответствующую информационную безопасность персональных данных (ПДн). В свою очередь, выполнение данных требований влечет за собой значительные материальные затраты на внедрение дополнительных средств защиты информации, что зачастую не предусмотрено бюджетом операторов. Альтернативным законным способом решения данной проблемы является обезличивание персональных данных, так как оно позволяет снизить требования к уровню защищенности данных, что влечет за собой соответствующее сокращение расходов на обеспечение их информационной безопасности. Под обезличиванием персональных данных, как правило, понимают алгоритмы, в результате выполнения которых невозможно определить принадлежность персональных данных их владельцу.
Наиболее часто на практике применяются следующие способы обезличивания персональных данных [3]: 1. уменьшение перечня сведений, подлежащих автоматизированной обработке; в результате получают
перечень данных, который соответствует оптимальному объему персональных данных о каждом субъекте, необходимому для хранения в информационных системах персональных данных (ИСПДн); 2. замена идентификаторами части сведений, что позволяет понизить класс ИСПДн, так как система оперирует не с персональными данными субъектов напрямую, а с идентификационной информацией, лишенной содержательного контекста;

130

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 6 (82)

А.С. Куракин
3. уменьшение детализации некоторых сведений; способ направлен на то, чтобы сделать персональные данные субъектов менее точными. Это может достигаться, в том числе, путем группирования общих или непрерывных характеристик;
4. замена чисел минимальным, средним или максимальным значением; так как не всегда есть необходимость обрабатывать часть персональных данных каждого субъекта, то можно заменять данные минимальным, средним или максимальным значением по всей выборке или отдельным ее частям;
5. обработка групп сведений в разных информационных системах, для чего ИСПДн разделяются на взаимодействующие участки системы. Данный способ можно применять для оптимизации набора средств защиты информации (СЗИ), используемых в каждом сегменте. Это, с одной стороны, приводит к снижению стоимости защиты, а с другой – снижает избыточность СЗИ в тех случаях, когда защищаемые данные расположены неравномерно по системе. Для всех перечисленных способов критерием качества деперсонализации является вероятность
получения персональных данных на основании утечки обезличенных данных конкретного человека. При этом предполагается, что злоумышленнику известен контекст обработки, а также дополнительная информация из других источников.
Основным недостатком указанных способов является то, что они не гарантируют отсутствие возможности получения персональной информации посредством контекстного анализа открытой информации, в том числе получаемой из смежных систем.
Целью данной работы является разработка стойкого алгоритма обезличивания персональных данных (далее по тексту – алгоритма деперсонализации), основанного на применении перестановок и позволяющего проводить обезличивание больших массивов персональных данных при минимальных объемах служебной информации.
Алгоритм деперсонализации
Перспективным способом решения поставленной задачи является перестановка персональных данных, относящихся к различным субъектам. Данный способ обладает следующими преимуществами: персональные данные хранятся в одной ИСПДн, значительно снижается вероятность успеха контекстного анализа.
Предлагаемый алгоритм деперсонализации построен на следующих принципах: 1. разбиение исходного множества данных на подмножества [4], что позволяет сократить размерность и
упростить его практическую реализацию; 2. использование циклических перестановок [4], что реализует собственно перемешивание данных.
В качестве исходных данных возьмем таблицу персональных данных D(d1, d2, …, dN) , где N – число атрибутов, а M – число строк таблицы.
Далее рассмотрим множество данных, относящееся к одному атрибуту – di (i=1, 2, …, N). Это множество атрибута di – Ai, содержит M элементов. Все элементы каждого множества Ai пронумерованы от 1 до M, и в таблице D(d1, d2, …, dN) совокупность элементов множеств разных атрибутов с одинаковыми номерами будем называть записью с соответствующим номером. При этом в исходной таблице каждая запись имеет определенный смысл, связанный с конкретным субъектом (физическим лицом), т.е. содержит персональные данные конкретного лица, определенного в этой же записи.
Алгоритм обеспечивает перестановку данных каждого множества атрибутов исходной таблицы пошагово. На каждом шаге используется принцип циклических перестановок.
Проведем разбиение множества Ai на Ai (M>Ai>1) непересекающихся подмножеств Aij, где число элементов подмножества Aij равно Mij (M> Mij i>1), j=1, 2, …, Ki . Все элементы каждого подножества Aij считаем занумерованными от 1 до Mij, эти номера будем называть внутренними номерами элементов подмножества. Внешний номер элемента в подмножестве Aij, имеющего внутренний номер k, обозначим – mijk (1 mijk  M), где mijk – это порядковый номер элемента на множестве Ai , соответствующий элементу с внутренним номером k. Разбиение каждого множества должно обладать следующими свойствами:
Ki
1. Ai  Aij – подмножества разбиения включают все элементы множества Ai;
j 1
2. Aij  , Aij  Aim   для всех j, m =1, 2, …, Ki – каждое подмножество не пусто, а пересечение лю-
бых двух подмножеств пусто; 3. mij1= mi(j-1)Mi(j-1)+1 для всех j = 2, …, Ki – для любых двух подмножеств Aij и Ai(j-1) элемент с первым
внутренним номером подмножества Aij имеет на единицу больший внешний номер, чем внешний номер элемента с наибольшим внутренним номером подмножества Ai(j-1); 4. если k1>k2, то mijk1> mijk2 для всех i =1, 2, …, N; j =1, 2, …, Ki – упорядоченность внешней и внутренней нумераций для всех множеств и подмножеств их разбиения совпадают;

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 6 (82)

131

АЛГОРИТМ ДЕПЕРСОНАЛИЗАЦИИ ПЕРСОНАЛЬНЫХ ДАННЫХ

Ki
5. M  Mij – суммарное число элементов всех подмножеств Aij равно общему числу элементов мноj 1 жества Ai. Для каждого подмножества Aij определим циклическую перестановку (подстановку) pij (rij),
задаваемую следующим образом:

  1

      pij

(rij

)



 

M ij  rij  1

2 3 ... Mij 1 M ij  rij  2 M ij  rij  3 ... M ij  rij 1

M ij

 .

M ij  rij 

Здесь элементы первой строки матрицы, стоящей в правой части равенства, соответствуют внут-

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

Таким образом, в перестановке (подстановке) pij (rij) производится циклический сдвиг всех элементов подмножества на число rij (1 rij  Mij –1). Будем называть величину rij параметром перестановки pij (rij). Данный параметр задается генератором случайных чисел (ГСЧ) в интервале [1; Mij –1]. Теперь все перестановки для всех подмножеств множества Ai можно задать набором (вектором) параметров ri=(ri1, ri2, …, riKi). Вектор параметров перестановок ri задает первый уровень алгоритма деперсонализации, т.е. перестановки первого уровня.

Рассмотрим теперь множество ai=(ai1, ai2, …, aiKi), состоящее из Ki элементов. Здесь элемент aij соответствует подмножеству Aij, j =2, 3, …, Ki. Для этого множества определим циклическую перестановку p0j (r0j):

p0

j

(r0

j

)





 



Ki

1  r0i

1 Ki

2 

r0i



2  Ki

3  r0i



...  Ki 1 Ki 3... Ki  r0i 1 Ki 

r0i





 

,

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

жества ai (подмножеств Aij), а элементы нижней строки матрицы соответствуют номерам элементов множества ai, стоящим на местах с номерами, определенными в верхней строке, после перестановки.
Таким образом, в перестановке p0j (r0j) производится циклический сдвиг элементов множества ai (подмножеств множества Ai) на число r0i (1 r0i  Ki –1) – параметр перестановки. Данный параметр r0i задается ГСЧ в интервале [1; Ki –1]. Эту перестановку будем называть перестановкой второго уровня.
В результате последовательного проведения перестановок первого и второго уровней получается

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

Определим теперь нумерацию элементов множества Ai после проведения всех перестановок. С учетом правил перемножения перестановок имеем следующую результирующую перестановку:

pi

(r0i

,

ri

)



   

 

mi



Ki

1...M iKi r0i 1 

...mr0i 11

i Ki r0i 1MiKi r0i 1

 

   


M iKi r0i 1  1 ...

M  MiKi r0i 1

i Ki r0i 2

 

m ...m iKi r0i 21

i Ki r0i  2MiKi r0i 2

....

M  M iKi r0i 1 ... M 

 

...

 

mi



Ki

 r0 i

1...

mi  Ki

 r0 i

 Mi Ki r0i 

 

 

Здесь верхняя строка матрицы содержит порядковые номера элементов множества атрибута i в

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

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

Примеры реализации алгоритма Пример 1. Пусть M=15, Ki=4 и Mi1= 4, Mi2= 4, Mi3= 4, Mi4= 3, при этом di=(b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15), Ai1=(b1, b2, b3, b4), Ai2=(b5, b6, b7, b8), Ai3=(b9, b10, b11, b12), Ai4=(b13, b14, b15), ri=(2, 1, 2, 1), r0i=2. После применения перестановок первого уровня имеем

132

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 6 (82)

А.С. Куракин

pi1

(2)



  

1 b3

2 b4

3 b1

4 b2

  

,

pi1

(1)



  

1 b6

2 b7

3 b8

4 b5

  

,

pi

2

(2)



  

b11

1

2 b12

3 b9

4 b10

  

,

pi

4

(1)



1

 

b14

2 b15

3 b13

  

.

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

p(2, (2,1, 2,1))



1

 

b11

2 b12

3 b9

4 b10

5 b14

6 b15

7 b13

8 b8

9 b4

10 b1

11 b2

12 b6

13 b7

14 b9

15 b5

  

.

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

одному атрибуту, применяется ко всем множествам атрибутов исходной таблицы. В этом случае полный

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

1. (K1, K2, …, KN) – множество, определяющее количество подмножеств для множества каждого атрибута, которое определяет подмножества элементов (A11, A12, …, A1K1), (A21, A22, …, A2K2), …, (AN1, AN2, …, ANKN).
2. (M11, M12, …, M1K1), (M21, M22, …, M2K2), …, (MN1, MN2, …, MNKN) – множество, определяющее число элементов в подмножествах для множества каждого атрибута;

3. ((r01, r1), (r02, r2), …, (r0N, rN) – множество параметров перестановок для множества каждого атрибута.

Этот набор задает параметры алгоритма деперсонализации для исходной таблицы D(d1, d2, …, dN). В результате применения процедуры вместо исходной таблицы D(d1, d2, …, dN) получается таблица обезличенных данных D(d1, d2 ,..., dN ) . Набор параметров

        C Dd1, d2 ,..., dN    K1, K2 ,..., KN , M11, M12 ,..., M1K1 , M21, M22 ,..., M2K2 ,..., MN1, MN2 ,..., MNKN ,

 r01, r1 ,r02 , r2 ,...,r0N , rN  .

полностью и однозначно задает алгоритм деперсонализации для исходной таблицы D(d1, d2, …, dN). Пример 2. Пусть исходная таблица D(d1, d2, …, dN) имеет вид, представленный в табл. 1.

Атрибут d1 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10

Атрибут d2 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10

Атрибут d3 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10

Атрибут d4 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

Атрибут d5 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10

Атрибут d6 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10

Таблица 1. Исходная таблица данных
Для этой таблицы заданы следующие параметры алгоритма деперсонализации:
 C D d1, d2 , d3, d4 , d5 , d6   3, 2, 4,3,3, 2,3,3, 4,6, 4,2,3, 2,3,3, 4,3,5, 2,3,3, 7,
2, (1, 2,3),1, (3,1,3, (1, 2,1,1),2, (2,1, 2),2,(4,1,1),1, (1, 4) .  После выполнения алгоритма деперсонализации получаем таблицу D(d1, d2 ,..., dN ) (табл. 2). Как видно из примера, в результате применения алгоритма деперсонализации получена преобразованная таблица, в которой записи не соответствуют записям в исходной таблице, что обеспечивает достаточно высокую сложность восстановления исходной таблицы при отсутствии сведений о параметрах алгоритма деперсонализации. Доступность персональных данных (получение достоверных персональных сведений при легитимном обращении к ним) обеспечивается посредством решения обратного алгоритма деперсонализации, результатом чего является формирование исходной таблицы.

Атрибут d1 q10 q7 q8 q9

Атрибут d2 r8 r9 r10 r7

Атрибут d3 s9 s10 s8 s2

Атрибут d4 t10 t8 t9 t3

Атрибут d5 u9 u10 u8 u5

Атрибут d6 v8 v9 v10 v4

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 6 (82)

133

АЛГОРИТМ ДЕПЕРСОНАЛИЗАЦИИ ПЕРСОНАЛЬНЫХ ДАННЫХ

q2 r4 s1 t1 u1 v5 q3 r5 s5 t2 u2 v6 q1 r6 s3 t5 u3 v7 q6 r1 s4 t6 u4 v2 q4 r2 s7 t7 u7 v3 q5 r3 s6 t4 u6 v1
Таблица 2. Результат второго шага
Реализация обратного алгоритма деперсонализации
 Пусть в столбце атрибута di таблицы D(d1, d2 ,..., dN ) (табл. 2) выбран элемент номер ni, тогда из матрицы результирующей перестановки p0j (r0j) можно получить номер этого элемента в исходной таблице – di(ni), который находится как элемент второй строки столбца номер ni. Далее в каждом столбце атрибута dj в соответствии с матрицей результирующей перестановки p0j (r0j) находится элемент, номер которого равен номеру столбца, во второй строке которого стоит число m i(ni) (номер элемента в исходной таблице). Таким образом, после просмотра всех столбцов таблицы D(d1, d2 ,..., dN ) будет построена запись, соответствующая элементу номер ni из множества атрибута di и записи номер mi(ni) в таблице D(d1, d2, …, dN). (табл. 1).
Практическая реализация алгоритма
При практической реализации алгоритма деперсонализации контроль целостности данных в файле обеспечивается путем проверки текущей контрольной суммы всего файла (сформированной при сохранении (модификации) файла) и контрольной суммы, рассчитываемой при последующем открытии файла. Как правило, данные алгоритмы контроля целостности хранимой в постоянном запоминающим устройстве (ПЗУ) информации (файлов) реализованы в механизмах защиты операционной системы, аппаратнопрограммном модуле доверенной загрузки (АПМДЗ) или специализированном программном обеспечении – СЗИ от несанкционированного доступа (НСД).
Перспективным развитием алгоритма деперсонализации в части обеспечения контроля целостности информации (персональных данных) является интеграция механизма формирования имитовставки, что обеспечит, помимо контроля целостности, более высокую степень защиты от НСД.
В качестве программной реализации алгоритма деперсонализации ПДн на языке C# предлагается экспериментальный образец программного обеспечения (ЭО ПО) «Depersonalization». Данное ПО работает в двух режимах:  режим 1: программа производит деперсонализацию исходных данных;  режим 2: программа осуществляет обратный алгоритм деперсонализации, приводя данные к исход-
ному виду.
Оценка защищенности алгоритма деперсонализации
Для оценки защищенности предложенного алгоритма деперсонализации используем такую характеристику, как число вариантов деперсонализации, получаемых при применении данного алгоритма.
Число возможных различных вариантов разбиения множества из M элементов на Ki подмножеств,
 удовлетворяющих условиям разбиения, приведенным выше, при заданном наборе Mi1, Mi2 ,..., MiKN
равно (Ki)! (при условии, что все подмножества имеют различное число элементов). Максимальное число возможных вариантов для заданного набора разбиений множеств атрибутов равно
     V K1, K2,..., KN , M11, M12 ,..., M1K1 ,..., Mi1, Mi2 ,..., MiKN 
N
   Ki ! Ki 1Mi1 1Mi2 1... MiKi 1 . i 1
При большом количестве записей число вариантов получается очень большим, что обеспечивает очень малую вероятность подбора параметров и соответственно хорошую защиту обезличенных данных.
Для числовой оценки рассчитаем число возможных вариантов разбиения на примере ИСПДн, в которой одновременно обрабатываются паспортные данные 100 субъектов в пределах конкретной организации:  фамилия;

134

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 6 (82)

А.С. Куракин

 имя;  отчество;  серия и номер паспорта;  дата рождения;  пол;  адрес.
В данном примере для простоты вычислений зададим одинаковые параметры разбиений для всех
множеств атрибутов: Ki  10,i  1, N, N  7. Мощности подмножеств распределим следующим образом:
M1=5, M2=6, M3=7, M4=8, M5=9, M6=11, M7=12, M8=13, M9=14, M10=15. В результате вычислений по вышеуказанной формуле получаем максимальное число возможных
вариантов для заданного набора разбиений, равное 1,1310117. Таким образом, в случае, когда злоумышленник, имея деперсонализированные персональные сведения, применяет для получения достоверной информации метод «грубой силы» (полного перебора) [5], ему требуется более 1,1910108 лет при вычислительных ресурсах, обеспечивающих скорость перебора 3000000 вариантов в секунду.

Заключение

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

Литература

1. Федеральный закон Российской Федерации от 27 июля 2006 г. № 152-ФЗ. О персональных данных. Принят Государственной Думой Федерального Собрания Российской Федерации 8 июля 2006 г.: одобрен Советом Федерации Федерального Собрания Российской Федерации 14 июля 2006 г. // Российская газета. – 2006. – 29 июля.
2. Об утверждении Положения об обеспечении безопасности персональных данных при их обработке в информационных системах персональных данных: Постановление Правительства Российской Федерации от 17 ноября 2007 г. № 781 г. Москва // Российская газета. – 2007. – 21 ноября.
3. Царев Е. Информационная безопасность по-русски // День 4. Обезличивание персональных данных. 2009 – [Электронный ресурс]. – URL: http://www.tsarev.biz/news/den-4-obezlichivanie-personalnyxdannyx, свободный. Яз. рус. (дата обращения: 29.03.12).
4. Стенли Р. Перечислительная комбинаторика. – М.: Мир, 1990. – 440 с. 5. Полный перебор // Википедия – свободная энциклопедия – [Электронный ресурс]. – URL:
http://ru.wikipedia.org/wiki, свободный. Яз. рус. (дата обращения: 15.04.2012).

Куракин Александр Сергеевич

– Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, аспирант, nirtit@gmail.com

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 6 (82)

135