Научная статья на тему 'Использование стеганографических методов для защиты текстовой информации'

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

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

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Балакин А. В., Елисеев А. С., Гуфан А. Ю.

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

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

Использование стеганографических методов для защиты текстовой информации

РАССМОТРЕНЫ СТЕГАНОГРАФИЧЕСКИЕ МЕТОДЫ, ПОЗВОЛЯЮЩИЕ ВНЕДРЯТЬ ДАННЫЕ В ТЕКСТОВУЮ ИНФОРМАЦИЮ. ПРЕДЛОЖЕН ПОДХОД К ЗАЩИТЕ ТЕКСТОВОЙ ИНФОРМАЦИИ НА ОСНОВЕ ВНЕДРЕНИЯ ЦИФРОВЫХ МЕТОК, ПРЕДНАЗНАЧЕННЫЙ ДЛЯ ИСПОЛЬЗОВАНИЯ В СИСТЕМАХ ЭЛЕКТРОННОГО ДОКУМЕНТООБОРОТА

Балакин А.В.,

к.т.н., заведующий НИЛ,

sva@rsu.ru

Елисеев А.С.

младший научный сотрудник, Гуфан А.Ю.,

с.н.с., к.ф.-м.н.

ФГНУ "НИИ "Спецвузавтоматика", Ростов-на-Дону

В январе 2008 г. вступила в силу 4 часть Гражданского Кодекса "Права на результаты интеллектуальной деятельности и средства индивидуализации", которая регулирует не только юридические права на интеллектуальную собственность, но и все действия и последствия, связанные с их использованием. По новому закону в России результатами интеллектуальной деятельности и приравненными к ним средствами индивидуализации юридических лиц, товаров, работ, услуг и предприятий, которым предоставляется правовая охрана (т.е. которые являются интеллектуальной собственностью), становятся: произведения науки, литературы и искусства; программы для электронных вычислительных машин; базы данных; исполнения; фонограммы; сообщения в эфир или по кабелю радио- или телепередач (вещание организаций эфирного или кабельного вещания); изобретения; полезные модели; промышленные образцы; селекционные достижения; топологии интегральных микросхем; секреты производства (ноу-хау); фирменные наименования; товарные знаки и знаки обслуживания; наименования мест происхождения товаров; коммерческие обозначения.

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

Бурное развитие информационных технологий, которое наблюдается в последние годы, привело к тому, что сегодня огромное количество информации, составляющей интеллектуальную собственность, хранится и обрабатывается в компьютерных сетях и/или распространяется в цифровой форме. При этом наибольшее внимание уделяется защите прав интеллектуальной собственности мультимедийной информации, распространяемой на цифровых носителях и в сети Интернет, однако упор делается больше на правовое решение проблемы, технические вопросы остаются на втором плане: для того, чтобы скопировать DVD-диск с криптографической защитой от копирования, достаточно загрузить программу из сети Интернет.

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

Цифровые водяные знаки

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

На сегодняшний день существует большое количество систем внедрения ЦВЗ в мультимедийную информацию, некоторые из них уже используются на практике. Менее проработанным является вопрос защиты текстовой информации при помощи внедрения ЦВЗ. В литературе [1, 2] можно встретить описание синтаксических и семантических методов внедрения информации, однако отсутствует их адаптация для внедрения ЦВЗ.

В лингвистической стеганографии выделя-

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

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

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

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

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

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

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

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

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

Предлагаемый метод сокрытия информации

В настоящее время для представления текстовых символов в ЭВМ используется большое число различных кодовых таблиц, содержащих, помимо символов латинского алфавита, также символы национальных алфавитов и спецсимволы. Но вместе с тем, несмотря на все разнообразие существующих кодировок, согласно стандарту POSIX ISO/IEC 9945 для обеспечения совместимости различных операционных систем и переносимости исходных текстов прикладных программ введен специальный переносимый набор символов, включающий 103 символа, которые согласно стандарту должны присутствовать в любой, уже используемой или проектируемой кодировке. Таким образом, любая из современных кодировок для русского языка, отвечающая данному стандарту, помимо символов кириллицы, содержит также и символы латинского алфавита.

