Из Википедии, бесплатной энциклопедии
  (Перенаправлено из криптографической стойкости )
Перейти к навигации Перейти к поиску

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

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

Фон [ править ]

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

С момента публикации Стандарта шифрования данных , алгоритма Диффи-Хеллмана и RSA в 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 - реализация этого стандарта из FSF . Однако ключ подписи IDEA в классическом PGP имеет длину всего 64 бита, поэтому он больше не защищен от атак столкновения.

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

  • AES алгоритм считается сильным после того , как выбран в длительный процесс отбора , который был открытым и привлеченными многочисленные тесты.
  • Кривая криптография Эллиптические другая система , которая основана на графическом геометрической функции
  • Последняя версия протокола TLS ( версия 1.3 ), используемая для защиты интернет- транзакций, обычно считается надежной . В предыдущих версиях существует несколько уязвимостей, включая продемонстрированные атаки, такие как POODLE . Хуже того, некоторые комплекты шифров намеренно ослаблены, чтобы использовать 40-битный эффективный ключ, чтобы разрешить экспорт в соответствии с правилами США до 1996 года .

Слабый [ править ]

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

  • DES , чьи 56-битные ключи позволяют атаки через перебор.
  • Тройной DES (3DES / EDE3-DES). см. DES - это также страдает от известного в то время феномена, называемого "sweet32" или "оракул дня рождения"
  • Wired Equivalent Privacy, который подвергается ряду атак из-за недостатков в его конструкции.
  • 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 потоковый шифр.
  • Clipper Chip , неудачная инициатива правительства США , которая включала основные положения депозитных, что позволяет правительству получить доступ к ключам.
  • 40-битная система шифрования содержимого, используемая для шифрования большинства дисков DVD-Video .
  • Практически все классические шифры .
  • Большинство ротационных шифров, таких как машина Enigma .
  • существуют некоторые некорректные реализации 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]» . Проверено 14 февраля 2011 .
  3. ^ Антипов Александр (1970-01-01). «Пресловутый указ №334 о запрете криптографии» . www.securitylab.ru (на русском языке) . Проверено 21 сентября 2020 .
  4. ^ "Указ Президента Российской Федерации от 03.04.1995 г. № 334" . Президент России (на русском языке ) . Проверено 21 сентября 2020 .
  5. ^ «Положение о лицензировании деятельности по разработке, производству, распространению шифровальных средств и систем» . Российская газета (на русском языке ) . Проверено 21 сентября 2020 .
  6. ^ "Миф №49" В России запрещено использовать несертифицированные средства шифрования " " . bankir.ru (на русском языке) . Проверено 21 сентября 2020 .
  • Сильная криптография - глобальная волна изменений, Информационный доклад Института Катона № 51

См. Также [ править ]

  • 40-битное шифрование
  • Сводка по безопасности шифрования
  • Экспорт криптографии
  • Сравнение криптографических библиотек
  • Спор ФБР и Apple о шифровании
  • Сводка по безопасности хеш-функции
  • Уровень безопасности