カバー画像はダミーなので深い意味はありません。
こんばんは、sata/ORCAです。
書こう書こうと思ってすっかり忘れていたシリーズ。
FF14プレイヤーなら誰もが悩むワンタイムパスワードアプリの話でも書こうと思います。
本来ならスクエアエニックスアカウントのワンタイムパスワードアプリに専用のアプリ以外の汎用アプリも利用できるようになったタイミングで書くべきだったのですが寝かせている間に2年近く経っていました。
そもそもワンタイムパスワードとは
FF14ではワンタイムパスワード(One-time Password: OTP)を設定していると無料でテレポできるエーテライトが設定できるためほとんどのヒカセンがOTPを設定しているのではないでしょうか。
(頼む… OTPを設定してくれ…)
OTPはパスワード認証にセキュリティを付加する機能です。
なぜOTPが求められているかと言うと、そもそもパスワード認証には以下のような問題があり攻撃を受けやすいためです。
- 覚えやすい簡単なパスワードが使われてしまう(生年月日や名前、単純な数値列など)
- 複数のサービスで同じパスワードが使いまわされることがある
- パスワードを知っていれば誰でも認証することができる
例えばよく使われるパスワードや他のサービスから漏洩したパスワード、偽のウェブサイトに入力されたパスワードなどを使用してアカウントを乗っ取るなどの攻撃ができてしまいます。
パスワードへの攻撃の対策として多くのサービスで使われているのがOTPなどを用いた多要素認証(Multi-factor Authentication: MFA)です。
用語をまとめると以下のようになりますが別に覚えなくていいと思います。
| 用語 | 解説 |
|---|---|
| One-time Password: OTP | 認証の瞬間だけ有効なパスワード。30秒や60秒間有効な6桁の数値が用いられることが多い |
| Multi-factor Authentication: MFA | 2つ以上の認証要素を用いて認証を行うこと |
| 認証要素 | 認証に用いることができる要素。ざっくり分けると知識、所有、生体の3種に分類される |
| 知識認証 | その人が知っていることを用いる認証。パスワードなど |
| 所有認証 | その人が持っているものを用いる認証。スクウェア・エニックス セキュリティトークンやソフトウェアトークンなど |
| 生体認証 | その人であることを用いる認証。指紋認証や顔認証など |
因みにパスワードの利用そのものをやめて強固な認証を実現(パスワードレス認証)する取り組みとしてFIDO2やPasskeyなどがあります。
興味がある方は調べてみてもいいかもしれません。日本国内のサービスではヤフーなどで導入されています。
OTPはサービスとユーザーが事前に共有した鍵情報と現在の時刻を同じ計算式を用いて計算することで生成されます。
鍵情報はユーザーごとに異なり、OTP生成が時刻に依存していることで他人が正しいOTPを生成することはないため、前述したパスワードに対する攻撃に効果があります。
※ フィッシング耐性やそもそものパスワードの強度の話はここではしません。
より詳細な内容が気になる方はこのあたりの記事が解説してはわかりやすいかなと思います。
OTPアプリを守るには
OTPの概要についてはここまでで書いた通りですが今日の本題はここからです。
OTPを設定するのはいいのですが、問題になるのは機種変更や紛失などでOTPアプリが利用できなくなった場合です。
多くのサービスでOTPが利用できない場合の緊急パスワードなどが用意されているのでまずはそれを保存しておきましょう。
機種変更やアプリの削除をご検討されている場合は、機種変更やアプリの削除を行う前に、必ず「強制解除用パスワード」をお控えくださいますようお願いいたします。
緊急パスワード以外にも対策ができるのでここではその方法を紹介します。
因みに私はAndroidのスマートフォンを持っていないのでiPhone前提となりますが、一部はAndroidでも利用できると思いますので参考になれば。
なおスマートフォン以外でもOTPアプリを利用することはできますがここでは全てまとめてスマートフォンと表記します。
以下のブログにまとまっているのですが、重要なのはバックアップを取ることです。
OTPの仕組みで説明した通り、鍵情報が同じなら生成されるOTPの値も同じになります。
OTPを有効化する際のQRコードに鍵情報が含まれているので、このQRコードを複数のスマートフォンのOTPアプリで読み取ることで簡単にバックアップを行うことができます。
スマートフォンが1つしかない場合でもOTPアプリ自体にバックアップ機能がある場合はそれを利用できます。
残念ながらスクエニのソフトウェアトークンアプリにはバックアップ機能がないため他のアプリを利用することを推奨します。スクエニのソフトウェアトークンアプリは投げ捨てましょう。
例えばGoogle Authenticatorの場合は復元用のQRコードを出力することができるので印刷して保管することができます。
Microsoft AuthenticatorはMicrosoftアカウントとiCloudを利用してバックアップすることができます。
私はWindowsPCでMicrosoftアカウントを利用しているのでMicrosoft Authenticatorのバックアップを設定しています。
Microsoft AuthenticatorではMicrosoftアカウントのパスワードレス認証にも対応しているため、WindowsPCを利用している方は導入しておくことをお勧めしますが、注意点としてスマートフォン紛失に備えてMicrosoft Authenticator以外のアカウント復旧方法(メール, 電話番号など)を登録しておく必要があります。
私は他のサービスも含めて30件弱のOTPを登録しているので、OTPの登録を増やしてもiCloudが自動的にバックアップを取ってくれるのはありがたいです。
1度機種変更でバックアップから戻したことがありますが特に問題なく戻せています。
頻繁にOTPの登録件数が増減しないか、まめにバックアップを作成できる方はGoogle Authenticatorも有効だと思います。
ただし、パスワードと同様にバックアップ用のQRコードをPCやスマートフォンに貼ったりしないでくださいね。
OTPアプリにアクセスできない場合の回復プロセスは時間がかかるので、繰り返しになりますがOTPを登録したら必ずバックアップを取ってください。
Google Authenticatorを使う場合はOTPアプリ専用に安いスマートフォンを買って来て予備に置いておくのもいいと思います。OTPの復元にインターネット接続が不要なのでSIMも必要ありません。
スクエニのソフトウェアトークンアプリを使っている方は今すぐ投げ捨ててバックアップが可能なOTPアプリを導入しましょう。
他のサービスにも流用できるので1本持っておくと便利ですよ。
というわけで長くなりましたがOTPアプリのバックアップは大事という話でした。
因みにFCハウスにインしたままこれを書いていたところオーケストリオンで延々ENDCALLERが流れ続けているのですが、誰の趣味なんでしょうか…w
それではー。