Учитывая тот факт, что современные кириллические кодировки, такие как Win-1251, KOI-8R, ISO 8859-5, а также уже устаревшая 866 — MS-DOS, содержат в себе символы по меньшей мере двух достаточно близких алфавитов, можно предположить, что какая-то часть глифов (графических образов) символов одного алфавита будет идентична глифам символов другого алфавита. Тогда запись битов метки в текстовую информацию может быть осуществлена за счет замены отдельных символов текста соответствующими им по начертанию символами той же кодировки, но другого алфавита. Так, например, в большинстве кириллических кодировок и соответствующих им используемых шрифтов глифы английских символов 'Л', 'В' и 'С' по начертанию идентичны глифам символов русского алфавита 'Л', 'В', 'С'. Разница заключается лишь в двоичном представлении, т. е. в коде символа согласно используемой кодовой таблице символов.

Анализ символов с одинаковым начертанием для наиболее популярных кириллических кодировок (866 MS DOS, MS Windows — 1251, КЭ18^ и ^ 8859-5) показал, что для достаточно большой части символов кириллицы, практически вне зависимости от используемой кодировки, можно

подобрать идентичные по начертанию символы латинского алфавита из переносимого набора символов, содержащегося во всех популярных кодировках. Такие символы можно подобрать для десяти больших и семи маленьких букв русского языка [3].

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

На рис. 1 представлен пример использования TrueType шрифтов. Использовалась обычная строка "Тестовая строка". В первом столбце представлены названия шрифтов с соответствующим им начертанием. Во втором столбце представлена немодифициро-ванная тестовая строка, а в третьем столбце

— строка, в которой все символы, входящие в таблицу замен для кодировки MS Windows-1251, заменены аналогами из английского алфавита. Как видно из представленного на рис. 1 примера, практически для всех основных шрифтов строки во втором и третьем столбце визуально идентичны. Исключение составляет каллиграфический шрифт Monotype Corsiva. Тестовые строки для этого шрифта отличаются заглавной буквой "Т". В то же время глифы всех остальных символы идентичны. Особенности использования некоторых шрифтов связаны со следующими причинами:

• отсутствие соответствующих глифов символов для русского алфавита;

• горизонтальное и вертикальное относительно базовой линии смещение символов;

• различные глифы для русского и английского алфавитов.

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

a_Futurica Albeit us MT Antique Olive Apple Chancery Arial

Arial Black

Arial Narrow AvantGarde Book Antiqua Bookman

Bookman Old Style Chicago

Cooper Black

Courier

Courier New

Eurostile

Garamond

Georgia

GillSans

Helvetica

Impact

Letter Gothic

Lucida console

Microsoft Sans Serif

;’Monotype Corsiva

New York

Optima

Palatiiio

Tahoma

Times

Times New Roma U nivers Verdana

Тестовая строка Тестовая сцхиа Тестовая строка

Тестовая строка Тестовая строка Тестовая строка

Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка

Тестовая строка

Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестаая строю Тестовая строка Тестовая строка Тестовая строка тестовая строка Тестовая строка 'Шестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка

Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Т естовая строка Тестовая строка Тестовая строка

Тестовая строка

Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка тестовая строка Тестовая строка ‘Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка Тестовая строка

Рис. 1. Отображение текстовых строк без замены символов и с заменой символов согласно таблице замен для кодировки MS Windows -1251 для различных TrueType шрифтов

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

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

Внедрение метки в текст и текстовые строки

Рассмотрим, каким именно образом можно осуществить запись дополнительной информации в относительно короткие текстовые строки. В качестве примера возьмем

произвольную текстовую строку: "Текстовая строка". Разобьем строку на отдельные символы и выделим те из них, которые входят в одну из представленных выше таблиц символов с одинаковым начертанием глифов. Для большей определенности выберем таблицу, содержащую коды символов согласно кодировке МБ Windows-1251. Далее по тексту будем называть выбранную таблицу, содержащую в одной строке символы двух и более алфавитов, таблицей замен. Запишем представление строки в числовом коде и выделим символы, входящие в таблицу замен: Выбранная строка содержит девять символов, входящих в таблицу символов с оди-

наковым начертанием. Таким образом, потенциально в данную строку может быть записано до девяти бит дополнительной информации при сохранении визуальной идентичности исходной строке. В качестве скрываемого сообщения выберем произвольную битовую строку из девяти битов: 100101101. Произведем запись битовой строки в исходную текстовую строку согласно правилу: “Если текущий бит битовой строки представлен единицей, соответствующий текущий символ текстовой строки заменяется альтернативным символом другого алфавита, если текущий бит равен нулю, замена не осуществляется". Данное правило является тривиальным и позволяет впоследствии использовать простые алгоритмы извлечения скрытой информации. Результат записи битовой строки в текстовую строку в числовом коде представлен ниже.

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

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

