情報セキュリティマネジメント試験 用語辞典

ワンタイムパスワード【One Time Password】
一度しか使用できない使い捨てのパスワードのこと。
通信経路上でパスワードが盗聴されても、正しいパスワードは認証の度に発行され、同じパスワードは二度と使えないため固定パスワード方式と比較してセキュリティ強度が高い。
分野:
情報セキュリティ » 利用者認証
重要度:

(Wikipedia ワンタイムパスワードより)

ワンタイムパスワード (one-time password、OTP) とは、コンピュータリソースに対するアクセス用に発行される、一度限り有効なパスワードのことである。

目的

ワンタイムパスワードの目的は、コンピューターのアカウントのようにアクセス制限されたリソースに対して未承認アクセスすることをより困難にすることにある。従来の固定パスワードによるアクセス制限では、十分な機会と時間を与えられた承認を受けない侵入者にとっては容易にアクセスしうる。定期的にパスワードを変更することで、それも一度限り有効な(いわば使い捨ての)ワンタイムパスワードを利用することで、こうしたリスクは大幅に低減することができる。

技術的分類

ワンタイムパスワードには、基本的に5つのタイプがある。

  1. 数学的アルゴリズムに基づき、古いパスワードから新しいパスワードを生成する方式
  2. 認証サーバーとクライアントからの間で時刻同期をしてパスワードを供給する方式(時刻同期タイプ)
  3. 数学的アルゴリズムに基づき、チャレンジ(認証サーバーあるいはトランザクションの詳細によって選ばれる乱数など)と以前のパスワードの代わりのカウンターに基づき新しいパスワードを生成する方式(チャレンジレスポンスタイプ)
  4. 紙に印刷されたパスワードのリスト用いる方式(トランザクション認証番号タイプ)
  5. ワンタイムパスワードを携帯電話などの「out-of-band」(アクセスに用いるネットワークとは別の帯域)を用いる方式

数学的アルゴリズムを用いるワンタイムパスワードの実装

ハッシュチェイン

一つめのアプローチは、ートが考案した一方向性関数(これをfとする)を用いたものである。ワンタイムパスワードシステムは、初期シードsを与えることで機能しはじめ、以下の式に示すように必要個数パスワードを生成する。

\(f(s), f(f(s)), f(f(f(s))), ..., f(f(...f(s))...)\)

もしも無限に連続するパスワードが必要であれば、シードsに対するパスワードの組を使い切った後で新しいシード値が選ばれることになる。作成された結果に基づき、それぞれのパスワードは、生成順とは逆に使われていく。

\(f(f(...f(s))...), ..., f(f(f(s))), f(f(s)),f(s)\)

侵入者がワンタイムパスワードの内容を知ってしまった場合、一定期間の間アクセスあるいはログインすることができる。しかし、パスワードが偶然知られても一定期間経過後そのパスワードは無効となる。以前のパスワードから一連のパスワードの中で次に有効なものを入手するには、逆関数\( f^{-1}\,\)を計算する方法を発見する必要がある。関数fは一方向になるように選ばれているので、実際に逆関数を算出することはきわめて困難である。関数\( f\,\)に暗号ハッシュ関数が選ばれている場合(たいていの場合はそうだが)、知られている限り一方向関数\( f\,\)に対する逆関数の算出は不可能である。

時刻同期型ワンタイムパスワードの実装

のハードウェアトークン]]
時刻同期ワンタイムパスワードはしばしば物理的なハードウェアトークン(ワンタイムパスワードを生成する個人用トークンが各ユーザーに配布される)とともに用いられる。トークン内部は認証サーバーの時計と同期し続ける正確な時計となっている。こうしたワンタイムパスワードシステムにおいては、新しいパスワードは以前のパスワードや秘密鍵よりもむしろ現在の時刻に基づいて生成されるため、時刻はパスワード・アルゴリズムの重要な部分を占める。

時刻同期ワンタイムパスワードを生成するために、しばしば携帯電話やPDAが用いられる。このアプローチは、多くのインターネットユーザーがすでに携帯電話を保有していることから、よりコスト効率の高い選択肢になりうる。さらに、このアプローチでは、ユーザーがアクセスする必要のあるセキュリティ・ドメインごとに異なるハードウェアトークンを携帯しなくてもすむため、より利便性に優れているといえる。

チャレンジ型ワンタイムパスワードの実装

この方式では、ワンタイムパスワードを利用するにあたりユーザーは正規に認証を受けるための時刻同期チャレンジ(問題)に対するレスポンス(回答)をサーバーに提示する必要がある。レスポンスはクライアント側でチャレンジの内容とパスワードの文字列を基に計算される。この作業は、具体的にはトークンに値を入力することで行われる。認証可能なワンタイムパスワードが複製されることを避けるため、通常はカウンターが組み込まれ、もし同じチャレンジが二度獲得されると、異なるワンタイムパスワードを生成する。同期問題が生じる可能性があるため、通常以前のワンタイムパスワードを組み込んで計算することはしない。は欧州でクレジットカードのために「チップ・オーセンティケーション・プログラム」と呼ばれるシステムの使用を始めている。

トランザクション認証番号型ワンタイムパスワードの実装

トランザクション認証番号(TAN)は、いくつかのオンライン・バンキング・サービスで、銀行取引を認証するための単独で使用するワンタイムパスワードとして採用されている。

