Нужно ли делать резервные копии ключей Titanium Backup?

11

Я только что купил Titanium Backup и настроил запланированное зашифрованное резервное копирование пользовательских и системных приложений и данных, а затем синхронизацию Dropbox. Предполагая, что я помню парольную фразу, все ли данные, необходимые для восстановления, резервируются? Или мне нужно вручную сделать резервную копию закрытого ключа и зашифрованного симметричного ключа?

Hast
источник

Ответы:

6

FAQ титанового Резервного копирования о crypthography состояний , которые вам просто нужна кодовая фраза восстановить любую резервную копию. Это должно означать, что файл закрытого ключа хранится вместе со всеми вашими резервными копиями, потому что он никогда не сможет работать никакими другими способами. Большая проблема с этим FAQ заключается в том, что в нем должно быть четко указано ИМХО, чтобы было понятнее для нас, пользователей.

Я посмотрел на первые байты некоторого файла резервной копии (я говорю о данных приложения здесь, потому что Titanium Backup не выполняет резервное копирование apks периода), угадайте, что я видел?

Я обнаружил ту же последовательность ASCII в первых строках файлов резервной копии: эти файлы названы как- то. GZ , но на самом деле они не GZIP файлы (из - ключа , который был поставлен перед ними. Gzip файлы начинаются с шестнадцатеричных кодов 1F 8B 08. Эти файлы не имеют ).

Если вы работаете в Linux и хотите проверить его, загрузите две резервные копии на ПК и попробуйте эту команду, которая показывает первые четыре строки файла:

$ head -n 4 cgeo.geocaching-20130919-000250.tar.gz

Мой вывод:

TB_ARMOR_V1
0w5AkcCA9rGtSy3Ecrag19p/FYQ=
BNpyGZq/PQYmpDXkXwji2lQGIQY=
MIGfMA0GCSqGSIb3DQEBAQUAA5GNADCBiQKBgQDWLUH3i295TA9XwPgbzwXEk/0eqowW2xcoxbOQo7NYeqGvctC7dNM33CEh+az25Wj2iTo+kzdIpwM7Y6o5vjW+D/yBCv9nDV1+HLNyut3GDQon84yR6BlgbQJT5QoIra5f6FN+wtqF5/ifW88nzuia2fUOv/IqRVQhHxIY7LPkMQIDAQAB

Довольно странно для двоичного файла, не так ли? Кстати, да, мой закрытый ключ от ТБ зашифрован с моей парольной фразой. Я ничего не делю об этом, потому что вам понадобятся мои файлы резервных копий и моя фраза-пароль, чтобы получить что-то полезное.

Теперь, если вы запустите ту же команду для другого файла резервной копии:

$ head -n 4 com.amazon.kindle-20130919-000004.tar.gz

Угадай, что? Вы получите то же самое с * это!

TB_ARMOR_V1
0w5AkcCA9rGtSy3Ecrag19p/FYQ=
BNpyGZq/PQYmpDXkXwji2lQGIQY=
MIGfMA0GCSqGSIb3DQEBAQUAA5GNADCBiQKBgQDWLUH3i295TA9XwPgbzwXEk/0eqowW2xcoxbOQo7NYeqGvctC7dNM33CEh+az25Wj2iTo+kzdIpwM7Y6o5vjW+D/yBCv9nDV1+HLNyut3GDQon84yR6BlgbQJT5QoIra5f6FN+wtqF5/ifW88nzuia2fUOv/IqRVQhHxIY7LPkMQIDAQAB

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

Тем не менее, я действительно считаю, что разработчик должен задокументировать процедуру восстановления наших собственных легитимных данных (мы знаем кодовую фразу, так что это мы!) С любого компьютера с приличным набором инструментов шифрования (читай: OpenSSL ).

Dakatine
источник
хранить ключи в заголовке файлов не так уж и безумно, но обычно ключи не совпадают. обычно у вас есть ключ шифрования файла (FEK, по одному на файл), который хранится в заголовке файла и шифруется главным ключом. обычно главный ключ также генерируется с использованием ключевой фразы, поэтому вы передаете парольную фразу через некоторый SHA или более хороший bcrypt или scrypt или PBKDEF2 и получаете закрытый ключ от этого. так что на самом деле вы храните только FEK и метаданные, такие как длина ключа, в файлах.
Schwertspize
1
Это означает, что иметь более надежный ключ шифрования, чем ваша фраза-пароль.
Данило Барген
4

Как подсказывает @Dakatine, мастер-ключ предварительно добавляется в файл, который затем соединяется с зашифрованным содержимым.

Я не потрудился исследовать формат файла TB_ARMOR_V1, потому что кто-то уже создал инструмент командной строки python https://github.com/phyber/TiBUdecrypter

Conrado
источник
1

Вам нужно только запомнить пароль. Я делал это раньше.

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

Стивен Шраугер
источник