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

УДК 003.26

Е. А. Блинова

Белорусский государственный технологический университет

СТЕГАНОГРАФИЧЕСКИЙ МЕТОД НА ОСНОВЕ ВСТРАИВАНИЯ ДОПОЛНИТЕЛЬНЫХ ЗНАЧЕНИЙ КООРДИНАТ В КАРТОГРАФИЧЕСКИЕ ДАННЫЕ

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

Ключевые слова: стеганография, пространственные данные, электронные карты, авторское право, описание пространственных объектов.

E. A. Blinova

Belarusian State Technological University

A STEGANOGRAPHIC METHOD BASED ON THE EMBEDDING OF ADDITIONAL COORDINATES INTO SPATIAL DATA

A formal description of the method and algorithm for embedding a digital watermark in electronic maps when placed in a database is given. The method is based on the use of additional parameters in the description of the elements of spatial areas of the electronic map. The features of the using of electronic maps in databases, the relationship of attribute columns and spatial data are considered. The embedding of hidden information involves the addition of points distributed over each spatial area of an electronic map in accordance with the values of the digital key sequence, which allows you to control the integrity of the set of attribute columns and the spatial area. To control the placement of additional points in the spatial object, the points are also set into the next spatial object according to the values of the digital key sequence. The algorithm of inverse steganographic transformation is considered to prove the authenticity and integrity of electronic digital maps. Possible key sequences for the deposition of additional elements in the spatial areas of electronic maps are considered.

Key words: steganography, spatial data, path description, copyright, path description.

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

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

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

Объект Вид растительности Площадь области Пространственное описание

