回答:
実際の2要素認証では、ユーザーにユーザー名とパスワードを使用してログインさせ、電話またはカード/コードジェネレーターを介して生成されたコードを発声させることにより、別のレベルのセキュリティを導入します(Barclays Bankは、カードをスワイプします。
ユーザー名とパスワードを2つの異なるページに分割しても、セキュリティの観点からは何も追加されません(AFAIK)
2つのステップによるログインの方が安全だと説明した唯一の理由は、最初のページで入力したユーザー名が、ユーザーが登録時に選択するある種の画像やフレーズと一致する場合です。これは、サイトが自分自身を確認するのに役立ちます。
誰かがあなたのサイトをコピーしてフィッシングキャンペーンで使用する場合、その画像やフレーズを表示することはできません。ユーザーがパスワードを入力するときにユーザーを保護します。
追加のアカウントセキュリティ項目を最初のページから2番目のページに引き上げない場合は、そのようにしても意味がありません。
私が思いつくことができる唯一の理由は、自動化された攻撃を防ぐことです。
ユーザー名とパスワードの両方が1つのページで受け入れられる場合、明らかな理由により、「ブルートフォース」攻撃と呼ばれる何かが通過するまで、ユーザー名とパスワードの組み合わせでそのページを叩く自動スクリプトを作成するのは比較的簡単です。
ユーザー名を1つのページに入力し、パスワードを別のページに入力すると、この種の攻撃はより困難になりますが、不可能ではありません。それは単純な攻撃者を締め出すという素晴らしい仕事をして、あなたを大多数のサイトより先に置くでしょう。
あなたは隣人よりも技術的に安全ではありませんが、あなたはもう懸命な果物の1つではありません。
これは奇妙なケースですが、メインサイトが暗号化されていない状態で(パフォーマンス上の理由から)提供されているが、ユーザーが「ログイン」リンクをクリックする代わりに、そのページからログインプロセスを開始できるようにしたい場合。ユーザー名を暗号化せずに送信することは大したことではないので、ログインページの2番目の部分(パスワードフィールド)をHTTPS経由で提供できます。
私はそれはおそらく価値がないと思います(プログラマーのためのより多くの仕事、ユーザーのためのより多くの仕事、プロセッサー作業負荷のごくわずかな減少)が、何人かの人々はそれが価値があると思うかもしれません。
例:First Nationalはこれをホームページで行います。
この古いドキュメントはhttp://www.schneier.com/blog/archives/2005/10/us_regulators_r.htmlでしか見つかりませんでした。要するに、米国の銀行とクレジットカード会社は、Webサイトのログインフォームに2要素認証を使用する必要があると思います。
投稿がそれを実際に解決しないことを論じるように、それは犯罪者にジャンプするもう一つのフープを持たせるだけです。
私の銀行は、2段階認証を使用する非常に良い理由を見つけました。私が知っているユーザー認証には3つの方法があります。
彼らは2段階のログインを使用するので、彼らはあなたが持っているアカウントの種類を知っているので、彼らはパスワードを入力するときにいくつかの援助を提供することができます。パスワードを入力する必要がある場合は、パスワードの入力を求められます。暗号カードを使用して一意の認証コードを生成する必要がある場合は、コードを要求し、カードの種類に固有のヘルプリンクを提供します。
安全性が低下すると思います。これで、user123がサイトにアカウントを持っていることがわかり、そのアカウントでブルートフォースを実行できるようになります。
標準的な方法は、アカウントまたはパスワードが正しくない場合は決してユーザーに知らせないことです。「間違ったユーザー名またはパスワードを入力しました」
力ずくで攻撃するのはかなり難しくなります。