Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

522_Lebedjantsev_v._V._Izuchenie_metoda_shifrovanija_AES_

.pdf
Скачиваний:
1
Добавлен:
12.11.2022
Размер:
521.69 Кб
Скачать

Федеральное агентство связи Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Сибирский государственный университет

телекоммуникаций и информатики» (ФГОБУ ВПО «СибГУТИ»)

В.В. Лебедянцев

С.В.Тимченко

Изучение метода шифрованияAES

Методические указания к выполнению лабораторной работы

Новосибирск

2013

УДК 681.3.067

В.В. Лебедянцев, С.В.Тимченко. Изучение метода шифрования AES: Методические указания к выполнению лабораторной работы. Новосибирск: ГОУ ВПО «СибГУТИ», 2013. – 21 с.

В методических указаниях даны краткие теоретические сведения по вопросам безопасности информационных систем и рассмотрен алгоритм симметричного шифрования AES. Даны указания студентам по выполнению данной работы и оформлению результатов.

Методические указания предназначены для студентов старших курсов, обучающихся по направлению 210700, наименование профиля «Сети связи и системы коммутации» (различных форм обучения).

Кафедра передачи дискретных сообщений и метрологии. Ил.9, таб. 3, список лит. 2.

Рецензент: к.т.н., профессор Новиков С.Н.

Утверждено редакционно-издательским советом СибГУТИ в качестве методических указаний.

©Сибирский государственный университет телекоммуникаций и информатики, 2013

©В.В. Лебедянцев, С.В.Тимченко

2

ОГЛАВЛЕНИЕ

1 Цель работы……………………………………………………………. 4

2 Краткие теоретические сведения…………………………………….. 4

2.1Основные понятия безопасности ..……………………………….. 4

2.2Системный подход к обеспечению безопасности……………….. 5

2.3Базовые технологии безопасности……………………………….. 5 3 Алгоритм AES…………………………………………………………. 8

3.1Шифрование………………………………………………………... 9

3.2Дешифрование……………………………………………………... 13

3.3Применение алгоритма AES………………………………………. 14 4 Выполнение лабораторной работы…………………………………... 15

4.1Исследование стойкости шифра к атаке методом анализа частоты появления символов……………………………………… 16

4.2Исследование слабых ключей шифра AES………………………. 18

4.3Исследование чувствительности шифротекста

кизменениям шифруемого текста………………………………... 19 5 Содержание отчета……………………………………………………. 19 6 Контрольные вопросы………………………………………………… 19 Литература………………………………………………………………. 20

3

1 Цель работы

1.1Ознакомление с методом шифрования AES.

1.2Исследование криптостойкости шифра AES к атаке методом анализа частоты появления символов.

1.3Исследование наличия слабых ключей в методе шифрования AES.

1.4Исследование чувствительности шифра AES к изменениям во входном блоке данных.

2 Краткие теоретические сведения

При рассмотрении безопасности информационных систем обычно выделяют две группы проблем: безопасность компьютера и сетевая безопасность. К безопасности компьютера относят все проблемы защиты данных, хранящихся и обрабатывающихся компьютером, который рассматривается как автономная система. Под сетевой безопасностью понимают все вопросы, связанные с взаимодействием устройств в сети, это, прежде всего, защита данных в момент их передачи по линиям связи и защита от несанкционированного удаленного доступа в сеть. Каждому пользователю сети должны быть четко определены его права по доступу к информации, внешним устройствам и выполнению системных действий на каждом из компьютеров сети.

Вопросы сетевой безопасности приобретают особое значение сейчас, когда при построении корпоративных сетей наблюдается переход от использования выделенных каналов к публичным сетям, например, Интернет.

2.1 Основные понятия безопасности

Безопасная информационная система — это система, которая, во-первых, защищает данные от несанкционированного доступа, во-вторых, всегда готова предоставить их своим пользователям, а в-третьих, надежно хранит информацию и гарантирует неизменность данных. Таким образом, безопасная система по определению обладает свойствами конфиденциальности,

доступности и целостности.

Доступность – это возможность за приемлемое время получить требуемую информационную услугу.

Целостность - актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения.

Конфиденциальность – это защита от несанкционированного доступа к информации.

Понятия конфиденциальности, доступности и целостности могут быть определены не только по отношению к информации, но и к другим ресурсам вычислительной сети, например внешним устройствам или приложениям.

Любое действие, которое направлено на нарушение конфиденциальности, целостности и/или доступности информации, а также на нелегальное

