ワンタイムパスワード(OTP: One-Time Password)は、1回限り使用できるパスワードのことです。通常のパスワードとは異なり、使い捨てのため、セキュリティが非常に高い認証方法として広く利用されています。
仕組み
ワンタイムパスワードは、以下のような方式で生成されます:
- 時刻同期方式:認証サーバーとユーザーのデバイスが同じ時刻を基にパスワードを生成します。一定時間ごとに新しいパスワードが生成されます。
- カウンタ同期方式:パスワードの生成回数に基づいて新しいパスワードが生成されます。認証サーバーとユーザーのデバイスがカウンタを同期させます。
- チャレンジレスポンス方式:サーバーがランダムな文字列(チャレンジ)を生成し、ユーザーがそれに対するレスポンスを計算して送信します。サーバーがそのレスポンスを検証します。
利用方法
ワンタイムパスワードは、以下の方法で利用されます:
- 専用トークン:専用のハードウェアデバイス(トークン)を使用してパスワードを生成します。
- スマートフォンアプリ:Google Authenticatorなどのアプリを使用してパスワードを生成します。
- メール:認証時にメールでパスワードを受信します。
- SMS:携帯電話のショートメッセージでパスワードを受信します。
- 音声通話:電話で音声によるパスワード通知を受けます。
メリット
ワンタイムパスワードの主なメリットは以下の通りです:
- セキュリティの向上:使い捨てのため、パスワードが盗まれても再利用されるリスクがありません。
- 多要素認証の一部として利用可能:他の認証方法と組み合わせることで、さらにセキュリティを強化できます。
デメリット
一方で、以下のようなデメリットもあります:
- ユーザーの手間:毎回新しいパスワードを入力する必要があるため、手間がかかります。
- デバイス依存:専用トークンやスマートフォンが必要な場合、紛失や故障のリスクがあります。
ワンタイムパスワードは、インターネットバンキングやオンラインショッピングなど、セキュリティが特に重要な場面で広く利用されています。