1 ! - 2390207,52 POLYGON ((23.5423433236653 51.6272532963332.23..

2 Болота низинные ра... 7373330.62 POLYGON ((23.5339361940046 51.6567422537933.23..

3 Сосновые зеленом... 5516737.63 POLYGON ((23.6360137274265 51.5239240363253.23..

4 Болота низинные ра... 5604630.49 POLYGON ((23.6194313071585 51.5194235393527. 23..

5 Сосновые лишайник... 6319804,61 POLYGON ((23.6115519917721 51.5502276276684. 23..

в Сосновые кустарни... 6727959.93 POLYGON ((23.5997416660745 51.5734355847502. 23..

7 Сосновые лишайник... 3632972.33 POLYGON ((23.5934945137596 51.5375733967295. 23..

3 - 52340445.31 POLYGON ((23.5495430592486 51.637395243323. 23.5.

Э Болота низинные ра... 7321530.33 POLYGON ((23.5380357360441 51.7629042299063.23..

10 - 53092203.73 POLYGON ((23.5303313154013 51.7426801533373.23..

11 Сосновые лишайник... 46737643.33 POLYGON ((23.5501740571173 51.6384052443591.23..

12 Болота низинные ра... 10435204.39 POLYGON ((23.6737182985367 51.6709569713816. 23..

13 Сосновые лишайник... 26009317.72 POLYGON ((23.700527622634 51.6941386009903. 23.7.

14 Сосновые лишайник... 9940253.35 POLYGON ((23.64775026814 51.7794062615433. 23.64.

15 Сосновые зеленом... 11530763.39 POLYGON ((23.7900013100354 51.6403277015249. 23..

16 Луга вне пойм рек с... 34032474.97 POLYGON ((23.7540842073996 51.7157906910443.23..

17 Березовые (ВеУа ... 11524670.9 POLYGON ((23.3322476720305 51.7445115464106.23..

Рис. 1. Часть карты растительности РБ

Карты состоят из набора слоев. Слой представляет собой географические данные определенной тематики, например реки, дороги, земельные участки, контуры зданий и т. д. Каждый слой карты используется для отображения определенного набора данных. Электронная карта состоит из упорядоченной совокупности слоев карты, часто она имеет один слой, а остальные слои размещаются в других картах. Таким образом, формат электронной карты может быть сведен к таблице, столбцами которой являются столбец с описанием пространственной области и набор столбцов с атрибутивной информацией об этой области, например о высоте над уровнем моря, глубине грунтовых вод, этажности здания и т. д. В каждой строке этой таблицы содержится пространственное описание и атрибуты только для одной области. В результате набор строк дает полную электронную карту. На рис. 1 представлена часть электронной карты растительности в Республике Беларусь с атрибутивными данными.

В данном случае столбцы Объект, Вид растительности и Площадь области являются атрибутами электронной карты, а столбец Пространственное описание содержит информацию об указанной пространственной области в формате XML. Описание пространственных объектов в файлах электронных карт производится в формате WKT (Well Known Text), который является основным языком разметки текста для представления объектов векторной геометрии на карте, пространственных систем координат и преобразований между пространственными системами. Кроме WKT, координа-

ты пространственных объектов могут быть описаны языками разметки WKB (Well Known Binary) и GML (Geography Markup Language), которые являются подмножествами языка разметки XML.

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

Описание пространственных данных может производиться при помощи различных типов объектов, таких как Point (точка в определенной координате), LineString (прямая или ломаная линия), Polygon (многоугольник), MultiPolygon (связанный набор многоугольников) и др. На рис. 2 изображено полное описание одной пространственной области карты растительности.

MULTIPOLYGON

Рис. 2. Описание одной пространственной области

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

Указанные координаты зависят от используемой системы координат, которая должна быть одинакова для всех объектов электронной карты. Для текущей карты используется идентификатор пространственной привязки SRID = = 4326, соответствующий географической системе координат WGS84.

Для реальных карт описание областей производится при помощи объектов Polygon или MultiPolygon, причем каждый из них может иметь тысячи и десятки тысяч вершин. В табл. 1 приведено количество вершин для многоугольников, образующих пространственные области карты растительности Республики Беларусь.

Из-за большого количества пространственных объектов и сходства структуры обработку данных электронных карт часто производят в базе данных. Многие коммерческие и open-source системы управления базами данных (СУБД) позволяют обрабатывать пространственные данные: находить пересечения и вложения географических объектов, расстояния между объектами различного вида, производить визуализацию пространственных объектов. Пространственные данные могут переноситься между базой данных, поддерживающей обработку пространственных данных, и специфическими форматами файлов хранения электронных карт. При обработке пространственных данных в базе данных для каждой электронной карты создается отдельная таблица, содержащая набор пространственных областей и атрибуты, например отдельные таблицы для карты растительности и карты рельефа. Теоретически несколько карт могут быть объединены в одну с общим набором атрибутивных столбцов и дроблением значений в пространственных столбцах, однако на практике такое решение применяется редко из-за увеличения числа пространственных объектов.

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

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

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

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

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

Шаг 1. Произведем подсчет количества пространственных объектов N в электронной карте.

Пусть электронная карта представлена в виде табл. 2.

Таблица 2

Пространственные объекты и атрибуты электронной карты

ObjId Ai • •• Am g

1 A11 A1 m g1

i Ai 1 A f^-i m gi

N An 1 AN m gN

В табл. 2 ОЪ]Ы - уникальное значение, характеризующее каждую строку; А1, ..., Ат - атрибуты

Таблица 1

Распределение вершин в карте растительности

Количество Процент от общего количества

вершин объектов

101-1000 11 752 57,3

11-100 7 182 35,0

1001-10000 1 223 6,0

0-10 297 1,4

> 10 000 39 0,2

электронной карты; g - описание пространственных областей, причем Л7 ь ..., Л7 т - атрибуты 7-го объекта электронной карты; g7 - описание исходной 7-й пространственной области.

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

Шаг 2. Введем некоторые обозначения для всех пространственных областей в целом и для каждой из них в частности. Обозначим к7 - значение хеш-функции для исходного 7-го пространственного объекта g7 и его набора атрибутов (Ль ..., Лт};

Е7 - случайный набор ребер пространственного объекта g7 для осаждения скрытой информации;

Р7 - точки осаждения, составляющие соответствующий Е7 набор вершин, в расположении которых скрыто значение хеш-функции к7;

Н7 - набор ребер, в которые осаждаются точки подтверждения Я7, формируется как значение хеш-функции от объединения атрибутивного столбца ОЪ/Ы и значений В и О;

Я7 - точки подтверждения, составляющие соответствующий Н набор вершин, в расположение которых помещается расположение точек осаждения;

07 - описание 7-й пространственной области с добавлением набора точек Р7,

О'7 - описание 7-й пространственной области с добавлением наборов точек Я7 1 и Р7,7 е [1; Л'].

Подсчитаем к7 - значения хеш-функции от набора атрибутивных столбцов для всех пространственных областей. В данной реализации будем предполагать, что выбран алгоритм хеширования ЫБ5, длина хеша 256 бит, но с незначительными изменениями может быть выбран и другой алгоритм хеширования. Значение хеша будет рассматривать, как набор из 16 шестнадца-теричных цифр {к 7, ..., Мб 7}, 7 е [1; Л].

Подсчитаем Н - значения хеш-функции от объединения атрибутивного столбца ОЪ/Ы, В и О для всех пространственных областей. В данной реализации предположим, что выбран алгоритм хеширования ЫБ5, длина хеша 256 бит. Значение хеша будем рассматривать как набор из 16 шест-надцатеричных цифр {Н1 , 7}, 7 е [1; Л].

Шаг 3. Рассмотрим первый пространственный объект g1. Случайно выбирем 16 ребер для осаждения хеш-значения, получим массив Е1.

Шаг 4. На выбранных ребрах установим дополнительные точки, содержащие в своем расположении скрытую информацию, следующим образом: на каждом /-м ребре из набора Е1 пространственного объекта установим дополнительную точку в отношении которая удовлетворяет следующему неравенству:

А, < к/ < А, + 1,./е [1; 16].

Таким образом, получаем массив точек Р1{Р1 1, Р1 2, ..., Р1 16}. Добавим массив точек Р1 к описанию исходного полинома g1 и получим новое описание пространственного объекта О1.

Шаг 5. Рассмотрим следующий пространственный объект g2. В соответствии с Н1 выби-рем ребра для осаждения расположения вершин Р1, получим массив точек Я1. Набор ребер будет выбираться в зависимости от Н1 следующим образом: на ребре Н1 1 ставим дополнительную вершину Р1 1, затем через Н2 7 ставим дополнительную вершину Р1 2 и т. д.

На выбранных ребрах установим дополнительные точки следующим образом: на каждом /-м ребре установим дополнительную точку в отношении ф;, которое удовлетворяет следующему неравенству:

ф < Р1; < ф + 1,/ е [1; 16].

После установки всех точек получим массив точек Я1. Добавим массив точек Я1 к описанию исходного полинома g2 и получим новое описание пространственного объекта О'2.

Шаг 6. Рассмотрим пространственный объект О'2. Случайно выберем 16 ребер для осаждения хеш-значения, получим массив Е2. На выбранных ребрах установим дополнительные точки Р2, содержащие в своем расположении скрытую информацию. Добавим массив точек Р2 к описанию исходного полинома О'2 и получим новое описание пространственного объекта О2.

Выполняя аналогичные действия для каждого последующего пространственного объекта, получим из исходных описаний пространственных областей g7 новые описания пространственных областей О7,7 е [1; Л].

В результате электронная карта будет состоять из атрибутивных столбцов и описания пространственных областей О.

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

Таблица 3

Дополнительные значения и описания пространственных областей

к Е Р а н Я а'

к1 Е, Л 01 Н Я1 О 1

н. Е. Р7 О. Н Я, О

кл Ел Рл Ол Нл Ял О'л

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

Шаг 1. Произведем подсчет количества пространственных объектов N в электронной карте.

Шаг 2. Подсчитаем И7 - значения хеш-функции от объединения атрибутивного столбца ОЪ]Ы, Б и О для 7-й пространственной области. Значение хеша будем рассматривать, как набор из 16 шестнадцатеричных цифр {И1 7, ..., И16 7>, 7 е [1; N1.

Шаг 3. Рассмотрим последний пространственный объект GN. Используя последовательность PN {PN 1, PN 2, ..., PN 16>, определим точки осаждения данных.

Шаг 4. Подсчитаем каждое отношение Ау, в котором точки осаждения PNу разделяют ребра, на которых они находятся. Набор Ху, у е [1; 16], составляет модельное значение хеш-функции

Шаг 5. Удалим из описания пространственного объекта GN точки PN, получим описание пространственного объекта G'N.

Шаг 6. Нам известна величина И^т ь следовательно, можно вычислить набор дополни-

тельных вершин PN_l. Определим отношение фу, У е [1; 16], в котором точки подтверждения разделяют ребра, на которых они находятся.

Шаг 7. Удалим из описания пространственного объекта G'N точки PN, получим описание пространственного объекта gN.

Шаг 8. Вычислим значение хеш-функции Если И'ъг = И^г, то целостность данных gN подтверждена.

Шаг 9. Рассмотрим предыдущий пространственный объект GN1. На шаге 6 была найдена последовательность PN 1 ^ 1 1, PN 1 2, ••, PN 1 16>, при помощи которой определим точки осаждения данных GN 1. Повторим шаги 6-9, пока не дойдем до пространственного объекта g1. Ситуация, при которой какое-либо значение И'7 Ф И7, означает, что целостность электронной карты нарушена.

Шаг 10. При совпадении всех И'7 с И7 можно сделать вывод о целостности электронной карты и доказательстве авторства.

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

Литература

1. Блинова Е. А., Смелов В. В. Применение стеганографических методов при хранении картографической информации в экспертной системе прогнозирования последствий пролива нефтепродуктов // Сахаровские чтения 2017 года: экологические проблемы XXI века: материалы 17-й Меж-дунар. науч. конф., Минск, 18-19 мая 2017 г. / Междунар. гос. экол. ин-т им. Д. А. Сахарова Белорус. гос. ун-та. Минск, 2017. C. 223-224.

2. Смелов В. В., Блинова Е. А. Экспертная система прогнозирования последствий пролива нефтепродуктов // Водные ресурсы и климат: материалы V Междунар. вод. форума, Минск, 5-6 окт. 2017 г. / Белорус. гос. технол. ун-т. Минск, 2017. C. 196-197.

3. Блинова Е. А., Урбанович П. П. Защита целостности данных электронных карт стеганографи-ческим методом // Веб-программирование и интернет-технологии (WebConf2018): тез. 4-й Междунар. науч.-практ. конф.), Минск, 14-18 мая 2018 / Белорус. гос. ун-т. Минск, 2018. C. 147.

4. Урбанович П. П. Защита информации методами криптографии, стеганографии и обфускации. -Минск: БГТУ, 2016. 220 с.

5. Блинова Е. А., Урбанович П. П. Стеганографический метод на основе встраивания дополнительных значений координат в изображения формата SVG // Труды БГТУ. Сер. 3, Физ.-мат. науки и информатика. № 1 (206). 2018. C. 104-109.

6. Блинова Е. А., Голик А. А. Модификация стеганографического метода на основе встраивания дополнительных значений координат в изображения формата SVG // Развитие информатизации и государственной системы научно-технической информации (РИНТИ-2018): докл. XVII Междунар. конф., Минск, 20 сент. 2018 г. / Объед. ин-т проблем информатики Нац. акад. наук Беларуси. Минск, 2018. C. 130-133.

7. Blinova E., Shutko N. The use of steganographic methods in SVG format graphic files // New Electrical and Electronic Technologies and their Industrial Implementation: proc. of the 10th Intern. Conf., Zakopane, Poland, 23-26.06.2017 / Lublin University of Technology; Media Patronage "Przeglad Elektro-techniczny". Lublin, 2017. P. 45.

8. Shutko N., Blinova E. The use of aprosh and kerning in text steganography // New Electrical and Electronic Technologies and their Industrial Implementation; proc. of the 9th Intern. Conf., Zakopane,

Poland, 23-26.06.2015 / Lublin University of Technology; Media Patronage "Przeglad Elektrotech-niczny". Lublin, 2015. P. 77.

References

1. Blinova E. A., Smelov V. V. An application of the steganographic methods in the storage of cartographic information in the expert forecast system of the consequences of petroleum products spillage. Ma-terialy 17-y Mezhdunarodnoy nauchnoy konferentsii "Sakharovskiye chteniya 2017: ekologicheskiye prob-lemyXXI veka" [Materials of the 17th International Scientific Conference "Sakharov Readings 2017: Envi-romental Problems of the XXI century"]. Minsk, 2017, pp. 223-224 (In Russian).

2. Smelov V. V., Blinova E. A. The expert forecast system of the consequences of petroleum products spillage. Materialy VMezhdunarodnogo vodnogo foruma "Vodnyye resursy i klimat" [Materials of the 5th International Water Forum 'Water Resourses and Klimate"]. Minsk, 2017, pp. 196-197 (In Russian).

3. Blinova E. A., Urbanovich P. P. The protection of integration of electronic maps by steganography method. Tezisy dokladov 4-y Mezhdunarodnoy nauchno-prakticheskoy konferentsii "Veb-programmiro-vaniye i Internet tekhnologii (WebConf2018)" [Abstracts of the 4th International Scientific Conference 'Web-programming and Internet Technologies (WebConf2018)"]. Minsk, 2018, p. 147 (In Russian).

4. Urbanovich P. P. Zashchita informatsii metodami kriptografii, steganografii i obfuskatsii [The protection of information based on the methods by cryptography steganography and obfuscation]. Minsk. BGTU Publ., 2016. 220 p.

5. Blinova E. A., Urbanovich P. P. The steganographic method based on the embedding of additional coordinates into images in SVG format. Trudy BGTU [Proceedings of BSTU], series 3, Physics and Mathematics. Informatics, no. 1 (206), 2018, pp. 104-109 (In Russian).

6. Blinova E. A., Golik A. A. The modification of the steganographic method based on the embedding of additional coordinates into images in SVG format. Doklady XVII Mezhdunarodnoy konferentsii "Raz-vitiye informatizatsii i gosudarstvennoy sistemy nauchno-technicheskoy informatsii" [Abstracts of the 17th International Conference "Development of informatization and the state system of scientific and technical information"]. Minsk, 2018, pp. 130-133 (In Russian).

7. Blinova E., Shutko N. The use of steganographic methods in SVG format graphic files. Proc. of the 10th Intern. Conf. "New Electrical and Electronic Technologies and their Industrial Implementation". Lublin, 2015, p. 45.

8. Shutko N., Blinova E. The use of aprosh and kerning in text steganography. Proc. of the 9 th Intern. Conf. "New Electrical and Electronic Technologies and their Industrial Implementation ". Lublin, 2015, p. 77.

Информация об авторе

Блинова Евгения Александровна - старший преподаватель кафедры информационных систем и технологий. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: evgenia.blinova@belstu.by

Information about the author

Blinova Evgeniya Aleksandrovna - Senior Lecturer, the Department of Information Systems and Technologies. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: evgenia.blinova@belstu.by

Поступила 03.12.2018