символов кириллицы, и наоборот: если в тексте преобладают символы Т, у, 'Р и

Т е к с т о в а я с т Р о к а

210 229 234 241 242 238 226 224 255 32 241 242 240 238 234 224

Т е к с т О в а я с т Р о к а

210 229 234 241 242 238 226 224 255 32 241 242 240 238 234 224

1 0 X 0 X 1 X 0 X X 1 X 1 0 X [

84 229 234 241 242 111 226 224 255 32 99 242 112 238 234 22

I е к с т о в а я с т й о к а

т.д., то базовым алфавитом будет иБ-ДБС11.

Рассмотрим случай записи дополнительной информации с использованием в качестве контейнеров достаточно длинных текстовых строк, содержащих слова обоих базовых алфавитов. Например, это может быть русский текст с определениями или именами собственными на английском языке или же некоторый словарь терминов. При этом если частоты встречаемости слов, состоящих из символов различных алфавитов близки, то задача однозначного определения базового алфавита может оказаться нетривиальной. Для этого случая предлагается использовать более простое правило: “Если текущий символ входит в таблицу замен и текущий бит битовой строки представлен единицей, символ заменяется соответствующим символом национальной кодировки (т.е. символом с кодом, большим 127) согласно таблице замен; если текущий бит битовой строки представлен нулем, символ текстовой строки заменяется символом иБ-ДБСН". Применение данного правила позволяет уйти от необходимости определения базового алфавита при извлечении скрытого сообщения. Для извлечения дополнительной информации из текстовой строки, как и в предыдущем случае, достаточно последовательно просмотреть все символы текстовой строки. С каждым очередным символом текстовой строки, входящим в таблицу замен, в выходную битовую строку дописывается "0", если символ принадлежит иБ-АБС11 (первой половине таблицы символов выбранной однобайтовой кодировки), и "1" — если символ относится к символам национальной кодировки (второй половине таблицы символов).

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

Для решения указанной проблемы предлагается не подвергать изменению один из символов каждой строки или слова, закрепленный на определенной выбранной позиции. Так, для определения базового алфавита можно оставить без изменений второй символ каждого слова. Впоследствии по нему можно будет однозначно определить базовый алфавит. Выбор в качестве опорного второго, а не первого, символа объясняется тем, что короткие текстовые строки наиболее часто начинаются с символа в верхнем регистре. В свою очередь, если только вся строка целиком не записана в верхнем регистре, вероятность появления заглавной буквы на второй позиции если и не равна нулю, то крайне мала. Если же обратиться к таблице замен, например, для КО!8^, то можно заметить, что она содержит 10 символов в верхнем регистре и только 7 символов в нижнем. Таким образом, использование символа на второй позиции в качестве опорного при выборе базового алфавита является более целесообразным. Использование для тех же целей первого символа в

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

Оценка информационной емкости

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

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

б)

Рис. 2. Распределение символов русского алфавита в типичных текстовых документах: а) — для символов в верхнем регистре; б) — для символов в нижнем регистре

ровка МБ Windows-1251. Полученные в результате тестов частоты встречаемости символов оказались близки к известным среднестатистическим частотам встречаемости символов для русского языка в художественной и технической литературе. В свою очередь это косвенно подтверждает достоверность полученных результатов.

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

0,47317.

Учитывая, что на каждый символ из таблицы замен, встреченный в текстовой строке, приходится один бит скрываемого сообщения, то средняя информационная емкость предложенного метода достаточно высока. В соотношении количества скрываемой информации к объему контейнера (скрывающего текста) она составляет порядка 5-8%. Отметим, что данный показатель является весьма высоким даже для методов стеганографии в мультимедиа данных, таких как цифровые изображения и оцифрованные аудиозаписи. Применительно к текстовой стеганографии информационная емкость зачастую оценивается не прямым соотношением

