~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ D20EE39F28A842F3A8B1709A561272FE__1714149060 ✰
Заголовок документа оригинал.:
✰ Key stretching - Wikipedia ✰
Заголовок документа перевод.:
✰ Растяжка клавиш — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Key_stretching ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/d2/fe/d20ee39f28a842f3a8b1709a561272fe.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/d2/fe/d20ee39f28a842f3a8b1709a561272fe__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 10:52:36 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 April 2024, at 19:31 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Растяжка клавиш — Википедия Jump to content

Ключевая растяжка

Из Википедии, бесплатной энциклопедии

В криптографии за счет увеличения ресурсов (времени и, возможно, пространства) , методы растяжения ключей используются для того, чтобы сделать потенциально слабый ключ, обычно пароль или парольную фразу , более безопасным против атаки методом перебора необходимых для проверки каждого возможного ключа. Пароли или парольные фразы, созданные людьми, часто бывают короткими или достаточно предсказуемыми, чтобы их можно было взломать , а растяжение ключей предназначено для того, чтобы затруднить такие атаки, усложняя базовый этап проверки одного кандидата на пароль. Растяжение ключей также повышает безопасность в некоторых реальных приложениях, где длина ключа ограничена, путем имитации более длинного ключа с точки зрения злоумышленника методом перебора. [1]

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

Процесс [ править ]

Алгоритмы растяжения ключа зависят от алгоритма, который получает входной ключ, а затем затрачивает значительные усилия на создание расширенного шифра (называемого расширенным ключом). [ нужна цитата ] ), имитируя случайность и большую длину ключа. Алгоритм не должен иметь известного сокращения, поэтому наиболее эффективный способ связать ввод и шифрование — это повторить сам алгоритм растяжения ключа. Это вынуждает злоумышленников перебором затрачивать одинаковые усилия для каждой попытки. Если эти дополнительные усилия сравнить с перебором всех ключей с определенной длиной ключа, то входной ключ можно описать как растянутый на ту же длину. [1]

Растяжение ключей оставляет злоумышленнику два варианта:

  • Попробуйте возможные комбинации расширенного ключа, но это невозможно, если расширенный ключ достаточно длинный и непредсказуемый (т. е. алгоритм достаточно хорошо имитирует случайность, что злоумышленник должен проверить все пространство расширенного ключа). [2]
  • Попробуйте возможные комбинации более слабого исходного ключа, потенциально начиная с атаки по словарю, если исходный ключ представляет собой пароль или парольную фразу, но дополнительные усилия злоумышленника для каждой попытки могут сделать атаку нерентабельной, если более дорогостоящие вычисления и потребление памяти перевесят ожидаемую прибыль.

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

Этот процесс не изменяет исходную энтропию пространства ключей. Алгоритм растяжения ключа является детерминированным , позволяя слабым входным данным всегда генерировать один и тот же расширенный ключ, но, следовательно, ограничивая расширенный ключ количеством возможных комбинаций, превышающим входное пространство ключей. Следовательно, эта атака остается уязвимой, если она не защищена от определенных компромиссов между временем и памятью , таких как разработка радужных таблиц для параллельного воздействия на несколько экземпляров расширенного пространства ключей (фактически это ярлык для повторения алгоритма). По этой причине растяжение ключей часто совмещают с засолкой . [1]

На основе хеша [ править ]

Многие библиотеки предоставляют функции, которые выполняют растяжение клавиш как часть своей функции; см. пример crypt(3) . PBKDF2 предназначен для генерации ключа шифрования из пароля и не обязательно для аутентификации пароля. PBKDF2 можно использовать и для того, и для другого, если количество выходных битов меньше или равно внутреннему алгоритму хеширования, используемому в PBKDF2, который обычно представляет собой SHA-2 (до 512 бит), или используется в качестве ключа шифрования для шифрования статических данных.

Сила и время [ править ]

В этих примерах предполагается, что потребительский процессор может выполнить около 65 000 хэшей SHA-1 за одну секунду. Таким образом, программа, использующая растяжение ключей, может использовать 65 000 раундов хеширования и задерживать пользователя максимум на одну секунду.

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

Закон Мура утверждает, что скорость компьютера удваивается примерно каждые 2 года. Согласно этому предположению, каждые 2 года еще один бит прочности ключа, вероятно, будет перебором. Это означает, что 16 дополнительных бит прочности стоят примерно 16 × 2 = 32 года взлома, но это также означает, что количество раундов растяжения ключей, используемых системой, должно удваиваться примерно каждые 2 года, чтобы поддерживать тот же уровень безопасности (поскольку большинство ключей более безопасны, чем необходимо, системы, требующие последовательной детерминированной генерации ключей, скорее всего, не будут обновлять количество итераций, используемых при расширении ключей. В таком случае разработчик должен принять во внимание, как долго, по его мнению, должна работать система получения ключей. неизменен и должен выбрать подходящее количество хэшей на протяжении всего срока службы системы).

Хэш-функции, привязанные к процессору, по-прежнему уязвимы для аппаратных реализаций . Такие реализации SHA-1 существуют, используя всего лишь 5000 вентилей и 400 тактов. [3] Поскольку многомиллионные вентильные FPGA стоят менее 100 долларов, [4] Злоумышленник может создать полностью развернутый аппаратный взломщик примерно за 5000 долларов. [ нужна цитата ] Такая конструкция с тактовой частотой 100 МГц может тестировать около 300 000 ключей в секунду. Злоумышленник волен выбрать хороший компромисс между ценой и скоростью, например, вариант со скоростью 150 000 ключей в секунду за 2500 долларов США. [ нужна цитата ] Растяжение ключа все равно замедляет атакующего в такой ситуации; проект стоимостью 5000 долларов, атакующий прямой хэш SHA-1, сможет попробовать 300 000÷2 16 ≈ 4,578 клавиш/секунду. [ нужна цитата ]

