В разработке криптографических протоколов криптографическая гибкость или криптогибкость — это способность переключаться между несколькими криптографическими примитивами .
Криптографически гибкая система, реализующая определенный стандарт, может выбирать, какую комбинацию примитивов использовать. Основная цель криптографической гибкости — обеспечить быструю адаптацию новых криптографических примитивов и алгоритмов без внесения разрушительных изменений в инфраструктуру системы.
Криптографическая гибкость действует как мера безопасности или механизм реагирования на инциденты, когда обнаруживается, что криптографический примитив системы уязвим. [1] Система безопасности считается криптогибкой, если ее криптографические алгоритмы или параметры могут быть легко заменены и являются хотя бы частично автоматизированными. [2] [3] Предстоящее появление квантового компьютера , который может взломать существующую асимметричную криптографию, повышает осведомленность о важности криптографической гибкости. [4] [5]
Сертификат открытого ключа X.509 иллюстрирует крипто-гибкость. Сертификат открытого ключа имеет криптографические параметры, включая тип ключа, длину ключа и алгоритм хеширования . Версия X.509 v.3 с типом ключа RSA, длиной ключа 1024 бита и алгоритмом хеширования SHA-1 была обнаружена NIST как имеющая длину ключа, которая делала ее уязвимой для атак, что побудило к переходу на SHA-2. [6]
С развитием защищенной коммуникации на транспортном уровне в конце 1990-х годов криптографические примитивы и алгоритмы стали пользоваться все большей популярностью; например, к 2019 году более 80% всех веб-сайтов использовали ту или иную форму мер безопасности. [7] Кроме того, криптографические методы широко используются для защиты приложений и бизнес-транзакций.
Однако по мере развертывания криптографических алгоритмов исследования их безопасности усиливаются, и обнаруживаются новые атаки на криптографические примитивы (как старые, так и новые). Криптогибкость пытается справиться с подразумеваемой угрозой информационной безопасности, позволяя быстрое устаревание уязвимых примитивов и замену их новыми.
Эта угроза не просто теоретическая; многие алгоритмы, которые когда-то считались безопасными ( DES , 512-битный RSA , RC4 ), теперь известны как уязвимые, некоторые даже для непрофессиональных злоумышленников. С другой стороны, новые алгоритмы ( AES , эллиптическая кривая криптографии ) часто и более безопасны, и более быстры по сравнению со старыми. Ожидается, что системы, разработанные для соответствия критериям крипто-гибкости, будут меньше затронуты, если текущие примитивы будут признаны уязвимыми, и могут обладать лучшей задержкой или использованием батареи за счет использования новых и улучшенных примитивов.
Например, квантовые вычисления , если они осуществимы, как ожидается, смогут победить существующие алгоритмы криптографии с открытым ключом. Подавляющее большинство существующей инфраструктуры с открытым ключом опирается на вычислительную сложность таких задач, как факторизация целых чисел и дискретные логарифмы (включая криптографию на эллиптических кривых как особый случай). Квантовые компьютеры, работающие по алгоритму Шора, могут решать эти задачи экспоненциально быстрее, чем самые известные алгоритмы для обычных компьютеров. [8] Постквантовая криптография — это подраздел криптографии, целью которого является замена уязвимых для квантования алгоритмов новыми, которые, как считается, трудно взломать даже для квантового компьютера. Основные семейства постквантовых альтернатив факторизации и дискретным логарифмам включают криптографию на основе решетки , многомерную криптографию , криптографию на основе хэша и криптографию на основе кода .
Эволюция системы и крипто-гибкость — это не одно и то же. Эволюция системы происходит на основе возникающих деловых и технических требований. Крипто-гибкость связана с вычислительной инфраструктурой и требует рассмотрения экспертами по безопасности, системными проектировщиками и разработчиками приложений. [9]
Лучшие практики по работе с крипто-гибкостью включают: [10]