Андрей Смирнов
Время чтения: ~20 мин.
Просмотров: 1

Удаление crc sha из контекстного меню

Как проверить хеш-сумму файла

Очень и очень просто. Мы сейчас с Вами вмонтируем в Проводник Windows специальный инструмент для вычисления и проверки этой контрольной суммы файла.

Нам поможет абсолютно бесплатная, для личного использования, компьютерная программа под названием HashTab.

Устанавливаем её в свою операционную систему (ссылка на скачивание инсталлятора чуть ниже)…

…и получаем в свойствах любого файла дополнительную вкладку…

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

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

Можно просто узнать сумму файла или сравнить её с первоисточником (например, с сайта производителя какой-либо скачанной Вами программы). Для этого просто вставляете его в строку и жмёте кнопочку «Сравнить файл…».

Настройки HashTab очень просты и сводятся к активации (отображению) дополнительных стандартов в Вашем окошке свойств файла…

Что такое контрольная сумма

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

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

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

Для высчитывания контрольной суммы существует множество различных алгоритмов или так называемых хеш-функций. Самыми известными и популярными алгоритмы являются: CRC32, MD5, SHA-1 и SHA-2. Но, есть и множество других алгоритмов, некоторые из которых имеют широкое применения, а некоторые используются только для специфических задач. При этом часть существующих алгоритмов признаны устаревшими или уязвимыми и больше не используются. Так, алгоритм MD5 практически полностью перестал использоваться поскольку выяснилось, что он может выдавать одинаковые значения для разных входных значений.

Для примера продемонстрируем, как выглядит контрольная сумма на практике. Например, возьмем строку «Hello, world!» и высчитаем ее контрольную сумму с использованием нескольких популярных алгоритмов.

АлгоритмЗначение
Adler32205e048a
CRC32ebe6c6e6
Haval5711dea10d85b988fcb1eed99ce7310c
MD28cca0e965edd0e223b744f9cedf8e141
MD40abe9ee1f376caa1bcecad9042f16e73
MD56cd3556deb0da54bca060b4c39479839
RipeMD1283cbb446fc20277b2a4e4b8b8b40aa962
RipeMD16058262d1fbdbe4530d8865d3518c6d6e41002610f
SHA-1943a702d06f34599aee1f8da8ef9f7296031d699
SHA-256315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3
SHA-38455bc556b0d2fe0fce582ba5fe07baafff035653638c7ac0d5494c2a64c0bea1cc57331c7c12a45cdbca7f4c34a089eeb
SHA-512c1527cd893c124773d811911970c8fe6e857d6df5dc9226bd8a160614c0cd963a4ddea2b94bb7d36021ef9d865d5cea294a82dd49a0bb269f51f6e7a57f79421
Tigerb5e5dd73a5894236937084131bb845189cdc5477579b9f36
Whirlpool238034e71c9f4d712ef02f8fe109bc1f32425530088c1ea13786e1ffdc953a7d567db4aba11ce0226efdd5ed5d55abd087b58122f891e61df996a37e595131b5

Как видно, каждый алгоритм выдает значение, которое не имеет совершенно ничего общего с исходными данными. И сколько раз мы бы не высчитывали контрольную сумму строки «Hello, world!», мы каждый раз будем получать одни и те же значения.

Алгоритм действий

В Total Commander находим файл, который нуждается в проверке. Переходим к проблеме, как посмотреть контрольные суммы. Запускаем Total Commander. Там в одной из панелей необходимо сменить текущий диск на тот, в котором находится необходимый файл. Для этой цели воспользуйтесь кнопками или выпадающим списком, которые расположены вверху на панели инструментов. Откройте необходимые пункты из списка директорий, кликнув на них мышкой, и перейдите в нужный каталог с файлом. Следующим шагом для решения задачи, как узнать контрольные суммы, является работа в настройках параметров расчета КСФ. Открываем соответствующий диалог настроек. Чтобы это осуществить, необходимо развернуть раздел «Файл» в главном меню приложения, после чего кликнуть по команде «Создать SFV-файл контрольных сумм (CRC)…». Провидите настройки параметров формирования контрольных сумм. Установите флажок «MD5» в диалоге с названием «Создание SFV-файлов контрольных сумм (CRC)»

