Цифровые водяные знаки – один из способов достижения этой цели. Их можно считать скрытым каналом или одним из приложений стеганографии. Идея состоит в том, чтобы вложить секретную информацию в материал, и тогда нетрудно будет определить, кто его законный владелец. Это похоже на бумажные водяные знаки: бумага с водяными знаками распространяется везде и передается от человека к человеку, но любой может посмотреть ее на свет и увидеть водяные знаки.
В действительности есть два различных термина. Создание водяных знаков (watermarking) позволяет идентифицировать неизменяемую информацию, а использование отпечатков пальцев (fingerprinting) дает возможность идентифицировать конкретного покупателя.
Например, водяной знак Русалочки будет говорить нам нечто вроде: «Собственность Диснея», тогда как цифровой отпечаток пальца на этом фильме скажет нам следующее: «Куплено Алисой 1 января 2001 года».
Цифровые водяные знаки и отпечатки пальцев всем хороши, кроме одного. Скопируйте бумагу, и водяные знаки пропадут. Скопируйте цифровой файл, и водяные знаки перейдут на копию. Может быть, мы не в силах предотвратить копирование, считают в компании Диснея, но мы по крайней мере можем указать пальцем на каждого, кто сделал копию. И я видел водяные знаки на множестве вещей: графике, изображениях, аудио, видео… даже в данных биржевых телеграфных аппаратов и компьютерных программ.
Таким образом, в зависимости от того, какие данные вы заложили в водяные знаки, вам предоставлена одна из двух возможностей. Во-первых, можно определить, кто обладает авторскими правами. Во-вторых, если каждая проданная копия Русалочки будет снабжена водяными знаками, указывающими на имя и адрес того, кто ее купил, станет возможным установить также и покупателя: тогда, если копия появится в Интернете, компания Диснея сможет найти виновного.
Замечательная идея, только не работает.
Проблема в том, что для того, чтобы Дисней смог найти внедренные в копию Русалочки водяные знаки, должна существовать возможность их обнаружения. Но если Дисней может их найти, пират может сделать то же самое. Компании, продающие подобные вещи, постараются объяснить вам, что их схема создания водяных знаков не позволяет удалить эти знаки по той или иной технологической причине.
Но это неправда. Может быть, так же как в случае со скрытым каналом, невозможно найти хорошие водяные знаки, если вы не знаете точно, куда смотреть. Но в отличие от скрытого канала, механизм обнаружения в данном случае в конце концов станет известным. Либо информация просочится в сообщество хакеров, как это обычно бывает, либо она станет доступной общественности при первом же случае судебного разбирательства. Механизмы создания водяных знаков в итоге все равно становятся известными, и когда это происходит, можно осуществить обратный процесс и удалить знаки с изображения.
Это может оказаться нелегким делом. Разные хитроумные трюки способны затруднить этот процесс, но все же это не является невозможным. И сообразительный хакер вполне в состоянии написать программу, автоматически удаляющую водяные знаки, как только он поймет, как это работает.
Другим слабым местом водяных знаков является то, что они не решают стоящей перед ними задачи. Создание водяных знаков должно позволить компании указать на ее цифровую собственность, которая должна оставаться неприкосновенной и сказать: «это мое». Осуществить это достаточно сложно, и водяные знаки не могут воспрепятствовать изменению цифровых данных, являющихся чужим имуществом. Также водяные знаки не обязательно укажут точно на нарушителя авторского права. Представьте, что каждая копия Русалочки снабжена водяными знаками с информацией о покупателе. Но как продавец установит личность покупателя? Это возможно только в том случае, если имеются защищенные от подделки документы. Однако нет способа воспрепятствовать злоумышленнику нанять за 10 долларов бездомного пьяницу, чтобы тот зашел в видеосалон и купил для него фильм. Таким образом, он получит копию с внедренными водяными знаками, указывающими на того, кто, скорее всего, не слишком беспокоится, что Дисней его опознает, и с кого нечего взять, если Дисней надумает предъявить к нему претензии.
Наличие водяных знаков может вызвать чувство вины у бабушки, когда она копирует Русалочку для своих внуков. Но нельзя помешать тайваньским пиратам стереть водяные знаки и выбросить на черный рынок полмиллиона копий фильма. Водяные знаки также не могут воспрепятствовать кому бы то ни было использовать подставное лицо, чтобы законным образом приобрести копию и ни о чем больше не беспокоиться.
Эту проблему легко описать, но гораздо труднее решить. Компании, производящие программное обеспечение, хотят, чтобы люди покупали их продукцию; их приводит в бешенство, когда кто-нибудь делает копии коммерческой программы, которая стоит сотни долларов, и раздает ее своим друзьям. (Правда, теперь им это даже нравится в каком-то смысле. Они понимают, что если некто, вовсе не собиравшийся приобрести законную копию, получит возможность попользоваться программой и придет от этого в восторг, всяко он или его босс в итоге приобретут эту программу, а не продукт конкурентов. При распространении программы WordPerfect большую роль сыграла эта схема, которая во многом способствовала росту ее популярности.) Сказанное в первую очередь относится к распространению компьютерных игр и к распространению программ в тех странах, где слабо обеспечивается защита авторских прав: в этих случаях большинство пользователей скорее предпочтут приобретение пиратской копии покупке программы законным образом. (С подобной проблемой сталкиваются продавцы книг, кинофильмов, видео и т. д. – им не выгодно, чтобы их продукцию копировали.)
Существует много решений – встроенный в программное обеспечение код, который препятствует копированию, код, который обращается к некопируемым фрагментам оригинального диска, аппаратные средства, которые приводят в действие программные механизмы, – и я не буду здесь вдаваться во все детали. Они все обладают одним существенным недостатком: дело в том, что практически невозможно защитить от копирования программное обеспечение многоцелевого компьютера.
Если мы имеем дело с компьютерным пользователем Джо Середнячком, то любая система защиты от копирования работает. Он сможет скопировать обычные файлы, следуя указаниям, но ему не придет в голову взломать сложную схему зашиты от копирования. Если же мы имеем дело с Джейн Хакер, никакая система защиты от копирования не сработает.
Дело в том, что Джейн управляет работой своего компьютера. Она может запустить программы обнаружения ошибок, восстановить исходный код, проанализировать программы защиты. Если она достаточно сообразительна, она сможет разобраться в программном коде и изменить коды программ защиты. Производители программного обеспечения не сумеют сделать ничего, чтобы остановить ее: все, что они могут сделать, это усложнить ее задачу. Но это только послужит вызовом для Джейн.
Существует множество таких Джейн, которые выбрали своим хобби взломы подобных систем. Они «болтаются» по Сети, продавая нелегальное программное обеспечение. Другие делают это для получения прибыли. Они работают в Китае, Тайване и еще где угодно, взламывая системы защиты от копирования и перепродавая программное обеспечение в десять раз дешевле розничной цены. Они способны разрушить даже самый сложный механизм защиты. Урок, который мы должны вынести из того, что эти люди существуют, – это понимание, что любая схема защиты от копирования может быть взломана.
Защитная заглушка – это последнее слово техники в искусстве создания систем защиты от копирования. Она представляет собой аппаратное средство, подсоединенное к компьютеру, обычно к параллельному порту. (Конфликты с другими механизмами, подсоединенными к параллельному порту, или с другими заглушками проявляются лишь в редких случаях.) В процессе выполнения программ часто используется обращение к заглушкам; например, через каждую тысячу нажатий на клавиатуру или щелчков кнопкой мыши; или когда пользователь пытается сохранить данные; или каждый раз, когда он выбирает вид оружия в компьютерной игре. Если заглушка не отвечает на запрос или отвечает некорректно, программное обеспечение прерывает свою работу. Или, что более эффективно, продолжает работать, но при этом выдает неправильные результаты. (В версии Autodesk's 3D Studio 1992 года заглушка использовалась для создания в памяти таблицы, которая требуется для правильного отображения трехмерной геометрии. Удаление заглушки приводило к тому, что программа работала неправильно в течение нескольких часов: сначала это происходило почти незаметно, но чем дальше, тем хуже. Autodesk был вынужден в спешном порядке давать ответы на множество запросов незарегистрированных пользователей, жалующихся на странную ошибку в этой версии.)