4

использование других ресурсов сети, называется угрозой. Реализованная угроза называется атакой. Риск – это вероятностная оценка величины возможного ущерба, который может понести владелец информационного ресурса в результате успешно проведенной атаки. Значение риска тем выше, чем более уязвимой является существующая система безопасности, чем выше вероятность реализации атаки и ценность информации.

2.2 Системный подход к обеспечению безопасности

Построение и поддержка безопасной системы требует системного подхода. В соответствии с этим подходом, прежде всего, необходимо осознать весь спектр возможных угроз для конкретной сети и для каждой из этих угроз продумать тактику ее отражения. Системный подход подразумевает комплекс мер:

законодательные меры обеспечения информационной безопасности (законы, постановления правительства и указы президента, нормативные акты и стандарты), регламентирующие правила использования и обработки информации ограниченного доступа);

административные меры (приказы и другие действия руководства организаций, связанных с защищаемыми информационными системами);

процедурные меры (меры безопасности, ориентированные на людей, например, морально-этические или психологические меры);

программно-технические меры (например, экранирование помещений, аутентификация и авторизация, шифрование и т.п.).

2.3 Базовые технологии безопасности

Шифрование — это краеугольный камень всех служб информационной безопасности, будь то система аутентификации или авторизации, средства создания защищенного канала или способ безопасного хранения данных.

Любая процедура шифрования, превращающая информацию из обычного «понятного» вида в «нечитабельный» зашифрованный вид, естественно, должна быть дополнена процедурой дешифрирования, которая, будучи примененной к зашифрованному тексту, снова приводит его в понятный вид. Пара процедур – шифрование и дешифрирование – называется криптосистемой.

Информацию, над которой выполняются функции шифрования и дешифрирования, условно назовем «текст», учитывая, что это может быть также числовой массив или графические данные.

В современных алгоритмах шифрования предусматривается наличие параметра – секретного ключа. В криптографии принято правило Керкхоффа: «Стойкость шифра должна определяться только секретностью ключа». Злоумышленнику может быть все известно об алгоритме шифрования, кроме секретного ключа.

5

Алгоритм шифрования считается раскрытым, если найдена процедура, позволяющая подобрать ключ за реальное время. Сложность алгоритма раскрытия является одной из важных характеристик криптосистемы и называется криптостойкостью.

Существуют два класса криптосистем – симметричные и асимметричные. В симметричных схемах шифрования (классическая криптография) секретный ключ шифрования совпадает с секретным ключом дешифрования. В асимметричных схемах шифрования (криптография с открытым ключом) открытый ключ шифрования не совпадает с секретным ключом дешифрования.

Аутентификация (Authentication) предотвращает доступ к сети нежелательных лиц и разрешает вход для легальных пользователей. Термин «аутентификация» в переводе с латинского означает «установление подлинности». Аутентификацию следует отличать от идентификации. Идентификаторы пользователей используются в системе с теми же целями, что и идентификаторы любых других объектов, файлов, процессов, структур данных, но они не связаны непосредственно с обеспечением безопасности. Идентификация заключается в сообщении пользователем системе своего идентификатора, в то время как аутентификация – это процедура доказательства пользователем того, что он есть тот, за кого себя выдает, в частности, доказательство того, что именно ему принадлежит введенный им идентификатор.

Впроцедуре аутентификации участвуют две стороны: одна сторона доказывает свою аутентичность, предъявляя некоторые доказательства, а другая сторона – аутентификатор – проверяет эти доказательства и принимает решение. Чаще всего для доказательства идентичности пользователя используются пароли. Простота и логическая ясность механизмов аутентификаций на основе паролей в какой-то степени компенсирует известные слабости паролей. Это, во-первых, возможность раскрытия и разгадывания паролей, а во-вторых, возможность «подслушивания» пароля путем анализа сетевого трафика. Для снижения уровня угрозы от раскрытия паролей администраторы сети, как правило, применяют встроенные программные средства для формирования политики назначения и использования паролей: задание максимального и минимального сроков действия пароля, хранение списка уже использованных паролей, управление поведением системы после нескольких неудачных попыток логического входа и т. д. Перехват паролей по сети можно предупредить путем их шифрования перед передачей в сеть.

Легальность пользователя может устанавливаться по отношению к различным системам. Так, работая в сети, пользователь может проходить процедуру аутентификации и как локальный пользователь, который претендует на использование ресурсов только данного компьютера, и как пользователь сети, который хочет получить доступ ко всем сетевым ресурсам.

