ワンタイムパスワード(OTP)とは
ワンタイム
パスワード(OTP)は、一度しか使用できない
パスワードのことです。これは、コンピューターアカウントのようなアクセス制限されたリソースへの不正アクセスをより困難にすることを目的としています。従来の固定
パスワードでは、攻撃者が時間をかけて
パスワードを解析し、不正にアクセスするリスクがありました。しかし、ワンタイム
パスワードは、使用ごとに新しい
パスワードを生成するため、このようなリスクを大幅に低減することができます。
ワンタイム
パスワードの主な目的は、固定
パスワードの脆弱性を補強することです。固定
パスワードは、一度漏洩すると、攻撃者に長期間にわたって悪用される可能性があります。一方、ワンタイム
パスワードは、一度使用すると無効になるため、万が一
パスワードが漏洩した場合でも、被害を最小限に抑えることができます。
ワンタイムパスワードの技術的分類
ワンタイム
パスワードには、主に以下の5つのタイプがあります。
1.
数学的アルゴリズムに基づく方式: 古い
パスワードから新しい
パスワードを生成します。
2.
時刻同期型方式: 認証サーバーとクライアント間で時刻を同期させ、
パスワードを生成します。
3.
チャレンジレスポンス型方式: 認証サーバーから与えられたチャレンジ(乱数など)と以前の
パスワードを基に新しい
パスワードを生成します。
4.
トランザクション認証番号(TAN)型方式: 紙に印刷された
パスワードのリストを使用します。
5.
アウトオブバンド方式: 携帯電話などの別の通信経路を使ってワンタイム
パスワードを送信します。
数学的アルゴリズムに基づくワンタイムパスワード
この方式は、
レスリー・ランポートによって考案された一方向性関数を利用しています。初期シード(開始値)を与え、その結果に対して一方向性関数を繰り返し適用することで、必要な数の
パスワードを生成します。生成された
パスワードは、生成順とは逆に使用されます。もしも、
パスワードが漏洩した場合でも、有効期限を設定することで、被害を最小限に抑えることができます。また、一方向性関数を使用しているため、逆関数の算出が困難であり、セキュリティが確保されています。
時刻同期型ワンタイム
パスワードは、ハードウェアトークン(ワンタイム
パスワード生成器)とともに使用されることが多いです。トークン内部には正確な時計が内蔵されており、認証サーバーの時計と同期しています。新しい
パスワードは、
現在の時刻に基づいて生成されます。携帯電話やPDAを利用して時刻同期型ワンタイム
パスワードを生成することも可能であり、コスト効率と利便性に優れています。
チャレンジレスポンス型ワンタイムパスワード
チャレンジレスポンス型ワンタイム
パスワードは、認証サーバーから与えられたチャレンジ(乱数など)に対して、クライアントがレスポンス(回答)を返すことで認証を行います。レスポンスは、チャレンジの内容と
パスワードを基に計算されます。通常、カウンターが組み込まれており、同じチャレンジに対する
パスワードが複数回使用されることを防ぎます。
トランザクション認証番号(TAN)型ワンタイムパスワード
トランザクション認証番号(TAN)は、オンラインバンキングなどで取引を認証するために使用されるワンタイム
パスワードです。銀行から顧客に、ランダムに生成された
パスワードリストが渡され、顧客は取引ごとにリストの中から
パスワードを使用します。使用済みの
パスワードは破棄され、二度と使用することはできません。
SMSを使ったアウトオブバンド方式ワンタイムパスワード
アウトオブバンド方式では、
ショートメッセージサービス(SMS)を使ってワンタイム
パスワードが配信されます。SMSは多くの人が利用しており、低コストで広範囲な顧客に到達できるため、有効な手段です。従来のハードウェアトークンよりもコストが低く、紛失の心配も少ないため、より安全で使いやすい認証方法として注目されています。
各技術の比較
時刻同期型ワンタイム
パスワードには、
パスワードの同期ずれを防ぐことができるという利点があります。一方、時刻同期型以外のワンタイム
パスワードでは、
パスワードを生成しても使わなかったり、ミスタイプしたりすると、クライアントと認証サーバー間で同期がずれ、再発行が必要になることがあります。しかし、時刻同期型でないワンタイム
パスワードは、電池を長持ちさせることができるという利点もあります。
ワンタイムパスワードのフィッシングに対する脆弱性
ワンタイム
パスワードは、フィッシング詐欺に対して完全に安全というわけではありません。攻撃者が
パスワードを詐取し、迅速に利用すれば、認証を突破できてしまう可能性があります。このため、ワンタイム
パスワードを利用する際は、決して他人に
パスワードを漏らさないように注意する必要があります。時刻同期方式であるかどうかは、脆弱性の程度とは直接的な関係はありません。
時刻同期方式とその他の方式の違い
時刻同期型ワンタイム
パスワードは、技術が特許対象であり、詳細が公開されていないものが多いです。このため、セキュリティ専門家による理論的な安全性の確認が困難です。一方、数学的アルゴリズムに基づくワンタイム
パスワードは、公開されている暗号アルゴリズムに基づいており、安全性が確認されています。そのため、難解さに基づくセキュリティよりも、数学的アルゴリズムを基にした方が安全と考える人もいます。
関連技術
ワンタイム
パスワードは、二要素認証ソリューションによく用いられます。また、シングルサインオンソリューションでも利用されることがあります。セキュリティトークンと組み合わせて使用されることも多いです。
まとめ
ワンタイム
パスワードは、従来の
パスワード認証の脆弱性を補強するための重要な技術です。様々な方式があり、それぞれの特性を理解し、用途や環境に合わせて適切なものを選ぶ必要があります。また、フィッシング詐欺などの脅威に対しては、利用者が十分に注意することも重要です。