Preciso fazer backup das chaves do Titanium Backup?

11

Acabei de comprar o Titanium Backup e configurei um backup criptografado programado de aplicativos e dados do usuário + do sistema, seguido pela sincronização do Dropbox. Supondo que me lembre da senha, todos os dados necessários para a restauração são copiados? Ou tenho que fazer backup manualmente da chave privada e da chave simétrica criptografada?

Häst
fonte

Respostas:

6

As perguntas frequentes do Titanium Backup sobre criptografia afirmam que você só precisa da senha para recuperar qualquer backup. Isso deve significar que o arquivo de chave privada é armazenado junto com todos os seus backups, porque nunca poderia funcionar de outras maneiras. O grande problema com essa FAQ é que ele deve declarar isso IMHO explicitamente, para tornar as coisas mais claras para nós, usuários.

Dei uma olhada nos primeiros bytes de algum arquivo de backup (estou falando dos dados do aplicativo aqui, porque o Titanium Backup não faz backup de períodos de apks), adivinhem o que eu vi?

Encontrei a mesma sequência ASCII nas primeiras linhas dos arquivos de backup: esses arquivos são nomeados como algo. gz, mas na verdade não são arquivos gzip (por causa da chave que foi colocada na frente deles. Os arquivos gzip começam com os códigos hexadecimais 1F 8B 08. Esses arquivos não).

Se você executa o Linux e deseja fazer o check-out, faça o download de dois de seus backups no PC e tente este comando, que mostra as quatro primeiras linhas do arquivo:

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

Minha saída é:

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

Muito estranho para um arquivo binário, não é? A propósito, deve ser, sim, minha chave privada TB codificada com minha senha. Eu não dou a mínima para compartilhá-lo porque você precisaria dos meus arquivos de backup e da minha senha também para obter qualquer coisa útil.

Agora, se você executar, execute o mesmo comando em um arquivo de backup diferente:

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

Adivinha? Você receberá o mesmo s * it!

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

Isso simplesmente não poderia ser uma coincidência. :) A partir de um certo ponto, tudo nos arquivos de backup finalmente se torna binário. Esse comportamento faz muito sentido, porque isso significa que só podemos compartilhar os arquivos de backup e esquecer tudo - com a senha, podemos recuperar nossos backups, ponto final.

Ainda assim, eu realmente acho que o desenvolvedor deve documentar um procedimento sobre como recuperar nossos próprios dados legítimos (conhecemos a senha, então somos nós!) De qualquer computador com um conjunto decente de ferramentas de criptografia (leia-se: OpenSSL ).

Dakatine
fonte
não é tão louco armazenar as chaves no cabeçalho dos arquivos, mas normalmente não são as mesmas chaves. normalmente você tem uma chave de criptografia de arquivos (FEK, é uma por arquivo) que é armazenada no cabeçalho do arquivo e criptografada pela chave mestra. normalmente também a chave mestra é gerada usando a frase secreta, assim você passa a frase secreta por algum SHA ou melhor bcrypt ou scrypt ou PBKDEF2 e obtém a chave privada disso. na verdade, você só armazena os dados FEK e metadados, como o tamanho da chave nos arquivos.
Schwertspize
11
Isso significa que ter uma chave de criptografia mais forte que sua senha é inútil.
Danilo Bargen
4

Como o @Dakatine sugere, a chave mestra está pendente no arquivo, que é concatenada pelo conteúdo criptografado.

Não me preocupei em pesquisar o formato de arquivo TB_ARMOR_V1, porque alguém já criou uma ferramenta de linha de comando python https://github.com/phyber/TiBUdecrypter

Conrado
fonte
1

Você só precisa se lembrar da senha. Eu já fiz isso antes.

Se estiver preocupado, você sempre pode criar um backup nandroid de todo o seu sistema, depois limpar e instalar uma ROM personalizada. Instale o TB e tente restaurar um aplicativo apenas com uma senha. Se precisar de algo que lhe falta, você terá sua resposta e poderá voltar à recuperação e restaurar o nandroid. Mas, como eu disse, já fiz esse processo e sei que a senha é tudo o que é necessário.

Stephen Schrauger
fonte