Аппаратная защита ПО использует физический ключ (USB-ключ, электронный ключ), без которого программа не запустится. Программная защита привязывает лицензию к параметрам компьютера через серийный номер и активацию, физический носитель не нужен. Аппаратный ключ удобен, когда программу нужно переносить между компьютерами или запускать в сети без интернета, но он стоит денег, теряется и требует логистики. Программная защита дешевле в масштабе, быстрее доставляется покупателю и позволяет управлять лицензиями удалённо. Для большинства коммерческих программ и игр оптимальна программная защита с онлайн-активацией, например StarForce ProActive, а для закрытых контуров есть промежуточный вариант: привязка к обычной USB-флешке без специального ключа (подробнее о привязках).
Чем отличаются аппаратная и программная защита
Разница в том, что выступает «якорем» лицензии. В аппаратной схеме это отдельное устройство с защищённым чипом: программа при запуске обращается к нему и без ответа не работает. В программной схеме якорем становится сам компьютер пользователя: при активации система снимает его параметры, связывает их с серийным номером и фиксирует на сервере лицензий.
| Критерий | Аппаратный ключ | Программная активация | Обычная USB-флешка |
|---|---|---|---|
| Якорь лицензии | Отдельное устройство с защищённым чипом | Параметры компьютера и серийный номер | Накопитель с цифровым ключом |
| Переносимость | Ключ можно переносить между компьютерами | Лицензия привязана к компьютеру | Приложение запускается при подключённом накопителе |
| Интернет | Подходит для изолированных сетей | Обычно нужен при первой активации; дальнейшие запуски — офлайн, если не включено периодическое подтверждение | Для активации не требуется |
| Стоимость и доставка | Закупка, учёт, хранение и отправка ключей | Быстрая цифровая доставка; ниже затраты при масштабировании | Не нужен специальный аппаратный ключ |
| Что учитывать | Ключ может потеряться; нужны логистика и поддержка | Нужно выбрать правила активации и привязки | Нужно выбрать подходящий накопитель |
| Защита кода | Необходима для усложнения эмуляции и патчинга | Необходима для защиты проверки лицензии | Необходима для защиты проверки привязки |
Когда оправдан аппаратный ключ
Аппаратный ключ оправдан там, где компьютер пользователя нельзя считать стабильным якорем или где интернет недоступен принципиально. Типичные случаи: дорогое инженерное ПО стоимостью от сотен тысяч рублей, программы для станков и измерительных комплексов, софт для изолированных сетей предприятий, а также ситуации, когда одна лицензия «ходит» по нескольким рабочим местам по графику.
Минусы стоит учитывать заранее. Ключи нужно закупать, хранить, учитывать и отправлять. Каждая потеря ключа превращается в обращение в поддержку и повторную отправку. Кроме того, распространены эмуляторы популярных ключей: если программа проверяет ключ «в одном месте», злоумышленнику достаточно подменить ответ, и вся защита обходится без самого устройства. Поэтому даже аппаратная схема требует защиты самого кода от анализа и модификации.
Когда подходит программная защита
Программная защита закрывает большинство задач массового и нишевого ПО: продажи через сайт, маркетплейсы и Steam, обучающие программы, игры и DLC, специализированные утилиты. Покупатель получает дистрибутив и серийный номер, при первом запуске программа активируется и привязывается к компьютеру. Последующие запуски проходят без подключения к серверу.
На стороне разработчика появляется гибкость, недоступная «железу»: можно выпускать триал на 14 или 30 дней, ограничивать число запусков, продавать подписку, продлевать лицензию одному клиенту и блокировать украденный номер. Подробно эти механизмы разобраны в материале о лицензировании программ, а сценарии ограничения срока мы описываем в отдельной статье о контроле срока действия лицензий и запусков ПО.
Привязка к обычной USB-флешке
Если пользователю нужна переносимость, но покупать специальные ключи не хочется, работает привязка к обычной USB-флешке. Защищённое приложение запускается только при подключённом накопителе, на котором записан цифровой ключ, а интернет для активации не требуется. В StarForce ProActive такая привязка доступна наряду с привязкой к компьютеру, причём их можно комбинировать в одном проекте. Как выбирать накопители и что можно защитить таким способом, описано на странице защиты USB-флешек.
| Сценарий | Подход из статьи | Причина |
|---|---|---|
| Дорогое инженерное ПО, станки и измерительные комплексы | Аппаратный ключ | Подходит, когда компьютер нельзя считать стабильным якорем |
| Одна лицензия используется на разных рабочих местах по графику | Аппаратный ключ или привязка к обычной USB-флешке | Нужна переносимость лицензии |
| Массовое и нишевое ПО, игры и DLC, продажи через интернет | Программная защита с онлайн-активацией | Лицензия доставляется сразу и управляется удалённо |
| Изолированная сеть и переносимость без специального ключа | Привязка к обычной USB-флешке | Интернет для активации не требуется |
Почему нужно защищать код проверки лицензии
Самая частая ошибка: выбрать «надёжный» ключ и оставить программу без защиты от анализа. Взломщик не атакует ключ, он ищет в коде место проверки лицензии и убирает его. Поэтому ключевой вопрос не «аппаратный или программный», а «насколько сложно найти и вырезать проверку».
В StarForce ProActive эту задачу решает трансформация кода в команды виртуальной машины: выбранные функции переносятся в ядро защиты и исполняются в «невидимом» режиме. Дополнительно доступны защита внутренних переменных, защита от запуска под отладчиком, на виртуальных машинах и через удалённые терминальные сессии. Как устроен анализ программ со стороны взломщика, мы разбирали в статье о реверс-инжиниринге ПО, а приёмы защиты кода на уровне исходников описаны в отдельном материале об обфускации кода C/C++.
Стоимость и выбор модели защиты
По данным сайта StarForce, лицензия на защиту ПО продуктом StarForce ProActive на 6 месяцев стоит 24 840 рублей, серийные номера для пользователей оплачиваются отдельно с регрессивной шкалой по объёму. Для корпоративного ПО с привязкой к серверу или флешке есть StarForce ProActive for Business: один любой тип привязки обходится в 26 300 рублей на 6 месяцев. Аппаратная схема при тираже в 500 копий добавляет к себестоимости закупку и рассылку 500 ключей, что для недорогого софта обычно невыгодно.
Если не уверены, какая модель подойдёт вашему продукту, воспользуйтесь подбором продукта или напишите специалистам StarForce через форму вопроса: ProActive можно бесплатно протестировать на своей программе до покупки.

