OTP (ワンタイムパスワード)認証は多要素認証に使用される方法の一つで、静的なパスワードの代わりに動的に変更される、より盗みにくくまた推測されにくいパスワードを使用することによりより安全に制限されたリソースへのアクセスを許可する方法です。OTP (ワンタイムパスワード)は、OTP (ワンタイムパスワード)発生器によって、次に使用するべきパスワードを発生させ、ユーザーが従来の静的なパスワードの代わりに(あるいは共に)を入力します。
これにより、攻撃者は、IDやパスワードのほかにOTP (ワンタイムパスワード)発生器も入手しなければ、ネットワークに侵入することができなくなり、セキュリティがより高くなります。
OTP (ワンタイムパスワード)の仕組みはOTP (ワンタイムパスワード)発生器と認証サーバーの両方で持っている共通の鍵(別名OTPシード)によって成り立っています。両者がこのOTPシードを共有しているために、認証サーバーはユーザーが送ってきたOTP (ワンタイムパスワード)が正しいことを確認できるのです。
OTP (ワンタイムパスワード)発生器は有効なパスワードを経過時間を基に(たとえば30秒毎とか1分毎などに)生成したり、OTPのイベントボタンをクリックしたイベントを基に生成します。
OTP (ワンタイムパスワード)は以下のような業界標準、ないしはプロプラエタリなアルゴリズムでOTPシードからOTP (ワンタイムパスワード)を計算、生成します。
- HOTP: HMACベースアルゴリズム、OpenAuTHentication(OATH)にて開発 (IETF RFC 4226)
- TOTP: タイムベース OTPアルゴリズム
- X9.9: FTAによる旧銀行標準
- Challange Response: チャレンジ・レスポンス・アルゴリズム・サーバーからのチャレンジコードをOTPに入れて、レスポンスコードを返す
- ベンダー固有の方法
このほかに使用法として
- OTP PIN: 認証時に OTPの値のほかにPIN (パスワード)も入力する方法
- PIN Protected: OTPを生成させる際にOTP自体にPIN(パスワード)を入力する方法(もちろんOTP自体にPIN入力できるタイプのものが必要)
- Application PIN: PC上などのソフトウェアOTPで OTPを生成させる際にOTPアプリケーションにPIN(パスワード)を入力する方法
などがあります。