Если необходимо, чтобы результатом РКС файла был MD5-хеш (обращаем на это внимание, так как большинство контрольных сумм, которые публикуются в интернете — именно MD5-хеши). Снимаем значок флажка «Для каждого отдельного файла создать отдельный SFV-файл»

Выделяем команду «Сохранить файл контрольных сумм как:» Вводим путь и соответствующее имя файла, куда будет помещен полученный результат расчета контроль суммы. Рассчитываем КСФ. В соответствующем окне «Создание SFV-файлов контрольных сумм (CRC)» необходимо нажать кнопку «OK», после чего будет произведен процесс расчета контрольной суммы. Вы сможете наблюдать за ходом процесса, который будет отображаться в появившемся окне индикатором прогресса. При большом объеме исходного файла, вычисление контрольной суммы займет немало времени. Во всяком случае, необходимо дождаться окончания операции. Последним шагом станет проверка КСФ. Это можно сделать, если открыть в текстовом редакторе или любом просмотрщике созданный файл контрольных сумм. Лучше воспользоваться встроенной функцией просмотра в Total Commander. Для этого необходимо выделить сгенерированный файл вычисленных контрольных сумм в известной нам панели Total Commander, после чего нажать клавишу F3. В файле появится строка, которая структурно состоит из двух частей. Обратите внимание, что первая часть строки расположена до знака «*» и является соответствующим символическим представлением КСФ. 

Криптоанализ

Криптоанализ хеш-функций направлен на исследование уязвимости к различного вида атакам.
Основные из них:

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

При решении методом «грубой силы»:

  • вторая задача требует 2160 операций.
  • первая же требует в среднем 2160/2 = 280 операций, если использовать атаку Дней рождения.

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

В январе 2005 года Vincent Rijmen и Elisabeth Oswald опубликовали сообщение об атаке на усечённую версию SHA-1 (53 раунда вместо 80), которая позволяет находить коллизии меньше, чем за 280 операций.

В феврале 2005 года Сяоюнь Ван, Ицюнь Лиза Инь и Хунбо Юй (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) представили атаку на полноценный SHA-1, которая требует менее 269 операций.

О методе авторы пишут:

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

Также они заявляют:

«В частности, наш анализ основан на оригинальной дифференциальной атаке на SHA-0, «near-collision» атаке на SHA-0, мультиблоковой методике, а также методикам модификации исходного сообщения, использованных при атаках поиска коллизий на HAVAL-128, MD4, RIPEMD и MD5.»

Статья с описанием алгоритма была опубликована в августе 2005 года на конференции CRYPTO. В этой же статье авторы опубликовали атаку на усечённый SHA-1 (58 раундов), которая позволяет находить коллизии за 233 операций.

В августе 2005 года на CRYPTO 2005 эти же специалисты представили улучшенную версию атаки на полноценный SHA-1, с вычислительной сложностью в 263 операций.

В декабре 2007 года детали этого улучшения были проверены Мартином Кохраном.

Кристоф де Каньер и Кристиан Рехберг позже представили усовершенствованную версию атаки на SHA-1, за что были удостоены награды за лучшую статью на конференции ASIACRYPT 2006. Ими была представлена двух-блоковая коллизия на 64-раундовый алгоритм с вычислительной сложностью около 235 операций. Существует масштабный исследовательский проект, стартовавший в технологическом университете австрийского города Грац, который : «… использует компьютеры, соединенные через Интернет, для проведения исследований в области криптоанализа. Вы можете поучаствовать в проекте загрузив и запустив бесплатную программу на своем компьютере.»

Хотя теоретически SHA-1 считается взломанным (количество вычислительных операций сокращено в 280-63 = 131 000 раз), на практике подобный взлом неосуществим, так как займёт пять миллиардов лет.

Бурт Калински, глава исследовательского отдела в «лаборатории RSA» предсказывает, что первая атака по нахождению прообраза будет успешно осуществлена в ближайшие 5-10 лет.

Ввиду того, что теоретические атаки на SHA-1 оказались успешными, Национальный институт стандартов и технологий (NIST) планирует полностью отказаться от использования SHA-1 в цифровых подписях.