количества скрываемой информации к исходному объему контейнера, а отношением бит/символ. Другими словами, оценивается среднее количество битов, приходящихся на один символ текстового сообщения. Такая оценка продиктована прежде всего тем, что минимальной единицей текстового сообщения является символ, а не отдельный бит. Информационная емкость метода в отношении бит/символ составляет 0,4-0,5, что соответствует эффективности использования контейнера на 40-50%. Для сравнения отметим, что эффективность использования контейнера методом, основанным на использовании синонимов, при искусственной генерации текстов, не превышает 11% в отношении бит/символ. Примерно той же эффективностью обладают и методы, основанные на использовании пробельных символов и знаков пунктуации. Таким образом, эффективность предложенного метода в несколько раз выше известных аналогов.

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

Структура внедряемой маркировки

Чтобы определиться со структурой внедряемой маркировки, необходимо понять, какие требования на нее налагаются. Для этого следует определить, что включает в себя задача защиты электронного документооборота. Задача защиты электронного документооборота весьма многогранна. Были выделены следующие наиболее насущные ее части, к решению которых необходимо приблизиться:

• защита документов и их частей от подделки,

• отслеживание авторов документов и контроль изменений в документах,

• создание гибкого механизма контроля доступа сотрудников к документам, их частям,

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

Для решения этих задач было решено внедрять в документы следующую информацию:

• идентификатор автора текстового документа или его части,

• метка прав доступа,

• идентификатор пользователя, запросившего текстовый документ из хранилища.

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

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

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

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

Таблица 1

Частоты встречаемости символов с одинаковым начертанием

мов текстовой информации:

• возможность извлечения маркировки из небольшой части документа,

• возможность проверить, изменился ли документ и какие его части изменились,

• возможность извлечь маркировку из неизмененных частей частично отредактированного документа.

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

Учитывая требование распределения данных скрытой маркировки по всему документу, а также необходимость обеспечения возможности проверки маркировки по каждой малой части документа отдельно, алгоритм встраивания маркировки должен включать в себя следующие основные шаги, предполагающие наличие в системе двух секретных ключей (к] и к2), устанавливаемых администратором безопасности:

1. Текст документа разбивается на части по заранее оговоренному фиксированному для системы принципу.

2. Для каждой части документа

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

b. Значением на выходе п-битовой хэш-функции от текстовой строки текущей части и секретного ключа к2 системы инициализируется ПСГ Q], который, как и R, при каждом к себе обращении возвращает один бит. Вероятность возврата единицы составляет 1/2.

c. Значением на выходе п-битовой хэш-функции от текстовой строки текущей части и ключевой последовательности внедряемых меток инициализируется ПСГ Q2, который при каждом к себе обращении также возвращает один бит, и вероятность возврата единицы — 1/2.

d. Для каждого символа части.

к Если текущий символ принадлежит множеству пар символов с одинаковым начертанием и не является вторым алфавит-

ным символом в части, то происходит обращение к ПСТ R. Если R возвращает "О", то происходит обращение к Q,. Текущий символ заменяется символом, идентичным по начертанию, но относящимся к другому алфавиту, только если Q] возвращает "1". Если же R возвращает "1", то происходит обращение к ПСТ Q2. Замена текущего символа осуществляется, только если Q2 возвращает "1".

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

На шагах a, b и с используется n-битовая хеш-функция двух аргументов. Логическая структура рекомендуемой хэш-функции представлена на рис. 3. На вход хэш-функции подают выбранную для маркировки текстовую строку и ключевую последовательность Key, соответствующую конкатенации внедряемых меток (на шаге b) или секретному ключу (на шаге а). На первом шаге текстовая строка и ключевая последовательность подаются на вход байтового сумматора хэш-функции в байтовом представлении. Байтовый сумматор может быть представлен функцией битового сложения по модулю два (операция XOR) при достаточной длине ключевой последовательности или функцией поточного шифрования текстовой строки на ключе Key. В реализации байтового сумматора с использованием функции битового сложения по модулю два каждый бит байта текстовой последовательности складывается по модулю два с соответствующим битом ключевой последовательности.

C выхода байтового сумматора биты последовательно подают на вход регистра сдвига R^ с линейной обратной связью. Выбор конкретного примитивного многочлена для регистра сдвига может быть произвольным, в нашем случае выбран многочлен: x 8 + x 4 + x 3 + x 2 + 1. Биты с выхода регистра сдвига подают во временный одно-

ние последних n поступивших в него битов. По завершении циклической обработки всех битов последовательности, полученной от исходной текстовой строки с выхода байтового сумматора, последние n битов с выхода регистра сдвига R^, оставшиеся в однобайтовом буфере WB, и формируют результат хеш-функции. Альтернативно можно использовать любую из широко распространенных, проверенных хеш-функций одного аргумента, например, функцию SHA-256, подавая ей на вход результат гаммирования двух аргументов.

