Сильная криптография - Strong cryptography

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

Демонстрация устойчивости любой криптографической схемы к атакам - сложный вопрос, требующий обширного тестирования и обзоров, желательно на публичном форуме. Хороший алгоритмы и протоколы, а также необходим хороший дизайн и внедрение системы. Например, операционная система, в которой работает криптографическое программное обеспечение, должна быть максимально тщательно защищена. Пользователи могут небезопасно обращаться с паролями, слишком доверять «обслуживающему» персоналу или просто злоупотреблять программного обеспечения. (Видеть социальная инженерия.) «Сильный», таким образом, неточный термин и может не применяться в определенных ситуациях.

Фон

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

С момента публикации Стандарт шифрования данных, то Диффи-Хеллман и ЮАР алгоритма в 1970-х годах криптография имела глубокие связи с абстрактной математикой и стала широко используемым инструментом в коммуникациях, компьютерная сеть и компьютерная безопасность в целом.

Криптографически стойкие алгоритмы

Этот термин «криптографически стойкий» часто используется для описания шифрование алгоритм, и подразумевает, по сравнению с каким-либо другим алгоритмом (который, таким образом, является криптографически слабым), большее сопротивление атаке. Но его также можно использовать для описания алгоритмов хеширования и создания уникальных идентификаторов и имен файлов. См., Например, описание функции библиотеки времени выполнения Microsoft .NET Path.GetRandomFileName.[1] В этом смысле термин означает «трудно угадать».

Алгоритм шифрования предназначен для того, чтобы его нельзя было взломать (в этом случае он настолько силен, насколько это вообще возможно), но он может быть взломанным (в этом случае он настолько слаб, насколько это вообще возможно), поэтому, в принципе, нет континуум силы как идиома Казалось бы, подразумевает: алгоритм A сильнее, чем алгоритм B, который сильнее, чем алгоритм C, и так далее. Ситуация усложняется и менее поддается единой метрике силы из-за того, что существует много типов криптоаналитический атаки и что любой данный алгоритм, вероятно, заставит злоумышленника выполнить больше работы, чтобы сломать его при использовании одной атаки, чем другой.

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

Обычный смысл, в котором этот термин используется (свободно), относится к определенной атаке, грубая сила ключевой поиск - особенно в пояснениях для новичков в этой области. Действительно, с этой атакой (всегда предполагая, что ключи были выбраны случайным образом) существует континуум сопротивления в зависимости от длины используемого ключа. Но даже в этом случае есть две основные проблемы: многие алгоритмы позволяют использовать ключи разной длины в разное время, и любой алгоритм может отказаться от использования полной длины ключа. Таким образом, Blowfish и RC5 находятся блочный шифр алгоритмы, дизайн которых специально позволял несколько длина ключей, и поэтому нельзя сказать, что он обладает какой-либо особой силой в отношении поиска ключей методом перебора. Кроме того, экспортные правила США ограничивают длину ключа для экспортируемых криптографических продуктов, и в некоторых случаях в 1980-х и 1990-х годах (например, как известно, в случае Lotus Notes «одобрение экспорта») использовались только частичные ключи, что уменьшало «стойкость» к атакам методом грубой силы для этих (экспортных) версий. Более или менее то же самое произошло за пределами нас а также, например, в случае нескольких криптографических алгоритмов в GSM стандарт сотового телефона.

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

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

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

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

Проблемы с законом

Поскольку использование надежной криптографии затрудняет работу спецслужб, многие страны принятые законы или постановления ограничение или просто запрет неофициального использования сильной криптографии. Например, Соединенные Штаты определил криптографические продукты как боеприпасы, так как Вторая Мировая Война и запретил экспорт криптографии сверх определенной «силы» (измеряемой частично размер ключа ).[нужна цитата ] Президент и правительство России в 90-х издали несколько указов, официально запрещающих использование несертифицированных криптосистем государственными органами. Предшествующий указ 1995 года также попытался запретить физическим лицам производить и продавать криптографические системы без соответствующей лицензии, но он никоим образом не применялся, поскольку предполагалось, что он противоречит Конституция России 1993 г. и не было законом как таковым.[2][3][4][примечание 1] Постановление №313, изданное в 2012 году, внесло дополнительные изменения в предыдущие, разрешив производить и распространять продукты со встроенными криптосистемами и не требуя лицензии как таковой, хотя и декларируя некоторые ограничения.[5][6] Франция имел довольно строгие правила в этой области, но в последние годы смягчил их.[нужна цитата ]


