Защита цифровых карт с использованием электронных ключей HardLock.

Авторы:

Голубев Игорь - Aladdin Software Security RD, (г. Москва)

Серов Алексей - Научно-технический центр Автоматизированной геоинформационной кадастровой системы Республики Коми, (г. Сыктывкар)

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

Наиболее удобным для пользователя было бы решение данной проблемы в рамках программных продуктов ГИС. Но, к сожалению, разработчики не торопятся встраивать системы защиты цифровых карт в свои программные продукты, т.к. это не соответствует их коммерческим интересам (цифровые карты - бесплатно, программные продукты - за деньги). Имеющиеся в некоторых программных продуктах возможности создают только иллюзию защиты и не являются проблемой для знающих людей. Так например, в ArcView 3.0a, все пароли, предназначенные для блокировки тем, вы можете легко обнаружить в файле *.apr просто поискав теги с именами "password" (рис 1).


 

Использование специализированных продуктов третьих фирм является пожалуй единственной серьезной возможностью, позволяющей снять остроту проблемы. Далее мы рассмотрим наиболее распространенный случай - защита от несанкционированного копирования как посторонними так и доверенными лицами. Это, пожалуй, самый сложный для исполнения тип защиты, т.к. пользователи, работающие с защищаемыми файлами данных имеют доступ как на чтение так и на запись. В то же время необходимо обеспечить, чтобы информация, содержащаяся в файлах не выходила, в своем исходном виде, за пределы некоторого ограниченного "пространства" (локального компьютера, организации) или была растиражирована в строго определенном количестве экземпляров. При этом заранее считается, что пользователи не заинтересованы в обеспечении защиты организационными методами. Наиболее надежным способом защиты данного типа, разработанным к настоящему времени является использование специальных электронных ключей. Одним из самых распространенных типов продукции такого вида являются электронные ключи Hardlock, выпускаемые израильской фирмой Aladdin (www.aladdin.ru).

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


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

Как с точки зрения пользователя выглядит работа с защищенными данными?

·         В параллельный, последовательный, USB или PCMCIA порт компьютера устанавливается специальное устройство: ключ. Его назначение: идентифицировать легальность копии и генерировать код для шифрования/дешифрования данных. Ключи или аппаратные платы шифрования могут так же устанавливаться в слоты внутри компьютера,

·         Инсталлируется особый драйвер (эта операция чрезвычайно проста и не требует задания каких-либо параметров для инсталляции),

·         Доступ к защищенным файлам осуществляется только в том случае, если ключ остается подключенным к компьютеру. В противном случае программное средство перестает "узнавать" данные файлы и генерирует ошибку (при этом как правило, стабильность его работы не нарушается). Для работы с защищенными файлами программное средство ГИС должно быть специальным образом подготовлено поставщиком карты.

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

·         При работе с защищенными файлами наблюдается некоторое замедление работы (как правило, незначительное), вызванное осуществлением операций кодирования/декодирования.

Как с точки зрения поставщика цифровых карт выглядит подготовка и распространение защищенных данных?

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

·         С использованием ключа зашифровывается цифровая карта (входящие в ее состав файлы). При этом совершенно необязательно осуществлять шифрование всех файлов. Например, для ARC/INFO NT можно зашифровать только файлы arc.adf

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

a)       какие файлы будут защищенными: либо конкретно их перечислить, либо указать маски, например *.idx.

b)       код и ключевое слово, которое использовалось для шифрования этих файлов

Так, например, если вы поставляете карты для MapInfo Вам придется обработать таким образом файл mapinfow.exe и включить его в комплект поставки цифровой карты

·         Для поставки заказчику готовится комплект: ключ, инсталлятор драйвера, файл защищенной ГИС-программы, комплект файлов защищенной карты.

Перейдем к рассмотрению выявленных слабых мест системы защиты и возникающих вследствие этого ограничений на конфигурацию "защищенная программа" - "защищенные данные". Программные средства защиты Hardlock, как уже было замечено выше,  определяют необходимость шифрования или дешифрования того или иного файла путем анализа его имени или расширения. Например, если при работе с MapInfo вы защитили файлы с расширением *.map, но не защитили файлы с расширением *.mif, то нет никаких препятствий для использования функций экспорта. Таким путем, очевидно, и можно создать "нелегальную" копию в обменном формате MapInfo. Более того, если Вы защитили так же и файлы с расширением *.mif, то пользователь, знакомый с программированием на языке MapBasic может разработать программу для конвертирования цифровой карты в файл любой структуры, с любым расширением, в результате так же получиться "открытая" копия защищенной карты. Кроме того, в случае с MapInfo, остается возможность копирования посредством использования буфера обмена или системных протоколов передачи данных между приложениями, таких как DDE.

Таким образом, основная сложность при защите цифровых карт состоит в отключении каким-либо способом операций копирования или конвертирования, которые имеются в каждой из рассмотренных систем. Например, работая в ArcView с защищенными покрытиями ARC/INFO мы можем видоизменить интерфейс программы убрав оттуда пункт меню "Тема/Преобразовать в Shape-файл…". Очевидно, что это - не решение проблемы, т.к.:

