Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора по защите.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
105.62 Кб
Скачать

Как это работает

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

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

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

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

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

Эволюция технологий защиты

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

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

Проверка присутствия ключа

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

Чтение данных из памяти ключа

Приложение пользуется считанными из ключа статическими данными для своей дальнейшей работы. Этот способ появился, когда в ключах для хранения данных стали применяться схемы ПЗУ (ROM).

Чтение и запись данных в память ключа

Кроме чтения статических данных, приложение также пишет в ключ некую информацию для последующего использования. Этот способ является развитием предыдущего, он появился, когда для хранения данных в ключе начали использоваться электрически перепрограммируемые ПЗУ (EEPROM).

Вычисление однонаправленных функций с секретом

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

Зашифрование и расшифрование данных криптографически стойкими симметричными алгоритмами

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

Вычисление электронной цифровой подписи

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

Выполнение электронным ключом произвольного кода

Один из самых современных методов. Основное его достоинство состоит в том, что ключ может выполнять осмысленные и полезные для приложения вычисления над «натуральными» данными. Из недостатков можно назвать необходимость правильного выбора алгоритмов, размещаемых в ключе. Критерии выбора основаны на производительности и сложности алгоритмов для анализа по входным и выходным данным.

Софтверный ключ Guardant SP

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

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

Сервер активации

Управление жизненным циклом ключей и их активацией производится непосредственно на защищённых серверах Компании «Актив» в режиме 24/7. Резервирование хостинга позволяет активировать ключи конечными пользователями даже при недоступном фронт-офисе. На сервере активации разработчик в любой момент может получить произвольные отчеты по выполненным операциям и детальную статистику по ключам Guardant SP.

Обратите внимание

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

Быстрый старт

Для знакомства с возможностями ключей SP и быстрой надежной защиты приложений можно воспользоваться мастером Guardant Protection Center. Интуитивно понятный интерфейс и встроенная поддержка демонстрационных ключей позволяют за несколько минут понять принципы работы софтверных ключей без изучения документации. Переход на коммерческую защиту осуществляется регистрацией на сервере активации и загрузкой в мастер персональных кодов доступа и конфигурационного файла.

Принцип работы

Ключ функционирует по принципам, аналогичным аппаратным ключам семейства Guardant. Например, при проведении автозащиты (и использовании Guardant API) защищаемое приложение привязывается к экземпляру софтверного ключа, где используются симметричный алгоритм шифрования AES128 и алгоритм электронной цифровой подписи ECC160. При этом вся логика электронного ключа расположена в защищенной псевдокодом части драйвера Guardant и исполняется непосредственно на компьютере пользователя.

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

Технические характеристики

Доступная память

4096 байт EEPROM

Поддерживаемые аппаратные алгоритмы

AES-128 (симметричное шифрование)

+

ECC160 (электронная цифровая подпись)

+

SHA-256 (хеширование)

+

Функциональные возможности

Шифрование трафика протокола обмена

+

Поддержка Linux *

+

Автоматическая защита .NET-приложений

+

Псевдокод и обфускация компонентов защиты

+

Часы реального времени *

+

Лицензирование по сети *

+

Загружаемый код

Оффлайн активации

+

Привязка к оборудованию

— Операционная система

— Процессор (для Linux дополнительно привязка к материнской плате и MAC)

— Жесткий диск

— Оптический привод

Сетевые электронные ключи

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

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

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

Электронный ключ Guardant Sign Net

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

Электронный ключ Guardant Time Net

Флагман линейки сетевых ключей. Поддерживает все возможности Guardant Sign Net, а также содержит часы реального времени и независимый источник питания.

Принцип сетевой защиты

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

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

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

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

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

Ключевой элемент защиты Rutoken служит для строгой двухфакторной аутентификации, защиты электронной переписки, установления защищенных соединений (VPN, SSL), проведения финансовых транзакций и криптографической защиты информации. Идентификатор Rutoken RF можно одновременно использовать для доступа в помещения и к ресурсам информационных систем.

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

Удобный, простой, доступный Нужно лишь подключить токен к USB-порту, а затем набрать на клавиатуре PIN-код. Rutoken удобно всегда носить с собой на связке ключей. Прочный корпус оберегает USB-токен от внешних воздействий. Стоимость в 2 раза ниже, чем у зарубежных аналогов.

Сделан в России - сделан для России Идентификатор Rutoken разработан компаниями «Актив» и «Анкад». Его основа - защищенный микропроцессор и память объемом от 32 до 128 Кб. Главное отличие от зарубежных аналогов - аппаратная реализация российского алгоритма шифрования ГОСТ 28147-89.

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

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

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