ноября 2007SHA-3

  1. Шаблон:Cite paper

Что такое контрольная сумма

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

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

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

Для высчитывания контрольной суммы существует множество различных алгоритмов или так называемых хеш-функций. Самыми известными и популярными алгоритмы являются: CRC32, MD5, SHA-1 и SHA-2. Но, есть и множество других алгоритмов, некоторые из которых имеют широкое применения, а некоторые используются только для специфических задач. При этом часть существующих алгоритмов признаны устаревшими или уязвимыми и больше не используются. Так, алгоритм MD5 практически полностью перестал использоваться поскольку выяснилось, что он может выдавать одинаковые значения для разных входных значений.

Для примера продемонстрируем, как выглядит контрольная сумма на практике. Например, возьмем строку «Hello, world!» и высчитаем ее контрольную сумму с использованием нескольких популярных алгоритмов.

АлгоритмЗначение
Adler32205e048a
CRC32ebe6c6e6
Haval5711dea10d85b988fcb1eed99ce7310c
MD28cca0e965edd0e223b744f9cedf8e141
MD40abe9ee1f376caa1bcecad9042f16e73
MD56cd3556deb0da54bca060b4c39479839
RipeMD1283cbb446fc20277b2a4e4b8b8b40aa962
RipeMD16058262d1fbdbe4530d8865d3518c6d6e41002610f
SHA-1943a702d06f34599aee1f8da8ef9f7296031d699
SHA-256315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3
SHA-38455bc556b0d2fe0fce582ba5fe07baafff035653638c7ac0d5494c2a64c0bea1cc57331c7c12a45cdbca7f4c34a089eeb
SHA-512c1527cd893c124773d811911970c8fe6e857d6df5dc9226bd8a160614c0cd963a4ddea2b94bb7d36021ef9d865d5cea294a82dd49a0bb269f51f6e7a57f79421
Tigerb5e5dd73a5894236937084131bb845189cdc5477579b9f36
Whirlpool238034e71c9f4d712ef02f8fe109bc1f32425530088c1ea13786e1ffdc953a7d567db4aba11ce0226efdd5ed5d55abd087b58122f891e61df996a37e595131b5

Как видно, каждый алгоритм выдает значение, которое не имеет совершенно ничего общего с исходными данными. И сколько раз мы бы не высчитывали контрольную сумму строки «Hello, world!», мы каждый раз будем получать одни и те же значения.

SHA-256 алгоритм хеширования

SHA-256 представляет из себя криптографическую функцию хеширования, которую разработали сотрудники Агентства Национальной Безопасности. Основное применение – защита информации.

По сути, SHA-256 – это однонаправленная функция SHA-2.

На изображении показана схема первой итерации алгоритма SHA-2.

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

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

В работе алгоритма SHA-2 используются битовые операции:

  • || — конкатенация — операция склеивания объектов линейной структуры, строк;
  • + — операция сложение;
  • and (&, &&) — побитовая операция «И»;
  • xor — операция, исключающая «ИЛИ»;
  • shr (shift right) — логический сдвиг вправо;
  • rots (rotate right) — циклический сдвиг вправо;

Технические характеристики хеш-функции SHA-256:

  • Длина дайджеста сообщения (бит) — 256;
  • Длина внутреннего состояния (бит) — 256 (8х32);
  • Длина блока (бит) — 512;
  • Максимальная длина сообщения (бит) — 264-1;
  • Длина слова (бит) — 32;
  • Количество итераций в цикле — 64;
  • Скорость (MiB/s) — 139;

Также вы можете посмотреть псевдокод, который описывает алгоритм SHA-256.

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

Получение контрольной суммы файла средствами Windows

Для начала потребуется запустить Windows PowerShell: проще всего использовать поиск в панели задач Windows 10 или меню Пуск Windows 7 для этого.

Команда, позволяющая вычислить хэш для файла в PowerShell — Get-FileHash, а чтобы использовать ее для вычисления контрольной суммы достаточно ввести ее со следующими параметрами (в примере вычисляется хэш для образа ISO Windows 10 из папки VM на диске C):

Get-FileHash C:\VM\Win10_1607_Russian_x64.iso| Format-List

