Уровень безопасности - Security level

В криптографии уровень безопасности - это мера силы, которую обеспечивает криптографический примитив, такой как шифр или хеш-функция . Уровень безопасности обычно выражается в « битах », где n -битная безопасность означает, что злоумышленник должен будет выполнить 2 n операций, чтобы взломать ее, но были предложены другие методы, которые более точно моделируют затраты злоумышленника. Это позволяет удобно сравнивать алгоритмы и полезно при объединении нескольких примитивов в гибридной криптосистеме , поэтому нет явного слабого звена. Например, AES- 128 ( размер ключа 128 бит) разработан для обеспечения 128-битного уровня безопасности, который считается примерно эквивалентным 3072-битному RSA .

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

В симметричной криптографии

Симметричные алгоритмы обычно имеют строго определенное требование безопасности. Для симметричных шифров , это , как правило , равно размера ключа шифра - эквивалентной сложности в виде грубой силы атаки . Криптографический хэш - функция с выходными размером п бит , как правило , имеет столкновение сопротивление уровня безопасности п / 2 и сопротивление прообраза уровень н . Это связано с тем, что обычная атака по случаю дня рождения всегда может найти коллизии за 2 n / 2 шагов. Например, SHA-256 предлагает 128-битную стойкость к столкновениям и 256-битную стойкость к прообразу.

Однако из этого есть некоторые исключения. Phelix и Helix являются 256-разрядными шифрами предлагает уровень безопасности 128-битной. Варианты SHAKE SHA-3 также различаются: для 256-битного выходного размера SHAKE-128 обеспечивает 128-битный уровень безопасности как для защиты от столкновений, так и для сопротивления прообразу.

В асимметричной криптографии

Дизайн большинства асимметричных алгоритмов (то есть криптографии с открытым ключом ) основан на аккуратных математических задачах , которые эффективны для вычисления в одном направлении, но неэффективны для обратного действия злоумышленником. Однако атаки на существующие системы с открытым ключом всегда быстрее, чем перебор ключевого пространства. Их уровень безопасности не устанавливается во время разработки, но представляет собой предположение о вычислительной надежности , которое корректируется в соответствии с наиболее известной на данный момент атакой.

Были опубликованы различные рекомендации, оценивающие уровень безопасности асимметричных алгоритмов, которые незначительно различаются из-за разных методологий. Для криптосистемы RSA со 128-битным уровнем безопасности NIST и ENISA рекомендуют использовать 3072-битные ключи и 3253 бит IETF . Криптография на основе эллиптических кривых требует более коротких ключей, поэтому рекомендуются 256–383 (NIST), 256 (ENISA) и 242 бита (IETF).

Типовые уровни

Значение слова "сломанный"

Криптографический примитив считается сломанным, если обнаруживается, что уровень безопасности атаки ниже заявленного. Однако не все такие атаки практичны: для большинства продемонстрированных в настоящее время атак требуется менее 2 40 операций, что соответствует нескольким часам на среднем ПК. Самая дорогостоящая из продемонстрированных атак на хэш-функции - это атака 2 61.2 на SHA-1, которая заняла 2 месяца на 900 графических процессорах GTX 970 или 1100 долларов США.

Аумассон проводит грань между практическими и непрактичными атаками на 2 80 операциях. Он предлагает новую терминологию:

  • Сломан примитивные имеют атаки , принимая ≤- 80 операций. Атака может быть проведена правдоподобно.
  • У раненого примитива есть атака, требующая от 2 80 до примерно 2 100 операций. В настоящий момент атака невозможна, но, скорее всего, в будущем она станет возможной.
  • Атакованы примитивным имеет нападение, которое дешевле , чем требования безопасности, но гораздо дороже , чем 2 100 . Такая атака слишком далека от практической.
  • Наконец, анализируемый примитив - это примитив, у которого нет атак, дешевле, чем его заявленная безопасность.

Рекомендации

дальнейшее чтение

Смотрите также