У похитителей личных данных теперь есть еще один инструмент: мощность хэширования, сдаваемая в аренду майнерами. К такому выводу пришли авторы нового криптоанализа по SHA-1, опубликованного ранее в этом месяце. Эта некогда популярная хэш-функция была создана Агентством национальной безопасности США и забракована в середине 2000-х годов после того, как не выдержала испытаний смоделированных хакерских атак. После этого актуальным стандартом стал SHA-2, использованный в том числе в Биткоине.
SHA-1 по-прежнему находит применение в определенных кругах, например, в программе Git и других устаревших продуктах для безопасной передачи данных на компьютерах, утверждают авторы статьи. Документ опубликовали Гаэтан Лоран (Gaetan Leurent) из Национального института исследований в области цифровых наук и технологий Франции и Томас Пейрин (Thomas Peyrin) из Наньянского технологического университета в Сингапуре.
Несмотря на уведомления в 2006 и 2015 годах от Национального института стандартов и технологий США (NIST) касательно того, что федеральные агентства должны прекратить использование устаревшей хэш-функции, а также другие исследования, предупреждающие о недостатках SHA-1, ученые продолжают предупреждать компании о необходимости перехода на другие хэш-функции.
«Подписи SHA-1 теперь практически не обеспечивают безопасность», - отмечается в документе.
Лоран и Пейрин брали в аренду у майнеров Биткоина избыточную мощность хэширования, что позволило им провести атаку путем подмены участника. Напомним, что еще в прошлом году исследователи заявляли, что рост ликвидности рынка мощностей для майнинга опасен для индустрии. Правда тогда речь шла об атаках 51%.
Хэш-функции – это односторонний криптографический скремблер, входящий в базовую защиту криптовалют, и также может использоваться для подтверждения личности пользователей. В ключах PGP сообщение, называемое простым текстом, сжимается и скремблируется с помощью одноразового «сеанса ключа». В сочетании с открытым ключом пользователи могут безопасно передавать информацию кому-либо еще. Чтобы расшифровать сообщение, получатели сопоставляют свой закрытый ключ с ключом сеанса.
Согласно документу, ключи PGP могут быть взломаны с помощью арендованной мощности хэширования при затратах всего в $50 000. Взлом возможно осуществить с помощью коллизионных атак, когда разные данные входов приводят к одному и тому же случайному хэшу. Когда это происходит, две стороны имеют доступ к одному и тому же ключу.
«Это так дешево, потому что вычисления на графических процессорах в настоящее время очень дешевы», - сказал Пейрин в телефонном интервью. «В ближайшие годы это станет еще дешевле. Наша атака сейчас может стоить около $45 000, но, скажем, через пять-десять лет она будет стоить менее $10 000».
Хотя многие пользователи перестали применять SHA-1, Лоран и Пейрин отметили, что два популярных инструмента самопроверки - Pretty Good Privacy (PGP) и GnuPG, подвергаются риску атаки путем подмены участника через коллизии хэш-функций для некоторых устаревших приложений.
«У нас нет данных о том, сколько на самом деле Yukis (популярное устройство самопроверки) использует старые версии», - сказал Пейрин. «К сожалению, многие привыкли использовать SHA-1, и одна из причин - преемственность. Прекратить использование хэш-функции будет стоить дорого».
Развитие хэш-функций
На той же неделе, когда была обнаружена уязвимость в SHA-1, появилось альтернативное решение - BLAKE3. Четыре криптоаналитика, в том числе создатель Zcash Зуко Уилкокс (Zooko Wilcox), представили BLAKE3 в качестве еще одной альтернативы множеству хэш-функций, доступных сегодня для коммерческого использования.
Уилкокс рассказал CoinDesk, что использование деревьев Меркла стало стимулом для разработки нового стандарта. Впервые запатентованные в 1979 году Ральфом Мерклом и используемые в криптовалютах деревья Меркла эффективно хранят проверенные данные и позволяют устройствам одновременно выполнять одни и те же вычисления в так называемом «параллелизме».
Как отмечается в документе по BLAKE3, использование деревьев Меркла «поддерживает неограниченную степень параллелизма». Иными словами, это очень быстрая хэш-функция.
Скорость хэш-функции BLAKE3
В основном предназначенная для проверки видеопотоков, хэш-функция основана на семействе функций BLAKE, таких как BLAKE1 и BLAKE2. SHA-1 также имеет свое семейство: SHA-2 и SHA-3. Однако, в отличие от BLAKE, семейство SHA было создано из-за необходимости исправления SHA-1 после того, как в 2004 году было взломано сразу несколько хэш-функций. Фактически, хэш-функция Биткоина SHA2-256 - член того же семейства.
После взлома 2004 года эксперты ожидали, что SHA-2, созданную тремя годами ранее, постигнет та же участь, что и SHA-1. Однако годы спустя SHA-2 все еще активно используется, тогда как SHA-1 продолжает исчезать. Стоимость запуска атаки на приложения, использующие SHA-1, продолжает снижаться, согласно исследованиям Лорана и Пейрина.
Продолжительность жизни хэш-функций от программиста Валери Авроры (Valerie Aurora)
Так что насчет BLAKE3 и других хэш-функций, например, SHA-256? Всем ли функциям суждено пойти по пути SHA-1? Не совсем, как утверждает ведущий автор BLAKE3 Джек О'Коннор (Jack O'Connor).
«Мы многому научились в 90-х годах и не повторяем ошибок, которые были допущены с SHA-1», - сказал О'Коннор.
Несправедливо экстраполировать гибель SHA-1 на другие функции, поскольку это зависит от того, как технологии будущего противодействуют появлению более безопасных и мощных хэш-функций, например, BLAKE3.
«Одни считают, что все безопасные хэш-функции в итоге устаревают - у них ограниченный срок жизни. Однако в начале 2000-х криптографы узнали, как создавать безопасные хэш-функции - до этого все они терпели неудачу. После этого ни одну из них не постигла такая судьба», - сказал Уилкокс.