(57)【要約】【課題】処理負荷を抑制しつつ、秘匿化されたグラフのさまざまな部分に適宜アクセスする。【解決手段】制御部を含むコンピュータが、各ノードと、ノード間の有向リンクとを含むグラフのアクセス管理を行うアクセス管理方法であって、制御部は、ノードＮにアクセスしようとする際、ノードＮにアクセスするまでに取得済みのアクセス情報を合わせることによって、ノードＮにアクセス可能となるアクセス情報である完全なアクセス情報が得られることを意味する完全性条件が成り立つか否かを判定し、完全性条件が成り立つ場合、ノードＭからノードＮへのアクセスを許可し、完全性条件が成り立たない場合、ノードＭからノードＮへのアクセスを中止する。【選択図】図３
2020064688.tif 000002
【特許請求の範囲】
【請求項１】
制御部を含むコンピュータが、各ノードと、ノード間の有向リンクとを含むグラフのアクセス管理を行うアクセス管理方法であって、
前記制御部は、
ノードＮにアクセスしようとする際、前記ノードＮにアクセスするまでに取得済みのアクセス情報を合わせることによって、前記ノードＮにアクセス可能となるアクセス情報である完全なアクセス情報が得られることを意味する完全性条件が成り立つか否かを判定し、
前記完全性条件が成り立つ場合、前記ノードＮへのアクセスを許可し、
前記完全性条件が成り立たない場合、前記ノードＮへのアクセスを中止する、アクセス管理方法。
【請求項２】
前記アクセスを許可することは、
前記完全性条件が成り立つならば、１個以上のアクセス情報から前記完全なアクセス情報を生成し、
前記完全なアクセス情報を用いて、前記ノードＮに含まれる情報の秘匿化を解除する、ことを含む、請求項１に記載のアクセス管理方法。
【請求項３】
複数のノードを含む仮想ノードが構成される場合、前記仮想ノードに対するデータの書き込みと読み出しとがそれぞれ一回の通信で行われる、請求項１又は２に記載のアクセス管理方法。
【請求項４】
前記アクセスを許可することは、
前記ノードＮに含まれる情報を利用するデータ利用者の権利に関する権利記述データが得られている場合、当該権利記述データに基づいて、前記ノードＮに含まれる情報の利用を制限する、請求項１乃至３いずれか一項に記載のアクセス管理方法。
【請求項５】
前記制御部は、さらに
ノードＯを生成し、
リンクＮＯを生成し、
前記完全性条件に基づき辿ることが可能なアクセス情報を、前記リンクＮＯに付加する、請求項１乃至４いずれか一項に記載のアクセス管理方法。
【請求項６】
各ノードと、ノード間の有向リンクとを含むグラフのアクセス管理を行う情報処理装置であって、
ノードＮにアクセスしようとする際、前記ノードＮにアクセスするまでに取得済のアクセス情報を合わせることによって、前記ノードＮにアクセス可能となるアクセス情報である完全なアクセス情報が得られることを意味する完全性条件が成り立つか否かを判定する判定部と、
前記完全性条件が成り立つ場合、前記ノードＮへのアクセスを許可する許可部、
前記完全性条件が成り立たない場合、前記ノードＮへのアクセスを中止する制限部と、を含む情報処理装置。
【請求項７】
コンピュータに、各ノードと、ノード間の有向リンクとを含むグラフのアクセス管理を実行させるプログラムであって、
ノードＮにアクセスしようとする際、前記ノードＮにアクセスするまでに取得済のアクセス情報を合わせることによって、前記ノードＮにアクセス可能となるアクセス情報である完全なアクセス情報が得られることを意味する完全性条件が成り立つか否かを判定し、
前記完全性条件が成り立つ場合、前記ノードＮへのアクセスを許可し、
前記完全性条件が成り立たない場合、前記ノードＮへのアクセスを中止する、処理を前記コンピュータに実行させる、プログラム。
【請求項８】
請求項７記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス管理方法、情報処理装置、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
個人のプライバシーや企業秘密に関わるデータを共有する際には、共有サーバの管理者に対してアクセス制限を課するために何らかの秘匿化が必要である。
【０００３】
秘匿化したデータを利用する方法として、ＰＰＤＭ（Privacy Preserving Data Mining）等の技術が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許公開２０１１／０１３８１０９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術のＰＰＤＭでは、データに対する演算の種類が限定される上に処理のオーバヘッドが大きい。また、アクセス制限されたデータのさまざまな部分に適宜アクセスできることが望ましい。
【０００６】
そこで、本発明の所定の態様は、上記課題に鑑みてなされたものであり、処理負荷を抑制しつつ、秘匿化されたグラフのさまざまな部分に適宜アクセスすることを可能にする。
【課題を解決するための手段】
【０００７】
本発明の一態様におけるアクセス管理方法は、制御部を含むコンピュータが、各ノードと、ノード間の有向リンクとを含むグラフのアクセス管理を行うアクセス管理方法であって、前記制御部は、ノードＮにアクセスしようとする際、前記ノードＮにアクセスするまでに取得済みのアクセス情報を合わせることによって、前記ノードＮにアクセス可能となるアクセス情報である完全なアクセス情報が得られることを意味する完全性条件が成り立つか否かを判定し、前記完全性条件が成り立つ場合、前記ノードＮへのアクセスを許可し、前記完全性条件が成り立たない場合、前記ノードＮへのアクセスを中止する。共有サーバを含む複数の情報処理装置が秘匿化されたグラフを共有し、各共有サーバでの上記のようなアクセス制御をそのグラフの一部に限定することにより、課題を解決できる。
【図面の簡単な説明】
【０００８】
【図１】実施形態における情報処理システムの概略構成の一例を示す図である。
【図２】実施形態における情報処理装置のハードウェアの概略構成の一例を示すブロック図である。
【図３】実施形態におけるサーバ装置の機能構成の一例を示すブロック図である。
【図４】許可部の詳細な構成の一例を示す図である。
【図５】第１実施例におけるグラフの一例を示す図である。
【図６】第２実施例におけるグラフの一例を示す図である。
【図７】第３実施例におけるグラフの一例を示す図である。
【図８】第４実施例におけるグラフの一例を示す図である。
【図９】第５実施例におけるグラフの一例を示す図である。
【図１０】実施形態におけるサーバ装置の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら本発明の実施形態について詳細に説明する。まず、用語の定義を行う。
【００１０】
「共有サーバ」とは、複数の利用者の間でデータを共有するための中継を司る情報処理装置である。例えば、クラウド等のサーバや個人端末が共有サーバになり得る。「アクセス」とは、データを平文で読むことをいう。「秘匿化」とは、 データにアクセスするために自明でない操作が必要となるようにすることをいう。例えば、秘匿化には、暗号化や秘密分散などがある。
【００１１】
「グラフ」とは、ノードおよびノード間の有向リンクからなるデータをいう。各リンクは、始点ノードと終点ノードを結ぶ。ノードもリンクも何らかの付加的な情報を含む。以下では、各リンクはその始点ノードに埋め込まれているとして説明する。また、共有サーバにおいて、各ノードの内容は秘匿化されているとする。ノードの内容とは、そのノードが含む情報をいう。ノードＭを始点とし、ノードＮを終点とするリンクを「ＭからＮへのリンク」や、「リンクＭＮ」ともいう。また、ノードＭを始点とするリンクを「Ｍからのリンク」、ノードＮを終点とするリンクを「Ｎへのリンク」ともいう。
【００１２】
「ノードから到達可能なデータ」とは、そのノード、及び当該ノードからリンクを順方向に辿って到達できるノードとリンクからなるグラフをいう。「データに関するアクセス情報」とは、データを構成するノードやリンクにアクセスするのに用いる情報をいう。アクセス情報は、例えば下記のような情報やそれらの組み合わせ等である。
・アドレス（ファイルシステム内のパス、ＵＲＬなど）
・データが暗号化される場合、暗号化の方式や暗号を解く鍵の情報
・データが秘密分散される場合、分散データの所在情報
・データにアクセスするのにログインが必要な場合、アカウント情報（ユーザＩＤとパスワードなど）
・データにアクセスするためにＡＰＩを用いる場合、ＡＰＩトークン
・データのＩＤ（データがクラウドストレージに置かれている場合にはそのＵＲＬなど）
【００１３】
また、あるアクセス情報ｘを用いてノードＮにアクセスできるならば、ｘはＮに関して完全であるという。つまり、アクセス情報ｘがＮに関して完全であれば、ｘを用いて、ノードＮに含まれる情報の閲覧や編集等が可能になる。
【００１４】
また、ノードＮに関する不完全なアクセス情報を複数個合わせると、Ｎに関して完全になることがある。例えば、複数個のアクセス情報に含まれるデータの連接やビット毎ＸＯＲがノードＮに含まれる情報の暗号化を解く鍵である場合などが考えられる。
【００１５】
「権利記述情報」とは、データの利用者の権利に関する情報をいう。例えば、以下のような権利記述情報が考えられる。
・所定の対価を支払えばデータを閲覧できる
・所定の目的のためにデータを閲覧することができる
・データを編集できる
・所定の条件を満たす他者にデータを提供できる
・買い物の際にデータを提示すれば割り引きが受けられる
【００１６】
［実施形態］
＜システム構成＞
図１は、実施形態における情報処理システム１の概略構成の一例を示す。図１に示す情報処理システム１において、例えば、第１情報処理装置１０Ａと、第２情報処理装置１０Ｂと、第１サーバ装置２０Ａと、第２サーバ装置２０Ｂとが、ブロードバンド回線等の有線又は無線のネットワークＮを介して接続される。
【００１７】
第１情報処理装置１０Ａは、例えばＰＣ（Personal Computer）であり、データを処理する。第２情報処理装置１０Ｂは、例えばスマートフォンであり、データを処理する。情報処理装置は、区別する必要がない場合は、符号１０を用いる。
【００１８】
第１サーバ装置２０Ａは、例えばＰＣであり、第２サーバ装置２０Ｂは、例えばスマートフォンである。以下の説明において、２つのサーバ装置を区別する必要がない場合は、符号２０を用いる。サーバ装置２０は、共有サーバの役割を果たし、第１情報処理装置１０Ａや第２情報処理装置１０Ｂからアクセスされ、データを受信して保持したり、保持しているデータを送信したりする。サーバ装置２０は、第１情報処理装置１０Ａおよび第２情報処理装置１０Ｂと同一でも良い。
【００１９】
また、サーバ装置２０は、グラフの各ノードや各リンクに対するデータを記憶する。グラフの各ノードに対応するデータは、例えば、個人の住所氏名や病歴や職歴や購買履歴や、会社の社内情報や、映画などの動画データや、書籍などのテキストデータなどである。
【００２０】
＜ハードウェア構成＞
次に、情報処理装置１０のハードウェア構成について説明する。図２は、実施形態における情報処理装置１０のハードウェアの概略構成の一例を示すブロック図である。
【００２１】
図２に示すように、情報処理装置１０は、ＣＰＵ（Central Processing Unit）１０２と、ＲＡＭ（Random Access Memory）１０４と、ＲＯＭ（Read Only Memory）１０６と、ドライブ装置１０８と、ネットワークＩ／Ｆ１１０と、入力装置１１２と、及び表示装置１１４とを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【００２２】
ＣＰＵ１０２は、コンピュータの中で、各装置の制御やデータの演算、加工を行う制御部である。また、ＣＰＵ１０２は、ＲＡＭ１０４又はＲＯＭ１０６に記憶されたプログラムを実行する演算装置である。ＣＰＵ１０２は、入力装置１１２やネットワークＩ／Ｆ１１０などからデータを受け取り、演算、加工した上で、演算結果を表示装置１１４や記憶装置などに出力する。
【００２３】
ＲＡＭ１０４は、例えば主記憶部などである。ＲＡＭ１０４は、ＣＰＵ１０２が実行する基本ソフトウェアであるＯＳ（Operating System）やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２４】
ＲＯＭ１０６は、例えばアプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００２５】
ドライブ装置１０８は、記録媒体１１６、例えばＣＤ−ＲＯＭやＳＤカードなどからプログラムを読み出し、記憶装置にインストールする。
【００２６】
また、記録媒体１１６は、所定のプログラムを格納し、この記録媒体１１６に格納されたプログラムは、ドライブ装置１０８を介して情報処理装置１０にインストールされる。インストールされた所定のプログラムは、情報処理装置１０により実行可能となる。
【００２７】
ネットワークＩ／Ｆ１１０は、通信機能を有する周辺機器と情報処理装置１０とのインターフェースである。また、ネットワークＩ／Ｆ１１０は、例えば、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークＮを介して接続される。
【００２８】
入力装置１１２は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示装置１１４の表示画面上でキーの選択等を行うためのマウスやスライドパッド等を有する。また、入力装置１１２は、ユーザがＣＰＵ１０２に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
【００２９】
表示装置１１４は、ＬＣＤ（Liquid Crystal Display）等により構成され、ＣＰＵ１０２から入力される表示データに応じた表示が行われる。なお、入力装置１１２や表示装置１１４は、情報処理装置１０の外部に設けられてもよい。
【００３０】
なお、サーバ装置２０においても、図２と同様の構成を有し、さらにＨＤＤ（Hard Disk Drive）等を有してもよく、他方、入力装置１１２や表示装置１１４は有していなくてもよい。
【００３１】
＜機能構成＞
次に、サーバ装置２０の機能構成について説明する。サーバ装置２０は、情報処理装置１０からのアクセス要求に対し、アクセスを許可するか否かなどを判定する。図３は、実施形態におけるサーバ装置２０の機能構成の一例を示すブロック図である。図３に示すサーバ装置２０は、制御部２００と、記憶部２１２とを備える。制御部２００は、判定部２０２、許可部２０４、制限部２０６、生成部２０８、及び付加部２１０を少なくとも備える。
【００３２】
制御部２００は、例えばＣＰＵ１０２やワークメモリとしてのＲＡＭ１０４、ネットワークＩ／Ｆ１１０等により実現されうる。制御部２００は、プログラムが実行されることにより、以下に説明するアクセス管理を行う機能を有する。
【００３３】
記憶部２１２は、例えばＲＡＭ１０４やＲＯＭ１０６、ＨＤＤ等により実現されうる。記憶部２１２は、制御部２００により処理されたデータを記憶したり、他の機器から取得されたグラフを用いる保護対象の情報などを記憶したりする。
【００３４】
ここで、制御部２００は、情報処理装置１０からのアクセス要求を受けたとする。アクセス要求は、ノードＮへのアクセスを要求するものであるとする。また、ノードＮ及びノードＮへの各リンクに、Ｎから到達可能なデータに関するアクセス情報を含めておくとする。
【００３５】
判定部２０２は、ノードＭからノードＮにアクセスしようとする際、すでにアクセスしたノードとリンクに含まれるアクセス情報を合わせることによって、ノードＮに関する完全なアクセス情報（他のアクセス情報を使わずにノードＮにアクセス可能なアクセス情報）が得られることを表す完全性条件が成り立つか否かを判定する。
【００３６】
ここで、ノードＮに関する或るアクセス情報のみでＮにアクセスできる場合、前記アクセス情報を、Ｎに関して完全なアクセス情報（第１アクセス情報）という。また、ノードＮに関する或るアクセス情報だけではＮにアクセスできない場合、前記アクセス情報をＮに関して不完全なアクセス情報（第２アクセス情報）という。
【００３７】
例えば、判定部２０２は、Ｎに関して完全なアクセス情報がリンクＭＮに含まれていれば、完全性条件が成り立つと判定する。また、判定部２０２は、リンクＭＮに含まれるアクセス情報がＮに関して不完全であっても、アクセス済みの他のリンクに含まれるアクセス情報（例えばリンクＬＮやリンクＫＭのアクセス情報）とリンクＭＮに含まれるアクセス情報とを合わせたものがＮに関して完全なアクセス情報になるならば、やはり完全性条件が成り立つと判定する。ノードＮに関して完全性条件が成り立つかどうかを判定するには、いくつかのノードとリンクに含まれるアクセス情報を合わせたものがＮに関して完全なアクセス情報になるかどうかを調べる必要があるが、その際に、たとえばｋ本以内のリンクを順方向に辿ってＮに到達できる範囲にあるノードとリンクだけを調べれば良いようにグラフを構成しておくことにより、判定部２０２は、完全性条件を容易に判定することができる。なお、例えば、リンクＭＮに、「ノードＮへの他のリンクが含むアクセス情報と合わせると、このアクセス情報は完全になる」という意味の識別情報を付けておく等により、リンクＭＮのアクセス情報は不完全であると識別できる。また、リンクＭＮとリンクＬＮのアクセス情報を合わせることで初めてノードＮにアクセス可能になるとすると、ノードＮにアクセスするためには、まずノードＬとノードＭの両方にアクセスし、それによってリンクＬＮとリンクＭＮにアクセスする必要がある。つまり、ノードＭからとノードＬからのアクセス要求があって初めて、ノードＮへのアクセスが可能になる。
【００３８】
許可部２０４は、ノードＮに関する完全性条件が成り立つ場合、ノードＮへのアクセスを許可する。例えば、許可部２０４は、リンクＭＮに含まれるアクセス情報がＮに関して完全であれば、ノードＮへのアクセスを許可する。アクセスが許可されると、ノードＮの内容を平文で閲覧等することが可能になる。
【００３９】
制限部２０６は、ノードＮに関する完全性条件が成り立たない場合、ノードＮへのアクセスを中止する。
【００４０】
これにより、ノードとリンクにアクセス情報を適宜含めることにより、アクセス制限されたグラフに対して、アクセスできる部分と、アクセスできない部分とを区分し、グラフのさまざまな部分に適宜アクセスすることを可能にする。
【００４１】
ここで、図４を用いて、許可部２０４の詳細な構成について説明する。図４は、許可部２０４の詳細な構成の一例を示す。許可部２０４は、生成部２０４２、解読部２０４４、及び利用制限部２０４６を含む。生成部２０４２は、複数の不完全なアクセス情報から完全なアクセス情報を生成する。例えば、生成部２０４２は、複数のアクセス情報のビット毎ＸＯＲにより、ノードの内容の暗号化を解く鍵を生成する。
【００４２】
解読部２０４４は、生成された完全なアクセス情報を用いて、ノードの内容の秘匿化を解除する。例えば、解読部２０４４は、１個以上のアクセス情報からノードNに関する完全なアクセス情報を生成できる（完全性条件が成り立つ）ならば、その完全なアクセス情報を用いて、ノードＮの内容の秘匿化を解除する。
【００４３】
また、生成部２０４２は、１又は複数のアクセス情報に基づいて一のアクセス情報を生成する。例えば、生成部２０４２は、完全なアクセス情報が複数の不完全なアクセス情報の連接やビット毎XORである場合、それら複記の不完全なアクセス情報を集めて、完全なアクセス情報を生成する。
【００４４】
許可部２０４は、生成された完全なアクセス情報を用いて、ノードにアクセスすることを許可する。これにより、完全なアクセス情報が得られない限り、ノードに含まれる情報を秘匿することができるので、ノードに含まれる情報の秘匿性を向上させることができる。
【００４５】
利用制限部２０４６は、アクセス済のデータに、データ利用者の権利に関する権利記述情報が含まれる場合、この権利記述情報に基づいて、ノードの内容の利用を制限する。例えば、利用制限部２０４６は、閲覧や編集などの利用を制限する。これにより、単にノードの内容へのアクセスを許可するだけではなく、内容への利用制限を加えることができる。
【００４６】
図３に戻り、グラフ編集部２０８は、例えばノードＯを生成し、ノードＮからノードＯへのリンクＮＯを生成する。
【００４７】
付加部２１０は、ノードOから到達可能なデータに関するアクセス情報を、リンクＮＯに付加する。これにより、適宜グラフを増補することができる。
【００４８】
また、グラフ編集部２０８は、グラフ内のノードやリンクを削除してもよい。
【００４９】
＜第１実施例＞
次に、上述した実施形態の第１実施例について説明する。例えば、第１実施例において、制御部２００は、以下のアクセス管理を行う。
【００５０】
図５は、第１実施例におけるグラフの一例を示す。図５に示すグラフでは、破線のリンクに含まれるアクセス情報は、その終点に関して不完全である。つまり、そのアクセス情報のみでは終点のデータにアクセスすることができない。また、実線のリンクに含まれるアクセス情報は、その終点からの破線のリンクに含まれるアクセス情報と合わせると、破線のリンクの終点に関する完全なアクセス情報になるとする。
【００５１】
つまり、破線のリンクを２本続けて辿ることはできない。例えば、ノードＡに関する完全なアクセス情報が利用者ａに与えられたとき、まず、利用者ａは、ノードＡにアクセスし、次に実線のリンクＡＣを辿ってノードＣにアクセスする。その後に、利用者ａは、さらにリンクＡＣに含まれるアクセス情報と、リンクＣＦに含まれるアクセス情報を合わせたアクセス情報を使ってノードＦにアクセスすることができる（ノードＦの内容を読むことができる）。これらのアクセス管理は、制御部２００により行われる。
【００５２】
また、利用者ａは、リンクＡＣに含まれるアクセス情報とリンクＣＧに含まれるアクセス情報とを合わせたアクセス情報を使って、ノードＧにアクセスすることができる。また、リンクＡＥに含まれるアクセス情報と合わせてＥに関して完全になるアクセス情報が利用者ａに与えられていれば、利用者ａは、リンクＡＥを辿ってノードＥにアクセスすることができる。他方、リンクＥＤに含まれるアクセス情報はノードＤに関して不完全であり、これを補うアクセス情報がないので、ノードＤにアクセスすることはできない（ノードＤの内容を読むことができない）。
【００５３】
また、利用者は、ノードＢに関する完全なアクセス情報、及びリンクＢＣに含まれるアクセス情報と合わせてノードＣに関して完全になるアクセス情報が与えられた場合、ノードＢからノードＣにアクセスすることはできるが、ノードＣからノードＦ及びノードＧにアクセスすることはできない。また、利用者は、ノードＢからノードＤ、ノードＧ、及びノードＥにアクセスすることができる。
【００５４】
ノードＣと、ノードＣからのリンクと、ノードＣへのリンクとがない状態でそれらを作るには、グラフ編集部２０８が次の手順に従う。
１．ノードＣを作る。
２．ノードＣに関する不完全なアクセス情報を含むリンクＢＣを作る。
３．ノードＦに関する不完全なアクセス情報を含むリンクＣＦを作る。
４．ノードＧに関する不完全なアクセス情報を含むリンクＣＧを作る。
５．リンクＣＦに含まれるアクセス情報と合わせるとノードＦに関して完全になり、リンクＣＧに含まれるアクセス情報と合わせるとノードＧに関して完全になり、ノードＣに関して完全なアクセス情報を含むリンクＡＣを作る。
【００５５】
あるノードからのリンクが複数本あるとき、各リンクの終点に関する不完全なアクセス情報は、何らかの共通のアクセス情報と合わせることにより完全なアクセス情報になる場合がある。この場合、不完全なアクセス情報を合わせて完全なアクセス情報を得たり、リンクに含める不完全なアクセス情報を求めたりするための処理が簡単になる。
【００５６】
例えば、上述した例で、リンクＡＣと、リンクＣＦと、リンクＣＧがアクセス情報の一部としてそれぞれｘ、ｙ、ｚというデータを含み、ｘとｙのビット毎ＸＯＲがＦの鍵、ｘとｚのビット毎ＸＯＲがＧの鍵であるようにすることが考えられる。
【００５７】
ここで、ｘは、リンクＡＣが含むノードＦとノードＧに関する不完全なアクセス情報である。ｙは、リンクＣＦが含むノードＦに関する不完全なアクセス情報である。ｚは、リンクＣＧが含むノードＧに関する不完全なアクセス情報である、ｙとｚは、共通のアクセス情報ｘとそれぞれ合わせることにより、ノードＦとＧに関する完全なアクセス情報になる。
【００５８】
＜第２実施例＞
次に、上述した実施形態の第２実施例について説明する。例えば、第２実施例において、制御部２００は、以下のアクセス管理を行う。また、各ノードに含まれる情報は、当該ノードの１又は複数のリンクに含まれるアクセス情報を用いて秘匿化されているとする。
【００５９】
Ａ社が、Ｂ部とＣ部からなり、Ｂ部が、Ｄ課とＥ課からなり、Ｃ部が、Ｆ課とＧ課からなる場合、Ａ社、Ｂ部、Ｃ部、Ｄ課、Ｅ課、Ｆ課、Ｇ課にそれぞれ対応するノードＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇからなるグラフが生成されたとする。
【００６０】
図６は、第２実施例におけるグラフの一例を示す。図６に示す例では、各リンクがその終点に関する完全なアクセス情報を含むとする。この場合、各課のノードに対するアクセス情報をその課のメンバーに与えることにより、例えば、Ｄ課の各メンバーは、ノードＡ、Ｂ、Ｄのみにアクセスできる。
【００６１】
つまり、各ノードが表わす部署の中で共有する情報をそのノードに含めておけば、各社員は、自分が属する部署内で共有する情報だけにアクセスすることができる。これにより、企業のデータを秘匿化して外部のサーバに置いておけば、サーバの管理者にデータの内容を知られずに、データの各部分を社内の各部署で共有することができる。
【００６２】
＜第３実施例＞
次に、上述した実施形態の第３実施例について説明する。例えば、第３実施例において、制御部２００は、以下のアクセス管理を行う。
【００６３】
図７は、第３実施例におけるグラフの一例を示す。図７に示す例では、グラフのノードＡとＢはアルバムであり、ノードＣとＤは、写真データを含むとする。また、破線のリンクは、その終点ノードの写真データが表示のみ可能である旨の権利記述情報を含み、実線のノードは、その終点ノードの写真データをどのように使っても良い旨の権利記述情報を含む。また、いずれのリンクも、その終点に関する完全なアクセス情報を含むとする。
【００６４】
この場合、ノードＡに関する完全なアクセス情報を与えられた利用者は、情報処理装置１０を用いて、サーバ装置２０にアクセス要求を出す場合、ノードＣとＤの写真データを見ても良いが、平文データとして保存したり外部に送信したりしてはならないという条件に従うことを求められる。
【００６５】
他方、ノードＢに関する完全なアクセス情報を与えられた利用者は、情報処理装置１０を用いてアクセス要求を出す場合、ノードＣとＤの写真データの利用に関して制限を課されることはない。
【００６６】
＜第４実施例＞
次に、上述した実施形態の第４実施例について説明する。例えば、第４実施例において、制御部２００は、以下のアクセス管理を行う。
【００６７】
図８は、第４実施例におけるグラフの一例を示す。図８に示す例では、実線のリンクは、その終点に関する完全なアクセス情報を含む。他方、破線のリンクが含むアクセス情報は、その終点Ｎに関して不完全であり、その始点への破線のリンクが含むアクセス情報と合わせればＮに関して完全になるとする。
【００６８】
よって、利用者は、破線のリンクにアクセスできれば、その終点からの破線のリンクの終点にアクセスできる。また、ノードＡは、あるサービスの管理者、ノードＢとＣは、顧客のグループの情報、ノードＤとＧは、それぞれノードＢとＣに対応する顧客グループを担当するスタッフの情報、ノードＥとＦは、ノードＢに対応する顧客グループに属する顧客の情報、ノードＨとＩは、ノードＣに対応する顧客グループに属する顧客の情報に対応する。
【００６９】
各人には、当人に対応するノードに関する完全なアクセス情報と、そのノードからの破線のリンクが含むアクセス情報と合わせるとその破線リンクの終点に関して完全になるようなアクセス情報とが与えられるものとする。
【００７０】
この場合、このグラフの中でリンクを下に辿り続けること、上に辿り続けること、下に辿ってから上に辿ることは可能である。しかし、上に辿ってから下に辿ることは不可能である。
【００７１】
例えば、管理者には、ノードＡに関するアクセス情報と、ノードＢとＣに関する補完的なアクセス情報が与えられるので、管理者はすべてのノードの情報にアクセスすることができる。
【００７２】
また、各スタッフは、自分が担当する顧客グループとそれに属する顧客と管理者の情報のみにアクセスすることができる。例えば、ノードＤから破線のリンクを辿ってノードＢにアクセスし、ノードＢからさらにノードＡ、Ｅ、Ｆにアクセスすることができるが、ノードＡを経由してノードＣにアクセスすることはできない。
【００７３】
さらに、各顧客は、自分が属するグループを担当するスタッフと管理者の情報のみにアクセスすることができる。例えば、ノードＥから実線のリンクを辿ってノードＢにアクセスすることができ、ノードＢからさらに実線のリンクを辿ってノードＡとＤにアクセスできる。他方、ノードＢから破線のリンクを辿ってノードＦにアクセスしたり、ノードＡから破線のリンクを辿って、ノードＣにアクセスしたりすることはできない。
【００７４】
＜第５実施例＞
次に、上述した実施形態の第５実施例について説明する。例えば、第５実施例において、制御部２００は、以下のアクセス管理を行う。
【００７５】
図９は、第５実施例におけるグラフの一例を示す。図９では、図８に示すグラフにおけるアクセス制御を不完全なアクセス情報を使わずに実現する方法を示す。図９に示す破線の仮想的なノードＡ、Ｂ、Ｄが示すように、図８に示すグラフのノードＡ、Ｂ、Ｄそれぞれは、図９に示すグラフのノードＡ０とＡ１、Ｂ０とＢ１、Ｄ０とＤ１からなる部分グラフに対応する。
【００７６】
図８に示すグラフでは、ノードＡ０とＤ０からは他のすべてのノードにアクセスでき、ノードＥからもノードＦからもノードＢ１、Ａ１、Ｄ１にのみアクセスすることができる。これは、図８に示すグラフにおいて、ノードＡからノードＢ、Ｄ、Ｅ、Ｆにアクセスでき、ノードＤからノードＢ、Ａ、Ｅ、Ｆにアクセスでき、ノードＥとノードＦからはノードＢ、Ａ、Ｄのみにアクセスできることに対応する。
【００７７】
ここで、ノードＡ０、Ｂ０、Ｄ０にアクセスした直後にはそれぞれノードＡ１、Ｂ１、Ｄ１にもアクセスすることがしばしばあると考えられる。よって、仮想ノードＡ、Ｂ、Ｄに対し、それぞれの内容の読み出しと書き込みとが１回の共有サーバへの通信で行われれば良い。例えば、各仮想ノードは、それぞれ１個のファイルやデータベースの１個のレコードとすることによって、処理（共有サーバとのデータのやり取り）の効率を高めることが望ましい。そこで、しばしばほぼ同時にアクセスされる複数のノードからなる部分グラフを、１個のファイルや１個のレコードにしておくことにより、処理の効率を高めることができる。
【００７８】
＜動作＞
次に、サーバ装置２０の動作について説明する。図９は、実施形態におけるサーバ装置２０の処理の一例を示すフローチャートである。図９に示す処理は、例えば、利用者が、アクセス情報を用いてノードからノードへのアクセス要求が行われた場合、サーバ装置２０が実行する処理である。
【００７９】
ステップＳ１０２で、制御部２００は、始点ノードを設定する。
【００８０】
ステップＳ１０４で、判定部２０２は、利用者に与えられたアクセス情報を取得する。
【００８１】
ステップＳ１０６で、判定部２０２は、そのアクセス情報を用いて、始点ノードに関する完全性条件が成り立つ（アクセス可能）か否かを判定する。アクセス可能であれば（ステップＳ１０６−ＹＥＳ）、処理はステップＳ１０８に進み、アクセス不可能であれば（ステップＳ１０６−ＮＯ）、処理は、制限部２０６によりアクセスが中止されて終了する。
【００８２】
ステップＳ１０８で、許可部２０４は、終点ノード（次ノード）へのアクセスを許可する。
【００８３】
以上、実施形態によれば、処理負荷を抑制しつつ、秘匿化されたグラフのさまざまな部分に適宜アクセスすることができる。
【００８４】
また、グラフの各ノードＮおよびノードＮへの各リンクに、ノードＮから到達可能なデータに関するアクセス情報を含め、ノードＮを秘匿化する。これにより、各ノードＮについて、Ｎから到達可能なデータに関するアクセス情報を用いて、Ｎから到達可能なデータにアクセスすることができる。
【００８５】
つまり、ノードに関する完全なアクセス情報が与えられたときにそのアクセス情報に従って当該ノードにアクセスしてそのノードからのリンクの終点に関するアクセス情報を得る、という処理を繰返すことにより、繰返しの回数と同じ個数のノードにアクセスすることで、上記効果を奏することができる。
【００８６】
例えば、ノードＡに関する完全なアクセス情報が得られたときに、ノードＡにアクセスし、さらにリンクＡＢとリンクＢＣとリンクＣＤを辿ると、ノードＢとノードＣとノードＤとにアクセスすることが可能になる。同様に、ノードＡに関する完全なアクセス情報が得られたときに、ノードＡにアクセスし、さらにリンクＡＢとリンクＡＣとリンクＡＤを辿ると、ノードＢとノードＣとノードＤとアクセスすることが可能になる。ここでは簡単のため、いずれのリンクにも、その終点に関する完全なアクセス情報が含まれるとする。
【００８７】
なお、上記の情報処理装置１０で実行されるプログラムについて、ＣＰＵ１０２がＲＯＭ１０６からこのプログラムを読み出して実行することにより、上記各部のうち１又は複数の各部がＲＡＭ１０４上にロードされ、１又は複数の各部がＲＡＭ１０４上に生成されるようになっている。
【００８８】
このように、上述した実施形態で説明した処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した処理を実現することができる。
【００８９】
また、このプログラムを記録媒体１１６に記録し、このプログラムが記録された記録媒体１１６をコンピュータに読み取らせて、前述した処理を実現させることも可能である。
【００９０】
なお、記録媒体１１６は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリー等、様々なタイプの記録媒体を用いることができる。
【００９１】
以上、各実施例について詳述したが、上記実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記実施例以外にも種々の変形及び変更が可能である。
【符号の説明】
【００９２】
２０  情報処理装置
１０２  ＣＰＵ
１０４  ＲＡＭ
１０６  ＲＯＭ
２０２  判定部
２０４  許可部
２０６  制限部
２０８  グラフ編集部
２１０  付加部
２１２  記憶部
【図１】
2020064688.tif 000003
【図２】
2020064688.tif 000004
【図３】
2020064688.tif 000005
【図４】
2020064688.tif 000006
【図５】
2020064688.tif 000007
【図６】
2020064688.tif 000008
【図７】
2020064688.tif 000009
【図８】
2020064688.tif 000010
【図９】
2020064688.tif 000011
【図１０】
2020064688.tif 000012