Методы защиты от копирования: объекты привязки
Если говорить о защите от копирования, то основная идея, на которой она строится, очень проста. Во внешнем (по отношению к защищаемой программе или документу) мире нужно найти объект, который обладает двумя свойствами: во-первых, он должен иметься у законного пользователя, а во-вторых, его должно быть сложно воспроизвести при распространении нелегальных копий. Этот объект называется «объектом привязки». В случае StarForce в качестве объекта привязки может выступать оптический диск, компьютер пользователя, а также локальный или удалённый сервер. После выбора объекта привязки разработчик системы защиты от копирования должен сделать так, чтобы защищаемую программу или документ нельзя было использовать без наличия объекта привязки, и это «нельзя» было бы сложно преодолеть с помощью технологий взлома (т. е. анализа и модификации) программного кода.
Как технически реализуется привязка к диску, компьютеру и серверу и какие последствия это имеет для издателя и конечного пользователя?
Оптический диск, на котором распространяются лицензионные копии программ, был исторически первым объектом привязки, на который ориентировалась наша компания. Сейчас привязка к диску уходит в прошлое вместе с дистрибуцией программного обеспечения на оптических дисках, но когда-то эта технология была доминирующей. Собственно, существовало несколько технологий. Действительно, чтобы обеспечить сложность воспроизведения объекта привязки при копировании, необходимо ответить на вопрос, как мы будем отличать физический «лицензионный» диск от образа диска в эмуляторе или от пиратского диска. Разные разработчики систем защиты от копирования решали эту проблему по-разному. Самым простым способом являлось умышленное создание на диске нечитаемых секторов, по наличию которых и принималось решение о подлинности диска. Однако нечитаемые сектора было легко подделать. Более изощрённый способ предполагал изменение естественного порядка следования секторов и создания нескольких секторов с одинаковыми номерами. При этом при разных последовательностях чтения секторов привод возвращал разные данные, что и было критерием для определения подлинного диска. Наша компания применяла другой подход. Мы использовали для идентификации подлинного диска уникальность геометрического расположения секторов и длины дорожки в рамках одной партии дисков. Подделать эти данные при изготовлении пиратских дисков крайне сложно.
В эпоху отсутствия интернета у многих пользователей привязка к диску была единственным адекватным методом идентификации легальных копий недорогих программ. Этот метод был очень удобен для издателей, но вызывал недовольство конечных пользователей: при каждом запуске защищённого приложения в привод приходилось вставлять диск, а чтобы запустить программу в случае утраты или порчи диска, пользователю приходилось обращаться к издателю.
К счастью, развитие интернета позволило перейти на более дружественные для пользователя технологии.
Привязка к компьютеру базируется на следующем принципе: конечный пользователь вместе со своей копией программы или документа получает «серийный номер» - уникальный идентификатор лицензии, который позволяет привязать эту программу или документ к одному или нескольким компьютерам. При первом запуске программы или открытии документа пользователю предлагается ввести серийный номер и произвести активацию программы или документа. При этом внедрённый в программу или в просмотрщик документа код защиты производит следующие действия. Сначала производится сбор информации о параметрах оборудования компьютера. Эта информация сохраняется на компьютере в виде профиля оборудования. Затем от профиля оборудования вычисляется хэш-функция, в результате чего получается т. н. «код оборудования». Код оборудования вместе с серийным номером передаётся на сервер StarForce, где производится проверка серийного номера. В простейшем случае проверяется, что серийный номер есть в базе данных и что он ещё не использовался для активации. Если проверка прошла успешно, пользователю возвращается активационный ключ, содержащий подпись профиля оборудования. Активационный ключ сохраняется на компьютере пользователя. На этом процедура активации завершается. При каждом последующем запуске программы или открытии документа, во-первых, проверяется соответствие профиля оборудования реальному оборудованию (небольшие отклонения допустимы), а во-вторых, соответствие активационного ключа профилю. Если проверки прошли, использование программы или документа разрешается.
По сравнению с привязкой к диску, описанный способ привязки чуть менее удобен для издателя. Это связано с тем, что с каждой копией программы необходимо передавать отдельный серийный номер, что не представляет сложностей при онлайн-дистрибуции, но затруднительно при «старых» способах дистрибуции на дисках. При этом привязка к компьютеру гораздо удобнее для пользователя, так как после активации пользователь вообще перестаёт замечать существование защиты от копирования. Сама же активация производится автоматически при наличии у пользователя интернета и чуть более сложно (например, через SMS) в случае его отсутствия. Единственное неудобство для пользователя возникает при необходимости сменить компьютер. На этот случай издатель определяет правила, по которым принимается решение о разрешении активации. Наиболее типично разрешение произвести несколько активаций с помощью одного серийного номера, автоматическое восстановление исчерпанного лимита активаций по прошествии определённого времени, а также использование процедуры деактивации.
Привязка к серверу позволяет снять и это последнее неудобство, однако требует постоянного подключения компьютера конечного пользователя к интернету. Этот способ привязки также предполагает использование серийных номеров для идентификации законных пользователей. При запуске приложения или открытии документа производится обращение к серверу StarForce и запрос разрешения на использование. Если с других компьютеров в течение некоторого времени запросов не производилось (защита от утечки серийного номера в интернет), сервер StarForce выдаёт это разрешение. Такой подход позволяет пользователю запускать защищённые приложения и читать защищённые документы с разных компьютеров, заботясь лишь о сохранении серийного номера. Разновидность данного способа привязки позволяет эффективно защищать также и бизнес-ПО, где нужно управлять не правами отдельных пользователей, а общим количеством лицензий.
Таким образом, мы видим, что увеличение доступности интернета позволяет переключиться на технологии привязки, делающие механизмы защиты от копирования менее обременительными для конечных пользователей. При этом вторую составляющую защиты, обеспечивающую невозможность запуска приложения или открытия документа без прохождения проверки, а также обеспечивающую взломостойкость защиты, можно оставить неизменной.
Александр Зацепин, исполнительный директор компании StarForce
О компании StarForce
Компания «Протекшен Технолоджи» (торговая марка StarForce) – ведущий российский разработчик программных решений в области контроля и защиты программ и электронной информации от утечек, копирования и нелегального распространения. С 2000 года компания разрабатывает и внедряет ультрасовременные технологические решения, защищенные соответствующими патентами РФ, США и Канады, что позволяет обеспечить охрану интеллектуальной собственности и авторских прав во всем мире.
Являясь экспертом в области защиты цифровой информации и программного обеспечения от утечек, копирования, взлома и несанкционированного распространения, компания разработала собственную систему Управления Цифровыми Правами (StarForce DRM), открывающую перед нашими клиентами широчайшие возможности по доставке цифрового контента и слежению за продажами. Технологии StarForce внедрены в таких компаниях как РЖД, Corel, 1С, Mail.ru, Аэрофлот, SUN InBev Russia, АМД Лаборатории, ATC International, МедиаХауз, Руссобит-М, Новый Диск, Бука, Snowball, 2Play, GFI, CENEGA, Akella и в ряде других.
Контакты для прессы:
pr@star-force.com