Программы стеганографии существуют, чтобы скрывать файлы на вашем жестком диске. Это может работать, но вам по-прежнему нужна жизнеспособная история. Таким образом, есть определенные достижения по сравнению с простым шифрованием – по крайней мере, в свободных странах вы сможете доказать, что полиция не имеет реальных оснований для обвинения, – но вы должны тщательно все обдумать.
Скрытые каналы
Одна из проблем, связанных с применением стеганографии, – ширина полосы пропускания. Легко скрыть несколько битов информации; спрятать целое сообщение электронной почты намного труднее. Рассмотрим пример совершенно разумного использования стеганографического канала передачи данных: Алиса и Боб должны обсудить, является ли некое отдельное действие «безопасным» или «угрожающим». Это один бит информации. Они регулярно обмениваются рецептами по электронной почте и договорились, что ключевая фраза «продублируй рецепт» будет индикатором сообщения. Если в послании сказано, что рецепт может быть продублирован, действие безопасно. Если же в нем говорится, что рецепт не может быть продублирован, соответствующее действие опасно. Любой рецепт без ключевой фразы не содержит скрытого сообщения.
Этот вид систем работает, поскольку секретное послание много-много меньше, чем скрывающее его сообщение, и в общем случае называется скрытым каналом (subliminalchannel) (похоже на тайный канал, описанный в главе 8). Скрытые каналы так же стары, как компьютеры, и всегда использовались недобросовестными программистами для «скачивания» информации без согласия пользователей. Представьте, что вы программист и делаете отчет по клиентам банка, и вы хотите запустить свои руки в картотеку индивидуальных номеров (PINs). Вас не уполномочили проверять реальные данные, но доверили вам написать код для получения отчета по базе, содержащей PINs. И вы можете посмотреть отчеты, которые были сделаны раньше. Программа создания отчета добавляет пробелы после данных каждого клиента, от 0 до 9, в соответствии с одной цифрой его PIN. Пусть теперь построитель отчета использует первую цифру в первый день, вторую цифру во второй день, и так далее, пока цикл не будет завершен и мы не возвратимся к первой цифре. Вот именно. Если программист сможет приложить руку к созданию электронного отчета в течение четырех дней, он справится с восстановлением всех индивидуальных номеров. (Действительно, он имеет четыре возможных варианта для каждого номера, в зависимости от того, какая цифра использовалась построителем отчета. Легко понять, что к чему.) Ни один из тех, кто будет смотреть отчеты, не увидит в них ничего злонамеренного, и пока они не проверят код, используемый для создания отчета (а как часто это случается?), никто не узнает, что индивидуальные номера раскрыты.