Las preguntas frecuentes de Titanium Backup sobre criptografía establecen que solo necesita la frase de contraseña para recuperar cualquier copia de seguridad. Eso debe significar que el archivo de clave privada se almacena junto con todas sus copias de seguridad, porque nunca podría funcionar de ninguna otra manera. El gran problema con esas preguntas frecuentes es que debería decir esto explícitamente en mi humilde opinión para que las cosas sean más claras para los usuarios.
Eché un vistazo a los primeros bytes de algún archivo respaldado (estoy hablando de los datos de la aplicación aquí, porque Titanium Backup no respalda el período de apks), ¿adivina lo que vi?
Encontré la misma secuencia ASCII en las primeras líneas de los archivos de respaldo: esos archivos se llaman algo. gz pero en realidad no son archivos gzip (debido a la clave que se les ha puesto delante. Los archivos gzip comienzan con los códigos hexadecimales 1F 8B 08. Esos archivos no).
Si ejecuta Linux y desea verificarlo, descargue dos de sus copias de seguridad en la PC y pruebe este comando, que muestra las primeras cuatro líneas del archivo:
$ head -n 4 cgeo.geocaching-20130919-000250.tar.gz
Mi salida es:
TB_ARMOR_V1
0w5AkcCA9rGtSy3Ecrag19p/FYQ=
BNpyGZq/PQYmpDXkXwji2lQGIQY=
MIGfMA0GCSqGSIb3DQEBAQUAA5GNADCBiQKBgQDWLUH3i295TA9XwPgbzwXEk/0eqowW2xcoxbOQo7NYeqGvctC7dNM33CEh+az25Wj2iTo+kzdIpwM7Y6o5vjW+D/yBCv9nDV1+HLNyut3GDQon84yR6BlgbQJT5QoIra5f6FN+wtqF5/ifW88nzuia2fUOv/IqRVQhHxIY7LPkMQIDAQAB
Muy extraño para un archivo binario, ¿no? Por cierto, debe ser, sí, mi clave privada de TB cifrada con mi frase de contraseña. No me importa compartirlo porque necesitarías mis archivos de respaldo y mi frase de contraseña también, para obtener algo útil.
Ahora, si ejecuta, ejecute el mismo comando en un archivo de copia de seguridad diferente:
$ head -n 4 com.amazon.kindle-20130919-000004.tar.gz
¿Adivina qué? ¡Obtendrás el mismo s * it!
TB_ARMOR_V1
0w5AkcCA9rGtSy3Ecrag19p/FYQ=
BNpyGZq/PQYmpDXkXwji2lQGIQY=
MIGfMA0GCSqGSIb3DQEBAQUAA5GNADCBiQKBgQDWLUH3i295TA9XwPgbzwXEk/0eqowW2xcoxbOQo7NYeqGvctC7dNM33CEh+az25Wj2iTo+kzdIpwM7Y6o5vjW+D/yBCv9nDV1+HLNyut3GDQon84yR6BlgbQJT5QoIra5f6FN+wtqF5/ifW88nzuia2fUOv/IqRVQhHxIY7LPkMQIDAQAB
Esto simplemente no podría ser una coincidencia. :) Desde cierto punto en adelante, todo en los archivos de respaldo finalmente se convierte en binario. Este comportamiento tiene mucho sentido porque eso significaría que solo podemos compartir los archivos de copia de seguridad y olvidarnos de todo: con la frase de contraseña, podemos recuperar nuestras copias de seguridad, punto.
Aún así, realmente creo que el desarrollador debe documentar un procedimiento sobre cómo recuperar nuestros propios datos legítimos (sabemos la frase de contraseña, ¡así que somos nosotros!) Desde cualquier computadora con un conjunto de herramientas de cifrado decente (léase: OpenSSL ).