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