図1は、文書管理システムの概略構成の一例を示す図である。図1の例の文書管理システムは、マスタ側ネットワーク1及びスレーブ側ネットワーク2を含む。マスタ側ネットワーク1及びスレーブ側ネットワーク2は、それぞれ、イントラネットなどのネットワークN1,N2を介して互いに接続された装置により構成される。
マスタ側ネットワーク1を構成する装置は、マスタセキュリティポリシーサーバ10、ユーザ認証サーバ30、クライアント端末50、及び画像形成装置70を含む。スレーブ側ネットワーク2を構成する装置は、スレーブセキュリティポリシーサーバ20、ユーザ認証サーバ40、クライアント端末60、及び画像形成装置80を含む。
マスタセキュリティポリシーサーバ10及びスレーブセキュリティポリシーサーバ20は、本システムが取り扱う文書(電子文書及び紙文書)のセキュリティポリシーを管理する。ここで、「セキュリティポリシー」は、文書を利用する主体と、その主体に対して許可又は禁止される操作の種類と、の組み合わせを含む利用権限情報を指す。マスタセキュリティポリシーサーバ10は、セキュリティポリシーの設定された文書の生成に関する機能を備える。スレーブセキュリティポリシーサーバ20は、セキュリティポリシーの設定された文書の利用に関する機能を備える。
マスタ側ネットワーク1のクライアント端末50は、マスタセキュリティポリシーサーバ10と通信し、セキュリティポリシーの設定された電子文書を生成する。マスタ側ネットワーク1の画像形成装置70は、マスタセキュリティポリシーサーバ10と通信し、セキュリティポリシーの設定された紙文書を生成する。
なお、以下の説明では、セキュリティポリシーの設定された電子文書を「保護電子文書」と呼び、セキュリティポリシーの設定された紙文書を「保護紙文書」と呼ぶ。また、保護電子文書及び保護紙文書を総称して「保護文書」と言うこともある。
スレーブ側ネットワーク2のクライアント端末60及び画像形成装置80は、それぞれ、スレーブセキュリティポリシーサーバ20と通信し、保護電子文書及び保護紙文書に対する操作を実行する。
図1には、マスタ側ネットワーク1及びスレーブ側ネットワーク2のそれぞれについて、1つのクライアント端末50,60及び1つの画像形成装置70,80を図示するが、マスタ側ネットワーク1及びスレーブ側ネットワーク2は、それぞれ、複数のクライアント端末50,60及び複数の画像形成装置70,80を備えていてよい。
図1の例の文書管理システムにおいて、マスタ側ネットワーク1とスレーブ側ネットワーク2とは互いに接続されていない。よって、マスタ側ネットワーク1が備える装置とスレーブ側ネットワーク2が備える装置との間で通信が行われることはない。したがって、マスタ側ネットワーク1のクライアント端末50が生成した保護電子文書は、例えば、CDやDVDなどの移動可能な記憶媒体に記憶され、スレーブ側ネットワーク2のクライアント端末60の設置位置まで移動させられて、クライアント端末60において読み取られて利用される。
なお、マスタ側ネットワーク1とスレーブ側ネットワーク2とは、実際にはインターネットなどの通信手段を介して接続されていてもよい。しかしながら、双方のネットワークが接続されている場合であっても、以下で説明する実施形態の各例においてマスタ側ネットワーク1及びスレーブ側ネットワーク2のそれぞれで用いられる情報は、双方のネットワークを接続する通信手段を介して授受されることはないものとする。
以下、マスタ側ネットワーク1が備える各装置について説明する。
ユーザ認証サーバ30は、文書管理システムのユーザとして予め登録されたユーザの認証情報を管理し、ユーザ認証を行うサーバである。マスタ側ネットワーク1が備えるクライアント端末50及び画像形成装置70などの装置は、後述のように、ユーザの認証に成功した場合に、当該ユーザの指示に従った処理を実行する。マスタ側ネットワーク1が備える装置は、ユーザの識別情報及びパスワードなどの認証情報の入力をユーザから受け付けると、受け付けた情報をユーザ認証サーバに送信してユーザ認証要求を行う。この要求に応じて、ユーザ認証サーバは、ユーザ認証を行い、その結果を要求元の装置に対して返信する。ユーザ認証サーバは、例えば、LDAP(Lightweight Directory Access Protocol)サーバやWindows(登録商標) Active Directoryなどのサーバにより実現される。
図2に、マスタセキュリティポリシーサーバ10の内部構成の概略の例を示す。図2を参照し、マスタセキュリティポリシーサーバ10は、セキュリティポリシーDB(データベース)100、文書情報DB102、指示受付部104、セキュリティポリシー作成部106、セキュリティポリシー更新部108、セキュリティポリシー一覧応答部110、及び保護文書登録部112を備える。
セキュリティポリシーDB100は、セキュリティポリシーに関する情報を記憶するデータベースである。図3に、セキュリティポリシーDB100のデータ内容の一例を示す。
図3を参照すると、セキュリティポリシーDB100には、各セキュリティポリシーの識別情報であるポリシーIDに関連づけて、ポリシー名、利用範囲、有効期間、許諾機能リスト、無効化フラグ、及び更新日時の各項目が登録される。ポリシーIDは、各セキュリティポリシーに対して付与される、文書管理システム内で一意な識別情報である。ポリシー名は、セキュリティポリシーに対して管理者などが付与する名称である。利用範囲は、文書の操作主体を表し、ユーザ認証サーバで管理されるユーザ又はユーザグループの識別情報により表される。有効期間は、対応する利用範囲で示されるユーザが、当該セキュリティポリシーの設定された保護文書を利用可能な期間を表す。許諾機能リストは、対応する利用範囲で示されるユーザに対して許可されている操作の種類を表す。操作の種類には、例えば、電子文書に対する操作として閲覧、編集、及び印刷などがあり、紙文書に対す操作としてコピー(複製)及びスキャン(スキャナで読み取って得られる画像データの保存)などがある。例えば、図3の例の表のポリシーID「0001」のセキュリティポリシーが設定された保護文書を、「ソフトウエア開発部」に所属するユーザであって当該保護文書の作成者でないユーザが利用する場合、当該保護文書が作成されてから180日以内であれば、「電子文書の閲覧」、「電子文書の印刷」、又は「紙文書のコピー」の操作の実行が許可される。無効化フラグは、セキュリティポリシーの有効又は無効を表す。セキュリティポリシーが有効であれば、そのセキュリティポリシーが設定された保護文書について、そのセキュリティポリシーに従った利用制限が行われる。セキュリティポリシーが無効であれば、そのセキュリティポリシーが設定された保護文書について、一切の利用が禁止される。図3の例の表において、無効化フラグの値「FALSE」は、対応するセキュリティポリシーが有効であることを示す。無効化フラグの値が「TRUE」であれば、対応するセキュリティポリシーが無効であることを表す。
図2の説明に戻り、文書情報DB102は、保護文書に関する情報を記憶するデータベースである。図4に、文書情報DB102のデータ内容の一例を示す。
図4を参照すると、文書情報DB102には、各保護文書の文書IDに関連付けて、ポリシーID、作成者ID、及び作成日時が登録される。文書IDは、各保護文書に対して付与される、本システム内で一意な識別情報である。文書IDとして、例えば、UUID(Universal Unique Identifier)を用いる。ポリシーIDは、対応する保護文書に対して設定されたセキュリティポリシーのポリシーIDである。このポリシーIDは、セキュリティポリシーDB100に登録されたポリシーIDのいずれかである。作成者IDは、対応する保護文書を作成したユーザの識別情報である。作成日時は、対応する保護文書が作成された日時である。
なお、本実施形態の例の説明では、保護文書の「作成」とは、セキュリティポリシーの設定されていない(保護されていない)電子文書又は紙文書に対して、セキュリティポリシーを設定して保護電子文書又は保護紙文書を生成することを意味する。保護文書の「作成者」は、保護されていない文書に対するセキュリティポリシーの設定を指示したユーザであり、保護文書の「作成日時」は、保護されていない文書に対してセキュリティポリシーが設定された日時である。
また、本実施形態の例では、一旦、保護文書が作成されると、保護文書に対して操作が実行される前後で文書IDは変更されない。保護文書に対する操作によって、電子文書から紙文書に、あるいは、紙文書から電子文書に、その保護文書の形態が変化しても文書IDは変更されない。つまり、例えば、保護電子文書が編集されて新たな内容を含む保護電子文書が生成された場合、保護電子文書が印刷されて保護紙文書が生成された場合、保護紙文書がコピーされて新たな保護紙文書が生成された場合、又は、保護紙文書がスキャンされて保護電子文書が生成された場合などにおいて、各種の操作実行の前の保護文書と、当該操作の結果として生成される保護文書と、は同一の文書IDを有する。
再び図2を参照し、指示受付部104は、セキュリティポリシーDB100へのセキュリティポリシーの(新規)登録又はセキュリティポリシーDB100に登録済みのセキュリティポリシーの更新についての管理者などによる指示を受け付ける。指示受付部104は、セキュリティポリシーの登録の指示を受け付けるとセキュリティポリシー作成部106に渡し、セキュリティポリシーの更新の指示を受け付けるとセキュリティポリシー更新部108に渡す。
セキュリティポリシー作成部106は、セキュリティポリシーの新規作成及び新規作成したセキュリティポリシーのセキュリティポリシーDB100への登録を行う。セキュリティポリシー作成部106は、新規作成されるセキュリティポリシーに対してポリシーIDを付与し、このポリシーIDを含むレコードをセキュリティポリシーDB100において新規生成する。そして、指示受付部104を介して取得される指示に従って、セキュリティポリシーDB100において新規生成したレコードの各項目(図3参照)の値を登録する。なお、本例のセキュリティポリシー作成部106は、新規生成したレコードの更新日時の項目に、そのレコードを生成した日時を設定するものとする。
セキュリティポリシー更新部108は、セキュリティポリシーDB100に登録済みのセキュリティポリシーの更新を行う。例えば、セキュリティポリシー更新部108は、指示受付部104を介して取得される指示に従って、更新対象として指定されたポリシーIDのセキュリティポリシーDB100中のレコードの各項目の値を変更する。例えば、指定されたポリシーIDのセキュリティポリシーを無効化する指示を受けた場合、そのポリシーIDに関連づけられた無効化フラグを「FALSE」から「TRUE」に書き換える。なお、無効化フラグの値は、一度「TRUE」に設定されると、「FALSE」に書き換えられることはないものとする。あるいは、管理者などからの指示に従って、例えば、利用範囲、有効期間、又は許諾機能リストの値を変更してもよい。また、セキュリティポリシー更新部108は、更新指示に従って、指定されたポリシーIDのセキュリティポリシーDB100中のレコードの各項目の値を変更すると、当該レコードの更新日時の値を現在の日時に書き換える。
セキュリティポリシー一覧応答部110は、クライアント端末50又は画像形成装置70などの外部装置からの要求に応じて、セキュリティポリシーDB100に登録されたセキュリティポリシーの一覧を返す処理を行う。例えば、図3の例の表に示されるセキュリティポリシーDB100のデータ内容を含むリストを要求元の外部装置に返す。
保護文書登録部112は、外部装置からの要求に応じて、外部装置で作成された保護文書に関する情報を文書情報DB102に登録する処理を行う。保護文書登録部112は、例えば、保護文書の文書ID、保護文書に設定されたセキュリティポリシーのポリシーID、保護文書の作成者の作成者ID、及び保護文書の作成日時を含む登録要求を外部装置から受けて、文書情報DB102において新たにレコードを生成し、新規生成したレコードの各項目(図4参照)の値を、登録要求に含まれる各項目の値に設定する。
図5は、マスタ側ネットワーク1のクライアント端末50の内部構成の概略の例を示すブロック図である。クライアント端末50は、入力受付部52、表示部54、及び文書保護アプリケーション56を備える。
入力受付部52は、キーボードやマウスなどの入力装置(図示しない)を介してユーザにより入力された情報を受け付け、受け付けた入力情報を文書保護アプリケーション56の制御部560に渡す。
表示部54は、ユーザに対して提示される情報を表示する。
文書保護アプリケーション56は、保護されていない電子文書に対してセキュリティポリシーを設定して保護電子文書を生成する。文書保護アプリケーション56は、制御部560、ユーザ認証部562、文書保持部564、保護電子文書生成部566、文書ID生成部568、及び登録処理部570を備える。
制御部560は、入力受付部52を介して取得される指示に応じて、文書保護アプリケーション56の各部の処理を制御する。制御部560は、また、表示部54に表示させる情報の内容を制御する。
ユーザ認証部562は、入力受付部52及び制御部560を介して取得したユーザID及び認証情報を用いてユーザ認証サーバ30に対してユーザ認証の要求を行い、この要求に応じてユーザ認証サーバから返される認証結果を制御部560に渡す。
文書保持部564は、セキュリティポリシーを設定する対象である保護されていない電子文書を保持しておく一時記憶手段である。
保護電子文書生成部566は、文書保持部564に保持された電子文書に対して、制御部560から指示されたセキュリティポリシーを設定した保護電子文書を生成する。
保護電子文書生成部566が生成する保護電子文書のデータ構造の一例を図6に示す。図6を参照し、保護電子文書500は、ヘッダ情報502、文書情報504、ポリシー情報506、及び文書本体508を含む。ヘッダ情報502は、当該文書が保護電子文書であることを表す情報である。文書情報504は、文書ID生成部568により生成された文書ID、保護電子文書500の作成を指示したユーザのID(作成者ID)、及び保護電子文書500の作成日時を含む。ポリシー情報506は、制御部560から指示されたセキュリティポリシーの内容を含む。例えば、図3の例の表の1つのポリシーIDに対応するレコードの表す内容がポリシー情報506として保護電子文書500に含まれる。文書本体508は、文書保持部564に保持された電子文書の暗号化データである。本実施形態の例では、保護電子文書500の文書本体508は、本システムで管理される保護電子文書500のすべてについて共通な暗号鍵によって暗号化される。他の例では、保護電子文書500ごとに異なる暗号鍵を用いて文書本体508を暗号化してもよい。また、保護電子文書500の改ざんを防ぐため、保護電子文書500の全体に電子署名を付与したり、あるいは、メッセージ認証の技術で用いられるHMAC(Keyed-Hashing for Message Authentication Code)などの値を付与したりしても良い。
再び図5を参照し、文書ID生成部568は、保護電子文書生成部566からの依頼に応じて、新たな文書IDを生成し、生成した文書IDを保護電子文書生成部566に渡す。
登録処理部570は、保護電子文書生成部566が生成した保護電子文書500をマスタセキュリティポリシーサーバ10に登録するための処理を行う。登録処理部570は、例えば、保護電子文書500に含まれる文書情報504と保護電子文書500に含まれるポリシー情報506中のポリシーIDとを含む登録要求をマスタセキュリティポリシーサーバ10に対して行う。
次に、図7を参照し、マスタ側ネットワーク1の画像形成装置70について説明する。図7に、画像形成装置70の概略構成の例を示す。画像形成装置70は、保護されていない紙文書をスキャナ読み取りしてセキュリティポリシーを設定し、保護紙文書を生成する。
図7を参照し、画像形成装置70は、画像データ受付部71、入力受付部72、表示部74、印刷部76、及び文書保護機能78を備える。
画像データ受付部71は、画像形成装置70で処理される画像データの入力を受け付ける。画像データ受付部71は、例えば、スキャナ読み取りされた紙文書の画像データの入力を受け付けて文書保護機能78の制御部に渡す。
入力受付部72は、図示しない操作パネルの入力ボタンなどを介してユーザから入力される情報を受け付ける。入力受付部72は、受け付けた入力情報を文書保護機能78の制御部に渡す。
表示部74は、ユーザに対して提示される情報を表示する。表示部74は、例えば、液晶ディスプレイなどの表示装置により実現される。
印刷部76は、画像データを紙媒体に印刷する。印刷部76は、一般的なプリンタの印刷機能を実現する装置であってよい。
文書保護機能78は、保護されていない紙文書に対してセキュリティポリシーを設定して保護紙文書を生成する。文書保護機能78は、制御部780、ユーザ認証部782、画像保持部784、保護紙文書生成部786、文書ID生成部788、及び登録処理部790を備える。
制御部780は、文書保護機能78の各部の処理を制御する。制御部780は、また、表示部74に表示させる情報の内容を制御する。
ユーザ認証部782は、入力受付部72及び制御部780を介して取得したユーザID及び認証情報を用いてユーザ認証サーバ30に対してユーザ認証の要求を行い、この要求に応じてユーザ認証サーバ30から返される認証結果を制御部780に渡す。
画像保持部784は、セキュリティポリシーを設定する対象の保護されていない紙文書をスキャナ(図示しない)で読み取った画像データを保持しておく一時記憶手段である。
保護紙文書生成部786は、画像保持部784に保持された画像データについて、文書ID生成部788に対して文書IDの生成を依頼し、生成された文書IDを受け取る。さらに、当該画像データについて、制御部780から指示されたセキュリティポリシーを設定し、印刷部76に対して保護紙文書の印刷を指示することで保護紙文書700を生成する。
保護紙文書生成部786が生成する保護紙文書700は、例えば図8に示すように、文書情報を表す機械可読コード702と、ポリシー情報を表す機械可読コード704と、画像保持部784に保持された画像データである文書本体706と、が印刷された紙文書であってよい。文書情報及びポリシー情報の内容は、保護電子文書に関して上記で説明した文書情報及びポリシー情報と同様である。機械可読コードは、例えば、バーコードやQRコードなど、情報処理装置により読み取り可能な符号である。保護紙文書の態様は、図8の例に限らず、例えば、文書本体の背景として、文書情報及びポリシー情報を透かし様に埋め込んで印刷したものであってもよい。保護紙文書は、文書情報及びポリシー情報を、情報処理装置により読み取り可能な方法で用紙に印刷したものであれば、その具体的な態様は上記の例に限られない。
再び図7を参照し、文書ID生成部788は、保護紙文書生成部786からの依頼に応じて、新たな文書IDを生成し、生成した文書IDを保護紙文書生成部786に渡す。
登録処理部790は、保護紙文書生成部786が生成した保護紙文書をマスタセキュリティポリシーサーバ10に登録するための処理を行う。登録処理部790は、例えば、保護紙文書の文書情報と当該保護紙文書のポリシー情報のポリシーIDとを含む登録要求をマスタセキュリティポリシーサーバ10に対して行う。
なお、図7には、画像形成装置70の保護紙文書の生成に関連する機能を示すが、画像形成装置70は、保護紙文書の生成に関連しない他の図示しない機能を備えていてよい。例えば、画像形成装置70は、保護されていない紙文書について、保護紙文書を生成することなくコピー又はスキャンする機能を備えていてよい。また例えば、クライアント端末などからの印刷指示を受けて、保護されていない電子文書を印刷する機能を備えていてもよい。
以上、マスタ側ネットワーク1が備える各装置について説明した。以下、スレーブ側ネットワーク2が備える各装置について説明する。
スレーブ側ネットワーク2が備えるユーザ認証サーバ40は、マスタ側ネットワーク1のユーザ認証サーバ30と同様のサーバであってよい。マスタ側ネットワーク1及びスレーブ側ネットワーク2それぞれのユーザ認証サーバ30,40には、保護文書の利用を制御する対象のユーザに関する情報をそれぞれ登録しておく。
図9は、スレーブセキュリティポリシーサーバ20の内部構成の概略の例を示すブロック図である。スレーブセキュリティポリシーサーバ20は、セキュリティポリシーDB200、文書情報DB202、セキュリティポリシー検索部204、保護文書登録部206、指示受付部208、セキュリティポリシー更新部210、セキュリティポリシー登録部212を備える。
セキュリティポリシーDB200は、セキュリティポリシーに関する情報を記憶するデータベースである。セキュリティポリシーDB200のデータ構造は、マスタセキュリティポリシーサーバ10のセキュリティポリシーDB100のデータ構造と同様である。
文書情報DB202は、保護文書に関する情報を記憶するデータベースである。文書情報DB202のデータ構造は、マスタセキュリティポリシーサーバ10の文書情報DB102のデータ構造と同様である。
セキュリティポリシー検索部204は、クライアント端末60及び画像形成装置80などの外部装置からのポリシー検索要求に応じて、保護文書の利用を望むユーザに対して当該保護文書に設定されたセキュリティポリシーにより許可される操作の種類を検索する。また、セキュリティポリシー検索部204は、利用される保護文書が文書情報DB202に登録されていなければ、保護文書登録部206に指示して当該保護文書の文書情報を登録させる。セキュリティポリシー検索部204は、さらに、利用される保護文書中のポリシー情報が表すセキュリティポリシーとセキュリティポリシーDB200に登録されたセキュリティポリシーとの比較の結果に応じて、セキュリティポリシー登録部212又はセキュリティポリシー更新部210に対して、登録処理又は更新処理の指示を出す。
保護文書登録部206は、セキュリティポリシー検索部204からの指示に従って、文書情報DB202に未登録の保護文書の文書情報を文書情報DB202に登録する処理を行う。
指示受付部208は、セキュリティポリシーDB200に登録されたセキュリティポリシーの更新についての管理者などによる指示を受け付ける。なお、本実施形態の例のスレーブセキュリティポリシーサーバ20では、管理者の指示に従ってセキュリティポリシーDB200にセキュリティポリシーを新規登録することはない。
セキュリティポリシー更新部210は、セキュリティポリシーDB200に登録済みのセキュリティポリシーの更新を行う。セキュリティポリシー更新部210は、例えば、指示受付部208を介して取得した指示に従って、マスタセキュリティポリシーサーバ10のセキュリティポリシー更新部108に関して上述した処理と同様に、セキュリティポリシーDB200中のセキュリティポリシーを更新する。スレーブセキュリティポリシーサーバ20のセキュリティポリシー更新部210は、さらに、セキュリティポリシー検索部204からの指示に従ってセキュリティポリシーの更新を行うこともある。
セキュリティポリシー登録部212は、セキュリティポリシー検索部204からの指示に従って、セキュリティポリシーDB200に未登録のセキュリティポリシーを登録する処理を行う。
図10を参照し、スレーブ側ネットワーク2のクライアント端末60について説明する。図10は、クライアント端末60の構成の概略の例を示すブロック図である。図10に例示するクライアント端末60は、入力受付部62、表示部64、及び保護文書利用アプリケーション66を備える。
入力受付部62及び表示部64は、それぞれ、マスタ側ネットワーク1のクライアント端末50に関して上記で説明した入力受付部52及び表示部54と同様のものであってよい。
保護文書利用アプリケーション66は、保護電子文書に対する各種の操作を行う。保護文書利用アプリケーション66は、制御部660、ユーザ認証部662、文書保持部664、文書情報・ポリシー情報保持部666、文書操作部668、及び印刷要求部670を備える。
制御部660は、保護文書利用アプリケーション66の各部の処理を制御する。制御部660は、また、表示部64に表示させる情報の内容を制御する。制御部660は、例えば、入力受付部62を介して保護電子文書に対する操作の指示をユーザから受けた場合に、スレーブセキュリティポリシーサーバ20に対してポリシー検索要求を行い、その検索結果に応じて、当該保護電子文書に対する操作の実行の可否を決定する。
ユーザ認証部662は、入力受付部62及び制御部660を介して取得したユーザID及び認証情報を用いてユーザ認証サーバに対してユーザ認証の要求を行い、この要求に応じてユーザ認証サーバから返される認証結果を制御部660に渡す。
文書保持部664は、操作の対象として指定された保護電子文書に含まれる文書本体を保持しておく一時記憶手段である。
文書情報・ポリシー情報保持部666は、操作の対象として指定された保護電子文書に含まれる文書情報及びポリシー情報を保持しておく一時記憶手段である。
文書操作部668は、保護電子文書に対する各種の操作を実行する。文書操作部668は、制御部660が保護電子文書に対する操作の実行を許可した場合にのみ当該操作を実行する。
印刷要求部670は、文書操作部668が保護電子文書の印刷を実行する場合に、画像形成装置に対して印刷要求を出す。
図11に、スレーブ側ネットワーク2の画像形成装置80の構成の概略の例を示す。図11に例示する画像形成装置80は、画像データ受付部81、入力受付部82、表示部84、印刷部86、及び保護文書利用機能88を備える。
画像データ受付部81、入力受付部82、表示部84、及び印刷部86は、それぞれ、マスタ側ネットワーク1の画像形成装置70に関して上記で説明した画像データ受付部71、入力受付部72、表示部74、及び印刷部76と同様のものであってよい。
保護文書利用機能88は、例えば、保護電子文書の印刷、保護紙文書のスキャン、及び保護紙文書のコピーなど、保護文書に対する操作を行う。保護文書利用機能88は、制御部880、ユーザ認証部882、文書情報・ポリシー情報デコード部884、画像保持部886、文書情報・ポリシー情報保持部888、保護電子文書生成部890、及び保護紙文書生成部892を備える。
制御部880は、保護文書利用機能88の各部の処理を制御する。制御部880は、また、表示部84に表示させる情報の内容を制御する。制御部880は、例えば、処理対象の保護文書についてスレーブセキュリティポリシーサーバ20に対してポリシー検索要求を行い、その検索結果に応じて、当該保護文書に対する操作の実行の可否を決定する。
ユーザ認証部882は、入力受付部82及び制御部880を介して取得したユーザID及び認証情報を用いてユーザ認証サーバ40に対してユーザ認証の要求を行い、この要求に応じてユーザ認証サーバ40から返される認証結果を制御部880に渡す。
文書情報・ポリシー情報デコード部884は、保護紙文書をスキャナ(図示しない)で読み取って得られる画像データに含まれる文書情報及びポリシー情報を表す符号を処理して、文書情報及びポリシー情報の内容を取得する。
画像保持部886は、保護文書中の文書本体の画像データを保持しておく一時記憶手段である。
文書情報・ポリシー情報保持部888は、保護文書中の文書情報及びポリシー情報を保持しておく一時記憶手段である。
保護電子文書生成部890は、スキャナで読み取られた保護紙文書に対応する保護電子文書を生成する。
保護紙文書生成部892は、保護紙文書をコピーした結果の保護紙文書、又は、保護電信文書を印刷した結果の保護紙文書を生成する処理を行う。
以下、文書管理システムの動作について説明する。
図12は、マスタ側ネットワーク1のクライアント端末50において実行される保護電子文書生成処理の手順の例を示すフローチャートである。クライアント端末50が備える文書保護アプリケーション56の制御部560は、例えば、保護されていない電子文書を指定した保護電子文書作成指示を、入力受付部52を介してユーザから受けた場合に、図12に例示する手順の処理を開始する。
まず、ユーザ認証処理が行われる(ステップS10)。例えば、制御部560は、ユーザID及びパスワードの入力を促す情報を表示部に表示させ、ユーザが入力したユーザID及びパスワードを、入力受付部52を介して取得し、ユーザ認証部562にユーザ認証処理を実行させる。ユーザ認証部562は、入力受付部52及び制御部560を介して取得したユーザID及びパスワードを含む認証要求をユーザ認証サーバ30に対して行い、ユーザ認証サーバ30からの認証結果を制御部560に渡す。
ユーザ認証に失敗すれば(ステップS12でNO)、以降の処理を行うことなく図12の手順の処理を終了する。ユーザ認証に成功すると(ステップS12でYES)、制御部560は、保護対象の電子文書を取得する(ステップS14)。例えば、保護電子文書作成指示で指定された電子文書を図示しない記憶装置から取得する。制御部560は、取得した保護対象の電子文書を文書保持部564に記憶させる。
次に、制御部560は、マスタセキュリティポリシーサーバ10から設定可能なセキュリティポリシーの一覧を取得し、取得した一覧を表示部54に表示させることでユーザに提示する(ステップS16)。ステップS16では、制御部560は、例えば、マスタセキュリティポリシーサーバ10に対してセキュリティポリシーの一覧を要求する。この要求に応じて、マスタセキュリティポリシーサーバ10のセキュリティポリシー一覧応答部110は、セキュリティポリシーDB100に登録されたセキュリティポリシーのうち、有効であるもの(図3の例の表の無効化フラグが「FALSE」であるもの)の一覧をクライアント端末50に返す。ステップS16で、制御部560は、保護電子文書作成指示を行ったユーザのユーザIDとともにマスタセキュリティポリシーサーバ10に対する要求を行ってもよい。この例では、マスタセキュリティポリシーサーバ10のセキュリティポリシー一覧応答部110は、当該ユーザIDに応じて応答の内容を変更する。例えば、保護文書の作成を許可されたユーザのリストをマスタセキュリティポリシーサーバ10の記憶装置(図示しない)に予め記憶しておき、クライアント端末50から受け取ったユーザIDが当該リストに含まれている場合にのみセキュリティポリシーの一覧を返すものとしてよい。あるいは、例えば、セキュリティポリシーDB100において、各セキュリティポリシーについて、当該セキュリティポリシーを設定した保護文書の作成が許可されているユーザのリストを記憶しておき、クライアント端末50から受け取ったユーザIDのユーザが設定可能なセキュリティポリシーの一覧を返してもよい。
マスタセキュリティポリシーサーバ10から取得されて表示部54に表示されたセキュリティポリシーの一覧から、ユーザは、保護対象の電子文書に設定するセキュリティポリシーを選択する。制御部560は、入力受付部52を介して、ユーザによるセキュリティポリシーの選択指示を取得する(ステップS18)。
制御部560は、保護電子文書生成部566に対して、ユーザの選択指示で指定されたセキュリティポリシーを渡すとともに、保護電子文書の生成を指示する。この指示を受けた保護電子文書生成部566は、文書ID生成部568に対し、新規な文書IDの生成を依頼する。この依頼に応じて文書ID生成部568は文書IDを生成し(ステップS20)、生成した文書IDを保護電子文書生成部566に渡す。
そして、保護電子文書生成部566は、文書ID生成部568から取得した文書ID、制御部560から受け取ったセキュリティポリシーのポリシーID、作成指示を行ったユーザのユーザID(作成者ID)、及び現在時刻(作成日時)を登録処理部570に渡す。登録処理部570は、保護電子文書生成部566から受け取った情報をマスタセキュリティポリシーサーバ10に対して送信するとともに、保護文書の登録要求を行う(ステップS22)。この登録要求に応じて、マスタセキュリティポリシーサーバ10の保護文書登録部112は、文書情報DB102において、当該登録要求に含まれる情報を各項目の値として有するレコードを新規登録する。
次に、保護電子文書生成部566は、予め定められた暗号鍵を用いて、文書保持部564に保持された保護対象の電子文書を暗号化する(ステップS24)。そして、暗号化された電子文書を文書本体とし、文書情報(文書ID、作成者ID、及び作成日時)及び制御部560から取得したセキュリティポリシーの内容であるポリシー情報を含む保護電子文書を生成する(ステップS26)。例えば、図4の例の表の2行目のレコードに対応する保護電子文書が生成された場合、その保護電子文書は、文書情報として、文書ID「40ffaaa4-0fb6-4634-85bf-bba45bc941b5」、作成者ID「fx12345」、及び作成日時「2007年1月20日10:00」を含み、ポリシー情報として、図3の例の表のポリシーID「0001」のレコードが表す情報を含む。制御部560は、保護電子文書生成部566が生成した保護電子文書を、例えば、図示しない記憶装置に記憶させる。ステップS26が終了すると図12の例の手順の処理は終了する。
次に図13を参照し、マスタ側ネットワーク1の画像形成装置70において実行される保護紙文書生成処理の手順の例を説明する。図13において、図12の例のフローチャートと同様の処理ステップには同様の符号を付す。画像形成装置70が備える文書保護機能78の制御部780は、例えば、画像形成装置70の自動原稿送り装置(図示しない)又はスキャナの原稿読み取り用のプラテン(図示しない)に保護されていない紙文書が配置された状態で、保護紙文書作成指示を、入力受付部72を介してユーザから受けた場合に、図13に例示する手順の処理を開始する。
図13を参照し、ユーザ認証処理(ステップS10)及びユーザ認証の成否の判定(ステップS12)は、図12における同一符号の処理ステップと同様に行われる。
ユーザ認証が失敗した場合(ステップS12でNO)、以降の処理を行わずに処理を終了する。
ユーザ認証が成功した場合(ステップS12でYES)、制御部780は、画像データ受付部71に対して、保護されていない紙文書のスキャナによる読み取りを行うよう指示し、画像データ受付部71から当該紙文書を読み取った画像データを取得する(ステップS30)。制御部780は、取得した画像データを画像保持部784に記憶させる。
そして、保護紙文書生成部786、文書ID生成部788、及び登録処理部790は、図12のステップS16〜ステップS22について説明した処理と同様に、設定可能ポリシーの一覧提示(ステップS16)、ポリシー指定受付(ステップS18)、文書ID生成(ステップS20)、及び保護文書登録要求(ステップS22)を行う。その後、保護紙文書生成部786は、文書情報及びポリシー情報を機械可読コードに変換する(ステップS32)。
その後、保護紙文書生成部786は、印刷部76に対して、文書情報及びポリシー情報を表す機械可読コードと画像保持部784に保持された画像データとを用紙に印刷することを指示し、この指示に従って印刷部76が印刷を行うことで、保護紙文書が生成される(ステップS34)。ステップS34が終了すると、図13の例の手順の処理は終了する。
図12の例の手順の処理により生成された保護電子文書及び図13の例の手順の処理で生成された保護紙文書は、それぞれ、スレーブ側ネットワーク2のクライアント端末60及び画像形成装置80で利用される。保護文書の利用は、クライアント端末60又は画像形成装置80からの要求に応じて当該保護文書に関してスレーブセキュリティポリシーサーバ20が行うポリシー検索処理の結果に応じて制限される。
図14及び図15を参照し、スレーブ側ネットワーク2のスレーブセキュリティポリシーサーバ20が実行するポリシー検索処理の手順の例を説明する。ポリシー検索処理は、例えば、クライアント端末60又は画像形成装置80で利用される保護文書に設定されたセキュリティポリシーに関する情報について問い合わせる要求(ポリシー検索要求)を、クライアント端末60又は画像形成装置80からスレーブセキュリティポリシーサーバ20が受けた場合に行われる。以下の説明において、ポリシー検索要求は、保護文書の利用を望むユーザのユーザID、当該保護文書中の文書情報、及び当該保護文書中のポリシー情報を含むものとする。
ポリシー検索要求を受けたスレーブセキュリティポリシーサーバ20のセキュリティポリシー検索部204は、図14に例示する手順の処理を開始する。
図14を参照し、まず、セキュリティポリシー検索部204は、ポリシー検索要求から、ユーザID、文書情報、及びポリシー情報を抽出する(ステップS40)。そして、抽出した文書情報に含まれる文書IDのレコードを文書情報DB202から検索する(ステップS42)。この検索に成功すると(ステップS44でYES)、セキュリティポリシー検索部204は、文書情報DB202からの検索結果のレコード中のポリシーIDを対象ポリシーIDとして設定する(ステップS46)。
ステップS42の検索に失敗すると(ステップS44でNO)、セキュリティポリシー検索部204は、ポリシー検索要求から抽出した文書情報(文書ID、作成者ID、作成日時)とポリシー検索要求から抽出したポリシー情報中のポリシーIDとを保護文書登録部206に渡すとともに、これらの情報を含むレコードを文書情報DB202に登録することを指示する。この指示を受けた保護文書登録部206は、文書情報DB202において新規にレコードを生成し、セキュリティポリシー検索部204から受け取った文書情報及びポリシーIDを、新規生成したレコードの各項目(図4参照)の値として設定する(ステップS48)。その後、セキュリティポリシー検索部204は、ポリシー検索要求から抽出したポリシー情報に含まれるポリシーIDを対象ポリシーIDとして設定する(ステップS50)。
ステップS46又はステップS50で対象ポリシーIDが設定されると、セキュリティポリシー検索部204は、対象ポリシーIDのレコードをセキュリティポリシーDB200から検索する(ステップS52)。ステップS52の後、処理は図15のステップS54に進む。
図15を参照し、図14のステップS52の検索に成功すると(ステップS54でYES)、セキュリティポリシーDB200からの検索結果のレコードの無効化フラグの値を判定する(ステップS56)。無効化フラグの値が「TRUE」に設定されていれば(ステップS56でNO)、ポリシー検索結果を「NULL(なし)」に設定する(ステップS68)。無効化フラグの値が「FALSE」に設定されていれば(ステップS56でYES)、セキュリティポリシーDB200において対象ポリシーIDのレコードの内容を更新するか否かを決定する(ステップS58)。この決定は、例えば、セキュリティポリシーDB200からの検索結果のレコードの更新日時と、ポリシー検索要求から抽出したポリシー情報に含まれる更新日時と、を比較することで行う。ポリシー検索要求から抽出したポリシー情報の更新日時の方が新しい場合は、セキュリティポリシーDB200の該当レコードを更新することを決定し、そうでない場合は更新しないことを決定する。
対象ポリシーIDのレコードの更新を行わないことを決定すると(ステップS58でNO)、セキュリティポリシー検索部204は、セキュリティポリシーDB200からの検索結果のレコードの内容を対象ポリシー情報として設定する(ステップS60)。
対象ポリシーIDのレコードの更新を行うことを決定すると(ステップS58でYES)、セキュリティポリシー検索部204は、ポリシー検索要求から抽出したポリシー情報をセキュリティポリシー更新部210に渡すとともに、該当するレコードの更新を指示する。この指示を受けたセキュリティポリシー更新部210は、セキュリティポリシーDB200において、対象ポリシーIDのレコードの各項目の値を、セキュリティポリシー検索部204から取得したポリシー情報(つまり、ポリシー検索要求から抽出されたポリシー情報)に含まれる値に書き換えることで、該当するレコードの更新を行う(ステップS70)。その後、セキュリティポリシー検索部204は、ポリシー検索要求から抽出したポリシー情報を対象ポリシー情報として設定する(ステップS74)。
以上、セキュリティポリシーDB200からの対象ポリシーIDのレコードの検索(図14のステップS52)に成功した場合(ステップS54でYES)の処理手順を説明した。対象ポリシーIDのレコードの検索に失敗した場合は(ステップS54でNO)、セキュリティポリシー検索部204は、ポリシー検索要求から抽出したポリシー情報をセキュリティポリシー登録部212に渡すとともに、このポリシー情報に対応するレコードをセキュリティポリシーDB200に登録することを指示する。この指示を受けたセキュリティポリシー登録部212は、セキュリティポリシーDB200において新規レコードを生成し、新規レコードの各項目の値を、セキュリティポリシー検索部204から受け取ったポリシー情報に含まれる値に設定する(ステップS72)。その後、セキュリティポリシー検索部204は、ポリシー検索要求から抽出したポリシー情報を対象ポリシー情報として設定する(ステップS74)。
ステップS60又はステップS74で対象ポリシー情報が設定されると、セキュリティポリシー検索部204は、ポリシー検索要求から抽出したユーザID(以下、要求者IDと呼ぶ)のユーザに対する許諾機能リストを生成する(ステップS62)。
ステップS62で、セキュリティポリシー検索部204は、例えば、対象ポリシー情報に含まれる利用範囲のうち、要求者IDに該当するものを検索する。例えば、対象ポリシー情報が図3の例の表のポリシーID「0001」のセキュリティポリシーである場合、対象ポリシー情報には、利用範囲として、「所属組織名:ソフトウエア開発部」、「開発委託先:UserA,UserB」、及び「作成者」が設定されている。この例において、要求者IDのユーザが「ソフトウエア開発部」に所属し、かつ、要求者IDが作成者IDと異なる場合、利用範囲「所属組織名:ソフトウエア開発部」が検索される。このとき、要求者IDのユーザの所属グループに関する情報は、例えば、ユーザ認証サーバに問い合わせて取得すればよい。対象ポリシー情報の利用範囲から要求者IDに該当するものを検索すると、検索された利用範囲に関連づけられた有効期間を確認し、現在時刻が当該有効期間内であるか否かを判定する。例えば、ポリシー検索要求から抽出した文書情報に含まれる作成日時から現在時刻までの経過時間が有効期間として設定された期間内であるか否かを判定すればよい。有効期間内であれば、検索された利用範囲に関連づけられた許諾機能リストを、要求者IDのユーザに対する許諾機能リストとする。ポリシーID「0001」である対象ポリシー情報から利用範囲「所属組織名:ソフトウエア開発部」が検索される上述の例では、ポリシー検索要求中の文書情報の作成日時から、対応する有効期間「180日間」内であれば、当該利用範囲に対応する許諾機能リスト(「電子文書の閲覧」、「電子文書の印刷」、及び「紙文書のコピー」)を要求者IDに対する許諾機能リストとする。
ステップS62で、要求者IDに該当する利用範囲が対象ポリシー情報から検索されなかった場合、又は、検索された利用範囲の有効期間が経過している場合は、要求者IDに対する許諾機能リストをNULLに設定する。
ステップS62で、要求者IDに該当する利用範囲が対象ポリシー情報に複数含まれる場合は、例えば、有効期間内である利用範囲のそれぞれに関連づけられた許諾機能リストに含まれる操作の種類のすべてを含むリストを要求者IDに対する許諾機能リストとする。例えば、対象ポリシー情報のポリシーIDが「0001」であり、要求者IDが作成者IDと同一であり、かつ、要求者IDのユーザが「ソフトウエア開発部」に所属している場合、該当する利用範囲「所属組織名:ソフトウエア開発部」及び「作成者」のそれぞれに関連づけられた許諾機能リストに含まれる操作の種類のすべて(電子文書の閲覧・編集・印刷、紙文書のコピー・スキャン)を含むリストを要求者IDに対する許諾機能リストとする。他の例では、該当する複数の利用範囲に関連づけられた許諾機能リストについて、AND条件で統合したリストを要求者IDに対する許諾機能リストとしてもよい。例えば、ポリシーID「0001」の対象ポリシー情報で要求者IDに該当する利用範囲が「所属組織名:ソフトウエア開発部」及び「作成者」の2つである上述の例の場合、2つの利用範囲のそれぞれに関連づけられた許諾機能リストの両方に含まれる操作の種類(「電子文書の閲覧」、「電子文書の印刷」、及び「紙文書のコピー」)を要求者IDに対する許諾機能リストとしてもよい。
セキュリティポリシー検索部204は、ステップS62で生成した許諾機能リストをポリシー検索結果として設定する(ステップS64)。
ステップS64又はステップS68でポリシー検索結果を設定すると、セキュリティポリシー検索部204は、ポリシー検索要求の要求元のクライアント端末60又は画像形成装置80に対して、ポリシー検索結果を返す(ステップS66)。ステップS66の後、ポリシー検索処理は終了する。
図16は、スレーブ側ネットワーク2のクライアント端末60において、保護電子文書に対する操作を実行する場合に行われる処理の手順の例を示すフローチャートである。クライアント端末60の保護文書利用アプリケーション66の制御部660は、例えば、入力受付部62を介して、保護電子文書を指定した操作指示をユーザから受けた場合に、図16に例示する手順の処理を開始する。
図16を参照し、ユーザ認証処理(ステップS10)及びユーザ認証の成否の判定(ステップS12)は、図12及び図13のステップS10,S12と同様に行われる。
ユーザ認証が失敗した場合(ステップS12でNO)、エラー処理(ステップS92)を行って処理を終了する。エラー処理では、制御部660は、例えば、ユーザ認証に失敗した旨を表示部64に表示させる。
ユーザ認証が成功した場合(ステップS12でYES)、制御部660は、操作対象として指定された保護電子文書を取得する(ステップS80)。そして、制御部660は、保護電子文書から文書情報及びポリシー情報を抽出し、抽出した文書情報及びポリシー情報と、操作指示を行ったユーザのユーザIDと、を含むポリシー検索要求をスレーブセキュリティポリシーサーバ20に対して行う(ステップS82)。これに応じて、スレーブセキュリティポリシーサーバ20では、図14及び図15を参照して説明したポリシー検索処理が行われる。そして、制御部660は、スレーブセキュリティポリシーサーバ20から返されるポリシー検索結果を取得し(ステップS84)、ユーザからの操作指示で指定された操作の種類がポリシー検索結果に含まれるか否かを判定することで、その操作の実行の可否を決定する(ステップS86)。
指定された操作の種類がポリシー検索結果に含まれていれば、操作の実行を許可することを決定し(ステップS86でYES)、制御部660は、予め定められた復号鍵を用いて、保護電子文書に含まれる暗号化された文書本体を復号し、その結果のデータを文書保持部664に記憶させる(ステップS88)。また、制御部660は、保護電子文書に含まれる文書情報及びポリシー情報を文書情報・ポリシー情報保持部666に記憶させる。そして、制御部660は、文書操作部668に対して指定された操作の実行を指示し、文書操作部668は、当該操作を実行する(ステップS90)。
ステップS90で実行される操作の例を以下で説明する。例えば、指定された操作が閲覧であれば、文書操作部668は、文書保持部668に保持された復号済みの文書本体を表示部64に表示させる。編集操作の実行を指示された場合、文書操作部668は、文書保持部668に保持された文書本体を表示部64に表示させるとともに、入力受付部62及び制御部660を介してユーザによる編集を受け付けて、文書保持部664に保持された文書本体において受け付けた編集内容を反映させる。さらに、編集の後に入力受付部62及び制御部660を介してユーザから保護電子文書の「保存」を指示されると、文書操作部668は、文書保持部664内の文書本体のデータを予め定められた暗号鍵で暗号化する。そして、その暗号化後のデータを文書本体として含み、かつ、文書情報・ポリシー情報保持部666に保持された文書情報及びポリシー情報を含む保護電子文書を生成する。
また例えば、指示された操作の種類が印刷である場合、ステップS90で、文書操作部668は、文書保持部664に保持された文書本体と、文書情報・ポリシー情報保持部666に保持された文書情報及びポリシー情報と、を印刷要求部670に渡し、印刷要求部670は、渡された文書本体、文書情報、及びポリシー情報を含む印刷要求を画像形成装置80に対して行う。この印刷要求を受けた画像形成装置80において、保護文書利用機能88の制御部880は、印刷要求中の文書情報及びポリシー情報を文書情報・ポリシー情報デコード部884により機械可読コードに変換し、かつ、印刷要求中の文書本体の画像データを画像保持部886に渡した上で、保護紙文書生成部892に保護紙文書の生成を指示する。保護紙文書生成部892は、印刷部86に対し、画像保持部886に保持された画像データと、機械可読コードに変換された文書情報及びポリシー情報と、を用紙に印刷する指示を出し、この指示に従って印刷部86は印刷を実行する。これにより、クライアント端末60からの印刷要求に従って保護電子文書を印刷した結果の保護紙文書が生成される。
図16の例のフローチャートの説明に戻り、ステップS86で、指定された操作の種類がポリシー検索結果に含まれていなければ、制御部660は、操作の実行を許可しないことを決定し(ステップS86でNO)、エラー処理(ステップS92)を行って処理を終了する。ここでのエラー処理では、例えば、指定された操作の実行が許可されていない旨を表す情報が表示部64に表示される。
以上、図16を参照して説明した保護電子文書の利用に関する処理では、ユーザが保護電子文書の印刷操作を指示した場合に、クライアント端末60において印刷操作の実行の可否を決定する。他の例では、保護電子文書の印刷操作が指示された場合に、クライアント端末60ではなく画像形成装置80で印刷操作の実行の可否を決定してもよい。本例の場合、クライアント端末60が備える保護文書利用アプリケーション66の制御部660は、例えば、図16の例の手順の処理において、操作対象の保護電子文書の取得(ステップS80)の後に、指示された操作の種別が印刷であるか否かを判定し、印刷であれば、印刷要求部670を制御して、操作対象(印刷対象)の保護電子文書と印刷指示を行ったユーザのユーザIDとを含む印刷要求を画像形成装置80に対して行う。この印刷要求に応じて、画像形成装置80が備える保護文書利用機能88の制御部880は、印刷要求に含まれる保護電子文書及びユーザIDを用いて、図16の例の手順のステップS82,S84と同様に、スレーブセキュリティポリシーサーバ20に対するポリシー検索要求及びそのポリシー検索結果の取得を行う。そして、取得したポリシー検索結果である許諾機能リストに印刷操作が含まれていれば、制御部880は、印刷要求中の保護電子文書の暗号化された文書本体の復号処理と、文書情報・ポリシー情報デコード部884による文書情報及びポリシー情報の機械可読コードへの変換と、を行った上で、保護紙文書生成部892を制御して印刷を実行する。ポリシー検索結果に印刷操作が含まれていなければ、制御部880は、印刷操作を実行しない。なお、本例において、クライアント端末60において指示された操作の種別が印刷でない場合は、クライアント端末60の保護文書利用アプリケーション66で図16の例の手順のステップS82以降の処理が行われる。
図17は、スレーブ側ネットワーク2の画像形成装置80において、保護紙文書に対する操作を実行する場合に行われる処理の手順の例を示すフローチャートである。図17において、図16の例のフローチャートと同様の処理ステップには同様の符号を付す。画像形成装置80が備える保護文書利用機能88の制御部は、例えば、画像形成装置80の自動原稿送り装置(図示しない)又はスキャナの原稿読み取り用プラテン(図示しない)に保護紙文書が配置された状態で、操作指示(ここでは、コピー指示又はスキャン指示)をユーザから入力受付部82を介して受けた場合に、図17に例示する手順の処理を開始する。
図17を参照し、ユーザ認証処理(ステップS10)及びユーザ認証の成否の判定(ステップS12)は、図16のステップS10,S12と同様に行われる。
ユーザ認証が失敗した場合(ステップS12でNO)、エラー処理(ステップS92)を行って処理を終了する。
ユーザ認証が成功した場合(ステップS12でYES)、制御部880は、画像データ受付部81に対して、保護紙文書のスキャナによる読み取りを行うよう指示し、画像データ受付部81から当該保護紙文書を読み取った画像データを取得する(ステップS100)。そして、取得した画像データから、文書情報を表す機械可読コード及びポリシー情報を表す機械可読コードを抽出し、抽出した機械可読コードを文書情報・ポリシー情報デコード部884にデコードさせて、文書情報及びポリシー情報の内容を取得する(ステップS102)。取得された文書情報及びポリシー情報は、文書情報・ポリシー情報保持部888に記憶される。また、保護紙文書を読み取った画像データ中の文書本体に想到する部分は、画像保持部886に記憶される。
デコードに失敗すると(ステップS104でNO)、エラー処理(ステップS92)の後、処理を終了する。
デコードに成功すると(ステップS104でYES)、取得された文書情報及びポリシー情報と、操作指示を行ったユーザのユーザIDと、を含むポリシー検索要求をスレーブセキュリティポリシーサーバ20に対して行う(ステップS82)。その後、図16の例のステップS84,S86と同様に、ポリシー検索結果を取得して(ステップS84)、操作実行の可否を決定する(ステップS86)。
操作実行を許可しないことを決定すると(ステップS86でNO)、エラー処理(ステップS92)を行って処理を終了する。
操作実行を許可することを決定すると(ステップS86でYES)、制御部880は、指定された操作の種類を判定する(ステップS106)。
操作の種類がスキャンであれば、制御部880は、保護電子文書生成部890に保護電子文書の生成を指示する。この指示を受けた保護電子文書生成部890は、画像保持部886に保持されたデータを予め定められた暗号鍵で暗号化する(ステップS108)。そして、この暗号化されたデータを文書本体として含み、かつ、文書情報・ポリシー情報保持部888に保持された文書情報及びポリシー情報を含む保護電子文書を生成する(ステップS110)。これにより、スキャナで読み取られた保護紙文書に対応する保護電子文書が生成される。生成された保護電子文書は、例えば、スキャン操作の指示を出したユーザが利用可能な情報処理装置(図示しない)が備える記憶装置(図示しない)に記憶される。
操作の種類がコピーであれば、制御部880は、保護紙文書生成部892に保護紙文書の生成を指示する。この指示を受けた保護紙文書生成部892は、文書情報・ポリシー情報保持部888に保持された文書情報及びポリシー情報を機械可読コードに変換する(ステップS112)。そして、文書情報及びポリシー情報の機械可読コードと共に画像保持部886に保持されたデータを印刷することを印刷部86に指示し、この指示に従って印刷部86が印刷処理を実行することで、保護紙文書が生成される(ステップS114)。これにより、スキャナで読み取られた保護紙文書のコピーである保護紙文書が生成される。
以上、図14〜図17を参照して説明した処理の例では、スレーブセキュリティポリシーサーバ20は、保護文書の利用を望むユーザに対して許可されている操作の種類のリストをクライアント端末60又は画像形成装置80に対して送信し、操作の実行の可否の決定は、クライアント端末60又は画像形成装置80で行われる。他の例では、スレーブセキュリティポリシーサーバ20で操作の実行の可否を決定してクライアント端末60又は画像形成装置80に返してもよい。本例の場合、クライアント端末60又は画像形成装置80は、ユーザから指示された操作の種類をさらに含むポリシー検索要求をスレーブセキュリティポリシーサーバ20に送信し、スレーブセキュリティサーバ20は、受信した操作の種類とポリシー検索結果(図15のステップS64,S68で取得)とに基づいて操作の実行の可否を決定する。
以上で説明した実施形態の例によると、保護文書自体が当該文書に対して設定されたセキュリティポリシーの内容を含む。スレーブ側ネットワーク2では、保護文書の生成において参照されたマスタセキュリティポリシーサーバ10のセキュリティポリシーDB100にアクセスすることなく、その保護文書に含まれるセキュリティポリシーを用いて、その保護文書の利用を制限する。また、スレーブセキュリティポリシーサーバ20において、保護文書から抽出したセキュリティポリシーをセキュリティポリシーDB200に登録する。保護文書から抽出されたセキュリティポリシーがスレーブセキュリティポリシーサーバ20のセキュリティポリシーDB200に登録された後は、そのセキュリティポリシーに関連づけられた保護文書の利用制限は、セキュリティポリシーDB200に登録されたセキュリティポリシーを参照して行われる。したがって、例えば、セキュリティポリシーDB200において、あるポリシーIDのセキュリティポリシーを無効化すると(無効化フラグを「TRUE」に設定すると)、そのポリシーIDに関連づけられた保護文書の利用は許可されなくなる(図15のステップS56,S68参照)。また例えば、セキュリティポリシーDB200において、あるポリシーIDのセキュリティポリシーが更新されると、そのポリシーIDに関連づけられた保護文書であって更新前のセキュリティポリシーの内容を含む保護文書について、セキュリティポリシーDB200に登録された更新後のセキュリティポリシーに従って利用制限が行われる(図14のステップS52,図15のステップS54,S56,S58,S60参照)。
一方、上述の実施形態の例のシステムにおいて、スレーブセキュリティポリシーサーバ20のセキュリティポリシーDB200に登録済みのセキュリティポリシーの内容について、マスタセキュリティポリシーサーバ10において更新が行われ、更新後の内容のセキュリティポリシーを含む保護文書が生成されることも起こり得る。この場合、更新後のセキュリティポリシーを含む保護文書をスレーブ側ネットワーク2で利用するときには、当該保護文書に関連づけられたポリシーIDのセキュリティポリシーDB200中のレコードの更新時刻と、当該保護文書に含まれるセキュリティポリシーの更新時刻と、を比較すると当該保護文書に含まれる更新時刻の方が新しいことから、セキュリティポリシーDB200の該当レコードを更新することが決定される(図15のステップS58でYES)。そして、セキュリティポリシーDB200の当該ポリシーIDのレコードが当該保護文書に含まれるセキュリティポリシーの内容に更新され(図15のステップS70)、当該保護文書の利用制限において、当該保護文書に含まれる更新後のセキュリティポリシーが用いられる(図15のステップS74,S62〜S66)。
上述の実施形態の例では、保護文書は、当該文書に設定されたセキュリティポリシーだけを表すポリシー情報を含む。他の例では、保護文書は、当該文書に設定されたセキュリティポリシーだけでなく、マスタセキュリティポリシーサーバ10のセキュリティポリシーDB100におけるセキュリティポリシーの更新を表す情報をさらに含んでいてもよい。例えば、マスタセキュリティポリシーサーバ10は、保護文書に対して設定可能なセキュリティポリシーの一覧をクライアント端末50又は画像形成装置70に送信するときに、前回のセキュリティポリシーの一覧の送信時刻から現在時刻までの間にセキュリティポリシーDB100において更新されたセキュリティポリシーの内容も共に送信する。そして、クライアント端末50又は画像形成装置70において、文書に設定するセキュリティポリシーを含むポリシー情報に加えて、更新されたセキュリティポリシーの内容を表すポリシー更新情報を含む保護文書を生成する。このような保護文書をスレーブ側ネットワーク2のクライアント端末60又は画像形成装置80において利用する際には、クライアント端末60又は画像形勢装置80は、上述のポリシー検索要求と共に、保護文書中のポリシー更新情報をスレーブセキュリティポリシーサーバ20に送信する。ポリシー更新情報を受信したスレーブセキュリティポリシーサーバ20は、そのポリシー更新情報に従って、セキュリティポリシーDB200を更新する。
また、上述の実施形態の例では、利用範囲で表される操作主体に対して許可される操作の種類を許諾機能リストとして設定するセキュリティポリシーを用いる。セキュリティポリシーの設定の他の例では、本システムで保護文書に対して実行される操作の種類のすべてについて、それぞれ、許可又は禁止を明示的に設定しておいてもよい。あるいは、例えば、セキュリティポリシーにおいて、操作主体に対して禁止される操作の種類のリストを設定しておき、このリストに含まれない種類の操作の実行を許可するものとしてもよい。
また、上述の実施形態の例では、セキュリティポリシーの有効性を表す情報として、「TRUE」及び「FALSE」のいずれかの値を取る無効化フラグを用いる。他の例では、セキュリティポリシーの有効性を表す情報として、「有効」、「無効」、及び「一時停止(復帰可能な無効化)」の3種類の状態を表す変数を用いてもよい。この例では、一旦「無効」に設定されたセキュリティポリシーが「有効」に変更されることはないが、「一時停止」に設定されたセキュリティポリシーは、再び「有効」に設定され得る。
なお、以上の説明では、保護文書の生成が行われるマスタ側ネットワーク1に含まれる各装置は保護文書の利用に関する機能を含まず、保護文書の利用が行われるスレーブ側ネットワーク2に含まれる各装置は保護文書の生成に関する機能を含まない。2つの分離したネットワークのそれぞれにおいて、保護文書の生成に関する機能と利用に関する機能との両方を備える装置を設けてもよい。例えば、各ネットワークにおいて、上述のマスタセキュリティポリシーサーバ10の各部の機能とスレーブセキュリティポリシーサーバ20の各部の機能とを備えるセキュリティポリシーサーバ、上述の文書保護アプリケーション56と保護文書利用アプリケーション66とを備えるクライアント端末、及び、上述の文書保護機能78と保護文書利用機能88とを備える画像形成装置を設ける。本例の場合、2つのネットワークのそれぞれにおいて、セキュリティポリシーの新規作成・登録が行われ、そのセキュリティポリシーの設定された保護文書が生成される。そして、一方のネットワークで生成された保護文書の他方のネットワークでの利用が相互に行われる。
以上で説明した各種のサーバ(マスタセキュリティポリシーサーバ10、スレーブセキュリティポリシーサーバ20、ユーザ認証サーバ30,40)、及びクライアント端末50,60は、典型的には、汎用のコンピュータにて上述の各装置の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図18に示すように、CPU(中央演算装置)90、メモリ(一次記憶)91、各種I/O(入出力)インタフェース92等がバス93を介して接続された回路構成を有する。また、そのバス93に対し、例えばI/Oインタフェース92経由で、HDD(ハードディスクドライブ)94やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ95が接続される。このようなドライブ94又は95は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク経由で、HDD94等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
1 マスタ側ネットワーク、2 スレーブ側ネットワーク、10 マスタセキュリティポリシーサーバ、20 スレーブセキュリティポリシーサーバ、30,40 ユーザ認証サーバ、50,60 クライアント端末、52,62,72,82 入力受付部、54,64,74,84 表示部、56 文書保護アプリケーション、66 保護文書利用アプリケーション、70,80 画像形成装置、71,81 画像データ受付部、76,86 印刷部、78 文書保護機能、88 保護文書利用機能、90 CPU、91 メモリ、92 I/Oインタフェース、93 バス、94 HDD、95 ディスクドライブ、100,200 セキュリティポリシーDB、102,202 文書情報DB、104,208 指示受付部、106 セキュリティポリシー作成部、108,210 セキュリティポリシー更新部、110 セキュリティポリシー一覧応答部、112,206 保護文書登録部、204 セキュリティポリシー検索部、212 セキュリティポリシー登録部、500 保護電子文書、700 保護紙文書。