Читайте также:
|
|
Как это работает
Основная задача, стоящая перед разработчиком, которому нужно защищать свою интеллектуальную собственность, — сделать так, чтобы с его программой могли работать только легальные пользователи. Соответственно, пиратская копия должна либо не работать вовсе, либо работать в ограниченном или демонстрационном режиме.
Понятно, что защитить программу от копирования невозможно: любой файл, который может быть прочитан, будет скопирован — для запуска приложения операционная система должна прочитать файл и загрузить его в память компьютера. Поэтому устоявшееся словосочетание «защита от копирования» в отношении программного обеспечения, строго говоря, не имеет смысла.
Значит, необходим «объект», который нельзя (или неоправданно сложно) скопировать и без которого программа не смогла бы работать. Этим «объектом» и является электронный ключ. И следующая задача разработчика — сделать так, чтобы приложение и ключ составляли нераздельное целое таким образом, чтобы программа, «привязанная» к ключу, не могла без него полноценно функционировать.
В общих чертах схема «привязки» выглядит следующим образом. Приложение отправляет некоторый запрос к ключу и, если получает корректный ответ, продолжает работу в штатном режиме. На первый взгляд, все очень просто, но весь секрет состоит в том, какие именно запросы отправляет приложение, каким образом ключ их обрабатывает и как приложение проверяет корректность данных, полученных в ответ на запрос.
Сам по себе электронный ключ можно представить аппаратным «черным ящиком», выполняющим некоторые функции. Аналитик имеет доступ к входным и выходным данным, но не знает, какое преобразование выполняется внутри. Собственно, это преобразование и используется для привязки. Привязка приложения к ключу может производиться путем автоматической защиты готовой программы или встраиванием функций Guardant API в исходный код приложения, а также комбинацией этих методов.
Эволюция технологий защиты
За всю свою немалую по меркам IT-индустрии историю, по некоторым оценкам составляющую почти 30 лет, электронные ключи эволюционировали от примитивных перемычек, выставленных определенным способом, до современных интеллектуальных устройств, способных выполнять сложные вычисления.
С развитием самих устройств прогрессировали и функции преобразования данных, а как следствие — методы, которые используются для привязки к ним приложений. Удобно рассматривать функции преобразования в том порядке, в каком они появлялись в электронных ключах, и сопоставлять их с уровнем сложности нейтрализации привязки.
Дата добавления: 2014-12-23; просмотров: 20 | Поможем написать вашу работу | Нарушение авторских прав |