Алгоритм безопасного хеширования | Secure Hash Algorithm

Secure Hash Algorithm VPN

В современном мире информация не защищена, если она не была зашифрована. Это означает, что вы берете любой текст, графику или видео и применяете математические процессы, чтобы сделать их недоступными для посторонних. В мире шифрования ключевую роль играют хэш-функции. Эти алгоритмы позволяют инструментам шифрования извлекать произвольный код или текст и превращать их в фиксированные, защищенные фрагменты защищенных данных. И в мире хеширования безопасности нет ничего более важного, чем семья Secure Hash Algorithm (SHA).

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

Краткое введение в алгоритм безопасного хеширования (Secure Hash Algorithm (SHA))

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

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

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

Следовательно, SHA и подобные алгоритмы часто также называют функциями «проверки файлов». Без них мы бы не знали, правильно ли принимаются файлы, которые мы шифруем и передаем, и были ли они повреждены или намеренно повреждены.

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

Краткая история алгоритма безопасного хеширования

С 1993 года SHA разрабатывается, поддерживается и распространяется Национальным институтом технологических стандартов (NIST). Это государственное агентство США, которое устанавливает многие мировые стандарты, регулирующие порядок использования Интернета. Как показывает история SHA, институт разрабатывал политику с момента создания WWW.

Тем не менее, важно знать, что алгоритм SHA развивался на протяжении своей истории. Фактически, первая версия (SHA-0) была изъята из обращения почти сразу после выпуска, когда NIST обнаружил недостатки в ее целостности. За ним последовал SHA-1, который имел гораздо более длительный срок хранения. SHA-1 был одобрен Агентством национальной безопасности и стал инструментальной частью популярных протоколов, таких как IPSec и SSL . Но даже в этом случае, когда недостатки стали очевидными, хэш постепенно исчезал.

К 2010 году АНБ рекомендовало использовать SHA-2. Представленный в 2001 году, к третьему воплощению SHA присоединилась SHA-3, появившаяся в 2012 году. Эти две версии чаще всего используются правительственными агентствами и корпорациями, хотя более ранние версии по-прежнему широко применяются – несмотря на недостатки безопасности.

Для чего используется SHA?

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

Смотрите также:  Наиболее распространенные ошибки клиента Cisco VPN

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

Криптовалюты также используют алгоритмы SHA. Биткойн использует хеш, чтобы гарантировать, что каждая транзакция в блокчейне может быть аутентифицирована, что дает держателям уверенность в целостности валюты. В целом, любые системы, использующие идентификаторы «доказательства участия», будут склонны использовать вариант SHA.

Понимание различных типов алгоритма SHA

Как мы уже отмечали выше, алгоритм безопасного хеширования прошел через множество различных версий, и, вероятно, полезно преодолеть различия. Переход с SHA-1 на SHA-2 был особенно важен с точки зрения кибербезопасности, поэтому мы остановимся на этом более подробно.

  • SHA-0 – первая версия алгоритма хеширования, SHA-0, была быстро прекращена, но проект продолжился, несмотря на этот первоначальный сбой.
  • SHA-1 – разработанный в рамках проекта правительства США под названием Capstone, SHA-1 технически заменил SHA-0 в 1995 году. Он внес лишь незначительную поправку в фактическую работу алгоритма SHA, но АНБ заверило пользователей, что изменения были фундаментальный, и новый стандарт стал основным во всем мире. Однако эксперты по безопасности никогда не развивали полную уверенность в хэше. К статье 2017 года Computerworld описывал SHA-1 как «совершенно небезопасный» и сообщал, что можно создать два файла .pdf с одинаковой хэш-подписью. К счастью, SHA-1 уже выходил.
  • SHA-2 – Созданный в 2001 году, SHA-2 – гораздо более сложный зверь. После выпуска он также прошел различные эволюции, добавив варианты с 224, 256, 384, 512, 224/512 и 512/256 битными дайджестами (поэтому многие люди называют SHA-2 «семейством» хэшей). Большую часть времени SHA-256 и SHA-512 являются опцией выбора, и в настоящее время регулярно используются с браузерами, такими как Chrome или Firefox, для аутентификации веб-страниц.
  • SHA-3 – SHA-2 существует уже давно, но переход от SHA-1 еще не завершен. Несмотря на это, SHA-3 сейчас стоит на повестке дня, поскольку была представлена ​​в 2015 году. Причина разработки алгоритма безопасного хеширования следующего поколения была проста: SHA-2 до сих пор не стерла уязвимости хеширования, обнаруженные с помощью SHA. -1. SHA-3 утверждает, что он намного безопаснее, быстрее и гибче. Тем не менее, он имеет гораздо более слабую аппаратную и программную поддержку, чем SHA-2, что резко замедлило его внедрение. Его время наверняка придет, но в ближайшем будущем его младший брат будет доминирующим алгоритмом хеширования. Более того, NIST еще не рекомендовал переходить на SHA-3, рассматривая такие алгоритмы, как SHA-256, как совершенные.