Аналогично, современные потребительские графические процессоры могут значительно ускорить хеширование. Например, в тесте Nvidia RTX 2080 SUPER FE вычисляет более 10 миллиардов хэшей SHA1 в секунду. [5]

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

История [ править ]

Первая намеренно медленная функция получения ключей на основе пароля «CRYPT» была описана в 1978 году Робертом Моррисом для шифрования Unix . паролей [6] он использовал число итераций 25, 12-битную соль и вариант DES В качестве подфункции . (Собственно DES избегали в попытке сорвать атаки с использованием стандартного оборудования DES.) Пароли были ограничены максимум восемью символами ASCII . Хотя для своего времени это было большим достижением, CRYPT(3) сейчас считается неадекватным. Число итераций, разработанное для эпохи PDP-11 , слишком мало, 12 бит соли доставляют неудобства, но не останавливают заранее рассчитанные атаки по словарю, а ограничение в восемь символов не позволяет использовать более сильные парольные фразы .

Современные функции получения ключей на основе пароля, такие как PBKDF2 , используют криптографический хэш, например SHA-2 , более длинную соль (например, 64 бита) и большое количество итераций. Национальный институт стандартов и технологий США (NIST) рекомендует минимальное количество итераций 10 000. [7] : 5.1.1.2  «Для особенно важных ключей или для очень мощных систем или систем, где производительность, воспринимаемая пользователем, не имеет решающего значения, может быть подходящим количество итераций в 10 000 000». [8] : 5.2 

В 2009 году был представлен алгоритм усиления ключей с интенсивным использованием памяти, scrypt , с целью ограничить использование специального высокопараллельного оборудования для ускорения тестирования ключей. [9] [10]

В 2013 году был проведен конкурс по хешированию паролей с целью выбора улучшенного стандарта растяжения ключей, который будет противостоять атакам со стороны графических процессоров и оборудования специального назначения. Победитель, Argon2 , был выбран 1 июля 2015 года. [11]

Некоторые системы, использующие растяжение клавиш [ править ]

Некоторые, но не все программы шифрования дисков (см. сравнение программ шифрования дисков ):

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

Ссылки [ править ]

  1. ^ Перейти обратно: а б с Келси, Джон; Шнайер, Брюс; Холл, Крис; Вагнер, Дэвид А. (1997). «Безопасное применение ключей с низкой энтропией». В Окамото, Эйдзи; Давида, Джордж I .; Мамбо, Масахиро (ред.). Информационная безопасность, Первый международный семинар, ISW '97, Тацунокучи, Япония, 17-19 сентября 1997 г., Материалы . Конспекты лекций по информатике. Том. 1396. Спрингер. стр. 121–134. дои : 10.1007/BFb0030415 . ISBN  978-3-540-64382-1 .
  2. ^ Макмиллан, Трой (7 июля 2022 г.). Руководство по сертификации CompTIA Advanced Security Practitioner (CASP+) CAS-004 . Сертификация Pearson IT. ISBN  978-0-13-734870-1 .
  3. ^ О'Нил, Мэр. «Недорогая архитектура хэш-функции SHA-1 для RFID-тегов» (PDF) . Архивировано из оригинала (PDF) 19 марта 2012 г.
  4. ^ «Новые 90-нм FPGA Xilinx Spartan-3 меняют ландшафт полупроводников (0333): Пресс-релизы Xilinx» . Архивировано из оригинала 16 июля 2011 г. Проверено 8 августа 2010 г.
  5. ^ https://gist.github.com/epixoip/47098d25f171ec1808b519615be1b90d , PBKDF2-HMAC-SHA1 с 1000 итерациями стоит 2002 хеша SHA-1 со скоростью 5 164,9 кГц/с, что составляет 10 340 129 800 SHA- 1 хеш в секунду.
  6. ^ Моррис, Роберт; Томпсон, Кен (3 апреля 1978 г.). «Безопасность паролем: история болезни» . Лаборатории Белла . Архивировано из оригинала 22 марта 2003 г. Проверено 9 мая 2011 г.
  7. ^ Грасси Пол А. (июнь 2017 г.). SP 800-63B-3 – Рекомендации по цифровой идентификации, аутентификации и управлению жизненным циклом . НИСТ. doi : 10.6028/NIST.SP.800-63b .
  8. ^ Мельтем Сёнмез Туран, Элейн Баркер, Уильям Берр и Лили Чен (декабрь 2010 г.). SP 800-132 – Рекомендации по получению ключей на основе пароля, Часть 1: Приложения хранения . НИСТ. дои : 10.6028/NIST.SP.800-132 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  9. ^ Сценарий
  10. ^ сценарий: новая функция получения ключей , Колин Персиваль , BSDCan 2009, по состоянию на 1 февраля 2011 г.
  11. ^ Конкурс хеширования паролей
  12. ^ «Формат 7z» .
  13. ^ КБДФ 4
  14. ^ KeePassXC — Создание вашей первой базы данных
  15. ^ Дреппер, Ульрих. «Шифрование Unix с использованием SHA-256 и SHA-512» .
  16. ^ RFC 4880
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: D20EE39F28A842F3A8B1709A561272FE__1714149060
URL1:https://en.wikipedia.org/wiki/Key_stretching
Заголовок, (Title) документа по адресу, URL1:
Key stretching - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)