Введение
Системы выявления источников утечек помогают отследить источник утечек, когда секретные или конфиденциальные данные продаются множеству клиентов. В схеме выявления источников утечек каждому клиенту выдается уникальный персональный ключ дешифрования. (Схемы выявления источников утечек часто комбинируются с системами условного доступа, так что, как только алгоритм выявления источников утечек идентифицирует персональный ключ дешифрования, связанный с утечкой, дистрибьютор контента может отозвать этот ключ, позволяя добросовестным клиентам продолжать просмотр платного телевидения, в то время как источник утечки и все неавторизованные пользователи, использующие его персональный ключ дешифрования, будут отключены.) Схемы выявления источников утечек используются в платном телевидении для предотвращения пиратского дешифрования – для того, чтобы удержать законных подписчиков от распространения ключей дешифрования. Схемы выявления источников утечек неэффективны, если источник утечки пересылает весь (дешифрованный) исходный контент. Существуют и другие схемы, предотвращающие пиратскую ретрансляцию, то есть удерживающие законных подписчиков от распространения дешифрованного исходного контента. Эти схемы используют устойчивые к взлому цифровые водяные знаки для создания различных версий исходного контента. Схемы назначения ключей для выявления источников утечек могут быть преобразованы в такие схемы цифровых водяных знаков. Выявление источников утечек – это система обнаружения нарушений авторских прав, которая работает путем отслеживания источника утечки файлов, а не прямой защиты от копирования. Метод заключается в том, что дистрибьютор добавляет уникальную метку к каждой выданной копии. Когда копия становится общедоступной, дистрибьютор может проверить эту метку и отследить ее до источника утечки.
Контроль активации
Основная концепция заключается в том, что каждому лицензиату (пользователю) выдается уникальный ключ, который разблокирует программное обеспечение или позволяет расшифровать носитель информации. Если ключ станет общедоступным, владелец контента сможет точно установить, кто его распространил, используя базу данных присвоенных кодов. Основной способ обхода этой стратегии – генератор ключей (keygen). Путем обратной разработки программного обеспечения можно определить алгоритм, используемый для проверки ключа, и создать программу, генерирующую рабочие ключи по запросу. Технология отслеживания несанкционированного распространения чаще всего применяется в компьютерном программном обеспечении и является развитием предыдущего метода активационных кодов. В этой модели каждая копия программного обеспечения поставляется с уникальным номером активации, напечатанным на наклейке или этикетке, который можно прочитать только после вскрытия упаковки, отдельно от CD-ROM или DVD-ROM. Этот номер представляет собой закодированный серийный номер, расширенный до обычно большого числа букв, цифр и дефисов. При установке программного обеспечения или при первом запуске пользователю предлагается ввести лицензионный код. Этот код затем декодируется обратно к его исходному серийному номеру. Этот процесс упрощает номер, а дополнительная информация, удаленная в ходе декодирования, используется для проверки подлинности серийного номера. Если пользователь допустит ошибку даже в одном символе, особенно в длинном коде, программное обеспечение откажется устанавливаться и потребует повторного ввода, пока код не будет введен верно. Этот код активации генерируется на этапе упаковки, поэтому каждый пользователь получает одно и то же программное обеспечение, но с уникальным кодом активации. Если пользователь делает "неофициальную копию" программного обеспечения для друга, этому другу потребуется лицензионный код вместе с самим программным обеспечением для его установки. Поскольку само программное обеспечение не может определить, является ли оно копией, это способ обойти базовую систему защиты. С развитием компьютерных сетей появились два дополнительных уровня защиты программного обеспечения: "сетевая регистрация" и "онлайн-регистрация".
Регистрация сети
Программное обеспечение, использующее эту дополнительную защиту, сохраняет копию фактического серийного номера, используемого в лицензионном коде. Когда оно активно, оно передает этот номер по скрытому каналу в локальной сети. Если это программное обеспечение установлено на другом компьютере в той же сети, используя тот же лицензионный код, то при запуске второй копии она обнаружит, что серийный номер уже используется в сети, и, как правило, откажется запускаться. Также это может привести к закрытию уже работающей копии. Это не позволяет небольшой компании приобрести одну лицензию дорогостоящего программного обеспечения и установить её на несколько компьютеров в офисе, при условии, что они объединены в сеть.
Онлайн регистрация
Процесс онлайн-регистрации очень похож на активационные коды, но включает в себя дополнительный этап. Большинство современных компаний сейчас не только используют внутренние сети, но и подключены к интернету. Это позволяет производителям программного обеспечения добавить дополнительную проверку в систему во время установки. Когда пользователь вводит действующий лицензионный ключ, программное обеспечение не устанавливается немедленно. Вместо этого оно использует активное интернет-соединение для связи с сервером, обслуживаемым производителем программного обеспечения. Лицензионный ключ передается на сервер, который ожидает ответа с разрешением на установку. Сервер содержит базу данных всех серийных номеров, использованных для установки программного обеспечения. Если один и тот же серийный номер используется на нескольких компьютерах (обычно до пяти), сервер сообщает программе, что это, вероятно, нелицензионная копия, и прерывает установку. Пользователям обычно отображается диалоговое окно с просьбой обратиться к производителю.
Водяная метка
Веб-сайты, предлагающие загрузки по подписке, могут внедрять цифровой водяной знак в загружаемый файл, как правило, незаметным для пользователя способом. Например, идентификационный номер может быть внедрен в изображение или в метаданные, такие как дата создания файла. Также возможно нанесение уникальных водяных знаков на несколько копий файла для каждого получателя перед отправкой. В этом случае внедрённый идентификационный номер может являться ID получателя.
Другие методы
Некоторые программы, реализующие онлайн-регистрацию, расширяют эту функциональность процессом, обычно известным как "связь с домом" (или "телефонный звонок домой"). В этом случае программное обеспечение, либо при каждом запуске, либо через заданные промежутки времени, например, ежемесячно, устанавливает соединение с регистрационным сервером. Оно делает это для проверки, не был ли серийный номер, используемый для установки, идентифицирован как используемый на множестве компьютеров. Серийные номера, признанные "пиратскими" (незаконно распространяемыми), добавляются в черный список на сервере – процесс, называемый "блокировкой" (или "сжиганием"). Заблокированные серийные номера нельзя использовать для установки или активации продукта. В интернете доступны списки серийных номеров, содержащие большое количество валидных регистрационных кодов для различных программных продуктов. Производители программного обеспечения обычно отслеживают эти списки и аннулируют серийные номера, найденные в них. Это удерживает пользователей от распространения своих регистрационных кодов, опасаясь, что они будут признаны недействительными, что приведет к отключению установленной копии программы при следующей "связи с домом". Некоторые более дорогие программы требуют от пользователя предоставления личной информации поставщику программного обеспечения перед получением кода активации. Код активации обычно представляет собой длинную последовательность цифр и букв, содержащую информацию, включая серийный номер лицензии, данные для подтверждения валидности кода, а также возможность проверки личной информации, предоставленной пользователем. Таким образом, имя пользователя или название организации должны быть введены вместе с кодом регистрации. Программа не примет код регистрации, если название организации не будет введено точно так, как оно было указано при регистрации. Название организации обычно отображается программой на приветственном экране при каждом запуске. Если пользователь передаст свой код активации другому лицу, он станет бесполезным без названия его организации, и любой, кто использует этот код, должен будет ввести его во время активации, оставив название организации первоначального покупателя на экране программы. Это позволяет легко "вычислить нарушителя" и найти пользователей, распространивших свои коды активации. Распространение регистрационного кода является нарушением лицензионного соглашения, поэтому поставщик программного обеспечения может аннулировать серийный номер пользователя (что приведет к деактивации программы) и даже прибегнуть к судебному преследованию. Это вызывает опасения по поводу конфиденциальности в некоторых регионах.