(57)【要約】【課題】  印刷処理時の処理負荷や通信負荷を大きく増加することなく、機密保持性を向上することができる印刷装置、印刷システム、印刷方法およびそのプログラムを提供する。【解決手段】  ホストコンピュータ１は、暗号鍵発行識別情報を印刷データに付加して暗号鍵により暗号化した暗号化印刷データを含む印刷ジョブをプリンタ２へ送信する。プリンタ２は、過去に受信した印刷ジョブに含まれる暗号鍵発行識別情報およびホストコンピュータ１を識別する情報を、印刷ジョブを識別するジョブＩＤに関連付けて履歴情報として格納する。プリンタ２は、新規に受信した印刷ジョブに含まれる暗号化印刷データより暗号鍵発行識別情報を抽出する。プリンタ２は、抽出した暗号鍵発行識別情報を、履歴情報に含まれる暗号鍵発行識別情報に対して照合することで、新規に受信した印刷ジョブの印刷を行うか否かを判断する。【選択図】  図１
2005107977.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して利用者端末から暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した前記暗号化印刷データを復号鍵で復号化後に印刷する印刷装置であって、
前記利用者端末から受信する前記印刷ジョブには少なくとも前記暗号鍵を識別する情報である暗号鍵識別情報が含まれており、
過去に受信した前記印刷ジョブに含まれる前記暗号鍵識別情報を、前記印刷ジョブを識別する印刷ジョブ識別情報に関連付けて格納する履歴情報格納手段と、
新規に受信した印刷ジョブに含まれる前記暗号化印刷データより前記暗号鍵識別情報を抽出する抽出手段と、
前記抽出手段が抽出した暗号鍵識別情報を、前記履歴情報格納手段より参照する前記履歴情報に含まれる暗号鍵識別情報に対して照合することで、前記新規に受信した印刷ジョブの印刷を行うか否かを判断する判断手段と
を具備することを特徴とする印刷装置。
【請求項２】
前記印刷ジョブに含まれる暗号鍵識別情報は前記暗号鍵により暗号化されていることを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記利用者端末から前記暗号化に用いる暗号鍵を要求する要求情報を受信する要求受信手段と、
前記要求受信手段が受信した前記要求情報に応じて暗号鍵を発行し、発行した前記暗号鍵および前記暗号鍵を識別する暗号鍵識別情報を含む暗号化用データを生成し、前記利用者端末へ送信する暗号化用データ処理手段と
を更に具備することを特徴とする請求項１または２に記載の印刷装置。
【請求項４】
前記抽出手段は、新規に受信した印刷ジョブに含まれる前記暗号化印刷データを復号化して前記印刷データおよび前記暗号鍵識別情報を得る復号化手段を備えることを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
前記復号化手段は、新規に受信した印刷ジョブに含まれる前記暗号化印刷データの一部を復号化して少なくとも前記暗号鍵識別情報を得ることを特徴とする請求項４に記載の印刷装置。
【請求項６】
前記暗号鍵識別情報は、前記暗号鍵を発行した時刻に関する情報であることを特徴とする請求項１乃至５のいずれか１項に記載の印刷装置。
【請求項７】
ネットワークに接続可能な利用者端末と、前記利用者端末から前記ネットワーク経由で暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した前記暗号化印刷データを復号鍵で復号化後に印刷する印刷装置とを具備する印刷システムであって、
前記利用者端末は、前記暗号鍵を識別する情報である暗号鍵識別情報を印刷データに付加して前記暗号鍵により暗号化した前記暗号化印刷データを含む前記印刷ジョブを前記印刷装置へ送信する送信手段を具備し、
前記印刷装置は、
過去に受信した前記印刷ジョブに含まれる前記暗号鍵識別情報を、前記印刷ジョブを識別する印刷ジョブ識別情報に関連付けて格納する履歴情報格納手段と、
新規に受信した印刷ジョブに含まれる前記暗号化印刷データより前記暗号鍵識別情報を抽出する抽出手段と、
前記抽出手段が抽出した暗号鍵識別情報を、前記履歴情報格納手段より参照する前記履歴情報に含まれる暗号鍵識別情報に対して照合することで、前記新規に受信した印刷ジョブの印刷を行うか否かを判断する判断手段と
を具備すること
を特徴とする印刷システム。
【請求項８】
ネットワークを介して利用者端末から暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した前記暗号化印刷データを復号鍵で復号化後に印刷する印刷装置を用いた印刷方法であって、
前記利用者端末から受信する前記印刷ジョブに含まれる前記暗号化印刷データは、前記暗号鍵を識別する情報である暗号鍵識別情報を印刷データに付加して前記暗号鍵により暗号化したものであり、
過去に受信した前記印刷ジョブに含まれる前記暗号鍵識別情報を、前記印刷ジョブを識別する印刷ジョブ識別情報に関連付けて履歴情報を形成する第１のステップと、
新規に受信した印刷ジョブに含まれる前記暗号化印刷データより前記暗号鍵識別情報を抽出する第２のステップと、
前記第２のステップで抽出した暗号鍵識別情報を、前記第１のステップで形成した前記履歴情報に含まれる暗号鍵識別情報に対して照合することで、前記新規に受信した印刷ジョブの印刷を行うか否かを判断する第３のステップと
を有することを特徴とする印刷方法。
【請求項９】
ネットワークを介して利用者端末から暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した前記暗号化印刷データを復号鍵で復号化後に印刷する印刷装置用のプログラムであって、
前記利用者端末から受信する前記印刷ジョブに含まれる前記暗号化印刷データは、前記暗号鍵を識別する情報である暗号鍵識別情報を印刷データに付加して前記暗号鍵により暗号化したものであり、
過去に受信した前記印刷ジョブに含まれる前記暗号鍵識別情報を、前記印刷ジョブを識別する印刷ジョブ識別情報に関連付けて履歴情報を形成する第１のステップと、
新規に受信した印刷ジョブに含まれる前記暗号化印刷データより前記暗号鍵識別情報を抽出する第２のステップと、
前記第２のステップで抽出した暗号鍵識別情報を、前記第１のステップで形成した前記履歴情報に含まれる暗号鍵識別情報に対して照合することで、前記新規に受信した印刷ジョブの印刷を行うか否かを判断する第３のステップと
を前記印刷装置に実行させるためのプログラム。
【請求項１０】
暗号化印刷データを含む印刷ジョブを出力する機能をコンピュータに実現させるための印刷制御プログラムであって、
外部から入力される印刷要求信号を受信する印刷要求受信ステップと、
前記印刷要求受信ステップにおいて印刷要求信号を受信した場合には、予め決められた印刷装置に対して暗号鍵と暗号鍵識別情報を含む暗号化データを要求する暗号化データ要求ステップと、
前記暗号化データを受信する受信ステップと、
印刷データ生成ステップと、
前記受信した暗号鍵を用いて前記印刷データを暗号化して暗号化印刷データを生成するするための暗号化印刷データ生成ステップと、
前記暗号鍵識別情報及び暗号化印刷データを含んだ印刷ジョブを生成する印刷ジョブ生成ステップと、
前記印刷ジョブを前記予め決められた印刷装置に対して出力する出力ステップと
をコンピュータに実行させるための印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ端末と所定の通信媒体（ネットワーク）を介して印刷データを送受信可能な印刷装置、コンピュータ端末および印刷装置から構成される印刷システム、印刷方法およびそのプログラム或いは印刷制御プログラムに関するものであり、特に印刷データをセキュアに印刷する技術に関する。
【背景技術】
【０００２】
従来から、複数のコンピュータ端末（以下、ホストコンピュータとする）とネットワークを介して印刷データを送受信可能な印刷装置により印刷を行う印刷システムにおいては、ホストコンピュータからの印刷ジョブを印刷装置で印刷する際に優れた機密保持性を確保することが望まれている。特に、ホストコンピュータにおいて秘密データのデータ管理を徹底していても、ネットワークを介して印刷装置によりその秘密データを印刷する場合には、印刷ジョブデータそのものがネットワーク上において第三者に盗まれてしまうことが考えられる。この場合、悪意の第三者は不正に取得した印刷ジョブデータを所有する印刷装置にて印刷することで印刷結果（秘密データを印刷したもの）を入手することが可能である。
【０００３】
これを防止するために、例えば、ネットワーク上の印刷ジョブを暗号化し、かつ、印刷装置以外は暗号化された印刷ジョブを実質上復号化できない機密保持性に優れた印刷ジョブ処理環境を構築することが開示されている（例えば特許文献１参照。）。この特許文献１では、ホストコンピュータが印刷先となる印刷装置を指定して印刷要求を発生すると、該印刷要求を受信した印刷装置が暗号鍵情報をホストコンピュータに送信する。ホストコンピュータは、受信した該暗号鍵情報を用いて印刷ジョブを暗号化して印刷装置に送信する。印刷装置は受信した暗号化済みの印刷ジョブを復号化して、印刷物を出力する。つまり、特許文献１においてはホストコンピュータと印刷装置の間において送受信する印刷ジョブデータを暗号化（例えば、公開鍵暗号方式）することで、ネットワーク上で印刷ジョブデータを盗まれた場合でも復号鍵がなければ復号化出来ず、機密保持することができる。これにより、復号鍵（秘密鍵）を有する印刷装置のみが印刷ジョブデータを復号化することができ、悪意の第三者が所有する印刷装置においては印刷ジョブデータを復号化することができない。
【０００４】
【特許文献１】特開平０９−１３４２６４
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら上述した特許文献１においては、ネットワーク上で悪意の第三者に印刷ジョブデータを盗まれた場合に、悪意の第三者が盗んだ印刷ジョブデータを他のホストから復号鍵を持つ印刷装置に送信した場合には印刷が可能になってしまうという欠点がある。それゆえ特許文献１では、その欠点を克服するために、暗号鍵を可変とすると共にホストコンピュータの確認を行うためにホストコンピュータの公開鍵と秘密鍵におけるテストデータの送受信を行う技術が開示されている。しかし、この技術を利用すると、テストデータの送受信のためにネットワークトラフィックが大きくなるだけでなく、データの送受信や暗号化と復号化を繰り返すためにホストコンピュータと印刷装置におけるデータ処理負荷が大きく増加してしまうという問題がある。更に、ホストコンピュータおよび印刷装置においてデータ処理時間が増加することにより印刷ジョブを送受信してから印刷を開始するまでに要する時間が長くなるという問題もある。
【０００６】
本発明は、上述した事情を考慮してなされたもので、印刷処理時の処理負荷や通信負荷を大きく増加することなく、機密保持性を向上することができる印刷装置、印刷システム、印刷方法およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、上述した課題を解決すべくなされたもので、本発明による印刷装置においては、ネットワークを介して利用者端末から暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した暗号化印刷データを復号鍵で復号化後に印刷する印刷装置であって、利用者端末から受信する印刷ジョブには少なくとも暗号鍵を識別する情報である暗号鍵識別情報が含まれており、過去に受信した印刷ジョブに含まれる暗号鍵識別情報を、印刷ジョブを識別する印刷ジョブ識別情報に関連付けて格納する履歴情報格納手段と、新規に受信した印刷ジョブに含まれる暗号化印刷データより暗号鍵識別情報を抽出する抽出手段と、抽出手段が抽出した暗号鍵識別情報を、履歴情報格納手段より参照する履歴情報に含まれる暗号鍵識別情報に対して照合することで、新規に受信した印刷ジョブの印刷を行うか否かを判断する判断手段とを具備することを特徴とする。
【０００８】
また、本発明による印刷装置の一態様例においては、利用者端末から暗号化に用いる暗号鍵を要求する要求情報を受信する要求受信手段と、要求受信手段が受信した要求情報に応じて暗号鍵を発行し、発行した暗号鍵および暗号鍵を識別する暗号鍵識別情報を含む暗号化用データを生成し、利用者端末へ送信する暗号化用データ処理手段とを更に具備することを特徴とする。
これにより、印刷装置は、利用者端末から、暗号鍵識別情報を含む暗号化印刷データを受信することができる。
【０００９】
また、本発明による印刷システムにおいては、ネットワークに接続可能な利用者端末と、利用者端末からネットワーク経由で暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した暗号化印刷データを復号鍵で復号化後に印刷する印刷装置とを具備する印刷システムであって、利用者端末は、暗号鍵を識別する情報である暗号鍵識別情報を印刷データに付加して暗号鍵により暗号化した暗号化印刷データを含む印刷ジョブを印刷装置へ送信する送信手段を具備し、印刷装置は、過去に受信した印刷ジョブに含まれる暗号鍵識別情報情報を、印刷ジョブを識別する印刷ジョブ識別情報に関連付けて格納する履歴情報格納手段と、新規に受信した印刷ジョブに含まれる暗号化印刷データより暗号鍵識別情報を抽出する抽出手段と、抽出手段が抽出した暗号鍵識別情報を、履歴情報格納手段より参照する履歴情報に含まれる暗号鍵識別情報に対して照合することで、新規に受信した印刷ジョブの印刷を行うか否かを判断する判断手段とを具備することを特徴とする。
【００１０】
また、本発明による印刷方法においては、ネットワークを介して利用者端末から暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した暗号化印刷データを復号鍵で復号化後に印刷する印刷装置を用いた印刷方法であって、利用者端末から受信する印刷ジョブに含まれる暗号化印刷データは、暗号鍵を識別する情報である暗号鍵識別情報を印刷データに付加して暗号鍵により暗号化したものであり、過去に受信した印刷ジョブに含まれる暗号鍵識別情報を、印刷ジョブを識別する印刷ジョブ識別情報に関連付けて履歴情報を形成する第１のステップと、新規に受信した印刷ジョブに含まれる暗号化印刷データより暗号鍵識別情報を抽出する第２のステップと、第２のステップで抽出した暗号鍵識別情報を、第１のステップで形成した履歴情報に含まれる暗号鍵識別情報に対して照合することで、新規に受信した印刷ジョブの印刷を行うか否かを判断する第３のステップとを有することを特徴とする。
【００１１】
また、本発明によるプログラムは、ネットワークを介して利用者端末から暗号鍵で暗号化された暗号化印刷データを含む印刷ジョブを受信して、受信した暗号化印刷データを復号鍵で復号化後に印刷する印刷装置用のプログラムであって、利用者端末から受信する印刷ジョブに含まれる暗号化印刷データは、暗号鍵を識別する情報である暗号鍵識別情報を印刷データに付加して暗号鍵により暗号化したものであり、過去に受信した印刷ジョブに含まれる暗号鍵識別情報を、印刷ジョブを識別する印刷ジョブ識別情報に関連付けて履歴情報を形成する第１のステップと、新規に受信した印刷ジョブに含まれる暗号化印刷データより暗号鍵識別情報を抽出する第２のステップと、第２のステップで抽出した暗号鍵識別情報を、第１のステップで形成した履歴情報に含まれる暗号鍵識別情報に対して照合することで、新規に受信した印刷ジョブの印刷を行うか否かを判断する第３のステップとを印刷装置に実行させるためのプログラムである。
【００１２】
また、本発明による印刷制御プログラムは、暗号化印刷データを印刷ジョブを出力するためにコンピュータを機能させる印刷制御プログラムであって、外部から入力される印刷要求信号を受信する印刷要求受信ステップと、印刷要求受信ステップにおいて印刷要求信号を受信した場合には、予め決められた印刷装置に対して暗号鍵と暗号鍵識別情報を含む暗号化データを要求する暗号化データ要求ステップと、暗号化データを受信する受信ステップと、印刷データ生成ステップと、受信した暗号鍵を用いて印刷データを暗号化して暗号化印刷データを生成するするための暗号化印刷データ生成ステップと、暗号鍵識別情報及び暗号化印刷データを含んだ印刷ジョブを生成する印刷ジョブ生成ステップを有し、印刷ジョブを予め決められた印刷装置に対して出力する出力ステップからなることを特徴とする。
【発明の効果】
【００１３】
本発明の印刷装置、印刷システム、印刷方法、そのプログラム及び印刷制御プログラムは、過去に受信した印刷ジョブに含まれる暗号鍵識別情報を、印刷ジョブを識別する印刷ジョブ識別情報に関連付けて履歴情報を形成し、新規に受信した印刷ジョブに含まれる暗号化印刷データより暗号鍵識別情報を抽出し、抽出した暗号鍵識別情報を、履歴情報に含まれる暗号鍵識別情報に対して照合することで、新規に受信した印刷ジョブの印刷を行うか否かを判断するので、例えば、ネットワーク内で盗聴した暗号鍵Ａで暗号化した印刷データを基に悪意の第３者が同じプリンタ（暗号鍵Ａの復号鍵を持っているプリンタ）で印刷しようとしても、履歴情報により既に暗号鍵Ａを利用した印刷が行われていることが分かるので、この不正印刷の試みを阻止することができ、セキュリティを飛躍的に高めることができる。また、従来の単純な暗号鍵を利用した印刷システムと比べても、履歴情報から暗号鍵識別情報を参照する処理が増えただけなので、セキュリティを高めたことによりデータ処理負荷や通信付加の大きな増加を伴うことも無い。すなわち、印刷処理時の処理負荷や通信負荷を大きく増加することなく、機密保持性を向上することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を用いて本発明の実施形態について説明する。
まず、本発明の一実施形態におけるプリンタ（印刷装置）を備えるセキュリティ印刷システムの概略構成について説明する。
図１は、本発明の一実施形態におけるプリンタを備えるセキュリティ印刷システムの概略構成を示す図である。
【００１５】
図１において、ホストコンピュータ（利用者端末）１は、利用者の印刷指示に応じて印刷データを作成する機能や、作成した印刷データ或いは保存されている印刷データを社内プリンタ２或いはインターネットプリンタ５などのプリンタ（印刷装置）に対して送信する機能を有する。また、ホストコンピュータ１は、利用者がアプリケーションから印刷要求を指示する際に、印刷ジョブを暗号化する暗号化印刷処理の指示も合わせて可能な構成を有している。これにより、利用者が暗号化印刷処理を指示した場合には、ホストコンピュータ１は、指定されているプリンタに対して暗号化のために必要な暗号化用データを要求する機能を有する。また、ホストコンピュータ１は、要求に応じてプリンタから暗号化のために必要な暗号化用データを受信する機能および、受信した暗号化用データを用いて、暗号化印刷処理の指示があった印刷ジョブを例えばＰＣＬ（プリンタコントロール言語）やＰＳ（ポストスクリプト）等に代表されるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換して、変換後の印刷データに対して暗号化を行い、指定されたプリンタに送信する機能を有する。
【００１６】
印刷装置の１つである社内プリンタ２（以下、プリンタ２）は、社内ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）・３に接続されているプリンタであって、暗号化印刷を行うことが可能な構成を有している。プリンタ２は、外部（例えばホストコンピュータ１）からの要求に応じて暗号化に必要な暗号化用データを、要求元に送信する機能を有する。ここで、暗号化用データとは、例えば公開鍵暗号方式の暗号鍵（公開鍵）と暗号鍵の発行を識別するための暗号鍵発行識別情報を含むデータである。これにより、ホストコンピュータ１は、暗号鍵を利用して印刷データの暗号化を行う。また、プリンタ２は、暗号鍵と対の復号鍵（秘密鍵）を保有しており、暗号化された印刷データ（以下、暗号化印刷データとする）をこの復号鍵で復号することができる。
【００１７】
また、プリンタ２は、暗号化印刷データを含む印刷ジョブを受信した場合には、復号鍵で復号化した印刷データや暗号鍵発行識別情報を基に、不正印刷であるか否かを確認する機能を有する。ここで、不正印刷ではないと判断した場合には、プリンタ２は、印刷ジョブを処理して印刷を行う。また、不正印刷であると判断した場合には、プリンタ２は、予め登録された通知先に電子メールや音声メッセージを送信することで、不正印刷が行われた旨を連絡する機能を有する。尚、本実施形態における暗号鍵発行識別情報とは、暗号鍵発行時刻であるが、この限りではなく、各暗号鍵の発行を識別可能な情報であれば種々の情報を暗号鍵発行識別情報としてよい。
【００１８】
インターネットプリンタ５（以下、プリンタ５）は社内ＬＡＮ・３の外に存在するインターネットなどのネットワーク４経由でホストコンピュータ１の利用者が印刷可能なプリンタである。プリンタ５の機能構成は、上述したプリンタ２と同様であり、説明を省略する。なお、図１には示していないが、社内ＬＡＮ・３とネットワーク４の間には、ゲートウェイ等の装置が介在している。また、以下の説明においては、プリンタ５とホストコンピュータ１の関係や処理動作に関する説明は割愛して、プリンタ２とホストコンピュータ１の関係や処理動作に関する説明を行うことで、本実施形態のセキュリティ印刷システムを説明する。
【００１９】
まず、ホストコンピュータ１のハードウェア構成例について説明する。
図２は、ホストコンピュータ１のハードウェア構成を示す図である。ＣＰＵ１０１は、システムバス１０４に接続される各デバイスやコントローラを統括的に制御する機能を有する。また、ＲＯＭ１０２あるいは外部メモリ１１１には、ＣＰＵ１０１が実行可能な制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、ホストコンピュータ１の実行する機能を実現するために必要な各種プログラム等が記憶されている。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＣＰＵ１０１は、必要なプログラム等をＲＡＭ１０３にロードして、そのプログラムを実行することで各種機能を実現する。
【００２０】
また、入力コントローラ（入力Ｃ）１０５は、キーボード１０９や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ（ＶＣ）１０６は、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）１１０等の表示装置への表示を制御する。表示装置としては、上述したＣＲＴ１１０に限るものではなく、液晶ディスプレイ等でも構わない。メモリコントローラ（ＭＣ）１０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーションプログラム、フォントデータ、利用者ファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（Ｒ）メモリ等の外部メモリ１１１へのアクセスを制御する。
【００２１】
また、外部メモリ１１１は、後述する図４のフローチャートで示される印刷に係わるアプリケーションである暗号化機能を実現するためのプリンタドライバプログラムを格納する。ＣＰＵ１０１は、このプリンタドライバプログラムを、ＲＡＭ１０３にロードして実行することで、図４のフローチャートに示すような暗号化機能を有するプリンタドライバとしての処理を実現する。
【００２２】
なお、暗号化機能を有するプリンタドライバは、汎用のプリンタドライバプログラムと暗号化の印刷ジョブを作成するためのプログラムが別々に存在してこれらをＣＰＵ１０１が必要に応じて実行することで暗号化の機能を実現する構成であっても、両プログラムが一体となったものをＣＰＵ１０１が実行して暗号化の機能を実現する構成であってもよい。また、プリンタドライバはＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）として受信したコマンドを印刷用のデータに変換してＰＤＬで記述された印刷データを作成する印刷データ生成機能を有している。
【００２３】
通信インタフェースコントローラ（通信Ｉ／ＦＣ）１０８は、社内ＬＡＮ・３およびネットワーク４を介して、ホストコンピュータ１が外部機器と接続・通信するためのものであり、社内ＬＡＮ・３やネットワーク４での通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いたインターネット通信等が可能である。なお、ＣＰＵ１０１は、例えばＲＡＭ１０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ１１０上での表示を可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上の不図示のマウスカーソル等での利用者指示を可能とする。
【００２４】
次に、プリンタ２のハードウェア構成例について説明する。
図３は、プリンタ２のハードウェア構成例を示す図である。図３に示すように、ＣＰＵ２０１は、内部システムバス２０９に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２０４には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、プリンタ２の実行する機能を実現するために必要な各種プログラム等が記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０２にロードして、そのプログラムを実行することで各種動作を実現する。
【００２５】
また、ＲＡＭ２０２は外部から受信した印刷データの一時保存や、受信後の印刷データの印刷実行時にＰＤＬを解釈してラスタライズすることで作成されるビットマップデータの一時保存領域、後述するプリンタ制御プログラムとしても利用される。
また、外部メモリ２０４は、ブートプログラム、プリント動作にかかわるＰＤＬを解釈し印刷用のデータとしてラスタライズするためのプログラムや各種のアプリケーションプログラム、フォントデータおよび各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（Ｒ）メモリ等で構成されている。
【００２６】
さらに外部メモリ２０４には後述する図５のフローチャートで示される処理を実現するためのプリンタ制御プログラム２０５が記憶されている。これにより、ＣＰＵ２０１は、ＲＡＭ２０２にプリンタ制御プログラム２０５をロードして実行することで、図５のフローチャートで示される処理を実現する。また、外部メモリ２０４のデータ領域２０６は、図６に示す印刷履歴テーブルに印刷履歴情報を格納する。図６は、データ領域２０６に格納する印刷履歴情報を含む印刷履歴テーブル例を示す図である。図６に示すように、「ジョブＩＤ」６０１の列には、プリンタ２で処理したまたは処理中の印刷ジョブを識別するＩＤ番号が示されている。この「ジョブＩＤ」６０１には、以下に示す情報が関連付けられている。
【００２７】
「キュー」６０２の列には、「ジョブＩＤ」６０１で特定される印刷ジョブの印刷処理待ちの順番を示す情報が格納される。もちろん、印刷処理済みの印刷ジョブにおいては、この情報はＮｕｌｌである。「ジョブ受信時刻」６０３の列には、「ジョブＩＤ」６０１で特定される印刷ジョブを受信した時刻に関する情報が格納されている。「送信元ＩＰアドレス」６０４の列には、「ジョブＩＤ」６０１で特定される印刷ジョブの送信元であるホストコンピュータ１のＩＰアドレスに関する情報が格納されている。「送信元Ｍａｃアドレス」６０５の列には、「ジョブＩＤ」６０１で特定される印刷ジョブの送信元であるホストコンピュータ１のＭａｃアドレスに関する情報が格納されている。
【００２８】
「暗号鍵発行時刻」６０６の列には、「ジョブＩＤ」６０１で特定される印刷ジョブに含まれる暗号化印刷データの暗号化に使用した暗号鍵の発行時刻に関する情報が格納されている。尚、本実施形態においては、この暗号鍵発行時刻が各暗号鍵の発行を識別する暗号鍵発行識別情報である。また、「ジョブＩＤ」６０１で特定される印刷ジョブに含まれる画像データが暗号化されていないものである場合には、この列に格納される情報はＮｕｌｌとなる（図６のジョブＩＤ＝３参照）。
【００２９】
「印刷完了フラグ」６０７の列には、「ジョブＩＤ」６０１で特定される印刷ジョブによる印刷処理が完了したか否かを示す情報が格納されている。本実施形態においては、印刷処理が完了していれば「１」、印刷処理中であれば「Ｎｕｌｌ」、印刷未処理であれば「０」の情報が印刷完了フラグとして格納される。尚、図６に示した印刷履歴情報は一例であり、印刷履歴テーブルに格納する印刷履歴情報を種々の印刷に関する情報の組み合わせで構成して好適である。
【００３０】
この印刷履歴情報を、ＣＰＵ２０１は、プリンタ制御プログラム２０５の実行時や、メインテナンス処理時等に利用する。本実施形態における印刷履歴情報には、図６に示したように暗号鍵の発行毎にその発行を識別するための暗号鍵発行識別情報や印刷データの送信元、各印刷データの印刷が終了しているか否かを示すための情報等が含まれる。図６に示した印刷履歴情報は、暗号鍵の発行、印刷ジョブの受信および各印刷データの印刷処理の実行などが行われる度にこの印刷履歴テーブルに追加される。
【００３１】
また、外部メモリ２０４のデータ領域２０６には、プリンタ２の暗号鍵と復号鍵、不正印刷が起きた場合の通知先の情報も記憶されている。図７は、本実施形態における通知先の情報例を示す図である。図７に示すように、通知先の情報として電子メールアドレスの情報を格納している。すなわち、プリンタ２は、不正印刷が起きた場合には、図７に示すメールアドレス宛に不正印刷が試みられた旨の文章を含む電子メールを送信する。この通知先となるメールアドレスは、例えばネットワーク管理者のメールアドレスを予め登録しておき、登録されているネットワーク管理者に通知するものである。なお、印刷システムにおいて、ホストコンピュータ１及びプリンタ２でプリントジョブに通知先を挿入して識別することが可能な仕組みを用意することで、印刷データの送信元に対して不正印刷である旨を通知することも可能である。また、送信元に対する別の通知方法として、送信元ＩＰアドレスに対して通知データを送信することでも実現できる。
【００３２】
ビデオインターフェース２０７は、印刷部２０８にＲＡＭ２０２に一時保存されているビットマップデータを送信する際のデータ通信や、印刷部のステータス情報（用紙ジャムやトナー或いはインク切れ、用紙切れ、印刷完了等）のデータ通信を行うことが可能な構成を有する。印刷部２０８は、印刷媒体（例えば紙）上に画像形成を行うことで印刷を行う。具体的には、印刷部２０８は、感光ドラムを用いた電子写真方式やインクジェット方式を用いて、不図示の給紙部から上搬送されてくる紙に対して印刷データを印刷して排紙部へ出力する構成である。ネットワークインターフェース２１０は、図１の社内ＬＡＮ・３に接続可能するためのものである。
【００３３】
なお、プリンタ５のハードウェア構成は、図２に示したプリンタ２のハードウェア構成と同様であるので、説明を省略する。但し、ネットワークインターフェース２１０は、ネットワーク４に接続可能な構成となる。
【００３４】
次に、上述したセキュリティ印刷システムの印刷処理の動作について説明する。
図４、図５は本発明の実施形態であるセキュリティ印刷システムの印刷処理の動作を示すフローチャートである。特に、図４は、ホストコンピュータ１における印刷処理の動作を示すフローチャートである。上述したように、ホストコンピュータ１においては、暗号化機能付きプリンタドライバプログラムをＣＰＵ１０１が実行することで、下記の各ステップの機能を実現している。
【００３５】
図４に示す処理を開始する前に、例えば以下のような処理が行われる。まず、ホストコンピュータ１の利用者が、ＧＵＩなどにより各種アプリケーションから印刷指示した場合、ホストコンピュータ１は、ＯＳがサポートするＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を介してプリンタドライバを起動して、利用者が印刷処理の設定を行ったり印刷実行を指示したりするための印刷設定画面などを表示する。具体的には、ホストコンピュータ１のＣＰＵ１０１が、ビデオコントローラ１０６を制御してＣＲＴ１１０に印刷設定画面を提示する。この印刷設定画面は、利用者がマウス等を用いて各種印刷設定を行い、設定内容としては、例えば用紙サイズ、両面／片面、Ｎｉｎ１、ソート条件、ステイプル要否、印刷データに対する暗号化の要否、印刷データの保存指定等がある。また、この印刷設定画面には、印刷実行を指示するボタンがある。これにより、ホストコンピュータ１の利用者は、種々の印刷設定を行った後に印刷実行を指示することができる。また、利用者が印刷実行を指示することにより、ホストコンピュータ１において図４に示す印刷処理が開始する。
【００３６】
まず、ステップＳ４０１において、ＣＰＵ１０１は、上述した印刷実行指示があるか否かを監視している。ここで、印刷実行指示を検出した場合（ステップＳ４０１のＹｅｓ）には、ＣＰＵ１０１は、ステップＳ４０２に進み、ＰＤＬで記述される印刷データを生成する印刷データ生成処理を起動する。これにより、印刷データは、ＲＡＭ１０３或いは外部メモリ１１１に生成されて一時保存されるデータである。
【００３７】
次に、ステップＳ４０３において、ＣＰＵ１０１は、暗号化指定があるか否かを検出する。ここで、暗号化指定が検出できない場合（ステップＳ４０３のＮｏ）には、ＣＰＵ１０１は、通常の印刷であるとして、ステップＳ４０４に進み、印刷データが生成済みであるか否かを判定する。ここで、印刷データが生成済みである場合（ステップＳ４０４のＹｅｓ）には、ＣＰＵ１０１は、ステップＳ４１３の処理へ進む。ＣＰＵ１０１は、ステップＳ４０２で起動した印刷データ生成処理が終了しているか否かにより印刷データが生成済みであるか否かを判定する。
【００３８】
また、ステップＳ４０３で暗号化指定を検出した場合（ステップＳ４０３のＹｅｓ）には、ＣＰＵ１０１は、ステップＳ４０５の処理に移り、指定されたプリンタ（本実施形態ではプリンタ２とする）に暗号化用データの要求信号を送信する。これにより、プリンタ２は、暗号鍵及び暗号鍵の発行を識別するための暗号鍵発行識別情報を含む暗号化用データをホストコンピュータ１へ送信する。次に、ステップＳ４０６において、ＣＰＵ１０１は、プリンタ２から暗号化用データを受信したか否かを判定する。なお、ＣＰＵ１０１は、社内ＬＡＮ・３を介してプリンタ２から受信した暗号化用データをＲＡＭ１０３に一時保存するよう制御することで、ステップＳ４０６における判定処理として、ＲＡＭ１０３に暗号化用データが一時保存されているか否かにより判定することが可能である。また、独自プロトコルで暗号化用データの送信を示すコマンドとともに受信したデータがあれば暗号化用データを受信したと判定するという判定方法を用いることも可能である。但し、暗号化用データの受信有無を判定するための方法はこれに限る必要はない。
【００３９】
ステップＳ４０６において暗号化用データを受信したと判定した場合（ステップＳ４０６のＹｅｓ）には、ＣＰＵ１０１は、ステップＳ４０７の処理に移り、印刷データが生成済みであるか否かを判定する。なお、このステップＳ４０７の処理は、上述したステップＳ４０４の処理と同様の処理である。また、ステップＳ４０６において暗号化用データを受信していないと判定した場合（ステップＳ４０６のＮｏ）には、ＣＰＵ１０１は、ステップＳ４０８に進み、所定時間を経過したか否かを判断する。ここで、ＣＰＵ１０１は、所定時間を経過していないと判断した場合はステップＳ４０６に戻り、所定時間を経過したと判断した場合は、ステップＳ４０９の処理に進む。すなわち、ＣＰＵ１０１は、所定時間の間ステップＳ４０６の処理を繰り返す。
【００４０】
所定時間経過しても暗号化用データを受信していない場合にはステップＳ４０９、ステップＳ４１０において、ＣＰＵ１０１は、外部メモリ１１１に作成された印刷データを消去し、エラー警告を表示して利用者に暗号化印刷出来ない旨を通知して、印刷処理を終了する。
【００４１】
次に、ステップＳ４０７において、印刷データの生成が終了していると判定した場合（ステップＳ４０７のＹｅｓ）には、ステップＳ４１１に進み、ＣＰＵ１０１は、ＲＡＭ１０３或いは外部メモリ１１１に格納される印刷データに対して暗号鍵発行識別情報を印刷データの先頭部分の予め決められたデータ位置に付加する。この暗号鍵発行識別情報を付与する所定のデータ位置は、必ずしも先頭部分である必要は無いが、後述の復号処理において先頭の一部分のみを復号する場合には、先頭部分に付与することで暗号鍵発行識別情報を取り出すことが可能となる。これにより、プリンタ２における印刷可否判定の処理を高速に行えるだけでなく、印刷可否判定のために機密保持の対象である印刷データ自体を復号する必要がないので、機密保持性を高めることができる。
【００４２】
但し、実施の形態はこれに限らず暗号鍵発行識別情報については印刷データと共に暗号化されることは必須ではない。例えば、印刷データのみ暗号化し、暗号鍵発行識別情報は暗号化しないで付加することも考えられる。暗号化印刷データに暗号鍵発行識別情報を付加して送信することで印刷装置が到着順に処理し、過去に受信（到着順に印刷する仕組みにおいては印刷と同意）した暗号鍵発行識別情報と同一の印刷データに関しては印刷を行わないように制御するならばセキュリティは保たれる。しかしながら上述のＳ４０７での説明のように、暗号化発行識別情報も含めて暗号化したほうが安全性の向上を図れることは言うまでもない。
【００４３】
ステップＳ４１２において、ＣＰＵ１０１は、暗号鍵を用いて暗号鍵発行識別情報を付加された印刷データの暗号化を行う。本実施形態においては、暗号鍵はＲＳＡで代表される公開鍵暗号方式が好ましい。公開鍵暗号方式であれば復号鍵を持つプリンタ２でのみ復号が可能になりホストコンピュータ１の利用者が指定したプリンタ２以外では印刷が不可能になるためであり、また、暗号化印刷データが盗聴されたとしても当然他のホストコンピュータや他のプリンタでは復号することが出来ないためである。なお、本実施形態では、ステップＳ４０７において印刷データの生成が完了するのを待って暗号化を行っているが、生成された分の印刷データから順次暗号化処理を行うことも可能である。
【００４４】
ステップＳ４０４で印刷データが生成されていた場合、又はステップＳ４１２で印刷データの暗号化が終了した場合には、ステップＳ４１３において、ＣＰＵ１０１は、通常に生成された印刷データ又は暗号化された印刷データ（暗号化印刷データ）に対して、利用者が行った印刷データに対する設定（例えば、保存指定）をヘッダに付加する処理を行う。このステップＳ４１３の処理により、ヘッダおよび印刷データを含む印刷ジョブが生成される。次に、ステップＳ４１４において、ＣＰＵ１０１は、ステップＳ４１３で生成したデータ（印刷ジョブ）を通信Ｉ／Ｆコントローラ１０８を介して指定されているプリンタ２に送信する。
【００４５】
以上に示すように、本実施形態におけるホストコンピュータ１は、暗号化印刷データを含む印刷ジョブを生成する場合には、暗号鍵発行識別情報も印刷ジョブ中に含むように印刷ジョブを生成する。そして、ホストコンピュータ１は、暗号化印刷データおよび暗号鍵発行識別情報を含む印刷ジョブをプリンタ２へ送信することができる。ここで、暗号鍵発行識別情報とは、上述したようにプリンタ２が暗号鍵を発行した時刻の情報である。
【００４６】
次に、プリンタ２における印刷処理について説明する。
図５は、プリンタ２における印刷処理の動作を示すフローチャートである。ＣＰＵ２０１は、図５に示した各処理を行う機能を実現するためのプリンタ制御プログラムをＲＡＭ２０２にロードして実行することで、図５に示した各処理を行う機能を実現する。まず、プリンタ２のＣＰＵ２０１は、ステップＳ５０１において、ホストコンピュータ１から暗号化用データの要求があるか否かを監視している。ここで、ホストコンピュータ１から暗号化用データの要求があった場合（ステップＳ５０１のＹｅｓ）には、ＣＰＵ２０１は、ステップＳ５０２に進み、暗号鍵を発行して、発行した暗号鍵および暗号鍵を発行した時間に関する情報である暗号鍵発行識別情報を含む暗号化用データをホストコンピュータ１へ送信する。次に、ステップＳ５０３において、ＣＰＵ２０１は、ホストコンピュータ１を識別する情報（ＩＰアドレスやＭａｃアドレスなど）に関連付けて暗号鍵発行識別情報を外部メモリ２０４のデータ領域２０６に格納する。ステップＳ５０３の処理を終えると、ステップＳ５０１に戻り、ＣＰＵ２０１は、暗号化用データの要求があるか否かを監視する。
【００４７】
次に、ステップＳ５０１で暗号化用データの要求が無かった場合には、ＣＰＵ２０１は、ステップＳ５０４に進み、新規印刷ジョブを受信したか否かを判定する。ここで、新規印刷ジョブを受信していないと判定した場合（ステップＳ５０４のＮｏ）には、ＣＰＵ２０１は、ステップＳ５１４の処理へ進む。また、新規印刷ジョブを受信したと判定した場合（ステップＳ５０４のＹｅｓ）には、ＣＰＵ２０１は、ステップＳ５０５に進み、受信した印刷ジョブに含まれる印刷データが暗号化されたデータ（暗号化印刷データ）であるか否かを判定する。
【００４８】
ここで、暗号化されたデータではないと判定した場合（ステップＳ５０５のＮｏ）には、ＣＰＵ２０１は、ステップＳ５１３に進み、印刷ジョブを印刷キューに格納する。また、この時点で、ＣＰＵ２０１は、図６に示す印刷履歴テーブルに対して、ジョブＩＤ、キュー、ジョブ受信時刻、送信元ＩＰアドレス、送信元Ｍａｃアドレス、暗号鍵発行時刻、印刷完了フラグなどの情報を登録する。
【００４９】
また、暗号化されたデータであると判定した場合（ステップＳ５０５のＹｅｓ）には、ＣＰＵ２０１は、ステップＳ５０６に進み、暗号化印刷データの一部を復号化する。尚、本実施形態においては、ステップＳ５０６において暗号化印刷データの一部のみを復号化したが、この限りではなく、暗号化印刷データの全てを復号化してもよい。
【００５０】
次に、ステップＳ５０７において、ＣＰＵ２０１は、復号した印刷データに含まれる暗号鍵発行識別情報を抽出して印刷履歴テーブルのタイムスタンプ（暗号鍵発行時刻）と照合する。次に、ステップＳ５０８に進み、ＣＰＵ２０１は、既に印刷キューに格納した印刷ジョブ（図６の印刷履歴テーブルに登録された印刷ジョブ）の暗号化印刷データの中に、ステップＳ５０７において抽出した暗号鍵発行識別情報と同一の暗号鍵発行識別情報を含む暗号化印刷データがあるか否かを判定する。
【００５１】
ここで、同一の暗号鍵発行識別情報を含む暗号化印刷データがあると判定した場合（ステップＳ５０８のＹｅｓ）には、ステップＳ５１０に進み、ＣＰＵ２０１は、不正印刷の試みであると判断して、図７に示した通知先情報を参照して通知先を決定する。もちろん、この場合には、ＣＰＵ２０１は、暗号化印刷データの印刷処理を行わない。通知先が決定すると、ステップＳ５１１に進み、ＣＰＵ２０１は、不正印刷が試みられた旨をステップＳ５１０で決定された通知先に電子メールで通知する。次に、ＣＰＵ２０１は、不正印刷を試みた印刷ジョブの履歴を外部メモリ２０４内のデータ領域２０６に格納する。
【００５２】
また、ステップＳ５０８において同一の暗号鍵発行識別情報を含む暗号化印刷データが無いと判定した場合（ステップＳ５０８のＮｏ）には、ステップＳ５０９に進み、ＣＰＵ２０１は、図６に示す印刷履歴テーブルに対して、ジョブＩＤ、ジョブ受信時刻、送信元ＩＰアドレス、送信元Ｍａｃアドレス、暗号鍵発行時刻、印刷完了フラグなどの情報を登録する。ステップＳ５０９の次の処理は、ステップＳ５０５の次の処理と同様にステップＳ５１３の印刷ジョブを印刷キューに格納する処理を行う。
【００５３】
次に、ステップＳ５１４において、ＣＰＵ２０１は、印刷処理中のデータがあるか否かを判定する。ここで、印刷処理中のデータ（印刷ジョブ）がある場合（ステップＳ５１４のＹｅｓ）には、ＣＰＵ２０１は、ステップＳ５０１の処理に戻る。また、印刷処理中のデータがない場合（ステップＳ５１４のＮｏ）には、ＣＰＵ２０１は、ステップＳ５１５に進み、印刷待ちのデータ（印刷ジョブ）があるか否かを判定する。具体的には、図６に示した印刷履歴テーブルの「キュー」６０２の列に格納された情報を参照することで、印刷待ちのデータの有無を確認する。
【００５４】
ここで、印刷処理待ちのデータがないと判定した場合（ステップＳ５１４のＮｏ）には、ＣＰＵ２０１は、ステップＳ５０１の処理に戻る。また、印刷処理待ちのデータがあると判定した場合（ステップＳ５１４のＹｅｓ）には、ステップＳ５１６に進み、ＣＰＵ２０１は、印刷キューの先頭の印刷データを印刷処理対象に設定する。次に、ステップＳ５１７において、ステップＳ５１６において印刷対象となった印刷データが暗号化印刷データであるか否かを判定する。ここで、印刷対象となった印刷データが暗号化印刷データである場合（ステップＳ５１７のＹｅｓ）には、ステップＳ５１８において、ＣＰＵ２０１は、暗号化印刷データの復号化を行い、ステップＳ５１９へ進む。また、印刷対象となった印刷データが暗号化印刷データでない場合（ステップＳ５１７のＮｏ）には、ステップＳ５１９に進み、ＣＰＵ２０１は、印刷データをビットマップデータに変換するラスタライズを行う。次に、ステップＳ５２０に進み、ＣＰＵ２０１は、印刷部２０８にラスタライズ後のビットマップデータを出力する。これにより、印刷部２０８は、利用者に設定された印刷設定に応じて紙にビットマップデータを印刷する。
【００５５】
以上に示したように、本実施形態におけるプリンタ２は、情報処理装置から受け取った印刷ジョブの一部を復号化し、暗号鍵発行識別情報を取得することができる。また、プリンタ２は、取得した暗号鍵発行識別情報と印刷履歴に含まれる暗号鍵発行識別情報とを照合することで、同じ暗号鍵発行識別情報を有する印刷ジョブがある場合は最初に受信した印刷ジョブのみを印刷するよう制御している。これにより、既に印刷処理された暗号化印刷データを盗聴して再度プリンタ２において印刷処理させようとする不正印刷を防ぐことができる。すなわち、本実施形態のプリンタ２においては、印刷履歴における暗号鍵発行識別情報を照合するという簡単な処理により、盗聴した印刷ジョブを該印刷ジョブの復号化鍵を有するプリンタ２に時間差を付けて送信することで不正印刷を行おうとしても、これを阻止することができるので、印刷処理の処理負荷を大きく増大させることなくセキュリティを飛躍的に高めることができるという効果を得る。更に、プリンタ２は、不正印刷の試みを検知した場合（ステップＳ５０７のＹｅｓ）には、図７に示したメール送信先へ「不正印刷の試みが行われた」旨のメッセージを送信することができる。
【００５６】
なお、上述した実施形態においては、単機能（印刷機能のみ）のプリンタ（印刷装置）を備える印刷システムを示したが、本発明が適用できる印刷システムは、この限りではなく、昨今ビジネス用として主流となりつつある複合機（プリンタ機能、コピー機能およびファクシミリ通信やファイル転送を可能とするネットワーク通信機能などを有する）であってもよく、少なくとも印刷を行う機能を有する装置を備える印刷システムであればよい。
【００５７】
また、上述したホストコンピュータ１またはプリンタ２やプリンタ５における種々の処理機能を実現する為のプログラムをメモリより読み出してＣＰＵ１０１またはＣＰＵ２０１が実行することによりその機能を実現させるものであったが、この限りではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。
また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ以外の揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【００５８】
また、上述したホストコンピュータ１において図４に示す各種処理を行う機能および上述したプリンタ２において図５に示す各種処理を行う機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００５９】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００６０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６１】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施形態におけるプリンタを備えるセキュリティ印刷システムの概略構成を示す図である。
【図２】ホストコンピュータ１のハードウェア構成を示す図である。
【図３】プリンタ２のハードウェア構成例を示す図である。
【図４】ホストコンピュータ１における印刷処理の動作を示すフローチャートである。
【図５】プリンタ２における印刷処理の動作を示すフローチャートである。
【図６】データ領域２０６に格納する印刷履歴情報を含む印刷履歴テーブル例を示す図である。
【図７】本実施形態における通知先の情報例を示す図である。
【符号の説明】
【００６３】
１          ホストコンピュータ
２          社内プリンタ
３          社内ＬＡＮ
４          ネットワーク
５          インターネットプリンタ
１０１、２０１  ＣＰＵ
１０２、２０３      ＲＯＭ
１０３、２０２      ＲＡＭ
１１１、２０４      外部メモリ
２０６      データ領域
【図１】
2005107977.tif 000003
【図２】
2005107977.tif 000004
【図３】
2005107977.tif 000005
【図４】
2005107977.tif 000006
【図５】
2005107977.tif 000007
【図６】
2005107977.tif 000008
【図７】
2005107977.tif 000009