説明

データ提供システム、中継ノード、データ利用管理方法、およびプログラム

【課題】アドホックネットワーク10上で転送された各種のデータの利用状況を客観的に監視することのできるデータ提供システムを提供する。
【解決手段】提供者ノード11は、利用許諾条件を共に設定した利用者に対して、アドホックネットワーク10を介して、データを提供する。利用者ノード12は、提供者ノード11から提供されるデータを利用許諾条件に従って利用する。中継ノード13、14は、提供者ノード11からのデータを利用者ノード12まで転送する。また、中継ノードは、自身が直接利用者ノードにデータを送信する最終中継ノード14となったとき、利用者ノード12でデータが利用許諾条件に従って正当に利用されているか否かを監視する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アドホックネットワーク上で転送されたデータの利用が正当なものかどうか確認する技術に関する。
【背景技術】
【0002】
今後、アドホックネットワークが普及するのに伴い、取り扱いに注意が必要なデータがアドホックネットワーク上で転送されることが増えると考えられる。取り扱いに注意が必要なデータは、例えば、プライバシ情報、著作権付きのデータ、特定の相手だけに開示されるデータ、代価を支払った者のみが利用できる有料コンテンツなどである。
【0003】
そのようなデータを提供する者にとって、データを受け取った者がデータをどのように利用するかが気がかりである。例えば、アドホックネットワークによる転送の途中でデータを受信した第三者がそのデータを改ざんしたり、不正に複製したり、横流ししたり、解析したり等が懸念される。
【0004】
このようなデータの不正な利用を防止する技術はこれまでにも提案されている(特許文献1)。特許文献1に開示された技術は、アドホックネットワークを構成するデバイスの移動端末による使用を認証局によって認証するものである。これによりアドホックネットワークに参加するデバイスの正当性が確保される。
【0005】
また例えば、DRM(Digital Rights Management)を利用して、データを特定のアプリケーションでしか利用できないようにする技術がある。また、そのアプリケーションによるデータの利用に一定の制限を加える技術がある。例えば、予め設定しておいた期間だけデータの利用を可能にしたり、予め設定しておいた条件通りの利用だけを可能にしたりすることができる。これによってデータの提供者はある程度は安心できる。
【特許文献1】特開2007−74393号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に開示された技術はデバイスを認証するものであり、アプリケーションの認証をするものではないので、アプリケーションの改ざんによって不正な利用が行われる可能性があった。
【0007】
また、データを特定のアプリケーションでしか利用できないようにする技術では、データの利用状況自体を客観的に監視している訳ではないので、正当な利用が客観的に担保されてはいなかった。
【0008】
本発明の目的は、アドホックネットワーク上で転送された各種のデータの利用状況を客観的に監視することのできるデータ提供システムを提供することである。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のデータ提供システムは、提供者と利用者の双方によって設定された利用許諾条件に従って利用するデータを、アドホックネットワークを介して提供するデータ提供システムであって、
前記利用許諾条件を共に設定した利用者に対して、前記アドホックネットワークを介して、前記データを提供する提供者ノードと、
前記提供者ノードから提供されるデータを前記利用許諾条件に従って利用する利用者ノードと、
前記提供者ノードからの前記データを前記利用者ノードまで転送し、自身が直接前記利用者ノードに前記データを送信する最終中継ノードとなったとき、前記利用者ノードで前記データが前記利用許諾条件に従って正当に利用されているか否かを監視する中継ノードと、を有している。
【0010】
また、前記最終中継ノードは、前記利用者ノードで前記データが正当に利用されることを確認して前記利用者ノードに前記データの利用を承認し、
前記利用者ノードは、前記最終中継ノードによって前記データの利用が承認されてはじめて前記データを利用できるようになるとしてもよい。
【0011】
また、前記最終中継ノードは、前記利用者ノードにおける前記データの不正な利用を検出すると、不正な利用があった旨を前記提供者ノードに報告することにしてもよい。
【0012】
また、前記最終中継ノードは、前記利用者ノードにおける前記データの不正な利用を検出すると、前記利用者ノードに前記データの利用を中止させることにしてもよい。
【0013】
また、前記最終中継ノードは、前記利用者ノードに、前記データの利用状況を監査するためのエージェントプログラムを送り、前記利用者ノード上の前記エージェントプログラムによる監査結果から不正な利用の有無を判断することにしてもよい。
【0014】
また、前記最終中継ノードは、前記利用者ノードにおいて前記データの利用状況の確認に関与しているプログラムの生存確認を継続的にしており、前記プログラムの生存が確認できなくなれば、前記利用者ノードに前記データの利用を中止または前記データを削除させることにしてもよい。
【0015】
また、前記最終中継ノードが、前記提供者ノードの要望により、利用許諾条件を満たす範囲で、前記利用者ノードに対して前記データを更新または削除させることにしてもよい。
【発明の効果】
【0016】
本発明によれば、第三者である最終中継ノードが利用者ノードにおけるデータの利用を監視するので、データの利用状況の客観的な監視を担保することができる。
【発明を実施するための最良の形態】
【0017】
本発明を実施するための形態について図面を参照して詳細に説明する。
【0018】
図1は、本発明の一実施形態によるデータ提供システムの構成を示すブロック図である。図1を参照すると、アドホックネットワーク10には提供者ノード11、利用者ノード12、および中継ノード13、14が含まれている。
【0019】
提供者ノード11は、データを提供するノードであり、アドホックネットワーク10上でデータを利用者ノード12へ送信する。提供者ノード11から送出されたデータは、中継ノード13、14を含む複数の中継ノードを経由して利用者ノード12に到達する。中継ノード14がデータを利用者ノード12へ直接送信する最終段の中継ノード(以下、最終中継ノードという)となっている。
【0020】
アドホックネットワークを構成する各ノードの実体は、デスクトップのパーソナルコンピュータ(PC)、ノート型のPC、携帯電話機(スマートフォン)、PDA(Personal Digital Assistant)、家庭用ゲーム機、携帯ゲーム機、ICカード、ICタグ等を想定している。
【0021】
各ノードは状況に応じて提供者ノード11、利用者ノード12、あるいは中継ノード13、14となる。
【0022】
提供者ノード11はデータを送信するに先立ち、利用者ノード12によるデータの利用に関する利用許諾条件を利用者ノード12との間で設定する。利用許諾条件を参照することにより、データの利用が正当なものであるか否かを判断することができる。利用許諾条件の内容は、提供者ノード11、利用者ノード12、および最終中継ノード14に保持される。利用許諾条件は他のノードに既知なデフォルトの条件であってもよく、またオンラインまたはオフラインで提供者ノード11と利用者ノード12の間にデータ利用契約を締結することにより決まる条件であってもよい。利用許諾条件の記述言語としては例えばXACML(eXtensible Access Control Markup Language)が考えられる。
【0023】
また、利用許諾条件は後から変更することが可能であり、時間の経過や利用者ノード12の属性が変化することにより、利用者ノード12は、それまで利用が許可されていたデータを利用できなくなることもありうる。
【0024】
また、提供者ノード11は、利用者ノード12での利用状況を最終中継ノード14からの利用状況報告で知ることができる。利用状況報告には不正な利用の発生を知らせる報告が含まれる。
【0025】
中継ノード13、14は、提供者ノード11から利用者ノード12へ送信されたデータを転送する。
【0026】
その中の最終中継ノード14は、提供者ノード11と利用者ノード12の間で設定された利用許諾条件を保持する。そして最終中継ノード14は、提供者ノード11から利用者ノード12へのデータを転送した後、利用者ノード12でのデータの利用状況を監視する。不正な利用があれば、それはこの利用状況の監視によって検出される。最終中継ノード14は、不正な利用を検出すると、不正な利用があったことを示す利用状況報告を提供者ノード11に送る。また、最終中継ノード14は、不正な利用があったときだけでなく、そのときの利用状況を示す利用状況報告を継続的に提供者ノード11に送ることにしてもよい。
【0027】
利用状況の監視には、例えば利用者ノード12でデータを利用するアプリケーションを検証することがある。また他の例として、利用者ノード12から自律的に送られてくる利用状況報告を受信し、内容を確認することがある。利用状況報告は例えばデータの利用に関するログの報告である。その場合には内容の確認はログの解析である。また他の例として、利用者ノード12に利用状況報告を要求し、要求に応じて送られてきた利用状況報告の内容を確認することがある。また、他の例として、利用者ノード12へ監視エージェントを送り、その監視エージェントに利用者ノード12内で利用状況を監視させることがある。また他の例として、利用者ノード12へデータを利用するためのアプリケーションを送り、そのアプリケーションの非改ざん性を検証することがある。
【0028】
また、利用許諾条件に利用者ノード12の変動する属性情報や時刻などに関する条件が含まれていれば、適時、利用者ノード12の属性情報や時刻などから利用許諾条件が満たされているか否か判定する。
【0029】
最終中継ノード14は、不正な利用を検出すると、それを提供者ノード11に知らせるために利用状況報告を送信することにしてもよい。不正な利用を知らせる利用状況報告には、例えば、不正な利用を行った利用者ノードや、不正な利用の具体的な内容が示される。また、最終中継ノード14は、正当な利用がされていることを提供者ノード11に知らせるために定期的に利用状況を送信することにしてもよい。
【0030】
また、最終中継ノード14は、不正な利用を検出したとき、不正な利用を行っているノードに対してデータの利用中止を要請することにしてもよい。あるいは、最終中継ノード14から送られた監視エージェントが利用者ノード12上で自律的にデータの利用を中止することにしてもよい。
【0031】
更に、最終中継ノード14は、提供者ノード11の要望により、利用許諾条件を満たす範囲で、利用者ノード12に対してデータの訂正などの更新および削除、あるいは契約失効に伴うデータの削除を行わせてもよい。
【0032】
利用者ノード12は、提供者ノード11との間で利用許諾条件を設定した後に提供者ノード11からデータを受信する。データを受信すると、利用者ノード12は、利用許諾条件を満たすようにしてデータを利用する。また、利用者ノード12は、最終中継ノード14による承認を得ることで、データの利用を開始できるようになるとしてもよい。その際、最終中継ノード14は、利用者ノード12にてデータが正当に利用されることを確認してから、データの利用を承認する。例えば、最終中継ノード14は利用者ノード12で用いられるアプリケーションの正当性を確認し、正当なものであることが確認できたらデータの利用を承認することにすればよい。
【0033】
なお、アドホックネットワーク10の性質上、時間経過によるネットワークトポロジの変化などにより、利用者ノード12に直接データを送信する最終中継ノード14は交代することがある。その場合、交代後は新たな最終中継ノードが上述した最終中継ノード14の役割を果たすことになる。
【0034】
図2は、本実施形態によるデータ提供システムの動作を示すフローチャートである。図2を参照すると、まず、提供者ノード11と利用者ノード12の間で利用許諾条件を設定する(ステップ101)。次に、提供ノード11は、必要に応じてデータを暗号化し、利用者ノード12に送信する(ステップ102)。その際、中継ノード13および中継ノード14はデータを中継する。
【0035】
利用者ノード12は、提供者ノード11からデータを受信すると、そのデータの利用を開始する。最終中継ノード14は、利用者ノード12によるデータの利用状況を監視する(ステップ103)。そして、最終中継ノード14は、利用状況の監視結果を利用状況報告として提供者ノード11に送信する(ステップ104)。
【0036】
最終中継ノード14は、不正な利用を検出したときに利用状況報告を送ることにしてもよく、また不正な利用が無くても定期的に利用状況報告を送ることにしてもよい。
【0037】
また不正な利用が検出されたときには、最終中継ノード14から利用者ノード12への要請により、あるいは最終中継ノード14から送られた監視エージェントにより、利用者ノード12でのデータの利用が中止される。
【0038】
また、利用者ノード12におけるデータの利用の前に最終中継ノード14による承認を必要としてもよい。
【0039】
図3は、本実施形態によるアドホックネットワークを構成するノードの構成を示すブロック図である。本ブロック図はノードが最終中継ノード14となったときに機能する部分に着目している。
【0040】
図3を参照すると、ノード21は、中継部22、監視部23、報告部24、および利用中止要請部25を有している。
【0041】
中継部22は、提供者ノード11から利用者ノード12へ送信されたデータを転送する。
【0042】
監視部23は、提供者ノード11と利用者ノード12の間で設定された利用許諾条件を保持する。また監視部23は、中継部22が提供者ノード11から利用者ノード12へのデータを転送した後、利用者ノード12でのデータの利用状況を監視する。不正な利用があれば、それはこの利用状況の監視によって検出される。利用状況の監視には上述したような様々なことが含まれる。
【0043】
報告部24は、中継部23が不正な利用を検出すると、それを提供者ノード11に知らせるために利用状況報告を提供者ノード11に送信する。また、報告部24は、正当な利用がされていることを提供者ノード11に知らせるために、中継部23にて不正な利用が検出されたか否かに関わらず、定期的に利用状況を提供者ノード11に送信することにしてもよい。
【0044】
利用中止要請部25は、監視部23で不正な利用が検出されると、不正な利用を行っているノードに対してデータの利用中止を要請する。ただし監視エージェントが利用者ノード12上で自律的にデータの利用を中止する場合には利用中止要請部25は不要である。
【0045】
また、利用中止要請部25は、利用許諾条件を満たす範囲で、提供者によるデータの書き換えや削除の指示があれば、それを利用者ノード12に実行させてもよく、契約が失効したとき、利用者ノード12にデータを削除させてもよい。
【0046】
以上説明したように、本実施形態によれば、アドホックネットワーク10で転送したデータが正当に利用されているか否かを、提供者ノード11および利用者ノード12以外の第三者である最終中継ノード14が監視するので監視の客観性が担保される。
【0047】
また、本実施形態によれば、アドホックネットワーク10の性質上、常に同じ者が利用状況を監視するのではなく、提供者ノード11から利用者ノード12へデータが転送される毎にそのデータの利用状況を監視する最終中継ノード14が変わるので、より客観性の高い監視が可能である。
【0048】
また、本実施形態によれば、時間経過に伴うネットワークトポロジの変化により、利用者ノード12に隣接する最終中継ノード14が入れ替わることがある。そのときにも監視者(最終中継ノード14)が入れ替わるので、更に監視の客観性が高いといえる。さらに、時間経過に伴うネットワークトポロジの変化により監視者(最終中継ノード14)の役割も交代することになるため、ことさら確認処理の一極集中化が緩和されることも期待できる。
【0049】
また、本実施形態によれば、適切に利用されているか否かの確認をデータによるのではなく、設定された利用許諾条件に基づいて行うので、利用許諾条件の設定を変更するだけで判断の条件を動的あるいは柔軟に変更することができる。また、それが外部の最終中継ノード14によって実現されるので認証局を利用する方法に比べて適用が比較的容易である。
【0050】
また、利用状況を監視するので、実際に不正な利用があったときにそれを検出することができ、また検出した不正な利用を中止させることができる。
【0051】
以下、本実施形態の具体的な実施例について説明する。
【0052】
(第1の実施例)
第1の実施例では、提供者ノード11から利用者ノード12へ、コピー転送を禁止したデータを提供するシステムを例示する。コピー転送の禁止は、システムのポリシーに基づくものであり、データの暗号化により実現される。
【0053】
提供者ノード11は特定の利用者ノード12をあて先として選択し、暗号化したデータを送信する。データは中継ノード13、14を介して利用者ノード12に送り届けられる。
【0054】
また、最終中継ノード14から利用者ノード12へ、暗号化されたデータを復号するためのエージェントプログラムを送信する。これによりエージェントプログラムを受信した利用者ノード12だけがデータを復号できるようになる。
【0055】
エージェントプログラムを受信した利用者ノード12上ではエージントプログラムが起動する。
【0056】
エージェントプログラムは、データの暗号化を一時的に復号して一時領域に保持することを定期的に繰り返す。これが繰り返されている間、利用者ノード12は復号化されたデータの利用が可能である。
【0057】
また、エージェントプログラムは、OS(Operation System)のイベントログから、データのコピーおよび転送の実行の履歴を含む監査ログを定期的に作成して最終中継ノード14に送信する。
【0058】
最終中継ノード14は、利用者ノード12のエージェントプログラムから受信した監査ログの内容を調査する。提供者ノード11から利用者ノード12に提供されたデータのコピーあるいは転送を検出すると、最終中継ノード14は、利用者ノード12上のエージェントプログラムに復号の中止を指示するとともに、提供者ノード11に不正な利用があった旨を報告する。指示を受けたエージェントプログラムは、それ以降のデータの復号を中止する。
【0059】
(第2の実施例)
第2の実施例では、提供者ノード11から会員の利用者ノード12に画像や映像等のコンテンツのデータを提供するシステムを例示する。会員は予め月額料金を支払うことにより、コンテンツのデータを1ヶ月間取得し、利用することができるようになる。期間限定によるデータの利用はシステムのポリシーに基づくものであり、専用のデータ送受信プログラムにより実現される。
【0060】
利用者ノード12の利用者は予め月額料金を支払って会員になっているものとする。会員による月額料金の支払いは課金サーバによって管理されているものとする。課金サーバは提供者サーバ11の一機能として含まれていてもよく、また独立して存在してもよい。
【0061】
提供者ノード11は利用者ノード12をあて先として選択し、暗号化したコンテンツのデータを送信する。データは中継ノード13、14を介して利用者ノード12に送り届けられる。
【0062】
利用者ノード12では、予め専用のデータ送受信プログラムが動作している。このデータ送受信プログラムは、データの暗号化を復号するためのプログラムであり、不正に改変することはできないものである。利用者ノード12は、このデータ送受信プログラムを用いてデータを復号することにより、復号化されたコンテンツのデータを利用できるようになる。
【0063】
最終中継ノード14は、課金サーバで管理されている月額料金支払いの状況から、利用者ノード12がデータの利用資格を維持しているか否かを把握する。会員が月額料金の不払いにより利用資格を失ったとき、課金サーバから最終中継ノード14へそれを通知することにしてもよく、最終中継ノード12が課金サーバに定期的に月額料金の支払い状況を問い合わせることにしてもよい。
【0064】
最終中継ノード14は利用者ノード12の利用者が利用資格を失ったことを知ると、利用者ノード12のデータ送受信プログラムにデータ利用の中止を指示する。指示を受けたデータ送受信プログラムは、暗号化されたデータを復号する機能を停止する等により、利用者ノード12の利用者がデータを利用できないようにする。
【0065】
(第3の実施例)
第3の実施例は、提供者ノード11から利用者ノード12へプログラムのデータを提供するシステムを提示する。プログラムは不正コピーなどの不正な利用が禁止されているものとする。不正な利用の禁止はシステムのポリシーに基づくものである。プログラム自体に、不正利用の証拠等を含む利用ログを生成し、最終中継ノード12に送信する機能があるものとする。
【0066】
利用者ノード12上でプログラムは利用状況に基づいて利用ログを生成し、最終中継ノード14に送信する。最終中継ノード14は、利用者ノード12から受信した利用ログから、不正な利用があったことを知ると、利用者ノード12上のプログラムに機能の停止を指示するとともに、提供者ノード11に不正な利用があった旨を報告する。指示を受けたプログラムは、それ以降、機能を停止する。
【0067】
(第4の実施例)
第4の実施例では、データを利用するためのアプリケーションを最終中継ノード14から利用者ノード14に提供する。また、本実施例では、利用者ノード12が自律的にログを最終中継ノード14に通知し、最終中継ノード14がそのログを確認する。
【0068】
図4は、第4の実施例によるデータ提供システムの動作を示すフローチャートである。図4を参照すると、提供者ノード11と利用者ノード12の間でデータ利用契約を締結することにより、データを利用するための利用許諾条件(ライセンス)を設定する(ステップ201)。ライセンスは提供者ノード11、利用者ノード12、および最終中継ノード14がそれぞれ保持する。
【0069】
ここでは一例としてライセンスの仕様は以下の通りとする。
【0070】
ライセンス:={発火条件,(ライセンスコア1|ライセンスコア1 AND ライセンスコア2 AND...)}
発火条件:=ライセンスが対象とするデータが満たすべき条件;データID=XXXXやデータ作成者ID=YYYYなど
ライセンスコア:={条件記述部,許諾時動作記述部}
条件記述部:={条件1|OR連結条件1 AND OR連結条件2 AND...};利用する際に満たすべき条件群
OR連結条件:={条件1|条件1 OR 条件2 OR...}
条件:={メタ情報識別子,関係子,値}
;メタ情報識別子で示されるメタ情報の値と提示された値の間の関係が、関係子で表される関係にあることが満たすべき条件
;例:利用者の名前=XXXXX、現在時刻が18時より前、現在時刻が9時より後
許諾時動作記述部:={動作};データ参照など、許諾された動作を記述
また、ライセンスの内容は一例として、「利用者の年齢が18歳以上であればデータAを参照してもよい。利用者の持っている公開鍵証明書が正当で期限切れでなければデータBを編集してもよい。」というようなものである。
【0071】
図4に戻り、次に最終中継ノード12は、データを利用するためのアプリケーションを利用者ノード12に提供する(ステップ202)。また、アプリケーションを提供した最終中継ノード14はアプリケーションの正しいバイナリハッシュ値を保持しておく。なお、アプリケーションを最終中継ノード14から提供するのは一例であり、他の中継ノード13や提供者ノード11から提供することにしてもよい。
【0072】
利用者はそのアプリケーションを使わなければ、提供者ノード11からのデータを利用できないものとする。例えば、そのアプリケーションのみが復号鍵を持っており、外部の一時領域を使わずに、暗号化されたデータを受け取って復号するなどの実装が考えられる。また、そのアプリケーションにはライセンスも埋め込まれており、利用者はそのライセンスを改変できないものとする。
【0073】
アプリケーションを受信した利用者ノード12は、その後、定期的にアプリケーションのバイナリハッシュ値を最終中継ノード14に送信する(ステップ203)。バイナリハッシュ値を受信した最終中継ノード14は、予め自身の保持しているバイナリハッシュ値と比較することによって、利用者ノード12から受信したアプリケーションが正当なものかどうか確認する(ステップ204)。なお、ここでは利用者ノード12から最終中継ノード14に定期的にバイナリハッシュ値を送信する例を示した。しかし、他の例として、利用者ノード12は、利用開始を宣言するときにアプリケーションのバイナリハッシュ値を送信することにしてもよい。また、このバイナリハッシュ値によるアプリケーションの正当性確認はオプションとし、実行しても実行しなくてもよいものとしてもよい。
【0074】
続いて、利用者ノード12は、アプリケーションを用いたデータの利用を開始する(ステップ205)。データの利用を開始した利用者ノード12は、データの利用中逐次あるいは利用終了後に、アプリケーションによって利用ログを作成し、最終中継ノード14に送信する(ステップ206)。この利用ログには、例えば、利用対象となったデータ、データの参照や編集などのオペレーション内容、利用開始および終了の時刻、利用者を特定する情報などが記録されている。
【0075】
利用ログを受信した最終中継ノード14は、その利用ログと自身の保持しているライセンスとを照合することにより、不正な利用があったか否か確認する(ステップ207)。
【0076】
不正な利用を検出すると、最終中継ノード14は、利用者ノード12上のアプリケーションに利用の中止を指示し(ステップ208)、提供者ノード11に不正な利用があったことを報告する(ステップ209)。また、利用者ノード12によるデータの利用が終了あるいは中止されていれば、提供者の意向により、アプリケーションがデータを削除することにしてもよい。また、アプリケーションがデータを利用できない状態にすることにしてもよい。
【0077】
(第5の実施例)
第5の実施例では、データを利用するためのアプリケーションを最終中継ノード14から利用者ノード12に提供する。また、本実施例では、利用者ノード12は、最終中継ノード14からの問合せに応じて利用ログを通知し、最終中継ノード14がそのログを確認する。
【0078】
図5は、第5の実施例によるデータ提供システムの動作を示すフローチャートである。図5のステップ301〜305は、図4に示したステップ201〜205と同じである。
【0079】
続いて、最終中継ノード14は、利用者ノード12上のアプリケーションに利用状況問合せを送り、データの利用状況を問い合わせる(ステップ306)。最終中継ノード14は利用状況問合せを定期的に送信してもよく、あるいはアドホックに送信してもよい。利用状況問合せを受信した利用者ノード12は、アプリケーションにより利用者ログを作成し、最終中継ノード14に送信する(ステップ307)。この利用者ログは第4の実施例のものと同様である。
【0080】
それ以降のステップ308〜310は、図4に示したステップ207〜209と同じである。
【0081】
(第6の実施例)
第6の実施例では、第4および第5の実施例のようにアプリケーションを最終中継ノード14から利用者ノード12に提供するのではなく、利用者ノード12が予めアプリケーションを保持している。また、本実施例では、利用者ノード12は、最終中継ノード14からの問合せに応じて利用ログを通知し、最終中継ノード14がそのログを確認する。
【0082】
図6は、第6の実施例によるデータ提供システムの動作を示すフローチャートである。図6のステップ401は、図4に示したステップ201と同じである。
【0083】
続いて、利用者ノード12は、自身の保持しているアプリケーションの正当性の確認を最終中継ノード14に依頼する(ステップ402)。依頼を受けた最終中継ノード14は、利用者ノード12のアプリケーションの正当性を確認する(ステップ403)。具体的には、例えば、バイナリハッシュ値の比較によりアプリケーションの正当性を確認することにすればよい。最終中継ノード14は、利用者ノード12で用いられる可能性のある複数の正当なアプリケーションのバイナリハッシュ値を予め保管しておく。利用者ノード12は自身の保持しているアプリケーションのバイナリハッシュ値を最終中継ノード14に送信する。最終中継ノード14は、受信したバイナリハッシュ値と、自身の保管している複数のバイナリハッシュ値とを比較する。受信したバイナリハッシュ値が、最終中継ノード14の保管しているバイナリハッシュ値のいずれかと一致すれば、アプリケーションは正当なものであると判断できる。
【0084】
図6に戻り、ステップ404〜410は、図4に示したステップ203〜209と同じである。
【0085】
(第7の実施例)
第7の実施例では、最終中継ノード14から利用者ノード12に監視エージェントを提供し、利用者ノード12上で監視エージェントがアプリケーションによるデータの利用状況を監査する。そして利用者ノード12の監視エージェントは最終中継ノード14へ監査結果を送信する。
【0086】
図7は、第7の実施例によるデータ提供システムの動作を示すフローチャートである。図7のステップ501は、図4に示したステップ201と同じである。
【0087】
次に、最終中継ノード14は利用者ノード12に監視エージェントを送信する(ステップ502)。この監視エージェントは改変ができないようになっており、自身の生存報告を適宜、最終中継ノード12に送信する。最終中継ノード12は、生存報告の受信により監視エージェントの生存確認を行う。例えば監視エージェントが不用意に削除されれば、最終中継ノード14に生存報告が届かなくなるので、それをもって最終中継ノード14は不正があったと判断する。不正があれば最終中継ノード14は利用者ノード12にデータの利用を中止するように要請する。
【0088】
また、利用者ノード12上の監視エージェントは、アプリケーションの正当性を定期的に確認し(ステップ503)、確認結果を最終中継ノード14に送信する(ステップ504)。ここでは一例として、監視エージェントはアプリケーションの正当性を定期的に確認することにした。しかし他の例として、監視エージェントは、アプリケーションの利用が開始される前にアプリケーションの正当性を確認することにしてもよい。また他の例として、監視エージェントは、アドホックにアプリケーションの正当性を確認することにしてもよい。また、ここでは一例として、監視エージェントは、アプリケーションの正当性を確認する毎に確認結果を最終中継ノード14に送信することにした。しかし他の例として、監視エージュエントは、アプリケーションが正当なものでないことが検出されたときのみ確認結果を送信することにしてもよい。また、監視エージェントは、データやライセンスの不正な書き換えについても適宜チェックしてもよい。
【0089】
次に、利用者ノード12は、アプリケーションを用いたデータの利用を開始する(ステップ505)。データの利用を開始した利用者ノード12は、データの利用中逐次、利用終了後、アプリケーションによって利用ログを作成し、監視エージェンに渡す(ステップ506)。この利用ログには、例えば、利用対象となったデータ、データの参照や編集などのオペレーション内容、利用開始および終了の時刻、利用者を特定する情報などが記録されている。
【0090】
また、利用者ノード12では、監視エージェントが、アプリケーションの吐き出した利用ログを監査し(ステップ507)、監査結果を最終中継ノード14に送信する(ステップ508)。監視エージェントによる監査結果の送信は、利用中逐次、利用終了後、あるいは不正があったときに行えばよい。
【0091】
最終中継ノード14は、利用者ノード12から不正があった旨の監査結果を受信すると、それを提供者ノード11に報告する(ステップ509)。また、監視エージェントは不正を検出したとき、不正に利用されたデータを削除する。
【0092】
(第8の実施例)
第8の実施例では、利用者ノード12が予めアプリケーションを保持している。また、本実施例では、利用者ノード12は最終中継ノード14からの問合せに応じて利用ログを通知し、最終中継ノード14がそのログを確認する。
【0093】
図8は、第8の実施例によるデータ提供システムの動作を示すフローチャートである。図8のステップ601〜603は、図6に示したステップ401〜403と同じである。また、それに続くステップ604〜611は、図5に示したステップ303〜310と同じである。
【0094】
(第9の実施例)
第9の実施例では、最終中継ノード14から利用者ノード12に監視エージェントを提供する。利用者ノード12上の監視エージェントは、最終中継ノード14から利用状況問合せを受けたときにアプリケーションによるデータの利用状況を監査し、監査結果を最終中継ノード14に送信する。
【0095】
図9は、第9の実施例によるデータ提供システムの動作を示すフローチャートである。図9のステップ701、702は、図7に示したステップ501、502と同じである。
【0096】
次に、最終中継ノード14は、例えば定期的に、利用者ノード12上の監視エージェントにアプリケーションの正当性確認を起動するための確認トリガーを送信する(ステップ703)。確認トリガーを受信した監視エージェントは、アプリケーションの正当性を提起的に確認し(ステップ704)、確認結果を最終中継ノード14に送信する(ステップ705)。
【0097】
利用者ノード12は、アプリケーションを用いたデータの利用を開始する(ステップ706)。
【0098】
最終中継ノード14は、利用者ノード12の監視エージェントに利用状況問合せを送信することにより監査を指示する(ステップ707)。利用状況問い合わせを受信した利用者ノード12の監視エージェントは、アプリケーションの利用ログを監査し(ステップ708)、監査結果を最終中継ノード14に送信する(ステップ709)。
【0099】
最終中継ノード14は、利用者ノード12から不正があった旨の監査結果を受信すると、それを提供者ノード11に報告する(ステップ710)。また、監視エージェントは不正を検出したとき、不正に利用されたデータを削除する。
【0100】
なお、本実施例では、利用状況問合せを受信した利用者ノード12の監視エージェントが監査を行い、監査結果を最終中継ノード14に送信する例を示した。しかし、他の例として、利用状況問合せを受信した利用者ノード12の監視エージェントが利用ログを最終中継ノード12に送信し、最終中継ノード12が利用ログを監査することにしてもよい。
【0101】
なお、上述した実施形態および実施例では、ある1つの中継ノードが最終中継ノード14になることを想定した例を示してきた。しかし他の例として、複数の中継ノードが協調動作することにより最終中継ノード14としての機能を果たすことにしてもよい。
【0102】
また、上述した実施形態および実施例にて説明した提供者ノード11、利用者ノード12、中継者ノード13、および最終中継者ノード14はコンピュータがそれぞれのソフトウェアプログラムを実行することにより実現することができる。
【図面の簡単な説明】
【0103】
【図1】本発明の一実施形態によるデータ提供システムの構成を示すブロック図である。
【図2】本実施形態によるデータ提供システムの動作を示すフローチャートである。
【図3】本実施形態によるアドホックネットワークを構成するノードの構成を示すブロック図である。
【図4】第4の実施例によるデータ提供システムの動作を示すフローチャートである。
【図5】第5の実施例によるデータ提供システムの動作を示すフローチャートである。
【図6】第6の実施例によるデータ提供システムの動作を示すフローチャートである。
【図7】第7の実施例によるデータ提供システムの動作を示すフローチャートである。
【図8】第8の実施例によるデータ提供システムの動作を示すフローチャートである。
【図9】第9の実施例によるデータ提供システムの動作を示すフローチャートである。
【符号の説明】
【0104】
10 アドホックネットワーク
11 提供者ノード
12 利用者ノード
13、14 中継ノード
21 ノード
22 中継部
23 監視部
24 報告部
25 利用中止要請部