При использовании команды в таком виде, хэш вычисляется по алгоритму SHA256, но поддерживаются и другие варианты, задать которые можно с помощью параметра -Algorithm, например, для вычисления контрольной суммы MD5 команда будет выглядеть как в примере ниже

Get-FileHash C:\VM\Win10_1607_Russian_x64.iso -Algorithm MD5 | Format-List

При этом поддерживаются следующие значение для алгоритмов вычисления контрольной суммы в Windows PowerShell

  • SHA256 (по умолчанию)
  • MD5
  • SHA1
  • SHA384
  • SHA512
  • MACTripleDES
  • RIPEMD160

Подробное описание синтаксиса команды Get-FileHash доступно также на официальном сайте https://technet.microsoft.com/en-us/library/dn520872(v=wps.650).aspx

Проверка контрольной суммы с помощью программы HashTab

Если командная строка вас пугает, можно проверить контрольную сумму более простым путем.

  1. Загрузите и установите программу .
  2. Щелкните правой кнопкой мыши на файле образа и выберите пункт «Свойства».
  3. Перейдите на вкладку «Контрольные суммы» (File Hashes).

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

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

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

Для вычисления и сравнения контрольных сумм используются специальные программы. Самая распространенная из них это HashTab

. Эта программа бесплатная. Скачать ее можно отсюда:

Для установки распакуйте архив и запустите файл установки программы.

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

по любому файлу и выберите пунктСвойства (проделаем эту операцию со скачанным архивом)

Обратите внимание, что в окне свойств файла появилась новая вкладкаХеш-суммы файлов

Для того чтобы сравнить контрольные суммы файлов скопируйте хеш-сумму, с сайта программы и вставьте ее в поле Сравнение хеша

окна свойств.

Итак, вы долго и упорно загружали образ Windows, а теперь хотите убедиться, что по дороге не потерялось ни байта. Или дистрибутив вам принесла добрая фея, и вы хотите проверить, не связана ли она с пиратами. Для определения целостности дистрибутива вам понадобятся две вещи — контрольная сумма и программа для ее проверки.

Применение и сертификация

См. также

SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224 законом США допускаются к использованию в некоторых правительственных приложениях, включая использование в рамках других криптографических алгоритмов и протоколов, для защиты информации, не имеющей грифа секретности. Стандарт также допускает использование SHA-2 частными и коммерческими организациями.

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

Некоторые примеры применения SHA-2 указаны в таблице:

Область примененияДетали
S/MIMESHA-224, SHA-256, SHA-384 или SHA-512 дайджесты сообщений
OpenLDAPSHA-256, SHA-384 или SHA-512 хеши паролей
DNSSECSHA-256 дайджесты DNSKEY в протоколе DNSSEC
X.509SHA-224, SHA-256, SHA-384 и SHA-512 используются для создания электронной цифровой подписи сертификата
PGPSHA-256, SHA-384, SHA-512 используются для создания электронной цифровой подписи
IPSecНекоторые реализации поддерживают SHA-256 в протоколах ESP и IKE
DSAСемейство SHA-2 используется для создания электронной цифровой подписи
SHACAL-2Блочный алгоритм шифрования SHACAL-2 построен на основе хеш-функции SHA-256
BitcoinЭмиссия криптовалюты Bitcoin осуществляется посредством поиска строк, SHA-256-хеш которых имеет заданную структуру

Как показали исследования, алгоритмы SHA-2 работают в 2—3 раза медленнее других популярных хеш-алгоритмов MD5, SHA-1, Tiger и RIPEMD-160.

Сертификация

Реализации SHA-2, как и всех Федеральных стандартов обработки информации, могут быть сертифицированы для использования в некоторых приложениях на территории США. Сертификация происходит в рамках процедуры , которая проводится Национальным институтом стандартов и технологий США совместно с канадским Бюро безопасности связи.

На 5 ноября 2008 года было сертифицировано более 250 реализаций SHA-2, четыре из которых могли оперировать сообщениями с длиной в битах, не кратной восьми.

Сертифицировано FIPS PUB 180-4, CRYPTREC и NESSIE.

Зачем программисты вкладывают контрольные суммы исполняемых файлов в репозитории и на сайтах?

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

Это значительно увеличивает уровень безопасности и надежность работы.

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

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

