Что такое контрольная сумма? Основы криптографии
Введение в криптографические контрольные суммы, их использование и то, как они обеспечивают вашу безопасность.
Что такое контрольная сумма?
Контрольная сумма - это строка данных, состоящая из букв и цифр, полученная из файла или программы с помощью функции хеширования контрольной суммы и используемая для проверки того, что загруженные вами данные идентичны оригинальным исходным данным. Убедиться в целостности файлов и программ, загружаемых на ваш локальный компьютер, - важнейшая практика безопасности, позволяющая обезопасить себя от распространения поддельных программ, содержащих вредоносное ПО для сбора ваших данных.
Помните, что лучше всего проверять контрольную сумму файлов и приложений, которые вы загружаете, когда это возможно.
Важной особенностью функции контрольной суммы является то, что если в исходный файл вносятся какие-либо изменения, то они приводят к другому результату, например, к другой контрольной сумме. Без этой ключевой функции злоумышленник может внести изменения в данные с помощью атаки “человек посередине” или атаки по цепочке поставок, и пользователи ничего не узнают.
Контрольные суммы также должны гарантировать, что не только изменения в данных приведут к появлению нового ключа, но и исключат возможность создания двумя разными источниками данных одинаковых контрольных сумм. Такие события называются коллизиями, и сила криптографической функции хэширования зависит от того, насколько она устойчива к коллизиям.
Контрольные суммы обеспечивают целостность данных, а не их подлинность.
Контрольные суммы в основном используются для проверки целостности данных. Вы, наверное, помните из нашего введения в моделирование угроз, что целостность означает, что данные были переданы на вашу машину в цифровом идентичном формате. Это означает, что вы получаете данные, будь то файл или исполняемая программа, в том виде, в котором они были задуманы создателем контента. Следует отметить, что контрольные суммы подтверждают только то, что полученные вами данные на 100 % идентичны, но не подтверждают подлинность самого источника. Это еще один аспект информационной безопасности, который может быть достигнут с помощью цифровой подписи.
Почему важна целостность данных?
Целостность данных имеет первостепенное значение на всех уровнях ИТ-операций. От корпоративных хранилищ данных, служб экстренной помощи, государственных служб до фотографий еды из вашего последнего отпуска. Повреждение данных, противоположное целостности данных, может привести к программным ошибкам или пропаже важной информации. Поддерживая контрольные суммы, вы можете быть уверены, что данные, которые вы копируете, загружаете или передаете, идентичны, без необходимости открывать и вручную проверять их.
Если вы не можете доверять своим данным, их использование значительно снижается. Используя контрольные суммы, вы можете быть уверены, что ошибка, с которой вы можете столкнуться при работе с новой программой, имеет другой источник, а не возникла из-за того, что при первоначальной загрузке что-то пошло не так. Это позволяет сэкономить время и деньги. Если вы поддерживаете резервное копирование данных, создание и мониторинг контрольных сумм этих резервных копий - отличный способ следить за состоянием всех хранящихся данных. Если вы заметите разницу, не внося никаких изменений, вы сможете предупредить о том, что что-то идет не так.
Что вызывает неидентичные контрольные суммы?
Существует ряд проблем, которые могут привести к несовпадению контрольных сумм, как обычных, так и злонамеренных. Перебои в подключении к Интернету или проблемы с местом для хранения данных могут стать причиной отсутствия данных, что приведет к несовпадению контрольных сумм с теми, которые были предоставлены исходным курсом. После устранения проблемы новая загрузка обычно возвращает правильное значение.
Однако есть и злонамеренные случаи, которые могут вызвать тревогу. Несовпадение контрольных сумм может свидетельствовать о том, что кто-то из сторонних разработчиков внес изменения в исходные данные. Это может быть что-то незначительное, но может быть признаком того, что в загрузку было включено вредоносное ПО. Это становится еще более серьезной проблемой, когда программы используются для хранения конфиденциальных данных, таких как пароли или криптовалюта. Переупакованные вредоносные “менеджеры” паролей могут напрямую отправлять ваши данные третьим лицам, где они могут быть использованы не по назначению. В случае с криптовалютными кошельками-самозванцами несовпадение контрольных сумм может привести к полной потере цифровых активов.
Примеры алгоритмов, используемых для генерации контрольных сумм.
Независимо от того, какой алгоритм хеширования используется для создания контрольной суммы, их объединяет то, что все они являются односторонними функциями. Значение, сгенерированное функцией контрольной суммы, не может быть использовано для “воссоздания” исходного файла. Это не шифрование, и здесь нечего расшифровывать, так что мы не имеем дело с шифрованными текстами.
Визуализация утилиты cksum, используемой для создания контрольных сумм из слов и фраз.
Некоторые из этих алгоритмов могут показаться знакомыми, и мы уже обсуждали некоторые из них в предыдущих частях цикла “Основы криптографии”.
MD5
Как и в случае с хэшированием паролей, MD5 больше не следует использовать, поскольку он может привести к коллизиям, а это значит, что злоумышленник может создать поддельную версию программного обеспечения, которое вы хотите загрузить, а контрольная сумма не сможет предупредить об этих изменениях.
SHA-1
Эта функция хэширования не считается безопасной с 2005 года, и NIST призвал полностью отказаться от нее к 2030 году. В 2017 году компания Google совместно с группой криптологов из Центра вискунде и информатики смогла создать два разных PDF-файла с одинаковым отпечатком SHA-1.
SHA256
Современным стандартом хеширования контрольных сумм является SHA256 (или SHA-3 для любителей нового). SHA256 также является функцией контрольной суммы, которую мы используем, чтобы вы могли проверять целостность данных каждый раз, когда загружаете Tuta Desktop Client.
Пример контрольной суммы для настольного клиента Tuta версии 244.240913.1
Как проверить контрольную сумму клиента Tuta Desktop Client.
Проверка контрольной суммы загружаемого файла может показаться сложной задачей для тех, кто не очень разбирается в технике, но этот навык быстро осваивается и может сэкономить вам много головной боли в будущем.
С каждым новым выпуском настольного клиента Tuta мы публикуем контрольные суммы на Github, чтобы вы могли проверить их, независимо от операционной системы вашего устройства. Первым шагом будет посещение нашей домашней страницы и загрузка десктопного клиента, соответствующего вашей операционной системе. Продолжайте, я могу подождать…
Отлично! Вы вернулись! Теперь вы можете перейти к той ОС, которую используете в данный момент, и с помощью нескольких простых шагов проверить контрольные суммы загрузки. Для простоты я буду писать эти инструкции исходя из предположения, что вы сохранили загрузку в папке “Загрузки”.
Windows
В Windows откройте командную строку из меню “Пуск” или выполнив команду cmd в диалоговом окне “Выполнить”. Теперь, когда вы открыли командную строку, введите:
-
cd Downloads
-
certutil -hashfile tutanota-desktop-win.exe SHA256
Полученный результат можно сравнить с контрольной суммой, которую мы предоставляем на GitHub.
Шаги командной строки для просмотра контрольной суммы загруженного клиента Tuta desktop для Windows.
Клиент для Windows можно скачать здесь.
Mac
На Mac вы можете открыть окно терминала из Launchpad. После его открытия введите следующее:
-
cd Downloads
-
shasum -a 256 ~/Downloads/tutanota-desktop-mac.dmg
Полученный результат можно сравнить с контрольной суммой, представленной на GitHub.
Команды терминала для проверки контрольной суммы на macOS.
Клиент для Mac можно скачать здесь.
Linux
Наконец, но не в последнюю очередь, вы можете проверить контрольную сумму нашего бесплатного клиента для Linux, открыв терминал и введя:
-
cd Downloads
-
sha256sum tutanota-desktop-linux.AppImage
Затем вы можете сравнить полученный результат с контрольной суммой, предоставленной командой разработчиков Tuta, чтобы убедиться в целостности вашей загрузки.
Команды терминала для проверки контрольных сумм на машине Linux.
Клиент для Linux можно скачать здесь.
С этим новым трюком в рукаве вы можете продолжить свой путь к безопасности в Интернете. Включив проверку контрольных сумм в свою цифровую гигиену, а также используя менеджер паролей, вы защитите себя от киберугроз.
Если вы хотите повысить безопасность своего почтового ящика, а мы рекомендуем вам это сделать, потому что электронная почта - это центр вашей цифровой жизни, обратите внимание на Tuta Mail. Благодаря стандартному сквозному шифрованию, Tuta Mail делает конфиденциальность и безопасность простыми. Создайте свою бесплатную учетную запись электронной почты прямо сейчас и используйте ее с нашими бесплатными специализированными почтовыми клиентами для всех платформ.
И не забудьте проверить контрольную сумму! 😉