Google Authenticatorとは
スマートフォンでGoogleアカウントなどの多要素認証用に提供されている、Google Authenticator(認証システム)アプリがあります。Authenticatorはオーセンティケーターと読むのが一般的です。Authenticateは認証という意味です。
このアプリは、世界で一般的に使われているワンタイムパスワードを表示するアプリの1つです。
ダウンロードする場合は、Android用はGoogle Play、iPhone用はApp Storeを利用してください。
ワンタイムパスワードとは
ワンタイムパスワードは一度だけ使うパスワードです。
Googleアカウント含めて、ログインにはアカウントのIDになるメールアドレスと、設定したパスワードで認証するのが基本です。これに加え、正規ユーザーが持つ特定の環境でしか発行されないワンタイムパスワードの入力を必須にしておけば、もしもパスワードが漏れてもアカウントを守ることが出来ます。
そのためのワンタイムパスワードを発行するのがGoogle Authenticatorアプリの役目です。
Google Authenticatorは何をやっているか
Google Authenticatorに情報を登録する際、2段階認証(2要素認証)の設定画面に、登録用のコード(シークレットキー)がQRコードなどで表示されるので、そのコードをアプリに登録します。
そのコードと現在時刻から、6桁のワンタイムパスワードのコードを計算して表示しているだけです。
このコードの生成アルゴリズムはTime-based One-time Password Algorithm(TOTP)としてRFC 6238で公開されています。
https://tools.ietf.org/html/rfc6238
GitHubにはオープンソース版のコード等もあります。
https://github.com/google/google-authenticator
つまり、ワンタイムパスワードを表示するのにGoogle Authenticatorは必須ではなく、他の同等機能のアプリを使うことも出来ます。
登録した情報が消えたらどうする Googleアカウント編
アプリを削除してしまった。
機種変更してアプリが使えなくなってしまった。
など、登録した情報が消えた場合、アプリでの2段階認証が出来なくなります。
Googleアカウントの場合、Authenticatorの設定には携帯電話のSMS等の別の設定も必要なので、設定している他の認証手段で再設定してください。
登録した情報が消えたらどうする Google以外編
Google以外のサービスの場合、そのサービスが提供する復旧手段を使ってください。
Google Authenticatorが起動しなくなった場合
スマートフォンのAuthenticatorアプリが起動しなくなってしまった場合、アプリをアップデートする、OSをアップデートする、端末を再起動するなどを試してみてください。
それでも起動しない場合は、データをバックアップ出来る環境でバックアップして、スマートフォンを再セットアップしてください。ただし、ほとんどの場合はAuthenticatorアプリ内のデータをバックアップ、リストアすることは出来ないです。
2段階認証を一旦解除して、アプリを削除して設定をやり直すのが一番手っ取り早い解決方法のことが多いようです。
Google Authenticatorのデータ移行
Google Authenticatorに登録したデータは、2020年にQRコードでの移行に対応する前は、移行方法は用意されていませんでした。
その後、2023年4月24日に、データ自体をGoogleアカウントに紐付ける機能が追加されました。
これによって、2023年4月24日以降にGoogle Authenticatorを起動し、紐付けるGoogleアカウントを選択し、右上のアカウントアイコンの横に雲のチェックマークがついている場合は、そのアカウント上にデータが紐付けられています。
アップデートしただけではダメで、クラウドへの連携をする必要があります。
このアカウントにログインできなくなると、データも取り出せなくなります。
https://security.googleblog.com/2023/04/google-authenticator-now-supports.html
Google Authenticatorのデータ移行に関するモヤモヤ
Google Authenticatorのデータは設定した端末にしか保存しないポリシーから、QRコードへの移行、クラウドでの同期とそのデータ保存ポリシーがその時によって変わっています。
これはよりセキュアなポリシーから、ユーザーの利便性が高い物へと変更したのでしょうが、なぜこのような変更が行われたのかの詳細についてはよくわかりません。
情報セキュリティ関連の情報がまとまっている文章の一つにNIST 800-64がありますが、これがRevision 4へと更新する予定ですが、2要素認証のコード保存に関連する項目が緩和される事が影響しているという意見もあります。
認証データをうっかり削除してしまった場合
Googleアカウントで認証データが自動同期するようになりました。
認証データをうっかり削除してしまった場合も、削除内容が他の端末で同期します。
逆に言えば、うっかり削除したあとに、同期していないデバイスの通信を切れば同期されず、削除した内容が残っている事と思われます。
2023年4月のアップデートで発生する問題
デバイスの文字サイズ等を大きくしている場合、起動後の画面から何も出来なくなります。デバイスの表示サイズを標準にするなどしてください。
その後、この問題は解消されました。
2023年4月以前の情報
ここより下は2023年4月以前の情報です。
Google Authenticatorのバックアップ方法
iOSの場合、パソコンのiTunesで暗号化してバックアップした場合だけAuthenticatorのデータをバックアップ、リストアできるようです。
実際に試す場合は、利用しているバージョン等で出来る事を確かめた上で実行してください。
Google Authenticatorのエラー
QRコードでの移行時に「QRコードが解釈できません(Cannot interpret QR code.)」というエラーで以降出来ない場合があるようです。(2020年下旬より)
登録しているデータ内の特殊な文字、スペースなどを削除するとこの問題が解消できる場合もあるようです。
Google Authenticatorでよくあるトラブル
急に認証出来なくなる
端末の時間設定が間違っている。
情報を消してしまう
特殊な方法で端末をバックアップした場合を除いて、データは二度と戻らない。
特殊な方法とは、iOSをPCで暗号化設定してバックアップした場合など。
Google以外のおすすめアプリ
Google Authenticatorは登録情報の移行に対応(Android版は2020年5月、iOS版は2020年12月)しました。ただし、2つの機種を同時に利用して移行作業をする必要があります。
Googleは2段階認証に使用するデータをクラウド上に保存しないというポリシーにしているようで、このような移行作業になっています。
他にもデータの移行機能があり、信頼できる会社が提供しているアプリとして
Microsoft Authenticator
Salesforce Authenticator
などがあります。これらの会社はクラウド上にデータを保存するため、場合によってはそこが脆弱性になる事があります。
認証情報は鍵そのものなので、信頼できる会社のサービスをしっかり管理して使用してください。