Примеры

Сильный

  • PGP обычно считается примером сильной криптографии, версии которого работают под большинством популярных операционных систем и на различных аппаратных платформах. Стандарт с открытым исходным кодом для операций PGP: OpenPGP, и GnuPG является реализацией этого стандарта из ФСПО. Однако ключ подписи IDEA в классическом PGP имеет длину всего 64 бита, поэтому он больше не защищен от атак столкновения.

Поэтому OpenPGP использует целостность SHA2 и криптографию AES.

Слабый

Примеры, которые не считаются криптостойкими, включают:

  • В DES, чьи 56-битные ключи допускают атаки путем исчерпывающего поиска.
  • Тройной DES (3DES / EDE3-DES). см. DES - это также страдает от известного в то время феномена, называемого "sweet32" или "оракул дня рождения"
  • Конфиденциальность, эквивалентная проводной сети который подвергается ряду атак из-за недостатков в конструкции.
  • SSL v2 и v3. TLS 1.0 и TLS 1.1 теперь также устарели [см. RFC7525] из-за необратимых недостатков, которые все еще присутствуют в конструкции, и из-за того, что они не обеспечивают эллиптического рукопожатия (EC) для шифров, без современной криптографии, без шифровальных режимов CCM / GCM. TLS1.x также объявлен PCIDSS 3.2 для коммерческих / банковских реализаций на веб-интерфейсах. Разрешены и рекомендуются только TLS1.2 и TLS 1.3, должны использоваться исключительно современные шифры, рукопожатия и шифровальные режимы.
  • В MD5 и SHA-1 хэш-функции.
  • В RC4 поточный шифр.
  • В Чип для стрижки, неудавшаяся инициатива правительства США, которая включала ключевые положения об условном депонировании, позволяющие правительству получить доступ к ключам.
  • 40-битный Система скремблирования контента используется для шифрования большинства DVD-видео диски.
  • Почти все классические шифры.
  • Большинство ротационных шифров, таких как Энигма машина.
  • существуют некоторые некорректные реализации RSA, в которых возникают проблемы с алгоритмом, приводящие к слабым, предвзятым ключам (уязвимость ROBOT, Oracle Bleichenbacher)
  • Ключи RSA слабее 2048 бит
  • Ключи DH слабее 2048 бит
  • Ключи ECDHE слабее 192 бит, также не все известные старые именованные кривые, которые все еще используются для этого, считаются «безопасными».
  • DHE / EDHE предсказуемо / слабо при использовании / повторном использовании известных простых значений по умолчанию на сервере
  • Целостность SHA-1 (и все, что слабее) больше не защищена от атак столкновения.
  • Подкодирование зашифрованного текста с помощью блочного шифрования CBC считается слабым для TLS (сейчас рекомендуются режимы CCM / GCM)

Примечания

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

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

  1. ^ Метод Path.GetRandomFileName (System.IO), Microsoft
  2. ^ Фарбер, Дэйв (1995-04-06). «Запрет на криптографию в России (fwd) [Next .. djf]». Получено 2011-02-14.
  3. ^ Антипов, Александр (1970-01-01). «Пресловутый указ №334 о запрете криптографии». www.securitylab.ru (на русском). Получено 2020-09-21.
  4. ^ "Указ Президента Российской Федерации от 03.04.1995 г. № 334". Президент России (на русском). Получено 2020-09-21.
  5. ^ «Положение о лицензировании деятельности по разработке, производству, распространению шифровальных средств и систем». Российская газета (на русском). Получено 2020-09-21.
  6. ^ "Миф №49" В России запрещено использовать несертифицированные средства шифрования."". bankir.ru (на русском). Получено 2020-09-21.

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