【特許請求の範囲】
【請求項1】
提供者と利用者の双方によって設定された利用許諾条件に従って利用するデータを、アドホックネットワークを介して提供するデータ提供システムであって、
前記利用許諾条件を共に設定した利用者に対して、前記アドホックネットワークを介して、前記データを提供する提供者ノードと、
前記提供者ノードから提供されるデータを前記利用許諾条件に従って利用する利用者ノードと、
前記提供者ノードからの前記データを前記利用者ノードまで転送し、自身が直接前記利用者ノードに前記データを送信する最終中継ノードとなったとき、前記利用者ノードで前記データが前記利用許諾条件に従って正当に利用されているか否かを監視する中継ノードと、を有するデータ提供システム。
【請求項2】
前記最終中継ノードは、前記利用者ノードで前記データが正当に利用されることを確認して前記利用者ノードに前記データの利用を承認し、
前記利用者ノードは、前記最終中継ノードによって前記データの利用が承認されてはじめて前記データを利用できるようになる、請求項1に記載のデータ提供システム。
【請求項3】
前記最終中継ノードは、前記利用者ノードにおける前記データの不正な利用を検出すると、不正な利用があった旨を前記提供者ノードに報告する、請求項1または2に記載のデータ提供システム。
【請求項4】
前記最終中継ノードは、前記利用者ノードにおける前記データの不正な利用を検出すると、前記利用者ノードに前記データの利用を中止または前記データを削除させる、請求項1から3のいずれか1項に記載のデータ提供システム。
【請求項5】
前記最終中継ノードは、前記利用者ノードに、前記データの利用状況を監査するためのエージェントプログラムを送り、前記利用者ノード上の前記エージェントプログラムによる監査結果から不正な利用の有無を判断する、請求項1から4のいずれか1項に記載のデータ提供システム。
【請求項6】
前記最終中継ノードは、前記利用者ノードにおいて前記データの利用状況の確認に関与しているプログラムの生存確認を継続的にしており、前記プログラムの生存が確認できなくなれば、前記利用者ノードに前記データの利用を中止させる、請求項1から5のいずれか1項に記載のデータ提供システム。
【請求項7】
前記最終中継ノードが、前記提供者ノードの要望により、利用許諾条件を満たす範囲で、前記利用者ノードに対して前記データを更新または削除させる、請求項1から6のいずれか1項に記載のデータ提供システム。
【請求項8】
提供者と利用者の共に設定した利用許諾条件に従って利用するデータを提供者ノードからアドホックネットワークを介して利用者ノードに提供するための中継ノードであって、
前記提供者ノードからの前記データを前記利用者ノードまで転送する中継部と、
自ノードが直接前記利用者ノードに前記データを送信する最終中継ノードとなったとき、前記利用者ノードで前記データが前記利用許諾条件に従って正当に利用されているか否かを監視する監視部と、を有する中継ノード。
【請求項9】
提供者ノードからアドホックネットワークを介して利用者ノードにデータを提供し、前記データが、提供者と利用者が共に設定した利用許諾条件に従って利用されているか否か監視するためのデータ利用監視方法であって、
前記アドホックネットワークを構成する中継ノードが前記提供者ノードからの前記データを前記利用者ノードまで転送し、
直接前記利用者ノードに前記データを送信することとなった最終中継ノードが、前記利用者ノードで前記データが前記利用許諾条件に従って正当に利用されているか否かを監視する、データ利用監視方法。
【請求項10】
コンピュータを、提供者と利用者が共に設定した利用許諾条件に従って利用するデータを提供者ノードからアドホックネットワークを介して利用者ノードに提供するための中継ノードとして動作させるためのプログラムであって、
中継手段が、前記提供者ノードからの前記データを前記利用者ノードまで転送する手順と、
自ノードが直接前記利用者ノードに前記データを送信する最終中継ノードとなったとき、監視手段が、前記利用者ノードで前記データが前記利用許諾条件に従って正当に利用されているか否かを監視する手順と、をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−312114(P2008−312114A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−160169(P2007−160169)
【出願日】平成19年6月18日(2007.6.18)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】