2016-07-06 8 views
-1

私は、キースニッファとスクリーンリトリーバからパスワードを保護するアプリケーションを作成しています。私は、覚えやすいキーワードやフレーズ(つまり、「password123」、「amazon.com」、「gmail」)にユーザタイプを入れ、その文字列を使用してより長くて強力なパスワードを作成し、クリップボードにロードします。私はアプリケーションを完全に匿名にしたいので、私は情報を保存しません。パスワードを生成するために、乱数ジェネレータを使用します。キースニッファやスクリーンレトリーバーに脆弱ではない種子を持ち歩く方法が必要です。私はYubiKeyのようなハードウェア・トークンを考えていますが、もっと簡単でより多くの主流を望みます。行動バイオメトリクスを使ってみましたが、プログラムで簡単にそれらを再現することができました。どんな良いアイデアですか?乱数シードを保護する方法は?

答えて

0

あなたが示唆していることは、脆弱なアプローチ以上のものです。

まず、対象となる問題のためのオープンソースで実績のある正しいアルゴリズムとアプリケーションがあります。セキュリティに関する質問では、重要な操作(およびパスワードの操作は常に重要な操作です)のアプリケーションを開発し、自分自身で開発することは決して良い考えではありません。特に、ホイールを改革することはほとんどすべての場合において失敗することになります。

あなたのアプローチは、いくつかの点で問題がある:アプリは/ペーストをコピーする必要があるか、いくつかのアクションのために必要なパスワードをインプレース-生成匿名であるために

  • 。あなたはOSレベルでいくつかの魔法をやっていない場合、スクリーンレトリーバーを避けるのは難しいでしょう。

  • 複数のパスワードを保護するために1つの(!)ランダムシードを使用すると、以前よりも弱くなります。

  • このランダムシードをUSBキーで持ち運び、制御できないすべての種類のコンピュータに自由に差し込むと、それぞれが潜在的に悪意のある可能性があります。ランダムシードは、静かに検索、変更、または削除することができます。

妄想を覚えるためにいくつかのことを教えてください。実際の問題は、あなたが話しているアプリケーションよりも別のマシンレイヤにあることがわかります。

  • 2要素認証(2FA)悪意のあるソフトウェアおよびハードウェアに対する型でのあなたのパスワードを盗む:

    は、代わりに次のアプローチを見てみましょう。例えば、 Google認証システム。

  • システムに侵入してパスワードを取得するソフトウェアに対するオペレーティングシステムを保護します。例えば、 QubesOS

  • は読み取り専用であっても、このような銀行のような非常に重要なタスクのための外国人と潜在的に危険なマシンでの使用のための安全な/匿名のOSで駆動します。例えば、 DVD(USBキーではない)上のOSをテールします。

  • 潜在的な悪意のあるタスクをカプセル化する仮想マシン。例えば、一言で言えば

KeyPassX

ようにVirtualBoxは

  • トラスタブルパスワード金庫:あなたはこのようなアプリケーションを書くことができますが、それは最も可能性が高いので、使用可能な実用的でも安全なもではありません。申し訳ありません。

  • +0

    詳細な対応をありがとうございます。私は現在OATH/HMACと組み合わせてPasswordSafeを使用しています。 HMACはパスワードの末尾に6つの数字しか追加しないので、私はマスター・パスワードをキー・スニファーから安全に保つ方法を考え出していました。 PasswordSafeに含まれている仮想キーボードは、スクリーン検索者にとって脆弱です。私のアプリケーションでは、パスワードは決してスクリーンに表示されません。パスワードはクリップボードにロードされ、パスワードフィールドに貼り付けられます。 USBキーの脆弱性は、私がYubiKeyと同様のハードウェアトークンを検討していた理由です。 – silvertiger

    +0

    画面リトリーバーは間違いなく心配することです。しかし、もしそれらのうちの1つを書いたり使用したりするだけのスマートな人は、単にクリップボードを読み込む準備ができています。これは通常、この種のソフトウェアでは通常行われます。それに対する "公式"の解決策は、2FAかロムOSです。 – harmonica141

    +0

    クリップボードを保護する方法はありますか? – silvertiger

    関連する問題