古いAndroid端末をサブ機として完全なオフラインで使用しています。主に動画、音楽再生がメイン。家の中でのみ使用している状態です。
この端末にはGoogle 認証システムというワンタイムパスワード生成アプリがインストールしてあります。
本来ワンタイムパスワードはメインの機種に移行しておくべきなのですが、それほど重要なサイト(アカウント)でもないのでそのまま放置していました。(重要なアカウントは移行済み)
先日とあるサイトで、この古い端末のGoogle 認証システムを使用したのですが、何度入力してもワンタイムパスワードがエラーになる現象に見舞われました。
何度も見直して入力しているので絶対に間違っていないはずなのに、ことごとくエラーになります。
この現象の解決法を紹介します。
解決法
結論から言いますと、端末本体の内蔵時計がズレているので手動で修正する、ということになります。
ワンタイムパスワードはその性質上、生成時に現在時刻を利用しています。なので時計がズレると正しいパスワードが生成できなくなります。
常にネットに接続している端末であれば、現在時刻は自動的に修正されるので問題はありませんが、今回のように完全なオフラインで使用している場合は、それができません。
その結果、時間とともに現在時刻が徐々にズレ始めてワンタイムパスワード生成に影響が出るというわけです。
もともとスマホやタブレットの内蔵時計はそこまで精度が高くないので、完全なオフラインで使用していると、すぐに時刻がズレます。
また、稀にですがオンライン状態の端末でも何らかの原因で、時刻の修正が上手くいかない場合もあるようです。
今回、手動で時刻を修正したところ、ワンタイムパスワードのエラーは解消されました。
ワンタイムパスワードが常にエラーになる場合は、端末本体の内蔵時計が正しいかどうか確認してみてください。