Пример контрольной суммы SHA256 на странице загрузок официального сайта Monero:

В узловом программном обеспечении Bitcoin используются подписи релиза (release hashes). Это asc-файлы, которые обычно включают в себя информацию об SHA-256 хешах и подпись, зашифрованную PGP-ключом.

Скриншот сайта Bitcoin.org с ифнормацией о контрольных суммах Bitcoin Core:

Что такое хеш?

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

Службы центра сертификации (ЦС) ИОК используют криптографические хеш-функции для подтверждения идентификационных данных и запросов цифровых сертификатов. Кроме этого, хеши используются для подтверждения цифровых сертификатов (например, цифровой подписью) и списка аннулированных сертификатов (CRL, certificate revocation list), которые выдают другие доверенные стороны. Доверенные стороны не смогут полагаться на достоверность цифровых сертификатов и другого контента, подписанного ЦС, если службы ИОК используют ненадёжный криптографический хеш. Стойкость криптографического хеша создаёт доверие ко всей системе ИОК.

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

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

Модели перехода ИОК

Ниже перечислены сценарии для внедрения SHA-2 в компоненты ИОК (для этих примеров используется двухуровневая ИОК — автономная корневая система, онлайн центры сертификации), каждый из которых может быть либо новым компонентом, либо перенесённым:

Два ИОК дерева, один полностью SHA-1, другой полностью SHA-2.

Остальные сценарии предполагают одно дерево ИОК:

  • Всё дерево ИОК, от корня до конечных точек, — SHA-1.
  • Всё дерево ИОК, от корня до конечных точек, — SHA-2.
  • Корень — SHA-1, выдающие ЦС — SHA-2, сертификаты конечных точек — SHA-2.
  • Корень — SHA-1, выдающие ЦС — SHA-2, сертификаты конечных точек — SHA-1.
  • Корень — SHA-1, выдающие ЦС — SHA-2 и SHA-1, сертификаты конечных точек — SHA-2 и SHA-1.
  • Корень — SHA-2, выдающие ЦС — SHA-1, сертификаты конечных точек — SHA-1.
  • Корень — SHA-2, выдающие ЦС — SHA-2, сертификаты конечных точек — SHA-1.
  • Корень — SHA-2, выдающие ЦС — SHA-2 и SHA-1, сертификаты конечных точек — SHA-2 и SHA-1.

Также возможно существование выдающего центра сертификации, который переключается между SHA-1 и SHA-2 по необходимости, но это с большой вероятностью вызовет путаницу в службах ИОК (и не особо рекомендуется). Если возможно, для облегчения перехода можно запустить параллельные ИОК, один — с SHA-1, другой — с SHA-2, а потом переводить используемые устройства после того, как позволит тестирование.

Примечание: собственный сертификат ЦС корневого ЦС не нужно переносить на SHA-2, даже если он всё ещё использует SHA-1. Все программы проверки устаревших SHA-1 заботятся обо всём после собственного сертификата корневого ЦС (и будут заботиться, по крайней мере, в обозримом будущем). Тем не менее, имеет смысл переместить всё, включая собственный сертификат ЦС корневого ЦС на SHA-2, чтобы можно было сказать, что вся ИОК — SHA-2, и избежать дальнейших изменений, связанных с SHA-1, в обозримом будущем.

Публичные ЦС уже перешли с SHA-1 на SHA-2 для любых сертификатов со сроком жизни, заканчивающимся после 1 января 2017, поэтому вы должны сосредоточить свои усилия на серверах и приложениях с ещё не перешедшими на SHA-2 публичными цифровыми сертификатами. После решения этой проблемы можно начать смотреть на внутренние ИОК и доверенные стороны. Переход с SHA-1 на SHA-2 технически не сложен, но это массовое логистическое изменение с множеством последствий, которое требует продолжительного тестирования.

Вряд ли большинство поставщиков знают точную дату смерти SHA-1 (т. е. дату, когда его использование в приложении или устройстве будет приводить к «фатальным» ошибкам), но скорее всего это произойдёт раньше, чем вы ожидаете, так как всё больше пользователей переходит на SHA-2. Поэтому вам действительно стоит совершить переход уже сейчас.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации