Графика и звук приобретают подтекст
Современные достижения миниатюризации позволят сделать огромный информационный массив в полном смысле слова невидимым, уместив его на столь малой площади, что чтение будет возможно только с помощью электронного микроскопа. Но есть и другой способ незаметно передать секретную информацию - спрятать ее в мультимедийный файл. Ознакомиться с возможностями и понять ограничения новой технологии "тайнописи" можно на примере появившейся летом прошлого года свободно распространяемой программы Steganos 1.4.
На протяжении тысячелетий искусство обеспечения секретной связи по незащищенным каналам, а попросту говоря, меры предосторожности при обмене письмами, донесениями, рецептами и т. п., неуклонно развивалось, причем в двух существенно разных направлениях. Первое с течением времени получило название криптографии.
Параллельно развивалось второе направление - способы тайного обмена рукописными посланиями. В отличие от криптографических методов, здесь скрывается сам факт наличия сообщения, а иногда даже само наличие какой-либо связи. Не шифрованные, а именно скрытые сообщения принято называть тайнописью. Это направление получило название "стеганография", что в переводе с греческого буквально означает "тайнопись".
Особенности национальной переписки
Очень распространены были такие средства тайной переписки, как симпатические чернила и другие аналогичные способы. В советское время каждый школьник на уроках истории узнавал, что в царских тюрьмах хлебный мякиш и молоко служили российским революционерам для изготовления чернильниц и симпатических чернил - они становились средством для написания невидимых текстов между строк обычных писем, передаваемых на волю. Впрочем, обнаруживать такую "молочную" переписку не составляло труда, поскольку несколько ранее именно в России были разработаны способы обнаружения и чтения скрытых или затертых текстов с помощью фотографирования и подбора освещения.
Следует сказать, что в определенных обстоятельствах традиционные хитрости все еще вполне работоспособны. Масса историй на эту тему связана с криминальной тематикой: не только революционеры попадают в трудные ситуации, когда для общения с внешним миром остаются только письма, подвергаемые перлюстрации.
Сергей Довлатов приводит в своих "Записных книжках" поучительный эпизод, начинающийся с проводов осужденного к отбытию срока в достаточно отдаленные места. Друзья просят его: "Если будет там уж очень плохо, пришли в письме фотокарточку, и - если будет сносно, то - обычную, а если, значит, совсем невтерпеж, - то снимись с сигаретой в руке!"
И вот уже через месяц приходит к ним конверт с письмом "оттуда". Они вскрывают его - письма практически нет, но есть фотография. И стоит на ней автор письма, одетый в цивильную одежду и чисто выбритый, а в каждой руке - по пачке "Беломора"...
Невозможно поверить, что, согласно теории Шеннона, эта фотография принесла всего один бит информации. Однако вернемся к компьютерам.
Программы для тайнописи
Стеганографическое программное обеспечение позволяет прятать информацию, "втискивая" ее в графические и звуковые файлы. Появились уже публикации с обзорами, посвященными сравнению свойств таких программ и анализу ухудшений, которые вносятся в соответствующие изображения. Дело в том, что если, например, на каждый пиксел изображения отводится один байт, то изменения, вносимые в один только младший разряд каждого байта, могут визуально проявиться очень слабо. А если файл-изображение ранее никто не видел, т. е. если вы создадите его сами и сами же в него встроите текст-сообщение, то и вообще никто не обратит внимания на слабую "рябь", проявляющуюся на однородных участках изображения.
Появившаяся в середине 1996 г. программа немецкого программиста Фабиана Хансманна Steganos объединяет обе вышеупомянутые защитные технологии: криптографию и стеганографию. Она прячет предварительно зашифрованный текст внутрь файлов-оболочек форматов BMP, VOC, WAV и даже просто ASCII. Если, например, файлом-оболочкой выбрана картинка, то Steganos сохраняет вашу информацию побитно в самом младшем бите каждого байта, соответствующего отдельному пикселу изображения. Этот "шум" распределяется по всему файлу.
Выбор оболочки: побольше шума
Для достижения хорошего результата, т. е. для лучшего камуфляжа неестественности подпорченных звуков или цветов в пересылаемом файле-оболочке, следует действовать осмотрительно. Звуковые файлы нужны плохого качества, но громкие. Изображения лучше использовать пестрые, без четких геометрических фигур и без обширных однотонных участков. И, конечно, черно-белые полутоновые изображения предпочтительнее высококачественных цветных. Не стоит прятать сообщения в популярные заставки; всегда лучше, чтобы это был уникальный (в смысле - не виденный ранее никем из потенциальных "перехватчиков") рисунок. Можно, разумеется, создавать таковые из уже известных, модифицируя их с помощью различных фильтров.
Оптимальное соотношение длины передаваемого текста и оболочки составляет 1:10. Таким образом, в файл-изображение объемом 300 Кбайт можно упрятать примерно 30 Кбайт текста (в частности, весь текст этой статьи с большим запасом уместился бы в любой иллюстрации к ней).
Чтобы сэкономить место и замести следы, можно преобразовывать BMP-файлы "с начинкой" в другие графические форматы. Когда при получении адресат преобразует такой файл обратно в формат BMP, программа Steganos все равно сумеет извлечь спрятанное сообщение. Правда, это не относится к сжимающим преобразованиям с частичной потерей информации; например, применение формата JPEG, использующего метод DCT (Discrete Cosinus Transformation), разрушит сообщение, спрятанное в картинке.
Для увеличения степени защиты "невидимого" сообщения его можно перед "упрятыванием" зашифровать какой-либо криптографической программой, для экономии места - заархивировать (это, кстати, позволит спрятать сразу несколько файлов).
Автор программы считает, что помимо тайнописи такая методика способна служить еще и для защиты от плагиата: например, с ее помощью несложно встроить в файл-картинку информацию об авторстве на случай, если кто-то захочет выдать его за собственное произведение или как-либо иначе использовать без согласия создателя. Но, конечно, это менее надежное средство, чем "электронная подпись".
Вполне возможно такое незамысловатое употребление Steganos, как пересылка "пустых" контурных карт или чертежей в виде BMP-файлов с закодированными внутри пояснениями и обозначениями. Однако муар на однотонных участках - а их на чертежах и картах бывает много - может выдать ваш секрет.
Предостережение
Маскировка сообщений методами стеганографии снижает вероятность их обнаружения. А если они еще и зашифрованы, то все это, вместе взятое, служит для повышения уровня защищенности сообщений. Таким образом, оба направления дополняют друг друга. Необходимо, однако, представлять себе ограничения такой защиты.
Как объясняется в главе о криптографии с открытыми ключами уже упоминавшейся книги Ж. Брассара "Современная криптология", злоумышленник-фальсификатор вполне может ввести вас в заблуждение, прислав вам или разместив на сервере свой открытый ключ, выдав его за срочно заменяемый по каким-то экстраординарным обстоятельствам открытый ключ того человека, которому, как он предполагает, вы в ближайшее время будете посылать шифровку. И если обман не будет вовремя раскрыт, он сможет, перехватывая ваши сообщения, расшифровывать их.
Подобное вполне возможно и с программами типа Steganos: кто-то может подменить исполняемый файл, вставив в код так называемый "потайной ход", например дополнительный ключ в командной строке, при задании которого расшифровка и извлечение информации из перехваченного звукового или графического файла будет происходить в обход проверки пароля. Известны примеры, когда подобное программное обеспечение сознательно распространялось авторами с целью поживиться секретами доверчивых абонентов, которые станут его использовать. Так что осторожность в любом случае не повредит.
"Цель криптографической системы заключается в том, чтобы зашифровать осмысленный исходный текст, называемый также открытым текстом, получив в результате совершенно бессмысленный на взгляд шифрованный текст, или, коротко, шифртекст (криптограмму). Получатель, которому предназначено сообщение, располагая соответствующим криптографическим ключом, должен быть способен легко расшифровать (говорят также - дешифровать) этот шифртекст, восстановив, таким образом, соответствующий ему открытый текст. При этом противник-криптоаналитик должен быть неспособен раскрыть исходный текст. Точнее говоря - неспособен сделать это за приемлемое время с такой выгодой для себя, которая превзошла бы расходы на вычисления" -Жиль Брассар. "Современная криптология" (Gilles Brassard. Modern Cryptology. Springer-Verlag, Berlin - Heidelberg, 1988. 107 p.).