二要素認証(TOTP)を理解する
(初心者向け)
二要素認証(TOTP)のしくみ
※ TOTP は Time-Based One-Time Password の略で、現在の日時を基準にしてワンタイムパスワード(一度だけ使えるパスワード)を生成する仕組みのことです。
C5F9…
シークレット
C5F9…
シークレット
*1: シークレットはランダムに生成された文字列です。誰にも教えてはいけない情報です。
2. 日時とシークレットからOTP(*2) を生成して入力する
*1: OTP は One-Time Password(ワンタイムパスワードの略)で、一度だけ使えるパスワードのことです
204892
OTP (*2)
C5F9…
シークレット
+
C5F9…
シークレット
+
204892
入力してください
204892
一致すると
ログインOK
二要素認証(TOTP)のメリット
認証の要素が増えるのでセキュリティレベルが上がる
【解説】
攻撃者は、ユーザーのパスワードだけではなく、TOTP のシークレットも入手しないと(不正に)ログインできません。TOTP のシークレットは、最初の共有時以外で露出することがほぼないため、パスワードに比べると不正に取得することが難しいです。
二要素認証(TOTP)のトラブル事例
事例1: 時刻のズレ → 時刻を調整してください
778932
OTP (*2)
C5F9…
シークレット
+
778932
入力してください
204892
一致しないので
ログインできない
C5F9…
シークレット
+
事例2: スマホの紛失やアプリの削除 → 再設定してください
(生成不可)
OTP (*2)
C5F9…
シークレット
+
(入力できない)
入力してください
204892
正しいシークレットがないので適切なOTPが生成できない
C5F9…
シークレット
+
紛失やアプリの再インストールなどで、
シークレットの情報が消える