(57)【要約】      （修正有）【課題】ユーザ端末及び認証サーバを備える通信システムにおいて、改良されたユーザを認証する方法を提供する。【解決手段】認証サーバは２種類のｎｏｎｃｅ値、すなわちシステムにおいて一意の専用ｎｏｎｃｅ値及びシステム内のユーザ間で共有される共通ｎｏｎｃｅ値を記憶することができる。認証サーバが、ユーザ端末からアクセス要求を受信する。次に、認証サーバが、アクセス要求への応答としてユーザ端末に送信すべき第１のｎｏｎｃｅ値の種類を判断するために所与の基準を使用する。所与の基準が満たされる場合には専用ｎｏｎｃｅ値が送信され、満たされない場合には共通ｎｏｎｃｅ値が送信される。次に、認証サーバは、第２のｎｏｎｃｅ値及び第１のｎｏｎｃｅ値に対する応答コードを含む応答をユーザ端末から受信する。次に、認証サーバは、応答コードが正しいか否か、及び第２のｎｏｎｃｅ値が第１のｎｏｎｃｅ値に対応するか否かを判断する。【選択図】図４
2008252879.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末（２０１）及び認証サーバ（２０２）を備える通信システムにおいてユーザを認証する方法であって、前記認証サーバは、前記システムにおいて一意の専用ｎｏｎｃｅ値及び定まった期間中一定の値をとり前記認証サーバ（２０２）により管理される全てのユーザに共通である共通ｎｏｎｃｅ値を含む２種類のｎｏｎｃｅ値を記憶することができ、前記ユーザを認証する方法は、前記認証サーバ（２０２）により実行される、
前記ユーザ端末（２０１）からアクセス要求を受信するステップ（３０１、４０１）と、
前記アクセス要求への応答として前記ユーザ端末（２０１）に送信すべき第１のｎｏｎｃｅ値の種類を判断するために所与の基準を使用するステップ（６０５）であって、前記所与の基準が満たされる場合には前記専用ｎｏｎｃｅ値を送信し、満たされない場合には前記共通ｎｏｎｃｅ値を送信する、所与の基準を使用するステップと、
前記ユーザ端末（２０１）から応答を受信するステップ（３０３、４０３）であって、前記応答は第２のｎｏｎｃｅ値及び前記認証サーバ（２０２）により送信されるｎｏｎｃｅ値への応答コードを含む、受信するステップと、
前記応答コードが正しいか否か、及び前記第２のｎｏｎｃｅ値が前記認証サーバ（２０２）により送信された前記第１のｎｏｎｃｅ値に対応するか否かを判断するステップと
を含む、ユーザを認証する方法。
【請求項２】
前記所与の基準は、
前記認証サーバ（２０２）が前記専用ｎｏｎｃｅ値を生成すること（６０３）、
前記生成された専用ｎｏｎｃｅ値のメモリロケーションを求めること（６０４）、及び
前記メモリロケーションが空いている場合、前記所与の基準が満たされると結論づけること
を含む、請求項１に記載の方法。
【請求項３】
前記専用ｎｏｎｃｅ値は、前記認証サーバ（２０２）によりランダムに生成される、請求項２に記載の方法。
【請求項４】
前記所与の基準は、
単位時間内で受信した前記アクセス要求数を求めること、及び
前記単位時間内で受信した前記アクセス要求数が所定の閾値未満の場合、前記所与の基準が満たされると結論づけること
を含む、請求項１に記載の方法。
【請求項５】
前記応答コードは、前記認証サーバ（２０２）から受信される前記ｎｏｎｃｅ値並びに前記ユーザのパスワード及びユーザ名に基づいて、前記ユーザ端末（２０１）により計算される、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記所与の基準が満たされる場合、前記専用ｎｏｎｃｅ値への前記応答コードが正しく且つ前記第２のｎｏｎｃｅ値が前記第１のｎｏｎｃｅ値に対応すると判断された後、前記アクセス要求をサーバ（２０３）に転送すること（３０４）をさらに含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記応答コードが正しくない、又は前記第２のｎｏｎｃｅ値が前記第１のｎｏｎｃｅ値に対応しないと判断される場合、前記アクセス要求を拒絶すること（６１２、６４２）をさらに含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記所与の基準が満たされる場合、
前記専用ｎｏｎｃｅ値はテーブルに記憶され、
前記テーブル内でのメモリロケーションは、前記ユーザ端末（２０１）のインターネットプロトコルソースアドレス、前記ユーザ端末（２０１）のユーザデータグラムプロトコルソースポート、及び前記専用ｎｏｎｃｅ値を使用することによりインデックス付けされる、
請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記所与の基準が満たされない場合、前記共通ｎｏｎｃｅ値への前記応答コードが正しく且つ前記第２のｎｏｎｃｅ値が前記第１のｎｏｎｃｅ値に対応すると判断された後、
前記専用ｎｏｎｃｅ値を生成すること、
前記生成された専用ｎｏｎｃｅ値を前記ユーザ端末（２０１）に送信すること（４０４）、
前記ユーザ端末（２０１）から第２の応答コードを受信すること（４０５）、
前記第２の応答コードが正しいことを検証すること、及び
前記アクセス要求を前記サーバ（２０３）に転送すること（４０６）
をさらに含む、請求項１〜５又は７のいずれか１項に記載の方法。
【請求項１０】
前記所与の基準が満たされない場合、前記共通ｎｏｎｃｅ値への前記応答コードが正しく且つ前記第２のｎｏｎｃｅ値が前記第１のｎｏｎｃｅ値に対応すると判断された後、
前記専用ｎｏｎｃｅ値はテーブルに記憶され、
前記テーブル内でのメモリロケーションは、前記ユーザ端末（２０１）のユーザ名を使用することによりインデックス付けされる、
請求項１〜５、７、又は９のいずれか１項に記載の方法。
【請求項１１】
前記テーブル内での前記メモリロケーションにインデックス付けする方法に関わりなく、単一のテーブルが使用される、請求項８又は１０に記載の方法。
【請求項１２】
前記共通ｎｏｎｃｅ値及び前記専用ｎｏｎｃｅ値は有効期限を有する、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記テーブルの特定のメモリロケーション内のそれぞれのエントリには優先ビット、認証ビット、及びタイムスタンプが関連付けられ、
前記優先ビットがセットされていない場合、
前記認証ビットにより対応する前記要求が既に承認されていることが示される場合、又は
前記タイムスタンプにより現在の前記エントリがもはや有効ではないことが示される場合、
前記それぞれのエントリは新しいｎｏｎｃｅ値で上書きすることができる、請求項８、１０、又は１１に記載の方法。
【請求項１４】
前記優先ビットは、前記共通ｎｏｎｃｅ値への前記応答コードが正しいと判断され且つ前記第２のｎｏｎｃｅ値が前記第１のｎｏｎｃｅ値に対応すると判断されている場合にセットされ、その他の場合はセットされない、請求項１３に記載の方法。
【請求項１５】
前記認証ビットは、前記アクセス要求がサーバ（２０３）に転送されている場合にセットされ、転送されていない場合にセットされない、請求項１３に記載の方法。
【請求項１６】
前記認証サーバ（２０２）のコンピュータ手段にロードされて実行されると、請求項１〜１５のいずれか１項に記載の方法のステップを実施する命令を含むコンピュータプログラム製品。
【請求項１７】
通信システムにおいてユーザ端末（２０１）を認証する装置であって、前記装置は、前記システムにおいて一意の専用ｎｏｎｃｅ値及び定まった期間中一定の値をとり前記装置により管理される全てのユーザに共通である共通ｎｏｎｃｅ値を含む２種類のｎｏｎｃｅ値を記憶することができ、前記装置は、
前記ユーザ端末からメッセージを受信する受信機と、
前記ユーザ端末（２０１）からのアクセス要求への応答として前記ユーザ端末（２０１）に送信すべき第１のｎｏｎｃｅ値の種類を判断するために所与の基準を使用するプロセッサであって、前記所与の基準が満たされる場合には前記専用ｎｏｎｃｅ値を送信するように構成され、満たされない場合には前記共通ｎｏｎｃｅ値を送信するように構成され、さらに、前記第１のｎｏｎｃｅ値への応答として前記ユーザ端末（２０１）から受信される第２のｎｏｎｃｅ値及び応答コードを含む応答が正しいか否かを判断するように構成される、プロセッサと
を備える、ユーザ端末（２０１）を認証する装置。
【請求項１８】
前記共通ｎｏｎｃｅ値及び前記専用ｎｏｎｃｅ値を記憶するように構成されるメモリをさらに備える、請求項１７に記載の装置。
【請求項１９】
前記ユーザ端末（２０１）を認証する認証サーバであって、請求項１７又は１８に記載の装置を備える、認証サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムにおいてユーザを認証する方法に関する。特に、本発明は、例えばリクエストフォーコメント（ＲＦＣ）２６１７に規定されるようなダイジェスト認証方式に基づく改良された認証方法に関する。
【背景技術】
【０００２】
ダイジェスト認証方式は、セッション確立プロトコル（ＳＩＰ）において、ボイスオーバインターネットプロトコル（ＶｏＩＰ）ユーザの認証(credential)をネゴシエートするために使用される。これは、元々はハイパーテキスト転送プロトコル（ＨＴＴＰ）に向けて設計され、ＲＦＣ２６１７において規定されたものである。ユーザを認証し、制限付きウェブエリアへのアクセスを提供するためにインターネットにおいて広く使用されている。
【０００３】
以下の説明は、クライアントコンピュータがダイジェスト認証方式に従ってサーバへのアクセスを要求する状況の一例である。典型的なトランザクションは以下のステップから成る。
−  クライアントが、認証が必要なページを要求する。ただし、ユーザ名及びパスワードを提供することはしない。通常、これはユーザが単にアドレスを入力しただけか、又はページへのリンクを辿っただけだからである。
−  サーバがいわゆる「４０１」レスポンスコードで応答し、認証領域(authentication realm)及びｎｏｎｃｅと呼ばれるランダムに生成され１回限り使用される値を提供する。ｒｅａｌｍは、ユーザに表示される文字列であり、ユーザにどのユーザ名及びパスワードを使用するべきかを知らせる。この文字列は、通常少なくとも認証を行うホストの名称を含み、さらに、アクセスすることができるユーザのコレクションを含むことができる。ｎｏｎｃｅは、４０１レスポンスが生成される都度、一意に生成されるべきサーバにより規定されるデータ文字列である。
−  この時点で、クライアントが認証領域をユーザに提示し、ユーザ名及びパスワードの入力を促す。この時点で、ユーザはキャンセルすることを決定することができる。
−  ユーザ名及びパスワードが供給されると、クライアントは同じ要求を再送信するが、応答コード(response code)及びｎｏｎｃｅを含む認証ヘッダを追加する。基本的には、応答コードは、提供されたｎｏｎｃｅ、ユーザ名、及びパスワードからクライアントにより計算されるハッシュ値である。
−  サーバは、返された応答コードをチェックし、認証を受け入れ、要求されたウェブページが返される。応答コードが正しくない場合、サーバは「４０１」レスポンスコードを返すことができ、クライアントはユーザに再び入力を促し、応答を再び送信する。
【０００４】
この方式はステートレスに実施することができる。ステートレスとは、サーバが、ユーザ応答が正しいか否かを判断するために、認証方式に関連するいかなる情報も記憶する必要がないことを意味する。しかしながら、ＨＴＴＰが伝送制御プロトコル（ＴＣＰ）を介して送られる場合、ＴＣＰコンテキストが新しい各接続に割り振られるため、実施は完全にステートレスなわけではない。
【０００５】
ダイジェスト認証方式は試行回数を制限しない。応答コードが正しくない場合、サーバはその都度常に、新しいｎｏｎｃｅ値と共に４０１メッセージを返す。
【０００６】
ＳＩＰプロトコルへのダイジェスト認証方式の適用が、ＲＦＣ３２６１に記載されている。ＲＦＣ２６１７に規定されるプロトコルを変更しない、幾つかの小さな変更が適用されている。しかしながら、ＳＩＰはユーザデータグラムプロトコル（ＵＤＰ）を介して送られるため、ダイジェスト認証方式を完全にステートレスに実施することができる。この認証の方法は、ＳＩＰクライアント及びサーバの実施態様の大半でサポートされている。
【０００７】
この方式は主に、ＲＥＧＩＳＴＥＲメッセージ及びＩＮＶＩＴＥメッセージを認証するためにＳＩＰにおいて使用される。しかしながら、ＳＵＢＳＣＲＩＢＥ等の他の種類のメッセージもこの方式を使用することにより認証することができる。
【０００８】
図１は、認証が成功する場合の典型的なＳＩＰ登録シーケンスを示す。ステップ１０１において、クライアントがＲＥＧＩＳＴＥＲ又は単にＲＥＧとも呼ばれる登録開始メッセージをサーバに送信する。次にステップ１０２において、サーバは、ｎｏｎｃｅ値と共に「４０１」レスポンスメッセージを返す。このメッセージはチャレンジと呼ばれる。これを受信すると、クライアントは応答(response)を計算し、ステップ１０３において、新しいＲＥＧＩＳＴＥＲメッセージをサーバに送信する。メッセージは、応答コード値及びステップ１０２においてサーバが送信したｎｏｎｃｅ値と同一に保たれるｎｏｎｃｅ値を含む。このメッセージはＲＥＧ−Ａとも呼ばれる。サーバはＲＥＧ−Ａメッセージを受信すると応答をチェックし、ステップ１０４において「２００」ＯＫメッセージをクライアントに送信して登録が成功したことを通知する。
【０００９】
ダイジェスト認証方式は、総当たり攻撃に対してロバストである。ユーザ名及びチャレンジ応答からパスワードを再発見することは困難である。しかしながら、それでも幾つかの攻撃が可能である。
【００１０】
第１の種類の攻撃はメッセージフラッド（message flooding）である。この攻撃を選択する場合、攻撃者は、サーバ資源を使い果して他の全ユーザに対してサービス拒否（ＤｏＳ）の状態にすることを欲する。攻撃元を隠蔽するために、攻撃者はスプーフィングされたＩＰアドレスを使用することができる。これは、基本的なＩＰアドレスフィルタリングを適用してサーバをフラッドから守ることを阻止する。
【００１１】
登録開始メッセージフラッドは、必要なものは有効なユーザ名のみであるため、誰でも発行することができる。情報（場合によっては、ディレクトリが公開されている）を収集した攻撃者は、この非常に基本的な攻撃を成し遂げることができる。認証の実行に使用されるアルゴリズムは、システムが攻撃されている間、有効なユーザ（すなわち、チャレンジを解決することができるユーザ）が自身を登録することを妨げてはならない。
【００１２】
認証登録（ＲＥＧ−Ａ）メッセージフラッドは、サーバにより提示されたチャレンジを解決するためにユーザのパスワードを知る必要がある。また、攻撃しているマシン内の返信メッセージを解析してｎｏｎｃｅを得る必要もある。これは、ＩＰアドレスのスプーフィングを防ぐ。しかしながら、大半のＳＩＰ登録サーバでは、ｎｏｎｃｅ値はゆっくりと更新されるため、ｎｏｎｃｅ値を何人かの攻撃者間で共有することができ、ＩＰスプーフィングがやはり可能である。認証アルゴリズムは、この種の攻撃が健全なユーザ、すなわちパスワードが秘密に保たれているユーザの認証を妨げてはならないことに注意を払う必要がある。
【００１３】
第２の種類の攻撃は中間者攻撃であり、より厳密にはリプレイ攻撃である。これは、認証サーバ内のｎｏｎｃｅ値の変更が遅い可能性があることを利用して、同じｎｏｎｃｅ値及び応答(response)値を使用してＲＥＧ−Ａメッセージを返信することから成る。攻撃が成功した場合、サーバは正当なユーザと同じ信用を与え、攻撃者は被害者に課金されるサービスを自由に使用することができる。
【００１４】
ダイジェスト認証方式は、ＳＩＰ登録サーバにおいて幾つかの方法で実施することができる。実際、ＲＦＣ２６１７は、認証サーバがどのようにｎｏｎｃｅを選択するべきかを示していない。
【００１５】
第１の方法はステートレス手法に基づく。ｎｏｎｃｅは所与の期間中に生成され、この時間中、全ユーザによって使用される。この方法は、資源消費の観点からは効率的であるが、ｎｏｎｃｅが一定のままである間に幾つかのリプレイ攻撃が可能である。
【００１６】
第２の方法はステートフル手法に基づく。新たに入力されたあらゆる要求毎に固有のｎｏｎｃｅが生成される。これは、新たに開かれたダイアログに関連付けられるコンテキストに記憶され、そのダイアログが終了されるまで保持される。主な問題は、特にＳＩＰサーバがフラッド攻撃されているときに、相当なメモリ資源が消費されることである。コンテキストを解放するために「コンテキストコレクタ（context collector）」も実施しなければならないが、ＳＩＰではタイマ値が長い（最長で２分）ため、コレクタはあまり効率的には成り得ない。
【００１７】
第３の方法は、受信する要求毎に、その要求の実際の情報（sensible information）を考慮して、固有のｎｏｎｃｅを生成することを提案する。この情報は、ＲＥＧメッセージ及びＲＥＧ−Ａメッセージで同一に保たれる。ＳＩＰ登録メッセージの場合、これは例えば、コンタクトフィールドと成り得る。この方法は、サーバをリプレイ攻撃から保護する。この方法の主な欠点は、ｎｏｎｃｅ生成が、処理されるメッセージの種類に依存し、サーバが実行する処理から独立にできないことである。さらに、この方法では、実際の情報を得るために深いメッセージ構文解析が必要である。この動作は多くの中央演算処理装置（ＣＰＵ）の資源を消費し、そのため、このメカニズムはＲＥＧメッセージフラッドに対して脆弱である。
【００１８】
BEA Systems Inc.による米国特許出願公開第２００６／０１８４６８１号には、装置通信にリアルタイム双方向通信レイヤを提供する企業装置用のコンピュータアーキテクチャが開示されている。ＩＤベースの通信レイヤが、装置と企業との間の相互認証及び暗号化を可能にすることにより、安全なエンドツーエンドテレメトリ及び通信制御を提供する。一意のＩＤが各装置、ユーザ、及びアプリケーションに割り当てられて、セキュリティサービスが提供される。一意のＩＤはネットワークアドレスから独立している。セキュリティ情報及びネットワークアドレスを一意のＩＤに関連付けることができる。また、ｎｏｎｃｅチャレンジに基づく認証方法も開示されている。
【００１９】
【特許文献１】米国特許出願公開第２００６／０１８４６８１号
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は、上記攻撃に対する脆弱性がより低い改良されたダイジェスト認証方法を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明の第一の態様によれば、ユーザ端末及び認証サーバを備える通信システムにおいてユーザを認証する方法であって、認証サーバは、システムにおいて一意の専用ｎｏｎｃｅ値及び定まった期間中一定の値をとり当該認証サーバにより管理される全てのユーザに共通である共通ｎｏｎｃｅ値を含む２種類のｎｏｎｃｅ値を記憶することができる、ユーザを認証する方法が提案される。当該ユーザを認証する方法は、認証サーバにより実行される、
−  ユーザ端末からアクセス要求を受信するステップと、
−  アクセス要求への応答としてユーザ端末に送信すべき第１のｎｏｎｃｅ値の種類を判断するために所与の基準を使用するステップと、
−  基準が満たされる場合には専用ｎｏｎｃｅ値のうちの１つを送信し、満たされない場合には共通ｎｏｎｃｅ値のうちの１つを送信するステップと、
−  第１のｎｏｎｃｅをメモリに記憶するステップと、
−  ユーザ端末から応答を受信するステップであって、当該応答は第２のｎｏｎｃｅ値及びｎｏｎｃｅ値への応答コードを含む、受信するステップと、
−  応答コードが正しいか否か、及び第２のｎｏｎｃｅ値が認証サーバにより送信された第１のｎｏｎｃｅ値に対応するか否かを判断するステップと
を含む。
【００２２】
従って、本発明は、ダイジェスト認証をサポートするあらゆるＳＩＰクライアントに対応するｎｏｎｃｅ値を生成してチェックするメカニズムを提案する。本発明の主な利点は、認証サーバを以下の攻撃から保護できることである。
−  登録開始（ＲＥＧ）メッセージフラッド又は認証登録（ＲＥＧ−Ａ）メッセージフラッドによるグローバルＤｏＳ、
−  １組のユーザに対するＤｏＳ、これは何人かのターゲットユーザがサービスへアクセスすることを阻止する、及び
−  リプレイ攻撃
【００２３】
さらに、提案するメカニズムはＩＰアドレススプーフィングに対処することができ、ネットワークアドレス変換（ＮＡＴ）に対してトランスペアレントである。
【００２４】
本発明の第２の態様によれば、認証サーバのコンピュータ手段にロードされて実行されると、第一の態様による方法を実施する命令を含むコンピュータプログラム製品がさらに提供される。
【００２５】
本発明の第３の態様によれば、通信システムにおいてユーザ端末を認証する装置であって、当該装置は、システムにおいて一意の専用ｎｏｎｃｅ値及び定まった期間中一定の値をとり当該装置により管理されるすべてのユーザに共通である共通ｎｏｎｃｅ値を含む２種類のｎｏｎｃｅ値を記憶することができ、当該装置は、
−  ユーザ端末から、アクセス要求及び応答コード等のメッセージを受信する受信機と、
−  ユーザ端末からのアクセス要求への応答としてユーザ端末に送信すべき第１のｎｏｎｃｅ値の種類を判断するために所与の基準を使用するプロセッサであって、所与の基準が満たされる場合には専用ｎｏｎｃｅ値のうちの少なくとも１つを送信するように構成され、満たされない場合には共通ｎｏｎｃｅ値のうちの少なくとも１つを送信するように構成され、さらに、ｎｏｎｃｅ値への応答としてユーザ端末から受信される第２のｎｏｎｃｅ値及び応答コードを含む応答が正しいか否かを判断するように構成される、プロセッサと
を備える、装置が提供される。
【００２６】
本発明の他の特徴及び利点が、添付図面を参照して、非限定的で例示的な実施形態の以下の説明から明らかになろう。
【発明を実施するための最良の形態】
【００２７】
本発明のいくつかの実施形態について、添付図面を参照してより詳細にこれより説明する。以下の説明では、本発明の実施形態はＲＥＧＩＳＴＥＲメッセージ及びＳＩＰ登録サーバの文脈の中で説明されるが、本発明は、ダイジェスト認証及びＳＩＰ又はＵＤＰ等のコネクションレスプロトコルを利用するあらゆるシステムに同等に適用することが可能である。
【００２８】
図２は、この教示を適用することができる一環境を示す。図２にはクライアント装置２０１が示される。この場合では、クライアント装置２０１はデスクトップコンピュータである。これは同様に、他のネットワーク要素にアクセスすることができる任意の他の装置であってもよい。以下の説明では、提案される認証方法は、ＳＩＰサーバ２０３の前にある装置又は論理モジュールで実施される。この装置は認証フィルタ２０２と呼ばれる。認証フィルタ２０２は、要求を認証する役割、及び認証セキュリティを強化し且つＳＩＰサーバ２０３での認証処理のコストを低減するために、認証された要求のみをＳＩＰサーバ２０３に転送する役割を担う。これは、サーバ２０３がフラッド攻撃に直面する場合に特に重要である。このため、認証フィルタ２０２は入力されるＳＩＰトラフィックのフィルタとみなすことができ、ＳＩＰサーバ２０３とは異なる場所に配置された物理的なサーバとすることができる。別法として、認証フィルタ２０２は単にソフトウェアで実施してもよく、ＳＩＰサーバ２０３に物理的に統合される。さらに、提案する方法は、サーバ２０３で実行される処理から独立している。
【００２９】
提案する方法は、背景の項で述べた第１のｎｏｎｃｅ生成方法及び第２のｎｏｎｃｅ生成方法の両方を混合する。図３を参照すると、クライアント２０１がまず、ステップ３０１において、ＲＥＧメッセージを認証フィルタ２０２に送信する。システムが攻撃されていない間は、ＲＥＧメッセージが受信されると、専用ｎｏｎｃｅ  Ｎｄが生成される。同じ方法で、ｎｏｎｃｅ  Ｎｄが新しいあらゆる入力要求毎に割り当てられる。次に、ステップ３０２において、Ｎｄ値がクライアント２０１に送信される。ステップ３０３において、クライアント２０１はこれに応答して、ＲＥＧ−Ａメッセージを送信する。ここで、認証フィルタ２０２は返されたＮｄ値と生成した元のＮｄ値とを比較することができる。認証フィルタ２０２は、ＲＥＧメッセージを受信すると、少なくともＲＥＧ−Ａメッセージを受信するまで、生成したＮｄ値をテーブルに一時的に記憶する。認証が成功した場合、ステップ３０４において、認証フィルタ２０２はＲＥＧメッセージをサーバ２０３に転送する。このフィルタリングシーケンスは簡易認証方法(simple authentication method)と呼ばれる。
【００３０】
図４は、システムが処理する要求数が大きすぎる、すなわち、システムが攻撃下にあり、Ｎｄ値を記憶するメモリ空間を取得することができない状況を説明している。この場合、共通ｎｏｎｃｅ  Ｎｃが使用され、認証フィルタ２０２により「４０１」メッセージにおいて応答される。ステップ４０１において、クライアント２０１はＲＥＧメッセージを認証フィルタ２０２に送信する。認証フィルタ２０２は、メッセージを受信すると、Ｎｄ  ｎｏｎｃｅ値を作成し、この値のためのメモリ空間があるか否かをチェックする。無い場合には、Ｎｃと呼ばれる共通ｎｏｎｃｅ値を使用し、ステップ４０２において、この値を「４０１」メッセージでクライアントに送信する。実際には、Ｎｃに基づくチャレンジの解決により、クライアントがフラッド攻撃者ではないことが証明される。クライアント２０１はこれに応答して、ステップ４０３において、Ｎｃ値及び算出した応答ハッシュ値を含むＲＥＧ−Ａメッセージを送信する。次に、認証フィルタ２０２は、返されたＮｃ値及び応答(response)が正しいか否かを検証する。このステップは事前認証(pre-authentication)と呼ばれる。
【００３１】
クライアント２０１が共通ｎｏｎｃｅに基づいてチャレンジを解決した場合、専用ｎｏｎｃｅ  Ｎｄが生成され、認証フィルタ２０２のメモリ空間に保存される。ステップ４０４において、認証フィルタ２０２により、Ｎｄ  ｎｏｎｃｅと共に「４０１」メッセージが返送される。従って、システムはステップ４０４において送信される要求により高い信用を与えることができ、好ましくは、Ｎｄ値を記憶するためのメモリ空間を割り当てることができる。次に、ステップ４０５において、クライアント２０１は第２のＲＥＧ−Ａメッセージを認証フィルタ２０２に送信する。今回のＲＥＧ−Ａメッセージは、Ｎｄ値を含むと共に対応する応答ハッシュ値も含む。最後に、認証フィルタ２０２はクライアントにより送信された情報が正しいことを検証し、ステップ４０６において、ＲＥＧメッセージをサーバ２０３に送信する。このフィルタリングシーケンスは二重認証方法(double authentication method)と呼ばれる。
【００３２】
二重認証方法は、２種類のｎｏｎｃｅ値、すなわち定まった期間、例えば１秒間にわたって一定であり、認証フィルタ２０２により管理される全ユーザに共通である共通ｎｏｎｃｅ  Ｎｃ値、及びユーザ名等のプライベートＩＤ又はエンドポイント（例えばデュプレット(duplet)ＩＰソースアドレス／ＵＤＰソースポート）に固有の幾つかの専用ｎｏｎｃｅ値Ｎｄを使用する。両方のｎｏｎｃｅ値はランダムに生成され、その都度異なる値をとると仮定することができる。Ｎｃは、Ｎｃの正当性を評価するために受信ＲＥＧ−Ａメッセージと比較される単一のグローバル値を使用して認証フィルタ２０２に保持される。
【００３３】
Ｎｄテーブルと呼ばれる単一のテーブルが、簡易認証方法及び二重認証方法の両方においてＮｄ値を記憶するために使用される。Ｎｄテーブルは、例えばハッシュテーブルとすることができる。しかしながら、先に説明したように、二重認証手順の幾つかの要求に割り当てられるＮｄ値は、簡易認証方法のそれよりも高い信用を有する。従って、Ｎｄテーブルが使用するメモリの管理のために、二重認証手順の要求には優先権が与えられる。特に、メモリが不足している場合、簡易認証方法の要求に使用されているメモリの一部を、二重認証手順の要求に再割り当てすることができる。
【００３４】
Ｎｄテーブル内でのメモリロケーションは、認証方法の種類に従って異なる方法でインデックス付けされる。インデックス付けは、ＲＥＧ−Ａメッセージを受信した時に、Ｎｄテーブルに記憶されているＮｄ値を検索するために使用される。二重認証方法では、ステップ４０３の終了時において、クライアントがＮｃ値に基づいてチャレンジを解決したばかりであるため、システムはユーザ名を識別している。従って、ユーザ名を安全に使用して、Ｎｄテーブルにインデックス付けすることができる。反対に、簡易認証手順では、ユーザ名が、ＲＥＧメッセージにおいて特定されないか、又は安全に識別されない。そのため、ＩＰアドレス、ＵＤＰソースポート、及び生成されたｎｏｎｃｅ  Ｎｄ値がＮｄテーブルのインデックス付けに使用される。
【００３５】
ユーザ名に基づくインデックス付けは、攻撃者がたった１つの有効なユーザ名を使用してＮｄテーブルを埋めることを防ぐ。実際には、同一のレコードが、単一の識別されたユーザにより送信される全ての要求に使用される。この特徴は、二重認証方法の要求に優先権が適用されるため、特に重要である。攻撃検出及び両手順間の切り替えは、Ｎｄテーブル内での衝突(collision)の検出により引き起こされる。
【００３６】
専用ｎｏｎｃｅは有効期限(time-limited validity)を有する。期限が切れると、記憶されているｎｏｎｃｅを削除することができ、このｎｏｎｃｅを伝えるそれ以降のメッセージは無効とみなされる。
【００３７】
ユーザ名によりインデックス付けされるｎｏｎｃｅ値、すなわち二重認証方法の場合、専用ｎｏｎｃｅ値は、チャレンジが解決されるか、又は有効性が切れるまで変更することができない。この特徴は、攻撃者が特定のユーザに対してＤｏＳ攻撃を仕掛けるのを防ぐ。実際、もし仮に、新しい要求を受信する度に専用ｎｏｎｃｅ値が変更されるとしたら、攻撃者は、正当なターゲットユーザがチャレンジを解決する前に、認証フィルタ２０２にｎｏｎｃｅ値を絶えず変更させるように強制することができてしまう。
【００３８】
認証が成功すると、要求はサーバ２０３に転送され、処理される。認証フィルタ２０２が、同一のＮｄ  ｎｏｎｃｅ値及び正しいチャレンジ応答を有する要求を繰り返し受信する場合には、そのメッセージは転送されず、異なるＮｄ  ｎｏｎｃｅが生成されて、その要求に割り当てられる。次に、この新しいｎｏｎｃｅ値を有する「４０１」メッセージがクライアント２０１に返される。これは、ＵＤＰを介したＳＩＰプロトコルの反復メカニズムを乱すが、攻撃者によるリプレイ攻撃を防ぐ。
【００３９】
優先権は二重認証方法の要求に付与される。これは、優先ビットがＮｄテーブルの各レコード又はエントリに付加されることによる。簡易認証方法の場合、優先ビットはセットされない。衝突が発生する場合、レコードは変更されず、Ｎｃ  ｎｏｎｃｅ値が使用される。その結果、システムはその要求のみに対して二重認証手順に切り替わる。二重認証手順の場合、優先ビットがセットされる。衝突の場合、使用されているレコードの優先ビットがセットされていなければ、レコードは上書きされる。その他の場合には、レコードは変更されず、クライアント２０１へのチャレンジのための返信「４０１」メッセージには、記憶されているＮｄ値が使用される。
【００４０】
両方の認証方法において、チャレンジが解決される場合、Ｎｄテーブルの各レコードに付加される認証ビットＡを使用することにより専用ｎｏｎｃｅ  Ｎｄに印が付けられる。
【００４１】
認証フィルタ２０２がチャレンジ応答をチェックした結果が肯定であり、且つＡビットが既にセットされている場合、メッセージはサーバ２０３に転送されないが、新しい専用ｎｏｎｃｅが生成される。これはリプレイ攻撃を防ぐ。新しいｎｏｎｃｅ値ＮｄをＮｄテーブルに書き込む際に、Ａビットがセットされているレコードで衝突が発生する場合、レコードは新しいＮｄ値で上書きされる。
【００４２】
時間情報が各レコードに付加され、専用ｎｏｎｃｅの作成時刻を示す。時間情報がレコードに記憶されるので、記憶されている専用ｎｏｎｃｅ  Ｎｄの有効期限が切れているか否かを検討することにより、古すぎるｎｏｎｃｅを有するレコードを上書きすることができる。
【００４３】
ｎｏｎｃｅ値Ｎｄは、２つの異なるハッシュ関数を使用してインデックス付けされるＮｄテーブルに記憶される。第１の関数Ｈ１は簡易認証方法に使用され、クライアントのＩＰアドレス、ＵＤＰクライアントポート、及びＮｄそれ自身から計算される。認証フィルタ２０２がＲＥＧメッセージを受信した場合、Ｈ１を使用して新しいエントリをテーブルに追加することができる。
【００４４】
第２の関数Ｈ２は二重認証方法に使用され、ユーザ名から計算される。共通ｎｏｎｃｅ  Ｎｃ及び有効な応答(response)を有するＲＥＧ−Ａメッセージを受信した場合、Ｈ２を使用して新しいエントリがテーブルに追加される。Ｈ１及びＨ２は、テーブルに新しい専用ｎｏｎｃｅ値を書き込むために、又はＲＥＧ−Ａメッセージに含まれるｎｏｎｃｅが正当であるかを検証するために使用される。
【００４５】
Ｎｄテーブルのインデックス付けは、Ｈ１ハッシュ関数及びＨ２ハッシュ関数の性質により一様に分布する。理想的には、Ｈ１及びＨ２はランダムで一様な出力を有し、両者は独立している。Ｈ１及びＨ２が独立し且つランダムであれば、Ｎｄテーブル内の衝突率は、テーブルのインデックス付けに使用される異なるハッシュ関数の数に依存しない。従って、２つの異なるハッシュ関数が、ハッシュ関数の性質を変更することなくＮｄテーブルにアクセスすることができる。
【００４６】
以下のテーブルに上述した情報をまとめる。
【００４７】
【表１】
2008252879.tif 000003
【００４８】
Ｎｄテーブル内の各レコードは以下の情報を含む。
−  有効性ビット（Ｖ）：レコードが使用されているか否かを示す
−  優先ビット（Ｐ）：レコードの優先権を示す
−  認証ビット（Ａ）：認証が成功したか否かを示す
−  専用ｎｏｎｃｅ値（Ｎｄ）
−  タイムスタンプ値：レコード挿入日を示し、レコードが古すぎるので上書き可能であるか否かを判断するために使用される
【００４９】
高い優先権、すなわちＰ＝１を有するレコードは、Ａがセットされている場合又は有効期限が切れている場合を除き、上書きすることはできない。低い優先権、すなわちＰ＝０を有するレコードは、事前認証が成功した場合（二重認証方法）に上書きすることができる。タイムスタンプは、レコード挿入日を示す代わりに、レコードの有効性失効日を示すこともできる。
【００５０】
図５は、Ｎｄテーブルの一例を示す。この場合、テーブル内に２つのレコードしかないため、システムの負担は僅かでしかない。見て取れるように、各エントリにおいて、Ｖビットは１にセットされ、対象であるメモリロケーションが専有されていることを示す。さらに、２番目のレコードの場合、認証ビットも１にセットされている。これは、クライアントによる対応する要求がすでに承認されている、すなわち正しいと検証されているため、このメモリロケーションを上書きしてもよいことを意味する。
【００５１】
次に、クライアント２０１からの要求が受信されてから認証プロセスが終了するまでの、本発明の一実施形態によるプロセスを説明するフローチャートを示す図６ａを参照する。まず、ステップ６０１において、認証フィルタ２０２がアクセス要求メッセージを受信する。この場合では、アクセス要求メッセージは、ＲＥＧメッセージ又はＲＥＧ−Ａメッセージのいずれかである。メッセージを受信すると、ステップ６０２において、認証フィールドがあることを利用してメッセージの種類を判断する。すなわち、受信メッセージがＲＥＧメッセージであるか、それともＲＥＧ−Ａメッセージであるかを判断する。
【００５２】
受信メッセージがＲＥＧメッセージである場合、ステップ６０３において、専用ｎｏｎｃｅ値Ｎｄが生成される。これは図３及び図４のフィルタ２０２が要求を受信する（それぞれ３０１及び４０１）状況に対応する。Ｎｄ値は、新しいＲＥＧメッセージが受信される度に生成される。次にステップ６０４において、Ｈ１関数を使用して、このＮｄ値のＮｄテーブル内でのメモリロケーションを計算する。次にステップ６０５において、Ｈ１関数を使用することにより算出されたメモリロケーションとテーブル内のレコードとの間に衝突があるか否かが判断される。これは、Ｈ１関数によりインデックス付けされたレコードにおいて、Ｖ＝０又はＡ＝１という条件が満たされるか否かを判定することにより行うことができる。これらの条件のうちの一方が満たされる場合、テーブル内での衝突はない。テーブル内での衝突がない場合、ステップ６０６において、Ｎｄ値は「４０１」メッセージでクライアントに送信される。これはステップ３０２に対応する。ステップ６０７において、Ａビット及びＰビットが０にセットされ、Ｖビットが１にセットされるようにレコードが更新される。換言すれば、レコードに低い優先権が書き込まれ、このメモリロケーションが使用されており、認証がまだ成功していないことを示す。衝突がある場合、すなわち条件Ｖ＝０又はＡ＝１が満たされない場合、共通ｎｏｎｃｅ値Ｎｃが使用され、ステップ６０８において、「４０１」メッセージでクライアント２０１に送信される。これは、ステップ４０２に対応する。
【００５３】
ステップ６０２において、メッセージの種類がＲＥＧ−Ａであると判断される場合、ステップ６１０において、認証フィルタ２０２が受信したｎｏｎｃｅ値が、認証フィルタ２０２に記憶されている現在のＮｃ値と比較される。この実施形態では、Ｎｃは、Ｎｄテーブルから独立した単一のメモリストレージに記憶される。受信したｎｏｎｃｅ値が認証フィルタ２０２に記憶されているＮｃに等しいと判断される場合、ステップ６１１において、クライアント２０１から受信されたチャレンジ応答が正しいか否かを判定する。チャレンジ応答が正しいとは、クライアント２０１からの応答コード及びｎｏｎｃｅ値が両方とも正しいことを意味する。チャレンジへの応答が正しくない場合、ステップ６１２において、認証フィルタ２０２は「４０３」メッセージをクライアント２０１に送信する。これは、認証フィルタ２０２がＲＥＧ−Ａメッセージフラッド攻撃下にある可能性があり、認証手順がアボートされたことを意味する。
【００５４】
一方、チャレンジ応答が正しいと判断される場合、ステップ６１３において、Ｎｄテーブル内でのインデックスがＨ２関数を使用して計算される。この計算はクライアント２０１のユーザ名に基づく。次にステップ６１５において、Ｎｄテーブル内において、テーブル内のレコードとテーブル内でのメモリロケーションを示す算出されたインデックスとの間で衝突があるか否かがチェックされる。これは、Ｖ＝１、Ｐ＝１、及びＡ＝０の条件が満たされているか否かを判断することにより行われる。これら全ての条件が満たされる場合、衝突があることを意味し、メモリロケーションが既に使用されていて、優先ビットがセットされていて、認証がまだ成功していない。次にステップ６２０において、時間の比較が行われる。時間の比較により、現在のメモリロケーションがまだ使用されている、すなわち有効期限がまだ切れていないことが示される場合、ステップ６２１において、ハッシュテーブルに記憶されているＮｄ  ｎｏｎｃｅが「４０１」メッセージを使用してクライアント２０１に再送信される。レコードは変更されないまま保たれる。この特徴は、攻撃者が連続して要求を送信して特定のユーザの専用ｎｏｎｃｅを変更し、認証フィルタ２０２におけるこのユーザの認証を妨害することを防ぐ。
【００５５】
ステップ６２０での時間の比較により、Ｈ２関数を使用することで得られるメモリロケーションがもはや使用されていないことが示される場合、ステップ６１６において、新しいｎｏｎｃｅ  Ｎｄが生成される。これは、ステップ６１７において、「４０１」メッセージでクライアント２０１に送信される。ステップ６１８において、Ｖ＝１、Ｐ＝１、及びＡ＝０となるようにレコードが更新される。ステップ６１５において、Ｖ＝１、Ｐ＝１、又はＡ＝０の条件うちの少なくとも１つが満たされないと判断される場合、Ｎｄテーブル内において衝突がない、すなわち計算されたメモリロケーションがテーブル内で空いていると判断することができ、次に、ステップ６１６、６１７、及び６１８が実行される。ステップ６１８又は６２１から、プロセスは再びステップ６０１に続くことができる。
【００５６】
ステップ６１０において、クライアント２０１から受信したｎｏｎｃｅ値がテーブルに記憶されているＮｃ値に対応しないと判断される場合、手順がステップ６３０に続く図６ｂを参照する。ステップ６３０において、クライアント２０１から受信したｎｏｎｃｅ値は、Ｈ１により指し示される記憶されているｎｏｎｃｅ値と比較される。ステップ６３１において、Ｈ１関数により指し示されるレコードがＶ＝１且つＰ＝０であり、且つ受信ｎｏｎｃｅがレコードに記憶されているｎｏｎｃｅ値に対応するか否かが判断される。Ｖ＝１且つＰ＝０であり、受信ｎｏｎｃｅ値がレコードに記憶されているｎｏｎｃｅ値に対応する場合、ステップ６３５において、有効期限が切れているか否かが判断される。ステップ６３５は、図３において、認証フィルタ２０２が、ステップ３０３において送信されたＲＥＧ−Ａメッセージをクライアント２０１から受信した状況に対応する。期限がまだ切れておらず、且つ受信ｎｏｎｃｅが認証フィルタ２０２に記憶されているｎｏｎｃｅと同一である場合、ステップ６３６において、認証フィルタ２０２はチャレンジへの応答を計算する。次に、ステップ６３７において、クライアント２０１により送信されたチャレンジ応答が算出されたチャレンジ応答と比較され、それにより、クライアント２０１により送信されたチャレンジ応答が正しいか否かを判断することができる。
【００５７】
これが、チャレンジが解決される最初のときである場合、すなわちＡ＝０の場合、要求は認証されたとみなされ、ステップ６３８において、サーバ２０３に転送される。次に、Ａビットが認証に成功したことを示す１にセットされる。これが最初ではない場合、すなわちＡ＝１の場合、ステップ６４０において、レコードは無効化され、新しい専用ｎｏｎｃｅ値Ｎｄ’が生成され、テーブル内のＨ２により指し示されるインデックスに追加される。次にステップ６４１において、Ｖ＝１、Ｐ＝１、及びＡ＝０となるようにレコードが更新され、生成されたＮｄ’が「４０１」メッセージでクライアント２０１に送信される。チャレンジ応答が正しくない場合、ステップ６４２において、「４０３」メッセージがクライアント２０１に返される。
【００５８】
ステップ６３１において、要件Ｖ＝１且つＰ＝０が満たされない場合、又はｎｏｎｃｅ比較の結果が否定である場合、ステップ６４５において、Ｈ２により指し示されるレコードが検討される。ステップ６４５は、図４において、認証フィルタ２０２が、ステップ４０５においてクライアント２０１から送信されたＲＥＧ−Ａメッセージを受信した状況に対応する。ステップ６４６において、テーブル内において衝突があるか否かが判断される。これは、Ｖビットが１に等しく且つＰビットが１に等しいか否かを判断することにより行われる。これが成立しない場合、又は有効期限が切れている場合、ステップ６４７において、Ｎｃ  ｎｏｎｃｅ値を含む「４０１」メッセージがクライアント２０１に返送される。ステップ６４６において衝突が検出される場合、すなわちＶ＝１且つＰ＝１である場合、ステップ６４８において、時間比較が実行されて、対象であるメモリロケーションがまだ使用されているか否かが検出される。期限がまだ切れていない場合、ステップ６４９において、受信ｎｏｎｃｅ値はＮｄテーブルに記憶されているｎｏｎｃｅ値と比較される。これらの２つのｎｏｎｃｅ値が一致する場合、手順はステップ６３６に続く。これらの２つのｎｏｎｃｅ値が一致しない場合、ステップ６５０において、Ｎｄテーブルに記憶されているｎｏｎｃｅ値Ｎｄが「４０１」メッセージでクライアントに再送信される。一方、ステップ６４８において、期限が切れていると判断される場合、ステップ６４７において、Ｎｃ  ｎｏｎｃｅ値を含む「４０１」メッセージがクライアント２０１に返送される。ステップ６３８、６４１、６４７、及び６５０から、プロセスは再びステップ６０１に続くことができる。
【００５９】
上に提示した認証アルゴリズムの主なパラメータは、Ｎｄテーブルのサイズである。本発明の教示によれば、事前認証手順があるため、このテーブルをＲＥＧフラッド攻撃により単純に埋めることはできない。さらに、攻撃者が数人のユーザのパスワードを知ることによりそれらのユーザをコントロールすることができる場合、攻撃者はそれらのユーザしか妨害しない。何故ならば、Ｈ２関数の使用により、攻撃者が他のユーザを妨害することが阻止されるためである。
テーブルは、２つのパラメータを使用してサイズ決めされるべきである。
−同時に登録を望むユーザの数。これはデータベース内のユーザ（すなわち、顧客）の数に関係する。
−登録手順の平均持続時間、すなわちｎｏｎｃｅをＮｄテーブルに記憶しておくべき時間。これは、専用ｎｏｎｃｅ値の有効期限を正しく設定することにより制御することができる。
【００６０】
認証アルゴリズムは、ＳＩＰサーバ２０３又はゲートウェイの前にある、フィルタリング装置２０２において実施することができる。別法として、認証アルゴリズムは、１つ又は複数のＳＩＰサーバ２０３を保護するフィルタリング装置として、ＳＩＰサーバ２０３において直接実施してもよい。この場合、フィルタとＳＩＰサーバとの間でのダイジェスト認証を完全にディセーブルすることができる。
【００６１】
より一般的には、提案するメカニズムは、ＵＤＰを介して実行されＲＦＣ２６１７に規定されるダイジェスト認証を使用するあらゆるプロトコルに適用することが可能である。さらに、フラッド攻撃に対抗するためにＴＣＰコンテキスト解放方法(TCP context free method)、例えばＳＹＮクッキーと組み合わせて、ＴＣＰを介して実行されるプロトコルにも適用することが可能である。
【００６２】
本発明は、認証フィルタ２０２のコンピュータ手段にロードされて実行されると、本発明の実施形態の任意の方法のステップを実施することができるコンピュータプログラム製品にも等しく関連する。
【００６３】
本発明は、上記方法のステップを実施するように構成される認証フィルタ２０２にも等しく関連する。コンピュータプログラムは、認証フィルタ２０２により実行されるように構成することができる。
【００６４】
本発明を図面及び上記説明において詳細に図示し説明したが、このような図及び説明は制限ではなく説明又は例示とみなされるべきであり、本発明は開示された実施形態に制限されない。
【００６５】
特許請求する本発明の実施に際して、図面、本開示、及び添付の特許請求の範囲の研究から、開示した実施形態の他の変形も当業者により理解され、実施が可能である。例えば、攻撃の検出は、認証フィルタ２０２で受信するアクセス要求数の検出に基づいてもよい。これは、ＲＥＧメッセージを受信する都度、専用ｎｏｎｃｅ値Ｎｄを生成するのを防ぐ。特許請求の範囲では、「備える（含む）（comprising）」という言葉は、他の要素又はステップを除外せず、不定冠詞「a」又は「an」は複数を除外しない。単一のプロセッサ又は他のユニットが、特許請求の範囲に記載される幾つかの項目の機能を満たすことができる。単に、異なる特徴が異なる相互に従属する請求項に記載されるということは、これらの特徴の組み合わせを有利に使用できないことを示すものではない。特許請求の範囲内のあらゆる参照符号は、本発明の範囲を制限するものとして解釈されるべきではない。
【図面の簡単な説明】
【００６６】
【図１】ＳＩＰクライアントとＳＩＰ登録サーバとの間の認証を伴う典型的なＳＩＰ登録シーケンスのフローチャートである。
【図２】本発明の教示を適用することが可能な一環境を示すブロック図である。
【図３】本発明の一実施形態による簡易認証手順を示すフローチャートである。
【図４】本発明の一実施形態による二重認証手順を示すフローチャートである。
【図５】本発明の一実施形態によるハッシュテーブルの構造を示す図である。
【図６ａ】本発明の一実施形態による認証方法を示すフローチャートである。
【図６ｂ】本発明の一実施形態による認証方法を示すフローチャートである。
【図１】
2008252879.tif 000004
【図２】
2008252879.tif 000005
【図３】
2008252879.tif 000006
【図４】
2008252879.tif 000007
【図５】
2008252879.tif 000008
【図６ａ】
2008252879.tif 000009
【図６ｂ】
2008252879.tif 000010
【外国語明細書】
2008252879.tif 000011
2008252879.tif 000012
2008252879.tif 000013
2008252879.tif 000014
2008252879.tif 000015
2008252879.tif 000016
2008252879.tif 000017
2008252879.tif 000018
2008252879.tif 000019
2008252879.tif 000020
2008252879.tif 000021
2008252879.tif 000022
2008252879.tif 000023
2008252879.tif 000024
2008252879.tif 000025
2008252879.tif 000026
2008252879.tif 000027
2008252879.tif 000028
2008252879.tif 000029
2008252879.tif 000030
2008252879.tif 000031
2008252879.tif 000032
2008252879.tif 000033
2008252879.tif 000034
2008252879.tif 000035
2008252879.tif 000036
2008252879.tif 000037
2008252879.tif 000038