Вкачестве объектов, требующих аутентификации, могут выступать не только пользователи, но и различные устройства, приложения, текстовая и другая информация. Так, например, пользователь, обращающийся с запросом к корпоративному серверу, должен доказать ему свою легальность, но он также

6

должен убедиться сам, что ведет диалог действительно с сервером своего предприятия. Другими словами, сервер и клиент должны пройти процедуру взаимной аутентификации.

В вычислительных сетях процедуры аутентификации часто реализуются теми же программными средствами, что и процедуры авторизации. В отличие от аутентификации, которая распознает легальных и нелегальных пользователей, система авторизации имеет дело только с легальными пользователями, которые уже успешно прошли процедуру аутентификации. Цель подсистем авторизации состоит в том, чтобы предоставить каждому легальному пользователю именно те виды доступа и к тем ресурсам, которые были для него определены администратором системы.

Средства авторизации (authorization) контролируют доступ легальных пользователей к ресурсам системы, предоставляя каждому из них именно те права, которые ему были определены администратором. Кроме предоставления прав доступа пользователям к каталогам, файлам и принтерам система авторизации может контролировать возможность выполнения пользователями различных системных функций, таких как локальный доступ к серверу, установка системного времени, создание резервных копий данных, выключение сервера и т. п.

Система авторизации наделяет пользователя сети правами выполнять определенные действия над определенными ресурсами. Для этого могут быть использованы различные формы предоставления правил доступа, которые часто делят на два класса:

1)избирательный доступ;

2)мандатный доступ.

Избирательные права доступа реализуются в операционных системах универсального назначения. В наиболее распространенном варианте такого подхода определенные операции над определенным ресурсом разрешаются или запрещаются пользователям или группам пользователей, явно указанным своими идентификаторами.

Мандатный подход к определению прав доступа заключается в том, что вся информация делится на уровни в зависимости от степени секретности, а все пользователи сети также делятся на группы, образующие иерархию в соответствии с уровнем допуска к этой информации. В отличие от систем с избирательными правами доступа, в системах с мандатным подходом пользователи в принципе не имеют возможности изменить уровень доступности информации. Например, пользователь более высокого уровня не может разрешить читать данные из своего файла пользователю, относящемуся к более низкому уровню.

Процедуры авторизации реализуются программными средствами, которые могут быть встроены в операционную систему или в приложение, а также могут поставляться в виде отдельных программных продуктов. При этом программные системы авторизации могут строиться на базе двух схем:

1)централизованная схема авторизации, базирующаяся на сервере;

2)децентрализованная схема, базирующаяся на рабочих станциях.

7

В первой схеме сервер управляет процессом предоставления ресурсов пользователю. Главная цель таких систем – реализовать «принцип единого входа». В соответствии с централизованной схемой пользователь один раз логически входит в сеть и получает на все время работы некоторый набор разрешений по доступу к ресурсам сети.

При втором подходе рабочая станция сама является защищенной – средства защиты работают на каждой машине, и сервер не требуется.

Аудит (Auditing) – фиксация в системном журнале событий, связанных с доступом к защищаемым системным ресурсам. Подсистема аудита современных ОС позволяет дифференцированно задавать перечень интересующих администратора событий с помощью удобного графического интерфейса. Средства учета и наблюдения обеспечивают возможность обнаружить и зафиксировать важные события, связанные с безопасностью, или любые попытки создать, получить доступ или удалить системные ресурсы. Аудит используется для того, чтобы засекать даже неудачные попытки «взлома» системы.

Учет и наблюдение означает способность системы безопасности «шпионить» за выбранными объектами и их пользователями и выдавать сообщения тревоги, когда кто-нибудь пытается читать или модифицировать системный файл. Если кто-то пытается выполнить действия, определенные системой безопасности для отслеживания, то система аудита пишет сообщение в журнал регистрации, идентифицируя пользователя. Поскольку никакая система безопасности не гарантирует защиту на уровне 100 %, то последним рубежом в борьбе с нарушениями оказывается система аудита.

3 Алгоритм AES

Алгоритм AES относится к симметричным методам шифрования, т.е. для шифрования и дешифрования используется один и тот же секретный ключ. Дальнейшее описание алгоритма соответствует [1]. Шифрование осуществляется поблочно. Длина блока данных - 128 бит. Из этого блока данных формируется массив State.