Как работает алгоритм SHA?

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

Хэши принимают сообщения и преобразуют их в ASCII, затем в двоичный код, прежде чем преобразовать этот двоичный код в хэш правильной длины (например, 512 бит). Обычно это включает добавление достаточного количества нулей, чтобы компенсировать разницу.

Затем, функция хеширования создает сетку двоичных членов, которые «трансформируются» с помощью вращений и операций XOR. В конце серии преобразований (которая зависит от используемой версии) у вас останется пять двоичных переменных.

Эти переменные затем могут быть переведены в шестнадцатеричное и объединены в окончательный хеш. Вы, наверное, видели эти коды, которые выглядят примерно так: 8463d4bf7f1e542d9ca4b544a9713350e53858f0.

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

Смотрите также:  Что такое концентратор VPN?

Даже SHA-1 когда-то считалось очень безопасным. На самом деле эксперты подсчитали, что злоумышленникам “грубой силы” потребуется от двух до 159 попыток провести эффективную атаку. Это чертовски много вычислительной мощности.

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

Являются ли алгоритмы SHA уязвимыми для кибератак?

кибератаки

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

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

Наиболее известное доказательство было предложено проектом SHAttered , который представил два файла .pdf  с одинаковым хешем. Команде по-прежнему требовалось использовать огромное количество вычислительной мощности (большая часть которой была предоставлена ​​Google), но результат был очевиден: при быстром росте скорости компьютера старые хэши были чрезвычайно уязвимы для атак грубой силы и столкновений.

Те же проблемы, обнаруженные в SHA-1, относятся и к SHA-2, поэтому теоретически веб-страницы, электронные письма, вложения и даже видео могут манипулировать своими цифровыми подписями, делая их доступными для пользователей. Google и Mozilla признали это, постепенно отказываясь от SHA-1 и вводя проверки, чтобы удостовериться в подлинности SSL-сертификатов. Но это не обеспечивает полной защиты от незаконных подписей.

Вам нужно обеспечить безопасность от атак SHA?

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

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

Многие VPN отреагировали на такие проекты, как SHAttered, отказавшись от SHA-1 и приняв SHA-2, что является позитивным шагом в области безопасности и показывает, что VPN серьезно относится к этому вопросу. Они также могут активизировать свои процедуры для изменения хэшей при создании туннелей шифрования.

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

Это кажется самодовольным. Мы знаем, что вычислительные мощности растут, и такие технологии, как квантовые вычисления, могут поднять его еще выше – довольно быстро. В сочетании с изменениями в методах, используемых хакерами, это может привести к плохой уязвимости старых алгоритмов, а также к VPN, которые их используют.

Поэтому, хотя ваши данные могут быть в безопасности прямо сейчас, любые пользователи VPN должны перейти на сервисы, которые осведомлены о рисках, связанных с SHA. Ищите поставщиков, которые используют SHA-2 в качестве стандарта и планируют включить SHA-3, когда это возможно. И избегайте любых услуг, которые полагаются на SHA-1. Это просто не стоит больше рисковать.

Оцените статью
Все о IP и VPN
Добавить комментарий