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

Вид материалаДиплом
Глава 3 Определение угроз безопасности
Угрозы, на предотвращение которых направлена данная технология
Угроза прослушивания трафика между клиентом и сервером. Решение: внедрение
Использование Https
Описание программных средств
Список литературы.
Ртм «порядок создания и контроля цифровой картографической продукции»
База Данных
Подобный материал:
1   2   3   4   5   6   7

Глава 3

Определение угроз безопасности


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


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



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

Угрозы, на предотвращение которых направлена данная технология:
  • Угроза кражи исходной картографичексой информации с грифами секретно и ДСП. Риск попадания информации к широкому кругу несанкционированных лиц, риск разглашения важной секретной информации, компрометация системы. Решение: все действия с исходной картой и перевод координат в искаженную форму производятся вне основной системы ответственными лицами с соответствующим допуском. Искаженная карта записывается на отдельный носитель и таким образом вводится в систему.
  • Угроза хищения искаженной карты из хранилища. Решение: искаженная карта не дает точных результатов (координат объектов) злоумышленнику, таким образом снижая целесообразность затрат на организацию кражи информации из хранилища данных
  • Угроза прослушивания трафика между клиентом и сервером. Решение: внедрение HTTPS-соединения
  • Угроза компрометации ключей. Ключ для искажения данных карты используется только лишь для зашифровки и создания ключа клиента, а его компрометация не поспособствует расшифровке данных. Знание ключа клиента теоретически может помочь расшифровать массив данных, но система предусматривает получение одним пользователем лишь ограниченного набора данных и ограничение на количество этих наборов в единицу времени
  • Угроза компрометации сертификатов/кражи/потери eToken устройства. Сертификат хранится на защищенном устройстве, сертифицированном во ФСТЕК России, в зашифрованном виде. Сертификат записывается на устройство при помощи криптографических алгоритмов, исключающих его передачу по открытым каналам. Потерянное/украденное/вышедшее из строя устройство легко вывести из системы. К тому же сертификат, без закрытого ключа eToken, не может выполнять свои функции.
  • Угроза внедрения в число клиентов злоумышленника. Злоумышленник может получить часть «чистых» картографических данных, если внедрится в компанию клиента, получит допуск необходимый для просмотра карт, получит легитимное устройство с размещенным на нем сертификатом, получит подписку на услугу получения картографических данных. Попытки нарушить целостность данных, таким образом, будут жестко контролироваться системой. Избежать частичного нарушения конфиденциальности чрезвычайно трудно, но исполнение данной угрозы усложняется в связи с описанными условиями получения данных, а также в связи с неполнотой потенциально извлеченных их системы данных


Использование Https




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

Использование HTTPS позволяет произвести проверку подлинности каждой из взаимодействующих сторон при установке соединения, а также защитить передаваемые данные. HTTPS выполняет проверку подлинности клиента или сервера и обеспечивает целостность и конфиденциальность передаваемых данных, при этом использование HTTPS создаёт дополнительные требования при администрировании системы, увеличивает временные затраты на установление соединения. Однако использование HTTPS и разработанной для обеспечения функционирования HTTPS инфраструктуры даёт ряд дополнительных преимуществ:
  • Удобный графический интерфейс управления доверенными сертификатами.
  • Возможность временной приостановки доверия к конкретному сертификату.
  • Обеспечение связи сертификата с конкретным зарегистрированным клиентом посредством eToken позволяет снизить возможность аутентификации одного клиента по сертификату другого

HTTPS легко внедряется в систему передачи данных через web-сервисы

Описание программных средств




Для тестирования данной модели была сформирована база по представленной схеме. Для формирования содержимого базы были использованы общедоступные карты Тюмени и Тюменской области в формате tab. Для переноса карты из формата tab в тип geometry использовался дополнительно созданный программный продукт-конвертер, с помощью которого объекты на карте были помещены в базу MSSQL Server. Также была составлена упрощенная политика безопасности, состоящая из описаний нескольких слоев и соответствующих слоям масштабов, а также нескольких объектов с разной степенью секретности.

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

В качестве ГИС-браузера использовалось условно-бесплатное средство Map-Window 6.0 как удобное, быстрое бесплатное средство с открытым кодом, предоставляющее возможность оперировать такими объектами как полигоны и слои, а также поддержкой нескольких популярных форматов геоданных и возможностью дописывать к нему плагины. К клиентскому модулю визуализации графики была добавлена поддержка аутентификации по eToken, а также модуль преобразования координат на карте.

