こんにちは、Briocheです。
さて、昨今OTPの漏洩によるアカウントハックの問題が取り沙汰されましたが、
そもそも認証ってなんだってところからOTPを入れる理由とはなんぞや?
というところをざっくりと解説したいと思います。
1. そもそもログイン(認証)とは?
FF14での「ログイン」という行為は、IT用語で言うところの「認証」にあたります。
認証とは、「私は○○さんです」という宣言に対して「本当だよね?」という確認をする行為です。
大抵のシステムではいくつかの「情報」を宣言した人からからもらうことで「認証」を行います。
2. 認証の「情報」って?
プレイヤーの認証にあたって、ログインする人から確かめるための情報をもらいます。
ただし、公になっている情報をもらっても、本人かどうかわかりませんから
通常は「本人しか知らない(はず)、本人しか持っていない(はず)」のものをベースに行います。
要素としては以下の3つのいずれかを利用、もしくは組み合わせます。
○知識情報(その人しか「知らない」)
・ユーザーID、パスワード、暗証番号など
○所持情報(その人しか「持っていない」)
・鍵(セキュリティキー)、端末(スマートフォン等)、カードなど
→OTP(ワンタイムパスワード)は、この情報を利用しているケースが多いです。
○生体情報(その人でしかなれない)
・虹彩、指紋、静脈、顔など
3. なぜ組み合わせるのか
簡単に言ってしまうと知識情報は他の2つに比較して「盗みやすい」ことが上げられます。
知識情報でよくあるパターンとして
・その人から盗み出す(公式・公共機関と偽って聞き出す、入力中に覗き見する、フィッシングサイトで入力させる)
・別のサイトやシステムから盗み出す(システムへのハッキング、従業員に盗ませる)
・PCに計算させてヒットさせる(総当たり攻撃、辞書攻撃)
→コンピュータの計算能力は年々上がっているので、8桁の数字なら1秒以下で全パターンを試すことができます。
なので昨今は同じユーザーに対するこういうアクセスを、回数制限などでブロックするのが一般的です。
と言った形で知識情報は正直なところ「脆い」です。
なので、その人しか持っていない、慣れない情報を組み合わせることで
不正アクセスを防ぎましょう、というのが目的になります。
※ちなみにこういった複合要素での認証を「多要素認証(MFA)」や、2つの場合は「二段階認証」と言ったりします。
4. OTPとはなんぞや
OTP(One time password: ワンタイムパスワード)とは、1回使い切りのパスワードです。
方式としてはいくつかありますが、
・現在時刻
・共通のアルゴリズム(計算式)
・ユーザーごとの乱数
をベースにして算出した値が一緒であることを利用して認証を行っています。
OTPは1回使ってしまえば無効になるので、誰かが盗んでも再利用できません。
仕組みとしても導入が容易なため、昨今の多要素認証で多く利用されています。
また、発行から有効な期間を短く設定することで万が一OTPが漏洩した場合でも
不正アクセスをされる確率を低くすることができます。
5. OTPの弱点
さて、ここでOTPがあるのになぜ今回アカウントハックにつながったかですが。
OTPは「1回使い切り、有効期間は短い。『けど』、有効な状態だとただのパスワードと同じ」わけです。
つまり有効なOTPは、パスワード以上の強度は持たないってことになります。
なので、
✖ OTP導入済みだから絶対不正アクセスされない!
○ OTP導入済みでもその情報を渡してしまうと、場合によっては不正アクセスされてしまう。
というわけですね。
今回の場合はフィッシングサイト上で入力されたとしても、FF14のシステムとしては
「まだ使われていないOTP」なのでOTPの期限が切れるまでは、有効なままです。
そのOTPとID・パスワードがあれば、盗んだ人はログインできてしまう。というわけです。
6. 最後に
悪意のあるフィッシングサイトなどは、日に日に巧妙化してきており
普段見かけるようなメールの文面や、一見すると普通に見えるWebサイトであっても
フィッシングメールやフィッシングサイトであることが多々あります。
悪意のある行為をする人は、人の興味や欲望、焦りなどに漬け込む形で判断を鈍らせてきます。
完全に防ぎ切るのは難しいですが、「ん?ちょっと違和感があるな」と思った場合は
ログイン認証はせずに公式に問い合わせるなど、より慎重な行動につなげていきましょう。
ではでは、素敵なハイデリンライフを。
※自身の知識に基づいて記載してます。
用語の扱いなどに不備がある可能性がありますがご容赦ください。
※OTPの仕組みについては一般的な仕組みを記載しており、他にも様々な方式が存在します。