web-dev-qa-db-ja.com

encfsは暗号化されたフォルダを復号化しません-パスワードが正しくありません

Encfsを使用して、データを外部ハードドライブにバックアップします。昨日まで、すべてが常にうまくいっていました。次に、内蔵ハードドライブをフォーマットした後、暗号化されたフォルダーのデータにアクセスする必要がありました

  • 古いLucid(10.04)インストールを使用して暗号化されたフォルダーをマウントしました(私のPCで12.04を使用しており、使用可能な唯一のLinuxインストールでした)
  • Cryptkeeperは私のパスワードを受け入れ、ディレクトリをマウントしましたが、後者は空でした
  • アンマウントしてから再マウントしようとしましたが、今回は「パスワードが正しくありません」というメッセージが表示されました
  • 私は別の暗号化されたフォルダ(異なるパスワードを持っている)をマウントしようとしましたが、まったく同じでした:パスワードが受け入れられ、マウントされたディレクトリが空になり、パスワードのアンマウント/再マウント後はもう受け入れられません

13.10のライブUSBから起動しようとしましたが、今回はencfsがパスワードを受け入れません(暗号化されたフォルダーのいずれか)

質問

今すぐデータを回復するにはどうすればよいですか?私は今、私のドキュメントの半分を失いました。そのいくつかはプロの作品です。

2
user233612

最も簡単な解決策は、バックアップコピーに移動することです。設計による暗号化により、データの回復はほぼ不可能になるため、バックアップはこれまで以上に重要になります。

Encfsのマニュアルページには、さまざまなバージョンについて次のような記述があります。

注:EncFSは、パスワードプログラムから最大2kのデータを読み取り、末尾の改行を削除します。 1.4.xより前のバージョンは、64バイトのテキストのみを受け入れました。

1.4.xのEncFSファイルシステム設定がバージョン1.5で変更された場合(encfsctlを使用してパスワードを変更する場合など)、新しいPBKDF2関数が使用され、ファイルシステムは古いバージョンで読み取りできなくなります。

ブロックサイズや異なるファイル名エンコーディングなどの要素も、古いバージョンではサポートされない場合があります。

私は推測しているだけですが、おそらくすべての異なるバージョンを試してみました。運が良ければ、どのファイルも正しくマウントされていないため、ファイル自体は変更されない可能性があり、同じバージョンのencfsでそれらをマウントしても動作する可能性があります。または、.encfs6.xmlの「構成」ファイルのみが少し変更された可能性があります。

ファイルを作成したencfsの同じバージョン、または新しいバージョンが機能しない場合は、ファイルを復号化するための.encfs6.xmlファイルの適切なバックアップコピーを持っている可能性があります。適切なバックアップがない場合は、機能する構成ファイルを再作成できる可能性があります。構成ファイルに問題が発生した場合に自分でそれを行う方法を見つけようとしています。パスワードハッシュとファイルを復号化する方法を含む設定ファイルも、それほど安全ではありません。

  • 暗号化されたファイルを持つ別のフォルダーと同じ設定とパスワードを使用して、新しい空のencfsフォルダーを作成してみました。しかし、おそらく異なる「saltData」と異なる「kdfIterations」が原因で、.encfs6.xmlファイルは異なる「encodedKeyData」を持ち、新しい.encfsで古いファイルをマウントしようとしても機能しませんでした(ファイル名のデコードエラー、チェックサムの不一致... )。
  • 新しい.encfsファイルを、saltDataとkdfInterationsに一致するように変更してみます。そのため、encodedKeyDataが異なります。 ->それでも動作しません! --anykeyでも機能しません!

したがって、古いファイルを復号化するには、まったく同じ.encfs6.xmlファイルが本当に必要なようです。同じオプションで新しい.encfsを再作成すると、ほとんどすべてのファイルが回復されますが、「encodedKeyData」、「saltData」、「kdfIterations」が必要なので、これら3つのオプションが.encfs6.xmlファイルで変更されず、他のオプションが変更された場合、あなたはまだ運がいいのでしょうか?

  • また、暗号キーパーを使用しないでください! (少なくともファイルを復号化できるようになるまで)ターミナルでencfsを使用し、encfs -f -v encodeddir decrypteddirを使用して、何が起こっているかのヒントを取得します。ディレクトリを正しく考えてみてください。
2
Xen2050