(57)【要約】      （修正有）【課題】アクセス制御ポリシーによるアクセス制御を、クエリ文を複雑化することなく従来に比べて幅広く効率的に実行することが可能なアクセス制御装置、およびアクセス制御方法を提供する。【解決手段】リソースへのアクセス要求に付随する第一の情報とリソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、アクセス要求のクエリを変更することによりリソースへのアクセスを制御し、アクセス要求に付随する第二の情報とアクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、クエリに対する応答クエリを変更することによりアクセス制御する。【選択図】図９
2016201043.tif 000002
【特許請求の範囲】
【請求項１】
属性ベースアクセス制御によりリソースへのアクセスを制御するアクセス制御装置であって、
アクセス要求者に付随する第一のサブジェクト属性とアクセス要求対象の前記リソースに付随する第一のオブジェクト属性と前記リソースの操作に付随する第一のアクション属性とを含む情報であって前記リソースへのアクセス要求に付随する第一の情報と前記リソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御する第一のアクセス制御部と、
前記アクセス要求者に付随する第二のサブジェクト属性とアクセス要求対象の前記リソースに付随する第二のオブジェクト属性と前記リソースの操作に付随する第二のアクション属性とを含む情報であって前記アクセス要求に付随する第二の情報と前記アクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御を行う第二のアクセス制御部と、
を備えることを特徴とするアクセス制御装置。
【請求項２】
請求項１に記載のアクセス制御装置であって、
前記第一のアクセス制御部は、前記第二のサブジェクト属性または前記第二のオブジェクト属性または前記第二のアクション属性を包含しない前記第一のサブジェクト属性または前記第一のオブジェクト属性または前記第一のアクション属性を引数とした因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行し、
前記第二のアクセス制御部は、前記第一のサブジェクト属性または前記第一のオブジェクト属性または前記第一のアクション属性を包含する前記第二のサブジェクト属性または前記第二のオブジェクト属性または前記第二のアクション属性を引数とする因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行する、
ことを特徴とするアクセス制御装置。
【請求項３】
請求項１に記載のアクセス制御装置であって、
前記第一のアクセス制御部は、さらにアクセス要求の環境に付随する第一の環境属性を含む前記第一の情報と、前記第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御し、
前記第二のアクセス制御部は、さらにアクセス要求の環境に付随する第二の環境属性を含む前記第二の情報と、前記第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御を行う、
ことを特徴とするアクセス制御装置。
【請求項４】
請求項３に記載のアクセス制御装置であって、
前記第一のアクセス制御部は、さらにアクセス要求の環境に付随する第二の環境属性を包含しない前記第一の環境属性を引数とする因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行し、
前記第二のアクセス制御部は、さらにアクセス要求の環境に付随する第一の環境属性を包含する前記第二の環境属性を引数とする因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行する、
ことを特徴とするアクセス制御装置。
【請求項５】
請求項１に記載のアクセス制御装置であって、
前記第一のアクセス制御部および前記第二のアクセス制御部は、ＳＱＬ言語（Structured Query Language）で表された前記クエリ文と前記クエリの応答文により前記アクセス制御を実行する、
ことを特徴とするアクセス制御装置。
【請求項６】
請求項５に記載のアクセス制御装置であって、
前記第一のアクセス制御部および前記第二のアクセス制御部は、ＯＱＬ（Object Query Language）、またはＲＤＦ（Resource Description Framework）、またはＳＰＡＲＱＬ（SPARQL Protocol and RDF Query Language）、またはＯＷＳ(OGC Web Services)を含む、Ｗｅｂサービスで用いられる他のクエリ言語で表された前記クエリ文と前記クエリの応答文により前記アクセス制御を実行する、
ことを特徴とするアクセス制御装置。
【請求項７】
属性ベースアクセス制御によりリソースへのアクセスを制御するアクセス制御方法であって、
アクセス要求者に付随する第一のサブジェクト属性とアクセス要求対象の前記リソースに付随する第一のオブジェクト属性と前記リソースの操作に付随する第一のアクション属性とを含む情報であって前記リソースへのアクセス要求に付随する第一の情報と前記リソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御し、
前記アクセス要求者に付随する第二のサブジェクト属性とアクセス要求対象の前記リソースに付随する第二のオブジェクト属性と前記リソースの操作に付随する第二のアクション属性とを含む情報であって前記アクセス要求に付随する第二の情報と前記アクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御する、
ことを特徴とするアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データへのアクセスを制御する技術に関する。
【背景技術】
【０００２】
データのアクセス制御は、限られたデータへのアクセスのみに、データへのアクセスを制御する技術である。一般に、アクセス制御は、アクセス制御ポリシーと呼ばれるアクセスを制御するためのルールを定め、このルールに従ってアクセスの可否を判断し、判断に沿ってアクセスを制御する。システムのセキュリティを高めるために、ユーザやリソースについて細かい粒度でのアクセス制御が望まれることがある。細かい粒度でのアクセス制御を可能にする仕組みとして、例えば、属性ベースアクセス制御（ABAC）が知られている（非特許文献１参照）。属性ベースアクセス制御は、複雑なアクセス制御ポリシーでのアクセス制御が可能であり、細かい粒度でのアクセス制御を実現できる。
【０００３】
複雑なアクセス制御ポリシーは、システムのセキュリティを高めることができる反面、アクセス制御の処理にかかる計算量や時間や通信量が大きくなり、問題になることがある。
特許文献２では、よりよい性能を有するアクセス制御の方法として、外部ポリシーに基づき動的にクエリを修正することで、アクセス制御を行う技術が示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Vincent C. Hu, David Ferraiolo, Rick Kuhn, Adam Schnitzer, Kenneth Sandlin, Robert Miller, Karen Scarfone, “Guide to Attribute Based Access Control (ABAC) Definition and Considerations,” NIST Special Publication 800-162, NIST, 2014.
【特許文献】
【０００５】
【特許文献１】米国出願公開ＵＳ２００７／０１３０６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献２に記載のアクセス制御の方法では、クエリを修正することによりアクセス制御を行うため、クエリに用いるクエリ言語で記述できないアクセス制御ポリシーを実現することができない。そのため、実現できるアクセス制御ポリシーの範囲が小さくなり、システムに求められるアクセス制御が実現できない場合がある。
【０００７】
また、特許文献２に記載のアクセス制御の方法では、アクセス制御ポリシーに基づきクエリを修正できた場合でも、クエリ文が複雑になる場合があり、クエリ処理時間や通信回数が大きくなることで結果としてアクセス制御の処理が非効率になり、問題となる可能性がある。
【０００８】
そこで、本発明は、アクセス制御ポリシーによるアクセス制御を、クエリ文を複雑化することなく従来に比べて幅広く効率的に実行することが可能なアクセス制御装置、およびアクセス制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
以上の課題を解決し、目的を達成するため、本発明は、属性ベースアクセス制御によりリソースへのアクセスを制御するアクセス制御装置であって、アクセス要求者に付随する第一のサブジェクト属性とアクセス要求対象の前記リソースに付随する第一のオブジェクト属性と前記リソースの操作に付随する第一のアクション属性とを含む情報であって前記リソースへのアクセス要求に付随する第一の情報と前記リソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御する第一のアクセス制御部と、前記アクセス要求者に付随する第二のサブジェクト属性とアクセス要求対象の前記リソースに付随する第二のオブジェクト属性と前記リソースの操作に付随する第二のアクション属性とを含む情報であって前記アクセス要求に付随する第二の情報と前記アクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御を行う第二のアクセス制御部と、を備えることを特徴とするアクセス制御装置として構成される。
【００１０】
また、本発明は、上記アクセス制御装置で行われるアクセス制御方法としても把握される。
【発明の効果】
【００１１】
以上のように、本発明によれば、アクセス制御ポリシーによるアクセス制御を、クエリ文を複雑化することなく従来に比べて幅広く効率的に実行することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る実施形態のシステム例を示す図。
【図２】アクセス制御装置を示す概略図。
【図３】リソース配信管理サーバを示す概略図。
【図４】アクセス要求の属性情報の構造を示す図。
【図５】サブジェクト属性データベースのテーブルの一例を示す図。
【図６】リソースデータベースのテーブルの一例を示す図。
【図７】アクセス要求の電文の構造を示す図。
【図８】アクセス制御の手順を示すフローチャート図。
【図９】アクセス制御の処理イメージを示す図。
【図１０】一般的な計算機を示す概略図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を説明する。
【００１４】
図１は、本発明にかかるアクセス制御装置、およびアクセス制御方法を適用したアクセス制御装置１００とそれに関わるシステムの全体構成図である。本実施形態では、当該アクセス制御装置がネットワーク１０００を介して利用者端末２００と接続されている。また、当該アクセス制御装置はリソース配信管理サーバ３００と接続されている。
【００１５】
図２は、本実施形態におけるアクセス制御装置１００の概略図である。
【００１６】
図示するように、アクセス制御装置１００は、制御部１１０と、データ送受信部１２０と、記憶部１３０と、グローバル属性逆算部１４０と、ローカルポリシー判断部１５０と、を備える。当該アクセス制御装置は、利用者端末２００とリソース配信管理サーバ３００とが行う通信経路の間に設置され、当該利用者端末から当該リソース配信管理サーバへのアクセスを制御する装置である。
【００１７】
アクセス制御装置１００は、制御部１１０により制御されている。アクセス制御装置１００は、データ送受信部１２０を通じて、ネットワーク１０００およびリソース配信管理サーバ３００と接続され、利用者端末２００およびデータ配信装置３００とデータを交換する。
【００１８】
記憶部１３０は、データを格納することができ、アクセス制御ポリシー１６０と、サブジェクト属性データベース１７０と、を格納する。
【００１９】
グローバル属性逆算部１４０と、ローカルポリシー判断部１５０と、アクセス制御ポリシー１６０と、サブジェクト属性データベース１７０とについては、詳細を後で説明する。
【００２０】
利用者端末２００は、システムのユーザが利用する端末である。当該利用者端末を用いて、ユーザはリソース配信管理サーバ３００にアクセスし、リソースを閲覧、変更、管理等する。
【００２１】
図３は、アクセス制御装置１００に接続されたリソース配信管理サーバ３００を示したものである。
【００２２】
リソース配信管理サーバ３００は、制御部３１０と、データ送受信部３２０と、記憶部３３０と、を備える。リソース配信管理サーバ３００は、受信するクエリ要求文に基づき、リソースの配信、および、管理を行うサーバである。
【００２３】
リソース配信管理サーバ３００は、制御部３１０により制御される。リソース配信管理サーバ３００は、データ送受信部３２０を通して、アクセス制御装置１００に接続されており、アクセス制御装置１００と情報を交換し、さらに、アクセス制御装置１００を介して、利用者端末２００と情報を交換する。
【００２４】
記憶部３３０は、リソースデータベース３４０を格納する。リソースデータベース３４０は、アクセス制御の対象となるリソース３５０とオブジェクト属性４２０とを保持するデータベースである。リソースデータベース３４０の詳細については、後で説明する。
【００２５】
アクセス制御装置１００に接続されたリソース配信管理サーバ３００の一例としては、リレーショナル・データベース・マネジメント・システム（ＲＤＢＭＳ：relational database management system）がある。この場合、当該サーバが解釈するクエリ言語はＳＱＬ（Structured Query Language）が挙げられる。また、アクセス制御装置１００に接続されたリソース配信管理サーバ３００は、ＲＤＢＭＳに限られるものではない。他にも、ＯｐｅｎＧｅｏｓｐａｔｉａｌＣｏｎｓｏｒｔｉｕｍが定義するＷｅｂＦｅａｔｕｒｅＳｅｒｖｉｃｅやＷｅｂＭａｐＳｅｒｖｉｃｅなどが例として挙げられる。
【００２６】
本実施形態では、リソース配信管理サーバ３００上のリソース３５０へのアクセスを要求するシステムのユーザが利用者端末２００を操作し、当該リソースへのアクセス要求をアクセス要求電文７００として送信する。そして、当該アクセス要求電文をアクセス制御装置１００が受信し、当該アクセス制御装置が、利用者端末２００とリソース配信管理サーバ３００の間の通信を中継し通信データを変更することで、ユーザによる当該リソースへのアクセスが制御される。アクセス制御装置１００におけるアクセスの制御は、ユーザからのアクセス要求に紐付けられたアクセス要求の属性情報４００に対して、アクセス制御ポリシー１６０を適用して得られるアクセス可否の判断に基づいて行われる。
【００２７】
図７は、アクセス要求電文７００の一例を図示している。図示するとおり、当該アクセス要求電文は、ユーザＩＤ７１０と、クエリ要求文７２０とを含む。ユーザＩＤ７１０は、利用者端末を操作しているユーザのユーザＩＤであり、後記するユーザＩＤサブジェクト属性値４１１の値と一致するものである。図７では、ユーザＩＤがアクセス要求電文に含まれる場合について示しているが、サブジェクト属性値として後記する秘区分や所属部門であってもよい。また、サブジェクト属性値ではなく、オブジェクト属性値、アクション属性値、環境属性値であってもよい。すなわち、リソースへのアクセス要求を概念的に分類する情報であって、アクセス制御するためのキーとなり得る情報であればよい。クエリ要求文７２０は、ユーザによるリソースへのアクセス要求をリソース配信管理サーバ３００が解釈するクエリ言語で記述したクエリ命令である。例えば、リソース配信管理サーバ３００がＲＤＢＭＳである場合、クエリ言語はＳＱＬが一例として挙げられるが、ＯＱＬ（Object Query Language）、ＲＤＦ（Resource Description Framework）、ＳＰＡＲＱＬ（SPARQL Protocol and RDF Query Language）、ＯＷＳ(OGC Web Services)等、Ｗｅｂサービスで用いられる他のクエリ言語を用いることも可能である。ここで、アクセス要求の属性情報４００について説明する。
【００２８】
図４は、アクセス要求の属性情報４００の構造を示している。アクセス要求の属性情報４００は、ユーザによる一つのリソース３５０へのアクセス要求に対して紐付けられるメタ情報であり、サブジェクト属性４１０と、オブジェクト属性４２０と、アクション属性４３０と、環境属性４４０と、からなる。これらの属性は、上記のとおりアクセス要求を概念的に分類したものであるため、必ずしもこれらの属性を有していなくてもよい。
【００２９】
サブジェクト属性４１０はアクセスの要求を行っているユーザに紐付く属性である。サブジェクト属性４１０は０個あるいは１個以上のサブジェクト属性値からなる。
本実施形態ではサブジェクト属性４１０は、ユーザＩＤサブジェクト属性値４１１と、秘区分サブジェクト属性値４１２と、部門サブジェクト属性値４１３の３種類からなる。ユーザＩＤサブジェクト属性値４１１は、ユーザのシステム上でのＩＤである。秘区分サブジェクト属性値４１２は、ユーザが扱うことのできるリソースの秘密度のレベルを示す値であり、ユーザ毎に“秘密”、あるいは、“区分なし”の値をとる。部門サブジェクト属性値４１３は、ユーザが所属する部門を表すもので、ユーザ毎に“営業部門”、“開発部門”のうちいずれかの値をとる。
【００３０】
なお、サブジェクト属性値の種類とその値は上記に限定されるものではなく、上記のとおり任意の属性値の種類と値を定義し、利用することができる。例えば、他の種類としてはユーザ年齢を表すサブジェクト属性値、居住地を表すサブジェクト属性値、メールアドレスを表すサブジェクト属性値などが挙げられる。
【００３１】
オブジェクト属性４２０はアクセスを要求されるリソース３５０に紐付く属性である。オブジェクト属性４２０はグローバルオブジェクト属性４２１とローカルオブジェクト属性４２２の２つからなる。グローバルオブジェクト属性４２１は、０個または１個以上のグローバルオブジェクト属性値からなる。ローカルオブジェクト属性４２２は、０個または１個以上のローカルオブジェクト属性値からなる。
【００３２】
本実施形態においては、一例として、グローバルオブジェクト属性４２１は秘区分グローバルオブジェクト属性値４２３の一つからなる。秘区分グローバルオブジェクト属性値４２３はデータの秘密度のレベルを表す値であり、リソース毎に“秘密”、あるいは、“区分なし”のいずれかの値をとる。さらに、本実施形態においては、一例として、ローカルオブジェクト属性４２２はデータ価格ローカルオブジェクト属性値４２４の一つからなる。データ価格ローカルオブジェクト属性値４２４はデータの価値を円価格で示す値であり、リソース毎に任意の０以上の整数値をとる。
【００３３】
なお、サブジェクト属性と同様、グローバルオブジェクト属性４２１とローカルオブジェクト属性４２２の属性値の種類とその値は上記に限定されるものではなく、それぞれ任意の属性値の種類と値を定義し、利用することができる。例えば他の種類としては、グローバルオブジェクト属性値としてリソースの種別を表すグローバルオブジェクト属性値などが、ローカルオブジェクト属性値としては所属部門を表すローカルオブジェクト属性値などが挙げられる。
【００３４】
アクション属性４３０はアクセス要求で要求されている操作に紐付く属性である。アクション属性４３０は、０個あるいは１個以上のアクション属性値からなる。
【００３５】
本実施形態では、一例として、アクション属性４３０は操作内容アクション属性値４３１の１種類からなる。操作内容アクション属性値４３１は、操作内容を示す属性値であり、“読み込み”、あるいは、“書き込み”のいずれかの値をとる。
【００３６】
なお、サブジェクト属性等の他の属性と同様、アクション属性値の種類とその値は上記に限定されるものではなく、任意の属性値の種類と値を定義し、利用することができる。例えば、他の種類としてはアクセスの緊急度の有無を表すアクション属性値などが挙げられる。
【００３７】
環境属性４４０はアクセスの要求がなされている環境に紐付く属性である。環境属性４４０は、０個あるいは１個以上の環境属性値からなる。
【００３８】
本実施形態では、一例として、環境属性４４０はアクセス時刻環境属性値の１種類からなる。アクセス時刻環境属性値は、アクセス要求があった時刻を示す属性値であり、日付と時刻の値をとる。
【００３９】
なお、環境属性値の種類とその値は上記に限定されるものではなく、任意の属性値の種類を定義し、利用することができる。例えば、他の種類としてはアクセス場所を表す環境属性値などが挙げられる。
【００４０】
ここで、前記した、サブジェクト属性データベース１７０について説明する。サブジェクト属性データベース１７０は、システムのユーザについてのサブジェクト属性４１０を格納したデータベースである。
【００４１】
図５に、サブジェクト属性データベース１７０のテーブル５００の一例を示している。当該テーブルの一つのレコードは、一人のユーザのサブジェクト属性４１０に対応しており、レコードの一つのフィールドには一つのサブジェクト属性値が格納されている。図５に示した例では、第一列目にユーザＩＤサブジェクト属性値、第二列目に秘区分サブジェクト属性値、第三列目に所属部門サブジェクト属性値が格納されている。また、図５では、例えば、「ユーザ１」は、「区分なし」（すなわち、秘区分が「秘密」であるリソースへのアクセスが不可）であり、「開発部門」に所属していることを示している。
【００４２】
ここで、前記した、リソースデータベース３４０の詳細について説明する。前記したとおり、リソースデータベース３４０には、リソース配信管理サーバ３００が配信および管理対象とするリソース３５０と、オブジェクト属性４２０と、が格納されている。
【００４３】
図６は、リソースデータベース３４０のテーブル６００の一例を示している。当該テーブルの一つのレコードは、一つのリソース３５０に対応付いており、当該リソースの実データへの参照と、当該リソースのオブジェクト属性４２０とが、格納される。前記のとおり、オブジェクト属性４２０は、グローバルオブジェクト属性４２１と、ローカルオブジェクト属性４２２と、からなる。
【００４４】
図６に示したとおり、本実施形態においては、リソースのグローバルオブジェクト属性の秘区分グローバルオブジェクト属性値４２３は、レコードの一つのフィールドである“秘区分グローバルオブジェクト属性値”フィールド６１０に格納されている。図６では、例えば、「リソース１」については、「文書１ファイルへの参照」（例えば、文書１へのアクセスコマンドやリンク）情報が対応付けられ、「リソース１」のアクセスは「区分なし」として制限されていないことを示している。  また、図６に示したとおり、本実施形態においては、ローカルオブジェクト属性値のリソース価格ローカルオブジェクト属性値４２４は、リソースの実データの中、具体的には“Ｐｒｉｃｅ”タグ６２０の中に埋め込まれて格納されている。図６では、例えば、上記「文書１ファイル」のＰｒｉｃｅタグに、属性値として５，０００円が設定されていることを示している。
【００４５】
図６の例では、グローバルオブジェクト属性値は、リソースデータベース３４０のテーブルのフィールドに格納され、ローカルオブジェクト属性値はリソースのデータに埋め込まれていたが、グローバルオブジェクト属性値およびローカルオブジェクト属性値の格納場所は、この例に限定されない。また、サブジェクト属性等の他の属性と同様、各オブジェクト属性値の種類とその値は上記に限定されるものではなく、任意の属性値の種類と値を定義し、利用することができ、いずれのオブジェクト属性値も、リソースデータベース内に格納される場所は任意の場所とできる。
【００４６】
ここで、前記した、アクセス制御ポリシー１６０について説明する。アクセス制御ポリシー１６０は、ユーザからのアクセス要求の属性情報４００に基づいて、当該アクセスの可否を決定するためのルールの集合であり、グローバルポリシー１６１と、ローカルポリシー１６２と、からなる。
【００４７】
グローバルポリシー１６１は、アクセス要求のサブジェクト属性４１０、グローバルオブジェクト属性４２１、アクション属性４３０と、環境属性４４０に基づいて、アクセスの可否を定めるルールの集合である。本実施形態においては、グローバルポリシーに属するルールの一例として、次のルールを用いる。
【００４８】
グローバルポリシー１：サブジェクト属性４１０の秘区分サブジェクト属性値４１２は、グローバルオブジェクト属性４２１の秘区分グローバルオブジェクト属性値４２３と同じかそれ以上のレベルでなくてはならない。
【００４９】
ただし、ここで秘区分サブジェクト属性値４１２および秘区分グローバルオブジェクト属性値４２３のレベルに関して、“秘密”は“区分なし”よりもレベルが高いものとする。なお、本実施形態では上記グローバルポリシー１をグローバルポリシーのルールの一例としたが、グローバルポリシーのルールはこれに限定されるものではない。
【００５０】
ローカルポリシー１６２はアクセス要求のサブジェクト属性４１０と、オブジェクト属性４２０と、アクション属性４３０と、環境属性４４０とに基づいて、アクセスの可否を定めるルールの集合である。本実施形態においては、ローカルポリシーに属するルールの一例として、次のルールを用いる。
【００５１】
ローカルポリシー１：  サブジェクト属性４１０の部門サブジェクト属性値４１３が“開発部門”の場合、ローカルオブジェクト属性４２２のリソース価格ローカルオブジェクト属性値４２４は、１００，０００以下でなくてはならない。なお、本実施形態では上記ローカルポリシー１をローカルポリシーのルールの一例としたが、ローカルポリシーのルールはこれに限定されるものではない。
【００５２】
ユーザからのリソースへのアクセス要求の属性情報がグローバルポリシー１６１とローカルポリシー１６２の両方を満たす場合のみ、当該ユーザは当該リソースへのアクセスが許可される。
【００５３】
アクセス制御ポリシー１６０と、グローバルポリシー１６１と、ローカルポリシー１６２とは、それぞれブール値を値域に持つ関数として表すことができる。各ポリシーを関数として記述する準備として、属性情報を表す変数を定義しておく。サブジェクト属性を表す変数をサブジェクト属性変数ｓと定義し、オブジェクト属性を表す変数をオブジェクト属性変数ｏと定義する。また、グローバルオブジェクト属性を表す変数をグローバルオブジェクト属性変数ｏｇと定義し、ローカルオブジェクト属性を表す変数をローカルオブジェクト属性変数ｏｌと定義する。
【００５４】
定義より、オブジェクト属性変数ｏはグローバルオブジェクト変数ｏｇと、ローカルオブジェクト変数ｏｌの組である。
ｏ＝（ｏｇ，ｏｌ）として表される。また、アクション属性を表す変数をアクション属性変数ａと定義し、環境属性を表す変数を環境属性変数ｅと定義する。
【００５５】
アクセス制御ポリシー１６０を表すアクセス制御ポリシー関数ｆは、サブジェクト属性変数ｓ、オブジェクト属性変数ｏ＝（ｏｇ，ｏｌ）、アクション属性変数ａ、環境属性変数ｅを入力として取り、ｆ（ｓ，ｏ，ａ，ｅ）＝１（アクセス許可の場合）、ｆ（ｓ，ｏ，ａ，ｅ）＝０（アクセス拒否の場合）と記述できる。
【００５６】
グローバルポリシー１６１を表すグローバルポリシー関数ｆｇは、サブジェクト属性変数ｓ、グローバルオブジェクト属性変数ｏｇ，アクション属性変数ａ、環境属性変数ｅを入力として取り、ｆｇ（ｓ，ｏｇ，ａ，ｅ）＝１（アクセス許可の場合）、ｆｇ（ｓ，ｏｇ，ａ，ｅ）＝０（アクセス拒否の場合）と記述できる。
【００５７】
ローカルポリシー１６２を表すローカルポリシー関数ｆｌは、サブジェクト属性変数ｓ、オブジェクト属性変数ｏ＝（ｏｇ，ｏｌ）、アクション属性変数ａ、環境属性変数ｅを入力として取り、ｆｌ（ｓ，ｏ，ａ，ｅ）＝１（アクセス許可の場合）、ｆｌ（ｓ，ｏ，ａ，ｅ）＝０（アクセス拒否の場合）と記述できる。
【００５８】
アクセス制御ポリシーは、グローバルポリシーとローカルポリシーを論理積して得られるものであり、次の関係式を満たす。
ｆ＝ｆｇ・ｆｌ
アクセス制御ポリシー関数ｆがとるこの構造のことを、因子化構造（ファクタライズ構造）と呼ぶ。上記各属性変数を引数として、グローバルポリシー関数ｆｇは、ローカルオブジェクト属性変数を包含せず、グローバルオブジェクト属性変数を包含するグローバルポリシーを、ブール関数として記述する。利用者端末２００のアクセス要求のクエリは、アクセス制御装置１００でグローバルポリシーを満たすグローバルオブジェクト属性のみに制限されるように書き換えられてから、リソース配信サーバ３００に送信される。一方、ローカルポリシー関数ｆｌは、ローカルオブジェクト属性変数とグローバルオブジェクト属性変数を包含するローカルポリシーを、ブール関数として記述する。前記書き換えられたクエリによりアクセスされたリソースが記述されたクエリ応答に対して、アクセス制御装置１００で、さらにローカルポリシーによりリソースへのアクセスの可否を判断し、そのローカルポリシーを満たすリソースに限定してアクセスが許可される。
【００５９】
なお、本実施形態においては、グローバルポリシー１６１が特許請求の範囲に記載の第一のアクセス制御ポリシーに相当し、ローカルポリシー１６２が特許請求の範囲に記載の第二のアクセス制御ポリシーに相当する。
【００６０】
ここで、前記したグローバル属性逆算部１４０について説明する。グローバル属性逆算部１４０は、アクセス要求のサブジェクト属性４１０と、アクション属性４３０と、環境属性４４０とを与えられて、グローバルポリシー１６１で許可されるグローバルオブジェクト属性４２１を全て求める。つまり、サブジェクト属性変数ｓ、アクション属性変数ａと、環境属性変数ｅを与えられて、ｆｇ（ｓ，ｏｇ，ａ，ｅ）＝１を満たすグローバルオブジェクト変数ｏｇの値全てを求める。
【００６１】
次に、前記したローカルポリシー判断部１５０について説明する。ローカルポリシー判断部１５０は、アクセス要求のサブジェクト属性４１０と、オブジェクト属性４２０と、アクション属性４３０と、環境属性４４０と、を与えられて、ローカルポリシー１６２によりアクセスの可否を評価する。つまり、ローカルポリシー関数ｆｌ（ｓ，ｏ，ａ，ｅ）の値を評価し、１ならば許可、０ならば拒否と判断する。
【００６２】
図９は、本システムで行われるアクセス制御の処理イメージを示す図である。具体的には図８を用いて後述するが、本システムでは、図９に示すように、利用者端末２００からアクセス要求がアクセス制御装置１００に送信されると、アクセス制御装置１００のグローバル属性逆算部１４０は、まず、グローバルポリシー１６１を参照してグローバルオブジェクト属性を把握し、クエリ言語で記述可能なグローバルポリシーを満たすように変更したアクセス要求をリソース配信管理サーバ３００に送信する。グローバル属性逆算部１４０は、利用者端末２００から送信されたアクセス要求が上記グローバルポリシーを満たさないと判断した場合には、リソースへのアクセスを受け付けない旨、利用者端末２００に通知する。
【００６３】
リソース配信管理サーバ３００は、アクセス制御装置１００から受け取ったアクセス要求にしたがって、アクセス可能なリソースをグローバルポリシーでフィルタリングした後のリソースを記述したクエリ言語の応答文をアクセス制御装置１００に送信する。アクセス制御装置１００のローカルポリシー判断部１５０は、リソース配信管理サーバ３００から受け取った上記クエリ言語の応答文によりアクセスされたリソースのうち、さらにローカルポリシーでフィルタリングした後のリソースのみを利用者端末２００に送信する。
【００６４】
以上に記載したアクセス制御装置１００は、例えば、図１０に示すような、ＣＰＵ（Central Processing Unit）１０１０と、メモリ１０２０と、ＨＤＤ（Hard Disk Drive）等の外部記憶装置１０３０と、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）やＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）等の可搬性を有する記憶媒体１０４０に対して情報を読み書きする読書装置１０５０と、通信ネットワークに接続するためのＮＩＣ（Network Interface Card）等の通信装置１０６０と、を備えた一般的な計算機１０００で実現できる。
【００６５】
例えば、記憶部１３０は、ＣＰＵ１０１０がメモリ１０２０又は外部記憶装置１０３０を利用することにより実現可能であり、制御部１１０は、外部記憶装置１０３０に記憶されている第一の所定のプログラムをメモリ１０２０にロードしてＣＰＵ１０１０で実行することで実現可能であり、グローバル属性逆算部１４０は、外部記憶装置１０３０に記憶されている第二の所定のプログラムをメモリ１０２０にロードしてＣＰＵ１０１０で実行することで実現可能であり、ローカルポリシー判断部１５０は、外部記憶装置１０３０に記憶されている第三の所定のプログラムをメモリ１０２０にロードしてＣＰＵ１０１０で実行することで実現可能であり、データ送受信部１２０は、ＣＰＵ１０１０が通信装置１０６０を利用することにより実現可能である。
【００６６】
この第一、第二、および、第三の所定のプログラムは、読書装置１０５０を介して記憶媒体１０４０から、あるいは、通信装置１０６０を介してネットワークから、外部記憶装置１０３０にダウンロードされ、それから、メモリ１０２０上にロードされてＣＰＵ１０１０により実行されるようにしてもよい。また、読書装置１０５０を介して記憶媒体１０４０から、あるいは、通信装置１０６０を介してネットワークから、メモリ１０２０上に直接ロードされ、ＣＰＵ１０１０により実行されるようにしてもよい。
【００６７】
既述のとおり、本実施形態のアクセスの制御は、アクセス要求の属性情報に基づいたクエリ要求文の変更と、アクセス要求の属性情報に基づいたクエリ応答文の変更と、の少なくとも２段階を行うことにより行われる。次にこのアクセス制御の手順についてフローチャートを用いて説明する。
【００６８】
図８は、本アクセス制御装置におけるアクセス制御の手順を表したフローチャートである。
【００６９】
まず、利用者端末２００から、リソース３５０へのアクセス要求の電文７００が、送信される（ステップ８０１）。アクセス制御装置１００のデータ送受信部１２０がアクセス要求電文７００を受信する。（ステップ８０２）。アクセス制御装置１００の制御部１１０は、アクセス要求電文７００の受信時刻から、環境属性４４０となるアクセス時刻環境属性値４４１を生成する（ステップ８０３）。制御部１１０は、アクセス要求電文７００のクエリ要求文７２０から操作内容アクション属性値４３１を抜き出し、アクション属性４３０を取得する（ステップ８０４）。
【００７０】
制御部１１０は、アクセス要求電文７００からユーザＩＤサブジェクト属性値４１１を抜き出し、ユーザＩＤサブジェクト属性値４１１をキーとして格納部１３０のサブジェクト属性データベース１７０を検索し、ユーザＩＤに対応するサブジェクト属性４１０を取得する（ステップ８０５）。制御部１１０は得られたサブジェクト属性４１０と、アクション属性４３０と、環境属性４４０と、格納部のグローバルポリシー１６１と、をグローバル属性逆算部１４０に渡し、グローバル属性逆算部１４０はグローバルポリシー１６１により許可されるグローバルオブジェクト属性４２０を全て求め、制御部１１０に渡す（ステップ８０６）。制御部１１０は、許可されるグローバルオブジェクト属性４２０の数が１以上かどうかを判断する（ステップ８０７）。
【００７１】
ステップ８０７で許可されるグローバルオブジェクト属性が１個以上ある場合、制御部１１０は許可されるグローバルオブジェクト属性のデータのみに制限するように、クエリ要求文７２０を変更する（ステップ８０８）。制御部１１０は変更したクエリ要求文を、データ送受信部１２０を通してリソース配信管理サーバ３００に送信する（ステップ８０９）。リソース配信管理サーバ３００は受け取ったクエリ要求文を処理し、要求されたリソースとそのオブジェクト属性を記憶部３３０から取得し、クエリ応答文に乗せて返信する（ステップ８１０）。
【００７２】
アクセス制御装置１００のデータ送受信部１２０がクエリ応答文を受信する（ステップ８１１）。制御部１１０は、データ送受信部１２０からクエリ応答文を受け取り、クエリ応答文と、サブジェクト属性４１０と、アクション属性４３０と、環境属性４４０と、格納部１３０のローカルポリシー１６２と、をローカルポリシー判断部１５０に渡し、ローカルポリシー判断部１５０は、クエリ応答文に示されているリソース３５０へのユーザのアクセスの可否について、サブジェクト属性４１０と、アクション属性４３０と、環境属性４４０と、クエリ応答文に示されている当該リソース３５０に対応するオブジェクト属性４２０とを用いて、ローカルポリシー１６２に基づき判断し、アクセス可否の判断結果を制御部１１０に返す（ステップ８１２）。
【００７３】
制御部１１０はローカルポリシー判断部１５０の判断結果に基づき、クエリ応答文からアクセスが許可されないリソース３５０とそのオブジェクト属性４２０を削除する（ステップ８１３）。制御部１１０は、データ送受信部１２０を介して、変更したクエリ応答文を利用者端末２００に返信する（ステップ８１４）。ステップ８０７で許可されるグローバルオブジェクト属性４２０の数が０個である場合、制御部１１０はユーザのリソース３５０へのアクセスは不可と判断する（ステップ８２０）。制御部１１０は、リソースがのっていないクエリ応答文を利用者端末２００に返信する（ステップ８２１）。
【００７４】
前記図８のフローチャートを用いて説明したとおり、本実施形態では、アクセス制御はグローバルポリシー１６１とローカルポリシー１６２を順に適用することで行われる。まず、グローバルポリシー１６１によるアクセス制御は、ステップ８０６、８０７、８０８で、アクセス制御装置がグローバル属性逆算部１４０を用いてクエリをグローバルポリシー１６１に基づき変更することでなされ、ステップ８１０でのリソース配信管理サーバ３００によるクエリ処理の結果はグローバルポリシー１６１に従うものとなる。本実施形態においては、このステップ８０６、８０７、８０８の手順が特許請求の範囲に記載の第一のアクセス制御手段に相当する。
【００７５】
次にローカルポリシー１６２によるアクセス制御は、ステップ８１２と８１３において、リソース配信管理サーバ３００からのクエリ応答文に示されているリソース３５０の一つ一つに対して、ローカルポリシー判断部１５０を用いてアクセス判断し、クエリ応答文を変更することにより行われる。これにより、ステップ８１４において、ユーザへのクエリ応答文にのるリソース３５０は、グローバルポリシー１６１およびローカルポリシー１６２の両方で許されるもののみ、つまり、アクセス制御ポリシー１６０で許されるもののみ、となる。本実施形態においては、このステップ８１２と８１３の手順が特許請求の範囲に記載の第二のアクセス制御手段に相当する。このように、本実施形態でのアクセス制御はアクセス要求の属性情報に基づきクエリ要求文の変更とクエリ応答文の変更の少なくとも２段階をこの順番で経ることにより行われる。
【００７６】
本実施形態では、グローバルポリシー１６１によるアクセス制御をクエリ要求文を変更することで行い、リソース配信管理サーバ３００からアクセス制御装置１００に送付されるクエリ応答文にのるリソースの量を絞ることで、クエリ応答されるリソースをグローバルポリシーによって一切絞らない場合に比べて、クエリ応答文を送信する際の当該アクセス制御装置と当該リソース配信管理サーバ間の通信量を削減することができる。また、本実施形態では、グローバルポリシー１６１によるアクセス制御を受けたクエリ応答文のリソースに対してローカルポリシー１６２を評価するため、グローバルポリシーによるアクセス制御を受けていないクエリ応答文のリソースに対してアクセス制御ポリシー１６０を評価する場合に比べ、アクセス制御装置１００でのアクセス制御に関わる処理量が少なくなることが期待できる。
【００７７】
本実施形態では、クエリ応答文に示されているリソースに対して、アクセス制御装置でローカルポリシーを用いてリソース一つ一つのアクセス判断を行うことにより、複雑なアクセス制御ポリシーを実現できる。具体的には、アクセス要求の属性情報を用いたいかなるアクセス制御ポリシーでも実現できる。アクセス制御をクエリ要求文を変更することのみによって行う場合、クエリ言語が表現できる範囲で実現できるアクセス制御ポリシーしか実現できない。例えば、オブジェクト属性の一部がリソースのデータ内部に埋め込まれており、クエリ言語によるデータ内部の読み込みができない場合、当該オブジェクト属性の一部を利用したアクセス制御は当該クエリ言語を用いたクエリ要求文のみの変更によるアクセス制御では実現できない。
【００７８】
アクセス制御ポリシー全体をクエリの変更のみで実行する場合、仮にアクセス制御ポリシー全体をクエリの変更のみで実行できる場合でも、アクセス制御ポリシーによっては、クエリが複雑になったり、複数のクエリに分割したりする必要がでる可能性がある。この場合、クエリ処理に時間がかかったり、リソース配信管理装置とアクセス制御装置間の通信に時間がかかったりすることがあり、全体のアクセス制御の処理の遅延が発生することがある。本実施形態では、当該アクセス制御ポリシーを、グローバルポリシーとローカルポリシーに分割し、グローバルポリシーをクエリ変更が単純になるように定めることで、全体の処理の遅延を回避することができる。
【００７９】
アクセス制御ポリシー全体をクエリの変更のみで実行する場合、アクセス制御ポリシー関数ｆの評価をオブジェクト属性の定義域全てに対して行い、許されるオブジェクト属性を求める必要がある。オブジェクト属性の空間が大きくなると、この評価によりアクセス制御の処理の遅延が起きる可能性がある。本実施形態によると、グローバルポリシー関数ｆｇの評価をグローバルオブジェクト属性の定義域のみに対して行い、許されるグローバルオブジェクト属性を求めればよい。本実施形態では、オブジェクト属性をグローバルオブジェクト属性とローカルオブジェクト属性の２つに分割することができ、当該アクセス制御の処理の遅延を回避することができる。
【００８０】
本実施形態における、アクセス制御の処理の具体例について例示する。図５が示すとおり、システムにはユーザ１とユーザ２が登録されている。ユーザ１については、ユーザＩＤサブジェクト属性値が“ユーザ１”、秘区分サブジェクト属性値が“区分なし”、部門サブジェクト属性値が“開発部門”である。ユーザ２については、ユーザＩＤサブジェクト属性値が“ユーザ２”、秘区分サブジェクト属性値が“秘密”、部門サブジェクト属性値が“営業部門”であるとする。
【００８１】
図６が示すとおり、リソースデータベース３３０には、“リソース１”、“リソース２”、“リソース３”の３つのリソースが格納されている。リソース１の秘区分グローバルオブジェクト属性は“区分なし”、リソース価格ローカルオブジェクト属性は“５，０００”であり、リソース２の秘区分グローバルオブジェクト属性は“秘密”、リソース価格ローカルオブジェクト属性は“５，０００”であり、リソース３の秘区分グローバルオブジェクト属性は“区分なし”、リソース価格ローカルオブジェクト属性は“１，０００，０００”である。この例では各リソースはＸＭＬデータであり、リソース価格ローカルオブジェクト属性値は、データのＰｒｉｃｅタグ６２０のなかに埋め込まれている。
【００８２】
前記ステップ８０１において、ユーザ１が“リソース”という文字をリソース名に含むリソースへの読み込みのアクセス要求を出したとする。前記８０２でアクセス要求電文を受け取ったアクセス制御装置１００は、前記ステップ８０３から８０５にかけて環境属性、アクション属性、サブジェクト属性を取得する。ステップ８０６で、グローバル属性逆算部１４０は、前記グローバルポリシー１とユーザ１の秘区分サブジェクト属性値“区分なし”とから、アクセスが許される秘区分グローバルオブジェクト属性を“区分なし”と求める。
【００８３】
許されるグローバルオブジェクト属性が１個あるためステップ８０７はＹＥＳと判断され、ステップ８０８でクエリ要求文は、“区分なし”のリソースに限られるように変更され、ステップ８０９でリソース配信管理サーバ３００に送られる。ステップ８１０で、リソース配信管理サーバ３００は、クエリ要求文を処理し、クエリ要求文に該当するリソースであるリソース１とリソース３をクエリ応答文にのせて返信する。ステップ８１１で、アクセス制御装置１００がクエリ応答文を受信する。ステップ８１２で、ローカルポリシー判断部が、アクセス要求の属性情報を用いて、ローカルポリシー１をリソース１とリソース３のそれぞれに対して評価し、リソース価格ローカルオブジェクト属性値が５，０００であるリソース１についてはアクセス許可、１，０００，０００であるリソース３についてはアクセス拒否と判断する。この際、ローカルポリシー判断部１５０は、各リソースのデータ内部にあるＰｒｉｃｅタグを見に行く必要がある。ステップ８１３でクエリ応答文からリソース３とそのオブジェクト属性が削除され、ステップ８１４でリソース１のみがのるように変更されたクエリ応答文が利用者端末２００に返信される。
【００８４】
本実施形態においては、オブジェクト属性４２０はリソースデータベース３３０に格納されるものとしたが、オブジェクト属性の格納場所はこれに限らない。例えば、オブジェクト属性は、アクセス制御装置１００の記憶部１３０に格納してもよいし、その他の場所に格納してもよい。また、オブジェクト属性は一つの場所に格納する必要はなく、複数に分割して分割した各部分をそれぞれ別の場所に格納したり、一部あるいは全部の複写をオリジナルとは別の場所に格納してもよい。
【００８５】
サブジェクト属性と、アクション属性と、環境属性についても、前記オブジェクト属性と同様に格納場所は本実施形態の例に限定されるものではない。これらの属性を分割して格納したり、複写を格納したりできる点も、また前記オブジェクト属性と同様である。
【００８６】
本実施形態においては、サブジェクト属性はグローバルポリシーとローカルポリシーの両方に入力されるとしたが、サブジェクト属性をグローバルサブジェクト属性とローカルサブジェクト属性の２つに分け、グローバルポリシーはサブジェクト属性のうちグローバルサブジェクト属性だけを、ローカルポリシーはグローバルサブジェクト属性とローカルサブジェクト属性の両方を入力としてとる、ように拡張できる。
【００８７】
アクション属性についても、グローバルアクション属性とローカルアクション属性に分け、グローバルポリシーはアクション属性のうちグローバルアクション属性だけを入力としてとり、ローカルポリシーはグローバルアクション属性とローカルアクション属性の両方を入力としてとる、ように拡張できる。
【００８８】
環境属性についても、グローバル環境属性とローカル環境属性に分け、グローバルポリシーは環境属性のうちグローバル環境属性だけを入力としてとり、ローカルポリシーはグローバル環境属性とローカル環境属性の両方を入力としてとる、ように拡張できる。
【００８９】
これらサブジェクト属性と、アクション属性と、環境属性とに関する拡張をすべてあわせると、拡張されたアクセス制御ポリシーと、拡張されたグローバルポリシーと、拡張されたローカルポリシーとは、次のように数式で表すことができる。
【００９０】
拡張されたサブジェクト属性を表す変数をサブジェクト属性変数ｓ’、グローバルサブジェクト属性を表すグローバルサブジェクト属性変数をｓｇ、ローカルサブジェクト属性を表すローカルサブジェクト属性変数をｓｌとする。また、拡張されたアクション属性を表す変数をサブジェクト属性変数ａ’、グローバルアクション属性を表すグローバルアクション属性変数をａｇ、ローカルアクション属性を表すローカルアクション属性変数をａｌとする。また、拡張された環境属性を表す変数を環境属性変数ｅ’、グローバル環境属性を表すグローバル環境属性変数をｅｇ、ローカル環境属性を表すローカル環境属性変数をｅｌとする。
【００９１】
拡張されたアクセス制御ポリシーを表す拡張されたアクセス制御ポリシー関数ｆ’は、ｆ’（ｓ’，ｏ’，ａ’，ｅ’）＝１（許可の場合）、ｆ’（ｓ’，ｏ’，ａ’，ｅ’）＝０（拒否の場合）となる。
【００９２】
拡張されたグローバルポリシーを表す拡張されたグローバルポリシー関数ｆｇ’は、ｆｇ’（ｓｇ，ｏｇ，ａｇ，ｅｇ）＝１（許可の場合）、ｆｇ’（ｓｇ，ｏｇ，ａｇ，ｅｇ）＝０（拒否の場合）となる。
【００９３】
拡張されたローカルポリシーを表す拡張されたローカルポリシー関数ｆｌ’は、ｆｌ’（ｓ’，ｏ’，ａ’，ｅ’）＝１（許可の場合）、ｆｌ’（ｓ’，ｏ’，ａ’，ｅ’）＝０（拒否の場合）となる。
【００９４】
拡張されたアクセス制御ポリシー関数ｆ’と、拡張されたグローバルポリシー関数ｆｇ’と、拡張されたローカルポリシー関数ｆｌ’との間には、次の関係式が成り立つ。
ｆ’＝ｆｇ’・ｆｌ’
拡張されたアクセス制御ポリシーを用いたアクセス制御装置においては、グローバル属性逆算部１４０とローカルポリシー判断部１５０が以下のように変更される。当該グローバル属性逆算部は、アクセス要求のグローバルサブジェクト属性と、グローバルアクション属性と、グローバル環境属性とを与えられて、拡張されたグローバルポリシーで許可されるグローバルオブジェクト属性４２１を全て求める。つまり、グローバルサブジェクト属性変数ｓｇ、グローバルアクション属性変数ａｇと、グローバル環境属性変数ｅｇを与えられて、ｆｇ’（ｓｇ，ｏｇ，ａｇ，ｅｇ）＝１を満たすグローバルオブジェクト変数ｏｇの値全てを求める。
【００９５】
当該ローカルポリシー判断部は、アクセス要求の拡張されたサブジェクト属性と、オブジェクト属性４２０と、拡張されたアクション属性と、拡張された環境属性と、を与えられて、拡張されたローカルポリシーによりアクセスの可否を評価する。つまり、拡張されたローカルポリシー関数ｆｌ’（ｓ’，ｏ，ａ’，ｅ’）の値を評価し、１ならば許可、０ならば拒否と判断する。
【００９６】
このように、本システムでは、アクセスの制御をアクセスの要求に付随する情報（例えば、上記属性情報）に基づき、要求されるクエリ文の変更によるアクセス制御とクエリ応答文の変更によるアクセス制御の少なくとも２段階のアクセス制御を実行し、要求されるクエリ文の変更は第一のアクセス制御ポリシーに基づき行われ、クエリ応答文の変更は第二のアクセス制御ポリシーに基づき行われる。第二のアクセス制御ポリシーはクエリ言語に関係なく自由に定めることができるため、アクセスの要求に付随する情報を利用するアクセス制御ポリシーであればいかなるものでも実現できる。つまり、複雑なアクセス制御ポリシーを従来技術より幅広く実現することができる。
【００９７】
さらに、本システムにおけるアクセス制御では、第一のアクセス制御ポリシーと第二のアクセス制御ポリシーの論理積が全体としてのアクセス制御ポリシーとなる。当該論理積が全体としてのアクセス制御ポリシーと一致していれば、第一のアクセス制御ポリシーと第二のアクセス制御ポリシーをどのように定めても、アクセス制御装置全体としてのアクセス制御ポリシーは変わらない。つまり、論理積が変わらないという条件のもとで第一のアクセス制御ポリシーを定める自由度があり、この自由度を用いて第一のアクセス制御ポリシーを変更後のクエリ文が複雑にならないようなものに定めることができる。
【００９８】
さらに、第一のアクセス制御ポリシーにより変更されたクエリ文は、変更されないクエリ文に比べて、対応するクエリ応答文の大きさを小さくできる。クエリ応答文を小さくすることにより、アクセス制御の処理時に必要な通信量や計算量を削減することができる。つまり、全体としてのアクセス制御は効率的なものとなる。
【符号の説明】
【００９９】
１００  アクセス制御装置
１１０  制御部
１２０  データ送受信部
１３０  記憶部
１４０  グローバル属性逆算部
１５０  ローカルポリシー判断部
１６０  アクセス制御ポリシー
１６１  グローバルポリシー
１６２  ローカルポリシー
１７０  サブジェクト属性データベース
２００  利用者端末
３００  リソース配信管理サーバ
３１０  制御部
３２０  データ送受信部
３３０  記憶部
３４０  リソースデータベース
３５０  リソース
４００  アクセス要求の属性情報
４１０  サブジェクト属性
４１１  ユーザＩＤサブジェクト属性値
４１２  秘区分サブジェクト属性値
４２０  オブジェクト属性
４２１  グローバルオブジェクト属性
４２２  ローカルオブジェクト属性
４２３  秘区分グローバルオブジェクト属性値
４２４  リソース価格ローカルオブジェクト属性値
４３０  アクション属性
４３１  操作内容アクション属性値
４４０  環境属性
４４１  アクセス時刻環境属性値
５００  サブジェクト属性データベースのテーブル
６００  リソースデータベースのテーブル
６１０  秘区分グローバルオブジェクト属性値フィールド
６２０  Ｐｒｉｃｅ要素
７００  アクセス要求の電文
７１０  ユーザＩＤ
７２０  要求クエリ文
９００  計算機
９１０  ＣＰＵ
９２０  メモリ
９３０  外部記憶装置
９４０  可搬性を有する記憶媒体
９５０  読書装置
９６０  通信装置
１０００  ネットワーク。
【図１】
2016201043.tif 000003
【図２】
2016201043.tif 000004
【図３】
2016201043.tif 000005
【図４】
2016201043.tif 000006
【図５】
2016201043.tif 000007
【図６】
2016201043.tif 000008
【図７】
2016201043.tif 000009
【図８】
2016201043.tif 000010
【図９】
2016201043.tif 000011
【図１０】
2016201043.tif 000012