(57)【特許請求の範囲】
【請求項１】
複数の構成ファイルが複合化されてなる複合ファイルを生成するための複合ファイル生成装置であって、
前記各構成ファイルのうち、複数のコンテンツファイルと、前記各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルを保持する保持手段と、
前記各コンテンツファイルに対する前記各ポリシファイルを特定するポリシ特定情報及び前記特定された各ポリシファイルの処理手順を示す処理手順情報を含むポリシマニフェストファイルを生成する手段と、
前記生成されたポリシマニフェストファイルと、前記保持された各ファイルとを複合化して、当該ポリシマニフェストファイル及び当該各ファイルを前記各構成ファイルとして含む前記複合ファイルを生成する手段と
を備え、
前記処理手順は、前記特定された各ポリシファイルを評価し、当該評価した結果に基づいて当該各ポリシファイル全体の評価結果を決める処理手順を含む
ことを特徴とする複合ファイル生成装置。
【請求項２】
複数の構成ファイルが複合化されてなる複合ファイルを展開し、前記各構成ファイルにアクセスするための複合ファイル展開装置であって、
複数のコンテンツファイルと前記各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルと、前記各コンテンツファイルに対する前記各ポリシファイルを特定するポリシ特定情報及び前記各ポリシファイルの処理手順を示す処理手順情報を含むポリシマニフェストファイルとが前記各構成ファイルとして複合化されてなる前記複合ファイルを取得する手段と、
前記取得した複合ファイルを展開して前記各構成ファイルを抽出する手段と、
前記抽出された各構成ファイルを保持する保持手段と、
前記保持された各構成ファイルのうちのいずれかのコンテンツファイルの指定を受け付ける手段と、
前記指定を受け付けたコンテンツファイルに関し、前記保持された各構成ファイルのうちの前記ポリシマニフェストファイルからポリシ特定情報及び処理手順情報を抽出する手段と、
前記抽出されたポリシ特定情報に基づいて、前記指定されたコンテンツファイルに対するポリシファイルを前記保持手段から取得する手段と、
前記取得されたポリシファイルを、前記抽出された処理手順情報に基づいて評価する手段と、
前記評価の結果に基づいて、前記指定されたコンテンツファイルに対するアクセスを制御する手段と
を備えたことを特徴とする複合ファイル展開装置。
【請求項３】
メモリを有し、複数の構成ファイルが複合化されてなる複合ファイルを生成するための複合ファイル生成装置に用いられるプログラムであって、
前記複合ファイル生成装置を、
前記各構成ファイルのうち、複数のコンテンツファイルと、前記各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルを前記メモリに保持する保持手段、
前記各コンテンツファイルに対する前記各ポリシファイルを特定するポリシ特定情報及び前記特定された各ポリシファイルの処理手順を示す処理手順情報を含むポリシマニフェストファイルを生成する手段、
前記生成されたポリシマニフェストファイルと、前記保持された各ファイルとを複合化して、当該ポリシマニフェストファイル及び当該各ファイルを前記各構成ファイルとして含む前記複合ファイルを生成する手段、
として機能させ、
前記処理手順は、前記特定された各ポリシファイルを評価し、当該評価した結果に基づいて当該各ポリシファイル全体の評価結果を決める処理手順を含む
ためのプログラム。
【請求項４】
メモリを有し、複数の構成ファイルが複合化されてなる複合ファイルを展開し、前記各構成ファイルにアクセスするための複合ファイル展開装置に用いられるプログラムであって、
前記複合ファイル展開装置を、
複数のコンテンツファイルと前記各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルと、前記各コンテンツファイルに対する前記各ポリシファイルを特定するポリシ特定情報及び前記各ポリシファイルの処理手順を示す処理手順情報を含むポリシマニフェストファイルとが前記各構成ファイルとして複合化されてなる前記複合ファイルを取得する手段、
前記取得した複合ファイルを展開して前記各構成ファイルを抽出する手段、
前記抽出された各構成ファイルを前記メモリに保持する保持手段、
前記保持された各構成ファイルのうちのいずれかのコンテンツファイルの指定を受け付ける手段、
前記指定を受け付けたコンテンツファイルに関し、前記保持された各構成ファイルのうちの前記ポリシマニフェストファイルからポリシ特定情報及び処理手順情報を抽出する手段、
前記抽出されたポリシ特定情報に基づいて、前記指定されたコンテンツファイルに対するポリシファイルを前記保持手段から取得する手段、
前記取得されたポリシファイルを、前記抽出された処理手順情報に基づいて評価する手段、
前記評価の結果に基づいて、前記指定されたコンテンツファイルに対するアクセスを制御する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、複合ファイル生成装置、複合ファイル展開装置及びプログラムに関する。
【背景技術】
【０００２】
近年、特定の情報やアクションを、権限情報に基づいて制御するアクセス制御技術の重要性が高まっている。例えば、アクション可否形式のアクセス制御が広く利用されてきている。
【０００３】
アクション可否形式のアクセス制御には、例えば、文書ファイルに対してユーザに割り当てられた権限情報をセキュリティ属性とする方式がある。ここで、権限情報は「閲覧許可」や「編集許可」などのアクション可否形式で記述されている。この種の権限情報は、アクセス制御マトリックス(Access Control Matrix)やアクセス制御リスト(Access Control List)として知られている。例えば、「セキュリティコンテナ」として文書ファイルに権限情報（ルール）を設定する方法が知られている。
【０００４】
しかしながら、アクション可否形式のアクセス制御では、許可されるアクセス時間やアクセス場所などの条件や、詳細な機能制限などの柔軟な制御内容を記述することが困難である。
【０００５】
このため、近年、アクション可否形式だけではなく、アクセス制御ポリシ形式のアクセス制御が利用されている。アクセス制御ポリシは、アクセス制御ルールの集合であり、標準的な記述仕様が公開されている。アクセス制御ポリシ形式は、許可される条件や、詳細な機能制限の記述が可能である。このため、アクセス制御ポリシ形式のアクセス制御では、情報へのアクセス要求を受けると、ファイルを開いてよいか否かを判定した上で、アクセス制御ポリシで規定された機能に制限する等の制御が可能となる。このような技術は、一般的にディジタル権利管理(Digital Rights Management)技術とも呼ばれる。
【０００６】
また、近年、複数の形式で記述されたデータ（又はファイル）を一つのファイル形式に纏めるための複合ファイル技術が開発されてきている。複合ファイル技術は、様々な形式のファイルから構成される複合ファイルを生成することにより、アプリケーションによる各ファイルの取り扱いを容易化できる利点がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−３０６５２１号公報
【非特許文献】
【０００８】
【非特許文献１】Tim Moses、”eXtensible Access Control Markup Language (XACML) Version 2.0”、[online]、[2010年12月9日検索]、インターネット＜URL：http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-core-spec-os.pdf＞
【非特許文献２】“ISO/IEC 26300:2006 Information technology ―― Open Document Format for Office Applications (OpenDocument) v1.0”、[online]、[2010年12月9日検索]、インターネット＜URL：http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43485＞
【非特許文献３】“Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0”、[online]、OASIS Security Services (SAML) TC、[2010年12月9日検索]、インターネット＜URL：http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、前述したディジタル権利管理技術を含むアクセス制御技術と複合ファイル技術に関し、本発明者の検討によれば、各技術の組み合わせを想定し、複合ファイルにおけるアクセス制御を実行する状況を考察する必要がある。
【００１０】
この考察の結果、以下の２つの課題が挙げられる。
【００１１】
第１の課題としては、複合ファイル技術にディジタル権利管理技術を適用した場合、複合ファイル単位でアクセス制御できるものの、個別の構成ファイル単位でアクセス制御できない点が挙げられる。この場合、複合ファイル全体に同一の規則が適用される。
【００１２】
しかしながら、複合ファイル内の全ての構成ファイルが同一の重要性を持つケースは少ないため、構成ファイル毎に重要性に応じた規則を適用してアクセス制御できることが望ましい。また、複合ファイルは、内部構成がフォルダ構成などにより階層化される場合があるので、階層構造に対応した規則を適用できることが望ましい。
【００１３】
第２の課題としては、複数の適用先（例、企業）毎に異なるディジタル権利管理技術で保護（アクセス制御）された各構成ファイルを複合化する場合、一旦、各構成ファイルの保護を解除する必要がある点が挙げられる。
【００１４】
しかしながら、保護を解除する行為は、ディジタル権利管理技術の目的に反している。従って、異なるディジタル権利管理技術で保護された各構成ファイルから複合ファイルを生成する際にも、各構成ファイルの保護を継承できることが望ましい。
【００１５】
本発明が解決しようとする課題は、構成ファイル毎にアクセス制御可能な複合ファイルを、各構成ファイルの保護を解除せずに生成し得る複合ファイル生成装置及びプログラムを提供することである。
【００１６】
また、本発明が解決しようとする他の課題は、構成ファイル毎にアクセス制御可能で各構成ファイルの保護を解除せずに生成し得る複合ファイルを展開し、構成ファイル毎にアクセス制御を実行し得る複合ファイル展開装置及びプログラムを提供することである。
【課題を解決するための手段】
【００１７】
実施形態の複合ファイル生成装置は、複数の構成ファイルが複合化されてなる複合ファイルを生成するための装置である。
【００１８】
前記複合ファイル生成装置は、保持手段を備えている。
【００１９】
前記保持手段は、前記各構成ファイルのうち、複数のコンテンツファイルと、前記各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルを保持する。
【００２０】
前記複合ファイル生成装置は、前記各コンテンツファイルに対する前記各ポリシファイルを特定するポリシ特定情報及び前記各ポリシファイルの処理手順を示す処理手順情報を含むポリシマニフェストファイルを生成する。
【００２１】
前記複合ファイル生成装置は、前記生成されたポリシマニフェストファイルと、前記保持された各ファイルとを複合化して、当該ポリシマニフェストファイル及び当該各ファイルを前記各構成ファイルとして含む前記複合ファイルを生成する。
【００２２】
実施形態の複合ファイル展開装置は、複数の構成ファイルが複合化されてなる複合ファイルを展開し、前記各構成ファイルにアクセスするための装置である。
【００２３】
前記複合ファイル展開装置は、複数のコンテンツファイルと前記各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルと、前記各コンテンツファイルに対する前記各ポリシファイルを特定するポリシ特定情報及び前記各ポリシファイルの処理手順を示す処理手順情報を含むポリシマニフェストファイルとが前記各構成ファイルとして複合化されてなる前記複合ファイルを取得する。
【００２４】
前記複合ファイル展開装置は、前記取得した複合ファイルを展開して前記各構成ファイルを抽出する。
【００２５】
前記複合ファイル展開装置は、保持手段を備えている。
【００２６】
前記保持手段は、前記抽出された各構成ファイルを保持する。
【００２７】
前記複合ファイル展開装置は、前記保持された各構成ファイルのうちのいずれかのコンテンツファイルの指定を受け付ける。
【００２８】
前記複合ファイル展開装置は、前記指定を受け付けたコンテンツファイルに関し、前記保持された各構成ファイルのうちの前記ポリシマニフェストファイルからポリシ特定情報及び処理手順情報を抽出する。
【００２９】
前記複合ファイル展開装置は、前記抽出されたポリシ特定情報に基づいて、前記指定されたコンテンツファイルに対するポリシファイルを前記保持手段から取得する。
【００３０】
前記複合ファイル展開装置は、前記取得されたポリシファイルを、前記抽出された処理手順情報に基づいて評価する。
【００３１】
前記複合ファイル展開装置は、前記評価の結果に基づいて、前記指定されたコンテンツファイルに対するアクセスを制御する。
【図面の簡単な説明】
【００３２】
【図１】一実施形態に係る複合ファイル処理システムの構成例を示す模式図である。
【図２】同実施形態における複合ファイルの構成例を示す模式図である。
【図３】同実施形態におけるポリシマニフェストファイルの構成例を示す模式図である。
【図４】同実施形態におけるポリシマニフェストファイルの構成例を示す模式図である。
【図５】同実施形態における複合ファイル生成装置の機能構成を示す模式図である。
【図６】同実施形態における複合ファイル展開装置の機能構成を示す模式図である。
【図７】同実施形態における複合ファイル生成装置の動作を説明するためのフローチャートである。
【図８】同実施形態における複合ファイル展開装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００３３】
以下、一実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００３４】
図１は一実施形態に係る複合ファイル処理システムの構成例を示す模式図である。この複合ファイル処理システムは、複合ファイル生成装置１０及び複合ファイル展開装置２０を備えている。
【００３５】
ここで、複合ファイル生成装置１０は、複数のファイル（構成ファイル）から構成される複合ファイルを生成する装置であって、個別の構成ファイル及びファイル構造（フォルダ構成、又はディレクトリ構成）に対応する取り扱い規則を示したポリシファイルの処理手順や対応関係を示したポリシマニフェストファイルを生成し、構成ファイルとともに複合化するための装置である。なお、ポリシマニフェストファイルは、ポリシマニフェスト情報と呼んでもよい。
【００３６】
補足すると、複合ファイル生成装置１０は、複数の構成ファイルが複合化されてなる複合ファイルを生成するための装置であって、例えば、以下の各機能(f10-1)〜(f10-3)を備えて構成することが可能である。
【００３７】
(f10-1)  各構成ファイルのうち、複数のコンテンツファイルと、各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルを保持する保持機能。
【００３８】
(f10-2)  各コンテンツファイルに対する各ポリシファイルを特定するポリシ特定情報（例、ターゲット(Target)要素、ポリシエントリーズ(PolicyEntries)要素、ポリシエントリ(PolicyEntry)要素）及び各ポリシファイルの処理手順を示す処理手順情報（例、ポリシ結合アルゴリズム(PolicyCombingAlgorithm)属性、アトリビュート(Attribute)要素、後続エントリ(SubsequentEntry)要素）を含むポリシマニフェストファイルを生成する機能。
【００３９】
(f10-3)  生成されたポリシマニフェストファイルと、保持された各ファイルとを複合化して、当該ポリシマニフェストファイル及び当該各ファイルを各構成ファイルとして含む複合ファイルを生成する機能。
【００４０】
複合ファイル展開装置２０は、複合ファイル生成装置１０により生成された複合ファイルを展開し、ポリシマニフェストファイルに従い、複合ファイル及び構成ファイルに対するアクセス制御を実施するための装置である。
【００４１】
補足すると、複合ファイル展開装置２０は、複数の構成ファイルが複合化されてなる複合ファイルを展開し、当該各構成ファイルにアクセスするための装置であって、例えば、以下の各機能(f20-1)〜(f20-8)を備えて構成することが可能である。
【００４２】
(f20-1)  複数のコンテンツファイルと各コンテンツファイルのアクセス制御ルールを示す複数のポリシファイルとを少なくとも含む各ファイルと、各コンテンツファイルに対する各ポリシファイルを特定するポリシ特定情報及び各ポリシファイルの処理手順を示す処理手順情報を含むポリシマニフェストファイルとが各構成ファイルとして複合化されてなる複合ファイルを取得する機能。
【００４３】
(f20-2)  取得した複合ファイルを展開して各構成ファイルを抽出する機能。
【００４４】
(f20-3)  抽出された各構成ファイルを保持する保持機能。
【００４５】
(f20-4)  保持された各構成ファイルのうちのいずれかのコンテンツファイルの指定を受け付ける機能。
【００４６】
(f20-5)  指定を受け付けたコンテンツファイルに関し、当該保持された各構成ファイルのうちのポリシマニフェストファイルからポリシ特定情報及び処理手順情報を抽出する機能。
【００４７】
(f20-6)  当該抽出されたポリシ特定情報に基づいて、当該指定されたコンテンツファイルに対するポリシファイルを保持機能から取得する機能。
【００４８】
(f20-7)  当該取得されたポリシファイルを、当該抽出された処理手順情報に基づいて評価する機能。
【００４９】
(f20-8)  当該評価の結果に基づいて、当該指定されたコンテンツファイルに対するアクセスを制御する機能。
【００５０】
本実施形態では、ユーザ（利用者又はアプリケーションなど）からの依頼に基づいて動作し得る複合ファイル生成装置１０及び複合ファイル展開装置２０の例を説明する。また、本実施形態では、複合ファイルを取扱う（閲覧や編集など）アプリケーションをユーザとした例を説明するが、任意の装置からの電文等を介して操作されてもよい。
【００５１】
次に、複合ファイルについて説明する。
【００５２】
複合ファイルは、前述した通り、複数の構成ファイルを複合化したファイルである。複合ファイルの形式としては、任意の形式が使用可能であり、適宜、実施に適した形式に拡張すればよい。好適な例としては、非特許文献２に示したオープン・ドキュメント・フォーマット(Open Document Format)形式（ＯＤＦ形式）などが挙げられる。ＯＤＦ形式のファイルは、フォルダ構造を含む複数のファイルをＺＩＰ形式で圧縮した複合ファイルの形式である。図２は、複合ファイル構成の一例を示している。この例では、複合ファイルの階層構造のルートとして“/”フォルダ（以下、ルートフォルダＲＦという）が存在し、“CONTENTS”フォルダ（コンテンツフォルダＣＦ）配下に、複合化対象のファイルが格納される。
【００５３】
図２では、コンテンツフォルダＣＦに、“content1.xml”ファイル（以下、コンテンツファイルｃｔ１という）及び“content2.xml”ファイル（以下、コンテンツファイルｃｔ２と記載）を含めている。
【００５４】
“META-INF”フォルダ（以下、メタ情報フォルダＭＦという）は、複合ファイルの管理に関連するファイルを格納するためのフォルダである。図２に示す“policy-manifest.xml”ファイル（以下、ポリシマニフェストファイルｐｍという）及び“POLICIES”フォルダ（以下、ポリシフォルダＰＦという）及びポリシフォルダＰＦ配下のファイルらを除くファイルｍｆ，ｍｄについては、複合ファイルの形式に依存するファイルが含められる。
【００５５】
ここで、各ファイルｍｆ，ｍｄのうち、“manifest.xml”ファイルｍｆは、例えば、複合ファイルの全体構造や暗号化情報を示すマニフェストファイルであり、“metadata.xml”ファイルｍｄは、例えば、複合ファイルの属性情報を示すメタ情報ファイルである。
【００５６】
図２では、ポリシフォルダＰＦに、ポリシ実体としてのポリシファイルとして、“policy1_1.xml”ファイル（以下、ポリシファイルｐｃ１−１という）及び“policy1_2.xml”ファイル（以下、ポリシファイルｐｃ１−２という）及び“policy2.xml”ファイル（以下、ポリシファイルｐｃ２という）を含めている。ポリシ実体は、本実施形態のように複数のファイル形式であってもよく、特定のファイルやデータベースなどに含められたデータ項目であってもよく、特定のポリシ実体を識別できればよい。ポリシファイルのポリシ記述形式は、任意の形式を取ればよい。好適には、非特許文献１に示したＸＡＣＭＬ形式などが挙げられる。ポリシファイルの拡張子などは、それぞれのポリシ記述形式に規定される場合はその形式に従えばよいが、ポリシファイルの一意性を確保するためには、複合ファイル内部の同一ファイル名を避けることが望ましい。
【００５７】
図３及び図４は、ポリシマニフェストファイルｐｍをＸＭＬ形式で記述した一例を示しており、名前空間や属性や要素などのうち、本実施形態の動作に関わらない構成要素についての記載を省略している。
【００５８】
ポリシマニフェストファイルｐｍのルート要素はポリシマニフェスト(PolicyManifest：ポリシ目録)要素である。ポリシマニフェスト要素は、ポリシ記述(PolicyDescriptor)要素を子要素に持つ。ポリシ記述要素が存在しない場合、もしくはポリシマニフェストファイルｐｍが存在しない場合は、制御すべき対象が存在しないと暗黙的に見做せばよい。
【００５９】
ポリシ記述(PolicyDescriptor)要素は、ポリシファイルに関する情報を表現する要素である。ポリシ記述要素は属性として、Ｉｄ属性と、非実施(NotEnforced)属性と、完全性オプション(IntegrityOption)属性と、暗号化オプション(EncryptionOption)属性とを持つ。
【００６０】
また、ポリシ記述(PolicyDescriptor)要素は子要素として、ターゲット(Target)要素と、ポリシエントリーズ(PolicyEntries)要素と、ポリシエントリ(PolicyEntry)要素と、後続エントリ(SubsequentEntry)要素と、署名記述(SignatureDescriptor)要素と、鍵記述(KeyDescriptor)要素とを持つ。
【００６１】
ポリシ記述要素のＩｄ属性は、ポリシ記述要素を特定するための参照値を表現する属性であり、ポリシマニフェストファイルｐｍの内部で一意な参照値を示す。図３及び図４の例では、整数値として表現している。
【００６２】
非実施(NotEnforced)属性は、複合ファイル展開装置外部（特定アプリケーションなど）でポリシ評価を実行すべき場合など、対象コンテンツファイルが複合ファイル展開装置のポリシ評価に係わらないことを示すための属性である。例えば、コンテンツファイルの内部にポリシファイルが内包されており、コンテンツファイルを処理するアプリケーション（閲覧アプリケーションなど）上でポリシファイルを評価する必要があるケースなどが挙げられる。このため、非実施属性の値が“true”の場合、複合ファイル展開装置３０はポリシ評価を実行しない。図３及び図４の例では、Ｉｄ属性“３”を有するポリシ記述要素がこれにあたる。
【００６３】
また、ポリシ記述要素で表現されるポリシファイルの完全性や機密性を確保する必要がある場合には、ポリシ記述要素にディジタル署名や暗号化などの暗号学的処理を施してもよい。図３及び図４では好適な例として、ポリシ記述要素に完全性オプション(IntegrityOption)属性と暗号化オプション(EncryptionOption)属性を設けて、ポリシ記述要素で表現されるポリシ実体にディジタル署名及び暗号化の処理が施されているかを示している。図３及び図４の例では、Ｉｄ属性“２”を有するポリシ記述要素の完全性オプション属性及び暗号化オプション属性の属性値を、それぞれ“true”としている。これは、Ｉｄ属性“２”を有するポリシ記述要素で表現されるポリシファイルが、ディジタル署名及び暗号化が施されていることを示している。
【００６４】
なお、ディジタル署名及び暗号化のための情報（署名値や鍵情報など）については、図３及び図４の例に示すように、署名記述(SignatureDescriptor)要素及び鍵記述(KeyDescriptor)要素で表現すればよい。
【００６５】
署名記述要素は、署名に関する情報を表現しており、Ｉｄ属性で署名対象となるポリシファイルを表現するポリシ記述要素を特定している（同一のＩｄ属性値を有するポリシ記述要素を参照）。署名記述要素の子要素は、具体的な署名に関する情報を表現する要素であり、任意の要素定義を用いればよい。好適な例としては、Ｗ３Ｃ(World Wide Web Consortium)で規定される「XML Signature Syntax and Processing」仕様で定義される署名(Signature)要素などが挙げられる。
【００６６】
図３及び図４の例では、ディジタル署名の検証や、暗号化されたデータの復号に用いる鍵に関する情報は、鍵記述要素で表現している。署名記述要素と同様に、Ｉｄ属性で署名対象又は暗号化対象となるポリシ実体を表現するポリシ記述要素を特定している。
【００６７】
目的(Purpose)属性は、その属性値で“signing”（署名目的）や“encryption”（暗号化目的）のように、鍵の利用目的を示している。
【００６８】
鍵記述要素の内容は、実際の鍵情報を表現可能な、任意の要素定義を用いればよい。好適な例として図３及び図４の例では、鍵情報を示す要素として、前述した「XML Signature Syntax and Processing」仕様で定義される鍵情報(KeyInfo)要素を、鍵記述要素の子要素としている。
【００６９】
また、鍵に関連付けられる暗号アルゴリズムなどの情報を示す要素として、Ｗ３Ｃで規定される「XML Encryption Syntax and Processing」仕様で定義される複合タイプEncyrptionMethodTypeを継承する要素として、暗号化方法(EncyrptionMethod)要素を鍵記述要素の子要素としている。
【００７０】
上記例では、ポリシマニフェストファイルｐｍ内に、署名情報及び鍵情報を格納しているが、外部ファイルの形式にして、複合ファイル内に格納するか、外部システムから取得してもよい。以上説明したディジタル署名及び暗号化の処理を実現する機能部は、本発明の本質に関わらない構成要素であるため、適宜構成として追加すればよい。
【００７１】
ターゲット要素は、ポリシ記述要素で表現されるポリシファイルにより制御される対象を示している。制御される対象は、ターゲット要素のフル・パス(full-path)属性の値で示している。図３及び図４の例では、Ｉｄ属性“０”を有するポリシ記述要素のターゲット要素のフル・パス属性値として、“/CONTENTS”を指定している。これは、複合ファイルのルートフォルダからの相対パスを示しており、コンテンツフォルダが制御対象であることを示している。相対パスではなく、絶対パスを指定すれば、複合ファイルに関連する外部のコンテンツファイルを参照し、制御対象として含めることもできる。
【００７２】
ターゲット要素のタイプ(Type)属性は、対象の種別を示す属性である。図３及び図４の例では、フォルダを“FOLDER”とし、ファイルを“FILE”として表現している。例えば、Ｉｄ属性“２”を有するポリシ記述要素では、フル・パス属性値として、“/CONTENTS/content1.xml”を示しており、これはコンテンツファイル１であることを示している。
【００７３】
ターゲット要素が存在しない場合は、後述する後続エントリ(SubsequentEntry)要素により指定されたポリシ記述要素であると暗黙的に見做せばよい（後続処理すべきポリシ記述要素）。
【００７４】
ポリシエントリーズ要素は、一つ以上のポリシエントリ要素を纏めるための要素である。ポリシエントリーズ要素のポリシ結合アルゴリズム(PolicyCombingAlgorithm)属性は、複数のポリシファイルを結合する際の処理内容（ポリシ結合アルゴリズム）を示す属性であり、任意のポリシ結合アルゴリズムを指定すればよい。図３及び図４の例では、ポリシ結合アルゴリズムとして、非特許文献１に示したＸＡＣＭＬ仕様で定義されるポリシ結合アルゴリズムを指定している。“urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:deny-overrides”は、複数のポリシを任意の順番で評価し、評価した結果（効果）が一つでも“Deny”（否定）とされた場合、全体の評価結果（効果）を“Deny”とするポリシ結合アルゴリズムである。
【００７５】
ポリシエントリ要素のポリシタイプ属性は、ポリシファイルの形式を示す属性である。図３及び図４の例では、ＸＡＣＭＬ形式のポリシであることを示すために、“xacml2”という値を指定している。
【００７６】
ポリシエントリ要素のデータタイプ属性は、ポリシエントリ要素が示すポリシファイル参照のデータ形式を示している。図３及び図４の例では、“http://www.w3.org/2001/XMLSchema#anyURI”として、ＵＲＩ形式であることを示している。
【００７７】
ポリシエントリ要素の要素値は、ターゲット要素のフル・パス属性と同様に、相対パスもしくは絶対パスとして表現すればよい。図３及び図４の例のように、“/POLICIES/policy1_1.xml”とすれば、ポリシフォルダＰＦ配下のポリシファイルｐｃ１−１であることがわかる。
【００７８】
後続エントリ(SubsequentEntry)要素は、このポリシ記述要素の処理が終了した後、継続して処理すべきポリシ記述要素を示すための要素である。
【００７９】
後続エントリ要素の実行契機(FulfillOn)属性は、この後続エントリ要素が適合する、ポリシ記述要素が示すポリシファイルの評価結果を示すための属性である。図３及び図４の例では、“Deny”を指定しており、ポリシ評価の結果が“Deny”であるときに、この後続エントリ要素が適合することを示している。
【００８０】
後続エントリ要素の要素値は、処理すべきポリシ記述要素のＩｄ属性値を示している。例えば、“１”とした場合、Ｉｄ属性値“１”を有するポリシ記述要素が該当する。
【００８１】
アトリビュート(Attribute)要素は、ポリシ記述要素が示すポリシファイルで事前に取得しておくべき属性情報を示している。この属性情報は、ポリシ評価の際に比較対象として利用される。アトリビュート要素は、図３及び図４のように、非特許文献３に示すＳＡＭＬ仕様などで定義される属性定義を用いればよい。
【００８２】
次に、複合ファイル生成装置１０及び複合ファイル展開装置２０の構成について具体的に説明する。
【００８３】
複合ファイル生成装置１０は、図５に示すように、インタフェース部１１、制御部１２、構成ファイル保持部１３、複合ファイル生成部１４、ポリシマニフェスト生成部１５及び通信部１６を備えている。
【００８４】
インタフェース部１１は、ユーザからの、複合ファイルを生成するための要求を受け付けるための機能部である。好適には、ＧＵＩ(Graphic User Interface)や、ＣＵＩ(Commandline User Interface)などが挙げられるが、任意のインタフェース形態をとればよい。また、本実施形態では、ユーザから直接要求を受け付けるインタフェース形態について説明するが、アプリケーションの特定イベントなどを監視したり、特定ファイルより設定情報を読み出したりするなどの、自律的に動作し得る形態であってもよい。
【００８５】
制御部１２は、インタフェース部１１が受け付けた要求に従い、複合ファイル生成装置１０が動作すべき処理全体を制御するための機能部である。なお、本実施形態では、制御部１２が各機能部間の相互作用制御を担う説明をしているが、これは動作原理の理解を容易にするためであり、当該制御部１２を省略して、各機能部同士で相互作用を行ってもよい。
【００８６】
構成ファイル保持部１３は、複合ファイル生成装置１０が複合ファイルの構成ファイルにアクセスするための機能部である。構成ファイルを保持する手段については、任意の手段を用いればよい。例えば、インタフェース部１１を介して、直接構成ファイルを受け付けて、メモリ上などに保持してもよい。また、オペレーションシステムのファイルシステムやデータベースシステムなどに、一時的に書き出し、ファイルパスなどの参照情報（参照場所）のみを保持してもよい。何れの手段にしても、ユーザが複合化を要求する構成ファイルに対して、複合ファイル生成装置１０がアクセスすることができればよい。
【００８７】
ポリシマニフェスト生成部１４は、ポリシマニフェストファイルｐｍを生成するための機能部である。ポリシマニフェストファイルｐｍの各情報（要素及び属性）を、インタフェース部１１を介して、ユーザより受け付けることで、ポリシマニフェストファイルｐｍを生成する。より好適には、構成ファイル保持部１３により、複合ファイルの構成情報（複合ファイルの構成ファイル名と階層構造など）を取得し、ユーザに提示してもよい。生成されたポリシファイルは、構成ファイル保持部１３に送出し、一時的に保持することが望ましい。
【００８８】
複合ファイル生成部１５は、構成ファイル保持部１３により保持されるポリシマニフェストファイルｐｍを含む構成ファイルを、構成ファイル保持部１３より取得し、複合ファイルを生成するための機能部である。
【００８９】
通信部１６は、複合ファイル展開装置２０との間で通信を実行するための通信インタフェースであり、例えば、複合ファイル生成部１５により生成された構成ファイルを複合ファイル展開装置２０に送信する際に用いられる。
【００９０】
一方、複合ファイル展開装置２０は、図６に示すように、通信部２１、インタフェース部２２、制御部２３、構成ファイル保持部２４、複合ファイル展開部２５、構成ファイルアクセス部２６、ポリシ評価部２７及びポリシマニフェスト解析部２８を備えている。
【００９１】
通信部２１、インタフェース部２２、制御部２３及び構成ファイル保持部２４は、複合ファイル生成装置１０における同名の機能部（通信部１６、インタフェース部１１、制御部１２及び構成ファイル保持部１３）と同様な機能を有する機能部であればよい。
【００９２】
複合ファイル展開部２５は、複合ファイルを展開し、構成ファイルを抽出するための機能部である。例えば、複合ファイルが、ＯＤＦ形式の場合、ＺＩＰ形式で圧縮されているため、ＺＩＰ形式で展開すればよい。
【００９３】
構成ファイルアクセス部２６は、構成ファイル保持部２４で保持される構成ファイル（主にコンテンツファイル）にアクセスし、ユーザに構成ファイルを提供するための機能部である。
【００９４】
ポリシ評価部２７は、構成ファイルアクセス部２６からの要求に応じて、構成ファイルアクセス部２６がアクセスしようとする構成ファイルに対応するポリシファイルを評価して、当該アクセスに対する決定（許可又は拒否など）を行うための機能部である。
【００９５】
ポリシマニフェスト解析部２８は、構成ファイルアクセス部２６からの要求に応じて、ポリシマニフェストファイルｐｍにて記述された内容を解析し、構成ファイルアクセス部２６がアクセスしようとする構成ファイルに対応するポリシファイルを特定するための機能部である。
【００９６】
次に、以上のように構成された複合ファイル処理システムの動作について図７及び図８のフローチャートを用いて説明する。ここで、図７のステップＳＴ１０〜ＳＴ１２は複合ファイル生成装置の動作を示し、図８のステップＳＴ２０〜ＳＴ２９は複合ファイル展開装置の動作を示している。
【００９７】
（ＳＴ１０）  複合ファイル生成装置１０は、ユーザによるインタフェース部１１の操作により、複合ファイルを生成する旨の依頼を受け付ける。このとき、構成ファイルの取得方法（場所を示すＵＲＩや、ＨＴＴＰなどの取得プロトコル）を指定するか、構成ファイルの実体（バイナリデータなど）を与えることが望ましい。構成ファイルの取得方法が与えられた場合には、構成ファイル保持部１３により、構成ファイルを取得すればよい。与えられた構成ファイルは、構成ファイル保持部１３により保持される。
【００９８】
（ＳＴ１１）  複合ファイル生成装置１０は、ユーザによるインタフェース部１１の操作により、ポリシマニフェストファイルｐｍの各情報を取得し、ポリシマニフェスト生成部１４にてポリシマニフェストファイルｐｍを生成する。好適には、構成ファイル保持部１３より、複合ファイルの構成情報（複合ファイルの構成ファイル名と階層構造など）を取得し、インタフェース部１１を介して、ポリシマニフェストファイルｐｍの各情報を取得するための入力項目を有するフォーム等を提示することが望ましい。事前にポリシマニフェストファイルｐｍの各情報の設定指針が決定しているのであれば、定義ファイルなどで事前定義し、ポリシマニフェスト生成部１４が自律的にポリシマニフェストファイルｐｍを生成してもよい。
【００９９】
（ＳＴ１２）  ポリシマニフェストファイルｐｍが成功理に生成された場合には、複合ファイル生成部１５は、ポリシマニフェストファイルｐｍを含む構成ファイル全てを、構成ファイル保持部１３より取得し、取得した全ての構成ファイルを複合化して複合ファイルを生成する。生成した複合ファイルは、インタフェース部１１を介して、ユーザに提供してもよく、オペレーションシステムのファイルシステムやデータベースシステムなどに出力してもよい。あるいは、複合ファイルは、通信部１６を介して複合ファイル展開装置２０に送信してもよい。
【０１００】
（ＳＴ２０）  複合ファイル展開装置２０は、ユーザによるインタフェース部２２の操作により、複合ファイルを展開する旨の依頼を受け付ける。このとき、複合ファイルの取得方法（場所を示すＵＲＩや、ＨＴＴＰなどの取得プロトコル）を指定するか、複合ファイルの実体（バイナリデータなど）を与えることが望ましい。複合ファイルの取得方法が与えられた場合には、複合ファイル展開部２５により、複合ファイルを取得すればよい。インタフェース部２２から与えられた複合ファイルは、制御部２３から送出されて複合ファイル展開部２５に取得される。
【０１０１】
（ＳＴ２１）  複合ファイル展開部２５は、取得した複合ファイルを展開して、各構成ファイルを抽出する。抽出した各構成ファイルは、複合ファイル保持部２４に保持される。
【０１０２】
（ＳＴ２２）  複合ファイル展開装置２０は、インタフェース部２２により、各構成ファイルのうちのコンテンツファイルのリストを、ユーザに提示する。
【０１０３】
（ＳＴ２３）  リストの提示中、複合ファイル展開装置２０は、ユーザによるインタフェース部２２の操作により、各構成ファイルのうちのいずれかのコンテンツファイルの指定を受け付ける。なお、この指定はアクセス要求に相当する。
【０１０４】
（ＳＴ２４）  複合ファイル展開装置２０は、構成ファイルアクセス部２６が、指定されたコンテンツファイルにアクセスしてよいかを、コンテンツファイルのパスを指定して、ポリシ評価部２７に評価を要求する。このときの評価要求は、非特許文献１に示したような公知のアクセス制御の処理を行えばよい。このとき、評価要求に含めるべき、必要な属性等があれば、事前に任意の手段にて取得しておくことが望ましい。
【０１０５】
（ＳＴ２５）  ポリシ評価部２７は、ポリシマニフェスト解析部２８に対して、指定されたコンテンツファイルに該当するポリシファイルの特定を要求する。このとき、コンテンツファイルのパスに従って、パスの階層構造の上位から特定を、ポリシマニフェスト解析部２８に順次要求する。例えば、“/CONTENTS/content1.xml”をコンテンツファイルのパスとして指定した場合、“/”フォルダから、“/CONTENTS”、“/CONTENTS/content1.xml”といった順序で特定を要求すればよい（以下のステップＳＴ２６〜ＳＴ２８は、要求の分だけ繰り返し実行される）。ポリシファイルが特定できない（ポリシ記述要素が応答されない）場合には、特定要求を継続すればよい。
【０１０６】
（ＳＴ２６）  ポリシマニフェスト解析部２８は、構成ファイル保持部２４より、ポリシマニフェストファイルｐｍを取得する。ポリシマニフェスト解析部２４がポリシマニフェストファイルｐｍを取得済みである場合、ステップＳＴ２６は省略してもよい。
【０１０７】
（ＳＴ２７）  ポリシマニフェスト解析部２８は、指定されたコンテンツファイルのパスに従って、ポリシマニフェストファイルｐｍの中から、該当するポリシ記述要素を探索する。該当するポリシ記述要素が見つかった場合には、ポリシマニフェストファイルｐｍからポリシ記述要素を抽出し、ポリシ評価部２７に応答する。
【０１０８】
（ＳＴ２８）  ポリシ評価部２７は、ポリシ記述要素が応答された場合、ポリシ記述要素のポリシエントリ要素に従って、構成ファイル保持部２４よりポリシファイルを取得し、ポリシファイルを評価する。このとき、ポリシ記述要素のアトリビュート要素が指定されている場合には、指定された属性の値を任意の手段で取得し、構成ファイルアクセス部２６より要求された評価要求に加えて、評価を行えばよい。ポリシエントリーズ要素によって、複数のポリシファイルが指定されている場合には、ポリシ結合アルゴリズム属性で指定されるポリシ結合アルゴリズムに従って、評価処理を行う。評価の結果、後続エントリ要素が適合し、更にポリシ評価が要求される場合は、後続エントリ要素値に従って、該当するポリシ記述要素を探索し、ポリシ評価と同様の処理を実行する。最終的に、評価すべきポリシファイルが存在しなくなった時点で、最後に評価したポリシ記述要素が示すポリシファイルの評価結果を、構成ファイルアクセス部２６に応答する。
【０１０９】
（ＳＴ２９）  構成ファイルアクセス部２６は、ポリシ評価部２７の評価結果に基づいて、指定されたコンテンツファイルに対するアクセスを制御する。
【０１１０】
上述したように本実施形態によれば、複数のコンテンツファイルと、複数のポリシファイルとを少なくとも含む各ファイルを保持し、ポリシ特定情報及び処理手順情報を含むポリシマニフェストファイルを生成し、生成されたポリシマニフェストファイルｐｍと、保持された各ファイルとを複合化して、当該ポリシマニフェストファイルｐｍ及び当該各ファイルを各構成ファイルとして含む複合ファイルを生成する構成により、構成ファイル毎にアクセス制御可能な複合ファイルを、各構成ファイルの保護を解除せずに生成することができる。
【０１１１】
すなわち、複数の構成ファイルを複合化して複合ファイルを生成する際に、異なる保護措置の構成ファイルが混在していたとしても、個別の構成ファイル及びファイル構造に対応する取り扱い規則を示したポリシファイルの処理手順や対応関係を示したポリシマニフェストファイルｐｍを生成して構成ファイルとともに複合化する構成により、ポリシマニフェストファイルｐｍに従って、各構成ファイルの保護措置を解除せずに継承しながら複合化することができる。
【０１１２】
また、本実施形態によれば、取得した複合ファイルを展開して各構成ファイルを抽出して保持し、当該各構成ファイルのいずれかのコンテンツファイルの指定を受け付けると、指定を受け付けたコンテンツファイルに関し、当該保持された各構成ファイルのうちのポリシマニフェストファイルからポリシ特定情報及び処理手順情報を抽出し、当該ポリシ特定情報に基づいてポリシファイルを取得し、当該ポリシファイルを当該処理手順情報に基づいて評価し、当該評価の結果に基づいて、当該指定されたコンテンツファイルに対するアクセスを制御する構成により、構成ファイル毎にアクセス制御可能で各構成ファイルの保護を解除せずに生成し得る複合ファイルを展開し、構成ファイル毎にアクセス制御を実行することができる。
【０１１３】
なお、上記の実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１１４】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１１５】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１１６】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【０１１７】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１１８】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１１９】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１２０】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２１】
１０…複合ファイル生成装置、１１…インタフェース部、１２…制御部、１３…構成ファイル保持部、１４…複合ファイル生成部、１５…ポリシマニフェスト生成部、１６…通信部、２０…複合ファイル展開装置、２１…通信部、２２…インタフェース部、２３…制御部、２４…構成ファイル保持部、２５…複合ファイル展開部、２６…構成ファイルアクセス部、２７…ポリシ評価部、２８…ポリシマニフェスト解析部、ＲＦ…ルートフォルダ、ＣＦ…コンテンツフォルダ、ｃｔ１，ｃｔ２…コンテンツファイル、ＭＦ…メタ情報フォルダ、ｐｍ…ポリシマニフェストファイル、、ＰＦ…ポリシフォルダ、ｐｃ１−１，ｐｃ１−２，ｐｃ２…ポリシファイル、ｍｆ，ｍｄ…ファイル。
【図１】
0005426712.tif 000002
【図２】
0005426712.tif 000003
【図３】
0005426712.tif 000004
【図４】
0005426712.tif 000005
【図５】
0005426712.tif 000006
【図６】
0005426712.tif 000007
【図７】
0005426712.tif 000008
【図８】
0005426712.tif 000009