От чего защищают программы.
Коммерческие программы обычно защищают от несанкционированного
тиражирования. Наличие доступа только к носителю информации с
дистрибутивом (набором инсталляционных файлов) программного
продукта не должно давать возможности установить работоспособную
копию программы. То есть данных дистрибутива, который можно
скопировать или незаметно взять на несколько дней, не должно
хватать для создания работоспособной копии программы. Подобные
ограничения могут быть реализованы разными способами. Например,
очень многие коммерческие программы при инсталляции требуют
ввести серийный номер, напечатанный на коробке или указанный в
одном из прилагаемых к программному продукту документов (у
Microsoft — в сертификате аутентичности).
Также часто
возникает потребность ограничить число пользователей,
одновременно работающих с программой. То есть человек, который
приобрел лицензию на одно рабочее место, не должен иметь
возможности создать 2 рабочих места, функционирующих
одновременно. Это достигается за счет использования аппаратных
ключей, менеджеров лицензий и процедуры активации.
Для некоторых
программных продуктов (в частности игр) часто используется
привязка к носителю информации, например компакт-диску. То есть
для запуска игры требуется наличие в приводе оригинального
компакт-диска, который защищен от копирования стандартными
средствами. Для оценочных версий, ограниченных по времени или
числу запусков, необходимо правильно реализовать хранение
счетчиков, чтобы злоумышленник не смог заставить работать
программу, просто переведя часы или удалив файл, в который
записывается количество запусков программы или число файлов.
Условно
бесплатные продукты, в отличие от ограниченных по
функциональности оценочных версий коммерческих программ, после
ввода регистрационного кода должны предоставлять доступ ко всем
функциям, предусмотренным в полной версии программы. То есть в
бесплатно распространяемой версии программы должны быть
реализованы все функции полной версии. Следовательно, желательно
так организовать защиту, чтобы злоумышленник не смог добраться
до функций, присущих только полной сии, пока в его распоряжении
не будет правильного регистрационного номера. Процедуры проверки
правильности серийных номеров, а также кодов и кодов активации
должны строиться таким образом, чтобы злоумышленник не мог
самостоятельно генерировать правильные коды и, в то же время,
длина кодовой строки не была очень большой.
|