Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
622231 / 622231 / очн 622231 / ПАЗИ 622231 / МУ_ПЗ_ПАЗИ.doc
Скачиваний:
74
Добавлен:
10.05.2015
Размер:
2.04 Mб
Скачать

Контрольные вопросы

  1. В чем состоит преимущество защиты конфиденциальной информации с помощью программно-аппаратного комплекса Secret Disk по сравнению с чисто программными способами реализации защищенных секретных дисков?

  2. Какие аппаратные устройства могут быть использованы для идентификации пользователя в комплексе Secret Disk?

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

11. Методы и средства программно-аппаратной защиты программ и данных. Электронные ключи hasp

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

Теоретический материал

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

Устройство HASP разработано фирмой Aladdin и представляет собой небольшое микроэлектронное устройство размером со спичечный коробок, подключаемое обычно к параллельному порту. Данный ключ разработан на основе ASIC – чипа (заказной интегральной схемы специального назначения). Каждый электронный ключ HASP имеет свои коды доступа и уникальную функцию шифрования f(x).

Типы электронных ключей HASP

Семейство электронных ключей HASP включает в себя следующие модели:

  1. HASP4.

  2. MemoHASP.

  3. TimeHASP.

  4. NetHASP.

HASP4 Standard

Данный тип ключей является простейшей модификацией электронных ключей HASP. Основным элементом их защиты является аппаратно реализованная в них на ASIC микросхеме функция шифрования и связанная с ней функция отклика f(x), принимающая на вход 32-битный аргумент и формирующая на выходе четыре 32-битных значения. С любым электронным ключом HASP связана его серия, идентифицирующая защищаемый программный продукт (например, IXGGR, RAOMG). Каждая из серий обладает своей уникальной функцией шифрования данных, что вносит уникальность в алгоритм защиты каждого защищаемого продукта.

MemoHASP

Ключи MemoHASP имеют в своем составе все компоненты HASP Standard. Базовым отличием данного типа ключей от HASP4 Standard является наличие встроенной в них энергонезависимой памяти (EEPROM), доступной для чтения и записи во время выполнения защищенной программы. Каждому из данных типов ключей также присваивается свой уникальный 32-битовый идентификационный номер ID, который позволяет идентифицировать конкретного пользователя продукта.

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

TimeHASP

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

NetHASP

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

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

Методы защиты ПО с помощью электронных ключей HASP

Защита с использованием пристыковочного механизма (Envelope)

Данный тип защит относится к автоматическим и предназначен для защиты уже готового исполняемого кода программ (DOS- или WINDOWS-приложений) без внесения изменений в исходный текст программы.

Таким способом могут быть защищены СОМ и ЕХЕ-файлы.

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

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

  • проверка «ключевых» условий и выработка решения.

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

В случае их ложности, загрузка и расшифровка тела программы в память не производится. Обычно после этого выполняются некоторые маскирующие действия, выдается сообщение об ошибке (типа «HASP not found») и защищенное приложение заканчивает свое выполнение.

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

Защита с использованием функций API

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

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

Недостатком защиты с помощью API функций является отсутствие защиты исполняемого кода программы от изучения. Защита от изучения реализуется в пристыковочном механизме в модуле Envelope.

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

Соседние файлы в папке ПАЗИ 622231