パスワードの生成にkeepassを使用しても安全ですか?たとえば、私のアカウントでは、keepassで生成されたパスワードを使用しても安全ですか?将来のkeepassマスターキーをkeepassで安全に生成できますか?どの方法を使用していますか? WindowsおよびLinux用のKeepass 2.30。
不条理に妄想的なKeepassユーザーに感謝します。
tl; dr:はい、それはかなり安全です。
攻撃者は、KeePassを使用していることを知っている場合、パスワードジェネレーターの標準設定を使用していると想定することもあります。これにより、長さと文字セット[a-zA-Z0-9]がわかります。これにより、長さが分からない場合や、特殊文字も使用することが予想される場合よりも、クラックが少し簡単になります。しかし、その知識があっても、生成されたパスワードはまだ遠く、far強すぎてブルートフォースになりません。
しかし、パスワードはどの程度正確に生成されますか?それが予測可能な疑似乱数ジェネレータである場合、それは攻撃ポイントである可能性があります。
KeePass 2.30のソースコード を見ると、パスワードジェネレータはKeePassLib\Cryptography\PasswordGenerator\PwGenerator.cs
に実装されているようです。 KeePassLib\Cryptography\CryptoRandomStream.cs
からのクラスCryptoRandomStreamを使用し、ストリーム暗号 Salsa2 を乱数ジェネレータとして使用します。
パスワードジェネレーターは次のように機能します。
PwGenerator.cs
65行目)。標準 。NETフレームワークのRNGCryptoServiceProvider (CryptoRandom.cs
)を使用します。CryptoRandomStream.cs
114〜118行目)。CryptoRandomStream.cs
行119)。Salsa20Cipher.cs
行176-196)。パスワードを予測するには、Microsoftの暗号化乱数ジェネレータを解読し、エントロピー(使用されている場合)を予測する必要があります。
あるいは、誰かがSalsa20暗号を解読した場合、以前のパスワードからパスワードを予測できます。 Wikipediaによると、「2015年現在、Salsa20に対する攻撃は発表されていません」。
よろしく、非合理的に勤勉なソフトウェア開発者。