特集
» 2006年10月17日 08時00分 公開

クライアントセキュリティ大作戦:コンタクトレンズとパスワードは鮮度が命──ワンタイムパスワード (1/4)

ユーザーへの影響の大きさから、高いセキュリティが要求される銀行のインターネット取引。そのログイン方法にワンタイムパスワードを利用する銀行が登場している。その安全性について解説しよう。

[小林哲雄,ITmedia]

このコンテンツは、オンライン・ムック「内部統制時代のクライアントセキュリティ大作戦!」のコンテンツです。関連する記事はこちらでご覧になれます。


パスワードはいつか破られる。だから毎回新品を

 まるで「使い捨てコンタクトレンズ」の宣伝文句のようだが、これがOne Time Password(OTP)の大雑把な内容だ。

 OTPの方式としては、あらかじめメモ帳にパスワードが列挙された「ワンタイムパッド」(※1)が初期に考案された。各ページにパスワードが書かれた日めくりカレンダーのようなパッドを使い、一番上に書いてあるパスワードを使い、使ったパスワードのページは破棄するという形になっており、毎回新しいパスワードを使用する。パッドの秘密が守られている限り、傍受されてもログインパスワードは防御され、パッドの秘密に問題が発生した場合(第三者に見られたなど)はすべて破棄して新しいパスワードパッドを作成すればよいということになる。

 ワンタイムパッドのようにあらかじめパスワードを定めておく方法以外に実現されているOTPとして、時間をキーにしてパスワードを変更する「時刻同期方式」やサーバから渡されたキーワードをあらかじめ用意した計算式でパスワードに変換する「チャレンジ&レスポンス方式」がある。いずれの方法にしてもパスワードは毎回変更されることになり、キーロガーなどでユーザーIDとパスワードが傍受されても、傍受したパスワードでは次回のログインが行えない。

図1●チャレンジ&レスポンスによる認証の流れ

 図1にチャレンジ&レスポンス方式によるユーザーログインの手順の例を示すが、サーバ側とユーザー側でユーザーIDと対になる「真のパスワード(パスフレーズ)」(※2)を元に、ログイン要求時にサーバ側から送信する「チャレンジ文字列」とパスフレーズを組み合わせて演算を行い、その結果をユーザーがパスワードとしてサーバに送信し、サーバは手元で演算した結果とユーザーが送ってきたパスワードを照合し、一致すれば認証が成功する。従って、演算のためのアルゴリズムとチャレンジ文字列が分かっていても、パスフレーズが分からないと送信するパスワードは作成できない。また、チャレンジ文字列が変われば演算結果も変わるので、毎回入力するパスワードは異なることになる。これが基本的なOTPの仕組みだ。時刻同期方式は、チャレンジ&レスポンス方式でのチャレンジ文字列の代わりにそのときの時刻を利用するものだ。

※1 もともとのワンタイムパッドはパスワードではなく、暗号化の「鍵」を書いたパッドである。理論的には「正しく運用されれば」解読不可能とされる。ただし、この方法はパッドの作成、管理などに大変な労力がかかるので、運用は困難である。

※2 チャレンジ&レスポンスで利用する「真のパスワード」は長い文章を利用できるので、「パスフレーズ」と表現する場合が多い。また、パスフレーズが漏れるとOPTも意味を成さなくなるので、管理は重要だ。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