広く使われるようになったGoogle Authenticator。アルゴリズムは公開されているので、色々な方が実装していますが、私も数年前にPSP版を作成していました。
最近Qiitaが2段階認証に対応したので、今回記事を書いてみることにしました。
なお、アルゴリズムの詳細は https://www.idontplaydarts.com/2011/07/google-totp-two-factor-authentication-for-php/ が詳しいです。
準備
- PSPの時刻を正確に合わせる(できれば自動設定が良い)
-
https://www.dropbox.com/s/mj92ccgvwoit746/libpuer_dist.7z をダウンロードし、PSP/GAME/google2faをPSPメモステのPSP/GAMEにコピーする
- google2fa/EBOOT.PBPは署名済みですので、未改造のPSPでも実行可能です。
- (「導入」時)PSPをUSBモードに入れておく
導入
基本的には http://blog.qiita.com/post/93858790619/two-factor-authentication を参考に。
- 設定->共通->2段階認証->アプリを使って設定する、をクリックします。
- 「QRコードが使えない場合はこのテキストコードを入力して下さい」をクリックし、表示された「Your two-factor secret」を、PSP/GAME/google2fa/keys.txtに記入します。
使い方
PSPのメニューから「Google TwoFactor Authenticator on PSP」を選択し、実行します。
今回はkeys.txtの3行目に記入したので、3行目に表示されている「657176」を認証コードとして使用します。
最後に
今回、Qiitaに絞って説明しましたが、勿論GMailやDropboxでも使えるので、ぜひ使ってみてください。
ただし、keys.txtをクラウドに入れるのはセキュリティ上推奨いたしません^^;;;
(注:アカウント名は秘匿されるとはいえ、keys.txtにはsecretが平文で保存されることになります。しかし、root化されたAndroidであればsqlite経由でsecretを平文で抜くことができる点から、ローカルに保存する分には大きな影響はないと考えています。)