Twitterが(少し前に) Digits という名前の新しいキットをリリースしました。これにより、クライアントは電話番号と認証コード(smsで受信)でログインできます。私はそれがユーザーエクスペリエンスに優れていると感じ、アプリ/ウェブサイトにも実装することを考えていましたが、これは「非常に」安全ではありませんか?私はいくつかの問題を想像することができます:
Digitsは、多要素認証で一般的に使用される単一の「要素」を活用します。「何か持っているもの」、この場合は携帯電話です。はい。パスワードだけを使用する場合と同じように、単一の要素のセキュリティには弱点がありますが、単純なパスワードに加えて長所もあります。
あなたのリスクモデルを考えると、Digitsがパスワードほど安全ではないかどうかはわかりません。これは、電話を要素として使用するチャレンジ/レスポンスメカニズムです。ユーザーは、ログインページの保護と電話の個人保護(ロック、暗号化、リモート管理)をすべて使用して、通常のパスワードメカニズムよりも安全にすることができます。はい、それは単一の要素であり、ユーザーがこれを安全でない方法にする方法はありますが、メカニズム自体は本質的に安全ではありません。
ワイヤードに関するこの記事によると、そうです。
https://www.wired.com/2016/06/hey-stop-using-texts-two-factor-authentication/
攻撃:「...ハッカーは、彼が言うように、ベライゾンに電話をかけ、なりすまし、会社に自分のテキストメッセージを別のSIMカードにリダイレクトし、1回限りのログインコードを傍受するように説得しました。」
はい、ユーザーのプライバシーを侵害するだけでなく、安全ではありません。
このソリューションは、Twitter、ユーザーのモバイルキャリア、およびTwitterと前述のキャリアがビジネスを展開している国のさまざまな政府が、ユーザーに気付かれずにプラットフォームでユーザーになりすます機能を提供します。より明確にするために、Twitter内の悪意のある従業員や攻撃者、またはユーザーのキャリアは、任意のユーザーとしてログインできます。
そして、それがまだ十分ではなかったかのように、これによりTwitterはユーザーがログインした場所からの時間と場所(IP、ユーザーエージェント、任意のブラウザーメタデータ)を認識するので、Twitterはこれらの情報を関連付けてプロファイルを作成できますユーザーは、どのサイトで、いつログオンし、Twitterアカウントを持っているか(ユーザーはDigitsドメインと通常のTwitterドメインの両方を制御しているため、Cookieに基づいています)。彼らがユーザーについて今知っている情報。
最後に、ユーザーにあなたのサイトにサインアップさせたい場合、電話番号を尋ねることは良い考えではありません-技術に精通したユーザーとしては、上記の理由でそれを明かしませんが、技術に精通していないユーザーは潜在的なSMSスパムを回避するためだけに、これを拒否します。
リストに追加する2つの問題を次に示します。
ターゲットの電話番号に対して、デバイスで数字認証を開始します。次に、ターゲットをショルダーサーフィンして、電話のロック画面から認証コードを取得します(必要に応じて、デバイスを使用してターゲットデバイスの写真を撮ります)。デバイスにコードを入力すると、ターゲットのアカウントになります。
SMSによってモバイルデバイスにロックされているため、デバイスの所有者だけがそのデバイスからアプリケーションにログインできます。所有者が誰かにデバイスを借りて他の人自身のデータにアクセスすることを許可している場合(Webブラウザーが他の誰かのデバイスでメールをチェックするように)、認証の明白な方法(手にあるモバイルデバイスの番号を使用)デバイスの所有者のアカウントに誤ってアクセスすることになります。