1

Firefox はパスワードを保存する必要があります。それは完全に安全ではありませんが、それを行う必要があります。それだけです。
私の C# アプリにも同じ要件があります (一種のブラウザーです)。

Firefox は、パスワードをプレーンテキストで保存するのではなく、少し難読化します。
この種の難読化のベスト プラクティスは何ですか?

たとえば、私がよく理解している場合、Firefoxの戦略は次のとおりです。

  • アプリのユーザーのソルトを作成する
  • パスワードごとに、保存/取得時に対称変換でソルトを使用します
  • ソルトにちなんで名付けられたディレクトリにパスワードファイルを保存します。

私の理解は正しいですか?
このためのより良い戦略、または C# ライブラリはありますか?

他のプログラミング言語に関する同様の 質問には満足のいく答えがありません。Firefox ほどではなく、単に rot13 または base64 を示唆しているだけです。これにより、自動化されたマルウェアが未知のソフトウェアで難読化されたパスワードを簡単に識別できるようになります。(一般的なパスワードの base64 値を検索するだけです)

繰り返しますが、攻撃者には抵抗しません。しかし、Firefox が気にするなら、私もそうすべきです。

4

2 に答える 2

6

ProtectedDataクラスを使用してパスワードを暗号化する必要があります。

DataProtectionScope.CurrentUser現在のユーザーの Windows ログイン パスワードを使用してデータを暗号化するように指定できるため、他のユーザーはデータを復号化できません (これは、ユーザーがパスワードを持っていない場合にも機能します)。

于 2012-10-25T02:56:56.890 に答える
1

難読化するよりも、暗号化を使用する方がおそらく最も簡単でしょう。一般に、コードを難読化すると、ソースを見た場合にコードの内容を特定することが難しくなります。ただし、情報を暗号化しない場合でも、人々はそれを理解できます.

私のアドバイスは、AES-256 またはトリプル DES-128 暗号化を使用することです。

簡単に、パスワードをテキスト ファイルに保存してから暗号化することができます。そうして初めて、ブラウザを介してファイルを復号化できます。

于 2012-10-25T02:59:06.477 に答える