これは実際にMac OS Xで発生しますが、Mac OS Xよりもここで答えを得ることができると思います。http://apple.stackexchange.com
encfsを使用して暗号化されたディレクトリがあります。誤ってそこから.encfs6.xmlを削除しました。
このディレクトリをencfsディレクトリにマウントしようとすると、encfsはそこに新しい暗号化ボリュームを作成しようとします。新しいアイテムを作成するのではなく、既存のアイテムを開くよう強制できますか?
もちろんパスワードは覚えています。
答え1
.encfs6.xml
キーが入っています。ファイルを紛失すると、ファイルの復号化はできません。
暗号鍵はパスワードから派生しません。 Derived from Passwordは、に保存されているファイル暗号化キーを暗号化するために使用されるキーですencfs6.xml
。これが標準的なアプローチです。これを行うには2つの理由があります。
- セキュリティ上の理由から:パスワードは通常低いエントロピーを持ちます。通常、可能なすべての可能性(
12345678
、、、、、...)を列挙して見つけることができます。一方、キーはランダムに生成されます。正しい鍵を推測する可能性が無視できない場合は、宇宙の年齢よりも時間がかかるでしょう。したがって、あなたのパスワードを推測する攻撃者はキーファイルにもアクセスできるはずです。 (ただし、暗号化されたデータとともにキーファイルが保存されていない場合は利点はありません。)password
iloveyou
Passw0rd
.encfs6.xml
- 使いやすさ:これにより、パスワードを変更する場合はソフトウェアを更新するだけで、
.encfs6.xml
すべてのファイルを再暗号化する必要はありません。
.encfs6.xml
バックアップから復元します。
バックアップがない場合は、削除されたファイルを検索するフォレンジックツールを使用して復元できます。もちろん、これがうまくいくという保証はなく、うまくいっても必ずしも簡単ではありません。
答え2
各ソルトと繰り返しの回数を推測するアイデアがありますが、元の既知のパスワードを使用してファイルを回復/再構築できますが、ファイルを失うことはありません.encfs6.xml
...<encodedKeyData>
便利であると思われるオプションを使用してテストを試みました--anykey
。しなければならない:
--anykey
キー確認確認をオフにします。これにより、EncFSをセカンダリパスワードとともに使用できます。これは、暗号化されたファイルシステムに別々のファイルセットを保存するために使用できます。 EncFSは正しくデコードされていないファイルを無視するため、別々のパスワードで生成されたファイルは、そのパスワードでファイルシステムがマウントされている場合にのみ表示されます。
.encfs6.xmlには次の情報が含まれています。
<encodedKeySize>44</encodedKeySize>
<encodedKeyData>
t+mDmS6qiUwJcUY2rX2oj6jMlfQ3QIiGPG2BRZspTUZiUOcKBxIq70uVILk=
</encodedKeyData>
<saltLen>20</saltLen>
<saltData>
9pmECBnKHDXpW+3E+Z7WO9xWwls=
</saltData>
<kdfIterations>147015</kdfIterations>
<desiredKDFDuration>500</desiredKDFDuration>
EncodedKeyDataと一致しなくても(他のデータに変更)、元の--anykey
ファイルは元のパスワードで読み取ることができると思います。このように、エンコードされたキーデータを除く他のすべてのデータを記憶/推測します。そのため、新しいEncFSフォルダとテストファイルを作成し、.encfs6.xml
ファイルを編集したり、アイテムを変更または削除したりしました<encodedKeyData>...</encodedKeyData>
。
役に立たない、データが間違っていると自動的にマウントされますが、ファイルは復号化されません。次のエラーにより、アイテムの削除が失敗します。
出口を呼び出すと、 'boost::archive::iterators::dataflow_Exception' インスタンスが発生します。
What(): base64 文字セットにない値をデコードしようとしました。
中止
唯一の目的は、--anykey
ファイル名暗号化を使用して別のパスワードで一部のファイルを「隠す」ようですが、まだ元のエンコードされたKeyDataが必要です。
そして、<saltData>
1文字を変更すると、encfs --anykey
どのパスワードでも正常にインストールされますが、ファイルのパスワードは復号化されず、元のパスワードでもエラーは発生しません。
だからあなたは100%必須この.encfs6.xml
ファイルは暗号化キーを含むキーファイルと同じです(私の考えはLUKSヘッダーに似ています)。