Модуль искажения картографических данных реализован на основе алгоритма трансформации триангуляции Делоне и протестирован в географической системе MapWindowGIS.
  • Изначально на карте программно отмечается достаточное количество опорных точек
  • На контрольных точках строится триангуляция Делоне
  • Попадающие в определенный треугольник триангуляции точки на карте смещаются на величину, зависящую от свойств триангуляции в данной области
  • Карта перестраивается на новых координатах



Исходная карта



Искаженная карта


Необходимо отметить сделать некоторые замечания, касающиеся трудоемкости задачи искажения:
  1. Трудоемкость задачи построения триангуляции зависит не от количества объектов на карте или от сложности карты, а от выбранного количества опорных точек. Однако увеличение их количества соответственно увеличивает сложность наносимых на карте изменений, при этом совершенно не увеличивая количество перемещений точек (в любом случае каждая точка на карте изменит свои координаты независимо от количества опорных точек). Поэтому увеличение точек триангуляции представляется автору нецелесообразным.
  2. Время искажения точек на карте также не зависит от свойств триангуляции, так новое положение каждой точки на карте вычисляется в зависимости от старого положения (как показано в главе 1) Бариметрические координаты заново считаются для каждой точки, при этом алгоритм расчета линеен и не требует больших затрат ресурсов
  3. Легальный пользователь тратит некоторое время в начале работы на обратное искажение карты, чтобы получить данные в исходном неискаженном виде. После получения карты для дальнейшей работы не требуется применять алгоритм расшифровки.
  4. Легальный пользователь не искажает всю карту для получения исходных данных, а только ее часть

При начальных данных в 50 опорных точек, 80 полигонов в триангуляции Делоне в 2500 тысяч полигональных объектов и 20000 точек алгоритм искажает карту в среднем за 14 до 16 секунд. Отсюда следует вывод что данный алгоритм не подходит для перепроецирования карты «на лету», но он вполне приемлем для локальной работы пользователя с расшифрованной частью карты.


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


Таким образом, пользователь, входящий в ГИС-браузер на своем компьютере, предоставляет личное устройстве eToken, его данные проверяются на сервере через WCF, после этого пользователь запрашивает необходимые ему карты также через WCF-сервис, который проверяет его права на доступ, и, если у данного пользователя есть право на просмотр, то ему предоставляются необходимые данные.





Заключение


На данном этапе работы над дипломным проектом достигнуты следующие результаты:
    • Разработана концепция системы и описан принцип работы
    • Создано хранилище картографических данных на базе MSSQL Server 2008
    • Реализована схема передачи (на основе SSL) и удаленного просмотра картографических данных
    • Реализован модуль удаленной аутентификации на основе eToken
    • Реализован модуль для искажения положения объектов на карте



Список литературы.



  1. Иванников А.Д, Кулагин В.П. — Геоинформатика — 2001, М_МАКС Пресс
  2. Серапинас Б.Б. — Математическая картография: Учебник для вузов / Балис Балио Серапинас. — М.: Издательский центр «Академия», 2005. — 336 с.
  3. ГОСТ Р 52155–2003. Географические информационные системы. Федеральные, региональные, муниципальные. Общие технические требования.
  4. ГОСТ Р 52438–2005. Географические информационные системы. Термины и определения.
  5. ГОСТ Р 52573-2006. Географическая информация, метаданные.


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


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


  1. Инструкция о порядке составления и издания планов городов и других населенных пунктов, предназначенных для открытого опубликования и с грифом "для служебного пользования". СПГ-88, ГКИНП-14-221-88;


  1. РТМ «ПОРЯДОК СОЗДАНИЯ И КОНТРОЛЯ ЦИФРОВОЙ КАРТОГРАФИЧЕСКОЙ ПРОДУКЦИИ»;


  1. Скворцов А.В. - Триангуляция Делоне и её применение – 2002, Издательство Томского университета



База Данных







