Интернет магазин китайских планшетных компьютеров



Компьютеры - UMAC - Вопросы безопасности

16 июня 2011


Оглавление:
1. UMAC
2. Функция создания ключа и псевдослучайной последовательности
3. Генерация UMAC-тегов
4. Вопросы безопасности



Стойкость криптоанализу

Стойкость UMAC зависит от ее основных функций: функции создания ключаKDF) и функции создания псевдослучайной последовательности. Именно поэтому обе функции реализованы с использованием блочного шифрования, обычно Advanced Encryption Standard. Однако UMAC позволяет использовать другие блочные шифры. Основной плюс UMAC алгоритма и UHASH функции заключается в том, что их стойкость зависит только от математических свойств данного алгоритма и функции. Поэтому криптоанализ не влияет на стойкость UHASH-функции.

Длина псевдослучайных чисел и возможность подмены

Алгоритм MAC используется ля проверки подлинности сообщений между двумя сторонами, которые знают общий секретный ключ K. Теги аутентификации вычисляются для сообщения с помощью ключа K, а в случае UMAC ключом является время. Взлом алгоритма MAC обозначает, что злоумышленник умеет сам генерировать сообщения без знания ключа. Теория Wegman-Carter и анализ UMAC показывает, что если используется алгоритм UMAC со случайными ключами и начальным значением Nonce, то вероятность того, что злоумышленник взломает сообщение равна: \frac{1}{2^{30}}, \frac{1}{2^{60}}, \frac{1}{2^{90}}, \frac{1}{2^{120}} , если используются выходные теги длины 32, 64, 96, 128 соответственно. Если злоумышленник делает N попыток, то вероятность взлома увеличивается пропорционально числу попыток, то есть в N раз. При дополнительном использовании алгоритма AES, вероятность взлома значительно уменьшается.

Безопасность использования Nonce

UMAC использует текущее время в диапазоне от 1 до BLOCKLEN байт. При этом все значения Nonce в течение сессии должны быть равными по длине. Для обеспечения лучшей безопасности никакое значение Nonce не должно повторяться при использовании одного ключа сессии.

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

Значение Nonce может создаваться и передаваться следующими вариантами:

  1. Текущее значение Nonce является 8-байтовым беззнаковым числом, которое в начале сессии обнуляется и увеличивается на единицу после каждого посланного тега. При этом данный счетчик передается вместе с сообщением. Если в течение сессии передано более 2 ^ 64 сообщений, то возникает прерывание.
  2. Текущее значение Nonce является BLOCKLEN-байтовым беззнаковым числом, которое в начале сессии обнуляется и увеличивается на единицу после каждого посланного тега. При этом счетчик явно не передается между отправителем и получателем, а каждый из них сам считает текущее значение.
  3. Текущее значение Nonce является BLOCKLEN-байтовой псевдослучайной величиной. Но тогда важна синхронизация псевдослучайных последовательностей у отправителя и получателя.

Повторные атаки

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

Проверка префикса тега.

Характер UMAC позволяет реализавать тег-префиксную проверку, например, приемник может проверить только 32-бит префикс от 64-битового тега. Это используется для оптимизации, если вычислительная нагрузка проверки высока. При этом приемник имеет возможность отклонения всего тега, если 32-битный префикс неверен. Данный алгоритм снижает безопасность сессии.



Просмотров: 3083


<<< Two-Track-MAC
VEST >>>