典型的なTANシステムにおいては、まず顧客は銀行に行き、自らを認証する。次に、銀行は50種のユニークかつランダムに生成されたパスワードのリストを紙に印刷し、顧客に手渡す。顧客は自宅からオンライン・バンキングの取引を行う際にはパスワードリストの中の一つを使って署名し、使ったパスワードをリストから消す。銀行は自らが顧客に対して発行したTANの一覧に対して使われたTANを確認する。これが一致すれば、取引は処理される。一致しなければ取引は受け付けられない。ひとたび使用されたTANは消費され、以降の取引では使用することができない。

SMSを使ったアウト・オブ・バンド方式ワンタイムパスワードの実装

一般的にワンタイムパスワードを配布するために用いられる技術は、ショートメッセージサービス(SMS)である。SMSはすべてのハンドセットで利用でき、多くの顧客ベースを持つユビキタスなコミュニケーション・チャネルなので、SMSによるメッセージングはすべての顧客に低廉なTCOでリーチする上で最も大きな潜在能力を持っている。トークンやスマートカードなど従来の認証方式は、実装により多くのコストがかかり、保有するにも値が張り、しばしば消費者から抵抗を受ける。そうした方式は、フィッシング攻撃者が顧客をだましてトークンやスマートカードが生成したワンタイムPINを聞き出すことでオンラインセッションをハイジャックする中間者攻撃に対する脆弱性が指摘されている。また、トークンは紛失する可能性があり、ワンタイムパスワードを携帯電話に統合することで、新たな携帯機器を持ち運ぶ必要がなくなり、より安全でシンプルに認証を行える可能性がある。

各技術の比較

時刻同期型の長所とその他の方式の短所

時刻同期ワンタイムパスワードには、明確なコスト節約効果がある。ユーザーはパスワードを生成しても使わなかったり、ミスタイプをしたりする傾向がある。時刻同期方式でないワンタイムパスワード・システム上で、これをすると、クライアントと認証サーバーが非同期を起こしてしまう。この結果、認証サーバーとクライアントの非同期状態を解消するために新たなクライアントを再発行しなければならず費用が発生してしまう。

時刻同期方式でないワンタイムパスワード・システムの認証サーバーはこの問題に配慮する必要がある。具体的には、間違ったパスワードを無視する、次に見込まれるパスワードの1つだけではなくより多く(例えば10個)の中のいずれでも受け付ける、再同期機構を追加するなどの方法が考えられる。こうした配慮を施すことで、実装に際して余分な労力、例えばサーバーシステムのコストに対する影響が生じるが、同期問題は回避できる。

(原文:サーバーはこの問題に配慮(間違ったパスワードを無視したり、次の1つのパスワードだけではなく、例えば10個のパスワードのいずれでも受け付けるか、再同期機構を追加するかにより)する必要があり、そうすれば、実装時に余分な労力、例えばサーバーシステムの価格に対する影響が生じるが、同期問題は回避できる。)

時刻同期型の短所とその他の方式の長所

一方で、ハードウェアトークンが時計を必要としないことから、電力を連続消費せず、電池も長持ちするので、時刻同期方式でないワンタイムパスワードにも明確なコスト節約効果がある。

まとめると、大量導入時には時刻同期式ワンタイムパスワードはより高価な選択となり、より高価で耐用期間の短いトークンのためのコストは、時刻同期式でないサーバーに対する追加コストを上回るだろう。

ワンタイムパスワードのフィッシングに対する脆弱性

時刻同期式でないワンタイムパスワードはフィッシングに対して脆弱性がある。2005年後半、スウェーデン銀行の複数の顧客が自らのワンタイムパスワードをだまし取られている。しかし、時刻同期式のワンタイムパスワードも、パスワードがすばやく攻撃者に使われてしまえばフィッシングに対して脆弱性はある。このことは、2006年US銀行の顧客に対する攻撃の中で発生した事件で確認されている。

基本的に、こうしたシステムの利用者は、中間者攻撃に対する脆弱性があることを認識し、決してワンタイムパスワードを他者に漏らすべきではない。ワンタイムパスワードが時刻同期方式であるかないかは、脆弱性の程度とは基本的に無関係である。

時刻同期方式とその他の方式の違い

たいていの優れた時刻同期方式ワンタイムパスワード技術は特許対象であり、詳細が一般に公開されておらず、セキュリティ専門家によって理論的に安全性が確認されているわけではない。

このことは、他の二つのワンタイムパスワード方式が一般に安全とされている暗号アルゴリズムに依拠しているのと対照的に、時刻同期ワンタイムパスワードがに依拠していることを示している。ことから、これを回避したい場合には数学アルゴリズム型ワンタイムパスワードはよき代用品となる。

関連技術

たいていの場合、ワンタイムパスワードをソリューションの具現化している。いくつかのシングルサインオンソリューションはワンタイムパスワードを利用している。ワンタイムパスワードは、しばしばセキュリティトークンとともに用いられる。

出題例

ワンタイムパスワードを用いることによって防げることはどれか。
  • 通信経路上におけるパスワードの盗聴
  • 不正侵入された場合の機密ファイルの改ざん
  • 不正プログラムによるウイルス感染
  • 漏えいしたパスワードによる不正侵入

正解

「利用者認証」に属する用語
「情報セキュリティ」の他の分野
「セキュリティ」の他のカテゴリ

クリエイティブ・コモンズ・ライセンス

このページのWikipediaよりの記事は、ウィキペディアの「ワンタイムパスワード」(改訂履歴)の記事を複製、再配布したものにあたり、このページ内の該当部分はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下 に提供されています。

© 2015-2019 情報セキュリティマネジメント試験ドットコム All Rights Reserved.

Pagetop