web-dev-qa-db-ja.com

KeePassキーファイル-意味のあるセキュリティは提供されますか?

KeePassには、マスターパスワードとキーファイル(およびWindowsログイン)のオプションがあります。しかし、それが本当にセキュリティにどれほど役立つかはわかりません。

私はいくつかのシナリオを見ることができます:

  1. データベースとキーは1つのシステム上にあります。基本的にはオープンドアです。
  2. PCはあなたのもので、データベースはその上にあり、キーはUSBスティック上にあります。システムが侵害されない限り安全です。

つまり、USBスティックを使用する場合のみ、それは安全なようです。しかし、それは(意味のある意味で)パスワードだけを持っているよりも安全ではありませんか?単一の複雑なパスワードを覚えることはかなり可能です。そして、複雑なパスワードを総当たりにするために寿命を引き継ぐ場合、keyfileがより長くより複雑なパスワードを持つことはそれほど意味がありませんよね?

システムが侵害されている場合でも、どちらの方法でも問題にはなりません。これを防ぐことができるのはワンタイムパスワードだけです。

それで私はこれを完全に間違っていますか、そしてキーファイルは実際より安全ですか?それとも、パスワードを入力するのではなく、PCにUSBスティックを挿入することを好む人が多いのでしょうか。

最後に、両方を使用できるので、USBスティックを抜き差ししたくない場合(つまり、ハードドライブにキーファイルを残したまま(またはUSBスティックを接続したままにする場合)24/7)?それとも、それによって、あいまいさによる小さなセキュリティにすぎないでしょうか?

3
user198611

Keepassのドキュメント に記載されているように、KeePassのキーファイルは別の種類のパスフレーズです。

キーファイルは、基本的にはファイル内のマスターパスワードです。キーははるかに複雑になる可能性があるため、キーファイルは通常、マスターパスワードよりも強力です。ただし、それらを秘密にしておくことも困難です。

キーファイルはあなたが持っているものであり(敵によってコピーされるかもしれませんが)、パスワードはあなたが知っているものです。したがって、両方を組み合わせることで、いくつかのシナリオで追加のセキュリティを得ることができます。攻撃者がデータベースを所有していて、ショルダーサーフィンによってパスワードを知っている場合、USBに追加のキーファイルを追加することで、多少安全性が高まります。

ドキュメントに正しく記載されているように、キーファイルをコンピュータのハードドライブに保存しても、セキュリティはそれほど向上しません。

場所

[...]重要なファイルの場所を秘密にしておくことではありません。ハードディスクに存在する数千のファイルからファイルを選択しても、マルウェア/攻撃者が簡単に見つけることができるため、基本的にセキュリティは向上しません。正しいファイル(たとえば、ファイルの最終アクセス時間、最近使用したWindowsのファイルリスト、マルウェアスキャナーのログなどを監視することにより)。キーファイルの場所を秘密にしようとすることは、あいまいさによるセキュリティです。つまり、あまり効果的ではありません。

ただし、あなたのコンピューターが危険にさらされている場合、パスワードとキーファイルは攻撃者がいつかアクセスできるため、このシナリオでは安全ではないと考える必要があります。