Guide
24 Mar 2026
8 分で読めます
二要素認証(2FA)完全ガイド - TOTPの仕組みと設定方法
二要素認証について学びましょう:2FAとは何か、TOTPの仕組み、認証アプリの設定方法、アカウントを保護するためのベストプラクティス。
二要素認証(2FA)とは?
二要素認証(2FA)とは、アカウントやシステムへのアクセスを許可する前に、2つの異なる形式の身分証明を要求するセキュリティ方式です。パスワード(知っているもの)だけに頼るのではなく、所有しているもの(電話など)や自分自身の特徴(指紋など)を要求する第二の層を追加します。
今日のデジタル環境では、データ侵害が毎年数十億の認証情報を流出させています。二要素認証は、これらの脅威に対する最も効果的な防御の一つです。
なぜ2FAが重要なのか?
- フィッシングからの保護: 攻撃者がパスワードを入手しても、第二の要素なしではアカウントにアクセスできません。
- クレデンシャルスタッフィングへの防御: あるサービスから流出したパスワードが他のサービスへの攻撃に使われた場合、2FAがこれらの自動攻撃をブロックします。
- コンプライアンス要件: 多くの業界が規制により多要素認証を義務付けています。
- 安心感: アカウントに追加のセキュリティ層があることを知ることは、大きな安心をもたらします。
二要素認証の種類
1. SMSベースの2FA
ワンタイムコードがSMSで電話に送信されます。2FAがないよりは良いですが、SIMスワッピング攻撃やSS7プロトコルの脆弱性など、既知の弱点があります。
2. メールベースの2FA
認証コードがメールアドレスに送信されます。メールアカウントが侵害された場合、攻撃者は2FAコードにもアクセスできます。
3. TOTP(時間ベースのワンタイムパスワード)
TOTPはソフトウェアベースの2FAのゴールドスタンダードです。共有秘密鍵と現在時刻を使用して、30秒ごとに一意の6桁のコードを生成します。完全にオフラインで動作します。
4. ハードウェアセキュリティキー(FIDO2/WebAuthn)
YubiKeyなどの物理デバイスは、公開鍵暗号を使用して最高レベルのセキュリティを提供します。
TOTPの仕組み
TOTPはRFC 6238で定義されており、HMAC-SHA1アルゴリズムと30秒間隔を使用します:
TOTP = Truncate(HMAC-SHA1(秘密鍵, floor(現在時刻 / 30))) mod 10^6
ツールの使い方
- 秘密鍵を入力: サービスから提供されたBase32エンコードの秘密鍵を貼り付けます。
- 設定を構成: ハッシュアルゴリズム、タイムステップ、コードの長さを選択します。
- コードを生成: ツールが現在のTOTPコードを即座に生成します。
- コピーして使用: 生成されたコードをコピーして認証に使用します。
ヒント: TOTPジェネレーターツールはSHA-1、SHA-256、SHA-512アルゴリズムをサポートし、タイムステップとコード長を設定できます。
TOTPジェネレーターツールを試す
無料のオンラインTOTPツールで時間ベースのワンタイムパスワードを即座に生成できます。登録不要です。