(57)【要約】 【課題】  サーバ装置がケーパビリティを保持している場合に限り、クライアント装置はサーバ装置に対しケーパビリティを送信することを可能とすること。【解決手段】  クライアント装置１は、ケーパビリティ情報を選出するための選出基礎情報をサーバ装置に対し送信する送信部３８を含み、前記サーバ装置２は、前記クライアント装置１から送信される前記選出基礎情報に基づいて、記憶部３１に記憶されている前記ケーパビリティ情報を選出し、該選出される前記ケーパビリティ情報に基づいて第１の証明情報を生成し、前記第１の証明情報を前記クライアント装置に対し送信する送信部３５と、前記クライアント装置１は、前記サーバ装置２から送信される前記第１の証明情報が、前記ケーパビリティ情報に基づいて検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置２に対し送信する送信部３８と、をさらに含むことを特徴とする。【選択図】  図４
2005275803.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置とサーバ装置を含む情報処理システムにおいて、
前記クライアント装置は、
所定のサービスを受ける権利を証明するケーパビリティ情報を取得する取得手段と、
前記ケーパビリティ情報を選出するための選出基礎情報を前記サーバ装置に対し送信する第１の送信手段と、を含み、
前記サーバ装置は、
ケーパビリティ情報を記憶する第１の記憶手段と、
前記クライアント装置から送信される前記選出基礎情報を受信する第１の受信手段と、
前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出する選出手段と、
前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成する第１の生成手段と、
前記第１の証明情報を前記クライアント装置に対し送信する第２の送信手段と、を含み、
前記クライアント装置は、
前記サーバ装置から送信される前記第１の証明情報を受信する第２の受信手段と、
前記ケーパビリティ情報に基づいて前記第１の証明情報を検証する第１の検証手段と、
前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信する第３の送信手段と、をさらに含み、
前記サーバ装置は、
前記クライアント装置から送信される前記第２の証明情報を受信する第３の受信手段と、
前記第２の証明情報を検証する第２の検証手段と、をさらに含む
ことを特徴とする情報処理システム。
【請求項２】
請求項１記載の情報処理システムにおいて、
前記第１の記憶手段は、前記ケーパビリティ情報に関連付けて送信対象情報をさらに記憶し、
前記サーバ装置は、
前記第２の証明情報が前記第２の検証手段により検証される場合に、前記クライアント装置に対し、前記ケーパビリティ情報に関連付けて記憶される前記送信対象情報を送信する第４の送信手段、をさらに含む
ことを特徴とする情報処理システム。
【請求項３】
請求項２記載の情報処理システムにおいて、
前記ケーパビリティ情報は、前記送信対象情報に基づいて生成される、
ことを特徴とする情報処理システム。
【請求項４】
請求項３記載の情報処理システムにおいて、
前記ケーパビリティ情報は前記送信対象情報の特徴値である、
ことを特徴とする情報処理システム。
【請求項５】
請求項４記載の情報処理システムにおいて、
前記ケーパビリティ情報は前記送信対象情報に一方向性関数を適用することにより生成される、
ことを特徴とする情報処理システム。
【請求項６】
請求項５記載の情報処理システムにおいて、
前記一方向性関数はハッシュ関数である、
ことを特徴とする情報処理システム。
【請求項７】
請求項１乃至６記載の情報処理システムにおいて、
前記第１の検証手段は、
前記第１の生成手段と同一の手段により、前記取得手段が取得する前記ケーパビリティ情報に基づいて前記第１の証明情報を生成し、
前記生成される前記第１の証明情報と、前記第２の受信手段が受信する第１の証明情報とを比較し、
前記生成される前記第１の証明情報と、前記第２の受信手段が受信する第１の証明情報とが同一である場合に、前記第２の受信手段が受信する第１の証明情報が検証されるとする、
ことを特徴とする情報処理システム。
【請求項８】
請求項１乃至７記載の情報処理システムにおいて、
前記選出基礎情報は、前記ケーパビリティ情報に基づいて生成される、
ことを特徴とする情報処理システム。
【請求項９】
請求項８記載の情報処理システムにおいて、
前記選出基礎情報は、前記ケーパビリティ情報の一部である、
ことを特徴とする情報処理システム。
【請求項１０】
請求項９記載の情報処理システムにおいて、
前記第２の証明情報は、前記ケーパビリティ情報のうち、前記選出基礎情報を除いた部分であり、
前記サーバ装置は、
前記第１の受信手段が受信する前記選出基礎情報を記憶する第２の記憶手段と、
前記第２の記憶手段が記憶する前記選出基礎情報と、前記第３の送信手段により送信される前記第２の証明情報とから、前記ケーパビリティ情報を生成する第２の生成手段と、をさらに含む
ことを特徴とする情報処理システム。
【請求項１１】
請求項１０記載の情報処理システムにおいて、
前記第２の検証手段は、
前記第２の生成手段が前記ケーパビリティ情報を生成できる場合に、前記第２の証明情報が検証されるとする、
ことを特徴とする情報処理システム。
【請求項１２】
請求項１乃至１１記載の情報処理システムにおいて、
前記第１の証明情報は、前記ケーパビリティ情報の特徴値である、
ことを特徴とする情報処理システム。
【請求項１３】
請求項１２記載の情報処理システムにおいて、
前記第１の証明情報は、前記ケーパビリティ情報に一方向性関数を適用することにより生成される、
ことを特徴とする情報処理システム。
【請求項１４】
請求項１３記載の情報処理システムにおいて、
前記一方向性関数はハッシュ関数である、
ことを特徴とする情報処理システム。
【請求項１５】
所定のサービスを受ける権利を証明するケーパビリティ情報を取得する取得手段と、
前記ケーパビリティ情報を選出するための選出基礎情報をサーバ装置に対し送信する第１の送信手段と、
前記サーバ装置から送信される第１の証明情報を受信する第２の受信手段と、
前記ケーパビリティ情報に基づいて前記第１の証明情報を検証する第１の検証手段と、
前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信する第３の送信手段と、
を含むことを特徴とするクライアント装置。
【請求項１６】
所定のサービスを受ける権利を証明するケーパビリティ情報を記憶する第１の記憶手段と、
クライアント装置から送信される選出基礎情報を受信する第１の受信手段と、
前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出する選出手段と、
前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成する第１の生成手段と、
前記第１の証明情報を前記クライアント装置に対し送信する第２の送信手段と、
を含むことを特徴とするサーバ装置。
【請求項１７】
所定のサービスを受ける権利を証明するケーパビリティ情報を取得する取得手段、
前記ケーパビリティ情報を選出するための選出基礎情報をサーバ装置に対し送信する第１の送信手段、
前記サーバ装置から送信される第１の証明情報を受信する第２の受信手段、
前記ケーパビリティ情報に基づいて前記第１の証明情報を検証する第１の検証手段、及び
前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信する第３の送信手段、
としてコンピュータを機能させるためのプログラム。
【請求項１８】
所定のサービスを受ける権利を証明するケーパビリティ情報を記憶する第１の記憶手段、
クライアント装置から送信される選出基礎情報を受信する第１の受信手段、
前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出する選出手段、
前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成する第１の生成手段、及び
前記第１の証明情報を前記クライアント装置に対し送信する第２の送信手段、
としてコンピュータを機能させるためのプログラム。
【請求項１９】
クライアント装置が、所定のサービスを受ける権利を証明するケーパビリティ情報を取得するステップと、
前記クライアント装置が、前記ケーパビリティ情報を選出するための選出基礎情報をサーバ装置に対し送信するステップと、
前記サーバ装置が、ケーパビリティ情報を記憶するステップと、
前記サーバ装置が、前記クライアント装置から送信される前記選出基礎情報を受信するステップと、
前記サーバ装置が、前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出するステップと、
前記サーバ装置が、前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成するステップと、
前記サーバ装置が、前記第１の証明情報を前記クライアント装置に対し送信するステップと、
前記クライアント装置が、前記サーバ装置から送信される前記第１の証明情報を受信するステップと、
前記クライアント装置が、前記ケーパビリティ情報に基づいて前記第１の証明情報を検証するステップと、
前記クライアント装置が、前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信するステップと、
前記サーバ装置が、前記クライアント装置から送信される前記第２の証明情報を受信するステップと、
前記サーバ装置が、前記第２の証明情報を検証するステップと、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム、クライアント装置、サーバ装置、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
情報処理システムにおいて、クライアント装置がサーバ装置に対し、第三者には推測が困難な情報を送信し、その情報が正しい場合のみサーバ装置はクライアント装置に対し所定のサービスを提供することによってクライアント装置からのアクセスを制御することがある。
【０００３】
例えば、サーバ装置にログインするために、クライアント装置はユーザ名とパスワードの対を該サーバ装置に対して送信し、該サーバ装置は該ユーザ名とパスワードの対がサーバ装置に登録されたものと同一である場合に、該クライアント装置からのログインを許可することにより、アクセスを制御する。この構成では、ユーザ名とパスワードの対が、該サーバ装置にアクセスしてサービスを受ける資格（権利）を証明するための情報である。
【０００４】
また、サーバ装置が記憶するコンテンツを利用するために、クライアント装置は該コンテンツ固有の秘匿されたＩＤ（identification）を該サーバ装置に対して送信し、該サーバ装置は該ＩＤがサーバ装置に登録されたものと同一である場合に、該クライアント装置に対し該ＩＤに対応するコンテンツを返信することにより、アクセスを制御する。この構成では、上記ＩＤが、該サーバ装置にアクセスしてサービスを受ける資格（権利）を証明するための情報である。
【０００５】
一般に、上記のようなサーバ装置にアクセスしてサービスを受ける資格（権利）を証明するための情報はケーパビリティと呼ばれる。
【０００６】
なお、非特許文献１には、ＬＩＳＰ（LISt Processor）型のデータ構造において、ハッシュ値を使用してデータ管理を効率化することについての記述がある。また特許文献１には、データベースにおいて所望の情報を検索する方法についての発明が開示されている。
【非特許文献１】後藤英一著、"Monocopy and AssociateAlgorithms in an Extended Lisp"、Technical Report、東京大学、１９７４年５月、７４−３
【特許文献１】米国特許第５９７８７９２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来、クライアント装置がケーパビリティをサーバ装置に送信する際には、クライアント装置は送信先サーバ装置が正当なものであることを確信できていると見なせる場合が多かった。しかし、ネットワークが発達し、多数のサーバ装置が関与する分散的な情報処理環境へと変化してきたことによって、ケーパビリティの送信先が信用できるサーバ装置であるか否かが非自明となり、また、サーバ装置の正当性を検証しようとするとそのための管理コストや処理コストの増大が看過できない問題となるような事態が出来している。
【０００８】
ケーパビリティはアクセス制御の鍵となる重要な情報であるので、悪意の第三者が情報処理環境内にケーパビリティの収集を企図してなんらのサービスも提供しない、コンテンツも保持しないサーバ装置を配置し、クライアントからのケーパビリティによるアクセス要求を受けることによってケーパビリティを窃取・収集されるという脅威が存在する。
【０００９】
本発明は上記課題に鑑みてなされたものであって、その目的は、サーバ装置がケーパビリティを保持した場合に限って、クライアント装置はサーバ装置にケーパビリティを送付することが可能なアクセス制御システムであって、悪意の第三者がケーパビリティの収集を行うことを抑止するような情報処理システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するための本発明は、クライアント装置とサーバ装置を含む情報処理システムにおいて、前記クライアント装置は、所定のサービスを受ける権利を証明するケーパビリティ情報を取得する取得手段と、前記ケーパビリティ情報を選出するための選出基礎情報を前記サーバ装置に対し送信する第１の送信手段と、を含み、前記サーバ装置は、ケーパビリティ情報を記憶する第１の記憶手段と、前記クライアント装置から送信される前記選出基礎情報を受信する第１の受信手段と、前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出する選出手段と、前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成する第１の生成手段と、前記第１の証明情報を前記クライアント装置に対し送信する第２の送信手段と、を含み、前記クライアント装置は、前記サーバ装置から送信される前記第１の証明情報を受信する第２の受信手段と、前記ケーパビリティ情報に基づいて前記第１の証明情報を検証する第１の検証手段と、前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信する第３の送信手段と、をさらに含み、前記サーバ装置は、前記クライアント装置から送信される前記第２の証明情報を受信する第３の受信手段と、前記第２の証明情報を検証する第２の検証手段と、をさらに含む、ことを特徴とする。
【００１１】
このようにすることで、サーバ装置がケーパビリティ情報を保持した場合に限り、クライアント装置がサーバ装置にケーパビリティ情報を送信することが可能となる。なおここでは、情報の提供を行うコンピュータをサーバ装置と称し、情報の提供を受けるコンピュータをクライアント装置と称する。
【００１２】
また、上記情報処理システムにおいて、前記第１の記憶手段は、前記ケーパビリティ情報に関連付けて送信対象情報をさらに記憶し、前記サーバ装置は、前記第２の証明情報が前記第２の検証手段により検証される場合に、前記クライアント装置に対し、前記ケーパビリティ情報に関連付けて記憶される前記送信対象情報を送信する第４の送信手段、をさらに含む、こととしてもよい。このようにすれば、クライアント装置はサーバ装置に記憶される送信対象情報を受信することが可能となる。
【００１３】
また、上記情報処理システムにおいて、前記ケーパビリティ情報は、前記送信対象情報に基づいて生成される、こととしてもよい。このようにすれば、ケーパビリティ情報の生成が容易となる。
【００１４】
また、上記情報処理システムにおいて、前記ケーパビリティ情報は前記送信対象情報の特徴値である、こととしてもよい。このようにすれば、複数のサーバ装置に独立に同一の送信対象情報が記憶される場合も、自動的に同一のケーパビリティ情報が割り当てられ、サーバ装置間における情報の整合性が保障される。
【００１５】
また、上記情報処理システムにおいて、前記ケーパビリティ情報は前記送信対象情報に一方向性関数を適用することにより生成される、こととしてもよい。このようにすれば、ケーパビリティ情報のみから送信対象情報を推測することが困難となり、送信対象情報の漏洩の可能性が小さくなる。
【００１６】
また、上記情報処理システムにおいて、前記一方向性関数はハッシュ関数である、こととしてもよい。このようにすることで、ケーパビリティ情報のサイズが一定となり、ケーパビリティ情報の生成や検索が高速に行える。
【００１７】
また、上記情報処理システムにおいて、前記第１の検証手段は、前記第１の生成手段と同一の手段により、前記取得手段が取得する前記ケーパビリティ情報に基づいて前記第１の証明情報を生成し、前記生成される前記第１の証明情報と、前記第２の受信手段が受信する第１の証明情報とを比較し、前記生成される前記第１の証明情報と、前記第２の受信手段が受信する第１の証明情報とが同一である場合に、前記第２の受信手段が受信する第１の証明情報が検証されるとする、こととしてもよい。このようにすれば、サーバ装置がケーパビリティ情報を保持していることを、クライアント装置は確認できる。
【００１８】
また、上記情報処理システムにおいて、前記選出基礎情報は、前記ケーパビリティ情報に基づいて生成される、こととしてもよい。このようにすれば、ケーパビリティ情報以外の情報を用いずに選出基礎情報を生成することができる。
【００１９】
また、上記情報処理システムにおいて、前記選出基礎情報は、前記ケーパビリティ情報の一部である、こととしてもよい。このようにすれば、選出基礎情報を簡易に生成し、また、選出基礎情報からケーパビリティ情報を検索することも容易となる。
【００２０】
また、上記情報処理システムにおいて、前記第２の証明情報は、前記ケーパビリティ情報のうち、前記選出基礎情報を除いた部分であり、前記サーバ装置は、前記第１の受信手段が受信する前記選出基礎情報を記憶する第２の記憶手段と、前記第２の記憶手段が記憶する前記選出基礎情報と、前記第３の送信手段により送信される前記第２の証明情報とから、前記ケーパビリティ情報を生成する第２の生成手段と、をさらに含む、こととしてもよい。このようにすれば、クライアント装置が取得したケーパビリティ情報を、サーバ装置は容易に復元することができる。
【００２１】
また、上記情報処理システムにおいて、前記第２の検証手段は、前記第２の生成手段が前記ケーパビリティ情報を生成できる場合に、前記第２の証明情報が検証されるとする、こととしてもよい。
【００２２】
また、上記情報処理システムにおいて、前記第１の証明情報は、前記ケーパビリティ情報の特徴値である、こととしてもよい。このようにすれば、クライアント装置は複数のサーバ装置と交信する場合でも同一の検証手段で第１の証明情報の検証を行うことができる。
【００２３】
また、上記情報処理システムにおいて、前記第１の証明情報は、前記ケーパビリティ情報に一方向性関数を適用することにより生成される、こととしてもよい。このようにすれば、第１の証明情報のみからケーパビリティを推測することが困難となり、ケーパビリティ情報の漏洩の可能性が小さくなる。
【００２４】
クライアント装置また、上記情報処理システムにおいて、前記一方向性関数はハッシュ関数である、こととしてもよい。このようにすることで、第１の証明情報のサイズが一定となり、第１の証明情報の検証が高速に行える。
【００２５】
また、本発明に係るクライアント装置は、所定のサービスを受ける権利を証明するケーパビリティ情報を取得する取得手段と、前記ケーパビリティ情報を選出するための選出基礎情報をサーバ装置に対し送信する第１の送信手段と、前記サーバ装置から送信される第１の証明情報を受信する第２の受信手段と、前記ケーパビリティ情報に基づいて前記第１の証明情報を検証する第１の検証手段と、前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信する第３の送信手段と、を含むことを特徴とする。
【００２６】
また、本発明に係るサーバ装置は、所定のサービスを受ける権利を証明するケーパビリティ情報を記憶する第１の記憶手段と、クライアント装置から送信される選出基礎情報を受信する第１の受信手段と、前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出する選出手段と、前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成する第１の生成手段と、前記第１の証明情報を前記クライアント装置に対し送信する第２の送信手段と、を含むことを特徴とする。
【００２７】
また、本発明の１つの側面に係るプログラムは、所定のサービスを受ける権利を証明するケーパビリティ情報を取得する取得手段、前記ケーパビリティ情報を選出するための選出基礎情報をサーバ装置に対し送信する第１の送信手段、前記サーバ装置から送信される第１の証明情報を受信する第２の受信手段、前記ケーパビリティ情報に基づいて前記第１の証明情報を検証する第１の検証手段、及び前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信する第３の送信手段、としてコンピュータを機能させることを特徴とする。
【００２８】
また、本発明の別の１つの側面に係るプログラムは、所定のサービスを受ける権利を証明するケーパビリティ情報を記憶する第１の記憶手段、クライアント装置から送信される選出基礎情報を受信する第１の受信手段、前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出する選出手段、前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成する第１の生成手段、及び前記第１の証明情報を前記クライアント装置に対し送信する第２の送信手段、としてコンピュータを機能させることを特徴とする。
【００２９】
また、本発明に係る情報処理方法は、クライアント装置が、所定のサービスを受ける権利を証明するケーパビリティ情報を取得するステップと、前記クライアント装置が、前記ケーパビリティ情報を選出するための選出基礎情報をサーバ装置に対し送信するステップと、前記サーバ装置が、ケーパビリティ情報を記憶するステップと、前記サーバ装置が、前記クライアント装置から送信される前記選出基礎情報を受信するステップと、前記サーバ装置が、前記第１の受信手段が受信する前記選出基礎情報に基づいて、前記第１の記憶手段に記憶されている前記ケーパビリティ情報を選出するステップと、前記サーバ装置が、前記選出手段により選出される前記ケーパビリティ情報に基づいてケーパビリティ情報の保持を証明する第１の証明情報を生成するステップと、前記サーバ装置が、前記第１の証明情報を前記クライアント装置に対し送信するステップと、前記クライアント装置が、前記サーバ装置から送信される前記第１の証明情報を受信するステップと、前記クライアント装置が、前記ケーパビリティ情報に基づいて前記第１の証明情報を検証するステップと、前記クライアント装置が、前記第１の証明情報が前記第１の検証手段により検証される場合に、前記ケーパビリティ情報に基づく第２の証明情報を前記サーバ装置に対し送信するステップと、前記サーバ装置が、前記クライアント装置から送信される前記第２の証明情報を受信するステップと、前記サーバ装置が、前記第２の証明情報を検証するステップと、を含むことを特徴とする。
【発明を実施するための最良の形態】
【００３０】
本発明の実施形態について、図面を参照しながら説明する。
【００３１】
本発明の第１の実施形態に係る情報処理システム４は、図１に示すように、クライアント装置１、サーバ装置２及び通信ネットワーク３を含んで構成されている。
【００３２】
サーバ装置２は、図２に示すように、制御部２１、通信部２２、記憶部２３及びデータストレージ部２４を含んで構成されるコンピュータである。本実施形態においては、サーバ装置２はある情報と、そのハッシュ値と、を対応付けて記憶することにより、ハッシュ値をキーとして対応する情報を読み出すことを可能にしたサーバとして機能する。
【００３３】
サーバ装置２の制御部２１は、サーバ装置２の各部を制御し、データ通信やデータベース処理に関わる処理を実行している。通信部２２は通信ネットワーク３に接続され、制御部２１からの指示に従い、制御部２１から入力された信号をプロトコル変換し、該変換された信号を送出する。また、通信部２２は通信ネットワーク３から到来した信号をプロトコル変換し、制御部２１に出力する処理も行う。記憶部２３は制御部２１のワークメモリとして動作する。また、この記憶部２３は、制御部２１によって行われる各種処理に関わるプログラムやパラメータを保持している。データストレージ部２４は、図５に示すテーブルも記憶しており、制御部２１からの読出や書込等の命令に応じて記憶する情報の読出や書込等の処理を行う。図５については後述する。
【００３４】
クライアント装置１は、図３に示すように、制御部１１、通信部１２、記憶部１３、表示部１４、入力部１５を含んで構成されるコンピュータである。制御部１１は、クライアント装置１の各部を制御し、データ通信や各種データ処理に関わる処理を実行している。通信部１２は通信ネットワーク３に接続され、制御部１１からの指示に従い、制御部１１から入力された信号をプロトコル変換し、該変換された信号を送出する。また、通信部１２は通信ネットワーク３から到来した信号をプロトコル変換し、制御部１１に出力する処理も行う。記憶部１３は制御部１１のワークメモリとして動作する。また、この記憶部１３は、制御部２１によって行われる各種処理に関わるプログラムやパラメータを保持している。表示部１４は、クライアント装置１のユーザに対して、制御部１１から通知される情報を表示することにより通知する。また、クライアント装置１のユーザは、該表示に従い、入力部１５において図示しないキーボード等の入力装置から入力を行う。
【００３５】
図４は、本実施形態に係る、サーバ装置２、クライアント装置１の機能ブロック図である。サーバ装置２は、機能的には、記憶部３１、処理部３２、演算部３３、受信部３４及び送信部３５を含んで構成されている。記憶部３１は、データストレージ部２４によって実現される。処理部３２及び演算部３３は制御部２１及び記憶部２３によって実現される。受信部３４及び送信部３５は通信部２２によって実現される。
【００３６】
また、クライアント装置１は、機能的には、一部取得部３６、取得部３７、送信部３８、演算部３９、判断部４０、受信部４１を含んで構成されている。一部取得部３６、演算部３９及び判断部４０は、制御部１１及び記憶部１３によって実現される。また、取得部３７は制御部１１、記憶部１３、表示部１４及び入力部１５によって実現される。送信部３８及び受信部４１は通信部１２によって実現される。
【００３７】
記憶部３１は、送信対象情報と、ケーパビリティ情報と、を対応付けて記憶することにより、ケーパビリティ情報をキーとして対応する送信対象情報を読み出すことを可能にしている。ケーパビリティ情報は、クライアント装置１がサーバ装置２において所定のサービスを受けるための権利を証明するための情報である。図５は、記憶部３１に対応付けて記憶されているテーブルの例である。該テーブルにはケーパビリティ情報と送信対象情報が対応付けられて記憶されている。なお、サーバ装置２は、クライアント装置１からの要求に応じて該クライアント装置１に対し送信対象情報を送信する。
【００３８】
ケーパビリティ情報は、送信対象情報を識別するために用いられ、送信対象情報毎に重複しないように生成されることが好適である。もっとも、実用上重複が生じない程度であればよい。ケーパビリティ情報は送信対象情報を特徴付ける特徴値であるとしてもよい。また、該特徴値は送信対象情報に一方向性関数を適用することにより生成されることもでき、さらに該関数がハッシュ関数である場合には該送信対象情報のハッシュ値となる。
【００３９】
ここで、ハッシュ値について説明する。ハッシュ値は、ビット列にハッシュ関数を適用することにより演算される。ビット列は任意の情報であり、ハッシュ値がケーパビリティ情報である場合には、該ビット列は送信対象情報である。なお、ハッシュ関数としてはＳＨＡ−１（Secure Hash Algorithm 1）を使用することができる。ＳＨＡ−１は米国商務省のＦＩＰＳ（Federal Information Processing Standard、米国商務省連邦情報処理規格）で定められ、従来から広く利用されているハッシュ関数である。ＳＨＡ−１のような暗号学的ハッシュ関数は、与えられた値をハッシュ値として持つ情報を生成することが困難であるという特性を有する。そして、ＳＨＡ−１を使用した場合には、ハッシュ値は１６０ビットの長さのビット列となる。そこで本実施の形態では、ハッシュ値は１６０ビットであるとして説明する。図５では、ケーパビリティ情報として１６０ビットのハッシュ値を１６進数で表記したものの一部分を記している。
【００４０】
なお、ここではハッシュ関数としてＳＨＡ−１を利用したが、もちろん、ＳＨＡ−１以外のハッシュ関数を用いることもできる。ＳＨＡ−１のハッシュ値長は１６０ビットなので、ＳＨＡ−１自身の脆弱性が発見されない限り２８０個程度の個数の送信対象情報に対してハッシュ値の衝突は起こりえない。ハッシュ関数としてその時代で要請される暗号学的強度を満たすものを採用することが望ましい。
【００４１】
また、図５では、ケーパビリティ情報と送信対象情報がテーブル上に対応付けて記憶されている例を示したが、ケーパビリティ情報と送信対象情報はテーブル上に対応付けて記憶されていなくてもよく、単に関連付けられていればよい。すなわち、ケーパビリティ情報が与えられた場合に、該ケーパビリティ情報に関連付けられた送信対象情報を読出すことができるようにされていればよい。また、ケーパビリティ情報と送信対象情報が対応付けられるテーブルとして、例えば連想配列として知られるデータ構造を用いると、記憶されるケーパビリティ情報の総数によらず一定の時間で検索を行うことができる。
【００４２】
次に取得部３７は、サーバ装置２の記憶部３１に記憶されている上記送信対象情報を取得するためのケーパビリティ情報を取得する。該取得部３７は、例えば人間が表示部１４上の表示に従って入力部１５から入力することによりケーパビリティ情報を取得してもよいし、クライアント装置１上で動作するプログラムが例えば記憶部１３に記憶されている情報を読み出すことにより、ケーパビリティ情報を取得してもよい。そして該ケーパビリティ情報を一部取得部３６及び演算部３９に渡す。
【００４３】
一部取得部３６は、取得部３７から渡されたケーパビリティ情報の一部（初期送信分）に基づいて選出基礎情報を取得する。該選出基礎情報は、記憶部３１が記憶するケーパビリティ情報を選出するための基礎となる情報である。なお、ケーパビリティ情報の初期送信分は、ケーパビリティ情報の初期送信分が一致するような送信対象情報が記憶部３１に存在する可能性を実用上考慮しなくてよい程度に、設計されることが望ましい。例えば該ケーパビリティ情報が送信対象情報のハッシュ値である場合には、図６に示すように、ケーパビリティ情報の初期送信分を該ハッシュ値８０の上位８０ビット８２とすることができる。そして送信部３８に該選出基礎情報を渡す。
【００４４】
演算部３９は、取得部３７から渡されたケーパビリティ情報から、第１の証明情報を生成する。そして、該第１の証明情報を判断部４０に渡しておく。なお、第１の証明情報は、ケーパビリティ情報によって特徴付けられる特徴値であってもよい。また、該特徴値は、ケーパビリティ情報に一方向性関数を適用することにより演算されることもできる。また、一方向性関数がハッシュ関数であれば、該特徴値はケーパビリティ情報のハッシュ値となる。このことは、後述する演算部３３の処理についても同様である。
【００４５】
一部取得部３６から選出基礎情報を渡された送信部３８は、該選出基礎情報をサーバ装置２に対して送信する。このとき、該選出基礎情報は例えば通信ネットワーク３を介するパケット情報として送信されるが、サーバ装置２に届けられる方法であれば他の如何なる送信方法をとってもよい。以下に示すクライアント装置１とサーバ装置２の間での送信又は受信において同様である。
【００４６】
サーバ装置２の受信部３４は、クライアント装置１の送信部３８から送信された選出基礎情報を受信する。そして、受信した該選出基礎情報を処理部３２に渡す。
【００４７】
処理部３２は、渡された該選出基礎情報を基礎に、記憶部３１が記憶しているケーパビリティ情報の中から対応するケーパビリティ情報を選出する。具体的には、例えば図６に示すように、ケーパビリティ情報がハッシュ値の上位８０ビットである場合には、上位８０ビットが一致するようなケーパビリティ情報を選出する。つまり、多数記憶されているケーパビリティ情報の中から、選出基礎情報であるケーパビリティ情報の一部に一致するものを検索し、検索されたケーパビリティ情報を選出されたケーパビリティ情報とする。そして処理部３２は、演算部３３に該選出したケーパビリティ情報を渡す。
【００４８】
ケーパビリティ情報を渡された演算部３３は、該ケーパビリティ情報から、第１の証明情報を生成する。なお、この処理は演算部３９と同じ処理によって行われる。すなわち、演算部３９における処理が、第１の証明情報をケーパビリティ情報によって特徴付けられる特徴値とする場合には、演算部３３においても、同様に第１の証明情報は処理部３２から渡されたケーパビリティ情報の特徴値である。そして、該第１の証明情報を送信部３５に渡す。送信部３５は、渡された第１の証明情報をクライアント装置１に対して送信する。
【００４９】
クライアント装置１の受信部４１は、該第１の証明情報を受信し、判断部４０に渡す。判断部４０は、該第１の証明情報を検証する。具体的には、例えば、演算部３９から渡された第１の証明情報と比較する。さらに具体的には、クライアント装置１で演算されたケーパビリティ情報の特徴値であるクライアント装置側特徴値と、サーバ装置２で演算されたケーパビリティ情報の特徴値であるサーバ装置側特徴値を比較する。これらは、同じケーパビリティ情報に対して特徴値を演算するのであるから、本来的には同じ値になるはずのものである。そして比較した結果、両値が等しい場合、すなわち第１の証明情報が検証される場合には、送信部３８に対してケーパビリティ情報に基づく第２の証明情報を送信部３８に渡し、送信部３８は該第２の証明情報をサーバ装置２に対して送信する。なお、該第２の証明情報はケーパビリティ情報そのものでもよい。また、以前に一部取得部３６から渡されたケーパビリティ情報の一部を記憶しておき、ケーパビリティ情報から該一部を除いた部分（追完分）を第２の証明情報として生成し、追完分のみを送信することとしてもよい。すなわち、クライアント装置がケーパビリティ情報を記憶していることを、サーバ装置２において確認するための情報が含まれていればよい。また、判断部４０が第１の証明情報が検証されないと判断した場合には、第２の証明情報をサーバ装置２に対して送信しないこととしてもよい。
【００５０】
そして、該第２の証明情報を受信した受信部３４は、その受信した第２の証明情報を処理部３２に渡す。処理部３２は、渡された情報を検証する。つまり、渡された第２の証明情報に基づいてケーパビリティ情報を取得できるか否か確認する。ケーパビリティ情報がそのまま送信された場合には特に何も演算する必要はなく取得でき、ケーパビリティ情報の追完分が渡された場合には、以前に送信された初期送信分を記憶しておき、該初期送信分と該追完分とから、ケーパビリティ情報を生成することにより取得する。つまり、選出基礎情報として初期送信分が記憶される場合には、追完分と連結することにより、ケーパビリティ情報を生成することができる。そして、記憶部３１に記憶されている該ケーパビリティ情報に関連付けて記憶されている情報を送信対象情報として記憶し、送信部３５を介して、クライアント装置１に送信する。
【００５１】
上述した処理を、図７のフロー図を参照しながら、さらに具体的に説明する。同図では、ケーパビリティ情報は送信対象情報のハッシュ値とし、第１の証明情報であるクライアント装置側特徴値及びサーバ装置側特徴値はケーパビリティ情報のハッシュ値であるとしている。
【００５２】
図７は、本実施の形態にかかる、クライアント装置１及びサーバ装置２間の信号の送受信を含めた処理のフロー図である。まず、クライアント装置１において変数Ｘの記憶領域を確保し、例えばここでは入力部１５から人間が入力したケーパビリティ情報であるハッシュ値を代入する（Ｓ１０１）。そして、変数Ｙの記憶領域を確保し、Ｘの上位８０ビットを代入する（Ｓ１０２）。図７の場合では、Ｙはハッシュ値の上位８０ビット８２となる。そして、Ｙ（選出基礎情報）をサーバ装置２に対して送信する（Ｓ１０３）。サーバ装置２は、受信したＹに対応するハッシュ値が、例えば図５に示すテーブルに記憶されているか否かを判断する（Ｓ１０４）。そして、含まれていない場合には、処理は終了する。このとき、クライアント装置１に対して、エラー等を送信することとしてもよい。含まれている場合には、変数Ｚの記憶領域を確保し、記憶されていたハッシュ値を代入する（Ｓ１０５）。そして、該Ｚにハッシュ関数ｒを適用することにより、Ｚのハッシュ値Ｗ（サーバ装置側特徴値）を演算する（Ｓ１０６）。そして、該Ｗをクライアント装置１に対して送信する（Ｓ１０７）。Ｗを受信したクライアント装置は、該Ｗが、Ｘのハッシュ値（クライアント装置側特徴値）と等しいか否かを判断する（Ｓ１０８）。そして、等しくなかった場合には、サーバ装置２は、正しいＺ、すなわちケーパビリティ情報を記憶していないということになり、クライアント装置１での処理を終了する。つまり、クライアント装置１は、サーバ装置２がＸのハッシュ値を送信できないということは、サーバ装置２が対応するケーパビリティ情報を保持していないと判断して、処理を終了し、ケーパビリティ情報の窃取防止のため、次のケーパビリティ情報をサーバに送信する処理を行わない。該Ｗが、Ｘのハッシュ値と等しい場合には、クライアント装置１はサーバ装置２に対し、Ｘを送信する（Ｓ１０９）。すなわち、ケーパビリティ情報を送信することになり、該Ｘを受信したサーバ装置２は、該Ｘと関連付けて記憶部３１に記憶されている情報を送信対象情報として、クライアント装置１に送信する（Ｓ１１０）。
【００５３】
以上のようにすることにより、情報を管理しているサーバのケーパビリティ情報保持状況に応じて、クライアント装置１がサーバ装置２に対しケーパビリティ情報を送信することが可能になる。またクライアント装置１は、ケーパビリティ情報を収集することを抑制することができる。つまり、第三者が、情報を管理しているサーバになりすますことにより、クライアント装置１が送信してきたケーパビリティ情報を取得することを抑制することができる。また、クライアント装置１はサーバ装置２から送信対象情報を受信することができる。さらに、ケーパビリティ情報を送信対象情報の特徴値として、記憶部３１は該特徴値と送信対象情報を関連付けて記憶することにより、サーバ装置２での情報処理を効率よく行うことができる。また、ケーパビリティ情報をハッシュ値等の一方向性関数で演算された値とすることにより、ケーパビリティ情報のみから送信対象情報を推測して取得することが困難になり、送信対象情報漏洩の可能性を小さくできる。さらに、特徴値をハッシュ値とすれば、サーバ装置２での記憶領域の節約、処理の高速化が可能となる。また、サーバ装置側特徴値をハッシュ値とすることにより、ケーパビリティ情報が通信経路上で第三者に漏洩する可能性を抑制することができる。
【００５４】
なお、本発明の実施形態は、上記実施の形態に限定されるものではない。例えばケーパビリティ情報はハッシュ値でなくてもよく、クライアント装置１とサーバ装置２の間で共有でき、該ケーパビリティ情報から記憶部３１に記憶されている情報が読み出せればよい。また、選出基礎情報はケーパビリティ情報の一部であったり、該一部に基づいて取得されたりしなくてもよく、選出基礎情報を基礎として記憶部３１に記憶されているケーパビリティ情報が選出できるとともに、サーバ装置２においてケーパビリティ情報の全部が取得できない情報であればよい。
【００５５】
また、１の選出基礎情報から複数のケーパビリティ情報が選出されてしまう場合には、例えばサーバ装置２からクライアント装置１に対していくつかの候補の特徴値を送信して、クライアント装置１では、所定数の候補の中に正しいケーパビリティ情報が含まれていた場合に、サーバ装置２に対しケーパビリティ情報の少なくとも１部を送信することとしてもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態に係る情報処理システムの構成図である。
【図２】本発明の実施形態に係るサーバ装置の構成ブロック図である。
【図３】本発明の実施形態に係るクライアント装置の構成ブロック図である。
【図４】本発明の実施形態に係る情報処理システムの機能ブロック図である。
【図５】本発明の実施形態に係るケーパビリティ情報と送信対象情報を対応付けて記憶するテーブルを示す図である。
【図６】本発明の実施形態に係るハッシュ値の一部取得方法の説明図である。
【図７】本発明の実施形態に係る処理のシーケンス図である。
【符号の説明】
【００５７】
１  クライアント装置、２  サーバ装置、３  通信ネットワーク、４  情報管理システム、１１，２１  制御部、１２，２２  通信部、１３，２３，３１  記憶部、１４  表示部、１５  入力部、２４  データストレージ部、３２  処理部、３３，３９  演算部、３４，４１  受信部、３５  送信部、３６  一部取得部、３７  取得部、３８  送信部、４０  判断部。
【図１】
2005275803.tif 000003
【図２】
2005275803.tif 000004
【図３】
2005275803.tif 000005
【図４】
2005275803.tif 000006
【図５】
2005275803.tif 000007
【図６】
2005275803.tif 000008
【図７】
2005275803.tif 000009