·         Пользователь может самостоятельно восстановить этот пункт,

·         Пользователь может разработать скрипт на Avenu который будет осуществлять конвертирование.

Однозначным решением этой проблемы является защита всех файлов которые могут быть открыты или созданы ГИС-программой (т.е. указать маску *.*). Программное обеспечение Hardlock позволяет сделать это, но последствия очевидны: ГИС превращается в замкнутую систему которая "все впускает, но ничего не выпускает". Такой подход приемлем только в том случае, если не предполагается создавать в ГИС-программе "открытые" копии исходных или обработанных данных, включая даже текстовые файлы, а весь информационный обмен осуществляется в рамках однотипных программных средств или с использованием одного и того же защищенного формата (например ESRI Shape), защищенных с использованием одного и того же кода и ключевого слова. В случае если ГИС не поддерживает копирование из формата в формат или экспорт в обменные ГИС форматы, то указанная проблема снимается, что и имеет место при использовании ГИС Geograph [1] .

В НТЦ АГИКС РК были протестированы средства защиты разработанные фирмой Aladdin (представительство в России - Aladdin Software Security RD). Тестирование осуществлялось на программных продуктах MapInfo 5.0, ArcView 3.0, Geograph 1.5.28. Тестовые данные - фрагменты цифровой топографической карты Республики Коми, объем в формате GeoGraph - около 10 Мегабайт. Использовался компьютер Pentium II - 400, 64 MB, HDD IDE 6GB, OS Windows NT4 (SP4). Для тестирования было выполнено конвертирование в форматы MapInfo и ESRI Shape. Шифрование данных, подготовка защищенной версии ГИС-программ проводилось с использованием тестового комплекта HardLock. Все файлы данных были зашифрованы с установками предлагаемыми по умолчанию. Уровень защиты установлен как "минимальный" - 20% данных шифруется. Во время тестирования для каждой конфигурации проводилось интенсивное изменение масштаба карты, редактирование объектов (кроме Geograph) в течении примерно 2-х часов. Другие условия и результаты тестирования приведены в Таблице I. В таблице II приведены основные выводы.

Можно констатировать, что система защиты работает стабильно, некоторое количество фатальных сбоев в работе программ зафиксировано только при тестировании системы защиты совместно с ArcView 3.0a. и, в меньшей степени, с Geograph 1.5.28. Порчи данных цифровых карт при сбоях не происходило.

Таблица I. Условия и результаты тестирования.

Программное средство

Формат данных

Снижение быстродействия при загрузке программы

Снижение быстродействия при работе с защищенными файлами [2]

Особенности шифрования

Примечание

MapInfo 5.0

Внутренний

~50%

~20-30%

Зашифрован *.map

Работал стабильно

MapInfo 5.0

Внутренний

~50%

~40-50%

Зашифрованы все файлы. Маска *.*

Работал стабильно

ArcView 3.0а (русский)

ESRI Shape

~80%

~20-30%

Зашифрован *.shp

Несколько раз происходил останов Windows ("т.н. синий экран")

Geograph 1.5.28

ESRI Shape

~40%

~30-40%

Зашифрованы все файлы формата ESRI Shape

Несколько раз случайным образом возникала ошибка при загрузке слоя

Geograph 1.5.28

Внутренний

~40%

~40-50%

Зашифрованы все файлы. Маска *.*

Работал стабильно

Таблица II. Выводы

Программное средство

Общая характеристика быстродействия

Характеристика надежности работы

Возможности защиты

MapInfo 5.0

Удовлетворительное снижение производительности не очень заметное при небольшом экстенте

Очень надежная. Нарушений в работе не зафиксировано.

100% защиту можно обеспечить только защитив все файлы, с которыми работает ГИС (т.е. с маской *.*) [3]

ArcView 3.0а (русский)

Значительное снижение скорости загрузкии программы (почти в два раза).

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

100% защиту можно обеспечить только защитив все файлы, с которыми работает ГИС (т.е. с маской *.*) [4]

Geograph 1.5.28

Показал оптимальные результаты по снижению времени загрузки защищенной программы

Надежная. Зафиксированы единичные нарушения в работе.

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

Какие особенности, с точки зрения авторов имеют некоторые программные продукты ГИС по организации защиты цифровых карт при помощи технологии Hardlock? Прежде всего, необходимо заметить, что чем проще программный продукт, чем меньше он содержит функций по экспорту данных, чем меньше он содержит функций по преобразованию данных между поддерживаемыми форматами (типа Save As…), тем легче реализовать на его основе надежно защищенную систему. В этой связи достаточно большие перспективы у таких программных продуктов как Geograph, ArcExplorer, Карта 2000 Standard, ERDAS MapSheets Express и др. В то же время реализовать систему защиты в программных продуктах которые имеют указанные возможности и кроме того поддерживают "встроенные" многофункциональные языки программирования достаточно сложно, т.к. придется заниматься написанием специальных программных средств на встроенных языках для блокировки операций копирования. К таким программным продуктам относятся ArcView, MapInfo, MicroStation, Autocad Map и др. Кроме того, проблемой является защита данных в программах со сложной архитектурой, большим количеством модулей, которые напрямую работают с данными, таких как ARC/INFO, IDRISI, ER Mapper и др.