Структура используемых ПСГ не важна, хотя из соображений производительности и безопасности рекомендуется использовать "Mersenne Twister" [5]. Заметим также, что если m — максимальная длина одной части документа в символах, то при n > m ПСГ можно вообще не использовать, заменяя биты результата обращения к нему непосредственно битами, которые вернула хеш-функция.

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

1. Используя второй символ, восстановить исходный текст части.

2. Значением на выходе n-битовой хэш-функции от текстовой строки текущей части и секретного ключа kj системы инициализировать ПСГ R, который при каждом к себе обращении возвращает один бит, причем вероятность возврата единицы составляет p.

3. Значением на выходе n-битовой хэш-функции от текстовой строки текущей части и

байтовый буфер WB, реализующий хране-

Рис. 3. Вычисление однобитовой хэш-функции от заданных текстовой строки и ключевой последовательности

секретного ключа к2 системы инициализируется ПСГ Q], который, как и R, при каждом к себе обращении возвращает один бит. Вероятность возврата единицы составляет 1/2.

4. Для каждого символа части

а. Если текущий символ принадлежит множеству пар символов с одинаковым начертанием и не является вторым алфавитным символом в части, то

к Обратиться к ПСГ R. Если R возвращает "0", то

Обратиться к Q]. Если Q] вернул "0" и язык текущего символа не соответствует базовому языку строки или если он вернул "1" и язык текущего символа совпадает с базовым языком, то конец алгоритма: часть подверглась изменению.

5. Часть не подверглась изменению.

Для извлечения внедренной описанным

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

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

Длина в символах одной части документа для внедрения и извлечения — настраиваемый параметр системы. Его увеличение повышает надежность определения изменений, так как длина проверяемой части последовательности, которую возвращает ПСГ, становится больше. Уменьшение повышает разрешающую способность определения изменений. Для определения оптимальной длины части проанализируем зависимость точности извлечения маркировки от количества входящих в часть символов, имеющих сходных по начертанию двойников из другого алфавита.

Если исходить из предположения крайней редкости коллизий хеш-функции и ПСГ то для однозначной идентификации внедренной метки необходимо, чтобы в каждую часть помещались все различные возможные метки. Проанализируем количество возможных меток. Так как результирующая метка — конкатенация трех описанных выше независимых меток, то общее число возможных результирующих меток равно произведению общего числа составляющих отдельных меток. Если I — число пользователей в системе, а с — число уровней доступа,

