我是否必须备份Titanium Backup的密钥?


11

我刚购买了Titanium Backup,并设置了用户+系统应用程序和数据的预定加密备份,然后进行了Dropbox同步。假设我记得密码,是否备份了恢复所需的所有数据?还是我必须手动备份私钥和加密的对称密钥?

Answers:


6

Titanium备份有关密码术的常见问题解答指出,您只需要密码即可恢复任何备份。这必须意味着私钥文件与所有备份一起存储,因为它永远无法以任何其他方式工作。该常见问题的最大问题在于,它应明确声明此恕我直言,以便为我们的用户弄清楚。

我偷看了一些备份文件的前几个字节(我在这里谈论的是应用程序数据,因为Titanium Backup不会备份apks周期),您猜我看到了什么?

我在备份文件的第一行中发现了完全相同的ASCII序列:这些文件被命名为“ something”。gz文件,但它们实际上不是 gzip文件(因为已在文件前面放了密钥。Gzip文件以十六进制代码1F 8B 08开头。这些文件不是)。

如果您运行Linux并想将其签出,请在PC上下载两个备份,然后尝试执行以下命令,该命令将显示文件的前四行:

$ 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

二进制文件很奇怪,不是吗?顺便说一句,是的,我的TB私钥已用我的密码加密。我不愿意分享它,因为您将需要我的备份文件密码,以获取有用的信息。

现在,如果您在其他备份文件上运行同一命令:

$ 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)的任何计算机上恢复我们自己的合法数据(我们知道密码,就是我们!)的过程。


将密钥存储在文件头中并不是那么疯狂,但是通常不是相同的密钥。通常,您有一个文件加密密钥(FEK,每个文件一个),该密钥存储在文件头中,并由主密钥进行加密。通常,主密钥也是使用密码生成的,因此您可以通过一些SHA或更好的bcrypt或scrypt或PBKDEF2通过管道传输密码,并从中获取私钥。因此实际上您只将FEK和元数据(如密钥长度)存储在文件中。
Schwertspize

1
这意味着拥有比密码短语更强的加密密钥是没有用的。
Danilo Bargen


1

您只需要记住密码即可。我以前做过

如果您担心,可以随时为整个系统创建na​​ndroid备份,然后擦除并安装自定义rom。安装TB,然后尝试仅使用密码来恢复应用程序。如果它需要您缺少的东西,那么您就有了答案,可以返回到恢复并还原nandroid。但是正如我所说,我已经完成了此过程,并且知道密码就足够了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.