¿Puedo descifrar files EncFS sin el .encfs6.xml?

Esto sucedió realmente en Mac OS X, pero creo que puedo get la respuesta aquí en lugar de en http://apple.stackexchange.com

Tengo un directory encryption con encfs. Accidentalmente borré .encfs6.xml de allí.

Ahora cuando quiero montar este directory como encfs uno, encfs quiere crear un nuevo volumen encryption allí. ¿Puedo de alguna manera forzarlo a abrir uno existente en lugar de crear uno nuevo?

Por supuesto que recuerdo la contraseña.

Related of "¿Puedo descifrar files EncFS sin el .encfs6.xml?"

.encfs6.xml contiene la key. Si perdió ese file, no podrá descifrar sus files.

La key de encryption no se deriva de la contraseña. Lo que se deriva de la contraseña es la key utilizada para cifrar la key de encryption del file que se almacena en encfs6.xml . Este es un método estándar. Se hace de esta manera por dos razones:

  • Por Passw0rd security: las passwords suelen tener baja entropía; por lo general, es posible encontrarlas enumerando todas las posibles posibilidades ( 12345678 , password , iloveyou , Passw0rd , …). Por otro lado, las keys se generan random; tener una posibilidad no despreciable de adivinar la key correcta tomaría más time que la edad del universo. Por lo tanto, un atacante que adivine su contraseña también debe hacerse con el file de key .encfs6.xml . (Esto no es una gran ventaja cuando el file de key no se almacena junto con los datos encriptados).
  • Para la usabilidad: de esta manera, si cambia su contraseña, el software solo necesita actualizar .encfs6.xml , no necesita volver a cifrar todos los files.

Restaure .encfs6.xml de su copy de security.

Si no tiene una copy de security, puede recuperarla utilizando herramientas forenses que buscan files eliminados. Esto, por supuesto, no está garantizado para funcionar, y no necesariamente fácil, incluso si funciona.

Tuve la idea de adivinar cada sal y el número de iteraciones, pero usando su frase de contraseña conocida original, para recuperar / rebuild el file .encfs6.xml pero sin la falta de <encodedKeyData><encodedKeyData> una testing, usando el útil opción de --anykey , debería:

--anykey
Desactiva la comprobación de validation de key. Esto permite que EncFS se use con passwords secundarias. Esto podría usarse para almacenar un set separado de files en un sistema de files encriptado. EncFS ignora los files que no se decodifican correctamente, por lo que los files creados con passwords separadas solo estarán visibles cuando el sistema de files esté montado con su contraseña asociada.

.encfs6.xml contiene información como esta:

 <encodedKeySize>44</encodedKeySize> <encodedKeyData> t+mDmS6qiUwJcUY2rX2oj6jMlfQ3QIiGPG2BRZspTUZiUOcKBxIq70uVILk= </encodedKeyData> <saltLen>20</saltLen> <saltData> 9pmECBnKHDXpW+3E+Z7WO9xWwls= </saltData> <kdfIterations>147015</kdfIterations> <desinetworkingKDFDuration>500</desinetworkingKDFDuration> 

Pensé que sería posible usar --anykey incluso si no coincidía con el codificadoKeyData (cambiándolo a diferentes datos) pero aún así leer los files originales usando la frase de contraseña original. Al igual que en, restring / adivina todos los demás datos, excepto coddedKeyData. Así que creé una nueva carpeta EncFS y compruebo los files, e intenté editar el file .encfs6.xml , cambiando o eliminando la input <encodedKeyData>...</encodedKeyData> .

No funcionó , con los datos incorrectos se montaría silenciosamente, pero no se descifraron los files. La eliminación de la input falló con este error:

finalizar llamada después de lanzar una instancia de 'boost :: archive :: iterators :: dataflow_exception'
qué (): intenta decodificar un valor no en el set de caracteres base64
Abortado

El único uso para --anykey parece "esconder" algunos files usando una contraseña diferente, supongo que usar el encryption del nombre de file, pero aún necesita el original codificadoKeyData.

Y, cambiando el <saltData> por un carácter permite que encfs --anykey monte correctamente con cualquier frase de contraseña también, pero incluso utilizando la frase de contraseña original, NO se descifran los files y no se produce ningún error.

Entonces, usted 100% NECESITA el file .encfs6.xml , es como un file de key con una key encriptada (similar a un encabezado de LUKS, creo).