セキュリティ強化で知っておきたい!OTPとは何か?

schedule 2018/04/02  refresh 2023/11/09

 

パスワードを守ることの大変さ

インターネットを経由した様々なサービスの利用は、もはや当たり前の世界になっています。

ショッピングだけではなくSNSのようなコミュニケーションツール、ニュースや映像の配信サービス、はては行政サービスといった、様々な分野での利用が行われています。

 

 

こういったサービスでは、決済が必要になる、個人情報を取り扱うといった理由から、本人の認証が欠かせません。そこで利用されるのは、オーソドックスなユーザーIDとパスワードを使った認証です。

 

ただし、当ブログでも触れてきましたが、パスワードを用いた認証には、様々な課題があります。それらを克服していくために、シングルサインオン、あるいは生体認証のようなパスワードレスといったソリューションが提供されています。

 

しかし、どうしても毎回ユーザーIDとパスワードの入力が必要なアプリケーションは存在します。そして、キーロガーのような悪意のあるソフトウェアや、総当たりなどによるパスワードハッキングのリスクは、0にはなりません。

解決策としてのOTP

そこで、比較的古くから用いられてきた技術が、OTPです。これは、1回限り利用可能なパスワードを意味する「ワンタイムパスワード」の頭文字をとったものです。

通常のユーザーIDとパスワードによる認証のあとに、使い捨てになるパスワードを入力し、それが正しいものであれば認証完了となります。

 

 

認証後も、重要な操作の決定前に、OTPの入力を要求することがあります。こういった実装は、インターネットバンキングなど、金融系のサイトでよく見られます。安全性を高めることに加え、ユーザーの操作ミスを極力減らすという、副次的な効果も期待できます。

 

このOTPは、インターネットバンキングだけでなく、各種のポータルサイト、あるいはオンラインゲームなど、広く用いられています。さて、一口にOTPといっても、実装の方法がいくつかあります。以下、方法ごとに説明していきます。

 

OTPを実現する方法

よく知られているのが、チャレンジ&レスポンスという方法です。サービスの提供者は、あらかじめ利用者に対し暗号情報を渡しておきます。

パスワード認証時に、提供者は毎回変わる暗号のキーをユーザーに渡します。

ユーザーは渡されたキーをもとに、暗号情報からOTPを取り出し、これを入力します。パスワードとOTPの双方が正しい場合に、認証が完了します。

 

これと似た方法に、マトリクス法があります。

サービス提供者は、あらかじめ「暗号情報の作成ルール」をユーザーに渡します。

認証時、文字がランダムに並んだ表を渡されます。ユーザーは作成ルールにもとづいて、OTPを作成、送信します。表は毎回変わりますので、OTPも毎回変わります。

 

また、携帯電話などのSMSで送信したOTPを、二段階認証に用いる方法もよく使われています。この方法について、これ以上の説明は不要でしょう。

 

これ以外に、広く使われているのが時刻同期方式です。

多くの場合、ユーザーがOTPを生成する小さなデバイスを持ち、そこに表示されるパスワードを認証に用いるものです。装置は、認証サーバーと時刻を同期されています。1分程度という比較的短い時間で、OTPは変更されます。

 

デバイスを使うという観点からは、時刻同期方式と類似したものには、イベント方式があります。これはボタンを押す、タップするなどのイベントをもとに、OTPを生成するものです。

 

OTPで多く使われる「トークン」

一般に、OTPの生成には、携帯可能な小型のデバイスが使用されます。これをセキュリティトークン、あるいはハードウェアトークンと呼びます。スマートフォンなどの携帯端末で、ソフトウェア的にセキュリティトークンを実現したものもあります。こちらは、ソフトウェアトークンと呼ばれることがあります。

 

 

セキュリティトークンは、時刻同期方式、イベント同期方式のものがよく知られています。チャレンジ&レスポンス方式に対応した、セキュリティトークンもあります。

 

利便と安全性の両立

これを見ると、ワンタイムパスワードだけでユーザー認証を行うことも可能に思えてきます。しかし、セキュリティトークンのような重要なデバイスを紛失してしまった場合には、悪意の第三者によって、容易に、IDを不正利用されてしまいます。

 

 

したがって、OTPを用いたユーザー認証では、ユーザーIDとも紐付けを行っています。繰り返しになりますが、通常のパスワードによる認証には、どうしても脆弱性が残ります。これをOTPと組み合わせることにより、ユーザーの手間は若干増えるものの、サービス利用時の安全性は、飛躍的に高まります。

 

それでも、ユーザーIDとパスワードの管理が大変なことに、変化はありません。そこで、OTPを標準機能としてサポートする、シングルサインオンソリューションを活用することを選択肢に加えてはいかがでしょう。利便を向上させた上で、高い安全性を確保することが可能になります。

 

(画像は「Pixabay」より)

 

▼外部リンク

ワンタイムパスワード 三菱UFJフィナンシャルグループ
http://direct.bk.mufg.jp/secure/otp/index.html

ワンタイムパスワードのご案内 スクウェア・エニックス
http://www.jp.square-enix.com/