認証コードが拒否された場合でも、すぐにアカウントをリセットしないでください。TOTPコードは正しいシークレットと現在の時刻に基づいて生成されるため、わずかな不一致でも、一見有効に見える6桁のコードが拒否されることがあります。

以下の確認事項を順に実行してください。試行回数が多すぎると一部のサービスでは一時的にログインがロックされるため、何度も推測を繰り返さないようにしてください。

簡易チェックリスト

  1. 日付、時刻、タイムゾーンの自動設定を有効にしてください。
  2. 新しいコードが表示されるまで待ち、カウントダウンがまだ残っているうちに送信してください。
  3. 正しいアカウント項目が選択されていることを確認してください。
  4. SMSや復旧コードではなく、認証コードを使用していることを確認してください。
  5. セットアップ用シークレットが正しくコピーされているか確認してください。
  6. サービスが非標準のTOTP設定を使用しているかどうかを確認してください。
  7. 登録が無効になった場合は、公式の復旧オプションをご利用ください。

1. デバイスの時刻を同期する

時刻のずれは、標準的なTOTPコードが機能しない最も一般的な原因です。認証アプリとウェブサイトは、現在の時間枠に対するコードをそれぞれ独立して計算します。スマートフォンやコンピューターの時計が実際の時刻より進んでいるか遅れている場合、異なる値が計算されてしまいます。

デバイスの設定で、日付と時刻の自動設定、タイムゾーンの自動設定、およびネットワーク提供の時刻を有効にしてください。すでに有効になっている場合は、同期を一度オフにしてから再度オンにするか、即時時刻同期をリクエストしてください。その後、認証アプリまたはブラウザを再起動し、新しいコードを試してください。

2. 次のコードを待つ

ほとんどのTOTPコードは30秒ごとに更新されます。残り1~2秒の時点でコピーしたコードは、サーバーによる検証が完了する前に有効期限が切れてしまう可能性があります。タイマーがリセットされるのを待ってから、新しいコードを速やかに入力してください。

当社のオンラインTOTPジェネレーターのカウントダウンは、現在の有効期間の残り時間を表示しています。

3. 正しいアカウントを選択する

認証アプリには、似たような名前のエントリが複数含まれている場合があります。コードをコピーする前に、サービス名、アカウントのメールアドレスまたはユーザー名、発行元を確認してください。間違ったエントリからの有効なコードであっても、拒否されてしまいます。

アカウントが複数回登録されている場合は、どのアカウントが機能するかを確認し、復旧手段を確保した上で、不要なエントリを削除してください。

Four-step TOTP troubleshooting flow covering time account code and validation
時計の同期、選択したアカウント、現在のコード入力期間、そして最終的な検証を順に確認してください。

4. 要求されている認証の種類を特定する

サインインページでは、SMSコード、メールコード、プッシュ通知による承認、バックアップコード、または認証アプリコードの入力が求められる場合があります。これらは互換性がありません。6桁の形式であるというだけでは、そのフィールドがTOTPを受け入れるとは限りません。

生成されたTOTPコードを入力する前に、「認証アプリ」または同等のオプションを選択してください。復旧コードは、プロバイダーが提供する専用の復旧フローでのみ使用してください。

5. シークレットキーを確認する

文字の欠落、ラベルの混同、またはBase32キーの誤りがあると、異なるコードが生成されます。2FAの設定がまだ完了していない場合は、設定画面に戻り、手動で入力したキーと慎重に照合してください。スペースは通常無視されますが、文字と数字は正確でなければなりません。

2FAのシークレットキーの確認方法については、当社のガイドをご覧ください。決してサポートにキーを送信したり、そのQRコードのスクリーンショットを公開したりしないでください。

6. TOTPの設定を確認する

一般的なデフォルト設定は、SHA-1、6桁、30秒間隔です。一部のシステムでは、別のアルゴリズム、8桁、または異なる間隔が使用されています。標準のデフォルト設定を使用するジェネレーターは、異なる設定が適用されたサービスとは一致しません。

セットアップ用のQRコードや管理者向けドキュメントにカスタム値が指定されている場合は、それらに対応した認証アプリを使用してください。設定を無闇に変更せず、プロバイダーから提示された構成に合わせてください。

7. セットアップが完了したことを確認する

登録時、多くのサービスでは、2FAが有効になる前に1つの生成コードを入力する必要があります。設定ページを早すぎるタイミングで閉じてしまうと、アカウントの設定が完了しないままになる可能性があります。セキュリティ設定に戻り、認証方法が有効になっているか確認してください。

2回目のセットアップ試行中にサービスが新しいシークレットを作成した場合、最初のシークレットから生成されたコードは使用できなくなります。

8. サーバー側またはアカウント側の変更を検討する

同じサービスで複数のユーザーがエラーが発生している場合は、そのサービスの公式ステータスページを確認してください。また、管理者が2FAの登録をリセットしたり、認証ポリシーを変更したり、認証方法を無効にしたりした可能性もあります。仕事用のアカウントについては、シークレットや有効なコードを共有せずに、権限のある管理者に連絡してください。

9. 安全にアクセスを復旧する

トラブルシューティングで解決できない場合は、保存済みの回復コード、別の登録済み認証要素、パスキー、またはプロバイダーが提供する公式のアカウント復旧プロセスを利用してください。ログインに成功したら、機能しなくなった認証アプリの登録を削除し、新しいものを設定してください。

新しい復旧コードは別の場所に保存してください。シークレットが漏洩した可能性がある場合は、古い登録を無効化することが、古いコードを再び使用可能にするよりも重要です。

避けるべきよくある間違い

  • 信頼性の高い自動同期を有効にする代わりに、手動で時刻を変更すること。
  • 有効期限が切れる直前の同じコードを繰り返し送信すること。
  • パスワードやバックアップコードをTOTPジェネレーターに貼り付けること。
  • 6桁の入力欄であればすべて認証コードを受け付けると想定してしまうこと。
  • サポートを提供してくれる相手に、QRコードやシークレットを共有してしまうこと。
  • 有効な復旧方法を確認する前に2FAを無効にすること。

よくある質問

あるデバイスではコードが一致するのに、別のデバイスでは一致しないのはなぜですか?

デバイスの時計の精度が異なるか、秘密鍵が異なる可能性があります。両方の時計を同期させ、両方の入力値が同じアクティブな登録から得られたものであることを確認してください。

タイムゾーンは関係ありますか?

TOTPの計算には世界標準時が使用されますが、タイムゾーンの設定が間違っていると、デバイスの時計が正確でない可能性を示唆している場合があります。時刻とタイムゾーンの設定を自動にするのが最も簡単な解決策です。

ブラウザのデータを消去すると、2FAコードの問題は解決しますか?

通常は解決しません。サイトのデータを消去すると、テーマの設定やセッションが削除されることはありますが、誤ったシークレットや時計の誤差は修正されません。また、ログアウトしてしまう可能性もあるため、まずは対象となる項目を個別に確認してみてください。

サポートに以前のシークレットを教えてもらえますか?

信頼できるサービスでは、通常、サポートを通じて既存のアウセンティケーターのシークレットを開示することはありません。ただし、本人確認の支援や、公式の復旧手順を用いた2FA方法のリセットについては対応してくれる場合があります。

基盤となるシステムを理解する

認証要素、共有シークレット、コードの変更について詳しく知りたい場合は、「2FAとは何か、どのように機能するのか?」をお読みください。「シークレット」と「時間」という2つの要素を理解することで、TOTPの不具合のほとんどを容易に診断できるようになります。