База данных содержит следующие таблицы:
  1. tblMetaTable – метаданные. Используется для получения дополнительной информации по географическим объектам:
  • ID: bigint – идентификатор;
  • FeatureID: bigint – указание на геометрический объект;
  • MetaTable: nvarchar(max) – указание на таблицу с данными;
  • MetaTableLinkCondition: nvarchar(max) – условие выборки данных.
  1. tblCertificates – таблица с данными о сертификатах X.509: Используется для привязки сертификата к пользователю по ключу сертификата, а также для того чтобы ограничить сертификаты с истекшим сроком годности
  • UserID: bigint – ссылка на пользователя;
  • OrgID: bigint – ссылка на организацию, если сертификат привязан к ней;
  • RequestID: int – номер запроса в сертификационном центре;
  • PublicKey: nvarchar(max) – открытый ключ сертификата, по нему сертификат однозначно идентифицируется;
  • StartDate: datetime – время начала действия сертификата;
  • EndDate: datetime – время окончания действия сертификата;
  • CertFile: varbinary(max) – файл с сертификатом;
  • ID: bigint – идентификатор.
  1. tblFeatures – таблица с данными о геометрических объектах. Сохраняет геометрическое описание объектов:
  • ID: bigint – идентификатор;
  • FeatureName: nvarchar(500) – название объекта;
  • SpatialData: geometry – описание геометрических данных;
  • Info: nvarchar(max) – дополнительная информация;
  • LayerID: bigint – ссылка на слой, в котором находится объект;
  • RestrictionID: bigint – ссылка на ограничения по масштабу
  • SafetyLabel: tinyint – уровень секретности(метка доступа). При доступе к объекту субъект должен иметь метку равную или выше метки объекта.
  1. tblLayers – таблица со слоями, содержащими геометрические объекты:
  • ID: bigint – идентификатор;
  • Name: nvarchar(max) – название слоя;
  • RestrictionID: bigint – ссылка на ограничения по масштабу;
  • MaxExtent: geometry – максимальный описывающий прямоугольник;
  • SafetyLabel: tinyint – уровень секретности(метка доступа). При доступе к объекту субъект должен иметь метку равную или выше метки объекта;
  • IsHaveFile: bit – имеется ли для данного слоя файл с геометрическими и географическими данными;
  • File: varbinary(max) – файл с геометрическими и географическими данными;
  • FileFormatID: bigint – ссылка на формат файла данных;
  • CreatorID: bigint – ссылка на создателя данного объекта;
  • Password: nvarchar(25) – пароль необходим, если нужно зашифровать/расшифровать данный слой отдельно;
  • Info: nvarchar(max) –дополнительная информация.
  1. tblOrgs – таблица с организациями:
  • ID: bigint – идентификатор;
  • CompanyName: nvarchar(500) - название компании;
  • CompanyInfo: nvarchar(max) – информация о компании;
  • Requisites: nvarchar (max) – реквизиты компании;
  • RespSubject:nvarchar(500) – ответственный субъект;
  • Contacts: nvarchar(max) - контакты.
  1. tblRestrictions – ограничения по масштабу для объектов и слоев:
  • ID: bigint – идентификатор;
  • Name: nvarchar(500) – имя ограничения;
  • MinVisibleScale: int – минимальный масштаб видимости;
  • MaxVisibleScale: int – максимальный масштаб видимости.
  1. tblRoleMembers – таблица соединяющая роли с пользователями:
  • RoleID: bigint – ссылка на роль;
  • UserID:bigint – ссылка на пользователя;
  • DateIn: datetime – дата создания членства в роли;
  • DateOut: datetime – дата отмены членства в роли;
  • ID: bigint – идентификатор.
  1. tblRoles – роли:
  • ID: bigint – идентификатор;
  • Name: nvarchar(50) – название роли;
  • Description: nvarchar(max) – описание роли.
  1. tblUserInfo – информация о пользователе отделена от сущности самого пользователя:
  • ID: bigint – идентификатор;
  • FirstName: nvarchar(500) – имя;
  • SecondName nvarchar](500) – фамилия;
  • MiddleName nvarchar(500) – отчество;
  • Info: nvarchar(max) – дополнительная информация;
  • OrgID: bigint – ссылка на организацию, в которой состоит пользователь;
  • PhoneNumber nvarchar(500) – телефон пользователя.
  1. tblUsers – таблица, представляющая пользователя в системе:
  • ID: bigint – идентификатор;
  • Login: nvarchar(25) – логин пользователя;
  • UserInfo: bigint – ссылка на информацию о пользователе;
  • SafetyLabel: tinyint – метка доступа
  1. tblConstraints – таблица ограничивающая права доступа отдельных субъектов(пользователь, компания или роль) к отдельным объектам карты:
  • ID: bigint – идентификатор;
  • ReadAccess: bit – право на просмотр;
  • ChangeAccess: bit – право на изменение;
  • FeatureID – ссылка на объект;
  • LayerID – ссылка на слой, если ограничение затрагивает целый слой
  • RoleID – ссылка на роль;
  • UserID – ссылка на пользователя, используется если ограничения касаются отдельного пользователя.