то общее всего возможно с12 различных меток. Поэтому для хранения метки необходимо отводить g = [^2(с/ 2 символов, входящих в таблицу замен в каждой части. В некоторых же системах электронного документооборота предположения о наиболее вероятном содержании меток известно из сторонних источников. В таком случае бывает достаточно определить вероятность содержания наперед заданной метки в указанной части. Тогда, учитывая равномерность распределения нулей и единиц в выдаваемых генератором последовательностях, вероятность ошибки при полном совпадении д битов последовательности и отсутствии несовпавших битов составляет 2-к. График этой зависимости представлен на рис. 4.

Из представленного графика видно, что для обеспечения достоверности результатов проверки со значением более 0,99 достаточно проведения 7 проверок отдельных символов. Чем заданное число проверок больше, тем выше достоверность полученных результатов. Так, по результатам 16 проверок вероятность ошибки составит менее 0,0001. Поэтому, в случае доступности априорного знания о метках, количество отводимых для хранения метки символов части следует выбирать, исходя из необходимого уровня д ютове ^н рти Р результатов про-

верки: g =

1 - В

. Если, например, до-

статочным является уровень 0,99, то достаточно д=7 символов из таблицы замен.

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

лицы замен в части, как 1-р, где р — вероятность возврата единицы ПСГ R. Одна из возможных атак на маркировку части — попытка изменить готовую маркировку, не давая системе обнаружить, что что-то было изменено. Для осуществления этой атаки инсайдеру необходимо изменить язык хотя бы одного символа, в котором хранится маркировка, не изменив при этом ни одного символа, ответственного за детектирование изменений. Обозначим через Ь| — число символов части, входящих в таблицу замен, которые ответственны за ^ранение маркировки. Тогда отношение ------= 1 - р равно ри-

И + g

ску не знающего секретных ключей инсайдера, т.е. его вероятности обнаружить себя при попытке подделать маркировку. Число р следует выбирать из минимально допустимого риска инсайдера. Представляется, что этот минимальный риск зависит от ценности достоверности информации и социального положения вероятных инсайдеров, и в зависимости от конкретной системы должен варьироваться, начиная от 0,8, что соответствует р = 0,2. Поскольку вероятность встретить символ из таблицы замен составляет примерно 0,47, то определив р и д, оптимальную длину части L можно вычислить, как:

ь = —g—.

0.47 ■ р

Рассмотрим, например, случай небольшой организации (или отдела), в кото-рой(ом) работают 20 человек, имеющих в общей сложности 3 различных уровня доступа к документам. И пусть минимально допустимый риск инсайдера составляет 0,9. Тогда g = |1од2 (202 *3) = 11 , Р = 0,1. Тогда оптимальное число символов в части составляет ь =----------« 234 . В случае сред-

0.47*0.1

ней организации или большого отдела, где

Число проверок

Рис. 4. Зависимость вероятности ошибки при извлечении маркировки из одной части от числа символов из таблицы замен, имеющихся в этой части

работают 50 человек, имеющих в общей сложности 4 уровня доступа, получаем:

g = [ов,(502 *4)1= 14, Ь = ——------= 298

* I > г = 0.47*0.1

В случае же большой организации, где к важным документам имеют доступ 100 сотрудников, категорированных 5-ю уровнями доступа, получаем: g = [1о§2 (1002 * 5) 1= 16,

Ь =---16---~ 340.

0.47*0.1

В случае же достаточно вероятностной проверки маркировки с достоверностью 0,99, имеем:

7

g = Г1ов2 (100)1= 7, Ь =---------«149

0.47*0.1 .

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

Заметим еще, что при использовании большего, чем необходимо, размера части или при увеличении вероятности р возврата единицы генератором R, можно вообще отказаться от использования ПСГ Q2 и соответствующей хеш-функции и внедрять в символы хранения метки непосредственно биты самой метки. Это возможно только при более или менее гарантированной возможности разместить всю метку целиком даже в тех частях, в которых число символов из таблиц меньше среднего. Такая стратегия заметно облегчит слепое извлечение метки, так как для этого не придется прибегать к перебору.

Угрозы маркировке

Были рассмотрены следующие возможные угрозы, связанные с деятельностью инсайдеров:

• угроза подделки маркировки:

- изменение маркировки без изменения информации,

- изменение маркировки, которое может сопровождаться изменением маркированных данных,

- коалиционные атаки на изменение маркировки,

• угроза подделки самой информации,

• угроза уничтожения маркировки.

Угроза подделки маркировки может

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

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

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

щим образом. Они могут составить множество символов, которые отличаются в имеющихся у них маркировках, и заменить в маркировке символы из этого множества таким набором значений, который не соответствует ни одному набору значений этих символов в маркировках инсайдеров. Поскольку значение символов, по которым производится определение наличия изменений, зависит только от секретного ключа и пароля, то эти символы будут одинаковыми во всех маркировках. Поэтому символы, которые отличаются, неизбежно будут отвечать за саму маркировку. Поэтому злоумышленники могут легко добиться своей цели. Чтобы предотвратить возможность этой атаки, необходимо сделать так, чтобы в разных маркировках, получаемых разными злоумышленниками, разные символы отвечали за детекцию изменений и/или проверяемая цепочка этих символов отличалась. Другими словами, нужно чтобы ПСГ R и Q1 инициализировались значениями, которые зависят от самой внедряемой маркировки. Это легко обеспечить в алгоритме маркирования, если подать на вход соответствующим хеш-функциям еще и внедряемую маркировку. Такой подход предотвращает коалиционную атаку, но заметно усложняет алгоритм проверки наличия изменений. Действительно проверка наличия изменения становится не менее сложной, чем извлечение маркировки без априорного знания о ней: необходимо перебрать все возможные варианты маркировки и сравнить результат их внедрения с образцом. Если какая-то маркировка совпадет, то она и была внедрена, а если нет — данный фрагмент был изменен. Поэтому если это возможно в системе, то стоит подумать о предотвращении коалиционной атаки другими средствами, например на уровне перехвата взаимодействий между пользователями.

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

вильной маркировки без знания секретного ключа.

Угроза уничтожения маркировки более существенна. Фактически, оставив второй символ части как индикатор оригинального языка, мы позволили всем желающим беспрепятственно уничтожать маркировку. Если бы мы не оставили этот символ, задача ее уничтожения не была бы более сложной, так как базовый язык документа легко определить "на глаз" или автоматически с помощью чуть более сложного анализа. Фактически легко видеть, что робастность предложенного метода внедрения относительно атак на уничтожение равна нулю. Поэтому предлагаемую систему можно внедрять только в сочетании с развитой системой перехвата и анализа передающихся от пользователя к пользователю и между пользователем и хранилищем документов. Кроме того, в некоторых ситуациях пользователи просто не могут проводить подобные атаки. Например, если информационная система предприятия построена не на полноценных рабочих станциях, а на машинах типа "тонкий клиент", которые не позволяют злоумышленнику производить никаких непредусмотренных штатным ПО действий, а просто отображают информацию, которая реально хранится и обрабатывается на специальном сервере. Атака на удаление маркировки может быть связана со стремлением удалить свои "отпечатки" из документов, отсылаемых за пределы предприятия. Если такая атака проводится уже после утечки документа, то даже хорошая система перехвата трафика не сможет этому препятствовать. Поэтому обеспечение защиты авторских прав и/или выявление виновного в утечке за пределами сети предприятия возможно, только если злоумышленники, осуществившие кражу документа, не знают о применении в украденной ими информации скрытой маркировки. Однако рядовым пользователям системы и не надо для выполнения своей работы с документами знать об этой скрытой маркировке. Рекомендуется организовать развертывание так, чтобы только администратор безопасности знал механизм обеспечения безопасности.

Практическая реализация метода

Авторами была создана практическая реализация описанной системы, которая подтвердила работоспособность представленной технологии. Практическая реализация выполнена на базе CУБД Oracle и сервера приложений, основанного на веб-сервере Apache и mod_plsql [4].

Данная реализация рассчитана на применение в ИО организованной на базе тонких клиентов, что позволяет организовать

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

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

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

Заключение

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

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

ется практическая реализация встраивания маркировки в большие мультимедиа файлы. Дело в том, что для организации масштабируемой системы, которая способна одновременно обслуживать несколько запросов на внедрение или извлечение маркировки, следует организовать потоковую обработку больших мультимедиа-файлов, при которой лишь небольшая часть файла хранится в каждый момент в оперативной памяти. Это требование налагает определенные ограничения на выбор метода внедрения, не все из которых ему удовлетворяют. Из этого же требования вытекает, что организация хранения мультимедийных данных, подлежащих маркировке внутри реляционной базы данных — не слишком удачная идея в данном случае. Дело в том, что даже в наиболее развитых на сегодняшний день СУБД, отсутствует хороший интерфейс потокового доступа к бинарным данным, хранящимся внутри баз данных. Поэтому представляется что для организации такой системы лучше подходит хранение изображений или других мультимедийных данных в обычных файлах файловой системы и организация символьных ссылок на эти файлы в таблицах СУБД [6].

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

Литература

1. Аграновский А.В., Балакин А.В., Хади РА

Запатентованные методы стеганографии в технологиях цифровых водяных знаков // Информационные технологии. — М.: Машиностроение, 2002. — №9. — С. 2-7.

2. Brass l J., Low S., Maxemchuk N., O'Gorman L Document marking and identification using both line and word shifting // Technical report, AT&T Bell Laboratories, 1994. — рр. 853-860.

3. Аграновский А.В., Балакин А.В. Стеганография в тексте // Труды конференции "Безопасность информационных технологий”. — Пенза, 2001. — Том 2. — С. 15-16.

4. Алиев АТ., Балакин А.В., Селин Р.Н., Хади РА Способ маркировки и способ проверки маркировки строк ответов на запросы пользователей к базе данных с использованием цифровых водяных знаков // Патент РФ № 2338248, заявка № 2007115462/09 (016791).

5. Matsumoto M., Nishimura T. Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator // ACM Transactions on Modeling and Computer Smulation: Special Issue on Uniform Random Number Generation. — Vol. 8, №1, January 1998. — рр. 3-30.

6. Sears R., van Ingen C., Gray J. To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem? // Technical Report MSR-TR-2006-45 Microsoft Research Microsoft Corporation One Microsoft Way, Redmond, WA 98052, April 2006.

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