二段階認証 (2FA: Two-Factor Authentication) とは、ログイン時にパスワードだけでなく、もう 1 つの認証要素を追加で要求するセキュリティ手法です。「知っているもの (パスワード)」に加えて「持っているもの (スマホ)」や「自分自身 (指紋)」を組み合わせることで、パスワードが漏洩しても不正ログインを防ぐのに役立ちます。
Google は 2019 年に公表した調査で、再設定用の電話番号に SMS でコードを送る確認によって、Google アカウントを狙った自動化されたボットの 100%、一括送信型のフィッシング攻撃の 96% を防ぐのに役立ったと報告しています。
2FA の主な方式は 4 つあります。SMS 認証 (電話番号に送られるコードを入力)、認証アプリ (Google Authenticator や Authy が生成する 6 桁のコード)、ハードウェアキー (YubiKey などの物理デバイス)、生体認証 (指紋 / 顔認証) です。セキュリティ強度は SMS < 認証アプリ < ハードウェアキーの順に高くなります。SMS は SIM スワップ攻撃で突破される可能性があるため、可能なら認証アプリ以上を推奨します。
短縮 URL サービスのアカウントにも 2FA の設定を強く推奨します。短縮 URL の管理画面にアクセスされると、既存のリンクのリダイレクト先を書き換えられる危険があります。正規のリンクがフィッシングサイトに差し替えられれば、そのリンクを信頼してクリックした人が被害に遭うおそれがあります。
2FA の導入で注意すべきは、リカバリー手段の確保です。スマホを紛失したり認証アプリのデータが消えたりすると、自分自身もログインできなくなります。バックアップコード (リカバリーコード) を安全な場所に保管しておくことが不可欠です。