認証付きのPCアプリを作成しています。これはソルト暗号化を使用しており、安全性に優れています。それでも、私の主な関心事はキーロガーにあります。だから私は多分私はこの問題を(非常に原始的な方法で)解決できると思いました。
そのための最良の方法は、アプリケーションをキーボードとしてシミュレートし、ユーザーのパスワードの横にランダムな文字を入力することだと思いました。私はそれがロングショットであることを知っていますが、それがうまくいかない理由がわかりません。 (私はハードウェアではなく、ソフトウェアのキーロガーについて話している。)
アプリでキー押下をシミュレートしてキーロガーをだますことはできますか?
OSによっては、キーロガーがさまざまな入力ソースを区別し、ランダムな文字をフィルターで除外するのは簡単です。そうでない場合でも、キーボード以外にも、RAMのコンテンツやスクリーンショットなど、適切なトロイの木馬がパスワードを探す場所はたくさんあります。
それを除いて、あなたの方法はたくさんのランダムな文字を導入した場合にのみ機能します。キーロガーが、パスワードのN
文字に対応するM
文字のシーケンスと、メソッドによって追加された_N-M
_ランダム文字をキャプチャしたと仮定します。 M
が既知であると想定すると、攻撃者が試行できるC(N,M)
パスワードが存在します。たとえば、キーロガーが16文字をキャプチャし、パスワードが8文字であることがわかっている場合、攻撃者は適切なパスワードを
_C(16,8) = 12870 attempts
_
パスワードの長さがわからない場合、攻撃者は考えられるさまざまな値を単純に繰り返すことができます。たとえば、上記の例でパスワードが8〜16文字であることがわかっている場合、攻撃者は39203個の可能なパスワードを試す必要があります。
8文字のパスワードに約250のランダムな文字を追加した場合にのみ、キーロガーデータをクラックする難易度は、英数字のパスワードをブルートフォースにするのと同じになります。この時点で、これらの250文字はささいな文字を解読するのに十分である可能性があるため、適切なランダム文字ジェネレーターがあることを確認する必要があります。