(57)【要約】【課題】悪意のあるクライアント端末が膨大なサービス要求を発信した場合でも、正規のクライアント端末が通常通りの短い時間でサービスを発見し、接続することが可能なクライアント端末、外部サービス機器を提供する。【解決手段】クライアント端末１００は、外部サービス機器２００へサービス要求を生成するサービス要求部１０３と、クライアント端末１００へ負荷を与えるパズルに解答するパズル解答部１０４とを備える。外部サービス機器２００は、パズルを生成し、パズルの解答を検証するパズル管理部２０５と、サービス応答を生成するサービス応答部２０３と、サービス応答にデジタル署名を付与するサービス署名部２０４とを備える。【選択図】図１
2006065639.tif 000002
【特許請求の範囲】
【請求項１】
サービス提供装置からデータあるいは機能を提供されるクライアント端末であって、
前記サービス提供装置へサービスを要求するメッセージを生成するサービス要求部と、
前記サービス要求部によって生成されたメッセージを前記サービス提供装置へ送信し、前記サービス提供装置から前記クライアント端末へ負荷を与える問題を受信する通信部と、
前記問題に解答する解答部と
を備えることを特徴とするクライアント端末。
【請求項２】
前記サービス提供装置から問題を受信した時刻を記録し、前記問題の解答を送信する際、当該問題を受信した時刻を添付する時間管理部を更に備えることを特徴とする請求項１に記載のクライアント端末。
【請求項３】
前記問題を受信した時刻から前記問題の解答を得るまでの時間が、一定の値に達していない場合、前記サービス提供装置への前記解答の送信を待機する要求抑制部を更に備えることを特徴とする請求項１又は２に記載のクライアント端末。
【請求項４】
クライアント端末へデータあるいは機能を提供するサービス提供装置であって、
前記クライアント端末へ負荷を与える問題を生成し、前記問題の解答を受信した場合、前記解答を検証する問題管理部と、
前記クライアント端末からサービスを要求するメッセージを受信した場合、前記問題を前記クライアント端末へ送信し、前記クライアント端末から前記問題の解答を受信する通信部と、
前記問題の解答を受信した場合、前記クライアント端末から送信されたサービスを要求するメッセージに応答するメッセージを生成するサービス応答部と、
前記サービス応答部によって生成されたメッセージにデジタル署名を付与する署名部と
を備えることを特徴とするサービス提供装置。
【請求項５】
前記問題の難易度に応じて、優先度を計算する優先制御部を更に備え、
前記署名部は、前記優先度に従って、順に署名を付与することを特徴とする請求項４に記載のサービス提供装置。
【請求項６】
前記クライアント端末が問題を解答するために要した解答時間を測定する時間管理部を更に備えることを特徴とする請求項４又は５に記載のサービス提供装置。
【請求項７】
前記時間管理部によって測定された解答時間に基づいて、前記サービスを要求するメッセージ毎の統計処理を行う統計処理部を更に備えることを特徴とする請求項６に記載のサービス提供装置。
【請求項８】
前記統計処理部の統計結果に基づいて、前記サービスを要求するメッセージの危険度を計算するリスク回避部を更に備えることを特徴とする請求項７に記載のサービス提供装置。
【請求項９】
前記クライアント端末がサービス提供装置を利用した時間に基づいて、信頼度を決定する信頼形成部を更に備え、
前記リスク回避部は、前記統計処理部の統計結果及び前記信頼度に基づいて危険度を計算することを特徴とする請求項８に記載のサービス提供装置。
【請求項１０】
クライアント端末と、当該クライアント端末へデータあるいは機能を提供するサービス提供装置とを備えるシステムにおいて、前記サービス提供装置を発見するサービス発見方法であって、
前記クライアント端末が、前記サービス提供装置へサービスを要求するメッセージを生成するステップと、
前記サービス提供装置が、前記クライアント端末へ負荷を与える問題を生成するステップと、
前記サービス提供装置が、前記クライアント端末からサービスを要求するメッセージを受信した場合、前記問題を前記クライアント端末へ送信するステップと、
前記クライアント端末が、前記問題に解答するステップと、
前記サービス提供装置が、前記クライアント端末から前記問題の解答を受信した場合、前記解答を検証するステップと
前記サービス提供装置が、前記問題の解答を検証した場合、前記クライアント端末から送信されたサービスを要求するメッセージに応答するメッセージを生成するステップと、
前記サービス提供装置が、前記応答するメッセージにデジタル署名を付与するステップと
を含むことを特徴とするサービス発見方法。
【請求項１１】
クライアント端末が、前記問題を受信した時刻から前記問題の解答を得るまでの時間が、一定の値に達していない場合、前記サービス提供装置への前記解答の送信を待機するステップを更に含むことを特徴とする請求項１０に記載のサービス発見方法。
【請求項１２】
前記サービス提供端末装置が、
前記クライアント端末が問題を解答するために要した解答時間を測定するステップと、
前記測定された解答時間に基づいて、前記サービスを要求するメッセージ毎の統計処理を行うステップと、
前記クライアント端末がサービス提供装置を利用した時間に基づいて、信頼度を決定するステップと、
前記統計処理の結果及び前記信頼度に基づいて、前記サービスを要求するメッセージの危険度を計算するステップと、
前記問題の難易度及び前記危険度に応じて、優先度を計算するステップとを更に含み、
前記デジタル署名を付与するステップにおいて、前記優先度に従って、順に署名を付与することを特徴とする請求項１０又は１１に記載のサービス発見方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末、当該クライアント端末へデータあるいは機能を提供するサービス提供装置及びサービス発見方法に関する。
【背景技術】
【０００２】
クライアント端末が他のサービスを発見する仕組みは、サービス発見プロトコルとして多数の検討が行われている。例えば、Jlni,UPnP（Universal Plug ＆ Play）,SLP（Service Location Protocol）等がサービス発見の手順を定義したプロトコルとして提案されている。サービス発見プロトコルでは、サービスを利用するクライアントが、サービス要求機能において要求するサービスを指定して周囲にブロードキャストする。要求を受信したサービスは、自身の提供するサービスとクライアントのサービス要求に記述されたサービスが一致する場合に、サービス応答機能においてサービス応答メッセージを生成し、クライアントに応答する。このように、効率良く通信相手を発見するための技術は開示されている（例えば、特許文献１参照。）
又、サービスは、接続すべきクライアントを接続前に把握していないため、接続を要求する不特定多数のクライアントに対してサービス応答を返信することが必要である。又、サービスはサービス自身の身元を証明するために、サービス応答にデジタル署名を付与することが重要である。このデジタル署名機能は、既存のサービス発見プロトコルにおいて必ずしも搭載されている機能ではないが、ＳＬＰではオプションとして提供されている。サービス応答へのデジタル署名機能を利用することにより、悪意のあるサービスが偽のサービス応答を発信し、クライアントが正規のサービスに接続することを妨害する攻撃を防止することができる。
【特許文献１】特開２００４−８８４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の従来技術においては、サービスのサービス応答機能が不特定多数の任意のクライアントによるサービス要求に応答する必要がある。このため、悪意のあるクライアントが膨大な数のサービス要求を発信した場合、これらのサービス要求に対してサービスはデジタル署名を付与してサービス応答を返信することが必要である。デジタル署名は、デジタルカメラ等の計算機能の乏しいサービスにとって負荷の高い計算処理を要求するため、膨大な数のデジタル署名を計算するサービスはＣＰＵリソースが枯渇し、新規のサービス要求を処理できなくなるという問題があった。
【０００４】
本発明は、上記の課題に鑑み、悪意のあるクライアントが膨大なサービス要求を発信した場合でも、正規のクライアントが通常通りの短い時間でサービスを発見し、接続することが可能なクライアント端末、サービス提供装置及びサービス発見方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の第１の特徴は、サービス提供装置からデータあるいは機能を提供されるクライアント端末であって、（ａ）サービス提供装置へサービスを要求するメッセージを生成するサービス要求部と、（ｂ）サービス要求部によって生成されたメッセージをｆサービス提供装置へ送信し、サービス提供装置からクライアント端末へ負荷を与える問題を受信する通信部と、（ｃ）問題に解答する解答部とを備えるクライアント端末であることを要旨とする。ここで、「問題」とは、クライアント端末に何らかの処理負荷を与える計算処理を指し、例えば、クライアントとサービスで共有したハッシュ関数を利用した計算のパズルなどが含まれる。
【０００６】
第１の特徴に係るクライアント端末によると、外部サービス機器へ接続を要求した際に、クライアント端末でパズルに解答することが必要となるため、悪意のあるクライアント端末が多数の要求を発信することを妨害し、正規のクライアント端末からの接続要求が処理可能となる。このため、悪意のあるクライアントが膨大なサービス要求を発信した場合でも、正規のクライアントが通常通りの短い時間でサービスを発見し、接続することができる。
【０００７】
又、第１の特徴に係るクライアント端末は、サービス提供装置から問題を受信した時刻を記録し、問題の解答を送信する際、当該問題を受信した時刻を添付する時間管理部を更に備えてもよい。このクライアント端末によると、サービス提供装置において、解答時間を管理することが可能となる。
【０００８】
又、第１の特徴に係るクライアント端末は、問題を受信した時刻から問題の解答を得るまでの時間が、一定の値に達していない場合、サービス提供装置への解答の送信を待機する要求抑制部を更に備えてもよい。このクライアント装置によると、問題の解答時間が短い場合に一定時間まで待機することにより、サービス提供装置がサービス要求に対して評価する危険度を下げることができるため、正規のクライアント端末が外部サービス機器に接続できる確率を更に高めることができる。
【０００９】
本発明の第２の特徴は、クライアント端末へデータあるいは機能を提供するサービス提供装置であって、（ａ）クライアント端末へ負荷を与える問題を生成し、問題の解答を受信した場合、解答を検証する問題管理部と、（ｂ）クライアント端末からサービスを要求するメッセージを受信した場合、問題をクライアント端末へ送信し、クライアント端末から問題の解答を受信する通信部と、（ｃ）問題の解答を受信した場合、クライアント端末から送信されたサービスを要求するメッセージに応答するメッセージを生成するサービス応答部と、（ｄ）サービス応答部によって生成されたメッセージにデジタル署名を付与する署名部とを備えるサービス提供装置であることを要旨とする。
【００１０】
第２の特徴に係るサービス提供装置によると、クライアント端末が外部サービス機器へ接続を要求した際に、クライアント端末でパズルに解答することが必要となるため、悪意のあるクライアント端末が多数の要求を発信することを妨害し、正規のクライアント端末からの接続要求を処理可能となる。このため、悪意のあるクライアントが膨大なサービス要求を発信した場合でも、正規のクライアントが通常通りの短い時間でサービスを発見し、接続することができる。
【００１１】
又、第２の特徴に係るサービス提供装置は、問題の難易度に応じて、優先度を計算する優先制御部を更に備え、署名部は、優先度に従って、順に署名を付与してもよい。ここで、「難易度」とは、問題の難しさの程度を示す。例えば、クライアントとサービスが共有したハッシュ関数を利用するパズルにおいて、サービスが、ハッシュ化前のデータの一部を隠蔽してハッシュ化後のデータをクライアントに送信する場合、隠蔽されたビット数を難易度と定義することができる。このサービス提供装置によると、クライアント端末の解答した問題の難易度に従って、サービスの署名処理の優先制御を行うため、悪意のあるクライアント端末が難易度の高いパズルを多数解かなければＤｏＳ攻撃を実行できず、正規のクライアント端末からのサービス要求を処理可能とする。
【００１２】
又、第２の特徴に係るサービス提供装置は、クライアント端末が問題を解答するために要した解答時間を測定する時間管理部を更に備えてもよい。このサービス提供装置によると、解答時間を管理することができ、解答時間に基づいて危険度などの計算を行うことができる。
【００１３】
又、第２の特徴に係るサービス提供装置は、時間管理部によって測定された解答時間に基づいて、サービスを要求するメッセージ毎の統計処理を行う統計処理部を更に備えてもよい。このサービス提供装置によると、統計処理を行うことができ、統計処理の結果に基づいて危険度などの計算を行うことができる。
【００１４】
又、第２の特徴に係るサービス提供装置は、統計処理部の統計結果に基づいて、サービスを要求するメッセージの危険度を計算するリスク回避部を更に備えてもよい。ここで、「危険度」とは、クライアント端末から受信したサービス要求がＤｏＳ攻撃である程度を示す指数であり、例えば、短時間でパズルに解答して応答されたメッセージや、難易度の低いパズルに解答したメッセージの危険度を高いとみなすことができる。このサービス提供装置によると、危険度を計算することができ、危険度に基づいて優先度を計算し、優先度に従って署名を付与する順序を決めることができる。このため、パズルの難易度、解答時間や解答時間の集中の程度等の情報を元にＤｏＳ攻撃である危険を推測し、危険度に基づいて署名処理の優先制御を行うことが可能であり、正規のクライアントのサービス要求を優先的に処理することが可能となる。
【００１５】
又、第２の特徴に係るサービス提供装置は、クライアント端末がサービス提供装置を利用した時間に基づいて、信頼度を決定する信頼形成部を更に備え、リスク回避部は、統計処理部の統計結果及び信頼度に基づいて危険度を計算してもよい。ここで、「信頼度」とは、クライアント端末が正規のクライアントである程度を示す指数であり、例えば、一定の時間以上サービスに接続した実績のあるクライアントについて、署名処理の優先度を高めるか、あるいはパズルの送信を省略して優先的に接続することができる。このサービス提供装置によると、リスク回避部における危険度の計算に信頼度を利用することにより、より高い精度で署名処理の優先制御を行い、サービスを適正に利用した実績のあるクライアント端末のサービス要求について処理の優先度を高めて、正規のクライアント端末のサービス要求を優先的に処理することが可能となる。
【００１６】
本発明の第３の特徴は、クライアント端末と、当該クライアント端末へデータあるいは機能を提供するサービス提供装置とを備えるシステムにおいて、サービス提供装置を発見するサービス発見方法であって、（ａ）クライアント端末が、サービス提供装置へサービスを要求するメッセージを生成するステップと、（ｂ）サービス提供装置が、クライアント端末へ負荷を与える問題を生成するステップと、（ｃ）サービス提供装置が、クライアント端末からサービスを要求するメッセージを受信した場合、問題をクライアント端末へ送信するステップと、（ｄ）クライアント端末が、問題に解答するステップと、（ｅ）サービス提供装置が、クライアント端末から問題の解答を受信した場合、解答を検証するステップと、（ｆ）サービス提供装置が、問題の解答を検証した場合、クライアント端末から送信されたサービスを要求するメッセージに応答するメッセージを生成するステップと、（ｇ）サービス提供装置が、応答するメッセージにデジタル署名を付与するステップとを含むサービス発見方法であることを要旨とする。
【００１７】
第３の特徴に係るサービス発見方法によると、クライアント端末が外部サービス機器へ接続を要求した際に、クライアント端末でパズルに解答することが必要となるため、悪意のあるクライアント端末が多数の要求を発信することを妨害し、正規のクライアント端末からの接続要求を処理可能となる。このため、悪意のあるクライアントが膨大なサービス要求を発信した場合でも、正規のクライアントが通常通りの短い時間でサービスを発見し、接続することができる。
【００１８】
又、第３の特徴に係るサービス発見方法は、クライアント端末が、問題を受信した時刻から問題の解答を得るまでの時間が、一定の値に達していない場合、サービス提供装置への解答の送信を待機するステップを更に含んでもよい。このサービス発見方法によると、問題の解答時間が短い場合に一定時間まで待機することにより、サービス提供装置がサービス要求に対して評価する危険度を下げることができるため、正規のクライアント端末が外部サービス機器に接続できる確率を更に高めることができる。
【００１９】
又、第３の特徴に係るサービス発見方法は、サービス提供端末装置が、クライアント端末が問題を解答するために要した解答時間を測定するステップと、測定された解答時間に基づいて、サービスを要求するメッセージ毎の統計処理を行うステップと、クライアント端末がサービス提供装置を利用した時間に基づいて、信頼度を決定するステップと、統計処理の結果及び信頼度に基づいて、サービスを要求するメッセージの危険度を計算するステップと、問題の難易度及び危険度に応じて、優先度を計算するステップとを更に含み、デジタル署名を付与するステップにおいて、優先度に従って、順に署名を付与してもよい。このサービス発見方法によると、パズルの難易度、解答時間や解答時間の集中の程度等の情報を元にＤｏＳ攻撃である危険を推測し、危険度に基づいて署名処理の優先制御を行うことが可能であるため、正規のクライアントのサービス要求を優先的に処理することが可能となる。又、クライアント端末がサービスに接続した時間を元に、クライアント端末が正当であることを示す信頼度を利用することができるため、より高い精度で署名処理の優先制御を行い、正規のクライアント端末のサービス要求を優先的に処理することが可能となる。
【発明の効果】
【００２０】
本発明によると、悪意のあるクライアントが膨大なサービス要求を発信した場合でも、正規のクライアントが通常通りの短い時間でサービスを発見し、接続することが可能なクライアント端末、サービス提供装置及びサービス発見方法を提供することができる。
【発明を実施するための最良の形態】
【００２１】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。
【００２２】
（サービス発見システム）
本発明の実施の形態におけるサービス発見システムは、図１に示すように、クライアント端末１００と外部サービス機器２００（サービス提供装置）とから構成される。
【００２３】
本実施形態において、クライアント端末１００は、入出力機能の拡張・遠隔デバイスとの通信／状態確認／制御等を目的として、外部サービス機器２００と接続する。外部サービス機器２００とは、デジタルカメラ・ビデオカメラ・テレビ・スピーカ等のクライアント端末よりも優れた入出力機能を有する機器や、ネットワーク機能を有する冷蔵庫・洗濯機・電子レンジ・エアコン等の白物家電や、温度計・湿度計・赤外線センサ・体温計・血圧計・体重計といった各種センサや、他のＰＣ・携帯電話・ＰＤＡといったクライアント端末や、ネットワーク上のあらゆるソフトウェアなど、クライアント端末に対して何らかの機能あるいはデータを提供するハードウェアもしくはソフトウェアである。
【００２４】
クライアント端末１００は、これらの外部サービス機器２００に接続することで、クライアント端末１００単体では実現できない多様なアプリケーションを実現する。例えば、高機能なデジタルカメラで撮影した画像をクライアント端末１００に転送して蓄積し、任意の大画面テレビに転送して表示するアプリケーションを実現することができる。又、日々の体温や体重の情報をセンサから取得して携帯電話に蓄積し、１ヶ月の履歴をテレビに表示して確認するといったアプリケーションが考えられる。これらのアプリケーションを実現するためには、クライアント端末１００が他のサービスを発見するための仕組みが必要である。
【００２５】
クライアント端末１００は、図１に示すように、中央処理部１０１と、通信部１０２と、サービス要求部１０３と、パズル解答部１０４と、時間管理部１０５と、要求抑制部１０６とを備える。
【００２６】
中央処理部１０１は、クライアント端末１００の各構成要素間の情報の流れを制御する。
【００２７】
通信部１０２は、外部サービス機器２００の通信部２０２との間で通信を行う。例えば、サービス要求部１０３によって生成されたメッセージを外部サービス機器２００へ送信し、外部サービス機器２００からパズルを受信する。
【００２８】
サービス要求部１０３は、サービスを要求するメッセージ（サービス要求）を生成し、通信部１０２を介して、外部サービス機器２００へ送信する。又、サービス要求部１０３は、外部サービス機器２００からクライアント端末１００へ応答するメッセージ（サービス応答）を通信部１０２を介して受信し、サービスの署名の検証を行う。
【００２９】
パズル解答部１０４は、外部サービス機器２００から送信されたパズルに解答する。
【００３０】
時間管理部１０５は、外部サービス機器２００からパズルを受信した時刻に関する情報やタイムカードを記録する。又、時間管理部１０５は、外部サービス機器２００に問題の解答やメッセージを送信する際に、問題を受信した時刻に関する情報やタイムカードを読み出して、メッセージに添付する。
【００３１】
要求抑制部１０６は、パズルを受信した時刻からパズルの解答を得るまでの時間が、一定の値に達していない場合、即ち、パズル解答部１０４におけるパズルの解答時間が短い場合に、外部サービス機器２００へパズルの解答をすぐに送信せず、一定時間待機する。
【００３２】
外部サービス機器２００は、図１に示すように、中央処理部２０１と、通信部２０２と、サービス応答部２０３と、サービス署名部２０４と、パズル管理部２０５と、優先制御部２０６と、時間管理部２０７と、統計処理部２０８と、信頼形成部２０９と、リスク回避部２１０とを備える。
【００３３】
中央処理部２０１は、外部サービス機器２００の各構成要素間の情報の流れを制御する。
【００３４】
通信部２０２は、クライアント端末１００の通信部１０２との間で通信を行う。例えば、クライアント端末１００からサービスを要求するメッセージを受信した場合、パズルをクライアント端末１００へ送信し、クライアント端末１００からパズルの解答を受信する。
【００３５】
サービス応答部２０３は、クライアント端末１００からサービスを要求するメッセージ（サービス要求）を受信する。又、サービス応答部２０３は、クライアント端末１００からパズルの解答を受信した場合、リスク回避部２１０やサービス署名部２０４における処理を経た後、クライアント端末１００へ応答するメッセージ（サービス応答）を送信する。
【００３６】
サービス署名部２０４は、サービス応答部２０３から署名の要求を受信した際に、クライアント端末１００へ応答する応答メッセージ（サービス応答）にデジタル署名を付与する。又、サービス署名部２０４は、優先制御部２０６に通知された優先度に従って、順に署名を付与する。
【００３７】
パズル管理部２０５（問題管理部）は、サービス応答部２０３からの要求に対して、クライアント端末１００へ負荷を与えるパズルを生成する。又、パズル管理部２０５は、パズルの解答を受信した場合、パズルの解答を検証する。
【００３８】
優先制御部２０６は、パズルの難易度やリスク回避部２１０において計算された危険度（リスクの情報）に基づいて、サービス要求への署名の優先度を計算し、計算された優先度をサービス署名部２０４に通知する。
【００３９】
時間管理部２０７は、クライアント端末１００からサービス要求を受信した時刻を記録し、サービス応答部２０３を介して、その時刻情報をクライアント端末１００へ送信する。又、時間管理部２０７は、クライアント端末１００からパズル解答応答を受信した際に、時刻の情報を利用して、クライアント端末１００がパズルを解答するために要した解答時間を測定し、統計処理部２０８へ通知する。尚、時間管理部２０７において生成される時刻の情報は、悪意のある端末による改ざんを防止するために暗号化してもよい。
【００４０】
統計処理部２０８は、時間管理部２０７によって測定されたパズルの解答時間に基づいて、サービス要求毎の統計処理を行い、受信したサービス要求に関する計算結果をリスク回避部２１０へ通知する。
【００４１】
信頼形成部２０９は、リスク回避部２１０からの信頼度要求に対して、受信したサービス要求の発信元であるクライアント端末１００の信頼度を計算して応答する。信頼度は、クライアント端末１００の時間管理部１０５からサービス要求部１０３を経由して送信されたタイムカードを確認し、クライアント端末１００が過去に外部サービス機器２００を利用した時間の情報に基づいて計算する。
【００４２】
リスク回避部２１０は、パズル管理部２０５からサービス応答部２０３を介して通知を受けたパズルの難易度と、時間管理部２０７から通知を受けたパズルの解答時間と、統計処理部２０８から通知を受けたサービス要求に関する統計の計算結果と、信頼形成部２０９から通知を受けたクライアント端末１００の信頼度に基づいて、クライアント端末１００から受信したサービス要求がＤｏＳ（Denial of Service）攻撃である危険度を示すリスクの程度を計算し、計算結果をサービス応答部２０３を介して優先制御部２０６に通知する。
【００４３】
又、本実施形態に係るクライアント端末１００は、処理制御装置（ＣＰＵ）を有し、上述した中央処理部１０１、サービス要求部１０３、パズル解答部１０４、時間管理部１０５、要求抑制部１０６などをモジュールとして、ＣＰＵに内蔵する構成とすることができる。これらのモジュールは、パーソナルコンピュータ等の汎用コンピュータにおいて、所定のプログラム言語を利用するための専用プログラムを実行することにより実現することができる。
【００４４】
又、図示していないが、クライアント端末１００は、サービス要求処理、パズル解答処理、時間管理処理、要求抑制処理などをＣＰＵに実行させるためのプログラムを蓄積するプログラム保持部を備えてもよい。プログラム保持部は、例えば、ＲＡＭ、ＲＯＭ、ハードディスク、フレキシブルディスク、コンパクトディスク、ＩＣチップ、カセットテープなどの記録媒体である。このような記録媒体によれば、プログラムの蓄積、運搬、販売などを容易に行うことができる。
【００４５】
同様に、外部サービス機器２００は、処理制御装置（ＣＰＵ）を有し、上述した中央処理部２０１、サービス応答部２０３、サービス署名部２０４、パズル管理部２０５、優先制御部２０６、時間管理部２０７、統計処理部２０８、信頼形成部２０９、リスク回避部２１０などをモジュールとして、ＣＰＵに内蔵する構成とすることができる。これらのモジュールは、パーソナルコンピュータ等の汎用コンピュータにおいて、所定のプログラム言語を利用するための専用プログラムを実行することにより実現することができる。
【００４６】
又、図示していないが、外部サービス機器２００は、サービス応答処理、サービス署名処理、パズル管理処理、優先制御処理、時間管理処理、統計処理、信頼形成処理、リスク回避処理などをＣＰＵに実行させるためのプログラムを蓄積するプログラム保持部を備えてもよい。プログラム保持部は、例えば、ＲＡＭ、ＲＯＭ、ハードディスク、フレキシブルディスク、コンパクトディスク、ＩＣチップ、カセットテープなどの記録媒体である。このような記録媒体によれば、プログラムの蓄積、運搬、販売などを容易に行うことができる。
【００４７】
（サービス発見方法）
次に、本実施形態に係るサービス発見方法について、図２〜４を用いて説明する。図２は、クライアント端末１００及び外部サービス機器２００のシーケンス図であり、図３は、クライアント端末１００の動作を示すフローチャート、図４は、外部サービス機器２００の動作を示すフローチャートである。
【００４８】
サービス発見のシーケンスは、クライアント端末１００がサービス要求を発信してから外部サービス機器２００がパズルの解答を受信するまでの第一のステップ、外部サービス機器２００がパズルの解答を受信してから、サービス応答をクライアント端末１００に送信するまでの第二のステップ、クライアント端末１００がサービス応答を受信してから、外部サービス機器２００からサービス切断応答を受信し、タイムカードをクライアント端末１００内に蓄積するまでの第三のステップから構成される。
【００４９】
＝第１のステップ＝
まず、図２のステップＳ１０１において、クライアント端末１００のサービス要求部１０３は、外部サービス機器２００のサービス応答部２０３に対してサービス要求及びタイムカードを送信する（図３のステップＳ２０１）。
【００５０】
次に、図２のステップＳ１０２において、外部サービス機器２００のサービス応答部２０３は、サービス要求を受信し（図４のステップＳ３０１）、時間管理部２０７へ時刻要求を送信する。次に、ステップＳ１０３において、時間管理部２０７は、時刻を記録し、必要であれば時刻を暗号化する（図４のステップＳ３０２）。そして、ステップＳ１０４において、時間管理部２０７は、サービス応答部２０３へ時刻応答を送信する。
【００５１】
次に、ステップＳ１０５において、サービス応答部２０３は、パズル管理部２０７へパズル生成要求を送信する。ステップＳ１０６において、パズル管理部２０７はパズルを生成する（図４のステップＳ３０３）。そして、ステップＳ１０７において、パズル管理部２０５は、サービス応答部２０３へパズル生成応答を送信する。
【００５２】
次に、ステップＳ１０８において、サービス応答部２０３は、クライアント端末１００のサービス要求部１０３へ時刻情報、パズルと共に、パズル解答要求を送信する（図４のステップＳ３０４）。サービス要求部１０３は、パズルの回答要求などを受信する（図３のステップＳ２０２）。
【００５３】
次に、ステップＳ１０９において、サービス要求部１０３は、時刻記録要求を時間管理部１０５へ送信し、ステップＳ１１０において、時間管理部１０５は、時刻を書き込む（図３のステップＳ２０３）。又、時間管理部１０５はパズルの解答を開始した時刻を別途記録する。ステップＳ１１１において、時間管理部１０５は、サービス要求部１０３へ時刻記録応答を送信する。
【００５４】
次に、ステップＳ１１２において、サービス要求部１０３は、パズル解答部１０４へパズル回答要求を送信し、ステップＳ１１３において、パズル解答部１０４は、パズルに解答する（図３のステップＳ２０４）。そして、ステップＳ１１４において、パズル解答部１０４は、サービス要求部１０３へパズル解答応答を送信する。
【００５５】
次に、ステップＳ１１５において、サービス要求部１０３は、解答結果を得ると、時刻取得要求を時間管理部１０５へ送信する。ステップＳ１１６において、時間管理部１０５は蓄積した時刻を読み出し、ステップＳ１１７において、パズルの解答に要した時間を要求抑制部１０６へ通知する。
【００５６】
要求抑制部１０６は、解答時間が一定の値に達したか否か判断し（図３のステップＳ２０５）、一定の値に達している場合は、ステップＳ１１８において、解答送信を待機する（図３のステップＳ２０６）。ステップＳ１１９において、要求抑制部１０６は、時間管理部１０５へ待機解除通知を送信する。又、ステップＳ１２０において、時間管理部１０５に外部サービス機器２００を過去に利用した際に取得したタイムカードが蓄積されている場合、このタイムカードをサービス要求部１０３へ送信する。
【００５７】
次に、ステップＳ１２１において、サービス要求部１０３は、パズル解答応答とタイムカードをサービス応答部２０３へ送信する（図３のステップＳ２０７）。
【００５８】
＝第二のステップ＝
ステップＳ１２１において、サービス応答部２０３がパズル解答応答とタイムカードを受信し（図４のステップＳ３０５）、ステップＳ１２２において、サービス応答部２０３は、パズル管理部２０５へパズル解答検証要求を送信する。ステップＳ１２３において、パズル管理部２０５は、パズルの解答を検証する（図４のステップＳ３０６）。そして、ステップＳ１２４において、パズル解答部２０５は、サービス応答部２０３へパズル解答検証応答を送信する。
【００５９】
パズルの解答が正解である場合、サービス応答部２０３は、ステップＳ１２５において、パズル解答応答に付与された時刻情報を時間管理部２０７へ通知し、ステップＳ１２６において、時間管理部２０７は、パズル解答に要した時間を確認する（図４のステップＳ３０７）。
【００６０】
ステップＳ１２７において、時間管理部２０７はパズルの解答に要した時間を統計処理部２０８へ通知する。ステップＳ１２８において、統計処理部２０８はパズル解答に要した時間の統計処理を行い、統計を更新する（図４のステップＳ３０８）。
【００６１】
次に、ステップＳ１２９において、統計処理部２０８は、統計処理の計算結果をリスク回避部２１０に通知する。尚、リスク回避部２１０は、パズルの難易度とクライアント端末１００のタイムカードをサービス応答部２０３から取得する。又、ステップＳ１３０において、リスク回避部２１０は、タイムカードを信頼形成部２０９に送信し、信頼度の情報を取得する。ステップＳ１３１において、リスク回避部２１０は、パズルの難易度、計算時間、統計処理の結果、信頼度の情報を総合的に判断して危険度を計算し（図４のステップＳ３０９）、ステップＳ１３２において、計算結果をリスク判断応答と共にサービス応答部２０３に送信する。例えば、パズルの計算時間と難易度から接続要求を発信した外部サービス機器のＣＰＵ性能を推測し、サービス要求を発信した外部サービス機器を推定することにより、多数のサービス要求を発信する外部サービス機器を特定することができる。
【００６２】
次に、ステップＳ１３３において、サービス応答部２０３は、優先制御要求と共に危険度（リスクの情報）を優先制御部２０６に送信する。ステップＳ１３４において、優先制御部２０６は、パズルの難易度やリスク回避部２１０において計算された危険度に基づいて、優先度の計算を行い（図４のステップＳ３１０）、ステップＳ１３５において、サービス署名部２０４に優先度を通知する。ステップＳ１３６において、サービス署名部２０４は、サービス応答メッセージに対する署名処理の優先制御を行う。
【００６３】
ステップＳ１３７において、サービス応答部２０３はサービス署名部２０４に対して署名を要求し、ステップＳ１３８において、サービス署名部２０４は、最も優先度の高い要求メッセージに対して署名を作成する（図４のステップＳ３１１）。そして、ステップＳ１３９において、サービス署名部２０４は、署名応答をサービス応答部２０３へ送信し、ステップＳ１４０において、サービス応答部２０３は、署名付きサービス応答メッセージをクライアント端末１００のサービス要求部１０３へ送信する（図４のステップＳ３１２）。
【００６４】
＝第三のステップ＝
サービス要求部１０３は、サービス応答を受信し（図３のステップＳ２０８）、ステップＳ１４１において、受信したサービス応答の署名を検証する（図３のステップＳ２０９）。署名の検証が正常に終了すると、ステップＳ１４２において、サービス要求部１０３はサービス接続要求メッセージをサービス応答部２０３へ送信する。
【００６５】
ステップＳ１４３において、外部サービス機器２００のサービス応答部２０３は、時間管理部２０７へ時刻要求を送信し、ステップＳ１４４において、時間管理部２０７は時刻を記録し、暗号化処理を行う（図４のステップＳ３１３）。そして、ステップＳ１４５において、時間管理部２０７は、時刻応答をサービス応答部２０３へ送信し、サービス応答部２０３は、サービス接続応答メッセージをサービス要求部１０３へ応答する。
【００６６】
そして、ステップＳ１４７において、サービス利用が行われる（図３のステップＳ２１０及び図４のステップＳ３１４）。
【００６７】
次に、ステップＳ１４８において、サービス要求部１０３は、サービスの利用を終了する際にサービス切断要求及びタイムカードをサービス応答部２０３へ送信する。時間管理部１０５に外部サービス機器２００において発行されたタイムカードがあれば、そのタイムカードも同時にサービス応答部２０３へ送信する。
【００６８】
ステップＳ１４９において、サービス応答部２０３は、時間管理部２０７へ接続時間記録要求を送信し、時間管理部２０７は、接続時間を記録する（図４のステップＳ３１５）。タイムカードが送信されなかった場合には、時間管理部２０７が新規にタイムカードを発行し、接続時間を記録する。そして、ステップＳ１５１において、時間管理部２０７は、接続時間記録応答をサービス応答部２０３へ送信する。
【００６９】
ステップＳ１５２において、サービス応答部２０３はタイムカードをサービス切断応答メッセージに付与し、サービス要求部１０３へ応答する（図４のステップＳ３１６及び図３のステップＳ２１１）。ステップＳ１５３において、サービス要求部１０３はタイムカードを時間管理部１０５に蓄積する（図３のステップＳ２１２）。
【００７０】
以上のシーケンスにおいて、外部サービス機器２００がサービス要求メッセージを受信した際に、リスク回避部２１０において計算された危険度（リスクの情報）に基づいて署名処理の優先制御を行うため、悪意のある端末からのサービス要求メッセージに対する処理の優先度を下げ、正規のクライアント端末からのサービス要求を優先的に処理することが可能となる。
【００７１】
（作用及び効果）
本実施形態に係るクライアント端末１００、外部サービス機器２００によると、外部サービス機器２００へ接続を要求した際に、クライアント端末１００でパズルに解答することが必要となるため、悪意のあるクライアント端末が多数の要求を発信することを妨害し、正規のクライアント端末からの接続要求が処理可能となる。このため、悪意のあるクライアント端末が膨大なサービス要求を発信した場合でも、正規のクライアント端末が通常通りの短い時間でサービスを発見し、接続することができる。
【００７２】
又、クライアント端末１００が時間管理部１０５を備え、外部サービス機器２００が時間管理部２０７を備えることにより、解答時間を管理することが可能となる。又、解答時間に基づいて危険度などの計算を行うことができる。
【００７３】
又、クライアント端末１００が要求抑制部１０６を備えることにより、問題の解答時間が短い場合に一定時間まで、解答送信を待機する。このため、外部サービス機器２００がサービス要求に対して評価する危険度を下げることができるため、正規のクライアント端末が外部サービス機器に接続できる確率を更に高めることができる。
【００７４】
又、外部サービス機器２００が優先制御部２０６を備えるため、サービス署名部２０４は、優先度に従って、順に署名を付与することができる。このように、クライアント端末１００の解答した問題の難易度に従って、サービスの署名処理の優先制御を行うため、悪意のあるクライアント端末が難易度の高いパズルを多数解かなければＤｏＳ攻撃を実行できず、正規のクライアント端末からのサービス要求を処理可能とする。
【００７５】
又、外部サービス機器２００が統計処理部２０８を備えるため、統計処理の結果に基づいて危険度などの計算を行うことができる。
【００７６】
又、外部サービス機器２００がリスク回避部２１０を備えるため、危険度を計算することができ、危険度に基づいて優先度を計算し、優先度に従って署名を付与する順序を決めることができる。このため、パズルの難易度、解答時間や解答時間の集中の程度等の情報を元にＤｏＳ攻撃である危険を推測し、危険度に基づいて署名処理の優先制御を行うことが可能であり、正規のクライアントのサービス要求を優先的に処理することが可能となる。
【００７７】
又、外部サービス機器２００が信頼形成部２０９を備えるため、リスク回避部２１０における危険度の計算に信頼度を利用することができ、より高い精度で署名処理の優先制御を行い、サービスを適正に利用した実績のあるクライアント端末のサービス要求について処理の優先度を高めて、正規のクライアント端末のサービス要求を優先的に処理することが可能となる。
【００７８】
（その他の実施形態）
本発明は上記の実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
【００７９】
例えば、本発明の実施の形態において、クライアント端末１００に負荷を与える問題として、パズルを例にとり説明したが、パズルに限らず、クライアント端末１００に何らかの処理負荷を強いるものであれば構わない。
【００８０】
又、本発明の実施の形態において、外部サービス機器２００は、中央処理部２０１、サービス応答部２０３、サービス署名部２０４、パズル管理部２０５、優先制御部２０６、時間管理部２０７、統計処理部２０８、信頼形成部２０９、リスク回避部２１０等を一つの処理制御装置（ＣＰＵ）内に備えてもよいと説明したが、それらが二つあるいはそれ以上の処理制御装置に分かれていても構わない。その際はそれらの処理制御装置間でデータのやりとりが行えるようにバスなどで装置間を接続しているとする。クライアント端末１００についても同様である。
【００８１】
このように、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００８２】
【図１】本実施形態に係るクライアント端末及び外部サービス機器の構成ブロック図である。
【図２】本実施形態に係るサービス発見方法のシーケンス図である。
【図３】本実施形態に係るクライアント端末の動作を示すフローチャートである。
【図４】本実施形態に係る外部サービス機器の動作を示すフローチャートである。
【符号の説明】
【００８３】
１００…クライアント端末
１０１…中央処理部
１０２…通信部
１０３…サービス要求部
１０４…パズル解答部
１０５…時間管理部
１０６…要求抑制部
２００…外部サービス機器
２０１…中央処理部
２０２…通信部
２０３…サービス応答部
２０４…サービス署名部
２０５…パズル管理部
２０５…パズル解答部
２０６…優先制御部
２０７…パズル管理部
２０７…時間管理部
２０８…統計処理部
２０９…信頼形成部
２１０…リスク回避部
２９０…信頼形成部
【図１】
2006065639.tif 000003
【図２】
2006065639.tif 000004
【図３】
2006065639.tif 000005
【図４】
2006065639.tif 000006