【おーてぃーぴー】

OTP(ワンタイムパスワード) とは?

💡 一回使ったら消える魔法のパスワード、盗んでも使えない
📌 このページのポイント
OTP(ワンタイムパスワード)の仕組み サーバー OTPを生成 ユーザー端末 OTPを受信/生成 482 519 有効期限: 30秒 TOTP(時間ベース) 30秒ごとに自動でコード更新 Google Authenticator等 HOTP(カウンターベース) ボタン押下でコード生成 ハードウェアトークン等 一度使ったら無効 → 盗まれても再利用不可
OTPの仕組み
ひよこ ひよこ

ワンタイムパスワードって、銀行アプリでよく見るやつだよね?

ペンギン先生 ペンギン先生

そうそう。ログインや振込の時にSMSや専用アプリに届く6桁くらいの数字のことだよ。30秒とか60秒で有効期限が切れて、一度使ったらもう使えなくなるんだ

ひよこ ひよこ

普通のパスワードと何が違うのかな?

ペンギン先生 ペンギン先生

普通のパスワードは変更するまでずっと同じだから、一度盗まれたら何度でも使われちゃうよね。OTPは毎回新しい値が生成されて一回使ったら消えるから、たとえ盗まれても再利用できないんだよ

ひよこ ひよこ

SMSで届くのとアプリで見るのは何が違うの?

ペンギン先生 ペンギン先生

SMSはSIMスワッピングで盗まれるリスクがあるから、認証アプリ(Google AuthenticatorやAuthyなど)の方が安全だよ。アプリは端末内で計算するからネットワーク経由で盗まれにくいんだ

ひよこ ひよこ

TOTPとHOTPって聞いたことあるけど何が違うの?

ペンギン先生 ペンギン先生

TOTPは時間ベースで、30秒ごとに新しいコードが生成されるよ。HOTPはカウンターベースで、ボタンを押すたびに新しいコードが出る方式だね。今はTOTPが主流で、RFC 6238で標準化されているよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「OTP」って出てきたら「一度きりの使い捨てパスワード」と思えればだいたいOK!
📖 おまけ:英語の意味
「One-Time Password」 = 一回限りのパスワード
💬 One-Time(一回限り)の名の通り、使い捨てだから安全なんだよ
← 用語集にもどる