Можно предложить следующие типичные задачи для которых возможна эффективная реализация защиты с использованием Hardlock.

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

Схема II. Требуется полноценная работа в ГИС некоторого количества пользователей, возможно по сети, при этом не предполагается экспорт информации в другие системы (импорт допустим). На первый взгляд может показаться, что это довольно узкий круг задач. На наш взгляд это не так. Рассмотрим обобщенную схему информационного обмена любой отраслевой кадастровой системы (рис 2). Все работы группируются около выделенной организационной структуры, которая непосредственно занимается сбором (в т.ч. и из различных источников), хранением и обработкой информации, а так же предоставляет справочные сведения заинтересованным лицам или организациям.  При этом основная часть информационных потоков существует "внутри" кадастровой системы, а незначительная часть направляется вовне. Решение состоит в том, чтобы во всех точках выхода информационных потоков (их немного) организовать перекодировку экспортируемых данных в открытый формат. Эта операция чрезвычайно проста и не требует никаких специальных программных средств [5] .

Образно говоря, все выглядит так, как будто Вы, работая в широко распространенных коммерческих ГИС-продуктах, тем не менее имеете свой собственный формат данных.

 

Для иллюстрации предложенных схем приведем несколько конкретных примеров реализации защиты цифровых карт, которые предполагается осуществлять в НТЦ АГИКС РК.

Пример I. НТЦ АГИКС РК имеет единую цифровую основу масштаба 1:200000 и 1:1000000 на территорию Республики Коми, с использованием которой должны создаваться обзорные цифровые картографические материалы ведомственных кадастров. Как правило, такие материалы создают различные организации на договорной основе. Для того чтобы обеспечить взаимное согласование информации из различных кадастров необходимо передавать единую основу исполнителю на время выполнения договоров. В случае если цифровая карта не защищена, то возникает вероятность пиратского копирования цифровой карты кем-нибудь из сотрудников организации исполнителя. Для того чтобы предотвратить это, можно использовать защиту посредством ключа HardLock по "максимальной" схеме, т.е. с включением в число защищаемых всех файлов создаваемых ГИС-программой или редактором цифровых карт исполнителя. Это оправдано, т.к. по условиям договора, после окончания срока действия договора исполнитель должен передать заказчику все материалы, касающиеся выполнения работ. С использованием HardLock так же можно установить ограничение на период работы с цифровыми картами, который может совпадать с периодом действия договора. По истечении этого срока система защиты запретит доступ к цифровым картам.

Пример II. Для информационного обеспечения органов государственной власти НТЦ АГИКС РК устанавливает в министерствах и ведомствах справочно-информационные системы, включающие, в том числе и цифровые карты на компьютеры, которые можно условно считать "общедоступными". Данные системы, как правило, представляют собой замкнутую программную среду, основанную на ГИС GeoGraph (планируется так же использование ArcView) в которой осуществляется просмотр данных, формирование и печать простейших отчетов. При использовании ГИС GeoGraph удобно применить 100% защиту только файлов того формата, в котором представлена защищенная цифровая карта, например Shape-file. При этом все остальные форматы, которые может читать GeoGraph остаются свободно используемыми. Ими оператор может воспользоваться для просмотра "на фоне" защищенной цифровой карты других пространственных данных, получаемых из независимых от НТЦ АГИКС РК источников. 

Пример III. Тематические цифровые карты создаваемые НТЦ АГИКС РК в ряде случаев распространяются на коммерческой основе. Поскольку цифровые карты являются сложным продуктом, заказчику часто бывает необходимо ознакомиться с содержанием цифровой карты, исследовать ее структуру, проверить, насколько она удовлетворяет его потребностям. В этом случае было бы удобно передавать защищенную цифровую карту, вместе с программным продуктом для работы с ней во временное пользование. Это можно осуществить при помощи ключей Hardlock, запрограммировав их на определенный срок разрешения доступа к данным (например, на неделю) или указав количество разрешенных "запусков" цифровой карты. После окончания этого срока заказчик возвращает ключ защиты. Так, например, НТЦ АГИКС РК может передать в организацию-заказчика защищенную цифровую карту в формате редактора GeoDraw, при этом все функции этого редактора по просмотру, проверке корректности цифровой карты будут работать в обычном режиме, что позволит заказчику полноценно ознакомиться с цифровой картой. В случае если заказчик попытается экспортировать покрытия из цифровой карты, он получит зашифрованные файлы обменных форматов. Такой способ применения ключей Hardlock можно рекомендовать предприятиям поставщикам цифровой картографической информации для создания "демонстрационных" копий цифровых карт.


 

[1] ГИС Geograph поддерживает экспорт в WMF формат, но с его помощью очень сложно создать полноценную копию цифровой карты.

[2] Проверялась скорость вывода карты на экран в полном экстенте.

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

[4] Возможно, существуют способы отключить экспорт данных, которые авторам неизвестны.

[5] Осуществляется путем специального задания параметров при подготовке защищенных ГИС-программ.