JP4301513B2 - ポリシーを用いたアクセス制御効果の判定方法 - Google Patents

ポリシーを用いたアクセス制御効果の判定方法 Download PDF

Info

Publication number
JP4301513B2
JP4301513B2 JP2004343090A JP2004343090A JP4301513B2 JP 4301513 B2 JP4301513 B2 JP 4301513B2 JP 2004343090 A JP2004343090 A JP 2004343090A JP 2004343090 A JP2004343090 A JP 2004343090A JP 4301513 B2 JP4301513 B2 JP 4301513B2
Authority
JP
Japan
Prior art keywords
access
policy
effect
access control
path expression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004343090A
Other languages
English (en)
Other versions
JP2006155104A (ja
Inventor
乃箴 戚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004343090A priority Critical patent/JP4301513B2/ja
Priority to CNB2005101151349A priority patent/CN100452037C/zh
Priority to US11/286,948 priority patent/US7630984B2/en
Publication of JP2006155104A publication Critical patent/JP2006155104A/ja
Application granted granted Critical
Publication of JP4301513B2 publication Critical patent/JP4301513B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、例えば、ポリシーを用いたアクセス制御効果の判定方法に関する。さらに詳しくは、ユーザが、データベース・サーバに記憶されたデータへアクセスする際の効果を判定する手段およびその方法に関する。
従来より、処理を行うデータを取得するために、このデータが記憶されたデータベース・サーバへアクセスすることが行われている。この際、ユーザはクライアントとなるコンピュータ端末を使用し、LAN(Local Area Network)やインターネットを経由して、データベース・サーバへアクセスし、データを取得する。ここで記憶されるデータは、例えばXML(eXtensible Markup Language)やHTML(Hyper Text Markup Language)によって記述される。特に、XMLにて記述された文書は、XML文書と呼ばれる。XML文書は、その文書に対して情報を提供する者の意図に従った、階層を備えた構造化を行うことができる階層構造文書として知られている。このようなXML文書は、遺伝子のゲノム情報のような大規模なデータベースから、医療カルテのような小規模なデータベースまで幅広く使用されている。
ここで、データベースの管理者は、このXML文書に対して、あるユーザがデータベースにアクセスした場合に、このアクセスをユーザによっては拒否する設定を行う場合がある。例えば、病院の医療カルテのデータベース管理者は、患者が自らの医療カルテのデータにアクセスできないように規制する必要がある。
具体的には、ポリシーと呼ばれる規則を用いて、アクセス制御を行う方法が知られている。ポリシーとは、例えば、ユーザの名前や役職、部署等に基づいて決定される。
そして、このポリシーを用いて、Windows(登録商標)ファイルシステムが採用しているように、ファイルやフォルダごとにアクセス制御を行う。これにより、許可がないユーザやユーザのグループが、該当ファイルやフォルダにアクセスするのを防止できる。
しかしながら、あるユーザに対して、そのファイル内の一部の部分にのみアクセスを許可し、残る部分についてはアクセスを拒否するという制御が要請される場合がある。
例えば、医療カルテが一つのXML文書ファイルとして作成され、データベースに記憶されている場合を想定する。このとき、医師はカルテの情報の全てにアクセスできるが、インターン生は患者の診断情報にしかアクセスできないことが好ましい。しかし、上述のアクセス制御の方法では、ファイル単位にしかポリシーを設定できないため、そのXML文書の一部分のみについてアクセスを制御することはできない。
このような問題を解決する方法として、XML文書の内部構造単位でアクセスを可能にする制御装置が知られている(特許文献1)。特許文献1には、XML文書内にポリシーを組み込むことで、文書の内部構造単位でアクセス制御装置が示されている。特許文献1のXML文書は、データベースのデータそのものであるレコードと、そのレコード各々に対して設定されるポリシーとを含んでいる。ユーザがXML文書の一部分へアクセスした場合に、アクセス制御装置は、組み込まれたポリシーを読み込んでアクセスを制御する。
しかしながら、このアクセス制御装置は、データベースのレコードが多い場合には適当ではない。なぜなら、データベースのレコードが増えると、このレコードのアクセスを規制するポリシーも増え、XML文書が巨大化するからである。
例えば、遺伝子のゲノム情報ではXML文書のレコードのデータ量は、1ギガバイト以上のサイズになる場合がある。そのうえ、このXML文書に対して、企業や学術団体等の多数のユーザがアクセスする。そのため、アクセスする多数のユーザの各々に対して、ポリシーの設定を行う必要があり、ポリシーのデータ量は、膨大なデータ量になる。したがって、レコードのデータ量、ポリシーのデータ量ともに膨大になり、XML文書のファイルは巨大化する。
そこで、ポリシーをXML文書から分離し、データベース化する方法が知られている(非特許文献1)。非特許文献1には、ポリシーをテーブル型データベース(以下、「テーブルマップ式データベース」」で構成する方法が開示されている。テーブルマップ式データベースとは、XML文書の特定の部分を指定するパス式と、このパス式に対応する条件とからなるポリシーにより構成される。ユーザがアクセスすると、アクセス制御装置が、このアクセス要求に対するパス式を算出する。そして、アクセス制御装置は、このパス式に対応した効果を、テーブルから読み出し、そのパス式で指定されたXML文書の部分のアクセスの可否を判定する。
特開2001−273285号公報 戚乃箴,工藤道治、「XMLデータベースのためのパステーブルを用いたアクセス制御モデル」、コンピュータセキュリティ研究会、情報処理学会、2003年11月14日
上述のような、テーブルマップ式データベースを使用した場合に、このユーザがXML文章の部分にアクセスすることの可否を判断するポリシー(テーブルマップ式の場合のポリシーを、以下「エントリー」とする)が、1つではなく、複数のエントリーが検索される場合がある。例えば、経理部に所属するDanielが、/経理部/給料明細書にアクセスした場合を想定する。システムは、1つ目のポリシーとして、「Danielは、/経理部以下のパスには全てアクセス可能」というポリシーを検索する。さらに、2つ目のポリシーとして、「Danielは、/経理部/給料明細書にアクセス不可」というポリシーも検索する。このように、複数のポリシーが検索された場合には、複数のエントリーをそれぞれ個別に検討して、ユーザのアクセスの可否を判断する。したがって、多数のポリシーが設定されたシステムでは、システムが検索したエントリーが莫大な量となる場合があり、この場合には、アクセス可否を判定するための計算量が多くなってしまう。
一方、テーブルマップ式以外にも、マッチング式と呼ばれる木構造を用いたポリシーにより、アクセスを判断する方法がある。この方法では、ポリシーを木構造データとして構成することにより、ポリシーのデータ量をテーブルマップ式に比べて削減することができる方法である。
このマッチング式を用いた場合であっても、検索されたポリシーが多数であった場合には、アクセスの可否の判定のための計算量は多くなる。このことを、図6を用いて説明する。図6は、マッチング式において、アクセスの可否を判定するためのアルゴリズムとして一例を示した。ここで、XML文章の部分を特定するために、パス言語を用いている。つまり、Pがパス(ポリシーで制御される対象に関する指標であって、例えば、制御される対象となるユーザ名や、制御される対象となるXML文章の中の場所の情報を含んだ指標)であり、P=/e/e/e/・・・/ei+1の、各eが、ノード(上述の、ユーザ名や、XML文章の中の場所)に該当する。ポリシーは、このパスと、アクセス制御効果Qとからなる。アクセス制御効果とは、アクセス可能、アクセス不可能等のアクセスの可否に関する情報である。
図6では、パスがnのノードから構成され、アクセス制御効果の数(ポリシーの数)がQである場合のアルゴリズムを示した。ここでは、ノードの数だけ計算がループし、さらに、このループの中にアクセス制御効果の数だけ計算がループするため、全ての計算量としては、n|Q|となる。つまり、ポリシーを用いてアクセス制御を行うにあたって、そのアクセスの可否であるアクセス制御効果の確認は、n|Q|回の計算をする。これは、ポリシーの量が多いデータベース、あるいは、ノードの数が多いデータベース(大規模なXML文章であり、後述するObjectが多いデータベース)の場合には、計算量が莫大な量となり、データベース効率が低下する。
本発明は、上述の課題を鑑み、ポリシーを用いたデータソース(XML文章等)へのアクセス制御を行うにあたって、計算量を極力抑えた判定方法を提供することを目的とする。
ユーザがデータソースへアクセスする際に、このユーザに依存してアクセスの可否を判定するアクセス制御判定装置であって、
前記ユーザからの前記データソースへのアクセスを所定のパスで表現するアクセス受付部と、
パス言語で表現された制御パス、及びアクセスの可否を表した制御効果からなるポリシーを記憶したポリシー記憶部と、
前記所定のパスから、前記ポリシーのうち該当するポリシーを検索するポリシー検索部と、
前記所定のパスから、アクセス許可値を計算するアクセス許可値計算部と、
前記所定のパス及び前記ポリシー検索部が検索したポリシーから、アクセス効果値を計算するアクセス効果値計算部と、
前記アクセス許可値、及び前記アクセス効果値から、前記ユーザの前記データソースへのアクセスの可否を判定するアクセス判定部と、
を備えた、アクセス制御判定装置。
この発明によれば、ポリシーを用いて、ユーザのアクセスの可否を判断する際に、アクセス制御判定装置のアクセス受付部が、ユーザからのデータソースへのアクセスを所定のパスで表現し、アクセス制御判定装置のポリシー記憶部が、パス言語で表現された制御パス、及びアクセスの可否を表した制御効果からなるポリシーを記憶し、アクセス制御判定装置のポリシー検索部が、所定のパスから、記憶したポリシーのうち該当するポリシーを検索し、アクセス制御判定装置のアクセス許可値計算部が、所定のパスから、アクセス許可値を計算し、アクセス制御判定装置のアクセス効果値計算部が、この所定のパス及びポリシー検索部が検索したポリシーから、アクセス効果値を計算し、アクセス制御判定装置のアクセス判定部が、アクセス許可値、及びアクセス効果値から、ユーザのデータソースへのアクセスの可否を判定する。
したがって、この発明によれば、アクセスの可否を判定する際には、アクセス許可値とアクセス効果値とを計算するだけでよい。すなわち、アクセス制御効果の計算量を、アクセス効果値を計算する数+アクセス許可値を計算する数、すなわち、アクセス制御効果の数(ポリシーの数)にアクセス許可値の計算(1回)を加えた|Q+1|に抑えることができる。これにより、従来の計算量n|Q|よりも少ない計算で、アクセスの可否の判定を行うことが可能である。
この発明によれば、アクセスの可否を判定する際には、アクセス許可値とアクセス効果値とを計算するだけでよい。すなわち、アクセス制御効果の計算量を、アクセス効果値を計算する数+アクセス許可値を計算する数、すなわち、アクセス制御効果の数(ポリシーの数)にアクセス許可値の計算(1回)を加えた|Q+1|に抑えることができる。これにより、従来の計算量n|Q|よりも少ない計算で、アクセスの可否の判定を行うことが可能である。
以下に、本発明の好適な実施形態を図面に基づいて説明する。
図1に示すように、アクセス制御判定システム1は、複数のユーザ端末20と、これらのユーザ端末20と通信回線ネットワーク30を介して接続されるアクセス制御判定装置10と、同様に、通信回線ネットワーク30を介してアクセス制御判定装置10と接続されるデータソース記憶手段31とを備えている。
ユーザ端末20は、図2に示すように、CRTディスプレイや液晶ディスプレイ等の表示手段21と、キーボードやテンキー、マウス等の入力手段22と、ハードディスク、メモリ等の記憶手段23と、CPU等の制御手段24と、通信回線ネットワーク30に接続されるネットワーク・カード等の通信手段25とを備えている。ユーザ端末20は、ユーザが、通信回線ネットワーク30を介して、データソースとなるデータへのアクセスを行うクライアント機能を備える。ユーザ端末20は、ユーザがデータソースの部分へのアクセスを行う場合に、このデータソースの部分への読み出し、書き込み、更新等のアクションを行うためのアクセス要求を送信する。ここで、ユーザ端末20は、コンピュータ端末であってもよいし、携帯情報端末であってもよい。
通信回線ネットワーク30は、アクセス制御判定装置10とユーザ端末20とを接続するネットワークである。通信回線ネットワーク30は、LAN(Local Area Network)であってもよいし、インターネットであってもよい。
データソース記憶手段31は、XML文書等のデータソースが記憶されている装置である。例えば、データソース記憶手段31は、ハードディスクのような記憶手段であってもよい。また、データソース記憶手段31は、図1に示すように、アクセス制御判定装置10の外部に設置されていてもよいし、アクセス制御判定装置10の内部に設置されていてもよい。データソースはファイルとして記憶されたXML文書等であってよく、データソースの部分とは、XML文書等のデータソースの一部の領域のことである。例えば、XML文書内のタグで囲まれた領域である。
アクセス制御判定装置10は、図3に示すように、通信部11と、アクセス受付部12と、ポリシー検索部13と、ポリシー記憶部16と、アクセス判定機構500とを備え、アクセス判定機構500は、アクセス許可値計算部14と、アクセス効果値計算部15と、アクセス判定部17とを備えている。
アクセス制御判定装置10は、通常のコンピュータであってよい。すなわち、アクセス制御判定装置10が、中央演算装置(以下「CPU」)、記憶メモリ、入出力インターフェース、大容量記憶装置、入出力装置(ディスプレイ、スピーカ、キーボード、マウス)を備えていることで、アクセス制御判定装置10の機能が実現されてもよい。
通信部11は、通信回線ネットワーク30に接続され通信を行う。通信部11は、ネットワーク・インターフェースであってよく、モデムやLANカード、LANボード等であってよい。
アクセス受付部12は、ユーザからのXML文章の部分に対するアクセスを受け付ける装置である。ユーザ端末20のクライアント機能から、データソースへのアクセスが行われる。このアクセスを受け付けるのが、アクセス受付部12である。アクセス受付部12は、アクセスしたユーザ名、ユーザの部署、アクセスされるXML文書の場所等の情報から、ノードを特定し、ノードからパス式を作成する。作成したパス式をポリシー検索部13に伝える。
ポリシー検索部13は、アクセス受付部12が作成したパス式に基づいて、該当するポリシーをポリシー記憶部16から検索する。すなわち、ポリシー検索部13は、パス式を構成する個々のノードに対応したポリシーを、ポリシー記憶部16から検索する。
ポリシー記憶部16は、ポリシーが記憶された装置である。通常のハードディスクやメモリ等の手段であってよく、DVD、CD等の記憶媒体に記憶する手段であってもよい。ポリシー記憶部13に記憶されたポリシーから、ポリシー検索部13が該当するポリシーを検索する。
アクセス判定機構500は、図3に示すようにアクセス制御判定装置10の内部に備えられていてもよいし、異なるハードウェア装置(コンピュータ等)として、アクセス制御判定装置10の外部に備えられていてもよい。
アクセス許可値計算部14は、アクセス許可値を計算する手段である。ここで、アクセス許可値とは、アクセスの許可をするための基準となる値である。アクセス許可値計算部14は、アクセス受付部12が作成したパス式に基づいて、アクセス許可値を計算する。アクセス許可値計算部14は、この計算結果をアクセス判定部17へ伝える。
アクセス効果値計算部15は、アクセス効果値を計算する手段である。ここで、アクセス効果値とは、アクセス受付部12が作成したパス式と、ポリシー検索部13が検索したポリシーとから計算される値である。アクセス効果値計算部15は、この計算結果をアクセス判定部17へ伝える。
アクセス判定部17は、アクセス許可値計算部14が計算したアクセス許可値と、アクセス効果値計算部15が計算したアクセス効果値とから、アクセスの可否を判定する手段である。アクセス判定部17は、アクセスの可否を判定した後に、アクセスの可否に基づいて、データソース記憶手段31にアクセスして、判定をしたXML文書の部分の情報をユーザ端末20に対して提供してもよい。
アクセス制御判定装置10の各手段が実行する具体的な動作を、図4のフローチャートを用いて説明する。
最初に、ユーザ端末20からデータソース記憶手段31に記憶されたデータソース(XML文章等)のある部分に対して、アクセスしたいという要求がアクセス制御判定装置10に送信される(S01)。ユーザ端末20のように、通信回線ネットワーク30を介して、アクセス制御判定装置10に、この要求が送信されてもよいし、アクセス制御判定装置10が、キーボード等の入力手段を備えているため、通信回線ネットワーク30を介さずに、直接的に、ユーザからの要求がアクセス制御判定装置10に伝えられてもよい。
アクセス制御判定装置10のアクセス受付部12は、ユーザ端末20からの要求を受信して、この要求を所定のパスで表現する(S02)。パスとは、この要求に関する情報を集約した文字列である。ここで、要求に関する情報とは、例えば、アクセスを行うユーザの所属、名前や、アクセスを行うデータソースの場所の情報等である。
このパス情報から、アクセス制御判定装置10のポリシー検索部13は、パスに適したポリシーをポリシー記憶部16から検索する(S03)。パスに適したポリシーは、1つだけ検索されるとは限らない。すなわち、1つのパスに対して、検索されるポリシーが複数存在するという場合もある。
次に、アクセス判定機構500のアクセス許可値計算部14が、アクセス許可値を計算する(S04)。アクセス許可値は、アクセス受付部12が表現したパスのみから計算される。
一方、アクセス効果値計算部15は、ポリシー検索部13が検索したポリシーと、アクセス受付部12が表現したパスからアクセス効果値を計算する(S05)。ポリシー検索部13が検索したポリシーが複数である場合には、検索されたポリシーの全てを用いてアクセス効果値を計算する。
アクセス判定部17は、上述のステップで計算されたアクセス許可値とアクセス効果値とを用いて、アクセスの可否を判定する(S06)。具体的には、アクセス許可値とアクセス効果値との値(文字列)を比較して判定を行う。アクセス判定部17は、ユーザのアクセスが不可と判断した場合には、処理を行わず終了してもよいし、アクセスが不可である情報をユーザ端末20に送信してもよい。
アクセス判定部17が、ユーザのアクセスが可能と判断した場合には、データソース記憶手段31にアクセスして、アクセス要求のあったデータソース部分の表示を、ユーザ端末20の表示手段21に行う(S07)。
[XPath] 本発明で用いる「パス」の例としてXPathについて説明する。XPathは、アクセスの制御を行う対象を定義づけるために用いられる。つまり、XPathは、XML文書の特定の部分を指し示す構文を規定する。さらに具体的には、XPathを用いることで、XML文書中にインデックスなどが埋め込まれていなくとも、文書中の任意の位置を指し示すことができる。
一般的なポリシーの例として、「Aliceは、人事情報を閲覧できるが、秘密情報は閲覧できない。Bobは、人事情報も秘密情報も閲覧できない」というポリシーが入力されたとする。このポリシーを単純化するため、以下の表1に示されたパス式言語により記述されたアクセス制御ポリシーを使用する。ここで、表1のパス式言語の一部として、XPath(XML Path Language)を用いることができる。
Figure 0004301513
最初に、表1を用いてパス式言語の説明をする。Subject-Typeは、Subjectが、どのような種類であるかを定める。例えば、Subject-TypeをUserIDとして、Subjectをユーザ名とすることが可能である。その他に、Subject-TypeをGroupとし、Subjectをグループ名とすることも可能である。また、Objectは、アクセス制御を行う対象である。実際にユーザがアクセスを行うデータソースの位置もしくは部分を示す。Objectで指定されるパス式の各要素を、パス値とする。Mode-Actionは、SubjectとObjectとの条件を満たした場合の、判定の内容である。判定の内容とは、例えば、アクセス許可、拒否、という内容であってもよいし、読み出すためのアクセス可能、又は拒否という内容でもよい。本実施例では、ユーザがデータを読み出す際の判定について説明するが、ユーザが書き込むためのアクセスの可否の判定や、更新するためのアクセスの可否の判定、削除するためのアクセスの可否の判定についても同様に適用される。
Mode-Actionの、+Rとは、Objectで指定する部分以下の階層のノード全てを閲覧可能であることを示す。これに対して、+rは、その階層のノードのみ閲覧可能であることを示す。Mode-Actionにて+Rを採用した場合には、上位ノードが全ての下位ノードのMode-Actionを決定することができる。
本明細書中では、下位ノードから見た上位ノードは、親のノード、祖先のノードと記載し、上位ノードから見た下位ノードは、子のノード、子孫のノードと記載する。
さらに、Mode-Actionは、必ずしも判定の結論でなくてもよい。例えば、データソースからのデータ値を用いてアクセスの可否を判断する条件の場合には、Mode-Actionは、データ値が満たすべき述語式であってもよい。
述語式は、データ値をデータソースから読み出して、そのデータ値からアクセス制御を行う場合の判断式である。この述語式の条件を満たす場合には、このノードに設定されたMode-Actionの判定内容が採用される。つまり、述語式では、条件変数Xに対応するデータ値を、データソースから読み出し、このデータ値が述語式の内容を満たす(例えば、100より大きい場合)は、アクセスを可能・不可能とする判定を行うことを意味する。
アクセス制御ポリシーは、1つまたは複数のルールにより構成される。例えば、1のルールは、以下のように表される。
Figure 0004301513
上述のAliceとBobのポリシーは、アクセス制御ポリシーを使用すると以下の(式2)のように記述される。ここで、人事情報はXML文書内のパス/site/peopleに示されるところに位置し、秘密情報は、同様に/site/secretで示されるところに位置するとする。(式2)では、3つのルールをアクセス制御ポリシーで記述している。
Figure 0004301513
例えば、ユーザ(Alice)がアクセスされるノードのObjectのパス表現が、/site/people/aliceのときは、全体のパスとして(USERID,Alice,/site/people/alice)と表される。このパス表現に対して、ポリシー検索部13が、該当するポリシーを検索する。(式2)の中では、ポリシー検索部13は、<USERID,Alice,/site/people,+R>を検索する。
Figure 0004301513
(式3)で示したように、Objectに“//”を含む場合がある。この場合には、例えばAliceは、/a/c/の下にどんな階層があっても、その下の階層である/dにアクセスできる。すなわち、“//”は、3番目の階層がどんなパス値であっても、その下の/dに対してアクセス可能ということを意味する。
このObjectに“//”を含む場合の例として、アクセス制御ポリシーは<UserID,Seki,/a,+r>,<UID,Seki,/a//c,-R>と二つがあり、アクセスされるノードのパス表現は/a/b/c/dのとき、適用するポリシー(制御パスと制御効果のペア)は<UserID,Seki,/a,+r>と、<UID,Seki,/a//c,-R>である。特に、//が制御ポリシーに含まれるとき、制御パスは制御ポリシーのオブジェクト(/a//c)がP(/a/b/c/d)の上でマッチした部分である、(/a/b/c)となる。
このように、XPathを用いて、アクセス制御ポリシーを記述でき、これをポリシー記憶部16に記憶する。ポリシー検索部13は、アクセス受付部12が表現したアクセスされたパスから、ポリシー記憶部16に記憶されたポリシーに対して、該当するポリシーを検索する。
[ポリシーの検索、アクセス制御の判定技術]既存の技術として、ポリシーを検索しアクセス判定を行う機構としては、以下の表2に示すような研究が行われている。
Figure 0004301513
テーブルマップ式の技術は、上述の非特許文献1に記載されている。これに加えて、例えばT.Yu, D.Srivastava, L.V.S. Lakshmanan, and H.V.Jagadish, “Compressed Accessibility Map:Efficient Access Control for XML”,in VLDB,2002に記載されており、テーブルを用いてアクセスの判定を行う。フィルターリング式は、例えばM.Altinel and M.Franklin,“Efficient filtering of XML documents for selective dissemination of information,”,in VLDB,2000に記載されている技術であり、アクセス可能な部分だけをポリシーで定義する技術である。オートマン式では、例えば、M.Murata,A.Tozawa M.Kudo and H.Satoshi,“XML Access Control Using Static Analysis”, in ACM CCS,2003に記載されている技術であり、複雑なアクセス制御ポリシーの設定が可能である技術である。マッチング式は、アクセス制御ポリシーを木構造に変換してアクセス制御を行う方法であり、例えば、特願2004−191425に記載されている方法である。
これらの様々な方式を用いて、アクセス制御を行う際に、アクセス要求から表現したXPathから複数のポリシーが検索され、この複数のポリシーに基づいて判定を行う場合がある。この場合には、複数のポリシーを1つずつ計算する必要が生じる。本発明では、この複数のポリシーの計算を効率的に行う方法を提案する。
したがって、本発明では、表2に記載したアクセス制御以外の方法であっても、上述のように複数のポリシーの個々を計算して、アクセスの判定を決定するときには、適用可能である。
[前提条件] 本発明で提案した方法の前提条件について説明する。前提条件としては、(1)複数のポリシーから生じる矛盾の解決方法と、(2)ディフォルトの制御効果についての二点である。
(1)について説明する。複数のポリシーが検索されると、この複数のポリシーの間で、矛盾が生じる場合がある。つまり、一つのノードに対して、同時に「アクセス許可」と「アクセス拒否」とが制御されるときに、この矛盾が生じる。管理者は、この矛盾が生じたときには、「アクセス拒否」または「アクセス許可」のいずれかを優先するように、アクセス判定部17にこの優先順位を記憶させる。これにより、矛盾が生じた場合には、どちらの効果を優先させるかを、アクセス判定部17が判断することができる。
(2)について説明する。アクセス制御ポリシーに制御されないノードに対しては、「アクセス許可」または「アクセス拒否」のどちらかを採用するかを、定義づけておく必要がある。これが、ディフォルトの制御効果である。一般的には、安全性を保障するシステムでは、「アクセス拒否」がディフォルト制御効果として採用される。
[計算方法、判定方法]
ポリシー検索部13により複数のポリシーが検索された後に、アクセス制御判定機構500は、アクセス許可値とアクセス効果値とを計算する。アクセス制御判定装置10のアクセス許可値計算部14がアクセス許可値を計算する。アクセス許可値とは、アクセスしようとするノードへ到達するために許可される最小の値である。一方、アクセス制御判定装置10のアクセス効果値計算部15がアクセス効果値を計算する。アクセス効果値は、検索されたアクセス制御ポリシーに基づいて計算される。
計算されたアクセス許可値とアクセス制御値とに基づいて、アクセス判定部17がアクセスの判定を行う。具体的には、アクセス効果値≧アクセス許可値(アクセス許可値、アクセス効果値を数字で表現した場合)であるときにアクセスは許可される。
[計算の順番]
アクセス判定部17はポリシー検索部13から得られた多数のポリシー(制御パス、制御効果)の集合を入力として受け取り、これらの制御効果の間の競合の解決を行い、制御結果を判定する。競合解決は、各(制御パス、制御効果)の組をパスの長さが短い順に調べることにより行われてもよい。一例として、競合解決の手順は以下のようである。パスの長さをnとする。n=1のものから順に調べるとする。
Figure 0004301513
例えば、パス/a/b/c/dについて、以下のような(制御パス、制御効果)の集合が得られたとする。
Figure 0004301513
これをn=1,2(パス/a,a/b)のときには、制御効果が、+rであるため、n=3を調べる。しかし、n=3(パス/a/b/c)では制御効果が、+Rであるため、n=4(パス/a/b/c/d)については、-Rでなければよい。よってアクセスは許可されるべきである。以上のような競合解決を効率的に実装するためには、ポリシー(制御パス、制御効果)の集合を制御パスの長さ順にソートして、アクセス効果値を計算する手法が有効である。
以下ではこのアクセス効果値を用いたアクセス判定部17の実装の詳細を説明する。
[アクセス効果値]以下では、アクセス効果値計算部15が、アクセス効果値を、アクセスのあったパスとアクセス制御ポリシーとにより計算する具体的な方法について述べる。アクセス制御ポリシーに出現するMode-Actionはポリシーの制御効果を決める。たとえば、+rは子孫へのアクセス伝播なしの許可を表す。+Rは子孫へのアクセス伝播ありの許可を表す。また、-Rは子孫へのアクセス伝播ありの拒否を表す。これらのアクセス制御効果を違うデータ構造で表し、各制御ポリシーが要求されるパスに含まれるノードにデータ効果を用いて反映し、アクセス効果値を計算する。
具体的な実装に関して説明する。たとえば、それぞれの制御効果を表4と表5に示しているように数字または文字列で表すと考えられる。更に、表4では制御されないパス(N/A)に対した記述も書かれている。その場合、パスとその子孫は全て未定義となる。
Figure 0004301513
Figure 0004301513
まず、表4の数字を用いた方法で説明する。アクセスされるノードenのパス表現Pを/e/e/…/e/…/eで表すとする。表4のMode-Actionに対応した数字を用いて、ルートノードのeからアクセスされるノードeまでのノードをそれぞれ数字に置き換えられ、アクセス効果値を生成することができる。パスP=/e/e/…/e/…/eのアクセス効果値Effectの生成アルゴリズムは以下のようになる。
[アクセス効果値の計算におけるアルゴリズムの例] パスPに適用される制御パスと制御効果のペア集合にはm個の元素があり、任意の制御パスをQとし、その長さを|Q|とする。また、その対応する制御効果はEとする。計算方法は、まず長さnとなる配列effectを初期化し、全ての要素を1にする。また、ノードeに対応した配列の要素はeffect[i]となる。表6は下のような流れでアクセス効果値Effectを計算する。なお、制御パスに//が存在しないと仮定する。
Figure 0004301513
表6のアルゴリズムを用いて、簡単な例を一つあげる。ここでは、アクセス制御ポリシーのObject部のみ考慮する。パスPは/a/b/c/d/eで、適用する制御パスと制御効果のペアは(1)(/a,+r)、(2)(/a/b,+R)、(3)(/a/b/c/d/e,+r)と3つあると仮定する。以上の条件で、アクセス効果値を上のアルゴリズムで計算する。
初期値として、effect配列は{1,1,1,1,1}となる。(1)を処理した時点で、/aに+rの制御効果が与えられたため、effect[0]は2となり、配列は{2,1,1,1,1}となる。(2)を処理した時点で、effect[1]は3となり、配列は{2,3,1,1,1}となる。また、(3)の時点でeffect[4]は2となり、配列は{2,3,1,1,2}となる。結局、アクセス効果値は23112となる。
さらに、表7の文字列を同様なアルゴリズムで効果値を計算できる。ただし、最後にEffectを計算するとき、違うアルゴリズムを用いる必要がある。
Figure 0004301513
ここで、appendはEffect文字列の右側に新しい文字列を追加するメソッドとする。簡単な例を一つあげる。Pは/a/b/c/d/eで、適用する制御パスと制御効果のペアは(1)(/a/b/c/d/e,+r)、(2)(/a,+r)、(3)(/a/b,+R)と3つあると仮定する。以上の条件で、アクセス効果値を上のアルゴリズムで計算する。初期値として、effect配列は{‘b’,‘b’,‘b’,‘b’,‘b’}となる。(1)を処理した時点で、/a/b/c/d/eに+rの制御効果が与えられたため、effect[4]は‘c’となり、配列は{‘b’,‘b’,‘b’,‘b’,‘c’}となる。(2)を処理した時点で、effect[0]は‘c’となり、配列は{‘c’,‘b’,‘b’,‘b’,‘c’}となる。また、(3)の時点でeffect[1]は‘d’となり、配列は{‘c’,‘d’,‘b’,‘b’,‘c’}となる。結局、アクセス効果値は“cdbbc”となる。
一方、制御パスに‘//’が含まれるとき、事前にPに対し当てはまる制御パスを展開し、制御パスを追加する必要がある。たとえば、制御パスは/a//bで制御効果は+rのとき、Pは/a/b/d/b/e/bのとき、展開されるものは/a/b,a/b/d/b、と/a/b/d/b/e/bとなり、制御パスと制御効果のペアは3つとなる。それぞれは、(/a/b,+r),(a/b/d/b,+r)、と(/a/b/d/b/e/b,+r)となる。
[アクセス許可値]以下では、アクセス許可値計算部14が、アクセス効果値を、アクセスのあったパスにより計算する具体的な方法について述べる。アクセス許可値はアクセス許可されるための最小アクセス効果値である。上述のように、アクセスの可否は、階層構造に従った祖先の制御効果に依存性を持つ。したがって、パスへのアクセスが許可されるための必要条件は、その祖先ノードも全て許可されることである。アクセスされるノードeのパス表現Pを/e/e/…/e/…/eで表せるとする。Pがアクセス許可されるとは、eからeまで全てのノードがアクセス許可と意味する。それを満たすには、下の二つの条件を満たさなければならない。
(1) eからeまでに、-Rと定義されるノードはない。(2)eからeまで全てのノードは+rと定義されている、または、制御効果が定義されていないノードには+Rと定義される祖先が存在する。
条件(1)を満たすには、eからeまでの数字表現に0は存在しなければ十分である。また、条件(2)を満たすには、正規表現で表すと(2)+ または (2)*3(1|2|3)* となる。さらに、文字列を用いた場合は、(c)+ または *d(b|c|d)*。数字で例をあげると、Pは/a/b/c/d/eのとき、条件2を満たすためのアクセス効果値は22222または23111、23211、23221、23222、23311、23321、23322、23331、23332、23333、31111、32111・・・・となる(残りの3から始まる値を省略)。したがって、アクセス効果値の最小値は22222であることが分かる。つまり、‘eからeまで全てのノードは+rと定義されている’から生成されるアクセス効果値はアクセス許可値である。
一例として、P=/e/e/…/e/…/eのアクセス許可値minEffectの生成アルゴリズムは以下のようになる。表8が数字を用いた場合であり、表9が文字列を用いた場合の生成アルゴリズムである。
Figure 0004301513
Figure 0004301513
[アクセス判定について]
アクセス判定部17は、入力されたアクセス許可値minEffectアクセス効果値Effectを用いて制御結果を判定する。具体的には、以下の表10のようになる。
Figure 0004301513
数字によりアクセス判定を行う場合には、比較は数の大小を比較する。文字列を用いた場合、文字列の定義順序になる。定義順序とは、辞書式比較(a->b->c->d)というアルファベット順であってもよいし、文字列の優先順位を、アルファベット順以外の順番に最初に定義(aはcより優先する等)し、その定義した順番で、文字列の優先順位としてよい。
図5では具体的な医療カルテのXML文書の一部を示している。このXML文書には、患者情報(氏名、性別、住所、職業、医療保険会社など)と診療履歴(日付、症状、診断、医者情報、治療法など)が含まれている。看護婦に関してアクセス制御ポリシーの定義は以下のようになると仮定する。
Figure 0004301513
これらのアクセス制御ポリシーは、看護婦(nurse)のnameとtherapyとそれらの子孫を、読むことが可能であると定義している。また、submitted要素の有無で、患者の診断履歴が存在するか否かを知ることができるが、具体的な内容は読むことができないと定義している。
例えば、看護婦(nurse)が/patients/patient/name/firstnameにアクセスしたとき、ポリシ−検索部13の出力は適用される制御パスと制御効果のペア集合であり、具体的には、以下となる。
Figure 0004301513
/patients/patient/nameは/patients//nameを満たすため、ポリシー(4)から/patients/patient/nameの制御パスを得られた。
[数字による判定]アクセス許可値計算部14で、アクセス許可値minEffectを計算する。アルゴリズムによって、minEffect=2222となる。また、アクセス効果値計算部15で、アクセス効果値を計算する。まず、配列effect[4]を作り、初期状態は{1,1,1,1}にし、制御パスと制御効果のペア集合を順番に処理する。(/patients,+r)から、effect[0]=2となる。(/patients/patient,+r)から、effect[1]=2となる。また、(/patients/patient/name,+R)から、effect[2]=3となる。したがって、/patients/patient/name/firstnameのアクセス効果値(Effect)は2231となる。結局、Effect>minEffect(アクセス許可値)になるため、/patients/patient/name/firstnameへのアクセスは許可される。
また、看護婦(nurse)が/patients/patient/submitted/doctor/name/firstnameにアクセスした場合には、ポリシー検索部13の出力は以下となる。
Figure 0004301513
/patients/patient/submitted/doctor/nameは、/patients//nameを満たすため、ポリシー(4)から/patients/patient/submitted/doctor/nameの制御パスを得る。
アクセス許可値計算部14で、アクセス許可値minEffectを計算する。アルゴリズムによって、minEffect=222222。また、アクセス評価値計算部14で、アクセス効果値Effectを計算する。まず、配列effect[6]を作り、初期状態は{1,1,1,1,1,1}である。制御パスと制御効果のペア集合を順番に処理する。(/patients,+r)から、effect[0]=2となる。(/patients/patient,+r)から、effect[1]=2となる。また、(/patients/patient/submitted,+r)から、effect[2]=2となる。(/patients/patient/submitted/doctor/name,+R)から、effect[4]=3となる。したがって、/patients/patient/submitted/doctor/name/firstnameのアクセス効果値はEffect=222131となる。
結局、アクセス許可値と、アクセス効果値を比較すると、Effect<minEffectになるため、/patients/patient/submitted/doctor/name/firstnameへのアクセスは拒否される。Effectの値から分かるように、/patients/patient/submitted/doctorへのアクセス許可がないため、全ての祖先への制御許可の依存性は満たされずに、minEffectより小さいEffectを導き、/patients/patient/submitted/doctor/name/firstnameへのアクセスは拒否される。
次に、ノードに述語式を用いて制限を加え、データの値に基づいたアクセス制御を行う場合でも、本発明で提示した方法が対応できる。図5に示したXML文書の一部に対し、更に患者に対しアクセス制御ポリシーを定義する。
Figure 0004301513
$uidはシステム関数で、患者(patient)それぞれが持つユニークの識別IDとする。患者識別IDが100($uid=100)であるユーザが、図5のXML文書の/patients/patient/therapy/amountにアクセスするとき、ポリシー(2)と(3)に含まれるpatientに関した述語式@id=$uidが満たれることとなる。そのため、制御パスと制御効果のペア集合に3つのアイテムが含まれる。具体的には、以下となる。
Figure 0004301513
アクセス許可値計算部14で、アクセス許可値minEffectを計算する。アルゴリズムによって、minEffect=2222が計算される。また、アクセス効果値計算部15で、アクセス効果値を計算する。まず、配列effect[4]を作り、初期状態は{1,1,1,1}にし、制御パスと制御効果のペア集合を順番に処理する。(/patients,+r)から、effect[0]=2となる。(/patients/patient,+r)から、effect[1]=2となる。また、(/patients/patient/therapy,+R)から、effect[2]=3となる。したがって、/patients/patient/therapy/amountのアクセス効果値はEffect=2231となる。よって、その患者は/patients/patient/therapy/amountへのアクセスは許可される。
また、uidが101となる患者が同じXML文書の/patients/patient/therapy/amountに対し、アクセスした場合、述語式@id=$uidが満たされないため、制御パスと制御効果のペア集合は(/patients,+r)のみとなる。よって、アクセス評価値Effectは2111となり、minEffectより小さいため、アクセスは拒否されることになる。
[文字列による判定]看護婦ユーザに関してアクセス制御ポリシーの定義は以下と仮定する。
Figure 0004301513
これらのアクセス制御ポリシーは、看護婦(nurese)のnameとtherapyとそれらの子孫を読めると定義している。また、submitted要素の有無で、患者の診断履歴が存在するか否かを知ることができるが、具体的な内容は読めないと定義している。
看護婦ユーザが/patients/patient/name/firstnameにアクセスしたとき、ポリシー検索部13の出力は適用される制御パスと制御効果のペア集合であり、具体的には、以下となる。
Figure 0004301513
/patients/patient/nameは/patients//nameを満たすため、ポリシー(4)から/patients/patient/nameの制御パスを得られた。
アクセス許可値計算部14で、アクセス許可値minEffectを計算する。アルゴリズムによって、minEffect=“cccc”。また、アクセス効果値計算部15で、アクセス効果値Effectを計算する。まず、配列effect[4]を作り、初期状態は{‘b’,‘b’,‘b’,‘b’}にし、制御パスと制御効果のペア集合を順番に処理する。(/patients,+r)から、effect[0]=‘c’となる。(/patients/patient,+r)から、effect[1]=‘c’となる。また、(/patients/patient/name,+R)から、effect[2]=‘d’となる。したがって、/patients/patient/name/firstnameのアクセス効果値は、“ccdb”となる。結局、“ccdb”>“cccc”でアクセス効果値Effect>アクセス許可値minEffectになるため、/patients/patient/name/firstnameへのアクセスは許可される。
また、看護婦(nurse)が/patients/patient/submitted/doctor/name/firstnameにアクセスしたとき、ポリシー検索部13の出力は以下となる。
Figure 0004301513
/patients/patient/submitted/doctor/nameは、/patients//nameを満たすため、ポリシー(4)から/patients/patient/submitted/doctor/nameの制御パスを得る。
アクセス効果値計算部15で、アクセス許可値minEffectを計算する。アルゴリズムによって、minEffect=“cccccc”。また、アクセス効果値計算部15で、アクセス効果値Effectを計算する。まず、配列effect[6]を作り、初期状態は{‘b’,‘b’,‘b’,‘b’,‘b’,‘b’}である。制御パスと制御効果のペア集合を順番に処理する。(/patients,+r)から、effect[0]=‘c’となる。(/patients/patient,+r)から、effect[1]=‘c’となる。また、(/patients/patient/submitted,+r)から、effect[2]=‘c’となる。(/patients/patient/submitted/doctor/name,+R)から、effect[4]=‘d’となる。したがって、/patients/patient/submitted/doctor/name/firstnameのアクセス効果値はEffect=“cccbdb”となる。
結局、“cccbdb”<“cccccc”でアクセス効果値Effect < アクセス許可値minEffectになるため、/patients/patient/submitted/doctor/name/firstnameへのアクセスは拒否される。Effectの値から分かるように、/patients/patient/submitted/doctorへのアクセス許可がないため、全ての祖先への制御許可の依存性は満たされずに、minEffectより小さいEffectを導き、/patients/patient/submitted/doctor/name/firstnameへのアクセスは拒否される。
このような実施形態を実現するアクセス制御判定方法を、コンピュータやサーバにて実行するためのプログラムにより実現することができる。このプログラムのための記憶媒体としては、DVDやMO、PD等の光学記憶媒体、テープ媒体、半導体メモリ等が挙げられる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けられたハードディスク又はRAM等の記憶装置を記憶媒体として使用し、ネットワークを介してプログラムを提供してもよい。
以上、本発明の実施形態を説明したが、具体例を例示したに過ぎず、特に本発明を限定しない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載された効果に限定されない。
本発明は、データ量が多いデータソースに対して多くのユーザがアクセスするデータベース・マネージメント・システムに対して適用可能であるのみならず、データ量が多い複数のデータソースが物理的に異なるサーバ等に記憶され、これらのデータソースに対して多くのユーザがアクセスするデータベース・マネージメント・システムに対しても適用可能である。
本発明のアクセス制御判定システムのハードウェア構成を示す図である。 ユーザ端末のハードウェア構成を示す図である。 アクセス制御判定装置のハードウェア構成を示す図である。 アクセス制御判定装置が実行する動作を示すフローチャート図である。 本発明に用いられるデータソースの一例である。 ポリシーが複数ある場合に、アクセス制御判定を行う従来のアルゴリズムを示す図である。
符号の説明
1 アクセス制御判定システム
10 アクセス制御判定装置
12 アクセス受付部
13 ポリシー検索部
14 アクセス許可値計算部
15 アクセス効果値計算部
16 ポリシー記憶部
17 アクセス判定部
20 ユーザ端末
30 通信回線ネットワーク
31 データソース記憶手段
500 アクセス判定機構

Claims (5)

  1. ユーザがXML文書の特定の部分へアクセスする際に、前記ユーザに依存してアクセスの可否を判定する、アクセス制御判定装置であって、
    前記ユーザからの前記XML文書の特定の部分へのアクセスに基づいて、ノードを特定し、前記ノードに基づいて、XML文書の特定の部分を指し示す、XPathを含むパス式言語により記述されるパス式を作成するアクセス受付部と、
    パス式言語により記述される、前記パス式を構成する前記ノードに対するアクセスの可否を表した制御効果からなる、ポリシーを記憶したポリシー記憶部と、
    前記パス式を構成する個々の前記ノードに対応したポリシーを前記ポリシー記憶部から検索するポリシー検索部と、
    前記パス式に基づいて、前記パス式の長さを配列の長さにした配列を定義して、パス式に含まれる各前記ノード及び各前記ノードの制御効果を全てアクセス許可にしたときのポリシーを前記配列の配列要素の数の大きさ又は前記配列の配列要素の文字列の定義順序により表すアクセス許可値を計算するアクセス許可値計算部と、
    前記アクセス受付部が作成した前記パス式及び前記ポリシー検索部が検索した前記ポリシーより、前記パス式に基づいて、前記パス式の長さを配列の長さにした配列を定義して、パス式に含まれる各前記ノード及びポリシーの制御効果を前記配列の配列要素の数の大きさ又は前記配列の配列要素の文字列の定義順序により表すアクセス効果値を計算するアクセス効果値計算部と、
    前記アクセス許可値を示す前記配列の配列要素の数字の数の大きさ又は前記配列の配列要素の文字列の定義順序と前記アクセス効果値を示す前記配列の配列要素の数字の数の大きさ又は前記配列の配列要素の文字列の定義順序とを比較して、前記ユーザの前記XML文書の特定の部分へのアクセスの可否を判定するアクセス判定部と、
    を備えた、アクセス制御判定装置。
  2. 請求項1に記載のアクセス制御判定装置であって、前記アクセス制御判定装置が、コンピュータで実現されたアクセス制御判定装置。
  3. ユーザ端末、及びアクセス制御判定装置が通信回線ネットワークに接続され、前記ユーザ端末を用いるユーザがXML文書の特定の部分へアクセスする際に、前記ユーザに依存してアクセスの可否を判定するアクセス制御判定方法であって、
    前記アクセス制御判定装置のポリシー記憶部に、XPathを含むパス式言語により記述される、XML文書の特定の部分を指し示すパス式に含まれるノードに対するアクセスの可否を表した制御効果からなる、ポリシーを記憶するステップと、
    前記アクセス制御判定装置のアクセス受付部で、前記ユーザからの前記XML文書の特定の部分へのアクセスに基づいて、前記ノードを特定し、前記ノードから、前記パス式を作成するステップと、
    前記アクセス制御判定装置のポリシー検索部で、前記パス式を構成する個々の前記ノードに対応したポリシーを前記ポリシー記憶部から検索するステップと、
    前記アクセス制御判定装置のアクセス許可値計算部で、前記パス式に基づいて、前記パス式の長さを配列の長さとし、パス式に含まれる各前記ノードと、各前記ノードの制御効果を全てアクセス許可にしたときのポリシーとを配列要素の数字の大きさ又は文字の順序により表すアクセス許可値を計算するステップと、
    前記アクセス制御判定装置のアクセス効果値計算部で、前記アクセス受付部が作成した前記パス式と、前記ポリシー検索部が検索した前記ポリシーとから、前記パス式の長さを配列の長さとし、パス式に含まれる各前記ノード及びポリシーの制御効果を配列要素の数字の大きさ又は文字の順序により表すアクセス効果値を計算するステップと、
    前記アクセス制御判定装置のアクセス判定部で、前記アクセス許可値前記アクセス効果値とを比較して、数字の数の大きさ又は文字列の定義順序により前記ユーザの前記XML文書の特定の部分へのアクセス否を判定するステップと、
    を含む、アクセス制御判定方法。
  4. 請求項に記載のアクセス制御判定方法であって、前記アクセス制御判定方法が、コンピュータで実現されるアクセス制御判定方法。
  5. ユーザ端末、及びアクセス制御判定装置が通信回線ネットワークに接続され、前記ユーザ端末を用いるユーザがXML文書の特定の部分へアクセスする際に、前記ユーザに依存してアクセスの可否を判定するアクセス制御判定方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記アクセス制御判定装置のポリシー記憶部に、XPathを含むパス式言語により記述されるXML文書の特定の部分を指し示すパス式に含まれるノードに対するアクセスの可否を表した制御効果からなる、ポリシーを記憶するステップと、
    前記アクセス制御判定装置のアクセス受付部で、前記ユーザからの前記XML文書の特定の部分へのアクセスに基づいて、前記ノードを特定し、前記ノードからパス式を作成するステップと、
    前記アクセス制御判定装置のポリシー検索部で、前記パス式を構成する個々の前記ノードに対応したポリシーを前記ポリシー記憶部から検索するステップと、
    前記アクセス制御判定装置のアクセス許可値計算部で、前記パス式に基づいて、アクセスの許可をするための基準となる値であるアクセス許可値を計算するステップと、
    前記アクセス制御判定装置のアクセス効果値計算部で、前記アクセス受付部が作成した前記パス式と、前記ポリシー検索部が検索した前記ポリシーとからアクセス効果値を計算するステップと、
    前記アクセス制御判定装置のアクセス判定部で、前記アクセス許可値前記アクセス効果値とを比較して、数字の数の大きさ又は文字列の定義順序により前記ユーザの前記XML文書の特定の部分へのアクセス否を判定するステップと、
    を含む、アクセス制御判定方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004343090A 2004-11-26 2004-11-26 ポリシーを用いたアクセス制御効果の判定方法 Expired - Fee Related JP4301513B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004343090A JP4301513B2 (ja) 2004-11-26 2004-11-26 ポリシーを用いたアクセス制御効果の判定方法
CNB2005101151349A CN100452037C (zh) 2004-11-26 2005-11-10 用于确定访问控制的方法和装置
US11/286,948 US7630984B2 (en) 2004-11-26 2005-11-25 Method of determining access control effect by using policies

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004343090A JP4301513B2 (ja) 2004-11-26 2004-11-26 ポリシーを用いたアクセス制御効果の判定方法

Publications (2)

Publication Number Publication Date
JP2006155104A JP2006155104A (ja) 2006-06-15
JP4301513B2 true JP4301513B2 (ja) 2009-07-22

Family

ID=36568434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004343090A Expired - Fee Related JP4301513B2 (ja) 2004-11-26 2004-11-26 ポリシーを用いたアクセス制御効果の判定方法

Country Status (3)

Country Link
US (1) US7630984B2 (ja)
JP (1) JP4301513B2 (ja)
CN (1) CN100452037C (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417678B2 (en) 2002-07-30 2013-04-09 Storediq, Inc. System, method and apparatus for enterprise policy management
WO2004012379A2 (en) 2002-07-30 2004-02-05 Deepfile Corporation Method and apparatus for managing file systems and file-based data storage
US7805449B1 (en) 2004-10-28 2010-09-28 Stored IQ System, method and apparatus for enterprise policy management
US8612404B2 (en) * 2002-07-30 2013-12-17 Stored Iq, Inc. Harvesting file system metsdata
KR100677116B1 (ko) * 2004-04-02 2007-02-02 삼성전자주식회사 사이클릭 레퍼런싱 방법/장치, 파싱 방법/장치 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
US8510331B1 (en) 2004-10-28 2013-08-13 Storediq, Inc. System and method for a desktop agent for use in managing file systems
US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
US7478419B2 (en) * 2005-03-09 2009-01-13 Sun Microsystems, Inc. Automated policy constraint matching for computing resources
US7962513B1 (en) * 2005-10-31 2011-06-14 Crossroads Systems, Inc. System and method for defining and implementing policies in a database system
FR2896602B1 (fr) * 2006-01-26 2008-06-06 Commissariat Energie Atomique Procede de gestion de documents electroniques
US10031830B2 (en) * 2006-10-13 2018-07-24 International Business Machines Corporation Apparatus, system, and method for database management extensions
US9183321B2 (en) 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
JP4882671B2 (ja) * 2006-11-01 2012-02-22 富士通株式会社 アクセス制御方法及びアクセス制御システム並びにプログラム
US8145655B2 (en) * 2007-06-22 2012-03-27 International Business Machines Corporation Generating information on database queries in source code into object code compiled from the source code
US7831621B1 (en) 2007-09-27 2010-11-09 Crossroads Systems, Inc. System and method for summarizing and reporting impact of database statements
US8145572B2 (en) * 2007-10-19 2012-03-27 Kabushiki Kaisha Toshiba Information processing apparatus, content processing method, and computer program product thereof
US8463815B1 (en) * 2007-11-13 2013-06-11 Storediq, Inc. System and method for access controls
US8875221B2 (en) 2009-02-10 2014-10-28 Nec Corporation Policy management apparatus, policy management system, and method and program used for the same
CN102340501A (zh) * 2011-07-14 2012-02-01 广东爱科数字科技有限公司 一种综合平台的隐私信息保护方法
US8880989B2 (en) * 2012-01-30 2014-11-04 Microsoft Corporation Educating users and enforcing data dissemination policies
US9087039B2 (en) 2012-02-07 2015-07-21 Microsoft Technology Licensing, Llc Language independent probabilistic content matching
US11373736B2 (en) 2012-08-15 2022-06-28 Micro Focus Llc Metadata tree with key rotation information
JP6002609B2 (ja) * 2013-03-19 2016-10-05 株式会社エヌ・ティ・ティ・データ 情報端末、制御方法、制御プログラム
US12080421B2 (en) 2013-12-04 2024-09-03 Apple Inc. Wellness aggregator
US20160019360A1 (en) 2013-12-04 2016-01-21 Apple Inc. Wellness aggregator
CN111180040B (zh) 2014-09-02 2023-11-10 苹果公司 身体活动和健身监视器
EP4327731A3 (en) 2015-08-20 2024-05-15 Apple Inc. Exercise-based watch face
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
US10736543B2 (en) 2016-09-22 2020-08-11 Apple Inc. Workout monitor interface
US10845955B2 (en) 2017-05-15 2020-11-24 Apple Inc. Displaying a scrollable list of affordances associated with physical activities
JP6805196B2 (ja) * 2018-02-23 2020-12-23 日本電信電話株式会社 ポリシー競合解消システム及びポリシー競合解消方法
US11317833B2 (en) 2018-05-07 2022-05-03 Apple Inc. Displaying user interfaces associated with physical activities
DK201970532A1 (en) 2019-05-06 2021-05-03 Apple Inc Activity trends and workouts
US11152100B2 (en) 2019-06-01 2021-10-19 Apple Inc. Health application user interfaces
JP7297940B2 (ja) 2019-06-01 2023-06-26 アップル インコーポレイテッド マルチモードの活動追跡ユーザインタフェース
JP7264953B2 (ja) * 2020-01-06 2023-04-25 アップル インコーポレイテッド 生理学的データの提示
DK202070612A1 (en) 2020-02-14 2021-10-26 Apple Inc User interfaces for workout content
DK181037B1 (en) 2020-06-02 2022-10-10 Apple Inc User interfaces for health applications
US11938376B2 (en) 2021-05-15 2024-03-26 Apple Inc. User interfaces for group workouts
US20230390626A1 (en) 2022-06-05 2023-12-07 Apple Inc. User interfaces for physical activity information
US11977729B2 (en) 2022-06-05 2024-05-07 Apple Inc. Physical activity information user interfaces

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281003B2 (en) * 1998-10-05 2007-10-09 Oracle International Corporation Database fine-grained access control
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
JP2002278838A (ja) * 2001-03-15 2002-09-27 Sony Corp メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体
SE523140C2 (sv) * 2002-07-02 2004-03-30 Telia Ab Skyddsanordning i datorsystem avsedd att skydda en fil med en säkerhetspolicy i ett system för tillämpning av säkerhetspolicy
DE10393571T5 (de) * 2002-10-23 2005-12-22 Onaro, Boston Verfahren und System zum Validieren logischer End-to-End-Zugriffspfade in Storage Area Netzwerken
US7961594B2 (en) * 2002-10-23 2011-06-14 Onaro, Inc. Methods and systems for history analysis for access paths in networks
US7127461B1 (en) * 2002-11-27 2006-10-24 Microsoft Corporation Controlling access to objects with rules for a work management environment
US20040148278A1 (en) * 2003-01-22 2004-07-29 Amir Milo System and method for providing content warehouse
JP3982623B2 (ja) * 2003-03-25 2007-09-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、データベース検索システム及びプログラム
US20040213086A1 (en) * 2003-04-25 2004-10-28 Terzian Berj A. Enhanced prompts for setting or resetting digital time displays
US8250093B2 (en) * 2003-08-25 2012-08-21 International Business Machines Corporation Method and system for utilizing a cache for path-level access control to structured documents stored in a database
US8775468B2 (en) * 2003-08-29 2014-07-08 International Business Machines Corporation Method and system for providing path-level access control for structured documents stored in a database
US7478100B2 (en) * 2003-09-05 2009-01-13 Oracle International Corporation Method and mechanism for efficient storage and query of XML documents based on paths
US7398265B2 (en) * 2004-04-09 2008-07-08 Oracle International Corporation Efficient query processing of XML data using XML index
JP4793839B2 (ja) * 2004-06-29 2011-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 木構造データによるアクセス制御手段
US20060080316A1 (en) * 2004-10-08 2006-04-13 Meridio Ltd Multiple indexing of an electronic document to selectively permit access to the content and metadata thereof
US7346609B2 (en) * 2004-11-16 2008-03-18 International Business Machines Corporation Streaming XPath algorithm for XPath value index key generation
US7433870B2 (en) * 2004-12-27 2008-10-07 Lucent Technologies Inc. Method and apparatus for secure processing of XML-based documents

Also Published As

Publication number Publication date
JP2006155104A (ja) 2006-06-15
CN100452037C (zh) 2009-01-14
CN1801146A (zh) 2006-07-12
US7630984B2 (en) 2009-12-08
US20060117014A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
JP4301513B2 (ja) ポリシーを用いたアクセス制御効果の判定方法
US11829514B2 (en) Systems and methods for computing with private healthcare data
US20230044294A1 (en) Systems and methods for computing with private healthcare data
Gkoulalas-Divanis et al. Publishing data from electronic health records while preserving privacy: A survey of algorithms
US10454932B2 (en) Search engine with privacy protection
CN100430951C (zh) 向用户/组授予访问控制列表所有权的访问控制系统和方法
KR100737300B1 (ko) 액세스 제어를 위반하는 질의의 실행을 우선적으로불허하는 사용자 데이터 지적 사용 방법
US20160283473A1 (en) Method and Computer Program Product for Implementing an Identity Control System
KR20060030014A (ko) 범용 주석의 구성 및 디플로이 방법 및 시스템
Gowadia et al. RDF metadata for XML access control
CN103329140A (zh) 基于用户隐私偏好创建访问控制策略
Jahid et al. MyABDAC: compiling XACML policies for attribute-based database access control
EP4115314A1 (en) Systems and methods for computing with private healthcare data
Gkoulalas-Divanis et al. Anonymization of electronic medical records to support clinical analysis
Olson et al. A formal framework for reflective database access control policies
Maté et al. Improving security in NoSQL document databases through model-driven modernization
Pernul Canonical security modeling for federated databases
Chen et al. Dynamic and semantic-aware access-control model for privacy preservation in multiple data center environments
Olca et al. DICON: A Domain-independent consent management for personal data protection
Goel et al. Derived access control specification for XML
Wiederhold et al. Web implementation of a security mediator for medical databases
JP2002312220A (ja) ユーザ定義機能を使用したセルレベルのデータアクセス制御
Chen et al. A Privacy‐Preserved Analytical Method for eHealth Database with Minimized Information Loss
Bui et al. An XML gateway to patient data for medical research applications
Gkoulalas-Divanis et al. Overview of patient data anonymization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071116

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071226

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090417

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140501

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees