Wpa-aes, wpa-tkip схема шифрования и дешифрования (Лекция 8)

Содержание

Слайд 2

Как только Wi-Fi устройство получает все необходимые ключи и проходит процесс

Как только Wi-Fi устройство получает все необходимые ключи и проходит процесс

аутентификации, тогда оно может начинать передавать зашифрованный трафик. В стандарте 802.11i предусмотрено две схемы шифрования:
  Temporal Key Integrity Protocol (TKIP)
 Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP).  CCMP использует блочное шифрование AES
Слайд 3

В алгоритме TKIP решены три основные проблемы устаревшего шифрования WEP: 1.

В алгоритме TKIP решены три основные проблемы устаревшего шифрования WEP:
1.    Добавлена функция

генерации уникального ключа для каждого передаваемого кадра данных.
2.    Добавлен счетчик кадров, для предотвращения атак типа «повторение».
3.    Добавлен новый алгоритм проверки кадра на предмет его подделки или видоизменения. Алгоритм называется Message Integrity Code (MIC). 
Слайд 4

Message Integrity Code (MIC) Основным нововведением алгоритма MIC стало то, что

Message Integrity Code (MIC) 

Основным нововведением алгоритма MIC стало то, что алгоритм

использует часть ключа TK (неизвестного злоумышленнику) для вычисления проверочной суммы. Кроме того, проверочная сумма теперь включает проверку MAC-адреса отправителя и получателя, а так же метку QoS, т.е. по сути проверку важных полей заголовка.
Слайд 5

Схема шифрования WPA-AES, оно же Counter mode with cipher-block chaining message

Схема шифрования WPA-AES, оно же Counter mode with cipher-block chaining message authentication code (CCMP) обеспечивает наивысший уровень безопасности, конфиденциальности и защиты

от повторов, который может предложить стандарт 802.11. Схема шифрования основана на стандарте шифрования AES (advanced encryption standard), .
Слайд 6

Если ТД обнаружит два неправильно вычисленных MIC в течении одной минуты,

Если ТД обнаружит два неправильно вычисленных MIC в течении одной минуты,

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

Несмотря на небольшую вычислительную сложность алгоритм MIC является самой вычислительно- трудозатратной

Несмотря на небольшую вычислительную сложность алгоритм MIC является самой вычислительно- трудозатратной

частью алгоритма TKIP. На ТД, использующих процессоры ARM7 и i486, пользователи чувствуют снижение скорости передачи данных даже на стандарте 802.11b (до 11 Мбит/с). Однако не существует другой альтернативы для эффективного обеспечения безопасности на канальном уровне, которая могла бы быть внедрена в старые устройства. 
Слайд 8

Счетчик кадров Для предотвращения атак типа «повторение» в алгоритм TKIP было

Счетчик кадров

Для предотвращения атак типа «повторение» в алгоритм TKIP было внедрено

использование счетчика кадров (англ. TKIP Sequence Number – TSC), чтобы и клиент и ТД вели строгий счет всем шифруемым кадрам. Такая строгость необходима для того, чтобы атакующий не смог вставить лишний кадр в процессе обмена.
Счетчик TSC используется в алгоритме «смеси ключей», т.е. по сути, счетчик является частью ключа, который будет использоваться для шифрования. Если ТД или клиент «сбиваются» со счета, то это расценивается как результат атаки извне. 
Слайд 9

Алгоритм «смеси ключей» Функция называется «смесь ключей» и нужна для предотвращения

Алгоритм «смеси ключей»

Функция называется «смесь ключей» и нужна для предотвращения атаки

вычисления ключа на основании статистики, так как в WEP для всех кадров использовался одинаковый ключ.
Слайд 10

Первая фаза смеси ключей использует 128-битный временный ключ (часть ключа PTK),

Первая фаза смеси ключей использует 128-битный временный ключ (часть ключа PTK), MAC-адрес

передающего устройства и 32 старших бита счетчика кадров TSC. В результате хеш-операции получается 80 битный вектор, называемый «TKIP-mixed Transmit Address and Key» (TTAK).
Задача второй фазы смеси ключей  - это генерация 128-битного сида, который будет использоваться RC4 как исходная точка для генерации потокового ключа. На входе этой хеш-операции будет TTAK, младшие 16 бит счетчика кадров и опять временный ключ.
Слайд 11

Так как в алгоритме смеси ключей используется счетчик кадров, это позволяет

Так как в алгоритме смеси ключей используется счетчик кадров, это позволяет

создавать новый «сид» для каждого кадра. Такой подход позволяет устранить главную уязвимость старого алгоритма WEP. 
Слайд 12

Алгоритм AES Алгоритм AES относится к симметричным методам шифрования, т.е. для

Алгоритм AES
Алгоритм AES относится к симметричным методам шифрования, т.е. для шифрования

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

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

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

алгоритма над двумерным массивом байтов State.
Слайд 14

В массиве State, обозначаемом s, каждый отдельный байт имеет два индекса

В массиве State, обозначаемом s, каждый отдельный байт имеет два индекса

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

В самом начале процессов шифрования и дешифрования входной массив in –

В самом начале процессов шифрования и дешифрования входной массив in –

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

Слайд 17

В алгоритме AES длина входного блока, длина выходного блока и массива

В алгоритме AES длина входного блока, длина выходного блока и массива

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

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

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

массива State на различные значения смещений (ShiftRows/InvShiftRows);
3) смешивание данных в пределах каждого столбца массива State (MixColumns/InvMixColumns);
4) прибавление ключа раунда Round Key к массиву State (AddRoundKey).
Слайд 19

В самом начале процедуры шифрования входная последовательность in копируется в массив

В самом начале процедуры шифрования входная последовательность in копируется в массив

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

Шифрование Преобразование SubBytes является нелинейной байтовой подстановкой, которая воздействует на каждый

Шифрование
Преобразование SubBytes является нелинейной байтовой подстановкой, которая воздействует на каждый байт

массива State, используя таблицу подстановок S-box.
Слайд 21

Преобразование SubBytes использует таблицу подстановок


Преобразование SubBytes использует таблицу подстановок

Слайд 22

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

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

Слайд 23

В преобразовании ShiftRows байты массива State циклически сдвигаются влево на расстояние,

В преобразовании ShiftRows байты массива State циклически сдвигаются влево на

расстояние, равное номеру строки (для нулевой строки величина сдвига равна нулю, т.е. байты сдвигаются только в последних трех строках). Преобразование ShiftRows выполняется следующим образом
Слайд 24

Преобразование ShiftRows циклически сдвигает три последних строки в массиве State

Преобразование ShiftRows циклически сдвигает три последних строки в массиве State

Слайд 25

Преобразование MixColumns Процедура MixColumns обрабатывает столбцы массива state. При этом преобразовании

Преобразование MixColumns

Процедура MixColumns обрабатывает столбцы массива state. При этом преобразовании столбцы

массива рассматриваются как многочлены GF в 8 степени и умножаются на многочлен
Слайд 26

Преобразование MixColumns

Преобразование MixColumns

Слайд 27

В преобразовании AddRoundKey ключ раунда Round Key прибавляется к массиву State

В преобразовании AddRoundKey ключ раунда Round Key прибавляется к массиву State

с помощью операции простого побитового сложения XOR (сложения по модулю 2). Каждый ключ раунда Round Key состоит из слов, взятых из набора ключей (key schedule), содержащихся в массиве w. Эти слов суммируются со столбцами массива State
Слайд 28

преобразование AddRoundKey

преобразование AddRoundKey