2012 Математические методы стеганографии №1(15)
МАТЕМАТИЧЕСКИЕ МЕТОДЫ СТЕГАНОГРАФИИ
УДК 681.511:3
МНОЖЕСТВА ИДЕНТИФИКАЦИОННЫХ НОМЕРОВ, УСТОЙЧИВЫЕ К АТАКЕ СГОВОРОМ
Т. М. Соловьёв, Р. И. Черняк
Национальный исследовательский Томский государственный университет, г. Томск,
Россия
E-mail: [email protected], [email protected]
Исследуются множества идентификационных номеров, обеспечивающие устойчивость стегосистемы к атаке сговором. Изучается структура таких множеств, различные способы представления, предлагается алгоритм их построения по ключу. Рассматривается задача идентификации участников атаки сговором.
Ключевые слова: цифровые водяные знаки, стегосистемы идентификационных номеров, коллективные атаки, атака сговором.
Введение
В настоящее время для защиты медиаконтента от несанкционированного использования широко применяются цифровые водяные знаки (ЦВЗ). В общем случае ЦВЗ — это некоторые метки, внедряемые в исходный материал. Они могут содержать информацию о времени и месте производства контента, а также о пользователе, которому этот контент предназначался. Метки последнего типа выделяются в отдельный класс и называются идентификационными номерами (ИН).
В случае применения ИН в контейнер, предназначенный каждому пользователю, внедряется персональный номер, позволяющий контролировать дальнейший путь этого контейнера. Такие системы в работе [1] называются стегосистемами идентификационных номеров. Если пользователь окажется медиапиратом и начнет незаконное распространение контента, то ИН позволит быстро определить злоумышленника. При этом предполагается, что все контейнеры одинаковы, то есть выданные копии отличаются только в тех позициях, в которые внедрены идентификаторы. Одной из основных отличительных черт данных систем является их потенциальная уязвимость к коллективным атакам, или атакам сговором. При реализации таких атак используются особенности стегосистем ИН, поэтому обеспечение защиты с помощью классических для ЦВЗ методик невозможно.
В работах [2, 3] рассматривались проблемы создания множеств ИН, устойчивых к коллективным атакам. Настоящая работа обобщает и расширяет полученные ранее результаты. Подробно исследуется структура множеств ИН, приводятся их основные характеристики. Обсуждается проблема идентификации группы злоумышленников при помощи ИН, полученного в результате атаки сговором. В заключение приводится алгоритм построения множества ИН по ключу.
1. Основные определения
Рассмотрим стегосистему ИН с множеством идентификаторов Ш. Пусть среди пользователей системы существует группа злоумышленников, обладающих копиями контента с идентификаторами из множества Р.
Определение 1. Атакой сговором называется следующая последовательность действий:
1) определение части позиций, в которые внедрен ИН, посредством побитного сравнения копий, имеющихся у злоумышленников;
2) создание новой копии путем изменения значений бит с номерами, определенными на шаге 1.
Идентификатор, содержащийся в копии, полученной в результате атаки сговором, далее будем называть ложным.
Возможны следующие угрозы:
а) создание копии с ИН, не идентифицирующим никого;
б) создание копии с ИН из множества Ш \ Р, то есть с идентификатором одного из пользователей, непричастных к атаке.
Из определения 1 непосредственно следует, что атака сговором более эффективна в случае, если ИН в разных копиях внедрен в разные позиции. Поэтому с точки зрения защиты целесообразно внедрение идентификаторов в одинаковые позиции во всех копиях. Далее рассматриваются только такие стегосистемы.
Замечание 1. Ложный ИН, независимо от фиксации бит на шаге 2 атаки сговором, находится внутри наименьшего интервала, покрывающего множество идентификаторов использованных копий.
Последний факт является важной особенностью атаки сговором, и на его основе представляется возможным разработать эффективное противодействие данной атаке.
Определение 2. Множество идентификационных номеров Шп С {0,1}п (или Ш, если длина ИН не существенна) называется допустимым, если каждому его непустому подмножеству Р взаимно-однозначно сопоставляется наименьший интервал I(Р), покрывающий это подмножество.
Далее, если не оговорено другое, будем рассматривать только собственные подмножества Р множества Шп. Интервал I(Р) будем называть соответствующим множеству Р и обозначать троичным вектором с компонентами из множества {0,1, -}. При этом внутренние компоненты интервала обозначаются символом « —», а внешние — соответствующими константами из {0, 1}.
В рамках решаемой задачи достаточно ограничиться рассмотрением таких допустимых множеств Шп, для которых I(Шп) = ---^ .. —. В противном случае все ИН и,
П
как следствие, все покрывающие интервалы содержат одну и ту же константу в некоторой компоненте, что никак не помогает при идентификации сговорившихся, а лишь вносит избыточность во внедряемую метку.
2. Свойства допустимых множеств
Свойство 1. Множество Ш допустимо, если и только если для любого его подмножества Р интервал I(Р) не содержит векторов из Ш \ Р.
Доказательство. Необходимость. Если вектор из Ш \ Р принадлежит интервалу I(Р), то I(Р) = I (Р и {и>}), что противоречит допустимости множества Ш, поскольку Р = Р и {и>}.
Достаточность1. Пусть Ш не является допустимым, т. е. существуют два его различных подмножества Р1 и Р2, такие, что I(Р1) = I(Р2). Пусть для определенности Р1 \ Р2 не пусто. Возьмём вектор w из Р1 \ Р2. Он принадлежит Р\, следовательно, принадлежит и I(Р1) = I(Р2). Таким образом, интервал I(Р2) содержит вектор из Р1 \ Р2 С Ш \ Р2. ■
Свойство 1 означает, что если множество идентификаторов стегосистемы ИН является допустимым, то злоумышленники при проведении атаки сговором никогда не смогут «подставить» невиновного пользователя, и любое множество с таким свойством допустимо.
Лемма 1. Пусть Ш — допустимое множество, |Ш| ^ 3 , Р С Ш, |Р| ^ 2. Тогда dim (I(Р)) ^ |Р|, где &ш(!) —размерность интервала I.
Доказательство. Индукция по мощности множества Р.
База индукции. |Р | = 2. Покажем, что для любых двух различных векторов /шр и и’д из Ш размерность покрывающего их интервала не может быть равна единице. Предположим противное: Wp отличается от и’д только в одной компоненте. Пусть она имеет номер г. Рассмотрим вектор wr Е Ш, отличный от Wp и wq (он существует, так как |Ш| ^ 3). Возможны два варианта: либо wr [г] = гшр [г] = wq [г], либо wr [г] = = wp [г] = wq [г]. В первом случае получим I ({wp,wq, wr}) = I(^р^г}), во втором — I({wp,wq}) = I({wq}). Оба варианта противоречат определению допустимого множества.
Ш аг индукции. Пусть для любого Р мощности п верно неравенство dim (I (Р)) ^ п. Рассмотрим произвольное подмножество Р1 С Ш мощности п + 1. Оно может быть представлено в виде Р1 = Р и ^}, где |Р| = п, w € Ш \ Р. Интервал I (Р и ^}) либо равен интервалу I (Р), либо имеет большую размерность. Первое невозможно в силу допустимости Ш, следовательно, dim (I (Р;)) ^ dim (I (Р)) + 1 ^ ^ п + 1 = |Р'|. ■
Следствием леммы является следующее свойство.
Свойство 2. Мощность допустимого множества Шп не превышает п.
Данное свойство налагает суровое ограничение на количество пользователей системы. Например, для того чтобы обеспечить идентификационными номерами сеть из десяти миллионов пользователей, необходимо использовать ИН длиной не менее мегабайта. Такой объем дополнительного материала является существенным, и его дальнейшее увеличение может создавать проблемы на этапе внедрения метки.
Свойство 3. Множество Шп мощности п допустимо, если и только если оно является сферой радиуса 1 с некоторым вектором а в качестве центра, т. е. имеет вид 01(а) = {х € {0,1}п : ^а,ж) = 1}, где ^а,ж) —расстояние по Хэммингу между векторами а и х.
Доказательство. Необходимость для п ^ 2 проверяется непосредственно.
Пусть п > 2. Построим вектор а для произвольного допустимого множества Шп мощности п. Обозначим различные (п — 1)-элементные подмножества Шп через Р1, Р2, ..., Рп. Согласно лемме 1, dim(I(Р»)) ^ п — 1 для всех г = 1, 2,... , п, а так как dim(I(Шп)) = п и существует только один интервал размерности п, то dim(I(Р»)) = = п — 1, г = 1, 2,...,п. Следовательно, для каждого г существует единственное ^, такое, что ^-я компонента во всех векторах из Р» одинакова. Запишем её значение
■'■Достаточность данного свойства сформулирована и доказана Р. С. Стружковым.
в ^-ю компоненту вектора а; заметим, что ji = jk при г = к ввиду dim(I(Шп)) = п. По построению, ё(а^) = 1 для любого w € Шп, т.е. Шп = 01 (а).
Достаточность. Покажем, что для любых различных Р1 и Р2 — подмножеств 01(а) —верно неравенство I(Р\) = I(Р2). Очевидно, что если |Р^ = 1 или |Р2| = 1, то I(Р\) = I(Р2). Пусть |Р\| > 1, |Р2| > 1 и Р1 \ Р2 = 0. Возьмём вектор w € Р1 \ Р2; пусть г — номер компонеты, в которой w отличается от а. Так как все векторы в 01(а), за исключением w, совпадают в г-й компоненте, то г-я компонента в I(Р2) будет внешней, а в I(Р1) —внутренней. Таким образом, I(Р\) = I(Р2). ■
Пусть Ш = : г = 1, 2,... , к}; обозначим Ш + (/) = {wi ■ аг : wi € Ш, аг € {0,1}1,
г = 1, 2,... , к}, где символом ««■» обозначена операция конкатенации.
Свойство 4. Если Ш — допустимое множество, то все множества вида Ш + (/) также являются допустимыми для любых /.
Доказательство. От противного: пусть существует /, такое, что для некоторых двух различных Р+ (1),Р2+(1) С Ш + (/) верно равенство I (Р+(/)) = I (Р2+(1)). Тогда I(Р1) = I(Р2) для соответствующих Р1,Р2 С Ш, что противоречит допустимости множества Ш. ■
3. Матричное представление множеств ИН
Рассмотрим множество ИН Шп мощности к. Представим его в виде булевой матрицы ШкХп, строками которой будут векторы из множества Шп:
fwl [1] w1 [2] ... w1 [пД W2 [1] W2 [2] ... W2 [п]
кхп
\Шк [1] Wk [2] ... Wk [п] у
Матрицы, соответствующие допустимым множествам, будем также называть допустимыми.
Определим следующие операции над матрицами:
1) перестановка столбцов или строк;
2) инверсия всех элементов заданного столбца;
3) удаление одного из повторяющихся столбцов или добавление столбца, равного одному из уже присутствующих в матрице.
Определение 3. Матрицы М и М' назовем эквивалентными, если они могут быть получены друг из друга путем применения операций 1-3. Множества ИН W и Ш' назовем эквивалентными, если соответствующие им матрицы эквивалентны.
Очевидно, что применение к матрице операций 1-3 не влияет на ее допустимость, и матрица, эквивалентная допустимой, также является допустимой.
Утверждение 1. Матрица ШкХп является допустимой, если и только если она эквивалентна блочной матрице вида (ЕкМ), где Ек — единичная матрица размера к х к; М — произвольная к-строчная матрица.
Доказательство. Необходимость. Пусть допустимой матрице Шкхп соответствует множество Шп = {w1, w2,... , Wk}. Определим два индексных множества К = {1, 2,...,п} и 3 = 0.
Рассмотрим интервал Д = I(Шп \ ^1}). Пусть Д имеет / внешних компонент с номерами г1, г2, ..., г^. Тогда вектор w1 в этих компонентах отличается от остальных
векторов множества Жп, т. е. матрица ^дхп имеет вид
^ С11 С12
С21 С22
уск1 ск2
Поскольку матрица булева, выделенные столбцы равны с точностью до инверсии, следовательно, удаление всех этих столбцов, за исключением одного, есть эквивалентное преобразование. Исключим из множества К элементы г2, г3,...,*г, а элемент г1 добавим в множество 3.
Проведем аналогичные действия для векторов и2, и3,..., ид; заметим, что множества номеров внешних компонент интервалов I(Жп \ {и^}), г = 1, 2,... , к, попарно не пересекаются.
В результате будут построены множества 3 и К, такие, что
3 С К, |31 = к. (1)
Составим матрицу Ждхп/ из тех столбцов матрицы Ждхп, номера которых входят в множество К. По построению, Ж*;Хп/ эквивалентна Ждхп, следовательно, является допустимой. Выделим в Ждхп/ подмножество столбцов, номера которых образуют множество 3. Эти столбцы имеют следующий вид:
.7-1
/-----Л-----V
, СЪ’, . . . , СЪ’
Эквивалентными преобразованиями матрица, составленная из таких столбцов, может быть приведена к Ед. Остальные столбцы образуют матрицу М. Если и' = к, матрица М пуста.
Достаточность. Матрица Ед допустима по свойству 3, следовательно, по свойству 4 матрица (ЕдМ) (и любая эквивалентная ей) также является допустимой. ■
Замечание 2. Для любой допустимой матрицы размера к х и существует эквивалентная ей блочная матрица вида (ЕдМдхт), где 0 ^ т ^ и — к.
Следствие 1. Для любой допустимой матрицы размера к х и существует эквивалентная блочная матрица вида (ЕдМ), в которой подматрица М либо пуста, либо не является допустимой.
Доказательство. По утверждению 1, любая допустимая матрица эквивалентными преобразованиями может быть приведена к виду (ЕдМ^хт). Рассмотрим подматрицу Мкхт.
Если т < к, то матрица Мдхт либо пуста, либо не допустима (по свойству 2).
Пусть т ^ к и матрица Мдхт допустима. Тогда, с учетом замечания 2, эквивалентными преобразованиями она может быть приведена к виду (ЕдМдх*) для 0 ^ ^ т— к,
т. е. исходная матрица примет вид (ЕдЕдМдх*), и одно из вхождений Ед может быть удалено. Получим (Ед,Мд-х*).
Те же рассуждения применим к матрице Мдх* и так далее, пока за конечное число шагов не будет получена эквивалентная исходной матрица вида (ЕдМдх5), где 0 ^ в ^ т — /к, 0 ^ ^ [т/к], и подматрица Мдх5 либо пуста, либо не допустима. ■
Утверждение 1 позволяет ввести понятие базы допустимого множества.
сгх С «*• ю | Сгг
• • О Сг2 . . О
сгх Сг2 С»г
С1га » С2га
Определение 4. Базой (базовой частью) к-строчной допустимой матрицы называется набор таких её к столбцов, из которых может быть составлена матрица, эквивалентная Ед. Совокупность остальных столбцов матрицы называется дополнением (дополнительной частью).
Определение 5. Допустимая матрица называется сильно допустимой, если удаление из неё любого столбца влечет потерю свойства допустимости. Множество, соответствующее такой матрице, будем также называть сильно допустимым.
Утверждение 2. Допустимая матрица является сильно допустимой, если и только если она состоит только из базовой части.
Доказательство. Необходимость. Пусть для некоторой к-строчной сильно допустимой матрицы Ш существует эквивалентная матрица (ЕдМ), причем подматрица М не пуста. Удалим из Ш один из дополнительных столбцов. В результате получим матрицу Ш', для которой найдется эквивалентная матрица (ЕдМ'). По утверждению 1, Ш' допустима, что противоречит предположению сильной допустимости Ш.
Достаточность очевидна. ■
Таким образом, свойство допустимости равносильно наличию подматрицы, эквивалентной единичной матрице заданного размера. Оставшаяся часть матрицы не влияет на допустимость и может быть выбрана произвольно.
4. Построение допустимых множеств
Построение допустимого множества, которому соответствует единичная матрица, не вызывает никаких сложностей, однако на практике этого недостаточно. Необходим алгоритм, с помощью которого можно построить любое допустимое множество. Поскольку в реальных стегосистемах количество идентификаторов и их размеры велики, важным фактором является производительность алгоритма. Для обеспечения возможности распараллеливания алгоритм должен обладать следующим свойством: каждый вектор строится независимо от остальных.
Алгоритм 1 Построение допустимого множества
Вход: к, и, V, п, М^п-д)
Выход: допустимое множество Ш из к векторов длины и
1 і := 1, ш — нулевой вектор длины п, Ш := 0
2 Пока і ^ к
3 ш [і] := 1
4 Для і := к + 1 до п
5 ш[І] := М[і,і]
6 ш := ш ф V
7 Переставить компоненты вектора ш в соответствии с подстановкой п
8 Добавить ш в Ш
9 і := і + 1, обнулить ш
10 Вернуть Ш
Результатом работы алгоритма является множество из к идентификационных номеров длины и (и ^ к). Номера столбцов, которые в соответствующей матрице необходимо инвертировать, задаются булевым вектором V длины и. Для изменения порядка следования столбцов используется перестановка п Е £п. Пара ^,п) может быть ис-
пользована в качестве ключа. На вход алгоритма подаётся также матрица М размера к х (и — к) , которая вносит в идентификационные номера некоторую избыточность.
Согласно утверждению 1, матрица, соответствующая любому допустимому множеству, может быть построена из матрицы вида (ЕдМ) при помощи операций перестановки, инвертирования и добавления/удаления повторяющихся столбцов. Таким образом, с помощью алгоритма 1 может быть построено любое допустимое множество.
5. Идентификация злоумышленников
Обсудим проблему идентификации участников сговора по полученному ими ложному ИН. В соответствии со свойством 1, в случае использования допустимого множества ложный ИН никогда не совпадет ни с одним из существующих в системе идентификаторов. Таким образом, для множества ИН задача идентификации может быть сформулирована следующим образом: «Используя ложный ИН и' из {0,1}п \ Шп, восстановить некоторое непустое подмножество пользователей, участвовавших в атаке сговором».
Пусть, для наглядности, допустимое множество задано матрицей Ед. В этом случае в идентификаторе каждого пользователя есть только одна единица. Она находится в первой компоненте ИН первого пользователя, во второй компоненте ИН второго и так далее. Таким образом, если у злоумышленников нет г-го ИН, то в г-й компоненте построенного ими ложного идентификатора всегда будет ноль. Другими словами, если в г-й компоненте ложного ИН присутствует единица, это однозначно говорит о том, что г-й пользователь участвовал в сговоре. На основе этих рассуждений представляется возможным идентифицировать некоторое непустое подмножество участников сговора по построенному ими ложному ИН во всех случаях, кроме одного — когда последний целиком состоит из нулей.
Рассмотрим пример атаки сговором с участием трёх злоумышленников на множество ИН, заданное матрицей Е5; пусть злоумышленниками являются первые три пользователя: _____________
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
Ложные идентификаторы в этом случае выбираются из интервала---00. Ниже
показан результат идентификации злоумышленников в зависимости от построенного ими ложного ИН:
Ложный ИН Результат идентификации
11000 {1, 2}
10100 {1, 3}
01100 {2, 3}
11100 {1,2,3}
00000 0
Заметим, что во всех случаях, кроме последнего, найдено некоторое подмножество злоумышленников, при этом ни один не причастный к атаке пользователь не был обвинён. Очевидно, что подобные рассуждения возможны и в том случае, если некоторые столбцы в матрице Ед будут инвертированы. В рассмотренном примере, инвертируя
первый и второй столбцы, получим матрицу
0 1 0 0 0
1 0 0 0 0
1 1 1 0 0
1 1 0 1 0
1 1 0 0 1
В этом случае результат идентификации будет следующим:
Ложный ИН Результат идентификации
00000 {1, 2}
01100 {1, 3}
10100 {2, 3}
00100 {1,2,3}
11000 0
В общем случае вывод о том, что г-й пользователь участвовал в атаке сговором, делается, если в г-й компоненте ложного ИН наблюдается значение /та](и>1 [г], и>2[г],... , [г]), где /та] — мажоритарная функция:
{п
1, если V ж > и/2 ,
, ,=1 г 7 0 иначе.
Используя метод из доказательства необходимости в утверждении 1, в матрице, задающей допустимое множество, всегда можно выделить базовую часть. Таким образом, описанный способ идентификации злоумышленников может быть использован в любом допустимом множестве.
6. Мажорирующая атака
В предложенном методе идентификации используются лишь те компоненты ложного ИН, которые соответствуют базовым столбцам, поэтому далее ограничимся рассмотрением только сильно допустимых множеств.
В приведенных примерах идентификации присутствует ложный ИН, который не идентифицирует никого:
и [г] = /та] (и [г] , и [г] ,..., и [г]) , г = 1, 2,..., и.
Обозначим его ит^. Возникает вопрос, всегда ли злоумышленники могут построить ита] и существует ли стратегия, позволяющая им получать именно этот ИН, а не какой-то случайный вектор из интервала, соответствующего использованным идентификаторам?
Утверждение 3. Если множество Ш сильно допустимо, Р С Ш и |Р| ^ 2, то
ита] Е 1 (Р).
Доказательство. Заметим, что в сильно допустимом множестве для любых двух различных его элементов и и и и для любого г = 1, 2,... , и всегда выполняется следующее: либо и [г] = и4[г], либо и8[г] = и4[г] = ита][г]. Другими словами, каждая компонента интервала I({и^и}) либо внутренняя, либо совпадает с соответствующей компонентой ита], следовательно, ит^ € I({и^и^}). Таким образом, для любого Р С Ш мощности не меньшей двух ита] Е I (Р). ■
Замечание 3. Идентификационный номер может быть построен следую-
щим образом:
^та][*] = /тц(мр[г],«;, [І], [І]), І = 1, 2, . . . , П,
где и>р, , и>г —любые попарно различные ИН из сильно допустимого множества Ш.
Таким образом, при наличии трех или более ИН возможно построение метки, не идентифицирующей никого.
Описанный способ построения ложного ИН назовём мажорирующей атакой. В соответствии с предложенным методом идентификации проведение данной атаки является единственным способом для злоумышленников избежать ответственности. Поскольку мажорирующая атака состоит в выборе конкретного вектора из I (Р), возможна разработка метода эффективного противодействия данной атаке.
Заключение
В работе предлагается модель множеств идентификаторов для стегосистем ИН, позволяющая противостоять атаке сговором. Последнее достигается за счет уникальности наименьших покрывающих интервалов для каждого непустого подмножества идентификаторов. Выделен ряд свойств таких множеств, исследована их структура и предложен алгоритм генерации. Задача идентификации злоумышленников по ИН, полученному в результате сговора, решена для всех коллективных атак, за исключением одного частного случая — мажорирующей атаки. Противостояние последней является одним из приоритетных направлений дальнейшего исследования. Данная задача может быть решена с использованием статистических методов, поскольку, в рамках предложенной модели, возможен произвольный выбор дополнительной части.
ЛИТЕРАТУРА
1. Грибунин В. Г., Оков И. Н., Туринцев И. В. Цифровая стеганография. М.: Солон-Пресс, 2002.
2. Стружков Р. С., Соловьёв Т. М., Чертяк Р. И. Цифровые водяные знаки, устойчивые к атаке сговором // Прикладная дискретная математика. Приложение. 2009. № 1. С. 56-59.
3. Соловьёв Т. М., Черняк Р. И. Стегосистемы идентификационных номеров, устойчивые к атаке сговором // Прикладная дискретная математика. Приложение. 2010. № 3. С. 41-44.