Методические указания к заданию 3.10.
Чтобы извлечь информацию, зашифрованную побитно с помощью матрицы, необходимо выполнить следующие действия. 1. Открыть HTML-страницу, содержащую первую часть криптограммы (с учётом ключа). В рассматриваемом примере это вторая HTML-страница, так как ключ 24153. 2. Создать документ MS Word и скопировать в него содержимое HTML-страницы. 3. Войти в режим “Непечатаемые знаки”. Проявить скрытый код и преобразовать его в двоичные числа. 4. Подготовить матрицу размером 16х16 ячеек. 5. Записать информацию в матрицу. Биты располагают в матрице по столбцам, причём они должны записываться в каждую пятую ячейку. Порядок записи информации в матрицу из страницы HTML 2 иллюстрирует следующий рисунок.
Аналогичную процедуру записи битов нужно проделать с другими HTML-страницами в соответствии с заданным ключом. Для страницы HTML 4 запись битов в матрицу следует производить во вторую, седьмую, двенадцатую, … ячейки первого столбца. Для HTML 1 биты заносят в третью, восьмую, тринадцатую ячейки и т.д.
6. Считать информацию из полученной матрицы. Считывание производится построчно, слева направо, сверху вниз. Каждый байт представляет собой один символ текста (буква, пробел, знак препинания, цифра).
7. Преобразовать двоичные числа в десятичные. 8. Определить по таблице СР-1251 символы, соответствующие этим десятичным числам.
Из полученных символов составить фразу. В данном примере получится:
Благо народа – вот высший закон. Требования к отчёту Отчёт подготавливается в электронном виде. Он должен содержать постановки задач, таблицы с преобразованием символов в двоичный код (и обратно), коды с проявленными невидимыми символами, скриншоты, которые иллюстрируют выполненные задания. Созданные HTML-контейнеры в заголовках должны содержать информацию о номере задания, номере варианта и фамилии студента.
6. Контрольные вопросы 6.1. Какие символы целесообразно использовать для скрытой передачи информации с помощью HTML- страницы? 6.2. В каком месте HTML-страницы удобно размещать скрываемый текст? 6.3. Как можно увидеть (проявить) скрытый на HTML-странице текст? 6.4. С какой целью для сокрытия информации используют несколько контейнеров (HTML-страниц)? 6.5. В чём состоит основная идея распыления информации в пространстве (по нескольким контейнерам)? 6.6. В каком случае криптостойкость будет выше: при распылении в пространстве предложений, слов, символов или отдельных битов? 6.7. В чём заключается основная идея шифрования текста с помощью матриц? 6.8. Приведите примеры контейнеров, которые могут быть использованы в стеганографии. 6.9. Опишите структуру HTML-страницы. 6.10. Перечислите методы скрытой передачи информации. 6.11. В чём состоит идея шифрования методом гаммирования? 6.12. Какие из трёх методов шифрования использованы в этой лабораторной работе: аддитивный, перестановок, замены?
Список литературы 1. Алексеев А.П. Введение в Web-дизайн. Учебное пособие с грифом УМО. - М.: СОЛОН – ПРЕСС, 2008. – 192 с. 2. Алексеев А.П., Вадикова Е.М. Сокрытие информации на HTML-страницах. Мет. указания на проведение лабораторных работ. Самара: ПГУТИ, 2008. - 46 с.
Лабораторная работа № 27 Сокрытие информации методом временного Распыления
Цель работы Получить навыки в использовании метода пространственно-временного распыления информации, ознакомиться с возможностями языков программирования JavaScript и HTML.
Общие сведения При использовании принципа временного распыления информации блоки сообщений передают по каналам связи в псевдослучайные моменты времени, причём для уменьшения вероятности перехвата продолжительность передачи фрагмента сообщения устанавливают минимально возможной, но достаточной для принимающей стороны. Расписание передачи информации (временные окна) определяется корреспондентами с помощью ключа. Передачу информационных блоков в канале связи перемежают трансляцией информационно пустых (маскирующих) блоков.
Идею передачи информации по расписанию рассмотрим на примере использования для связи глобальной сети Internet. Программную реализацию принципа временного разделения сообщения можно осуществить с помощью различных языков программирования (JavaScript, Perl, PHP, Java и т.д.). Рассмотрим, как выполнить временное распыление с помощью языка программирования JavaScript. Приведённый ниже скрипт позволяет кратковременно заменять фотографию const.jpg на фотографию secret.jpg. В данном случае замена будет происходить в 17 часов 18 минут 35 секунд, а обратная замена - в 17 часов 19 минут 26 секунд. Передаваемое сообщение предварительно скрыто размещают в контейнере secret.jpg.
<script language="JavaScript"> var start = new Date(); var end = new Date(); start.setHours(17); start.setMinutes(18); start.setSeconds(35); end.setHours(17); end.setMinutes(19); end.setSeconds(26); var now = new Date(); st = start.getTime(); et = end.getTime(); time = now.getTime(); if ((time >= st) && (time < et)) document.write("<img src=\"secret.jpg\">"); else document.write("<img src=\"const.jpg\" >"); </script>
В рассмотренном примере демонстрация секретной информации на Web-странице происходит в течение короткого времени. Внешне две демонстрируемые фотографии должны быть одинаковыми (объекты-близнецы). Однако фотография secret.jpg является стегоконтейнером и содержит в себе скрытую информацию. Приведённый пример иллюстрирует идею временного распыления информации. Но проводить практическую реализацию этой идеи с помощью JavaScript нежелательно. Недостатком подобной защиты сообщения является имеющаяся у криптоаналитика возможность ознакомления с кодом скрипта, за счёт чего он в состоянии определить момент демонстрации (передачи) стегоконтейнера. Просмотр текста программы осуществляется стандартным путём с помощью любого браузера. Этот недостаток присущ всем скриптам, исполняемым на клиентской ЭВМ. Однако даже при имеющейся возможности по коду скрипта установить время подмены контейнеров у криптоаналитика остаётся нерешённой задача определения доменного адреса (IP-адреса) Web-страницы, на которой размещён стегоконтейнер. Доменные адреса используемых Web-страниц известны только корреспондентам. Выбор корреспондентами используемых серверов и Web-страниц (каналов связи) осуществляется с помощью ключа.
Рассмотрим пример реализации этой же идеи с помощью языка программирования РНР. Следующий скрипт заменяет в 10 часов 47 минут Web-страницу page2.html страницей page1.html, которая является стегоконтейнером. Через минуту происходит обратная замена.
<?php // формат ччмм //Установка времени начала демонстрации стегоконтейнера $start_time = '1047'; //Установка времени конца демонстрации стегоконтейнера $end_time = '1048'; //Считывание текущего времени $now_time = date('Gi'); //Сравнение текущего времени с моментами начала и конца демонстрации if ($now_time >=$start_time && $now_time <$end_time) { //Загрузка страницы, содержащей скрытые данные header('location:page1.html'); exit; } else { //Загрузка маскирующей страницы header('location:page2.html'); exit; } ?> Повышение криптостойкости в результате применения принципа временного распыления сообщения происходит за счёт того, что за определённое время может осуществляться многократная подмена оригинального объекта различными объектами-близнецами, но только контейнер, переданный в заранее обусловленное время, содержит полезную для получателя информацию. При этом маскирующие объекты-близнецы могут содержать дезинформацию (вложение в контейнере есть, но оно не относится к передаваемому сообщению). Рассмотренный принцип легко развить и усовершенствовать, например, можно на одной Web-странице сразу демонстрировать несколько стегоконтейнеров (рисунки, тексты, фотографии, видео) и передавать не один блок информации за определённый промежуток времени, а несколько. Другими словами, пространственно-временное распыление информации можно вести не только по каналам связи, но и по контейнерам. При этом блоки разных сообщений целесообразно переставлять и передавать их не последовательно, а в псевдослучайном порядке. Это повышает вычислительную сложность криптоанализа.
Скрипты, написанные на языке РНР, являются серверными приложениями, поэтому криптоаналитик не может самостоятельно получить листинги программ и на основе анализа кода определить, в какое время происходит подмена объекта. Обнаружить подмену можно по изменяющемуся содержимого контейнера, но для этого придётся непрерывно контролировать (сканировать) множество Web-страниц. Сложность пеленгации Web-страницы состоит ещё и в том, что доменный адрес криптоаналитику неизвестен, а до момента обнаружения роботом поисковой системы нового доменного адреса проходит несколько дней. Технологически надёжно реализовать непрерывный мониторинг большого числа Web-страниц сложно. Это требует от криптоаналитика существенных капитальных и эксплуатационных вложений. Таким образом, временное распыление – это технологический барьер, сложность преодоления которого состоит в необходимости непрерывного контроля множества Web-страниц, для чего требуется использование вычислительных средств большой мощности. Применительно к данной лабораторной работе для криптоаналитика являются неизвестными доменный адрес HTML-страницы, используемый для внедрения объект (контейнер) и время подмены контейнера. В общем случае контейнер может быть любым: графическим, звуковым, текстовым, видео и т.п.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|