- 旧端末をすぐに初期化しない:新端末で最低2つ以上の主要サービスにログインできることを確認するまで、旧端末のデータは保持してください。
- 複数ページのQRコードに注意:登録アカウントが10件を超える場合、Google Authenticatorは自動的に複数枚(例:1/3、2/3)に分割します。すべてのQRコードを漏れなくスキャンしてください。
- クラウド同期は利便性とリスクの両刃の剣:Googleアカウントによるクラウド同期は紛失時の復旧が容易ですが、Googleパスワード流出時にすべての2FAトークンが侵害される単一障害点(SPOF)となります。
- 複数端末の冗長化を推奨:新規登録時に2台の端末で同時にQRコードを読み取るか、秘密鍵を暗号化コールドバックアップしておくことで、不測の端末故障時も締め出しを防げます。
クラウド同期 vs オフラインQRエクスポート:セキュリティとプライバシーの比較
Googleはかつて「スマホを壊すと二度とログインできなくなる」というユーザーの悲痛な声を解消するため、Googleアカウントとのクラウド同期機能(Cloud Sync)を導入しました。現在では、Googleアカウントでログインしている場合、登録したTOTPトークンはGoogleのサーバーを経由して同一アカウントの端末間で自動的に同期されます。
しかし、利便性の向上にはセキュリティ上の重大なトレードオフが伴います。セキュリティ専門家や重要資産を扱うユーザーは、以下の本質的な違いを理解する必要があります:
| 比較項目 | Googleクラウド同期(有効時) | オフラインQR一括移行(推奨) |
|---|---|---|
| 移行の手軽さ | 極めて高い(新端末でGoogleログインするだけ) | 普通(カメラによるQRコードの直接スキャンが必要) |
| ネットワーク依存度 | インターネット接続およびGoogleサーバーが必須 | 完全オフライン(画面対カメラの光学転送) |
| 単一障害点(SPOF) | 高い:Googleアカウント乗っ取りですべての2FAが全滅 | なし:物理端末ローカル内に完全に隔離保持 |
| OS間相互移行 | 両端末で同一Googleアカウントへのログインが必要 | Android ⇄ iPhone 間でもログイン不要で完全互換 |
| ゼロ知識・データ主権 | 秘密鍵がGoogleのクラウドアカウントに保存される | 完全:秘密鍵データは一切ネットワークを通過しない |
移行前の事前準備&安全確認チェックリスト
移行作業中の予期せぬトラブルや読み取りエラーを防ぐため、作業開始前に以下の前提条件を確認してください:
- 新旧両方の端末のバッテリー残量が50%以上あるか、充電器に接続されていること。
- 照明の反射や映り込みがない、十分な明るさの室内環境で作業すること。
- 新端末の背面カメラレンズを拭き、QRコードのピントが正確に合うようにすること。
- 新端末には公式App StoreまたはGoogle Playから正規の「Google 認証システム」をインストールすること(類似の詐欺アプリに注意)。
- 新端末のアプリにカメラへのアクセス権限を許可していること。
- 旧端末のGoogle Authenticatorアプリを最新バージョンに更新しておくこと。
異なるOS間の相互互換性: Google AuthenticatorのエクスポートQRコードは、Protobuf形式でシリアライズされた標準の otpauth-migration:// URIを使用しています。そのため、AndroidからiPhoneへ、またはiPhoneからAndroidへの乗り換えでも、何の問題もなく直接データを引き継ぐことができます。
ステップ解説:オフラインQRコード一括移行チュートリアル
外部サーバーを一切介さず、端末間で直接2FA秘密鍵を安全に移管する標準の手順は以下の通りです:
ステップ 1:旧端末で「アカウントの移行」を開く
古いスマートフォンでGoogle認証システムを起動します。画面右上のプロフィールアイコン(または左上の三本線メニュー)をタップし、メニューから「アカウントの移行」を選択します。
ステップ 2:生体認証と移行アカウントの選択
画面ロックの解除(指紋認証、Face ID、PINコード)を求められます。認証に成功すると、移行可能なアカウント一覧が表示されます。
💡 初期状態ではすべてのアカウントにチェックが入っています。特定の個人アカウントのみを移行し、業務用アカウントを除外したい場合は個別にチェックを外せます。
ステップ 3:エクスポートQRコードの表示(分割枚数の確認)
「次へ」をタップすると、画面上に高密度のQRコードが生成されます。
ステップ 4:新端末の「アカウントのインポート」でスキャン
新しいスマートフォンでGoogle認証システムを開きます。初期セットアップ時は「既存のアカウントを移行しますか?」を選択するか、右上のプロフィールアイコン ➔ 「アカウントの移行」➔「アカウントのインポート」をタップします。
新端末のカメラで旧端末のQRコードをスキャンします。1ページ読み取るごとにバイブレーションで通知されるので、旧端末側で画面を横にスワイプして次のQRコードを表示させ、最後まで読み取ります。
ステップ 5:ログイン確認テスト(絶対に省略しないこと!)
新端末のリストにすべてのアカウントが移行され、30秒ごとに新しい6桁コードが生成されていることを確認します。
鉄則: すぐにPCやサブブラウザから、主要な重要サービス(GitHubやメインメールなど)にアクセスし、新端末に表示されている6桁コードで実際にログインできるかテストしてください。正常にログイン成功を確認できるまで、旧端末側のデータを消去してはなりません。
旧端末の安全なデータ消去:残存ゼロポリシー
古いスマートフォンを下取り、家族への譲渡、またはフリマアプリ等で売却する場合、2FA秘密鍵が端末内に残存していると深刻なセキュリティインシデントにつながります:
myaccount.google.com ➔ セキュリティ ➔ お使いのデバイス にアクセスし、旧端末を選択して「ログアウト」をクリックします。これによりアクティブなセッショントークンが無効化されます。
オフライン複数端末の冗長化管理(3-2-1構成)
1台のスマートフォンのみにすべての2FAを依存していると、水没、落下、盗難、基板故障の際にすべての重要アカウントから締め出されるリスクがあります。エンタープライズ基準の3-2-1バックアップ戦略を構築しましょう:
普段使いのスマートフォン
日々の生体認証とワンタイムパスワード生成に使用。
自宅のiPad / 予備の旧スマホ
初期設定時に同時にQRスキャンし、金庫やデスクに保管。
KeePassXC / 紙の金庫保管
Base32文字列秘密鍵をオフライン暗号化金庫に保存。
2FA-Toolでの安全な検証: 新しいサービスで2FAを設定する際、提供されるBase32文字列(例:JBSWY3DPEHPK3PXP)をメモした後は、当サイトのオフラインツールで即座に動作検証が可能です。PCを機内モード(オフライン)にした状態で入力し、認証アプリと同じ6桁コードが生成されることを確認してください。W3C Web Crypto APIを利用しているため、データがネットワークに流出することはありません。
トラブル解決&よくある質問(FAQ)
Q1: 新端末に移行したのに、生成された6桁コードがどのサービスでも「無効」と弾かれます。なぜですか?
認証失敗の原因の99%は「端末の時刻ズレ(クロックドリフト)」です。 TOTPは30秒刻みのUnixエポック時刻を基準に暗号トークンを計算します。新端末のシステム時刻が15〜20秒以上ズレていると、サーバー側と異なる時間枠のコードが算出されてしまいます。
解決方法:
• Androidの場合: Google認証アプリ右上のメニュー ➔「設定」➔「コードの時刻修正」➔「今すぐ同期」をタップします。
• iPhoneの場合: iOSの「設定」➔「一般」➔「日付と時刻」を開き、「自動設定」を一度オフにしてから再度オンにし、ネットワークNTP同期を強制更新します。
Q2: 旧スマホの画面が完全に割れて操作不能です。QRコードが表示できません。
破損前の旧端末でGoogleアカウント同期が有効になっていた場合は、新端末のGoogle認証アプリで同じGoogleアカウントにログインすれば、すべてのトークンが自動的に読み込まれます。
クラウド同期が無効で予備端末もない場合、破損した画面から光学的にデータを読み取ることはできません。この場合は、各サービス設定時に発行された緊急リカバリーコード(バックアップコード)を使用するか、各社のサポート窓口で身分証を提示して2FAの解除申請を行う必要があります。
Q3: 新旧2台のスマホで同時に同じコードを生成させておくことはできますか?
2FAシークレットキーの検証テスト
移行が完了しましたか?バックアップしたBase32秘密鍵が正しく機能するか、当サイトのWeb Crypto高精度ジェネレーターで今すぐテストできます。完全オフライン動作で安心です。