フルパスワード認証では、毎回フルパスワードを入力する必要があります。
部分的なパスワード認証では、毎回パスワードのサブセットを要求され、必要な文字は試行ごとに異なります。
このペーパーでは、部分的なパスワードについていくつか説明しています。
主なセキュリティ上の利点は、おそらくあなたがパスワードを入力するのを見た人から守ることです。完全なパスワードを使用すると、一度表示されると、いつでもログインできます。部分的なパスワードの場合、一度確認してもパスワードは取得されません。ただし、まったく同じ文字が再度要求されます。
説明のために、あなたに会った人を「observer」と呼び、彼らがあなたに正しい部分的なパスワードを入力するのを見るイベント「observation」を1回。
Observerは人である必要はありません。キーロガーも仕事をすることができます。
この論文では、攻撃者がログインする1つのチャンスを取得し、観察された文字のみを知ることができる攻撃と、成功の確率がどのように関連しているかを調べますobservationsの数に。実際、その可能性は非常に速く増加します。これは、部分的なパスワードがそれほど多くのセキュリティを追加しているわけではないことを示唆しています。
しかしもちろん、実際の攻撃者はそれよりずっと賢いです。ブルートフォース攻撃を実行可能にするには、1つ観測が必要なだけかもしれません。パスワードの作成には、Dicewareのようにさまざまな方法がありますが、一般的に文字は関連しています。また、1つの文字を知ることで、他の文字を理解するのに役立ちます。少なくとも、攻撃者は辞書を適用して、パスワード検索スペースを大幅に削減できます。それは、彼らが必要としない完全なパスワードを必要とし、ログインしようとするときに数文字しか必要としないこと、そしてすでに知っているかもしれないもののいくつかを想定しています。
完全なパスワードでは、1つのobservationによって推測エントロピーが0になります。部分的なパスワードでは、推測エントロピーがすべて破壊されるわけではありませんが、 dropは、ほとんどのパスワードをブルートフォーシングの範囲にプッシュするのに十分な大きさなので、完全なパスワードよりもそれほど改善されません。
攻撃者は、認証チャレンジの文字を推測することもできます。これらのいくつかの文字は、完全なパスワードよりも推測エントロピーがはるかに少ないため、弱点があります。それらが正しくなると、一度認証されます。また、観測のようないくつかの文字を明らかにし、それらの既知の文字は他の攻撃に使用される可能性があります。
データベースの侵害とオフラインのクラッキングに関しては、部分的なパスワードは少し悪いです。攻撃者が1つobservationを取得すると、ブルートフォースから作成されるか、実際にobserved、彼らは残りのキャラクターを理解することができます。彼らは1つの推測された文字と残りの既知の文字を持ち、それらが得られるまで推測された文字の値を試すことができます。パスワード全体が線形時間で明らかにされます。少なくとも、これはShamirの秘密分散といくつかのハッシュを使用した単純な実装で発生することです。おそらく他の方法でこれらの問題を軽減できます。
一部の銀行はすでにこれを使用しているため、部分的なパスワードの方が何らかの方法でより安全であると思われます。部分的なパスワードによってセキュリティが大幅に向上するかどうかは疑わしいですが、どの程度の保護を提供できるかについては、あまり統計を行っていません。ここで何か見逃しましたか?部分的なパスワードは、完全なパスワードよりもはるかに安全ですか?またはおそらく安全性が低いですか?
私は当初、推測攻撃とハングマンゲームを比較することを意図していましたが、それは私が間違った考えを与えるほど十分に異なるので、それを切り取りました。そのように考えるのはまだ興味深いですが、ハングマンとパスワード。
最初に答える必要がある質問は次のとおりです。「パスワードが盗まれる最も一般的な方法は何ですか?」。時々セキュリティ対策は何らかの形でトレードオフを提示せざるを得ない場合があるため、より「安全な」方法は、最も可能性の高い脅威から保護する場合にのみ「より良い」だけです。では、パスワードが最も危険な場所を考えてみましょう。
参照はありませんが、答えは正反対ですハッカーは、Webアプリケーションで安全性の低いパスワードにアクセスしています。証拠として、ウェブサイトから漏洩したパスワードの最大のダンプの一部 が数億個、さらには数十億個にも及ぶという事実を指摘するだけです 。 「ショルダーサーフィン」(キーロガー経由でも実際のショルダーサーフィン経由でも)が、データベース内の安全性の低いパスワードよりも平均的な人のセキュリティに対する脅威と同じくらい重要であることは不可能に思えます。
ここに私の要点があります:部分的なパスワードを要求することでユーザーにショルダーサーフィンに対する実質的な保護が与えられた場合、およびログインエンドポイントを総当たりにするような方法でそれを行ったとしても(減少したエントロピーについて議論するときに実質的に考えていることです)、 パスワードセキュリティの最も重要なルールに違反する必要があるため、依然として非常に危険です。つまり、パスワードをプレーンテキストで保存するか、または(ほんの少し良い)リバーシブル暗号化を使用しない限り、これを実現することはほぼ不可能だと思います。おそらく、すべてのユーザーの部分的なパスワードのすべての可能な組み合わせに対して「強力な」ハッシュを使用することでそれを行う方法を考え出すことができますが、そのようなシステムはコード/データベースストレージの観点から管理するのは非常に困難だと思います。その結果、セキュリティの向上(明らかに良くはありません)が、より複雑なログインシステムの追加の手間と、「おかしな」ことから自然に発生するバグの可能性の増加に見合うかどうかを検討する必要があります。
結果として、ほとんどの実装はパスワードをプレーンテキストで保存していると思うので、それらはほぼ確実に実質的に安全性が低いと言えますサーバ側。これにより、データ侵害が発生した場合のパスワードの脆弱性が大幅に高まります。これは、平均的なWebユーザーにとって実質的に脅威になる可能性があります。最も一般的な脅威に対する脆弱性を高めながら、あいまいな脅威ベクトルからユーザーを保護することは、大きな損失です。記事で主張されている利点が正確であるかどうかはわかりませんが、全体像が欠けていると思いますので、疑問は疑問です。
最後の注意として、新しいセキュリティ対策によって導入された追加の脅威を見逃しがちなのは、その新しいセキュリティ対策がまだ十分に試されていないためです。例として、人々が最初にパスワードをオンラインで保存し始めたとき、パスワードの再利用に関連してデータベースリークが投稿する脅威に気づいたのではないかと思います。このシステムはおそらく違いはありません。これが実際にショルダーサーフィンをより危険にする(私は思う)非常に明白な理由の1つを指摘できます。平均的なユーザーが「論文の要約から取った」「パスワードから2、3、6の文字を教えて」のような質問に頭の上で簡単に答えられるとは思えません。私はそうは思いません。私がそれをあまり与えなかったとしたら、私はおそらくほとんどの人が1分間頭を掻いた後に行うことと同じことをするでしょう:パスワードを紙に書き留め、要求されている文字に丸を付けます。これで、パスワードは管理人だけでなく、ショルダーサーファーにとっても読みやすくなります。結果として、上記の大きな警告がなくても、この方法がより良いように思えるのは、主な問題を見つけるのに十分に使用されていないためだと思います。
ときどき、代替のパスワードスキームを提案する質問がここに表示されます。私の答えはすべての場合でほとんど同じです。パスワードに固有の問題は、人々がパスワードが得意でないことです(パスワードの推測、パスワードの再利用など)。解決策は、「より良い」パスワードを実行することではありません。解決策は、パスワードを実行しないことです。その結果、Webサイトを運営していて、ユーザーを保護するためのより良い方法が必要な場合、最善の策は、まだ十分に吟味されていないパスワードスキームのベータテスターをユーザーに作らないことです。むしろ、最善の策は、パスワードをまとめて捨てることを試みることです。ブラウザはパスワードなしのログイン方法をサポートするようになりました( webauthnが次の標準のように見える )。テクノロジーはまだ少し新しい(つまり、まだ発見されていない実装の弱点があるかもしれない)ので、重要なシステム(銀行、メールなど)で使用する前に少し待つかもしれません。ただし、パスワードなしのログイン方法に移行する方がはるかに優れたオプションになります。