2.1 Виды защиты
Как и говорилось выше, есть различные опции для защиты ПО от взлома и копирования. Они могут отличаться по стоимости, уровню защиты и специализации.
Защита по «доверию». Здесь вы рассчитываете на то, что пользователи будут платить без всяких проблем. Один пользователь – одна лицензия, вечная. В принципе, затрат с вашей стороны практически нет. Как только приложение скомпилировано, его можно начать распространять. Но проблема в том, что если ваш продукт станет популярным, то кто-то точно его взломает, начав раздавать. Защиты от взлома в таком случае нет, она нулевая.
– Офлайн-программная защита. Речь идет о защите без подключения к интернету. Обычно реализуется такая схема сразу после компиляции программы. Чаще всего используется программная оболочка с определенными настройками. Защищенная программа не подключается для проверки целостности ни к каким внешним серверам. В принципе, обойти такую защиту можно без всяких проблем.
– Онлайн-программная защита. Здесь уже речь идет о более серьезном методе – проверке лицензии при помощи сервера лицензирования. В этом случае требуются относительно высокие затраты в начале и периодические расходы позже. Как и в предыдущем варианте, используется программная оболочка, но параметры лицензирования проверяются и настраиваются в онлайне. При желании можно добавить опции проверки ПО, например есть лицензия или нет. Если требуется постоянное подключение к сети, то продукт, скорее всего, будет работать не всегда и не везде. Степень серьезности такой защиты – между средним и высоким уровнем.
– Аппаратная защита. Один из наиболее надежных методов, который сочетает в себе преимущества всех прочих стратегий. За лицензирование отвечает электронный USB-ключ, которому не требуется подключение к сети. Цена каждого ключа для разработчика низкая, нет периодических дополнительных трат. Реализовать можно как при помощи API, так и посредством программной оболочки. Достоинством такого метода является то, что лицензию можно убрать за пределы операционной системы, ключ хранится вне ПК. Ключ либо очень сложно, либо вообще невозможно скопировать. ПО, которое защищено при помощи аппаратного ключа, может использоваться на тех системах, где нет подключения к сети. Это, к примеру, правительственные объекты или промышленность. Еще один плюс в том, что электронному ключу не требуются различные решения для разных программных сред, а возможности лицензирования очень гибкие. Решения на основе аппаратного ключа можно развернуть буквально за минуты, они поддерживаются практически любыми версиями операционных систем. Правда, помните, что поставщик решения, в случае если вы не можете создать аппаратный ключ самостоятельно, должен делать все быстро, чтобы не возникла необходимость ожидать партии ключей и, соответственно, переноса старта продаж. Также поставщик должен предоставить простое и эффективное решение, которое быстро разворачивается.
2.2 Удобство пользователя
Однако стоит упомянуть и об удобстве для пользователя. Поскольку методы защиты разнятся по доступности для конечного пользователя то соответственно пользователь предпочтет долее удобный для себя вариант, в случае если у него есть выбор:
– Офлайн-программная защита. Этот вид является наиболее удобным и приемлемым пользователями поскольку, в отличии от остальных видов, он уверен, что после покупки ему н6е придется задумываться о регулярном подтверждении подлинности купленного им продукта, за редкими исключениями.
– Онлайн-программная защита. Этот вид является менее предпочтительным пользователями поскольку несет в себе неудобство постоянного или периодического, как это часто бывает «в неудобное время» для пользователя, подключения к интернету. Однако этот метод может быть незаметным для пользователя и соответственно не вызывать негативных эмоций, в том случает если ПО по своей сути требует постоянного взаимодействия с интернетом.
– Аппаратная защита. Этот тип является наиболее неудобным для пользователя поскольку при каждом запуске пользователю приходится физически при помощи ключа подтверждать подлинность ПО и все становится еще хуже при утере физического ключа.
Поскольку процесс встраивания защиты зачастую связан с некоторыми трудностями соответственно и о защите ПО стоит задуматься еще на стадии проектирования: после того как проект готов частично или полностью, изменить что-то будет непросто.
Читать дальше