(57)【要約】【課題】  文書印刷のセキュリティ設定に関して、機器のセキュリティに関する知識が必要である、一つ一つの機器にセキュリティを設定する必要がある、全体のセキュリティ状態が把握できない、実際の文書のセキュリティが守られているかが実感できない、などの問題を解決することを目的とする。【解決手段】  ドキュメントファイルの印刷を行うユーザの属性を取得する手段と、上記ドキュメントファイルの属性を取得する手段と、取得した上記ユーザおよび上記ドキュメントファイルの属性に基づき、印刷許否および印刷要件を規定したセキュリティポリシーを検索して印刷要件を取得する手段と、取得した上記印刷要件を印刷時に強制する手段とを備えるドキュメント印刷装置により構成される。【選択図】  図１
2004152263.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメントファイルの印刷を行うユーザの属性を取得する手段と、
上記ドキュメントファイルの属性を取得する手段と、
取得した上記ユーザおよび上記ドキュメントファイルの属性に基づき、印刷許否および印刷要件を規定したセキュリティポリシーを検索して印刷要件を取得する手段と、
取得した上記印刷要件を印刷時に強制する手段とを備えたことを特徴とするドキュメント印刷装置。
【請求項２】
上記セキュリティポリシーを上記ドキュメント印刷装置内部に有する請求項１に記載のドキュメント印刷装置。
【請求項３】
サーバ上に配置した上記セキュリティポリシーを参照する請求項１に記載のドキュメント印刷装置。
【請求項４】
上記セキュリティポリシーを参照し、上記ドキュメントファイルの印刷処理を実行するドキュメント印刷プログラムを備えた請求項３に記載のドキュメント印刷装置。
【請求項５】
ドキュメント印刷プログラムは、
暗号化された上記ドキュメントファイルの復号鍵を取得する手段と、
取得した上記復号鍵に基づいて上記ドキュメントファイルを復号する手段と、
上記印刷要件をネットワークを介してサーバから取得する手段と、
取得した上記印刷要件を満たす印刷処理を実行させる手段とを有する請求項４に記載のドキュメント印刷装置。
【請求項６】
上記ドキュメントファイルの属性を上記ドキュメントファイルと関連付けて登録するセキュリティ属性データベースをサーバに備えた請求項５に記載のドキュメント印刷装置。
【請求項７】
上記ドキュメントファイルの属性は文書カテゴリと機密レベルとを含み、上記ユーザの属性はカテゴリとレベルとを含む請求項６に記載のドキュメント印刷装置。
【請求項８】
上記ドキュメントファイルを暗号化した暗号鍵に相当するパラメータをネットワークを介してサーバから取得し、このパラメータから復号鍵を導出する請求項５に記載のドキュメント印刷装置。
【請求項９】
内部で保持もしくは生成したパラメータを上記復号鍵の生成に利用する請求項８に記載のドキュメント印刷装置。
【請求項１０】
上記ドキュメントファイルに含まれるパラメータを上記復号鍵の生成に利用する請求項８または９のいずれか一項に記載のドキュメント印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書に関するセキュリティポリシーに基づき印刷を行うドキュメント印刷装置に関する。
【背景技術】
【０００２】
オフィスに代表されるような文書（ドキュメント）を扱うフィールドでは、その文書のセキュリティをコントロールしたいという要望は常に存在する。現実に多くの企業では文書管理規定などを設け、セキュリティをコントロールしようとしている。しかし、実際のオフィスシステムにおけるセキュリティの確保については、文書についてのセキュリティではなく、オフィスシステムを構成するさまざまな機器に関して、個別にセキュリティ設定を行う必要がある。文書に関するセキュリティポリシーに基づいて印刷を行う方法に関する従来技術としては、以下のものが挙げられる。
【０００３】
特許文献１では、データファイルへのアクセスに対応するポリシー、その評価を行う手段に加えて、ポリシーに条件が記述してあって、その条件をクリアにするための執行手段がある場合にはそれを執行することで評価を行うアクセス制御システムの技術が開示されている。
【０００４】
特許文献２では、ポリシー、システム、制御手段から構成されていて、それぞれの組み合わせを登録してあるデータベースから制御手段を抽出して、システムをポリシーにあうように制御する手段、その状態を監査する手段を有するセキュリティ管理システムの技術が開示されている。
【特許文献１】特開２００１−１８４２６４号公報
【特許文献２】特開２００１−２７３３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
オフィスシステムを構成するさまざまな機器に関して、個別にセキュリティの設定を行う方法では、さまざまな機器のセキュリティに関する知識が必要であり、すべての機器にセキュリティを一つ一つ設定する必要がある上、全体がどのようなセキュリティ状態になっているのかが把握しにくく、個々の機器の設定ができていても、実際に文書のセキュリティが守られていることが実感できないなどの問題がある。
【０００６】
特許文献１に開示されている技術は、データファイルへのアクセス制御システムであって、アクセス後のデータの処理、特に印刷などには言及されていない。
【０００７】
また、特許文献２に開示されている技術において、そして、システムをポリシーにあうように制御する手段を監査する手段では、システムに対して登録された制御手段で制御するだけであり、実現の自由度が低いという問題がある。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、文書印刷のセキュリティ設定に関して、機器のセキュリティに関する知識が必要である、一つ一つの機器にセキュリティを設定する必要がある、全体のセキュリティ状態が把握できない、実際の文書のセキュリティが守られているかが実感できない、などの問題を解決することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明のドキュメント印刷装置は、ドキュメントファイルの印刷を行うユーザの属性を取得する手段と、上記ドキュメントファイルの属性を取得する手段と、取得した上記ユーザおよび上記ドキュメントファイルの属性に基づき、印刷許否および印刷要件を規定したセキュリティポリシーを検索して印刷要件を取得する手段と、取得した上記印刷要件を印刷時に強制する手段とを備えるようにしている。
【００１０】
これにより、印刷時におけるセキュリティ対策を強制することができる。
【００１１】
また、上記セキュリティポリシーを上記ドキュメント印刷装置内部に有するものとすることができる。これにより、ドキュメント印刷装置と一体にセキュリティポリシーを管理することができる。
【００１２】
また、サーバ上に配置した上記セキュリティポリシーを参照するようにすることができる。これにより、多数のドキュメント印刷装置が設置された環境においてもセキュリティポリシーを一元的に管理することができる。
【００１３】
また、上記セキュリティポリシーを参照し、上記ドキュメントファイルの印刷処理を実行するドキュメント印刷プログラムを備えるようにすることができる。これにより、印刷時のセキュリティーに関する処理を一括に行わせることができる。
【発明の効果】
【００１４】
本発明によれば、文書印刷のセキュリティ設定に関して、機器のセキュリティに関する知識は不必要となり、一つ一つの機器にセキュリティを設定する必要をなくすことができる。
【００１５】
また、全体のセキュリティ状態を把握することができ、実際の文書のセキュリティが守られているかを実感することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【００１７】
なお、以下の説明では「プリンタ」という用語を用いているが、これは狭義のプリンタ専用機に限らず、コピー、ファクシミリ、これらの複合・融合された機器等、すなわち印刷機能を有するあらゆる機器を意味するものである。
【００１８】
〔第１の実施形態〕
図１は本発明を好適に実施した第１の実施形態にかかるプリンタの内部構成を示す図である。
【００１９】
図１において、プリンタ１は、電子的に記述されたセキュリティポリシー２と、印刷処理を実行する印刷部３と、ドキュメントの印刷を要求したユーザの属性（カテゴリ、セキュリティレベル）を取得するユーザ属性取得部４と、印刷対象ドキュメントの属性（カテゴリ、セキュリティレベル）を取得する文書属性取得部５とを含んでいる。印刷指示部６はユーザの要求に基づいて印刷指示を行うとともに、ユーザおよびドキュメントの属性をプリンタ１に通知する部分である。
【００２０】
セキュリティポリシー２は、例えば図２に示すような文書で表現されたものを電子的に記述したものである。
【００２１】
図３はＸＭＬ（eXtensible Markup Language）により記述したセキュリティポリシー２の例を示したものである。
【００２２】
図３に示したセキュリティポリシー２は、前半において、ドキュメントのカテゴリに関わりなく（<doc_category>ANY</doc_category>）、ドキュメントのセキュリティレベルがｂａｓｉｃの時は（<doc_security_level>basic</doc_security_level>）、ユーザのカテゴリにかかわりなく（<user_category>ANY</user_category>）、ユーザのセキュリティレベルに関わりなく（<user_security_level>basic</user_security_level>）、印刷は要件なく許可する（<name>print</name><allowed/>）、という条件を表している。
【００２３】
また、後半において、ドキュメントのカテゴリにかかわりなく（<doc_category>ANY</doc_category>）、ドキュメントのセキュリティレベルがｈｉｇｈのときは（<doc_security_level>high</doc_security_level>）、ユーザのカテゴリがドキュメントのカテゴリと同じで（<user_category>DOC-CATEGORY</user_category>）、ユーザのセキュリティレベルに関わりなく（<user_security_level>basic</user_security_level>）、印刷は、ログを記録することと、追跡可能な情報を埋め込むことの要件を満たすときに許可する（<name>print</name><requirement>audit</requirement><requirement>embed_trace_info</requirement>）、という条件を表している。
【００２４】
以下、図１に基づいて第１の実施形態の動作を説明する。
【００２５】
印刷にあたり、ユーザの要求に基づいて印刷指示部６からプリンタ１にドキュメントの印刷指示が出されると、ユーザ属性取得部４は印刷指示部６からユーザのカテゴリ、セキュリティレベルを取得し、印刷部３に通知する。文書属性取得部５は印刷指示部６からドキュメントのカテゴリ、セキュリティレベルを取得し、印刷部３に通知する。そして、印刷部３はユーザ属性取得部４と文書属性取得部５とから与えられたユーザおよびドキュメントのカテゴリとセキュリティレベルとからセキュリティポリシー２の対応するエントリを検索し、印刷時に強制する要件（印刷要件）を抽出する。
【００２６】
図３に示したセキュリティポリシー２に基づくならば、例えばセキュリティレベルが「ｂａｓｉｃ」のドキュメントを印刷しようとしていれば、要件はない。例えばセキュリティレベルが「ｈｉｇｈ」のドキュメントを印刷しようとしていれば、要件として「ログを記録すること」と「追跡可能な情報を埋め込むこと」が要件となる。
【００２７】
要件がない場合、印刷部３はドキュメントの印刷を行って終了する。例えば上記の例でセキュリティレベルが「ｂａｓｉｃ」の場合に該当する。要件がある場合、印刷部３はその要件をすべて満たすことができるかを判定する。すべての要件を満たすことができない場合は、ユーザに通知をして、印刷をせずに終了する。すべての要件を満たすことができる場合は、その要件を満たして印刷を行い終了する。例えば上記の例でセキュリティレベルが「ｈｉｇｈ」の場合に該当する。すなわち、ログを記録し、追跡可能な情報の埋め込み（電子透かし、バーコードの追加など）を行って、印刷を行い終了する。
【００２８】
印刷要件には、電子透かしやバーコードの追加、通常とは異なる紙への印刷、ログを記録する等がある。例えば、電子透かしは、一般には音楽や画像などのデジタルデータに著作物に関する情報等を埋め込む場合に用いられる技術である。バーコードと同様、電子透かしを用いて、ドキュメントへ情報を埋め込むことができる。通常とは異なる紙とは、通常時に印刷する白紙の用紙ではない、特別な紙のことである。つまり、通常の白紙と区別をつけることができる紙であって、例えば色紙などがある。
【００２９】
以上の動作によって、予め定めたセキュリティポリシー２に基づく印刷要件をドキュメントの印刷時において自動的に強制することができる。この場合、文書印刷のセキュリティ設定に関して、機器のセキュリティに関する知識は不必要である。一つ一つの機器にセキュリティを設定する必要もない。さらに、全体のセキュリティ状態を把握させることができ、実際の文書のセキュリティが守られていることをユーザに実感させることができる。
【００３０】
〔第２の実施形態〕
図４は本発明を好適に実施した第２の実施形態にかかるドキュメント保護・印刷システムの構成を示す図である。
【００３１】
本実施形態にかかるドキュメント保護・印刷システムは、配布者端末４０１、ユーザ端末４０２、プリンタ４０３およびアクセスコントロールサーバ４０４を有する。
【００３２】
配布者端末４０１およびユーザ端末４０２は、表示装置（例えば、ＬＣＤ）、入力装置（例えば、キーボード）、外部記録装置（例えば、ＦＤＤ、ＨＤＤ）などを備えたコンピュータ端末を適用できる。なお、配布者端末４０１にはドキュメント保護プログラム４１１が、プリンタ４０３にはドキュメント印刷プログラム４２１がそれぞれ実装されている。
【００３３】
ドキュメント保護プログラム４１１は、ドキュメントファイルに配布者端末４０１の使用者（配布者）の入力操作に応じた処理要件を設定するとともに、暗号化アルゴリズム（ＲＣ４、Ｔｒｉｐｌｅ  ＤＥＳ、ＩＤＥＡなど）を用いてドキュメントファイルを暗号化し、保護ドキュメントを生成する処理を行うプログラムである。図５はドキュメント保護プログラム４１１の構成例を示したものであり、暗号化部４１１ａと暗号鍵取得部４１１ｂと属性付与部４１１ｃと属性登録部４１１ｄとを含んでいる。各部の機能については後の動作において説明する。
【００３４】
ドキュメント印刷プログラム４２１は、ユーザ端末４０２の使用者（ユーザ）からの印刷要求時に、保護ドキュメントを復号するとともに設定されている印刷要件に応じた印刷処理をプリンタ４０３に実行させる処理を行うプログラムである。図６はドキュメント印刷プログラム４２１を有したプリンタ４０３の構成例を示したものであり、ドキュメント印刷プログラム４２１は復号部４２１ａと復号鍵取得部４２１ｂと印刷要件取得部４２１ｃと印刷処理部４２１ｄとを含んでおり、プリントエンジン４０３ａに印刷データを渡すようになっている。また、図７は図６における印刷処理部４２１ｄの構成例を示したものであり、要件処理部４２１ｅとドキュメント加工部４２１ｆとプリンタドライバ４２１ｇと警告表示部４２１ｈとログ記録部４２１ｉとを含んでいる。各部の機能については後の動作において説明する。
【００３５】
図４に戻り、アクセスコントロールサーバ４０４は、ユーザがドキュメントを印刷しようとする場合に、プリンタ４０３内のドキュメント印刷プログラム４２１からの要求に応じて自身が記録保持しているセキュリティポリシー４４４を参照し、ドキュメントを印刷する権限があるか否か、印刷要件がどのように設定されているかを取得するサーバである。図８はアクセスコントロールサーバ４０４の構成例を示したものであり、属性ＤＢ登録部４０４ａとユーザ認証部４０４ｂとアクセス権限確認部４０４ｃと印刷要件取得送付部４０４ｄとを含んでいる。各部の機能については後の動作において説明する。
【００３６】
なお、配布者の入力操作に応じてドキュメント保護プログラム４１１がドキュメントファイルに設定する印刷要件の例としては、地紋印刷（Background Dot Pattern：以下、ＢＤＰという）、機密印刷（Private Access：以下、ＰＡＣという）、電子透かし（Digital Watermark：以下、ＤＷＭという）の付加、バーコード付加（Embedding Barcode：以下、ＥＢＣという）、機密ラベルスタンプ（Security Label Stamp：以下、ＳＬＳという）などが挙げられる。
【００３７】
図９に、アクセスコントロールサーバ４０４に登録されるセキュリティポリシー４４４の例を示す。組織におけるセキュリティポリシーは、ドキュメントに対して機密レベル（Sensitivity）および分野（Category）を設定した上で、ドキュメントに対するアクセスを許可するユーザの階級（Level）や部門（Category）およびその印刷要件を設定したものである。図９では、例えば、カテゴリが「技術（Technical）」で機密レベルが「マル秘（Secret）」のドキュメントファイルは、カテゴリが「技術（Technical）」で階級が「中（Medium）」又は「上（High）」のユーザに対して、閲覧は許可するがＲＡＤを要件とすること、印刷を許可するがＰＡＣとＢＤＰとＥＢＣとＲＡＤとを要件とすること、および、ハードコピーは許可しないことが規定されている。
【００３８】
アクセスコントロールサーバ４０４は、セキュリティポリシー４４４のデータをどのような形で記録保持していても構わない。なお、ＸＭＬを用いれば、図１０に示すように、簡単に記述できる。
【００３９】
図４に戻り、アクセスコントロールサーバ４０４には、ユーザ各人の認証用の情報（ユーザ名とパスワードとの組）が格納されたユーザデータベース４４１と、各保護ドキュメントにどのようなセキュリティ属性が設定されているかを示す情報およびその保護ドキュメントを復号するための暗号鍵が関連付けられて登録されるセキュリティ属性データベース４４３とが接続されている。
【００４０】
図１１に、ユーザデータベース４４１に登録される情報の例を示す。
【００４１】
図１１においてはユーザごとにカテゴリと階級とを別々の属性として管理する構造としているが、たとえば、Windows（Ｒ）Domainのユーザ管理機構を利用してユーザを管理するような場合には、グループアカウントとしてTechnical_Mediumのようなものを生成し、Ichiroというユーザをそのグループに所属させるようにしてもよい。所属グループの命名規則をこのように設定しておくことで、カテゴリと階級とを管理することが可能となる。
【００４２】
次に、本実施形態にかかるドキュメント保護・印刷システムの動作について説明する。最初に、システム全体の動作について説明する。
【００４３】
配布者は、配布者端末４０１を操作してこれにドキュメントファイルを実装しておく。例えば、入力装置を用いて配布者がドキュメントファイルを作成してもよいし、外部記録装置を用いて情報記録媒体に記録されたドキュメントファイルを読み取らせても良い。
【００４４】
ドキュメントファイルにセキュリティを設定する場合、配布者は配布者端末４０１の入力装置を操作してドキュメントファイルをドキュメント保護プログラム４１１に受け渡す。ドキュメントファイルを取得したドキュメント保護プログラム４１１は、セキュリティ属性の設定を配布者に要求する。例えば、ドキュメント保護プログラム４１１は、配布者端末４０１の表示装置にメッセージを表示するなどして、セキュリティ属性の設定を要求する。図１２はセキュリティ属性の設定を要求する画面の例を示したものであり、文書カテゴリ（技術関連、人事関連等）および機密レベル（極秘、秘、社外秘、公開等）の設定がプルダウンメニュー等から選択することにより行えるようになっている。なお、図１２の画面では保護するドキュメントファイルを指定することもできるようになっている。なお、ここでのセキュリティ属性とは、保護しようとするドキュメントがセキュリティ属性データベース４４３に登録されているセキュリティ属性のうちのいずれに該当するかを示す情報である。
【００４５】
配布者が配布者端末４０１の入力装置を介してドキュメントファイルにセキュリティ属性を設定すると、ドキュメント保護プログラム４１１はこれを取得する。
【００４６】
セキュリティ属性を取得したドキュメント保護プログラム４１１は、ドキュメントファイルごとに固有のドキュメントＩＤを生成し、復号に使用する暗号鍵とセキュリティ属性とをこれに関連付けてアクセスコントロールサーバ４０４へ送信し、登録する。
【００４７】
また、ドキュメント保護プログラム４１１は、暗号鍵を用いて暗号化したドキュメントファイルに対してドキュメントＩＤを付加して保護ドキュメントを生成する。
【００４８】
配布者は、ドキュメント保護プログラム４１１が生成した保護ドキュメントをユーザに受け渡す。
【００４９】
ユーザがドキュメントを印刷しようとする場合には、ユーザ端末４０２に保護ドキュメントを実装する。例えば、情報記録媒体に記録された保護ドキュメントを外部記録装置を用いてユーザ端末４０２に読み取らせても良いし、ユーザ端末４０２が配布者端末４０１と通信可能である場合には、通信網を介して配布者端末４０１から保護ドキュメントを取得するようにしてもよい。
【００５０】
ユーザが、ユーザ端末４０２の入力装置を介してプリンタ４０３に対して印刷を指示すると、プリンタ４０３内のドキュメント印刷プログラム４２１は、ユーザを認証するために必要となるユーザ名とパスワードの入力をユーザ端末４０２を介してユーザに要求する。例えば、ドキュメント印刷プログラム４２１は、ユーザ端末４０２の表示装置にメッセージを表示するなどして、ユーザ名とパスワードの入力を要求する。図１３はユーザ名（ユーザＩＤ）とパスワードを要求する画面の例を示したものであり、キーボード等によって入力が行えるようになっている。
【００５１】
ドキュメント印刷プログラム４２１は、ユーザから入力されたユーザ名とパスワードとをアクセスコントロールサーバ４０４へ送信して、ユーザ認証を要求する。
【００５２】
アクセスコントロールサーバ４０４は、ドキュメント印刷プログラム４２１から受け渡されたユーザ名とパスワードとを用いてユーザ認証を行い、ユーザを特定する。
【００５３】
ユーザを特定すると、アクセスコントロールサーバ４０４は、セキュリティ属性データベース４４３を参照し、保護ドキュメントに設定されているセキュリティ属性の種類を特定する。
【００５４】
アクセスコントロールサーバ４０４は、ユーザデータベース４４１から取得したユーザの階級を示す情報および、ドキュメントに設定されているセキュリティ属性とに基づいて、ドキュメントを印刷する権限がユーザにあるか否かや、ユーザがドキュメントファイルを印刷する際にはどのような印刷要件が設定されているのかを取得する。
【００５５】
ユーザにドキュメントファイルを印刷する権限がある場合、アクセスコントロールサーバ４０４は、印刷が許可されていることを示す許可情報とともに、保護ドキュメントを復号するための暗号鍵とユーザがドキュメントファイルを印刷する際の印刷要件とをドキュメント印刷プログラム４２１に受け渡す。
【００５６】
アクセスコントロールサーバ４０４から許可情報とともに、暗号鍵と印刷要件とを取得したドキュメント印刷プログラム４２１は、暗号鍵を用いて保護ドキュメントを復号してドキュメントファイルに復元する。
【００５７】
そしてドキュメント印刷プログラム４２１は、印刷要件を満たすようにプリンタ４０３のプリントエンジン４０３ａに印刷処理を実行させる。例えば、ドキュメントファイルにＢＤＰが印刷要件として設定されている場合には、ドキュメントの内容とともに地紋画像を印刷する。
【００５８】
これにより、ドキュメントファイルを印刷する際に、予め設定されたセキュリティ属性に応じた印刷要件を強制することが可能となる。
【００５９】
なお、ユーザが印刷要件について意識していない場合があると共に、印刷要件によっては特定のプリンタでないと処理できないものもあるため、印刷の実行前にその旨の情報がユーザに提供されることが望ましい。図１４はユーザ端末４０２の表示装置上に表示される確認画面の例を示したものであり、印刷要件と利用できるプリンタとが表示され、使用するプリンタを選択することができるようになっている。
【００６０】
ここで、ドキュメントを保護する際のドキュメント保護プログラム４１１およびアクセスコントロールサーバ４０４の動作、および保護ドキュメントをドキュメントファイルに復元して印刷する際のドキュメント印刷プログラム４２１およびアクセスコントロールサーバ４０４の動作についてさらに詳しく説明する。
【００６１】
図１５に、ドキュメント保護プログラム４１１が保護ドキュメントを生成する際の処理を示す。また、図１６に、ドキュメント保護プログラム４１１およびアクセスコントロールサーバ４０４の動作の流れを示す。
【００６２】
ドキュメント保護プログラム４１１は、配布者端末４０１の入力装置における配布者の入力操作によってドキュメントファイルとそのセキュリティ属性とを取得すると、ドキュメントファイルを暗号化および復号するための暗号鍵を生成する。そして、ドキュメント保護プログラム４１１は、生成した暗号鍵を用いてドキュメントファイルを暗号化して、暗号化ドキュメントを生成する。
【００６３】
さらに、ドキュメント保護プログラム４１１は、ドキュメントファイルごとに固有のドキュメントＩＤを暗号化ドキュメントに添付して保護ドキュメントを生成する。
【００６４】
保護ドキュメントを生成した後、ドキュメント保護プログラム４１１は、配布者端末４０１の通信機能を用いて、暗号鍵とセキュリティ属性とドキュメントＩＤとをアクセスコントロールサーバ４０４へ送信し、これらの登録をアクセスコントロールサーバ４０４に要求する。
【００６５】
暗号鍵とセキュリティ属性とドキュメントＩＤとをドキュメント保護プログラム４１１から受け渡されたアクセスコントロールサーバ４０４は、これらを一つのレコードとしてセキュリティ属性データベース４４３に記録保持する。
【００６６】
上記の動作を図５および図８に基づいてさらに詳しく説明する。
【００６７】
まず、図５において、ドキュメント保護プログラム４１１の暗号化部４１１ａは、配布者から引き渡されたドキュメントファイルに対し、暗号鍵取得部４１１ｂが生成した暗号鍵を用いて暗号化を行い、この暗号化ドキュメントを属性付与部４１１ｃに渡す。
【００６８】
属性付与部４１１ｃはドキュメントＩＤを生成し、暗号化部４１１ａから渡された暗号化ドキュメントにドキュメントＩＤを付与して保護ドキュメントとして出力する。
【００６９】
また、属性登録部４１１ｄは配布者からセキュリティ属性を受け取るとともに、暗号鍵取得部４１１ｂから暗号鍵を、属性付与部４１１ｃからドキュメントＩＤをそれぞれ受け取り、アクセスコントロールサーバ４０４に対してこれらのドキュメントＩＤ、暗号鍵、セキュリティ属性を渡して登録を要求する。
【００７０】
次いで、図８において、アクセスコントロールサーバ４０４の属性ＤＢ登録部４０４ａは、渡されたドキュメントＩＤ、暗号鍵、セキュリティ属性をセキュリティ属性データベース４４３に登録する。
【００７１】
なお、ドキュメント保護プログラム４１１がドキュメントＩＤを生成して暗号化ドキュメントに添付する場合を例に挙げたが、ＳＨＡ−１などのハッシュアルゴリズムを用いて暗号化ドキュメントファイルを生成した場合には、そのハッシュ値をドキュメントＩＤの代わりに用いてもよい。この場合は、保護ドキュメントにドキュメントＩＤを添付する必要はなく、後でドキュメントＩＤを取得したい時は、再度ハッシュ値を計算すれば良い。
【００７２】
また、上記の例においてはドキュメントＩＤの生成や暗号鍵の生成をドキュメント保護プログラム４１１が行う場合を示したが、これらの処理はアクセスコントロールサーバ４０４や不図示のサーバなどで行っても良い。
【００７３】
また、配布者端末４０１とアクセスコントロールサーバ４０４との間が専用回線ではなくネットワーク網を介して接続されており、暗号鍵など送信する際に盗聴される懸念がある場合には、ＳＳＬ（Secure Socket Layer）を用いて通信を行えばよい。
【００７４】
ドキュメント保護プログラム４１１がアクセスコントロールサーバ４０４と通信する際のプロトコルは、どのようなものを用いてもよい。例えば、分散オブジェクト環境を導入し、Ｊａｖａ（Ｒ）ＲＭＩ（Remote Method Invocation）やＳＯＡＰ（Simple Object Access Protocol）をベースとして情報を送受信するようにしても良い。その場合、アクセスコントロールサーバ４０４は、例えば「register(String docId, byte[] key, byte[] acl)」のようなメソッドを実装するようにしてもよい。ＳＯＡＰであれば、ＨＴＴＰＳの上でＳＯＡＰプロトコルをやりとりし、ＲＭＩであればＳＳＬベースのSocketFactoryを用いてＲＭＩを実行するようにすれば、ネットワーク上でのセキュリティを確保することができる。
【００７５】
次に、ドキュメント印刷プログラム４２１が保護ドキュメントを印刷する際の動作について説明する。図１７に、ドキュメント印刷プログラム４２１およびアクセスコントロールサーバ４０４の動作の流れを示す。
【００７６】
プリンタ４０３内のドキュメント印刷プログラム４２１は、ユーザ端末４０２の入力装置におけるユーザの入力操作によって保護ドキュメントとユーザ名とパスワードとを取得すると、保護ドキュメントに添付されているドキュメントＩＤを取得する。
【００７７】
そして、ユーザ名とパスワードとドキュメントＩＤとアクセスタイプ（ユーザが要求する処理を示す情報。ここでは、保護ドキュメントを印刷しようとするので、“print”となる。）とをアクセスコントロールサーバ４０４へ送信して、アクセス権限があるか否かのチェックを要求する。なお、図１８はアクセスコントロールサーバ４０４へのＳＯＡＰによる問い合わせの例を示す図であり、ユーザ名（userId）とドキュメントＩＤ（docId）とアクセスタイプ（accessType）とを渡してアクセスが許可されているかを問い合わせるＳＯＡＰメッセージ（isAllowed）を送付し、その結果（isAllowedResponse）を受け取っている例である。結果には、許可されているということ（allowedがtrue）と要件（requirements）とが含まれている。
【００７８】
アクセスコントロールサーバ４０４は、ドキュメント印刷プログラム４２１からユーザ名とパスワードとドキュメントＩＤとアクセスタイプとを取得すると、ユーザデータベース４４１に登録されている情報を参照し、ユーザ認証を行う。
【００７９】
換言すると、アクセスコントロールサーバ４０４は、ユーザデータベース４４１に登録されている情報を参照し、ドキュメント印刷プログラム４２１から取得した情報に含まれるユーザ名とパスワードとの組と一致するものが、ユーザデータベース４４１に登録されているか否かを判断する。
【００８０】
ユーザ認証に失敗した場合（換言すると、ドキュメント印刷プログラム４２１から受け渡された情報に含まれるユーザ名とパスワードとを組としたものがユーザデータベース４４１に登録されていない場合）、アクセスコントロールサーバ４０４は、許可情報を「不許可」としてプリンタ４０３内のドキュメント印刷プログラム４２１へ受け渡す。なお、この場合は「エラー」とした許可情報をドキュメント印刷プログラム４２１へ受け渡すようにしてもよい。
【００８１】
一方、ユーザ認証に成功した場合、アクセスコントロールサーバ４０４は、セキュリティ属性データベース４４３に登録されているレコードのうち、ドキュメント印刷プログラム４２１から取得した情報に含まれるドキュメントＩＤに関するレコードを読み出す。また、アクセスコントロールサーバ４０４は、ユーザデータベース４４１からユーザの「階級」および「部門」を取得する。
【００８２】
アクセスコントロールサーバ４０４は、読み出したレコードに基づいてドキュメントファイルに設定されているセキュリティ属性（すなわち、機密レベルおよびカテゴリ）を取得する。そして、自身が記録保持しているセキュリティポリシー４４４とレコードから読み出したセキュリティ属性に基づいて、ユーザがドキュメントに対してアクセスタイプで示される処理を行う場合の可否を示す許可情報とユーザがドキュメントを印刷する際の印刷要件を取得する。
【００８３】
ユーザにドキュメントファイルを印刷する権限がある場合は、セキュリティポリシー４４４として設定されている許可情報は「許可」であるため、アクセスコントロールサーバ４０４は、レコードに格納されていた暗号鍵と印刷要件とを許可情報とともにプリンタ４０３のドキュメント印刷プログラム４２１に受け渡す。
【００８４】
一方、ユーザにドキュメントファイルを印刷する権限がない場合は、セキュリティポリシー４４４として設定されている許可情報は「不許可」であるため、アクセスコントロールサーバ４０４は、許可情報のみをプリンタ４０３のドキュメント印刷プログラム４２１に受け渡す。
【００８５】
次いで、ドキュメント印刷プログラム４２１は、許可情報と共に取得した印刷要件を満足するようにプリンタドライバを設定し（例えば、ＰＡＣが指定されていれば機密印刷モードに設定する）、プリントエンジン４０３ａにドキュメントファイルの印刷処理を実行させる。
【００８６】
なお、必要があれば、表示装置にメッセージを表示するなどして、印刷パラメータの設定をユーザに要求するようにしてもよい。
【００８７】
アクセスコントロールサーバ４０４から取得した印刷要件を満足する印刷をプリンタ４０３では実行できない場合、換言すると、プリンタ４０３がセキュリティポリシー４４４として設定されていた印刷要件を満たす機能を備えていない場合には、その旨を示すメッセージを表示装置に表示させるなどしてユーザに通知し、印刷は行わずに処理を終了する。
【００８８】
上記の動作を図６〜図８に基づいてさらに詳しく説明する。
【００８９】
まず、図６において、プリンタ４０３内のドキュメント印刷プログラム４２１の復号鍵取得部４２１ｂはアクセスコントロールサーバ４０４に対してアクセス権の確認を行う。
【００９０】
確認の問い合わせを受けたアクセスコントロールサーバ４０４は、図８において、ユーザ認証部４０４ｂがユーザデータベース４４１を参照してユーザ認証を行い、認証結果をアクセス権限確認部４０４ｃに通知する。また、ユーザ認証に成功した場合、アクセス権限確認部４０４ｃがセキュリティ属性データベース４４３およびセキュリティポリシー４４４を参照して許可情報および復号鍵を取得するとともに、印刷要件取得送付部４０４ｄがセキュリティポリシー４４４から印刷要件を取得し、ドキュメント印刷プログラム４２１に通知する。なお、図８では許可情報、復号鍵および印刷要件を別々に返すようにしているが、これらを一度に返すようにしてもよい。
【００９１】
図６において、復号鍵取得部４２１ｂはアクセス権の確認ができた場合にアクセスコントロールサーバ４０４から復号鍵を得て、これを復号部４２１ａに渡す。また、印刷要件取得部４２１ｃはアクセスコントロールサーバ４０４から印刷要件を取得し、印刷処理部４２１ｄに渡す。
【００９２】
復号部４２１ａは復号鍵取得部４２１ｂから取得した復号鍵を用いて保護ドキュメントを復号し、ドキュメントファイルを得て印刷処理部４２１ｄに渡す。
【００９３】
次いで、図７において、印刷処理部４２１ｄの要件処理部４２１ｅは、受け取った印刷要件の内容に応じて複数の処理を行う。すなわち、前述したＢＤＰ、ＥＢＣ、ＳＬＳのようにドキュメントファイルそのものを加工する必要がある処理についてはドキュメント加工部４２１ｆに加工情報を与えてドキュメントファイルの加工を行わせ、加工済みのドキュメントファイルをプリンタドライバ４２１ｇに渡し、印刷データをプリントエンジン４０３ａに与えて印刷を行う。また、ＰＡＣのようにプリンタドライバに特別な設定を行う必要がある処理についてはプリンタドライバ４２１ｇに印刷設定を行う。さらに、ユーザに対して警告メッセージを表示する必要がある場合には警告表示部４２１ｈに警告メッセージを渡し、表示装置に表示を行わせる。また、印刷のログを残す必要がある場合にはログ記録部４２１ｉにログ情報を渡し、リモートサーバ等にログデータを登録させる。
【００９４】
以上の動作によって、ユーザごとに異なるアクセス権や印刷要件を設定することが可能となる。また、上記のように、サーバ側でドキュメントファイルに対するアクセス権を判断するシステム構成においては、アクセスコントロールサーバ４０４に登録されているセキュリティポリシー４４４を配布者端末４０１やアクセスコントロールサーバ４０４における入力操作によって変更できるようにしてもよく、この場合には、保護ドキュメントを配布したあとで印刷要件を変更したりすることが可能となる。
【００９５】
例えば、既に配布した保護ドキュメントに対するアクセス権限を新たなユーザに設定したり、特定のユーザに対して印刷要件を追加することなどが可能となる。
【００９６】
なお、ドキュメントファイルを印刷する際に、ドキュメント印刷プログラム４２１が必ずアクセスコントロールサーバ４０４に対してセキュリティポリシーを問い合わせる方式とすると、ユーザ数の増加に伴いアクセスコントロールサーバ４０４の情報処理量が増え、負担が大きくなってしまう。
【００９７】
このため、アクセスコントロールサーバ４０４の機能の一部をドキュメント印刷プログラム４２１に移行してもよい。
【００９８】
例えば、ドキュメント印刷プログラム４２１は、ユーザ認証を行った上で、ドキュメントＩＤをアクセスコントロールサーバ４０４へ受け渡すと、セキュリティポリシーと暗号鍵とセキュリティ属性とをアクセスコントロールサーバ４０４から取得し、これを基に許可情報や印刷要件を判断して処理するようにしてもよい。
【００９９】
このようにすれば、アクセスコントロールサーバ４０４の情報処理量を減らし、システム動作上の負担を軽減できる。この場合は、セキュリティポリシーに基づいた判断をドキュメント印刷プログラム４２１が行うため、ドキュメントにセキュリティ属性を添付した後に暗号化して暗号化ドキュメントとし、ドキュメントＩＤを添付して保護ドキュメントとすることが好ましい。これにより、セキュリティ属性をアクセスコントロールサーバ４０４で管理する必要がなくなり、システム動作上のアクセスコントロールサーバ４０４の負担をさらに軽減できる。
【０１００】
なお、本実施形態にかかるドキュメント保護・印刷システムが上記のような手法でドキュメントファイルを保護していることを知っている者は、ドキュメント印刷プログラム４２１に成りすますプログラムをコンピュータ端末に実行させて暗号鍵を不正に入手し、保護ドキュメントを復号することも可能ではある。この場合は、セキュリティポリシーとして設定されている印刷要件を強制されることなく、保護ドキュメントを印刷できてしまうこととなる。
【０１０１】
このため、単に暗号鍵のみを用いてドキュメントファイルを暗号化するのではなく、ドキュメント保護プログラム４１１の内部に埋め込まれた秘密鍵と暗号鍵とを合わせたもの（排他的論理和を取ったもの）でドキュメントファイルを暗号化することが好ましい。  この場合は、ドキュメント印刷プログラム４２１にも同一の秘密鍵を埋め込んでおくことで、配布者が設定した印刷要件を印刷時に強制するドキュメント印刷プログラム４２１のみが、保護ドキュメントを復号して印刷することが可能となる。
【０１０２】
図１９および図２０は上述したような内部に秘密鍵を埋め込んでおくタイプの構成例を示したものであり、図１９はドキュメント保護プログラム４１１の構成例を示し、図２０はドキュメント印刷プログラム４２１の構成例のうち復号に関係する部分のみを示している。なお、この例は、単に内部に秘密鍵を埋め込んでおくだけではなく、乱数を導入して不正アクセスに対しより強化している。
【０１０３】
図１９において、ドキュメント保護プログラム４１１は暗号化部４１１ａと暗号鍵取得部４１１ｂと属性付与部４１１ｃと属性登録部４１１ｄとパラメータ取得部４１１ｅとを含んでいる。
【０１０４】
動作にあっては、パラメータ取得部４１１ｅはパラメータ（kp）を生成し、暗号鍵取得部４１１ｂに渡す。なお、パラメータ（kp）はドキュメント保護プログラム４１１の内部に保持しておくか、要求があった場合に生成するようにする。
【０１０５】
暗号鍵取得部４１１ｂはパラメータ取得部４１１ｅからパラメータ（kp）を受け取った上で、二つの乱数（kd）（ks）を生成し、暗号鍵（k）を式k=H{ks,kp,kd}あるいはk=D{kd,D{ks,kp}}で計算して生成し、暗号鍵（k）を暗号化部４１１ａに、乱数（kd）を属性付与部４１１ｃに、乱数（ks）を属性登録部４１１ｄにそれぞれ渡す。なお、H{data1,data2,・・}はdata1,data2,・・のハッシュ値を計算することを意味し、D{data,key}はkeyでdataを復号することを意味している。
【０１０６】
暗号化部４１１ａは配布者から引き渡されたドキュメントファイル（doc）に対し、暗号鍵取得部４１１ｂから取得した暗号鍵（k）を用いて暗号化を行い、暗号化されたドキュメント（enc）を属性付与部４１１ｃに渡す。式で示せばenc=E{doc,k}となる。なお、E{data,key}はkeyでdataを暗号化することを意味している。
【０１０７】
次いで、属性付与部４１１ｃはドキュメントＩＤ（id）を生成し、暗号化されたドキュメント（enc）にそのドキュメントＩＤ（id）と暗号鍵取得部４１１ｂから渡された乱数（kd）を付与して保護ドキュメント（enc+id+kd）を出力する。また、属性付与部４１１ｃは生成したドキュメントＩＤ（id）を属性登録部４１１ｄに渡す。
【０１０８】
属性登録部４１１ｄは、属性付与部４１１ｃから渡されたドキュメントＩＤ（id）と暗号鍵取得部４１１ｂから渡された乱数（ks）と配布者から取得したセキュリティ属性（attr）とをアクセスコントロールサーバ４０４に通知し、登録を要求することになる。
【０１０９】
復号にあっては、図２０において、復号鍵取得部４２１ｂは保護ドキュメントから乱数（kd）を取得するとともに、パラメータ取得部４２１ｊからドキュメント印刷プログラム４２１の内部に保持してある、あるいは要求に応じて生成したパラメータ（kp）を取得し、さらにアクセスコントロールサーバ４０４から乱数（ks）を取得し、暗号化の場合と同様に式k=H{ks,kp,kd}あるいはk=D{kd,D{ks,kp}}で計算して復号鍵（暗号鍵）（k）を得る。
【０１１０】
そして、復号部４２１ａは暗号化されたドキュメント（enc）を復号鍵（k）で復号し、ドキュメントファイル（doc）を得る。
【０１１１】
図１９および図２０は、アクセスコントロールサーバ４０４に登録される乱数（ks）と保護ドキュメント内の乱数（kd）とドキュメント保護プログラム４１１もしくはドキュメント印刷プログラム４２１内から取得されるパラメータ（kp）とに基づいて暗号鍵（復号鍵）（k）を生成する方式であるが、こうすることでアクセスコントロールサーバ４０４が悪意のあるユーザによって不正アクセスされて乱数（ks）が知られてしまった場合であっても、乱数（kd）やパラメータ（kp）が知られなければ保護ドキュメントを復号できないことになる。なお、アクセスコントロールサーバ４０４が不正アクセスされないように十分にガードされている環境にあっては、乱数（ks）をそのまま暗号鍵（復号鍵）（k）として使用してもよい。
【０１１２】
一方、これまで説明してきた第２の実施形態では、印刷要件をアクセスコントロールサーバ４０４にのみ格納するものとしてきたが、そのような形式に限定されず、保護ドキュメントに含めるようにしてもよい。例えば、ユーザによらずドキュメントファイルに対して必ず指定するような印刷要件については保護ドキュメントの中に含めるようにしてもよい。
【０１１３】
図２１は、印刷要件を保護ドキュメントに含める第一印刷要件と、アクセスコントロールサーバ４０４に格納される第二印刷要件とに分けた場合のドキュメント印刷プログラム４２１の構成例を示したものであり、印刷要件取得部４２１ｃにおいてアクセスコントロールサーバ４０４から第二印刷要件を取得するとともに、復号部４２１ａにおいて保護ドキュメントから第一印刷要件を取得し、第一印刷要件および第二印刷要件に基づいて印刷処理部４２１ｄで印刷処理を行うようにしている。その他は図６に示したドキュメント印刷プログラム４２１と同様である。
【０１１４】
また、本実施形態においては、ドキュメント印刷プログラム４２１はドキュメントファイルの印刷に関する処理のみを行っているが、ユーザ端末４０２に対してドキュメントファイルの内容をユーザに提示したり、ドキュメントファイルを編集する機能を提供するものとしても良い。例えば、Adobe Acrobat（Ｒ）のPlug-inと連携してポータブルドキュメントファイル（Portable Document Format：ＰＤＦ File）の表示、編集および印刷の機能を実現することが可能である。
【０１１５】
このように、本実施形態にかかるドキュメント保護・印刷システムによれば、予めセキュリティポリシーとして設定されている印刷要件をドキュメントを印刷する際に強制することができる。
【０１１６】
図２２に、上記各実施形態において適用されるプリンタが備えるセキュリティ機能の一部を示す。これらについて第２の実施形態におけるシステム構成を例として具体的に説明する。
【０１１７】
まず、印刷要件としてＰＡＣが設定されている場合のドキュメント印刷プログラム４２１の動作について説明する。ＰＡＣが設定されている場合のドキュメント印刷プログラム４２１の動作を図２３に示す。
【０１１８】
（１）ドキュメント印刷プログラム４２１はＰＡＣが設定されているドキュメントファイルを印刷する際には、図２４に示すように、プリントダイアログを表示させた後に個人識別番号（Personal Identification Number：ＰＩＮ）を入力するダイアログをユーザ端末４０２の表示装置に表示させ、ユーザにＰＩＮの入力を要求する。
【０１１９】
（２）ユーザ端末４０２の入力装置を用いてユーザがＰＩＮを入力すると、ドキュメント印刷プログラム４２１は、これをプリンタドライバに設定し、印刷を指示する。
【０１２０】
プリンタドライバは、ドキュメントからPostscriptなどのＰＤＬ（Page Description Language）で記述された印刷データ（ＰＤＬデータ）を生成し、印刷部数や出力トレイなどの印刷ジョブ情報を記述したＰＪＬ（Print Job Language）データをＰＤＬデータの先頭に付加する。プリンタドライバはさらにＰＪＬデータの一部としてＰＩＮを付加し、そのＰＪＬデータ付きＰＤＬデータをプリントエンジン４０３ａに送る。
【０１２１】
プリントエンジン４０３ａは、ＰＪＬデータ付きＰＤＬデータを受け取るとＰＪＬデータの内容を参照し、機密印刷用のＰＩＮが含まれている場合は印刷出力せずにプリンタ４０３内部の記憶装置（ＨＤＤなど）にＰＪＬデータ付きＰＤＬデータを保存する。ユーザがＰＩＮをプリンタ４０３のオペレーションパネルを介して入力すると、プリンタ４０３は入力されたＰＩＮをＰＪＬデータに含まれるＰＩＮと照合し、一致すればＰＪＬデータに含まれていた印刷ジョブ条件（部数、トレイなど）を適用しながらＰＤＬデータに従って印刷出力する。
【０１２２】
（３）プリンタドライバにＰＩＮが設定できない、すなわち、プリンタ４０３が機密印刷をサポートしていない場合には、機密印刷をサポートしている別のプリンタを選択するようにユーザに通知し、ドキュメントを印刷せずに処理を終了する。
【０１２３】
このようにすることで、印刷実行後、プリンタ４０３のオペレーションパネルにおいて印刷実行前に入力したものと同一のＰＩＮが入力されるまでドキュメントのプリントアウトがプリンタ４０３から出力されなくなる。このため、ドキュメントのプリントアウトがプリンタ４０３に不用意に放置されることがなくなり、プリントアウトによるドキュメントの漏洩を防止することが可能となる。さらに、ネットワーク上を流れるプリントデータを盗聴されないようにプリンタ４０３とのやりとりをＳＳＬで保護してもよい。
【０１２４】
また、ドキュメント印刷プログラム４２１をWindows（Ｒ）Domainのユーザ管理と連動させて、ユーザに対してＰＩＮの入力を要求しないようにしてもよい。例えば、ＰＩＮをユーザに入力させるのではなく、Windows（Ｒ）Domainから現在ログオン中のユーザＩＤを取得し、プリントデータとともにユーザＩＤをプリンタ４０３へ送付するようにする。プリンタ４０３は、オペレーションパネルでユーザからのパスワード入力を受け、そのユーザＩＤとパスワードとでWindows（Ｒ）Domainのユーザ認証機構を用いてユーザ認証を行い、成功すればプリントアウトするようにしても良い。Windows（Ｒ）Domainに限定されず、予め導入されているユーザ管理と連動させることで、ユーザにとって面倒なＰＩＮ入力の手間を削減できる。
【０１２５】
次に、印刷要件としてＥＢＣが設定されている場合のドキュメント印刷プログラム４２１の動作について説明する。
【０１２６】
（１）ドキュメント印刷プログラム４２１は、ＥＢＣが設定されているドキュメントを印刷する際にドキュメントＩＤを示すバーコード画像データ（又は、二次元コード）のデータを生成する。
【０１２７】
（２）ドキュメント印刷プログラム４２１は、生成したバーコード画像データをスタンプ画像としてプリンタドライバにセットし、プリントエンジン４０３ａに印刷を指示する。
【０１２８】
（３）プリンタドライバにＥＢＣが設定できない、すなわち、プリンタ４０３がスタンプ機能をサポートしていない場合は、スタンプ機能をサポートしている他のプリンタを選択するようにユーザに通知し、印刷を行わずに処理を終了する。
【０１２９】
このようにすることで、ドキュメントのプリントアウトの各ページにはバーコードが印刷されるため、このバーコードを識別できる複写機、ファックス、スキャナのみがバーコードをデコードすることでドキュメントＩＤを取得し、そのドキュメントＩＤを基にアクセスコントロールサーバ４０４でハードコピー、画像読み取り、ファックス送信などが許可されているか否かを判断することが可能となる。これにより、紙文書まで一貫したセキュリティ確保が可能となる。
【０１３０】
次に、印刷要件としてＢＤＰが設定されている場合のドキュメント印刷プログラム４２１の動作について説明する。
【０１３１】
（１）ドキュメント印刷プログラム４２１は、ＢＤＰが設定されているドキュメントを印刷する際に、印刷を要求しているユーザ名と印刷日時とを文字列として取得する（例えば、Ichiro,2002/08/04 23:47:10）。
【０１３２】
（２）ドキュメント印刷プログラム４２１は、ドキュメントのプリントアウトを複写機で複写した際に、生成した文字列が浮き上がるように地紋画像を生成する。
【０１３３】
（３）ドキュメント印刷プログラム４２１は、生成した地紋画像をスタンプとしてプリンタドライバにセットし、プリントエンジン４０３ａにドキュメントの印刷を指示する。
【０１３４】
（４）プリンタドライバにＢＤＰが設定できない場合、すなわちプリンタ４０３が地紋印刷をサポートしていない場合には、地紋印刷をサポートしている別のプリンタを選択するようにユーザに通知し、印刷を行わずに処理を終了する。
【０１３５】
このようにすることで、ドキュメントのプリントアウトの各ページには、印刷処理を実行したユーザ名と日時とが浮き出る地紋画像として印刷され、プリントアウトを複写機やスキャナ、ファックスで処理すると文字列が浮き出ることとなる。これ、ＥＢＣをサポートしていない複写機を使用する場合などに有効であり、ドキュメントのプリントアウトを複写することによる情報漏洩に対して抑止力を有する。
【０１３６】
次に、印刷要件としてＳＬＳが設定されている場合のドキュメント印刷プログラム４２１の動作について説明する。
【０１３７】
（１）ドキュメント印刷プログラム４２１は、ＳＬＳが設定されているドキュメントファイルを印刷する際に、予め用意された画像のうち、そのドキュメントの機密レベルに応じたもの（Top Secretならば「極秘」のマークなど）を選択する。
【０１３８】
（２）選択した画像のデータを、スタンプとしてプリンタドライバにセットし、プリントエンジン４０３ａに印刷を指示する。
【０１３９】
（３）プリンタドライバにＳＬＳをセットできない場合、すなわち、プリンタ４０３がＳＬＳをサポートしていない場合には、ラベルスタンプをサポートしている別のプリンタを選択するようにユーザに通知し、印刷を行わずに処理を終了する。
【０１４０】
このようにすることで、ドキュメントファイルのプリントアウトには、自動的に「極秘」や「マル秘」がスタンプとして印刷されるため、ドキュメントが機密文書であることが明らかとなる。すなわち、プリントアウトを所持する者に管理上の注意を喚起することができる。
【０１４１】
上記の各例は、あくまでも印刷要件の例であり、改ざん防止用の電子透かしを印刷するようにしたり、保護されているドキュメントは特殊な用紙に印刷する（印刷に使用する用紙トレイを特殊用紙のトレイに限定する）ようにしてもよい。
【０１４２】
さらに付言すると、印刷要件には、機能を制限・禁止するものと、機能を強制的に使用させるもの、加えて通常の印刷条件指定などを含めることができる。機能を制限・禁止する例としては、機密文書原本と区別をするために特別なユーザのみカラーでの印刷を許可して、他のユーザはグレースケールでの印刷のみを許可するように制限するための印刷要件などである。機能を強制的に使用させる例としては、機密印刷モードを強制的に使用するような印刷要件や、ログを強制的に記録するような印刷要件、印刷紙面に印刷したユーザの名前を強制的に印字するような印刷要件、ウォーターマークを強制的に印刷する印刷要件、地紋を強制的に印刷する印刷要件などである。通常の印刷条件を指定する例としては、用紙設定としてＡ４を指定する印刷要件，再生紙トレイを使用する印刷要件，両面印刷を指定する印刷要件などである。
【０１４３】
また、これまで印刷要件の表現形式としてＲＡＤ、ＰＡＣといったキーワードを用いて説明してきたが、そのようなキーワードでなくとも、例えば、プリンタドライバに設定する設定ファイルのデータそのものや、プリントデータに挿入するページ記述言語で表現したデータ、画面に表示する文字列そのもの、処理すべき要件の内容をスクリプト言語で記述したデータのようなものを用いて印刷要件を表現して規定するようにしても良い。すなわち、印刷要件の表現をキーワードのようなものに限定するものではない。
【０１４４】
このように、プリンタ４０３がサポートする様々なセキュリティ機能を利用してセキュリティポリシーに沿った印刷要件を設定することによって、プリンタ４０３のセキュリティ機能を無駄なく活用して、プリントアウトに至るまで一貫したセキュリティの確保が可能となる。これは他の実施形態のシステム構成においても同様である。
【０１４５】
一方、これまでの説明において、保護対象はドキュメント全体であるように記述してきたが、ドキュメントの中に保護対象となる部分（セグメントと呼ぶ）と、保護対象としない部分が混在していても良い。例えば、図２５に示すように、保護セグメントが複数保護ドキュメント内に存在していても良い。この場合、保護セグメントごとに異なるセグメントＩＤをつけ、これまでの説明におけるドキュメントＩＤをセグメントＩＤと読みかえれば、同じ原理で保護セグメントごとに印刷を含むアクセスの制御が可能になる。実際には、保護セグメントの先頭と末尾には、そこから保護セグメントが開始することを示しそこで保護セグメントが終了することを示すマーカのようなものをつける必要がある。そういったマーカの入れ方については、ＭＩＭＥのマルチパートセパレータなどの従来技術を用いることができる。
【０１４６】
また、これまではドキュメント保護プログラムが配布者端末に配置されるような実施例に基づいて説明してきたが、ドキュメント保護プログラム本体はリモートサーバ上に配置するようにしても良い。例えば図４の配布者端末４０１、ドキュメント保護プログラム４１１およびアクセスコントロールサーバ４０４の関係は、図２６に示すように変形することができる。このように配置することにより、ドキュメント保護プログラムがインストールされていない端末からでもリモートサーバにドキュメントと必要なパラメータを送付して保護ドキュメントを取得することができる。
【０１４７】
なお、上述した各実施形態は、本発明の好適な実施の例であり、本発明はこれらに限定されることはない。
【０１４８】
例えば、上記実施形態においては、配布者端末とユーザ端末とが別個の装置である場合を例に説明を行ったが、これらは同一の装置を共用するような構成であっても構わない。
【０１４９】
また、ユーザ認証の方法は、ユーザ名とパスワードとを用いる方法に限定されることはなく、スマートカードを用いたＰＫＩベースの認証方法を適用してもよい。
【０１５０】
このように、本発明は様々な変形が可能である。
【図面の簡単な説明】
【０１５１】
【図１】本発明を好適に実施した第１の実施形態にかかるプリンタの内部構成を示す図である。
【図２】セキュリティポリシーの例を示す図である。
【図３】セキュリティポリシーをＸＭＬ記述により書き表したプログラムの例を示す図である。
【図４】本発明を好適に実施した第２の実施形態にかかるドキュメント保護・印刷システムの構成を示す図である。
【図５】ドキュメント保護プログラムの構成例を示す図である。
【図６】ドキュメント印刷プログラムを有したプリンタの構成例を示す図である。
【図７】印刷処理部の構成例を示す図である。
【図８】アクセスコントロールサーバの構成例を示す図である。
【図９】セキュリティポリシーを電子データとした場合のデータ構造を示す図である。
【図１０】セキュリティポリシーを電子データとして記述した例を示す図である。
【図１１】ユーザデータベースに記録される情報の構造例を示す図である。
【図１２】セキュリティ属性の設定を要求する画面の例を示す図である。
【図１３】ユーザ名（ユーザＩＤ）とパスワードを要求する画面の例を示す図である。
【図１４】ユーザ端末の表示装置上に表示される確認画面の例を示す図である。
【図１５】第２の実施形態にかかるドキュメント保護プログラムの処理を示す図である。
【図１６】第２の実施形態にかかるドキュメント保護プログラムおよびアクセスコントロールサーバの動作の流れを示す図である。
【図１７】第２の実施形態にかかるドキュメント印刷プログラムおよびアクセスコントロールサーバの動作の流れを示す図である。
【図１８】アクセスコントロールサーバへのＳＯＡＰによる問い合わせの例を示す図である。
【図１９】ドキュメント保護プログラムの構成例を示す図である。
【図２０】復号の様子を示す図である。
【図２１】ドキュメント印刷プログラムを有したプリンタの構成例を示す図である。
【図２２】プリンタが備えるセキュリティ機能の例を示す図である。
【図２３】ＰＡＣが設定されたドキュメントを印刷する際の処理を示す図である。
【図２４】ＰＩＮ入力のダイアログを示す図である。
【図２５】ドキュメントを複数のセグメントに分けて保護する場合の処理を示す図である。
【図２６】ドキュメント保護プログラムをリモートサーバ上に配置した状態を示す図である。
【符号の説明】
【０１５２】
１          プリンタ
２          セキュリティポリシー
３          印刷部
４          ユーザ属性取得部
５          文書属性取得部
６          印刷指示部
４０１      配布者端末
４０２      ユーザ端末
４０３      プリンタ
４０３ａ    プリントエンジン
４０４      アクセスコントロールサーバ
４１１      ドキュメント保護プログラム
４２１      ドキュメント印刷プログラム
４４１      ユーザデータベース
４４３      セキュリティ属性データベース
４４４      セキュリティポリシー
４１１ａ    暗号化部
４１１ｂ    暗号鍵取得部
４１１ｃ    属性付与部
４１１ｄ    属性登録部
４１１ｅ    パラメータ取得部
４２１ａ    復号部
４２１ｂ    復号鍵取得部
４２１ｃ    印刷要件取得部
４２１ｄ    印刷処理部
４２１ｅ    要件処理部
４２１ｆ    ドキュメント加工部
４２１ｇ    プリンタドライバ
４２１ｈ    警告表示部
４２１ｉ    ログ記録部
４２１ｊ    パラメータ取得部
４０４ａ    属性ＤＢ登録部
４０４ｂ    ユーザ認証部
４０４ｃ    アクセス権限確認部
４０４ｄ    印刷要件取得送付部
【図１】
2004152263.tif 000003
【図２】
2004152263.tif 000004
【図３】
2004152263.tif 000005
【図４】
2004152263.tif 000006
【図５】
2004152263.tif 000007
【図６】
2004152263.tif 000008
【図７】
2004152263.tif 000009
【図８】
2004152263.tif 000010
【図９】
2004152263.tif 000011
【図１０】
2004152263.tif 000012
【図１１】
2004152263.tif 000013
【図１２】
2004152263.tif 000014
【図１３】
2004152263.tif 000015
【図１４】
2004152263.tif 000016
【図１５】
2004152263.tif 000017
【図１６】
2004152263.tif 000018
【図１７】
2004152263.tif 000019
【図１８】
2004152263.tif 000020
【図１９】
2004152263.tif 000021
【図２０】
2004152263.tif 000022
【図２１】
2004152263.tif 000023
【図２２】
2004152263.tif 000024
【図２３】
2004152263.tif 000025
【図２４】
2004152263.tif 000026
【図２５】
2004152263.tif 000027
【図２６】
2004152263.tif 000028