
Мне интересно понять формат зашифрованных файлов, создаваемых приложением.Хранитель данных. Насколько я могу судить, некое преобразование пароля хранится в поле с именем 'hexIdentifier'. Странным мне кажется то, что если два файла сохранены с одним и тем же паролем, то они оба имеют одну и ту же строку 'hexIdentifier'. Я не рекламирую это приложение и не связан с компанией. Я оцениваю приложение.
решение1
Я был быоченьудивлен, если он действительно сохранил пароль (закодированный или нет) в зашифрованном файле, потому что это продемонстрировало бы фундаментальное отсутствие понимания криптографии, и в этом случае настоятельно рекомендуется пропустить это программное обеспечение, если вам нужно, чтобы зашифрованные файлы были безопасными. Нет никаких практических причин хранить пароль.
Даже низкая цена не является причиной его использования, если он действительно хранит пароль, поскольку естьмножествоиздругие программыкоторые гораздо более безопасны и дажебесплатно(на самом деле, даже стандартныйархиваторыобеспечить безопасную функцию шифрования (без сохранения пароля).
Что касается Data Guardian, у меня плохие новости. Я провел несколько тестов, и вы с Amazed правы. Похоже, что поле hexIdentifier
не только связано с паролем, но даже не является хэшем, этонастоящий пароль!(пусть и закодированные, пусть даже и не с большим алфавитом).
Если вы снова и снова сохраняете один и тот же файл с паролем увеличивающегося размера (например, один символ, два символа, три…), это приведет к изменению поля, но размер останется постоянным (64 бита), до восьми символов, затем от девяти до 16 символов, поле изменится на 128 бит и так далее. Другими словами, он разбивает (добавляет?) и кодирует пароль в 8-символьные блоки. Если бы это был хэш, размер поля оставался бы постоянным независимо от длины пароля. Таким образом, он фактически кодирует и сохраняет сам пароль.
В папке программы есть DLL, которая указывает на то, что она использует блочный шифр Blowfish (который использует 64-битные блоки — помните 64-битные фрагменты выше?), поэтому пароль, скорее всего, зашифрован им, как и данные (хотя и отдельно от данных, а не как часть того же потока, что делает его еще более уязвимым).
Я уже раскопал несколько аспектов алгоритма всего за несколько минут простого запуска тестов в программе (одновременно смотря телевизор), не открывая ее в дизассемблере и не глядя ни на одну строку кода. Я не думаю, что для кого-то с должной мотивацией будет слишком сложно полностью обратить ее вспять.
Подводя итог, можно сказать, что Data Guardian недостаточно надежен, если вам нужно шифрование (что как бы противоречит назначению названия). Если вам не нужнонуждатьсяшифрование или данные не являются конфиденциальными, то вы можете обойтись без этого (это специализированная программа для хранения записей, а не общая программа шифрования). В противном случае, если безопасность необходима, то вам лучше поискать другую программу управления записями с более сильным шифрованием или просто использовать обычную программу (или даже Data Guardian) и зашифровать сохраненные файлы с помощью общей программы шифрования (илиNTFS-шифрование).
Вы также могли бысвязаться с разработчикоми спросить, могут ли они реализовать более надежное шифрование (даже стандартный Microsoft crypto API[1][2][3][4]было бы хорошо; такжеКрипто++является обычным явлением, поскольку Boost не смог его добавить).