(57)【特許請求の範囲】
【請求項１】
サーバにセットされたセキュリティポリシーに応じて、クライアントでの文書ファイルへのアクセスの可否を決定する文書アクセス制御システムであって、
上記クライアントにおけるポリシー判定情報のキャッシュタイミングを決定するキャッシュタイミング決定手段と、
上記キャッシュタイミング決定手段からの通知に応じてキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するポリシー判定情報取得手段と、
取得したポリシー判定情報を文書ファイルと関連付けて保管するポリシー判定情報保管手段と、
オフライン時にユーザから文書ファイルへのアクセス要求があった場合に、上記ポリシー判定情報保管手段に保管されたポリシー判定情報に基づいて当該文書ファイルへのアクセスを制御するファイル利用制御手段とを備え、
アクセス制御の対象となる文書ファイルは、あらかじめ文書ファイル固有の暗号鍵で暗号化され、
各ポリシー判定情報の中に、文書ファイル固有の復号に必要な情報が含まれ、
上記ポリシー判定情報は、暗号化された状態でクライアントに保管され、
上記ポリシー判定情報を暗号化する暗号鍵として、上記ポリシー判定情報保管手段が秘密に保持している情報とユーザ固有の情報とを組み合わせて生成される暗号鍵を使用することを特徴とする文書アクセス制御システム。
【請求項２】
請求項１に記載の文書アクセス制御システムにおいて、
上記キャッシュタイミング決定手段は、上記クライアントにおけるキャッシュ対象の文書ファイルの生成を監視し、
上記ポリシー判定情報取得手段は、生成された文書ファイルに関するポリシー判定情報をサーバから取得することを特徴とする文書アクセス制御システム。
【請求項３】
請求項１に記載の文書アクセス制御システムにおいて、
上記キャッシュタイミング決定手段は、上記クライアントにおけるキャッシュ対象の文書ファイルのポリシー判定情報を定期的に更新することを指示し、
上記ポリシー判定情報取得手段は、キャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得することを特徴とする文書アクセス制御システム。
【請求項４】
請求項１に記載の文書アクセス制御システムにおいて、
上記キャッシュタイミング決定手段は、上記クライアントにおけるキャッシュ対象の文書ファイルのユーザによる明示的な指定を受け取り、
上記ポリシー判定情報取得手段は、指定されたキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得することを特徴とする文書アクセス制御システム。
【請求項５】
請求項４に記載の文書アクセス制御システムにおいて、
文書ファイルの明示的な指定は、個々のファイルを指定する代わりにフォルダを指定することによって、その下にあるキャッシュ対象の文書ファイルすべてを指定することを特徴とする文書アクセス制御システム。
【請求項６】
請求項１に記載の文書アクセス制御システムにおいて、
上記ポリシー判定情報取得手段は、ユーザによってアクセスされたキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得することを特徴とする文書アクセス制御システム。
【請求項７】
請求項１乃至６のいずれか一項に記載の文書アクセス制御システムにおいて、
上記サーバと通信できる状態か否かを判別するネットワーク状態判定手段をさらに備え、
上記サーバと通信できる状態時には上記サーバに問い合わせて得られるポリシー判定情報に従い、上記サーバと通信できない状態時には上記ポリシー判定情報保管手段にあらかじめ保管されているポリシー判定情報に従って、文書へのアクセス可否および要件を決定することを特徴とする文書アクセス制御システム。
【請求項８】
請求項１乃至７のいずれか一項に記載の文書アクセス制御システムにおいて、
各ポリシー判定情報は、対象となる文書の識別情報と、アクセスしようとするユーザの識別情報と、アクセス種別と、アクセスの可否および要件とを少なくとも含むことを特徴とする文書アクセス制御システム。
【請求項９】
請求項１乃至８のいずれか一項に記載の文書アクセス制御システムにおいて、
各ポリシー判定情報の中に、さらにその文書をオフラインで利用できる有効期間および有効回数のいずれかあるいは両方の条件が含まれ、指定された有効期間あるいは有効回数の制限に応じて、その文書に対するアクセスの可否を決定することを特徴とする文書アクセス制御システム。
【請求項１０】
請求項１乃至９のいずれか一項に記載の文書アクセス制御システムにおいて、
オフライン時にポリシー判定情報に基づいて実施された文書へのアクセスを記録するログ管理手段をさらに備えたことを特徴とする文書アクセス制御システム。
【請求項１１】
請求項１０に記載の文書アクセス制御システムにおいて、
記録される各イベントについてその発生時刻も記録しておき、次にイベントが発生した際に時刻を比較し、後のイベント発生時刻が直前のイベント発生時刻よりも前であった場合にアクセスを拒否することを特徴とする文書アクセス制御システム。
【請求項１２】
請求項１０または１１のいずれか一項に記載の文書アクセス制御システムにおいて、
ログ情報は、上記ログ管理手段あるいはポリシー判定情報保管手段が秘密に保持している情報を暗号鍵として暗号化された状態で保管されることを特徴とする文書アクセス制御システム。
【請求項１３】
請求項１０乃至１２のいずれか一項に記載の文書アクセス制御システムにおいて、
オフライン時に記録されたログ情報を、次にオンライン時になった際に上記サーバへ転送することを特徴とする文書アクセス制御システム。
【請求項１４】
サーバにセットされたセキュリティポリシーに応じて、クライアント側での文書ファイルへのアクセスの可否を決定する機能を有する情報処理装置であって、
上記クライアントにおけるポリシー判定情報のキャッシュタイミングを決定するキャッシュタイミング決定手段と、
上記キャッシュタイミング決定手段からの通知に応じてキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するポリシー判定情報取得手段と、
取得したポリシー判定情報を文書ファイルと関連付けて保管するポリシー判定情報保管手段と、
オフライン時にユーザから文書ファイルへのアクセス要求があった場合に、上記ポリシー判定情報保管手段に保管されたポリシー判定情報に基づいて当該文書ファイルへのアクセスを制御するファイル利用制御手段とを備え、
アクセス制御の対象となる文書ファイルは、あらかじめ文書ファイル固有の暗号鍵で暗号化され、
各ポリシー判定情報の中に、文書ファイル固有の復号に必要な情報が含まれ、
上記ポリシー判定情報は、暗号化された状態でクライアントに保管され、
上記ポリシー判定情報を暗号化する暗号鍵として、上記ポリシー判定情報保管手段が秘密に保持している情報とユーザ固有の情報とを組み合わせて生成される暗号鍵を使用することを特徴とする情報処理装置。
【請求項１５】
サーバにセットされたセキュリティポリシーに応じて、クライアント側での文書ファイルへのアクセスの可否を決定する機能を有するプログラムであって、
コンピュータを、
上記クライアントにおけるポリシー判定情報のキャッシュタイミングを決定するキャッシュタイミング決定手段と、
上記キャッシュタイミング決定手段からの通知に応じてキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するポリシー判定情報取得手段と、
取得したポリシー判定情報を文書ファイルと関連付けて保管するポリシー判定情報保管手段と、
オフライン時にユーザから文書ファイルへのアクセス要求があった場合に、上記ポリシー判定情報保管手段に保管されたポリシー判定情報に基づいて当該文書ファイルへのアクセスを制御するファイル利用制御手段として機能させ、
アクセス制御の対象となる文書ファイルは、あらかじめ文書ファイル固有の暗号鍵で暗号化され、
各ポリシー判定情報の中に、文書ファイル固有の復号に必要な情報が含まれ、
上記ポリシー判定情報は、暗号化された状態でクライアントに保管され、
上記ポリシー判定情報を暗号化する暗号鍵として、上記ポリシー判定情報保管手段が秘密に保持している情報とユーザ固有の情報とを組み合わせて生成される暗号鍵を使用することを特徴とする文書アクセス制御プログラム。
【請求項１６】
サーバにセットされたセキュリティポリシーに応じて、クライアントでの文書ファイルへのアクセスの可否を決定する文書アクセス制御方法であって、
上記クライアントにおけるポリシー判定情報のキャッシュタイミングを決定するキャッシュタイミング決定工程と、
上記キャッシュタイミング決定工程で発生する通知に応じてキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するポリシー判定情報取得工程と、
取得したポリシー判定情報を文書ファイルと関連付けて保管するポリシー判定情報保管工程と、
オフライン時にユーザから文書ファイルへのアクセス要求があった場合に、保管されたポリシー判定情報に基づいて当該文書ファイルへのアクセスを制御するファイル利用制御工程とを備え、
アクセス制御の対象となる文書ファイルは、あらかじめ文書ファイル固有の暗号鍵で暗号化され、
各ポリシー判定情報の中に、文書ファイル固有の復号に必要な情報が含まれ、
上記ポリシー判定情報は、暗号化された状態でクライアントに保管され、
上記ポリシー判定情報を暗号化する暗号鍵として、上記ポリシー判定情報保管工程が秘密に保持している情報とユーザ固有の情報とを組み合わせて生成される暗号鍵を使用することを特徴とする文書アクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフライン環境においても使用できる文書アクセス制御システムに関する。
【背景技術】
【０００２】
文書アクセス（閲覧、編集、印刷等）の可否および要件を定めたセキュリティポリシーをあらかじめサーバに設定しておき、暗号化された文書ファイルにクライアント側でアクセスしようとした際に、クライアントの文書利用アプリケーションがその可否や要件をサーバに問い合わせ、アクセス可能である場合には復号する鍵をサーバから受け取って文書ファイルにアクセスするというアクセス制御方法が提案されている（例えば、特許文献１〜３参照。）。
【０００３】
ところで、これらの方式は、一貫したセキュリティポリシーを広い範囲で確実に適用させることが可能である反面、サーバとアクセスできないオフライン環境においてはその文書ファイルについてのセキュリティポリシーによるアクセス権判定情報および復号鍵をサーバから得ることができず、文書ファイルを全く利用できないという問題があった。
【０００４】
この問題を解決し、オフライン環境でもセキュリティポリシーに従った文書アクセスを実現するために、クライアント側に必要な情報を持たせ、その情報に基づいてオフライン時のアクセスを制御する仕組みも提案されている（例えば、特許文献４、５参照。）。
【０００５】
しかしながら、いずれの方法においても、オフラインアクセスに必要な情報は、文書ファイルを開いたことをトリガとしてサーバに要求されている。つまり、オンライン時に最低一度はその文書ファイルを開かないと必要な情報がクライアント側にキャッシュされることはない。この場合、一度も開いたことのない文書ファイルをオフライン環境で初めて開く必要が生じたときには対応できないという問題が生じる。
【０００６】
また、オフライン状況下でのアクセスの可否を判定するための情報をどのタイミングでクライアントに保持しておくかという点について、特許文献４では詳しい記述がない。そもそもこの特許文献４では、保護対象の文書ファイルの中に復号鍵が含まれていて、それを取り出せるかどうかでアクセス制限を実現しているが、本発明の対象とする文書アクセス制御システムでは復号鍵は文書ファイルの中に含まれておらず、文書保護の方法が根本的に異なる。
【０００７】
特許文献５も上述の特許文献４と同様、保護対象の文書ファイルの中に復号鍵が含まれていて、それを取り出せるかどうかでアクセス制限を実現しているため、文書保護の方法が根本的に異なる。
【０００８】
一方、通常はオンライン環境において使用されることを前提としているデータをオフライン環境でも利用できるようにする技術として、例えばクライアントＰＣ（Personal Computer）上で動作するＷｅｂブラウザが一度アクセスしたページのコンテンツをローカルにキャッシュする機能、自動Ｗｅｂサーバ巡回ソフトにより、登録されているＷｅｂページの内容を定期的にキャッシュする機能、あるいはファイルサーバ上のファイルをオフラインになった場合でも使用できるようにするファイルキャッシュ機能、さらにはネットワーク上のＤＢ（Data Base）の内容をローカルにもコピーするレプリケーション機能等が知られている。
【０００９】
しかしながら、これらの技術は単にオンラインでアクセスできる「コンテンツ」そのものをローカルにコピーしているだけであり、基本的にはオンライン時とオフライン時とで同じ動作をさせることを目的としているため、コンテンツのアクセス制御を行う（さらにはオンライン時とオフライン時とで挙動を変える）というようなことはしていない。
【特許文献１】米国特許第６３３９８２５号明細書  Authentica Inc.“Method of encrypting information for remote access while maintaining access control”
【特許文献２】米国特許第６２８９４５０号明細書  Authentica Inc.“Information security architecture for encrypting documents for remote access while maintaining access control”
【特許文献３】特開２００４−１５２２６１号公報  リコー（金井、斉藤、谷内田）「ドキュメント印刷プログラム、ドキュメント保護プログラムおよびドキュメント保護システム」
【特許文献４】特開２００３−２２８５２０号公報  パーヴェイシヴセキュリティーシステムズ「保護電子デ−タにオフラインでアクセスする方法及び装置」
【特許文献５】特開２００５−１４１７４６号公報  アドビシステムズ「文書制御システムにおけるオフラインアクセス」
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は上記の従来技術に存在する問題点を踏まえ、以下に挙げる課題を解決するためになされたものである。
（１）ユーザによる明示的なアクション（例えば一度開く等）がなされていない文書ファイルについても、サーバダウン等による突然のオフライン状態に陥った場合にも与えられた権限に基づいてアクセスできるようにすること。
（２）オンライン時とオフライン時のセキュリティレベルを変えられる（例えばオンライン時には閲覧も印刷も許可されるが、オフライン時には閲覧しか許可しない、等）ようにすること。
（３）クライアントに保持されたキャッシュ情報を改ざんすることによる不正アクセスを防ぐこと。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、サーバにセットされたセキュリティポリシーに応じて、クライアントでの文書ファイルへのアクセスの可否を決定する文書アクセス制御システムであって、上記クライアントにおけるポリシー判定情報のキャッシュタイミングを決定するキャッシュタイミング決定手段と、上記キャッシュタイミング決定手段からの通知に応じてキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するポリシー判定情報取得手段と、取得したポリシー判定情報を文書ファイルと関連付けて保管するポリシー判定情報保管手段と、オフライン時にユーザから文書ファイルへのアクセス要求があった場合に、上記ポリシー判定情報保管手段に保管されたポリシー判定情報に基づいて当該文書ファイルへのアクセスを制御するファイル利用制御手段とを備え、アクセス制御の対象となる文書ファイルは、あらかじめ文書ファイル固有の暗号鍵で暗号化され、各ポリシー判定情報の中に、文書ファイル固有の復号に必要な情報が含まれ、上記ポリシー判定情報は、暗号化された状態でクライアントに保管され、上記ポリシー判定情報を暗号化する暗号鍵として、上記ポリシー判定情報保管手段が秘密に保持している情報とユーザ固有の情報とを組み合わせて生成される暗号鍵を使用する文書アクセス制御システムを要旨としている。これにより、クライアント内にキャッシュされているポリシー判定情報を参照することで、サーバに直接ポリシー判定を要求できない場合であってもポリシーに従ったアクセス制御を実施することができる。
【００１２】
また、請求項２に記載されるように、請求項１に記載の文書アクセス制御システムにおいて、上記キャッシュタイミング決定手段は、上記クライアントにおけるキャッシュ対象の文書ファイルの生成を監視し、上記ポリシー判定情報取得手段は、生成された文書ファイルに関するポリシー判定情報をサーバから取得するようにすることができる。これにより、ユーザが対象となる文書ファイルを指定しなくても自動でポリシー判定情報がクライアントに保管される。
【００１３】
また、請求項３に記載されるように、請求項１に記載の文書アクセス制御システムにおいて、上記キャッシュタイミング決定手段は、上記クライアントにおけるキャッシュ対象の文書ファイルのポリシー判定情報を定期的に更新することを指示し、上記ポリシー判定情報取得手段は、キャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するようにすることができる。これにより、ユーザがいちいちキャッシュ処理を指示しなくてもポリシー判定情報が最新状態に更新される。
【００１４】
また、請求項４に記載されるように、請求項１に記載の文書アクセス制御システムにおいて、上記キャッシュタイミング決定手段は、上記クライアントにおけるキャッシュ対象の文書ファイルのユーザによる明示的な指定を受け取り、上記ポリシー判定情報取得手段は、指定されたキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するようにすることができる。これにより、ユーザがいちいち文書ファイルを開くことなくポリシー判定情報が最新状態に更新される。
【００１５】
また、請求項５に記載されるように、請求項４に記載の文書アクセス制御システムにおいて、文書ファイルの明示的な指定は、個々のファイルを指定する代わりにフォルダを指定することによって、その下にあるキャッシュ対象の文書ファイルすべてを指定するようにすることができる。これにより、ユーザが文書ファイルを一つひとつ指定しなくてもフォルダを一つ指定するだけでまとめて指定したことになる。
【００１６】
また、請求項６に記載されるように、請求項１に記載の文書アクセス制御システムにおいて、上記ポリシー判定情報取得手段は、ユーザによってアクセスされたキャッシュ対象の文書ファイルに関するポリシー判定情報を上記サーバから取得するようにすることができる。これにより、ユーザが対象文書ファイルを開いたときにポリシー判定情報が最新状態に更新される。
【００１７】
また、請求項７に記載されるように、請求項１乃至６のいずれか一項に記載の文書アクセス制御システムにおいて、上記サーバと通信できる状態か否かを判別するネットワーク状態判定手段をさらに備え、上記サーバと通信できる状態時には上記サーバに問い合わせて得られるポリシー判定情報に従い、上記サーバと通信できない状態時には上記ポリシー判定情報保管手段にあらかじめ保管されているポリシー判定情報に従って、文書へのアクセス可否および要件を決定するようにすることができる。これにより、オンライン時とオフライン時で問い合わせ先を切り替えることで、オンライン時にはサーバ提供の最新状態のポリシー判定情報に従うことができる。
【００１８】
また、請求項８に記載されるように、請求項１乃至７のいずれか一項に記載の文書アクセス制御システムにおいて、各ポリシー判定情報は、対象となる文書の識別情報と、アクセスしようとするユーザの識別情報と、アクセス種別と、アクセスの可否および要件とを少なくとも含むものとすることができる。具体的には、Resource，Subject，Action，OK/NG，（Obligation）の組み合わせで一つの判定情報とすることで、細かなアクセス制御ルールに対応できる。
【００１９】
また、請求項９に記載されるように、請求項１乃至８のいずれか一項に記載の文書アクセス制御システムにおいて、各ポリシー判定情報の中に、さらにその文書をオフラインで利用できる有効期間および有効回数のいずれかあるいは両方の条件が含まれ、指定された有効期間あるいは有効回数の制限に応じて、その文書に対するアクセスの可否を決定するようにすることができる。これにより、有効期間・有効回数の制限が可能となる。
【００２３】
また、請求項１０に記載されるように、請求項１乃至９のいずれか一項に記載の文書アクセス制御システムにおいて、オフライン時にポリシー判定情報に基づいて実施された文書へのアクセスを記録するログ管理手段をさらに備えるようにすることができる。これにより、ログによる不正抑止効果を期待できる。
【００２４】
また、請求項１１に記載されるように、請求項１０に記載の文書アクセス制御システムにおいて、記録される各イベントについてその発生時刻も記録しておき、次にイベントが発生した際に時刻を比較し、後のイベント発生時刻が直前のイベント発生時刻よりも前であった場合にアクセスを拒否するようにすることができる。これにより、クライアントの時計修正による不正を減らすことができる。
【００２５】
また、請求項１２に記載されるように、請求項１０または１１のいずれか一項に記載の文書アクセス制御システムにおいて、ログ情報は、上記ログ管理手段あるいはポリシー判定情報保管手段が秘密に保持している情報を暗号鍵として暗号化された状態で保管されるものとすることができる。これにより、ログ（特にイベント発生時刻）の書き換えによる不正アクセスを防ぐことができる。
【００２６】
また、請求項１３に記載されるように、請求項１０乃至１２のいずれか一項に記載の文書アクセス制御システムにおいて、オフライン時に記録されたログ情報を、次にオンライン時になった際に上記サーバへ転送するようにすることができる。これにより、オフライン時に文書がどのように利用されていたかをサーバ側の文書管理者が把握することができる。
【００２７】
また、請求項１４に記載されるように、情報処理装置として構成することができる。
【００２８】
また、請求項１５に記載されるように、文書アクセス制御プログラムとして構成することができる。
【００２９】
また、請求項１６に記載されるように、文書アクセス制御方法として構成することができる。
【発明の効果】
【００３０】
本発明の文書アクセス制御システムにあっては、ユーザによる明示的なアクションがなされていない文書ファイルについてオフライン状態でも与えられた権限に基づいてアクセスでき、オンライン時とオフライン時のセキュリティレベルを変えられ、不正アクセスを防ぐことができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の好適な実施形態につき説明する。
【００３２】
＜システム構成＞
図１は本発明の一実施形態にかかる文書アクセス制御システムの構成例を示す図である。図１において、文書アクセス制御システムは、セキュリティポリシーを管理するセキュリティポリシーサーバ１がネットワーク２上に配置され、クライアント３はネットワーク２と接続することでオンライン状態になるとともに、ネットワーク２から外されることでオフラインとなる。なお、ネットワーク２は有線ネットワークに限らず、無線ネットワークでもよい。また、クライアント３としては、ＰＣ、ＰＤＡ（Personal Digital Assistant）、携帯電話等が想定される。
【００３３】
図２はセキュリティポリシーサーバ１の内部構成例を示す図である。図２において、セキュリティポリシーサーバ１は、セキュリティポリシーを管理するポリシー管理部１１と、ネットワーク２を介したクライアント３からの要求に応じ、ポリシー管理部１１のセキュリティポリシーに基づいてポリシー判定情報を生成してクライアント３に通知するポリシー判定部１２と、ネットワーク通信を行うネットワーク通信部１３とを備えている。
【００３４】
図３はクライアント３の内部構成例を示す図である。図３において、クライアント３は、アプリケーション３１と、ネットワーク状態判定部３２と、ネットワーク通信部３３と、キャッシュタイミング決定部３４と、ポリシー判定情報取得部３５と、ポリシー判定情報保管部３６と、ログ管理部３７と、ユーザ暗号鍵生成部３８とを備えている。各部の機能は次のようになる。
【００３５】
アプリケーション３１：暗号化された文書ファイルにユーザがアクセス（閲覧、印刷、編集等）する際のインタフェースとなる。アプリケーション３１は、例えばAdobe Acrobat（登録商標）のPlug-inとして構成される。アプリケーション３１は、ユーザからのファイルアクセス指示を受けると、セキュリティポリシーサーバ１にアクセスするためのユーザＩＤとパスワードの入力を要求する。また、ネットワーク状態判定部３２にオンラインかオフラインかを問い合わせ、オンラインの場合はネットワーク通信部３３を通じてセキュリティポリシーサーバ１のポリシー判定部１２にユーザＩＤとパスワードを送信し、該当ユーザの該当文書ファイルに対する該当アクセスのポリシー判定情報を問い合わせる。続いてポリシー判定情報取得部３５に対して該当する対象文書ファイルについてのポリシー判定情報をキャッシュするよう要求する。オフラインの場合はユーザＩＤとパスワードをポリシー判定情報取得部３５に送信の上でポリシー判定情報を要求し、その内容に応じてアクセス制御を実施する。
【００３６】
ネットワーク状態判定部３２：ネットワーク通信部３３を通じ、クライアント３がセキュリティポリシーサーバ１と通信できる状態（オンライン）か通信できない状態（オフライン）かを判定する。
【００３７】
ネットワーク通信部３３：セキュリティポリシーサーバ１との通信を受け持つ。
【００３８】
キャッシュタイミング決定部３４：オンライン時、ポリシー判定情報取得部３５に情報の作成・更新をするよう通知する。具体的には、クライアント３上での対象文書ファイルの生成（外からのコピーも含む）を監視する「ファイル監視機能」（アンチウィルスソフトでのファイル監視技術が使用できる）、設定された時間間隔で更新を指示する「時間測定機能」（一般的なタイマー機能で実現できる）、明示的に対象ファイルを指定するための「ファイル指定機能」（Windows（登録商標）のエクスプローラで右クリックにより出てくるメニューで指定できる）から構成されるとよい。もちろんすべてを必ず備えなければならないということではない。
【００３９】
ポリシー判定情報取得部３５：オンライン時、アプリケーション３１あるいはキャッシュタイミング決定部３４からの指示に応じ、セキュリティポリシーサーバ１のポリシー判定部１２に対象文書ファイルに関するポリシー判定情報を要求し、得られた結果をポリシー判定情報保管部３６に渡す。オフライン時は、アプリケーション３１からの要求に応じ、該当するポリシー判定情報をポリシー判定情報保管部３６へ要求し、有効期間と有効回数をチェックした上で問題がなければそのポリシー判定情報をアプリケーション３１に渡す。有効期間および有効回数は、オフライン状態を意図的に継続することによる不正利用（セキュリティポリシーサーバ１による判定が不可に変更された後も継続して利用する等）の恐れを低減させるのに効果がある。またこの時、ログ管理部３７へ監査ログの記録を依頼する。さらに、オフライン後にオンラインになった際には、ログ管理部３７へオフライン状態の間に蓄積された監査ログを要求し、得られた監査ログをネットワーク通信部３３を通じてセキュリティポリシーサーバ１へ送信する。
【００４０】
ポリシー判定情報保管部３６：ポリシー判定情報取得部３５がセキュリティポリシーサーバ１から取得したポリシー判定情報を保管する。ポリシー判定情報に有効回数が設定されている場合には、そのポリシー判定情報が使われるたびに有効回数を１ずつ減らすようにする。このポリシー判定情報は、セキュアメモリやＴＰＭ（Trusted Platform Module）等の安全なハードウェアに保管されている「システム暗号鍵」と、ユーザから入力されたパスワードとから、ユーザ暗号鍵生成部３８において「ユーザ暗号鍵」を生成し、このユーザ暗号鍵により暗号化して保存するとよい。ただし、暗号化して保存することやシステム暗号鍵を安全なハードウェアに保管することは必須ではない。
【００４１】
ログ管理部３７：ポリシー判定情報取得部３５からの依頼により、オフライン時に実施された対象文書ファイルへのアクセスイベントを監査ログとして記録する。このイベントには時刻が含まれ、毎回イベントのたびに現在時刻と直近のイベントの時刻とを比較する。もし前後関係に矛盾がある場合は時刻の修正による不正アクセスの恐れがあるのでエラーを返すとよい。また、この監査ログは、セキュアメモリやＴＰＭ等の安全なハードウェアに保管されている「システム暗号鍵」で暗号化して保存するとよい。ただし、時刻チェックおよび暗号化して保存することやシステム暗号鍵を安全なハードウェアに保管することは必須ではない。
【００４２】
ユーザ暗号鍵生成部３８：システム暗号鍵とパスワードとからユーザ暗号鍵を生成する。
【００４３】
図４は暗号化された文書ファイルの構造例を示す図であり、アクセス制御の対象となる文書ファイルは、あらかじめ文書ファイル固有の暗号鍵で暗号化された暗号化文書データと、文書ＩＤとを含んでいる。なお、文書ファイル固有の復号に必要な情報（復号鍵）は、セキュリティポリシーサーバ１において文書ＩＤと対応付けて管理されており、要求に応じて生成されるポリシー判定情報の中に含まれている。暗号化された文書ファイルは、例えば暗号化されたＰＤＦ（Portable Document Format）ファイルとして形成される。
【００４４】
図５はセキュリティポリシーサーバ１で管理されるセキュリティポリシーの構造例を示す図であり、ＸＭＬ（eXtensible Markup Language）で記述した場合の具体的な構造の例を示している。図５において、ポリシーのタグ<DocumentSecurityPolicy>をトップに、ユーザ種類（Subjectの種類）のタグ<DspUser>、文書種類（Objectの種類）の タグ<DspDoc>、アクセス（Accessの種類）のタグ<DspAccess>、要件（許可時に付加する責務）のタグ<DspObligation>が含まれている。
【００４５】
なお、セキュリティポリシーの管理者は、オフラインで使っていい文書と使ってほしくない文書があると考えることがあり得るので、セキュリティポリシー内に「オフライン使用の可否」を指定できるようにするとよい。また、オフライン使用可の場合であっても、有効期間および有効回数を制限するようにポリシーを記述できるとなおよい。図５では、要件のタグ<DspObligation>と並列にオフラインのタグ<OfflineAuthorization>を設け、有効期間のタグ<ValidPeriod>と有効回数のタグ<ValidCount>を含めている。
【００４６】
図６はクライアント３からの要求に応じてセキュリティポリシーサーバ１で生成されて返送されるポリシー判定情報の例を示す図である。ポリシー判定情報は、Subject（セキュリティポリシーサーバ１のユーザ）とResource（ドキュメントやデバイスのＩＤ）とAccess（処理内容）の組み合わせを一単位とし、これにアクセスの可否（ＯＫまたはＮＧ）、Obligation（条件・責務）、有効期間（開始日時と終了日時）、有効回数、文書復号鍵が含められている。なお、アクセスＮＧの場合は、Subject，Resource，Accessおよびアクセスの可否以外の項目は不要である。
【００４７】
図７はオフライン時にクライアント３において蓄積され次のオンライン時にセキュリティポリシーサーバ１へアップロードされる監査ログ（オフラインアクセスログ）の例を示す図であり、Subject、Resource、Access、アクセス時刻、アクセス場所（クライアント３のＩＰアドレス等）、アクセスの成否（成功または失敗）、失敗の理由（有効回数オーバー等）の項目を含んでいる。
【００４８】
＜処理の概要＞
本発明では、従来はオンライン状態でしか動かなかった文書アクセス制御システムをオフライン状態でも使えるようにしている。すなわち、本発明での基本的な処理としては、文書ファイルへのアクセスのために必要となるポリシー判定情報をオンラインの間にクライアント３上でキャッシュしておき、オフライン時にはそのキャッシュ情報を参照することにより行う。なお、キャッシュとは、ポリシー判定情報取得部３５によってセキュリティポリシーサーバ１からポリシー判定情報を取得し、それをポリシー判定情報保管部３６によって保管する一連の処理を指す。
【００４９】
通常、文書アクセス制御システムでは、文書ファイルに対する不正なアクセスを防止するために予め文書ファイルを暗号化しておき、正当なアクセス時に復号鍵をサーバから得るしくみをとっているが、そのようなケースの拡張として、本発明ではクライアント３にキャッシュするポリシー判定情報にその復号鍵を含んでいる。
【００５０】
また、従来の文書アクセス制御システムでは、不正な使用の検出を目的として、文書ファイルへのアクセスイベントについての監査ログをクライアントからの通知に基づいてサーバが保存している。当然オフライン時にはそのようなログをサーバにアップロードすることはできないので、本発明ではオフライン状態の間のアクセスイベントをクライアント３側に保存しておき、オンライン状態に転じてセキュリティポリシーサーバ１とアクセスできるようになったら保存していた監査ログをセキュリティポリシーサーバ１へまとめてアップロードする方式を取る。
【００５１】
＜オンライン時における対象文書ファイルへのアクセス処理＞
図８はオンライン時における対象文書ファイルへのアクセス処理の例を示すシーケンス図である。
【００５２】
図８において、ユーザがクライアント３において対象文書ファイルにアクセス（閲覧、編集、印刷等）しようとすると、アプリケーション３１はユーザに対してセキュリティポリシーサーバ１におけるユーザＩＤとパスワードの入力を求め、その入力を受け付ける（ステップＳ１０１）。
【００５３】
アプリケーション３１はネットワーク状態判定部３２にネットワーク状態の判定を要求し（ステップＳ１０２）、オンラインである旨の返答が得られると（ステップＳ１０３）、セキュリティポリシーサーバ１に対してユーザＩＤとパスワードを伴ってユーザ認証を要求する（ステップＳ１０４）。ここで、正しいＩＤとパスワードであれば、セキュリティポリシーサーバ１で正しくユーザ認証が行われ（ステップＳ１０５）、ユーザ認証が正常に行われた旨が返送される（ステップＳ１０６）。
【００５４】
次いで、アプリケーション３１は対象文書ファイルに埋め込まれた文書ＩＤを抽出し、ユーザＩＤ、文書ＩＤ、アクセス種別を伴うポリシー判定情報要求をセキュリティポリシーサーバ１に行う（ステップＳ１０７）。セキュリティポリシーサーバ１はセキュリティポリシーを検索して情報の取得を行い（ステップＳ１０８）、ポリシー判定情報（そのアクセス種別に対する可否、許可の場合は追加の責務、文書の復号鍵も含む）を返送する（ステップＳ１０９）。
【００５５】
アプリケーション３１は受け取ったポリシー判定情報に基づいて対象文書ファイルへのアクセスを実施する（ステップＳ１１０）。
【００５６】
また、セキュリティポリシーサーバ１では認証およびポリシー判定情報の生成につき監査ログの記録を行うとともに（ステップＳ１１１）、アプリケーション３１からは文書アクセスの実施状況をセキュリティポリシーサーバ１に通知し（ステップＳ１１２）、セキュリティポリシーサーバ１はそのイベントを監査ログに記録する（ステップＳ１１３）。
【００５７】
＜オンライン時におけるポリシー判定情報のキャッシュ処理＞
クライアント３は、上記のアクセス処理とは別に、所定のタイミングでポリシー判定情報のキャッシュ処理を行う。このキャッシュ処理は、該当ユーザに対し、クライアント３に存在するすべて（あるいは特定の）対象文書ファイルについて、全種類のアクセス種別のポリシー判定情報をクライアント３の記憶領域（例えばＨＤＤ（Hard Disk Drive））に保存することを指す。
【００５８】
上記の「所定のタイミング」とキャッシュ対象は、ポリシー判定情報の十分な鮮度を保つために、例えば次のタイミングで行うとよい。なお、この５つのタイミングでのキャッシュ処理はすべてにおいて行うのが好ましいが、どれか特定の１以上のタイミングだけでも構わないし、他のタイミングで行っても構わない。
（１）クライアント３に対象文書ファイルが生成された時（外からコピーされてきたときも含む）、その生成された対象文書ファイルについて。
（２）一定の時間間隔ですべての対象文書ファイルについて。
（３）ユーザが明示的に全キャッシュ更新を指示した時、すべての対象文書ファイルについて。
（４）ユーザが明示的にある特定の文書ファイルのキャッシュ更新を指示した時、その特定の対象文書ファイルについて（この場合、個々のファイルを指定する代わりにフォルダを指定することによって、その下にあるキャッシュ対象の文書ファイルすべてを指定するようにすることもできる。）。
（５）ユーザが対象文書ファイルにアクセスした時、その対象文書ファイルについて。
【００５９】
キャッシュされるポリシー判定情報の内容は、オンライン時にサーバから返ってくる内容と全く同じものでもよいが、オフライン向けに制限を強化した内容にするのが好ましい。例えば、印刷時のユーザ名追加という責務をオフライン時にのみ課したり、オフライン使用の有効期間や有効回数を設けたり、等が考えられる。
【００６０】
キャッシュでセキュリティポリシーサーバ１へポリシー判定情報を問い合わせる際、セキュリティポリシーサーバ１に対して該当するユーザＩＤとパスワードを提示する必要がある。ユーザが対象文書ファイルにアクセスした時や明示的に対象文書ファイルを指定した時にはユーザに入力を求めても構わないが、生成された際のキャッシュ処理や一定時間間隔でのキャッシュの場合はユーザからの入力は期待できない。そこで、クライアント３に必要なユーザＩＤとパスワードを予め設定しておくとよい。この時、クライアント３のそれぞれのログインユーザしかアクセスできない場所に保管すると他ユーザによる不正利用を防止できてなおよい。
【００６１】
図９はオンライン時におけるポリシー判定情報のキャッシュ処理の例を示すシーケンス図である。
【００６２】
図９において、キャッシュタイミング決定部３４が所定のタイミングでトリガを発し（ステップＳ２０１）、ポリシー判定情報取得部３５に対してキャッシュ依頼を行った場合（ステップＳ２０２）、あるいは、アプリケーション３１において文書ファイルへのユーザアクセスがあり（ステップＳ２０３）、ポリシー判定情報取得部３５に対してキャッシュ依頼を行った場合（ステップＳ２０４）、キャッシュ処理を開始する。
【００６３】
ポリシー判定情報取得部３５は、ユーザＩＤとパスワードを取り出し（ユーザのアクションと無関係にキャッシュ処理を開始する場合はクライアント３内からユーザＩＤとパスワードを取り出す。ユーザのアクションに基づく場合はユーザから入力を求めてもよい。）（ステップＳ２０５）、セキュリティポリシーサーバ１に対してユーザ認証を要求する（ステップＳ２０６）。セキュリティポリシーサーバ１は認証を行い（ステップＳ２０７）、正常に認証できた場合はその旨を返答する（ステップＳ２０８）。
【００６４】
次いで、ポリシー判定情報取得部３５はセキュリティポリシーサーバ１に対してポリシー判定情報を要求し（ステップＳ２０９）、セキュリティポリシーサーバ１は情報収集を行い（ステップＳ２１０）、ポリシー判定情報を返答する（ステップＳ２１１）。
【００６５】
ポリシー判定情報取得部３５は、ポリシー判定情報保管部３６にポリシー判定情報の保管依頼を行い（ステップＳ２１２）、ポリシー判定情報保管部３６はユーザ鍵の生成、暗号化、保管を順次行い（ステップＳ２１３〜Ｓ２１５）、完了の旨を返答する（ステップＳ２１６）。
【００６６】
＜オフライン時における対象文書ファイルへのアクセス処理＞
クライアント３がネットワーク２から切り離された状態、あるいはセキュリティポリシーサーバ１がダウンしている状態では、クライアント３のアプリケーション３１はセキュリティポリシーサーバ１にポリシー判定情報を問い合わせることができない。そこで、そのような場合には、オンライン時にクライアント３の記憶領域に保管したキャッシュ情報を参照すればよい。これによってオンライン時と同様にセキュリティポリシーに従った適切なアクセス制御を実施することが可能となる。なお、クライアント３に対象文書ファイルが生成されてから一度もオンライン状態になっていないといった原因等により、その文書ファイルについてのポリシー判定情報がキャッシュされていない場合には、アクセス可否の判断ができないので、従来どおりその対象文書ファイルへのアクセスは許可されないものとする。
【００６７】
また、クライアント３のアプリケーション３１は、オンライン時にセキュリティポリシーサーバ１へ通知していた監査イベントを、代わりにクライアント３の記憶領域に一時的に保存しておく。この一時保存の監査ログは次回オンライン状態になった際にクライアント３からセキュリティポリシーサーバ１へ一括して送信するとよい。監査ログを記録し、後にセキュリティポリシーサーバ１に送信することで、不正抑止効果が期待できる。
【００６８】
クライアント３に保管されるポリシー判定情報および監査ログを意図的に修正することで、本来許されないはずの不正なアクセスが可能となったり、不正が発覚しないように証拠を隠滅することが可能となったりする恐れがある。これに対抗するために、ポリシー判定情報および監査ログは、クライアント３に保管されたシステム暗号鍵とユーザのパスワードを合わせて生成（例えば両者をつなげてハッシュ関数にかける等）したユーザ暗号鍵で暗号化された状態で保管されるのが好ましい。このとき、システム暗号鍵はクライアント３上に、ユーザに分からない状態で保管する必要がある。例えば、権限のあるアプリケーションしかアクセスできないセキュアメモリやＴＰＭといった安全性の高いハードウェアモジュールに保管する。あるいは、多少安全性は落ちるが、ポリシー判定情報および監査ログを管理するアプリケーション３１にスクランブルをかけた上で組み込んでもよい。このようにポリシー判定情報を暗号化して保存しておくことにより、仮に該当ユーザ以外の攻撃者が暗号化された状態のポリシー判定情報を改ざんしようとしても、攻撃者はシステム暗号鍵やユーザのパスワードを知りえないので、改ざん後に正しくポリシー判定情報を復号できず、システムはアクセスを拒否することになる。また、該当ユーザが自分の権限を不正に拡張しようとした際も、ユーザにはシステム暗号鍵が分からないので同様に不正な改ざんは不可能となる。
【００６９】
図１０はオフライン時における対象文書ファイルへのアクセス処理の例を示すシーケンス図である。
【００７０】
図１０において、ユーザがクライアント３において対象文書ファイルにアクセス（閲覧、編集、印刷等）しようとすると、アプリケーション３１はユーザに対してセキュリティポリシーサーバ１におけるユーザＩＤとパスワードの入力を求め、その入力を受け付ける（ステップＳ３０１）。
【００７１】
アプリケーション３１はネットワーク状態判定部３２にネットワーク状態の判定を要求し（ステップＳ３０２）、オフラインである旨の返答が得られると（ステップＳ３０３）、ポリシー判定情報取得部３５に対してユーザＩＤ、パスワード、文書ＩＤ、アクセス種別を伴うポリシー判定情報要求を行う（ステップＳ３０４）。
【００７２】
ポリシー判定情報取得部３５はポリシー判定情報保管部３６に対して該当するポリシー判定情報の要求を行い（ステップＳ３０５）、ポリシー判定情報保管部３６は情報検索、ユーザ鍵生成、復号を順次行い（ステップＳ３０６〜Ｓ３０８）、ポリシー判定情報を返答する（ステップＳ３０９）。
【００７３】
また、ポリシー判定情報取得部３５はログ管理部３７に対してイベント記録を要求し（ステップＳ３１０）、ログ管理部３７はログ復号、ログチェック、ログ追加、ログ暗号化を順次行い（ステップＳ３１１〜Ｓ３１４）、完了した旨を返答する（ステップＳ３１５）。
【００７４】
これを受け、ポリシー判定情報取得部３５はアプリケーション３１にポリシー判定情報を送り（ステップＳ３１６）、アプリケーション３１は受け取ったポリシー判定情報に基づいて対象文書ファイルへのアクセスを実施する（ステップＳ３１７）。
【００７５】
また、アプリケーション３１は文書アクセスの実施状況をログ管理部３７に通知し（ステップＳ３１８）、ログ管理部３７はそのイベントにつき、ログ復号、ログチェック、ログ追加、ログ暗号化を順次行って監査ログに記録する（ステップＳ３１９）。
【００７６】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施形態にかかる文書アクセス制御システムの構成例を示す図である。
【図２】セキュリティポリシーサーバの内部構成例を示す図である。
【図３】クライアントの内部構成例を示す図である。
【図４】暗号化された文書ファイルの構造例を示す図である。
【図５】セキュリティポリシーの構造例を示す図である。
【図６】ポリシー判定情報の例を示す図である。
【図７】監査ログの例を示す図である。
【図８】オンライン時における対象文書ファイルへのアクセス処理の例を示すシーケンス図である。
【図９】オンライン時におけるポリシー判定情報のキャッシュ処理の例を示すシーケンス図である。
【図１０】オフライン時における対象文書ファイルへのアクセス処理の例を示すシーケンス図である。
【符号の説明】
【００７８】
１      セキュリティポリシーサーバ
１１    ポリシー管理部
１２    ポリシー判定部
１３    ネットワーク通信部
２      ネットワーク
３      クライアント
３１    アプリケーション
３２    ネットワーク状態判定部
３３    ネットワーク通信部
３４    キャッシュタイミング決定部
３５    ポリシー判定情報取得部
３６    ポリシー判定情報保管部
３７    ログ管理部
３８    ユーザ暗号鍵生成部
【図１】
0004843325.tif 000002
【図２】
0004843325.tif 000003
【図３】
0004843325.tif 000004
【図４】
0004843325.tif 000005
【図５】
0004843325.tif 000006
【図６】
0004843325.tif 000007
【図７】
0004843325.tif 000008
【図８】
0004843325.tif 000009
【図９】
0004843325.tif 000010
【図１０】
0004843325.tif 000011