セキュリティ質問は悪いアイデアであり、その理由はこれです
パスワードとアカウントが存在して以来、常にハッカーがそれらを手に入れようとしています。さらに重要なことに、人々は自分のパスワードを忘れることもあります。それを回復するために、アカウントプロバイダーはしばしば「秘密の答え」を提供する一連の質問を実装します。このシステムは何年も問題なく機能してきましたが、ハッカーの仕事を容易にする方法がたくさんあります。答えは秘密ですが、実際にはこの犠牲がいつの日かパスワードの回復に役立つことを期待して、セキュリティを犠牲にしているようです。
セキュリティ質問がセキュリティにおいてひどい理由

2015年5月21日、Googleはセキュリティ質問の全体的な仕組みに関する研究を発表しました。どうやら、「あなたの最初のペットの名前は何ですか?」は、あなたのセキュリティにおける最も弱いリンクになり得るようで、ハッカーにアカウントを銀のトレイで提供することになります。推測不可能なパスワードを作成することはできますが、回復用のセキュリティ質問は、簡単に答えられるように設計されています。誰も推測できないような obscure な答えを使うときはうまくいきますが、ペット(例えば)が「マックス」や「スポット」のような非常に一般的な名前を持っている場合はひどい結果になります。犬を「ユリシーズ」や「ペルッジア」と名付けた場合は、可能性があるかもしれませんが、あまり期待できるものではありません。
質問への答えについて嘘をつくという選択肢Bを選ぶこともできます(つまり、母親の旧姓を尋ねられたときに「オフラム・クリングマンシュタインIII」と答えること)。この問題は、もう一つ覚えておかなければならないことが増えてしまうことです。嘘をついた答えを思い出すことは、最初に忘れたパスワードを思い出すことと同じくらい難しいです。これは解決策ではなく、追加の負担です。
これらの質問の代わりに何を使うべきか?

質問がもたらすセキュリティの問題に加えて、出生地や最初のペットの名前を思い出せない人々にとって混乱を招くだけです(それは起こります)。あなたをよく知っている人々も、この方法で簡単にあなたのアカウントにアクセスできます。おそらく、私たちは「秘密の答え」方式を置き換える必要があるという結論に達したでしょう。幸いなことに、置き換えのための良い候補がたくさんあり、その中でも最も良いものの一つが二要素認証です。
「秘密の答え」方式は、人々がSMSメッセージを開ける携帯電話を一般的に持つ前に発明されました。この歴史的な時点で、インターネットにアクセスできるほぼすべての人が携帯電話を持っています。70億人の中で、約68億台の電話があります。Googleは、回復のためにSMSを通じてワンタイムパスワードを送信する新しい認証方法を採用しました。電話を持っていない人は、信頼できる人のバックアップメールや、自分自身が回復のために使用するメールを利用できます。この方法では、ユーザーの電話なしでアカウントに「推測」することが非常に難しくなります。
二要素認証を使用することで、同時に二つのことを解決します:
- ユーザーが要求したときにユニークなSMSコードが渡されるため、「答え」を思い出せないリスクを最小限に抑え、
- ユーザーが所有する物理的なオブジェクトにアクセスする必要があるため、ほぼ壊れない回復方法を作成します。
秘密の答え方式の代わりに何か他のものを考えられますか?下のコメントにあなたの考えを残してください!