私のWebアプリ(すべてがHTTPSで機能します)で、ユーザーにSMSに固有の5桁のコードを付けて、彼が提供する携帯電話番号に送信します。次に、ブラウザーに入力するようにユーザーに要求します彼が受け取ったコード。5桁の数字を推測するだけの幸運は別として、それは100%安全ですか、この方法で調整する方法はありますか?
ありがとう。
私はノーと言うつもりです。 SMSは一般的に受け入れられている2番目の要素ですが、攻撃者がソーシャルエンジニアリングを使用してユーザーのキャリアアカウントに侵入し、確認コードを取得してそれを使用するケースがいくつかあります。したがって、あなたの質問に答えるために、それは推測を除いて100%安全ですか、いいえ。
編集:この情報に追加する場合でも NISTはSMSをセキュリティの標準から有効な第2要素として削除しています。
あなたが説明することは絶対に安全なアプローチではありません。 SMSメッセージは暗号化の保証なしに無線でブロードキャストされます。
さらに、あなたのSMSメッセージはプロバイダーと同じくらい安全です。ハッカーはソーシャルエンジニアリング攻撃を実行できます: 携帯通信会社の技術サポートにメッセージをデバイスに送信するように説得するなど)ハッカー制御 。
これは公開されている安全でないチャネルであり、そのように扱う必要があります。 SMS検証の追加は何もしないよりはましですが、アプリケーションのコンテキストでは受け入れられないリスクがあるかもしれません。認証について話している場合、はるかに優れた方法があります。
もっと:
https://www.ckn.io/blog/2015/11/29/gsm-sniffing-sms-traffic/
もちろん、100%安全ではありません。さらに、NISTはデジタル認証ガイドラインと SMSを禁止しようとしています を更新しています。
ユーザーが登録するときは、2FAの他の方法を使用する必要があります。スマートフォンアプリを使用することもできます これでも同様です 。
100%になるわけではありませんが、高額になりたい場合は、x509証明書が付いたスマートカード、または少なくとも自己初期化されたYubikeyを出荷する必要があります。
約4か月前に、人気の高いインターネットパーソナル(およびその携帯電話事業者)のソーシャルエンジニアリングにより、SIMカードをブロックし、サードパーティに再発行する波がありました。そこから、2段階認証プロセスでSMS=が電話に送信されたため、悪意のあるユーザーは他のユーザーのソーシャルメディアや他のアカウントを改ざんすることができました。
H3H3Productionsからのビデオ(おそらくnsfw言語)
したがって、携帯電話通信の技術的な問題はさておき、検証オプションとしてSMSを追加すると、ソーシャルエンジニアリングの機会が生まれます。
一定レベルのセキュリティを提供しますが、キャリアのカスタマーサービスと同じくらい安全です。例えば。住所、母親の旧姓など、あなたに関するいくつかの基本的な情報を知ることができます...キャリアに電話して、番号を転送し、意図が何であれハイジャックします...