previous up next index search

Previous: 6.14 Технология IpSec    UP: 6 Сетевая безопасность
    Next: 6.16 Стек протоколов I2P и немного о TOR

6.15 Алгоритм предотвращения несанкционированного копирования текстов, программ и мультимедиа-данных
Семенов Ю.А. (ГНЦ ИТЭФ)

Проблема несанкционированного копирования существовала всегда, но в последнее время она стала еще более актуальной. Информация стала одним из важнейших рыночных товаров. Издержки при разработке программных и мультимедийных продуктов растут, а возможности их нелегального копирования, в том числе через Интернет, существенно упрощаются. Время копирования CD или DVD диска в современных сетях достигает нескольких секунд. Производители подобных продуктов несут огромные убытки. Но современные технологии позволяют во многих случаях радикально решить данную проблему.

Рассмотрим случай приобретения программного или мультимедийного продукта через Интернет. Клиент делает запрос, оплачивает покупку и получает нужную копию с лицензионным номером через сеть. Как правило, ничто не мешает изготовить клиентом любого числа копий приобретенного продукта и перепродать эти копии. Что же предлагается для предотвращения такого сценария?

Предположим в ЭВМ или устройстве воспроизведения DVD-диска имеется устройство дешифрования с зашитым при изготовлении уникальным секретным ключом. Этот ключ не может быть прочитан никаким способом. Пусть имеется парный ему открытый ключ, записанный в документации к данному экземпляру машины или проигрывателя.

Теперь при заказе программы или DVD-диска клиент сообщает открытый ключ своего устройства. Содержимое заказываемого программного или DVD-диска заранее кодируется поставщиком (для ускорения выполнения заказа) с помощью своего уникального ключа, например, с привлечением алгоритма AES. При получении заказа от клиента и его открытого ключа, секретный ключ, с помощью которого произведено шифрование заказанного объекта, шифруется с помощью открытого ключа клиента. Шифрование ключа не займет много времени. После этого зашифрованный ключ отсылается клиенту вместе с зашифрованной программой или фильмом. Это может быть сделано по обычной почте, если клиенту пересылается диск или через Интернет.

Клиент, получив заказанную программу или фильм, может теперь пользоваться покупкой только на устройстве, где имеется аппаратный дешифратор с зашитым туда секретным ключом.

Если кто-то скопирует данную программу или фильм, воспользоваться этим он не сможет, так как в незашифрованном виде данный объект не может быть получен ни на одно из внешних устройств или каналов.

Машина или любое другое устройство чтения может распознавать зашифрованные диски и включать имеющийся дешифратор. Так будет сохранена возможность читать традиционные незашифрованные диски.

На рис. 1 представлена схема построения DVD-проигрывателя с встроенным дешифратором.

Рис. 1. Пример DVD-проигрывателя

Может быть разработан вариант с переносимым модулем дешифратора. Тогда законный владелец программы или фильма может, например, переставить дешифратор в другую машину или проигрыватель. Теперь воспроизведение станет возможно только там.

Если кто-то попытается воспроизвести у себя зашифрованный диск, приобретенный его знакомым, ничего не получится, так как диск зашифрован ключом, парным по отношению к встроенному в устройство его знакомого, и этот ключ дешифрования не может знать, даже владелец диска и устройства воспроизведения.

В этой схеме воспроизведение приобретенного объекта на двух или более устройствах одновременно будет невозможно ни при каких обстоятельствах.

Конечно, остается возможность вторичного копирования, используя аналоговый выход, но это в случае DVD достаточно сложно и при этом получатся копии несравненно более низкого качества.

Этот алгоритм может найти применение для средств чтения электронных книг, когда содержимое книги в зашированном виде после оплаты копируется в такое устройство и только этим устройством может быть прочитано, так как для шифрования применен открытый ключ данного конкретного устройства, а секретный ключ хранится в устройстве чтения и не может быть прочитан. Это все будет работать и для самих устройств чтения электронных книг, просто нужно сделать так, чтобы секретный ключ устройства был недоступен для чтения пользователем.

К сожалению такая технология потребителям пока недоступна.

Другие методы защиты от несанкционированного копирования

Большинство приемов защиты использует жесткую привязку программы или мультимедийного объекта к компьютеру, где установлена программа или воспроизводится медийный объект. Для этого можно применять МАС- или IP-адреса компьютера. Но у этого приема имеется уязвимость, - возможность изменения этих адресов компьютера, куда незаконно копируется программа или мультимедийный файл.

Было бы хорошо, чтобы все motherboard имели уникальный идентификатор, который можно считать, но нельзя изменить. Но такой опции пока нет.

Уникальный идентификатор компьютера можно разместить на жестком диске. Диск содержит boot-область, FAT, DIR, область размещения файлов. Между этими зонами могут существовать зазоры, например, с размером в один или более секторов. Именно в такой зазор можно поместить идентификатор компьютера. Но если даже зазоров нет, редкий файл занимает последний сектор полностью, и в свободные байты можно записать идентификатор. В качестве идентификатора может использоваться криптоключ.

Воспроизведение мультимедиа или запуск программы в этом варианте осуществляется специальным скриптом. Этот скрипт может лежать в интернет в свободном доступе. Секретом является лишь идентификатор компьютера и место его расположения. Эти параметры получаются на специальном сервере.

При запуске защищенного файла система сначала считывает идентификатор компьютера и дальнейшаая работа выполняется лишь при наличии правильного идентификатора. Для защиты может применяться и GPS--привязка компьютера.

Идентификатор можно разместить в чипе конфигурации компьютера, к которому происходит обращение, если в процессе начальной загрузки ОС нажать клавишу [Del]. Запись в конфигурационную память производится командой "IN" (типа IN AL, 71H запись в регистр AL из порта 71H или OUT 64h,al), а не mov, как в обычную ячейку оперативной памяти. Прежде чем производить запись, надо выяснить, какие ячейки этой памяти свободны, иначе вы рискуете себе создать серьезные проблемы. Для повышения надежности целесообразно выполнять аутентификацию в нескольких точках программы, применяя несколько идентификаторов, включая МАС- и IP-адреса.

Для размещения уникального идентификатора компьютера можно использовать и registry. В ходе выполнения аутентификации компьютера, куда установлено лецензируемая программа, часто осуществляется связь со специальным управляющим сервером через Интернет. На таком сервере может находиться список идентификаторов компьютеров, на которых установлены лецензированные программы. Этот сервер может использоваться для фомирования конфигурации компьютера клиента, установки программ и параметров доступа.

Конечно, хакер, если он имеет доступ к легальному компьютеру, может попытаться считать значения идентификаторов, но для этого надо знать их положение.

Программы для выполнения таких операций должны быть написаны на ассемблере.

В среднем на текущий момент 37% программ, установленных на персональном компьютере, являются нелицензионными (см. "How to prevent software piracy", Michael Cobb, Mike Rothman).

Существует несколько видов программного пиратства, нарушающего права интеллектуальной собственности:

  1. Нелегальное копирование или распространение нелегальных копий программ.
  2. Использование программ, предназначенных для академических или учебных целей, для коммерческого распространения и использования
  3. Копирование лицензионного программного обеспечения через Интернет
  4. Предустановка лицензионного программного обеспечения на жесткий диск перед продажей компьютера.
  5. Использование нелицензионных программ, установленных где-то в сети

Существует несколько методов предотвращения пиратства в сфере программного обеспечения.


Previous: 6.14 Технология IpSec    UP: 6 Сетевая безопасность
    Next: 6.16 Стек протоколов I2P и немного о TOR