Процесс шифрования данных в алгоритме AES можно интерпретировать как выполнение операций алгоритма над двумерным массивом байтов State.

Вмассиве State, обозначаемом s, каждый отдельный байт имеет два индекса r и с, где r – номер его строки в диапазоне 0 ≤ r ≤ 3; с – номер его столбца в диапазоне 0 ≤ c ≤ Nb-1. Эта индексация позволяет ссылаться на конкретный байт массива State как на s [r,c]. Nb – это число 32-битных слов, составляющих State. Для стандарта AES число Nb=4, то есть 0 ≤ с ≤ 3.

Всамом начале процессов шифрования и дешифрования входной массив in – массив байтов in0, in1,…in15 – копируется в массив State, как показано на рисунке 1. Затем в массиве State выполняются необходимые операции шифрования или дешифрования, после чего окончательное значение элементов массива State копируется в выходной массив out – массив байтов out0, out1,…out15.

8

Рисунок 1 – Вход и выход массива State

Валгоритме AES длина входного блока, длина выходного блока и массива State (текущее состояние шифра) равны 128 бит. Длина ключа шифрования в алгоритме AES может быть равна 128, 192 или 256 бит.

Врежимах как шифрования (Cipher), так и дешифрования (Inverse Cipher) алгоритм AES использует раунд-функцию, которая включает в себя следующие четыре байт-ориентированных преобразования:

1) подстановку байтов (SubBytes/InvSubBytes), использующую таблицу подстановок (S-box/Inverse S-box);

2) сдвиги строк массива State на различные значения смещений

(ShiftRows/InvShiftRows);

3) смешивание данных в пределах каждого столбца массива State (MixColumns/InvMixColumns);

4) прибавление ключа раунда Round Key к массиву State (AddRoundKey). Эти преобразования будут описаны ниже.

Всамом начале процедуры шифрования входная последовательность in копируется в массив State. После начального сложения ключом раунда Round Key массив State подвергается преобразованию с использованием раундфункции в течение Nr раундов, причем завершающий раунд отличается от предыдущих Nr–1 раундов отсутствием процедуры MixColumns. Число раундов Nr выбирается в зависимости от длины ключа и может быть равно 10, 12 или 14 для ключа длиной 128, 192 или 256 бит соответственно. По окончании последнего раунда конечное состояние массива State копируется в выходной массив.

Раунд-функция параметризуется путем использования набора ключей (key schedule), который представляет собой одномерный массив четырехбайтовых слов, сгенерированных с помощью процедуры расширения ключа Key Expansion.

3.1 Шифрование

Преобразование SubBytes является нелинейной байтовой подстановкой, которая воздействует на каждый байт массива State, используя таблицу подстановок S-box.

На рисунке 2 показано, как обрабатывается массив State с помощью преобразования SubBytes.

9

Рисунок 2 – Преобразование SubBytes использует таблицу подстановок S-box для обработки каждого байта массива State

Например, если s(1,1)={53}, то значение подстановки можно определить из таблицы S-box на пересечении строки с номером 5 и столбца с номером 3. Результат подстановки для s´ (1,1) имеет значение {ed}.

Таблица 1 – S-box

Y

0

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

c

7

b

2

b

f

5

0

 

7

b

e

7

b

6

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

2

9

d

a

9

7

0

d

4

2

f

c

4

2

0

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

d

3

6

6

f

7

c

4

5

5

1

1

8

1

5

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

3

3

8

6

 

a

 

2

0

2

b

7

2

5

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

c

a

b

e

a

0

2

b

6

3

9

3

f

4

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

1

 

d

0

c

1

b

a

b

e

9

a

c

8

f

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

f

a

b

3

d

3

5

5

9

 

f

0

c

f

8

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

0

f

2

d

8

5

c

6

a

1

0

f

3

2

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

c

3

c

f

7

4

7

4

7

e

d

4

d

9

3

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

f

c

2

a

0

8

6

e

8

4

e

e

b

b

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

2

a

a

9

 

4

c

2

3

c

2

1

5

4

9

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

8

7

d

d

5

e

9

c

6

4

a

5

a

e

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

8

5

e

c

6

4

6

8

d

4

f

b

d

b

a

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

e

5

6

8

 

6

e

1

5

7

9

6

1

d

e

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

8

8

1

9

9

e

4

b

e

7

9

e

5

8

f

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

1

9

d

f

6

2

8

1

9

d

f

0

4

b

6

10