(57)【要約】【課題】  オフライン環境においても各コンピュータにおいて整合性のあるアクセス制御を実現することができるアクセス制御装置の提供を目的とする。【解決手段】  各資源を分類する資源分類情報と、各主体を分類する主体分類情報と、資源の分類と主体の分類との組み合わせに応じて操作の種別ごとに操作の許否判定に関する規則が定義された定義情報とに基づいて資源に対するアクセス制御を行うアクセス制御装置であって、資源を操作する他の情報処理装置より送信される主体識別情報と資源識別情報とに基づいて、主体による資源に対する操作の種別ごとの許否判定を実行する許否判定実行手段と、主体識別情報と資源識別情報と操作の種別ごとの許否判定の結果とを含むライセンスデータを生成するライセンスデータ生成手段と、ライセンスデータを他の情報処理装置に返信するライセンスデータ返信手段とを有することにより上記課題を解決する。【選択図】  図３
2006338530.tif 000002
【特許請求の範囲】
【請求項１】
操作の対象となる各資源を分類する資源分類情報と、前記資源を操作する各主体を分類する主体分類情報と、前記資源の分類と前記主体の分類との組み合わせに応じて前記操作の種別ごとに前記操作の許否判定に関する規則が定義された定義情報とに基づいて前記資源に対するアクセス制御を行うアクセス制御装置であって、
前記資源を操作する他の情報処理装置よりネットワークを介して送信される前記主体を識別する主体識別情報と、前記資源を識別する資源識別情報とに基づいて、前記主体識別情報に係る特定の主体による前記資源識別情報に係る特定の資源に対する前記操作の種別ごとの許否判定を実行する許否判定実行手段と、
前記主体識別情報と前記資源識別情報と前記操作の種別ごとの許否判定の結果とを含むライセンスデータを生成するライセンスデータ生成手段と、
前記ライセンスデータを前記他の情報処理装置に返信するライセンスデータ返信手段とを有することを特徴とするアクセス制御装置。
【請求項２】
前記ライセンスデータ生成手段は、暗号化された前記資源を復号するための復号鍵を前記ライセンスデータに含めることを特徴とする請求項１記載のアクセス制御装置。
【請求項３】
前記他の情報処理装置より前記ネットワークを介して送信される前記他の情報処理装置の公開鍵を用いて前記復号鍵を暗号化する暗号化手段を有し、
前記ライセンスデータ生成手段は、前記暗号化手段によって暗号化された前記復号鍵を前記ライセンスデータに含めることを特徴とする請求項２記載のアクセス制御装置。
【請求項４】
前記ライセンスデータ生成手段は、当該アクセス制御装置の電子署名を前記ライセンスデータに付加することを特徴とする請求項１乃至３いずれか一項記載のアクセス制御装置。
【請求項５】
前記ライセンスデータ生成手段は、前記ライセンスデータに当該ライセンスデータの有効期限を識別する情報を含めることを特徴とする請求項１乃至４いずれか一項記載のアクセス制御装置。
【請求項６】
資源に対する操作を実行する資源操作装置であって、
操作の対象とされる資源を識別する資源識別情報と当該資源を操作する主体を識別する主体識別情報とをネットワークを介して接続する他の情報処理装置に送信することにより、前記主体識別情報と、前記資源識別情報と、前記主体識別情報に係る特定の主体による前記資源識別情報に係る特定の資源に対する前記操作の種別ごとの許否判定の結果とを含むライセンスデータを前記他の情報処理装置より受信するライセンスデータ取得手段と、
前記ライセンスデータを保管するライセンスデータ保管手段とを有することを特徴とする資源操作装置。
【請求項７】
前記主体による前記資源に対する所定の操作が要求されたときに、前記ライセンスデータ保管手段に保管されている前記ライセンスデータに基づいて、前記所定の操作の許否判定を実行する許否判定手段を有することを特徴とする請求項６記載の資源操作装置。
【請求項８】
前記ライセンスデータには、暗号化された前記資源を復号するための復号鍵が含まれており、
前記許否判定手段による許否判定の結果に応じて前記復号鍵を用いて前記暗号化された前記資源を復号することを特徴とする資源操作装置。
【請求項９】
前記復号鍵は、前記ライセンスデータ取得手段が前記他の情報処理装置に送信する当該資源操作装置の公開鍵によって暗号化されており、
前記許否判定手段は、前記公開鍵に対応する秘密鍵を用いて前記復号鍵を復号し、復号された前記復号鍵を用いて前記暗号化された資源を復号することを特徴とする請求項８記載の資源操作装置。
【請求項１０】
前記ライセンスデータには当該ライセンスデータの有効期限を識別する情報が含まれており、
前記許否判定手段は、前記有効期限内の前記ライセンスデータに基づいて前記許否判定を行うことを特徴とする請求項６乃至９いずれか一項記載の資源操作装置。
【請求項１１】
コンピュータを、請求項１乃至５いずれか一項記載のアクセス制御装置における各手段として機能させるためのアクセス制御プログラム。
【請求項１２】
コンピュータを、請求項６乃至１０いずれか一項記載の資源操作装置における各手段として機能させるための資源操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス制御装置、資源操作装置、アクセス制御プログラム及び資源操作プログラムに関し、特に資源に対する操作の許否判定を行うアクセス制御装置、資源操作装置、アクセス制御プログラム及び資源操作プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムにおいては、資源の不正利用等を防止するために、各資源に対してアクセス権が定義されているのが一般的である。このようなアクセス権が定義されたデータは、一般にＡＣＬ（Access Control List）と呼ばれている。
【０００３】
他方において、従来の各種システムごとに保持されていた操作権限情報を、各種のセキュリティ情報と合わせて特定のサーバ（以下、「セキュリティサーバ」という。）において一元管理することにより、複数のシステムにおける資源に対するアクセス制御について、共通のセキュリティルールを適用することが可能なシステム形態が採用され始めている。ここで、セキュリティサーバにおいて管理されている情報は、一般にセキュリティポリシーと呼ばれている（例えば、特許文献１）。
【０００４】
文書を資源の例にとると、セキュリティポリシーでは、文書の特徴を表す主要な文書属性（管理部署、文書種別、機密レベルなど）による文書分類と、利用者の特徴を表す主要なユーザ属性（所属部署、役職など）によるユーザ分類との組み合わせに応じて、操作の種別毎に適切なアクセスルールが定義されている。
【特許文献１】特開２００５−３８３７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のようなセキュリティサーバで文書のアクセス制御をおこなう形態は、セキュリティサーバに接続した環境での利用が前提であり、セキュリティサーバと接続できない環境下では、権限のあるユーザであっても、文書操作をおこなうことができないという問題点がある。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、オフライン環境においても各コンピュータにおいて整合性のあるアクセス制御を実現することができるアクセス制御装置、資源操作装置、アクセス制御プログラム及び資源操作プログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、本発明は、操作の対象となる各資源を分類する資源分類情報と、前記資源を操作する各主体を分類する主体分類情報と、前記資源の分類と前記主体の分類との組み合わせに応じて前記操作の種別ごとに前記操作の許否判定に関する規則が定義された定義情報とに基づいて前記資源に対するアクセス制御を行うアクセス制御装置であって、前記資源を操作する他の情報処理装置よりネットワークを介して送信される前記主体を識別する主体識別情報と、前記資源を識別する資源識別情報とに基づいて、前記主体識別情報に係る特定の主体による前記資源識別情報に係る特定の資源に対する前記操作の種別ごとの許否判定を実行する許否判定実行手段と、前記主体識別情報と前記資源識別情報と前記操作の種別ごとの許否判定の結果とを含むライセンスデータを生成するライセンスデータ生成手段と、前記ライセンスデータを前記他の情報処理装置に返信するライセンスデータ返信手段とを有することを特徴とする。
【０００８】
また、上記課題を解決するため、本発明は、資源に対する操作を実行する資源操作装置であって、操作の対象とされる資源を識別する資源識別情報と当該資源を操作する主体を識別する主体識別情報とをネットワークを介して接続する他の情報処理装置に送信することにより、前記主体識別情報と、前記資源識別情報と、前記主体識別情報に係る特定の主体による前記資源識別情報に係る特定の資源に対する前記操作の種別ごとの許否判定の結果とを含むライセンスデータを前記他の情報処理装置より受信するライセンスデータ取得手段と、前記ライセンスデータを保管するライセンスデータ保管手段とを有することを特徴とする。
【０００９】
また、上記課題を解決するため、本発明は、コンピュータを上記アクセス制御装置として機能させるためのアクセス制御プログラム、又はコンピュータを上記資源操作装置として機能させるための資源操作プログラムとしてもよい。
【発明の効果】
【００１０】
本発明によればオフライン環境においても各コンピュータにおいて整合性のあるアクセス制御を実現することができるアクセス制御装置、資源操作装置、アクセス制御プログラム及び資源操作プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態においては、文書データ（以下「文書」という。）を資源の具体例として説明する。
【００１２】
図１は、本発明の実施の形態における文書管理システムの構成例を示す図である。図１に示されるように、本実施の形態における文書管理システム１は、セキュリティ管理サーバ１０、文書管理サーバ２０、認証サーバ３０、クライアント装置４０、印刷サーバ５１、変換サーバ５２及び配信サーバ５３等が、インターネットやＬＡＮ（Local Area Network）等のネットワーク６０を介して接続されることにより構成されている。
【００１３】
セキュリティ管理サーバ１０は、文書に対するセキュリティ上の各種情報（以下、「セキュリティ情報」という。）を管理し、そのセキュリティ情報に基づいて文書に対するアクセス制御を行うためのコンピュータである。文書管理システム１において文書を取り扱う各種サーバ（文書管理サーバ２０、印刷サーバ５１、変換サーバ５２、及び配信サーバ５３）は、セキュリティ管理サーバ１０に管理されているセキュリティ情報に基づいて、各ユーザの文書に対する操作権限の有無等を判断する。
【００１４】
文書管理サーバ２０は、文書の管理（文書の保存、保存されている文書に対する検索、更新及び削除等の手段の提供等）を行うための文書管理モジュール２１が実装されたコンピュータである。
【００１５】
認証サーバ３０は、文書管理システム１のユーザの認証を行うための認証モジュール３１が実装されたコンピュータである。認証モジュール３１は、認証要求に応じてユーザの認証を行い、ユーザが認証された場合は、当該ユーザが認証された旨を証明する電子的な証明書（以下、「チケット」という。）を発行する。
【００１６】
印刷サーバ５１、変換サーバ５２及び配信サーバ５３は、文書管理サーバ２０に管理されている文書を扱う各種サーバの例示である。印刷サーバ５１は、文書をプリンタに印刷させるための機能が実装されたコンピュータである。変換サーバ５２は、文書を所定のデータ形式に変換するための機能が実装されたコンピュータである。配信サーバ５３は、文書を所定の宛先に配信するための機能が実装されたコンピュータである。
【００１７】
クライアント装置４０は、上述した各種サーバの機能を利用することにより文書を操作するアプリケーションが実装されたコンピュータである。但し、クライアント装置４０は、ユーザが直接利用する端末であるとは限らない。例えば、クライアント装置４０は、Ｗｅｂサーバであってもよく、その場合、クライアント装置４０に実装されたアプリケーションは、Ｗｅｂアプリケーションに相当する。
【００１８】
次に、セキュリティ管理サーバ１０の詳細について説明する。図２は、本発明の実施の形態におけるセキュリティ管理サーバのハードウェア構成例を示す図である。図２のセキュリティ管理サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、インタフェース装置１０５とを有するように構成される。
【００１９】
セキュリティ管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。
【００２０】
補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納されたプログラムに従ってセキュリティ管理サーバ１０に係る機能を実行する。インタフェース装置１０５は図１のネットワーク６０に接続するためのインタフェースとして用いられる。
【００２１】
なお、クライアント装置４０も、セキュリティ管理サーバ１０と同様のハードウェア構成を有する。但し、ユーザが直接クライアント装置４０を操作する場合は、ディスプレイ等の表示装置やマウス又はキーボード等の入力装置を備えているとよい。
【００２２】
図３は、本発明の実施の形態の文書管理システムにおけるオフラインライセンス機能に関する機能構成例を示す図である。ここで、オフラインライセンス機能とは、クライアント装置４０が、セキュリティ管理サーバ１０とオフライン状態にある場合に、セキュリティ管理サーバ１０によるアクセス制御と整合性のあるアクセス制御を文書に対して実現するための機能をいう。
【００２３】
図３において、セキュリティ管理サーバ１０は、セキュリティサービス層１１、オフラインライセンス発行モジュール１２、操作許否判定モジュール１３、及びセキュリティ管理モジュール１４等より構成されている。
【００２４】
セキュリティサービス層１１は、セキュリティ管理サーバ１０によるセキュリティサービスをネットワーク上に公開する。すなわち、セキュリティサービス層１１は、クライアント装置１０におけるアプリケーション４１から送信される要求を判断し、その判断結果に基づいてアプリケーション４１から要求された機能を実行するためにオフラインライセンス発行モジュール１２又は操作許否判定モジュール１３を呼び出す。
【００２５】
アプリケーション４１からの要求がオフラインライセンス発行要求である場合、セキュリティサービス層１１はオフラインライセンス発行モジュール１２を呼び出す。オフラインライセンス発行モジュール１２は、指定された文書に対して、所定の規則に基づいてオフラインライセンスを生成するための機能が実装されたモジュールである。なお、オフラインライセンスとは、クライアント装置４０が、オフライン環境においてセキュリティ管理サーバ１０と同様のアクセス制御を文書に対して行うための情報をいい、例えば、文書に対する各種操作の実行の可否を識別するための情報を含む。
【００２６】
操作許否判定モジュール１３は、アプリケーション４１からの要求に応じて、ポリシー１４３や許可証管理テーブル１４４等に管理されているセキュリティ情報に基づいて、ユーザの文書に対する各種操作についての許否判定を行うための機能が実装されたモジュールである。
【００２７】
セキュリティ管理モジュール１４は、各種のセキュリティ情報の管理機能が実装されたモジュールである。セキュリティ管理モジュール１４には、主体分類情報１４１、資源分類情報１４２、ポリシー１４３、許可証管理テーブル１４４及びコンテンツキー１４５等がセキュリティ情報として管理されている。
【００２８】
図４は、主体分類情報の例を示す図である。図４に示されるように、主体分類情報１４１は、各ユーザを所定の基準又は観点に基づいて分類する情報である。図４においては、関係部署と権限レベルとに基づいて分類された例が示されている。関係部署とは、ユーザが関係（所属している又は当該部署のプロジェクトに参加している等の関係）を有する部署を識別するための情報である。権限レベルとは、ユーザの権限を識別するための情報である。
【００２９】
例えば、主体分類情報１４１において、ユーザＡは、部署Ａの関係者であるが、部署Ｂ及び部署Ｃの関係者ではないことが定義されている。また、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤのそれぞれの権限レベルは、正社員、部長、派遣、正社員であることが定義されている。
【００３０】
図５は、資源分類情報の例を示す図である。図５に示されるように、資源分類情報１４２は、各文書を所定の基準又は観点に基づいて分類する情報である。図５においては、文書カテゴリ、機密レベル、及び管理部署等に基づいて分類された例が示されている。文書カテゴリとは、文書の内容等の種別を識別するための情報である。機密レベルは、セキュリティ上の観点からの文書の機密性の高さを識別するための情報である。管理部署は、文書を管理している部署の部署名を識別するための情報である。
【００３１】
例えば、資源分類情報１４２において、文書１は、部署Ａにおいて管理されている社外秘の議事録であるということが定義されている。
【００３２】
更に、図６及び図７は、ポリシーの定義例を示す図である。図６等におけるポリシー１４３は、ＸＡＣＭＬ（eXtensible Access Control Markup Language）の仕様を参考に定義されている。ここで、「参考に」と表現しているのは、原則としてＸＡＣＭＬの仕様に従いつつ、本実施の形態において独自の拡張を行っているからである。なお、図６及び図７は、一つのファイル内においてなされている定義を、便宜上分割して表示したものである。
【００３３】
ポリシー１４３においては、主体（ユーザ）、資源（文書）、及び操作の組み合わせに応じて、当該操作の許否を判断するための規則（セキュリティルール）が定義されており、一つのセキュリティルールに対応する定義は図６及び図７においては、＜Ｐｏｌｉｃｙ＞タグで囲まれたＰｏｌｉｃｙ要素が相当する。但し、ポリシー１４３の定義の仕方には、ある程度の自由度があり、例えば、ｒｕｌｅ要素によってＰｏｌｉｃｙ要素と同様の定義を行ってもよい。
【００３４】
図中においては、Ｐｏｌｉｃｙ要素ｐ１（図６）、Ｐｏｌｉｃｙ要素ｐ２（図６）、Ｐｏｌｉｃｙ要素ｐ３（図７）、Ｐｏｌｉｃｙ要素ｐ４（図Ｐ３）及びＰｏｌｉｃｙ要素ｐ５（図７）等がＰｏｌｉｃｙ要素として定義されている。各Ｐｏｌｉｃｙ要素は、＜Ｔａｒｇｅｔ＞タグで囲まれたＴａｒｇｅｔ要素と、＜Ｒｕｌｅ＞タグで囲まれたＲｕｌｅ要素と、＜Ｏｂｌｉｇａｔｉｏｎ（ｓ）＞タグで囲まれたＯｂｌｉｇａｔｉｏｎ要素とを子要素として含み得る。
【００３５】
例えば、Ｐｏｌｉｃｙ要素ｐ１には、Ｔａｒｇｅｔ要素ｔ１、Ｒｕｌｅ要素ｒ１、及びＯｂｌｉｇａｔｉｏｎ要素ｏ１が定義されている。
【００３６】
Ｔａｒｇｅｔ要素は、当該セキュリティルールを適用する対象（主体、資源、操作）を特定するための要素であり、＜Ｓｕｂｊｅｃｔ（ｓ）＞タグで囲まれたＳｕｂｊｅｃｔ要素、＜Ｒｅｓｏｕｒｃｅ（ｓ）＞タグで囲まれたＲｅｓｏｕｒｃｅ要素、＜Ａｃｔｉｏｎ（ｓ）＞タグで囲まれたＡｃｔｉｏｎ要素等を子要素として含む。Ｓｕｂｊｅｃｔ要素は、セキュリティルールを適用する主体の分類を特定するための要素である。Ｒｅｓｏｕｒｃｅ要素は、セキュリティルールを適用する資源の分類を特定するための要素である。Ａｃｔｉｏｎ要素は、セキュリティルールを適用する操作の種別を特定するための要素である。例えば、Ｔａｒｇｅｔ要素ｔ１より、Ｐｏｌｉｃｙ要素ｐ１は、ＡＮＹ（主体）によるＡＮＹ（資源）の閲覧（操作）の許否を判定する際に適用されるセキュリティルールであることが特定される。なお、「ＡＮＹ」とは、あらゆる分類を含む際に用いられるキーワードである。
【００３７】
但し、Ｐｏｌｉｃｙ要素におけるＴａｒｇｅｔ要素は、当該Ｐｏｌｉｃｙ要素の親要素であるＰｏｌｉｃｙＳｅｔ要素におけるＴａｒｇｅｔ要素の限定を継承する。ＰｏｌｉｃｙＳｅｔ要素は、Ｔａｒｇｅｔ要素と一つ以上のＰｏｌｉｃｙ要素とを子要素として含み、子要素である一つ以上のＰｏｌｉｃｙ要素に共通に適用される情報を定義するための要素である。ＰｏｌｉｃｙＳｅｔ要素は、更にＰｏｌｉｃｙＳｅｔ要素を子要素として含み得る。
【００３８】
図６及び図７では、Ｐｏｌｉｃｙ要素ｐ１、Ｐｏｌｉｃｙ要素ｐ２及びＰｏｌｉｃｙ要素ｐ３の親要素としてＰｏｌｉｃｙＳｅｔ要素ｐｓ３が、Ｐｏｌｉｃｙ要素ｐ３及びＰｏｌｉｃｙ要素ｐ４の親要素としてＰｏｌｉｃｙＳｅｔ要素ｐｓ４が定義されている。また、ＰｏｌｉｃｙＳｅｔ要素ｐｓ３及びＰｏｌｉｃｙＳｅｔ要素ｐｓ４の親要素としてＰｏｌｉｃｙＳｅｔ要素ｐｓ２が定義されており、さらにＰｏｌｉｃｙＳｅｔ要素ｐｓ２の親要素としてＰｏｌｉｃｙＳｅｔ要素ｐｓ１が定義されている。
【００３９】
したがって、Ｐｏｌｉｃｙ要素ｐ１におけるＴａｒｇｅｔ要素ｔ１は、ＰｏｌｉｃｙＳｅｔ要素ｐｓ１、ｐｓ２及びｐｓ３のそれぞれのＴａｒｇｅｔ要素ｐｓｔ１、ｐｓｔ２及びｐｓｔ３における限定を階層的に継承する。その結果、Ｐｏｌｉｃｙ要素ｐ１の適用対象は、主体についてはユーザカテゴリが関係者であり、権限レベルが正社員であるユーザ、資源については文書カテゴリが仕様書で機密レベルが「秘」の文書、操作については閲覧であることとなる。
【００４０】
Ｐｏｌｉｃｙ要素におけるセキュリティルールを適用した場合の判定値は、当該Ｐｏｌｉｃｙ要素の子要素であるＲｕｌｅ要素のＥｆｆｅｃｔ属性の値によって特定される。すなわち、Ｅｆｆｅｃｔ属性の値が「Ｐｅｒｍｉｔ」であれば、判定値は「許可」となり、「Ｄｅｎｙ」であれば判定値は「不許可」となる。例えば、Ｒｕｌｅ要素ｒ１のＥｆｆｅｃｔ属性ｅ１の値は、「Ｐｅｒｍｉｔ」であることから、Ｐｏｌｉｃｙ要素ｐ１の適用対象に対する判定値は「許可」であることが分かる。以上より、Ｐｏｌｉｃｙ要素ｐ１には、「正社員であり関係者であるユーザによる秘文書の閲覧は許可する。」旨が定義されていることとなる。なお、ここでの「関係者」とは、図４に示されている関係者とは概念が異なる。ここでの「関係者」とは、ユーザと文書との関係において当該ユーザが当該文書の関係者であるか否かであるかを問題とした場合の「関係者」をいう。当該ユーザの関係部署と当該文書の管理部署が一部でも重複する場合、当該ユーザは当該文書の関係者として扱われる。
【００４１】
Ｒｕｌｅ要素には、また、Ｏｖｅｒｗｒｉｔａｂｌｅ属性が定義されている。Ｏｖｅｒｗｒｉｔａｂｌｅ属性は、当該Ｐｏｌｉｃｙ要素における定義内容に対して、後述する許可証による定義による上書きを許可するか否かを判定するための属性である。例えば、Ｒｕｌｅ要素ｒ１におけるＯｖｅｒｗｒｉｔａｂｌｅ属性ｗ１の値は「Ｐｅｒｍｉｔ」となっており、Ｐｏｌｉｃｙ要素ｐ１に関しては許可証による上書きが許可されている旨が示されている。
【００４２】
Ｏｂｌｉｇａｔｉｏｎ要素は、資源へのアクセスを許可する場合に強制する責務を定義するための要素である。Ｏｂｌｉｇａｔｉｏｎ要素ｏ１には、「ログ記録」が責務として定義されている。したがって、Ｐｏｌｉｃｙ要素ｐ１には、「正社員であり関係者であるユーザによる秘文書の閲覧は許可する。但し、閲覧の際には、ログを記録しなければならない。」旨が定義されていることとなる。
【００４３】
図８は、ポリシーの定義内容を概念的に示す図である。すなわち、図８の表１４３ａは、図６等に示したポリシー１４３における記述から導出される定義内容を表形式にまとめて表示したものである。図８に示されるように、ポリシー１４３における記述によって、主体の分類（文書の関係者又は関係者以外）と文書の分類（極秘、秘、社外秘）との組み合わせに応じて、操作の種別（閲覧、印刷）ごとについての許否（○又は×）、責務、定義内容説明文が定義されたこととなる。
【００４４】
図９は、許可証管理テーブルの構成例を示す図である。許可証管理テーブル１４４は、許可証を管理するためのテーブルであり、許可証管理テーブル１４４における一レコード（行）が、一つの許可証に相当する。許可証とは、ポリシー１４３では定義しきれない、追加的な権限（以下、「追加権限」という。）が定義された情報であり、許可証ＩＤ，ユーザ名、文書名、追加権限、責務、許可理由、許可期間及び利用回数等の情報から構成される。許可証ＩＤは、各許可証を識別するためのＩＤである。ユーザ名は、許可証の適用対象となるユーザのユーザ名である。文書名は、許可証の適用対象となる文書の文書名である。追加権限は、許可証によって追加的に許可される操作権限である。責務は、追加権限を許可するにあたりユーザに対して強制する責務である。許可理由は、許可証が発行された理由をユーザが認識可能な形式で記述した文字列である。許可期間は、許可証の有効期間である。利用回数は、許可証の有効な利用回数である。したがって、図９には、三つの許可証に関する情報が表示されており、許可証ＩＤが「１」の許可証１によって、ユーザＡに対して、文書４の閲覧が許可されている。但し、ユーザＡが文書４を閲覧する際には、ログを記録しなければならず、また、２００５年３月３１日までに限って、当該操作が許可される旨が示されている。許可証によって、例えば、ポリシー１４３においては権限を有しないユーザが所定のプロジェクトへ参加した場合等、一時的に、当該ユーザに特定の権限を与えることができる。
【００４５】
図３に戻る。コンテンツキー１４５は、文書の暗号化に使われた暗号鍵である。すなわち、本実施の形態において、文書管理サーバ２０よりクライアント装置４０にはコンテンツキー１４５によって暗号化された文書が提供される。したがって、クライアント装置４０は、文書管理サーバ２０より文書を入手しただけではその文書を利用することはできず、コンテンツキー１４５を入手して当該文書を復号する必要がある。
【００４６】
なお、暗号化のタイミングは、クライアント装置４０が文書管理サーバ２０より文書をダウンロードする際に行われてもよいし、予め文書管理サーバ２０において全ての文書を暗号化して管理していてもよい。また、コンテンツキー１４５は、全ての文書に対して同一のものでもよいが、セキュリティ上の観点より文書ごとに異なるものであることが好ましい。
【００４７】
一方、図３においてクライアント装置４０は、アプリケーション４１、オフラインライセンス管理モジュール４２、オフライン操作許否判定モジュール４３等より構成されている。
【００４８】
オフラインライセンス管理モジュール４２は、アプリケーション４１からのオフラインライセンスの発行要求に応じてセキュリティ管理サーバ１０より取得したオフラインライセンスを保管するための機能が実装されたモジュールである。
【００４９】
オフライン操作許否判定モジュール４３は、オフラインライセンス管理モジュール４２が管理するオフラインライセンスに基づいて、オフライン環境においてユーザがアプリケーション４１に実行させることのできる文書に対する操作を判定するための機能が実装されたモジュールである。アプリケーション４１は、オフライン操作許否判定モジュール４３の判定結果に応じて文書の操作を行う。
【００５０】
以下、図３の文書管理システム１の処理手順について説明する。図１０は、セキュリティ管理サーバによるオフラインライセンスの発行処理を説明するためのシーケンス図である。
【００５１】
ステップＳ１０１からステップＳ１０９までは、オフラインライセンスの発行に際し、前提となる処理（セッションの開設、文書の検索等）である。すなわち、ユーザによるログイン操作に基づいて、アプリケーション４１は、ユーザ名及びパスワードを引数として認証モジュール３１に対してユーザの認証を要求する（Ｓ１０１）。認証モジュール３１は、ユーザを認証し、ユーザが認証された場合はその旨を証明するチケットを生成する（Ｓ１０２）。チケットには、例えば、当該チケットを識別するチケットＩＤ、当該チケットが有効なサービスを示す有効範囲、当該チケットによってサービスを利用できる有効期限、ユーザＩＤ、及び改竄チェック用のコード等が記録される。チケットは、その内容を認証モジュール３１のみが参照可能なように暗号化され、アプリケーション４１に送信される（Ｓ１０３）。
【００５２】
アプリケーション４１は、チケットを引数としてセッションの開設要求を文書管理モジュール２１に送信する（Ｓ１０４）。文書管理モジュール２１は、受信したチケットの正当性の検証を認証モジュール３１に要求し（Ｓ１０５）、正当である旨の検証結果が返信されると（Ｓ１０６）、セッションＩＤをアプリケーション４１に対して返信する（Ｓ１０７）。なお、文書管理モジュール２１は、ユーザのチケットをセッションＩＤと関連付けて保存しておく。
【００５３】
セッションの開設後、ユーザが、文書の検索を要求すると、アプリケーション４１は、セッションＩＤ及び検索条件等を引数として文書の検索要求を文書管理モジュール２１に送信する（Ｓ１０８）。文書管理モジュール２１は、検索条件に基づいて文書を検索し、その検索結果をアプリケーション４１に送信する（Ｓ１０９）。
【００５４】
この時点でユーザには検索された文書の一覧が表示された文書一覧画面が提供される。そこで、ユーザが任意の文書を選択し、選択された文書に対するオフラインライセンスの発行を指示すると、アプリケーション４１は、選択された文書（以下、「カレント文書」という。）の文書ＩＤとチケットと公開鍵とを引数としてオフラインライセンスの発行要求をセキュリティ管理サーバ１０に対して送信する（Ｓ１１０）。ここで、引数に指定された文書ＩＤ及びチケットは、それぞれオフラインライセンスの対象とする文書及びユーザを特定するための情報としての意味を持つ。また、公開鍵は、後述するようにコンテンツキーを暗号化するために用いられるものであり、予めクライアント装置４０に保存されているものである。
【００５５】
アプリケーション４１からのオフラインライセンスの発行要求を受信したセキュリティサービス層１１は、オフラインライセンス発行モジュール１２に対しオフラインライセンスの発行を指示する（Ｓ１１１）。オフラインライセンス発行モジュール１２は、セキュリティサービス層１１からの指示に応じ、カレント文書に対するカレントユーザの各種操作の許否判定を要求する（Ｓ１１２）。ここでの要求には、カレントユーザ、カレント文書を特定するための情報としてチケット及び文書ＩＤが引数に指定される。
【００５６】
ステップＳ１１２に続いてステップＳ１１３に進み、操作許否判定モジュール１３が、チケットを引数としてカレントユーザのユーザＩＤを認証モジュール３１に問い合わせると、認証モジュール３１は、チケットに基づいてユーザＩＤを特定し、当該ユーザＩＤを操作許否判定モジュール１３に送信する（Ｓ１１４）。
【００５７】
ステップＳ１１４に続いてステップＳ１１５に進み、操作許否判定モジュール１３が、ユーザＩＤを引数として、カレントユーザに係る主体分類情報１４１、すなわち、主体分類情報１４１（図４）におけるカレントユーザのレコード（以下、「カレント主体分類情報」という。）の提供をセキュリティ管理モジュール１４に対して要求すると、セキュリティ管理モジュール１４は、カレント主体分類情報を主体分類情報１４１より取得し、操作許否判定モジュール１３に対して出力する（Ｓ１１６）。
【００５８】
ステップＳ１１６に続いてステップＳ１１７に進み、操作許否判定モジュール１３が、カレント文書の資源分類情報、すなわち、資源分類情報１４２（図５）におけるカレント文書のレコード（以下、「カレント資源分類情報」という。）の提供をセキュリティ管理モジュール１４に要求すると、セキュリティ管理モジュール１４は、カレント資源分類情報を資源分類情報１４２より取得し、操作許否判定モジュール１３に対して出力する（Ｓ１１８）。
【００５９】
ステップＳ１１８に続いてステップＳ１１９に進み、操作許否判定モジュール１３が、ポリシー１４３の提供をセキュリティ管理モジュール１４に要求すると、セキュリティ管理モジュール１４は、ポリシー１４３を操作許否判定モジュール１３に対して出力する（Ｓ１２０）。
【００６０】
ステップＳ１２０に続いてステップＳ１２１に進み、操作許否判定モジュール１３が、許可証管理テーブル１４４の提供をセキュリティ管理モジュール１４に要求すると、セキュリティ管理モジュール１４は、許可証管理テーブル１４４を操作許否判定モジュール１３に対して出力する（Ｓ１２２）。
【００６１】
ステップＳ１２２に続いてステップＳ１２３に進み、操作許否判定モジュール１３は、上記の処理おいて取得したカレント主体分類情報、カレント資源分類情報、ポリシー１４３及び許可証管理テーブル１４４等に基づいて、カレントユーザのカレント文書に対する各種操作についての許否判定を行い、その判定結果に基づいてアクセスマスクを生成する。更に、操作許否判定モジュール１３は、生成したアクセスマスクをオフラインライセンス発行モジュール１２に対して返却する（Ｓ１２４）。
【００６２】
図１１は、アクセスマスクの例を概念的に示す図である。図１１に示されるように、アクセスマスクには、一のユーザの一の文書に対する各種操作権限の有無、責務、許可証による拡張の許否、及び許可証による拡張が許可される場合の当該許可証の有効期限等が記録されている。図１１のアクセスマスク１４６は、ユーザＡによる文書４に対する各種操作権限の有無を示すものであるが、閲覧及び印刷は許可されており、編集及び削除は許可されていないことが分かる。なお、ステップＳ１２３におけるアクセスマスクの生成処理の詳細については後述する。
【００６３】
ステップＳ１２４に続いてステップＳ１２５に進み、オフラインライセンス発行モジュール１２は、操作許否判定モジュール１３に対してクライアント装置４０より受信された公開鍵を引数としてコンテンツキー１４５を要求する。操作許否判定モジュール１３が、公開鍵を引数としてセキュリティ管理モジュール１４に対してコンテンツキー１４５を要求すると（Ｓ１２６）、セキュリティ管理モジュール１４は、公開鍵によってコンテンツキー１４５を暗号化し、暗号化されたコンテンツキー１４５を操作許否判定モジュール１３に返却する（Ｓ１２７）。
【００６４】
操作許否判定モジュール１３が、暗号化されたコンテンツキー１４５をオフラインライセンス発行モジュール１２に返却すると（Ｓ１２８）、オフラインライセンス発行モジュールは、アクセスマスク１４６と暗号化されたコンテンツキー１４５と等を用いてオフラインライセンスを生成する（Ｓ１２９）。
【００６５】
図１２は、オフラインライセンスの例を概念的に示す図である。図１２に示されるオフラインライセンス１４７は、オフライン環境下での特定の資源（文書）に対する各種操作権限の有無が定義されたデータであり、当該オフラインライセンス１４７が対象とする文書及びユーザの文書名１４７１、ユーザ名１４７２と、オフラインライセンス１４７の有効期限１４７３と、操作権限情報１４７４と、暗号化されたコンテンツキー１４５とを構成情報として含む。更に、オフラインライセンス１４７には、オフラインライセンス発行モジュール１２が管理する秘密鍵を使って電子書名１４７５が施されている。電子署名１４７５によって、オフラインライセンス１４７を受け取るオフラインライセンス管理モジュール４２は、事前に配布されたセキュリティ管理サーバ１０の公開鍵を使用して、オフラインライセンス１４７がオフラインライセンス発行モジュール１２により生成され、改ざんされていないことを確認することができる。なお、オフラインライセンス１４７の生成処理の詳細については後述する。
【００６６】
その後、生成されたオフラインライセンス１４７は、セキュリティサービス層１１を介して（Ｓ１３０）アプリケーション４１に送信され（Ｓ１３１）、更にオフラインライセンス管理モジュール４２に出力される（Ｓ１３２）。オフラインライセンス管理モジュール４２は、オフラインライセンス１４７をオフラインライセンス管理テーブル４２１に登録する。
【００６７】
次に、図１０のステップＳ１２３において実行される、操作許否判定モジュール１３によるアクセスマスクの生成処理について更に詳しく説明する。図１３は、操作許否判定モジュールによるアクセスマスクの生成処理の概要を説明するためのフローチャートである。
【００６８】
図１３に示されるように、アクセスマスクの生成処理は、判定対象情報の分類処理（Ｓ１２３ａ）と、ポリシー１４３に基づいてアクセスマスクを生成する処理（Ｓ１２３ｂ）と、ステップＳ１２３ｂにおいて生成されたアクセスマスクに対して許可証の内容を反映させる処理（Ｓ１２３ｃ）とに大きく分けられる。以下、それぞれについて説明する。
【００６９】
図１４は、判定対象情報の分類処理を説明するためのフローチャートである。
【００７０】
まず、カレントユーザの主体分類情報（カレント主体分類情報）を取得し（Ｓ１２３ａ−１）、カレントユーザの関係部署及び権限レベルを特定する（Ｓ１２３ａ−２）。続いて、カレント文書の資源分類情報（カレント資源分類情報）を取得する（Ｓ１２３ａ−３）。続いて、カレントユーザがカレント文書の関係者であるか否かを判定する（Ｓ１２３ａ−４）。ここで、カレントユーザの関係部署とカレント文書の管理部署とが同一の場合、カレントユーザはカレント文書の関係者であると判定される。最後に、カレント主体分類情報と、カレント資源分類情報と、カレントユーザがカンレト文書の関係者であるか否かに関する判定結果とを判定対象情報として出力する（Ｓ１２３ａ−５）。
【００７１】
続いて、ポリシーに基づいてアクセスマスクを生成する処理（図１３：Ｓ１２３ｂ）について説明する。図１５は、ポリシーに基づいてアクセスマスクを生成する処理を説明するためのフローチャートである。図１５においては、図６及び図７に示されたポリシー１４３の定義内容に沿って説明する。
【００７２】
まず、図１４の処理によって出力された判定対象情報を取得し（Ｓ１２３ｂ−１）、ポリシー１４３を読み込む（Ｓ１２３ｂ−２）。
【００７３】
ステップＳ１２３ｂ−３以降は、ポリシー１４３内におけるＰｏｌｉｃｙ要素ごとのループ処理となる。
【００７４】
まず、ポリシー１４３において定義されている順番に沿って一つのＰｏｌｉｃｙ要素を処理対象とする（Ｓ１２３ｂ−４）。したがって、最初は、Ｐｏｌｉｃｙ要素ｐ１が処理対象のＰｏｌｉｃｙ要素（以下「カレントＰｏｌｉｃｙ要素」という。）となる。続いて、カレントＰｏｌｉｃｙ要素がカレントユーザ及びカレント文書の組み合わせに対して適用されるべきＰｏｌｉｃｙ要素（適用Ｐｏｌｉｃｙ要素）であるか否かを判定する（Ｓ１２３ｂ−５）。すなわち、カレントＰｏｌｉｃｙ要素に属するＴａｒｇｅｔ要素内のＳｕｂｊｅｃｔ要素の値によって特定されるユーザとＲｅｓｏｕｒｃｅ要素の値によって特定される文書とにカレントユーザ、カレント文書のそれぞれが相当する場合はカレントＰｏｌｉｃｙ要素は適用Ｐｏｌｉｃｙ要素であると判定される。一方、少なくともいずれか一方が一致しない場合はカレントＰｏｌｉｃｙ要素は適用Ｐｏｌｉｃｙ要素ではないと判定され、次のＰｏｌｉｃｙ要素を処理対象とすべくステップＳ１２３ｂ−３に戻る。
【００７５】
カレントＰｏｌｉｃｙ要素が適用Ｐｏｌｉｃｙ要素であると判定された場合（Ｓ１２３ｂ−５でＹＥＳ）、ステップＳ１２３ｂ−６に進み、カレントＰｏｌｉｃｙ要素が対象としている操作の種別をカレントＴａｒｇｅｔ要素内のＡｃｔｉｏｎ要素に基づいて特定する。例えば、カレントＴａｒｇｅｔ要素がＴａｒｇｅｔ要素ｔ１の場合は、対象操作は、「閲覧」として特定される。
【００７６】
続いて、対象操作については、既にアクセスマスク１４６に反映済みであるか否かを判断する。この判断は、同一対象（主体、資源、操作）に対して重複してＰｏｌｉｃｙ要素が定義されている場合を考慮したものである。本実施の形態においては、ポリシー１４３の定義（図６及び図７）において、各ＰｏｌｉｃｙＳｅｔ要素及びＰｏｌｉｃｙ要素のＲｕｌｅＣｏｍｂｉｎｉｎｇＡｌｇＩＤ属性の値が「Ｆｉｒｓｔ−ａｐｐｌｉｃａｂｌｅ」であることから、定義が重複した場合は、最初のものが優先的に適用される。したがって、対象操作について既にアクセスマスク１４６に反映されている場合は、カレントＰｏｌｉｃｙ要素はアクセスマスク１４６に反映せずに次のＰｏｌｉｃｙ要素を処理対象とすべくステップＳ１２３ｂ−３に戻る。
【００７７】
対象操作についてまだアクセスマスク１４６に反映されていない場合（Ｓ１２３ｂ−７でＮＯ）、ステップＳ１２３ｂ−８に進み、カレントＰｏｌｉｃｙ要素のＥｆｆｅｃｔ属性の値に基づいて対象操作の許否判定を実行すると共に、Ｏｖｅｒｗｒｉｔａｂｌｅ属性の値に基づいて許可証による拡張の許否を判定し、更にカレントＰｏｌｉｃｙ要素内のＯｂｌｉｇａｔｉｏｎ定義に基づいて責務を特定して、対象操作の許否、責務の内容、許可証による拡張の許否、及び許可証の有効期限をアクセスマスク１４６に書き込む。
【００７８】
例えば、カレントＰｏｌｉｃｙ要素がＰｏｌｉｃｙ要素ｐ１の場合は、Ｅｆｆｅｃｔ属性の値が「Ｐｅｒｍｉｔ」であることから、閲覧操作は許可されている旨が判定され、Ｏｂｌｉｇａｔｉｏｎ定義ｏ１より「ログ記録」が責務として特定され、Ｏｖｅｒｗｒｉｔａｂｌｅ属性の値が「Ｐｅｒｍｉｔ」であることから、許可証による拡張は許可されている旨が判定される。
【００７９】
ステップＳ１２３ｂ−８に続いてステップＳ１２３ｂ−９に進み、全ての操作（閲覧、印刷、編集、削除）について、アクセスマスク１４６への書き込みが完了したか否かを判定し、完了した場合は処理を終了させる。一方、アクセスマスク１４６へ反映されていない操作が有る場合は、次のＰｏｌｉｃｙ要素を処理対象とすべくステップＳ１２３ｂ−３に戻る。
【００８０】
全てのＰｏｌｉｃｙ要素について処理が完了すると（Ｓ１２３ｂ−４でＮＯ）、ステップＳ１２３ｂ−１０に進み、操作許否判定モジュール１３は、アクセスマスク１４６内において未確定の部分、すなわち、ポリシー１４３内においては明確に定義されていない部分について規定値を書き込むことによりアクセスマスク１４６を完成させる。例えば、編集操作や削除操作について未確定の場合は、それらについては権限は不許可、責務は無し、及び許可書による権利拡張は不許可の旨を書き込む。
【００８１】
続いて、生成されたアクセスマスク１４６に対して許可証の内容を反映させる処理（図１３：Ｓ１２３ｃ）について説明する。図１６は、アクセスマスクに対して許可証の内容を反映させる処理を説明するためのフローチャートである。
【００８２】
まず、図１４の処理によって出力された判定対象情報と、図１５の処理によって生成されたアクセスマスク１４６とを取得する（Ｓ１２３ｃ−１、Ｓ１２３ｃ−２）。
【００８３】
以降は、許可証管理テーブル１４４に登録されている許可証ごとのループ処理である（Ｓ１２３ｃ−３）。ステップＳ１２３ｃ−４に進み、許可証管理テーブル１４４の上から順に一つの許可証を処理対象（以下「カレント許可証」という。）とする。続いて、カレント許可証のユーザ名と文書名とに基づいて、カレント許可証がカレントユーザとカレント文書との組み合わせに対して適用されるもの（以下、「適用許可証」という。）であるか否かを判定する（Ｓ１２３ｃ−５）。カレント許可証が適用許可証でない場合は（Ｓ１２３ｃ−５でＮＯ）、次の許可証を処理対象とすべくステップＳ１２３ｃ−３に戻る。
【００８４】
カレント許可証が適用許可証である場合（Ｓ１２３ｃ−５でＹＥＳ）、ステップＳ１２３ｃ−６に進み、カレント許可証の追加権限に基づいて、許可証が対象とする操作の種別（対象操作）を特定する。
【００８５】
続いて、図１５の処理において生成したアクセスマスク１４６を参照して、対象操作の権限について許可証による拡張が許可されているか否かを判断する（Ｓ１２３ｃ−７）。対象操作の権限について許可証による拡張が許可されていない場合は、カレント許可証の内容をアクセスマスク１４６に反映することはできないため、次の許可証を処理対象とすべくステップＳ１２３ｃ−３に戻る。
【００８６】
対象操作の権限について許可証による拡張が許可されている場合はステップＳ１２３ｃ−８に進み、操作許否判定モジュール１３は、アクセスマスク１４６における対象操作に対する情報を、カレント許可証の内容によって上書きする。全ての許可証について処理が完了すると（ステップＳ１２３ｃ−３でＮｏ）、操作許否判定モジュール１３は処理を終了させる。
【００８７】
次に、図１０のステップＳ１２９におけるオフラインライセンスの生成処理の詳細について説明する。図１７は、オフラインライセンス発行モジュールによるオフラインライセンスの生成処理を説明するためのフローチャートである。
【００８８】
アクセスマスク１４６（図１１）を読み込み（Ｓ１２９ａ）、アクセスマスク１４６のエントリごと（操作種別ごと）に（Ｓ１２９ｂ）、エントリの読み込みと（Ｓ１２９ｃ）、読み込んだエントリにおける操作名、権限の有無のオフラインライセンス１４７への書き込みを行う（Ｓ１２９ｄ）。なお、ここで書き込まれた情報は、オフラインライセンス１４７の操作権限情報１４７４となる。
【００８９】
全てのエントリについて処理が完了すると（Ｓ１２９ｂでＮＯ）、ステップＳ１２９ｅに進み、オフラインライセンス１４７の有効期限１４７３を書き込む。続いて、暗号化されたコンテンツキー１４５を埋め込み（Ｓ１２９ｆ）、電子署名１４７５を施す（Ｓ１２９ｇ）。
【００９０】
次に、オフラインライセンス１４７を入手したクライアント装置４０が、オフライン環境において文書を操作しようとした際の処理を説明する。図１８は、クライアント装置がオフライン環境において文書の操作を行う際の処理を説明するためのシーケンス図である。
【００９１】
文書を操作しようとするアプリケーション４１は、オフライン操作許否判定モジュール４３に対してオフラインによる操作許否判定（オフライン操作許否判定）の要求を行う（Ｓ２０１）。ここで、オフラインによる操作許否判定とは、セキュリティサーバ１０に対する問い合わせをすることなく行われる操作許否判定をいう。なお、オフライン操作許否判定には、操作主体を識別するための情報としてユーザＩＤが、操作対象となる資源を識別する情報として文書ＩＤが、操作の種別を識別するための情報として操作ＩＤが引数として指定される。
【００９２】
アプリケーション４１からオフライン操作許否判定の要求に応じ、オフライン操作許否判定モジュール４３は、オフラインライセンスの提供をオフラインライセンス管理モジュール４２に対して要求する（Ｓ２０２）。オフラインライセンス管理モジュール４２は、オフラインライセンス管理テーブル４２１に登録されている全てのオフラインライセンスをオフライン操作許否判定モジュール４３に出力する（Ｓ２０３）。
【００９３】
オフライン操作許否判定モジュール４３は、オフラインライセンスに基づいてオフライン操作許否判定を行い（Ｓ２０４）、その判定結果（操作の許否）をアプリケーション４１に返却する（Ｓ２０５）。アプリケーション４１は、オフライン操作許否判定モジュール４３による判定結果に応じて文書の操作を行う。すなわち、当該判定結果において操作が許可された場合は当該操作を実行し、拒否された場合は当該操作は実行しない。
【００９４】
続いて、ステップＳ２０４におけるオフライン操作許否判定処理について詳しく説明する。図１９は、オフライン操作許否判定モジュールによるオフライン操作許否判定処理を説明するためのフローチャートである。
【００９５】
まず、オフライン操作許否判定の判定対象の情報としてユーザ名及び文書名と操作名とを取得する（Ｓ２０４ａ）。ユーザ名、文書名および操作名は、文書ＩＤ、ユーザＩＤ及び操作ＩＤに基づいて特定すればよい。ここで、取得されたユーザ名、文書名、操作名に係るユーザ、文書、操作を、以下においてそれぞれ対象ユーザ、対象文書、対象操作という。続いて、オフラインライセンス管理モジュール４２より取得した全てのオフラインライセンス１４７をメモリ上に読み込む（Ｓ２０４ｂ）。
【００９６】
ステップＳ２０４ｃ以降は、一つのオフラインライセンス１４７ごとのループ処理となる。まず、一つのオフラインライセンス１４７を処理対象とする（Ｓ２０４ｄ）。ここで処理対象とされたオフラインライセンスを以下「カレントオフラインライセンス」という。続いて、カレントオフラインライセンスが対象ユーザ及び対象文書の組み合わせに対して適用されるべきオフラインライセンス（適用オフラインライセンス）であるか否かを判定する（Ｓ２０４ｅ）。すなわち、カレントオフラインライセンスの文書名１４７１及びユーザ名１４７２が、対象文書の文書名及び対象ユーザのユーザ名と一致する場合は、カレントライセンスは適用ライセンスと判定される。
【００９７】
一方、文書名又はユーザ名の少なくともいずれか一方が一致しない場合はカレントオフラインライセンスは適用オフラインライセンスではないと判定され、次のオフラインライセンス１４７を処理対象とすべくステップＳ２０４ｃに戻る。
【００９８】
カレントオフラインライセンスが適用オフラインライセンスであると判定された場合（Ｓ２０４ｅでＹＥＳ）、カレントオフラインライセンスの有効期限１４７３に基づいて、カレントオフラインライセンスは有効であるかを判定する。すなわち、現在日時が、カレントオフラインライセンスの有効期限１４７３を過ぎていた場合、カレントオフラインライセンスは失効していると判定され（Ｓ２０４ｆでＮＯ）、次のオフラインライセンス１４７を処理対象とすべくステップＳ２０４ｃに戻る。
【００９９】
カレントオフラインライセンスは有効であると判定された場合（Ｓ２０４ｆでＹＥＳ）、カレントオフラインライセンスの操作権限情報１４７４に基づいて、対象操作の許否を判定する（Ｓ２０４ｇ）。例えば、対象操作が「閲覧」である場合、図１２のオフラインライセンス１４７によれば、対象操作は許可される。
【０１００】
対象操作が許可されない場合（Ｓ２０４ｇ）、次のオフラインライセンス１４７を処理対象とすべくステップＳ２０４ｃに戻る。一方、対象操作が許可される場合、カレントオフラインライセンスに含まれている暗号化されているコンテンツキー１４５を、その暗号化に用いられた公開鍵に対応する秘密鍵で復号する。なお、当該秘密鍵は、公開鍵と同様、予めクライアント装置４０に保存されているものである。
【０１０１】
したがって、図１９の処理によって、アプリケーション４１は、復号されたコンテンツキー１４５を入手することができ、そのコンテンツキー１４５によって対象文書を復号し、対象操作（例えば、閲覧）を実行することができる。
【０１０２】
上述したように、本発明の実施の形態における文書管理システム１によれば、セキュリティ管理サーバ１０によってオフラインライセンス１４７が発行され、クライアント装置４０は、オフラインライセンス１４７に基づいて文書に対するアクセス制御を行う。ここで、オフラインライセンス１４７は、セキュリティ管理サーバ１０におけるセキュリティ情報に基づいて生成されたものである。したがって、クライアント装置４０は、文書に対するアクセス要求が発生するたびにセキュリティ管理サーバ１０への問い合わせを行うことなく、セキュリティ管理サーバ１０と整合性のあるアクセス制御を行うことができ、ネットワークトラフィックの軽減を図ることもできる。
【０１０３】
また、クライアント装置４０は、セキュリティ管理サーバ１０との通信を行えない場合であっても、セキュリティ管理サーバ１０と整合性のあるアクセス制御を行うことができる。
【０１０４】
なお、上記において、クライアント装置４０が文書管理サーバ２０より文書を取得するタイミングについては明記していないが、操作対象とされる文書は、オフラインライセンス１４７の発行を受ける前後のいずれであっても構わない。または、オフラインライセンス１４７の発行を受ける際に、文書管理サーバ２０より当該文書を取得するようにしてもよい。
【０１０５】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施の形態における文書管理システムの構成例を示す図である。
【図２】本発明の実施の形態におけるセキュリティ管理サーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態の文書管理システムにおけるオフラインライセンス機能に関する機能構成例を示す図である。
【図４】主体分類情報の例を示す図である。
【図５】資源分類情報の例を示す図である。
【図６】ポリシーの定義例を示す図である。
【図７】ポリシーの定義例を示す図である。
【図８】ポリシーの定義内容を概念的に示す図である。
【図９】許可証管理テーブルの構成例を示す図である。
【図１０】セキュリティ管理サーバによるオフラインライセンスの発行処理を説明するためのシーケンス図である。
【図１１】アクセスマスクの例を概念的に示す図である。
【図１２】オフラインライセンスの例を概念的に示す図である。
【図１３】操作許否判定モジュールによるアクセスマスクの生成処理の概要を説明するためのフローチャートである。
【図１４】判定対象情報の分類処理を説明するためのフローチャートである。
【図１５】ポリシーに基づいてアクセスマスクを生成する処理を説明するためのフローチャートである。
【図１６】アクセスマスクに対して許可証の内容を反映させる処理を説明するためのフローチャートである。
【図１７】オフラインライセンス発行モジュールによるオフラインライセンスの生成処理を説明するためのフローチャートである。
【図１８】クライアント装置がオフライン環境において文書の操作を行う際の処理を説明するためのシーケンス図である。
【図１９】オフライン操作許否判定モジュールによるオフライン操作許否判定処理を説明するためのフローチャートである。
【符号の説明】
【０１０７】
１            文書管理システム
１０          セキュリティ管理サーバ
１１          セキュリティサービス層
１２          オフラインライセンス発行モジュール
１３          操作許否判定モジュール
１４          セキュリティ管理モジュール
２０          文書管理サーバ
２１          文書管理モジュール
３０          認証サーバ
３１          認証モジュール
４０          クライアント装置
４１          アプリケーション
４２          オフラインライセンス管理モジュール
４３          オフライン操作許否判定モジュール
４３１        オフラインライセンス管理テーブル
５１          印刷サーバ
５２          変換サーバ
５３          配信サーバ
６０          ネットワーク
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        演算処理装置
１０５        インタフェース装置
１４１        主体分類情報
１４２        資源分類情報
１４３        ポリシー
１４４        許可証管理テーブル
１４５        コンテンツキー
Ｂ            バス
【図１】
2006338530.tif 000003
【図２】
2006338530.tif 000004
【図３】
2006338530.tif 000005
【図４】
2006338530.tif 000006
【図５】
2006338530.tif 000007
【図６】
2006338530.tif 000008
【図７】
2006338530.tif 000009
【図８】
2006338530.tif 000010
【図９】
2006338530.tif 000011
【図１０】
2006338530.tif 000012
【図１１】
2006338530.tif 000013
【図１２】
2006338530.tif 000014
【図１３】
2006338530.tif 000015
【図１４】
2006338530.tif 000016
【図１５】
2006338530.tif 000017
【図１６】
2006338530.tif 000018
【図１７】
2006338530.tif 000019
【図１８】
2006338530.tif 000020
【図１９】
2006338530.tif 000021