Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Методические указания к заданию 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...