一般的な二要素認証においては、認証アプリはSMSよりも一般的に安全です。TOTPコードはローカルで生成されるため、電話番号のセキュリティに左右されることはありません。より強力な認証方法が利用できない場合、SMSは依然として有用ですが、モバイルネットワークやアカウント復旧プロセスに起因するリスクを伴います。
フィッシング攻撃に耐性があるため、利用可能な選択肢の中で最も優れているのは、多くの場合、パスキーやFIDOセキュリティキーです。この比較では、アプリで生成されるコードとSMSのどちらを選ぶかに焦点を当てています。
簡単な比較
- 認証アプリ:オフラインでも動作し、SIMスワップのリスクを回避できるが、安全なバックアップと端末間の移行が必要。
- SMS:導入が簡単、専用の認証アプリが不要、携帯電話サービスと電話番号の管理に依存する。
- 両方:パスワードのみのログインよりは安全ですが、リアルタイムのフィッシング攻撃には依然として破られる可能性があります。
認証アプリによる2FAの仕組み
設定時、サービスはアプリと秘密鍵を共有します。アプリはその秘密鍵と現在の時刻を組み合わせて、通常30秒ごとに一時的なコードを生成します。詳細については、TOTPの解説をご覧ください。
コードはデバイス上で生成されます。通常のTOTPの動作において、プロバイダーがメッセージを送信したり、携帯電話が通信可能状態である必要はありません。
SMSによる2段階認証の仕組み
パスワード入力の手順の後、プロバイダーは登録済みの電話番号に一時コードを送信します。ユーザーはメッセージを受信し、そのコードを入力します。このフローのセキュリティは、プロバイダー、携帯電話会社、電話回線、端末、および復旧手順に一部依存します。

セキュリティの比較
SIMスワップおよび電話番号を標的とした攻撃
攻撃者が通信事業者に働きかけて電話番号を別のSIMカードに移行させたり、通信事業者や復旧システムの脆弱性を悪用したりすると、SMSが侵害される可能性があります。TOTPは電話番号に紐づいていないため、SIMスワップだけでは認証情報の秘密鍵は引き継がれません。
フィッシング
SMSも標準的な認証コードも、偽のページに入力されると、すぐに本物のサービスに転送されてしまう可能性があります。常にドメインを確認してください。パスキーやセキュリティキーは、認証が正規のサイトに紐付けられているため、この攻撃に対してはより強力な選択肢となります。
傍受と配信
SMSは通信インフラを経由するため、遅延が生じたり、デバイスのプレビュー機能、連携アプリ、マルウェア、またはネットワークの侵害によって情報が漏洩する可能性があります。TOTPコードの生成は端末内で行われますが、マルウェアや設定シークレットの漏洩によって、依然としてセキュリティが侵害されるリスクがあります。
秘密鍵のバックアップに関するリスク
認証アプリでは、デバイスの紛失や交換に備えた対策が必要です。クラウド同期は復旧を容易にしますが、認証情報の保存場所が変更されます。アプリ提供者のセキュリティモデルを確認し、そのアカウントを保護してください。
利便性と信頼性
SMSは使い慣れている上、設定もほとんど必要ありませんが、ローミング中や電波の弱い地域ではメッセージの配信が遅れる可能性があります。TOTPはオフラインでも機能し、設定後は高速ですが、アプリが安全な移行方法を提供していない場合、移行にはより手間がかかる可能性があります。
いずれの方法でも、プロバイダーから発行された復旧コードを保存しておきましょう。これらの緊急用コードは、日常的な認証に使用するデバイスとは別の場所に保管する必要があります。
どちらの方法を選ぶべきか?
- サービスが対応している場合は、パスキーまたはハードウェアセキュリティキーを選択してください。
- そうでない場合は、信頼できる認証アプリを選び、できれば端末保護機能と復旧計画が備わっているものを選びましょう。
- 2FAを無効にしたままにするよりは、SMSが唯一の実用的な第二要素である場合にのみ、SMSを使用してください。
- プロバイダーがSMSの削除を許可している場合は、重要度の高いアカウントにおいて、SMSを不必要なフォールバック手段として残しておくことは避けてください。
SMSが依然として適切な場合
SMS が唯一サポートされているオプションである場合や、特定のユーザーにとって利用しやすい場合、あるいはより強力な方法に移行するまでの暫定的な措置として、SMS が適している場合があります。セキュリティに関する決定を行う際には、アカウントの価値、想定される脅威、復旧要件、および使いやすさを考慮に入れる必要があります。
SMSから認証アプリへ移行する方法
- 公式サービスからログインし、セキュリティ設定を開きます。
- 既存の復旧方法を削除する前に、認証アプリを追加してください。
- 信頼できるデバイスでQRコードをスキャンするか、セットアップキーを入力します。
- 新しいTOTPコードを確認します。
- 新しい復旧コードをダウンロードし、安全に保管してください。
- 別のセッションで新しい方法をテストしてください。
- 復元が可能であることを確実に確認できた場合にのみ、SMSを削除してください。
当社の2FA設定チェックリストには、各段階とよくある間違いが網羅されています。
よくある質問
認証アプリは完全に安全ですか?
いいえ。デバイスのマルウェア、フィッシング、不適切なバックアップ、設定キーの漏洩といったリスクは依然として残っています。電話番号の乗っ取りに対してはSMSよりも強固ですが、適切に実装されたパスキーやセキュリティキーほどフィッシングに対する耐性はありません。
認証アプリはSIMカードがなくても動作しますか?
はい。TOTPには、SIMカードやモバイルサービスではなく、保存された秘密鍵と正確なデバイスの時刻が必要です。
SMSによる2段階認証は、2段階認証を全く行わない場合よりも優れていますか?
一般的な脅威の状況では、そうです。パスワードにSMSを加えることで、さらなる防御壁が生まれます。より強力な選択肢が利用可能で適切である場合は、そちらを使用してください。
TOTPの設定キーをテストできますか?
ご自身が所有または管理するアカウントについては、ブラウザベースの2FAジェネレーターをご利用いただけます。キーはパスワードと同様に慎重に管理し、まず当社のプライバシー情報をご確認ください。
