Восстановление TC-ключа вручную
Здравствуйте, мастера криптографии и безопасности. (:
Случилась у меня беда из-за собственной криворукости, aka "невозможной секурности". Хранил диски под TrueCrypt, пароль + ключевой файл. Винчестер грохнулся, а копии ключа не осталось (из "соображений безопасности", ага). Восстановить его не удастся. Пароль я знаю.
Главный вопрос: ключевой файл генерировался стандартно, размер файла был 64 байт. Возможно ли руками подобрать побитово все его значения, которые могут составлять файл, и пробовать каждую вариацию? Готов сидеть неделю (...) очень нужны данные.
Что посоветуете для выхода из ситуации?
Не доживете.
Нести грохнутый винт к спецам по восстановлению.
Восстановить его не смогли. )-:
А корректно ли здесь сравнивать с подбором пароля к архиву? Простой (0 и 1) и длинный (512). Поставить bruteforce, и за месяц-другой найдётся, да? :(
комментариев: 9796 документов: 488 редакций: 5664
Не понял, простите — я могу извлечь эти случайные данные (salt) из контейнера? Как-то их получить?
И, если это поможет, у меня много контейнеров (100 и больше), все с одинаковым ключ. файлом/паролем.
комментариев: 11558 документов: 1036 редакций: 4118
64 байта * 8 бит = 512 бит. За неделю не управитесь.
Не поможет именно потому, что привязка (salt) делает ключ уникальным для каждого контейнера даже при одинаковых паролях.
комментариев: 9796 документов: 488 редакций: 5664
Сначала при создании генерируется полностью случайный ключ для вашего будущего контейнера. Им он и будет зашифрован. Затем к вашему паролю добавляется другое, тоже случайное значение (соль) и многократно хэшируется с этой солью. Получается ключ из пароля, которым шифруется ключ контейнера (шифрораздела) и записывается в заголовок диска. Так в некоторых программах один контейнер может иметь несколько паролей, каждый из которых открывает ключ контейнера в своём слоте. Кроме того, так можно поменять пароль, не перешифровывая весь контейнер, так как меняется "ключ из пароля", которым перешифровывается "ключ контейнера", который остаётся неизменным (в случае серьёзной компрометации лучше конечно не просто поменять пароль, а перешифровать заново, но есть и такая возможность).
То есть в правильно реализованных программах идёт много привязки к случайным значениям и переставлять местами заголовки контейнеров бесполезно, так же как и пытаться извлечь хоть какую-нибудь информацию при их сопоставлении. Есть и ещё один трюк – распределённое хранение ключа в массиве заголовка в таком виде, чтобы он легче затирался и труднее восстанавливался с магнитных и других носителей.
Вот если повреждён всё-таки не заголовок, а сам контейнер в каком-либо месте, то информацию восстановить можно, это решаемая, хотя тоже нелёгкая задача.