(57)【要約】【課題】印刷処理時に可搬性メモリに格納した秘匿すべき印刷データが、他の装置で読み出されることを防止する技術を提供する。【解決手段】可搬性メモリを接続可能なプリンタ１００であって、印刷対象のデータを入力する入力手段と、入力された前記印刷対象のデータから印刷データを生成する印刷データ生成手段と、生成した印刷データを暗号化する暗号処理手段と、暗号化した前記印刷データを前記可搬性メモリに記憶するメモリ制御手段と、を備え、前記暗号処理手段は、印刷の指示を受け付けた場合に、前記可搬性メモリに記憶されている印刷データを復号化し、復号化した前記印刷データを印刷する印刷手段と、前記印刷データの印刷完了後に、前記可搬性メモリに記憶されている前記印刷データを無効化する無効化手段と、を備える。【選択図】図１
2009126033.tif 000002
【特許請求の範囲】
【請求項１】
可搬性メモリを接続可能なプリンタであって、
印刷対象のデータを入力する入力手段と、
入力された前記印刷対象のデータから印刷データを生成する印刷データ生成手段と、
生成した印刷データを暗号化する暗号処理手段と、
暗号化した前記印刷データを前記可搬性メモリに記憶するメモリ制御手段と、を備え、
前記暗号処理手段は、印刷の指示を受け付けた場合に、前記可搬性メモリに記憶されている印刷データを復号化し、
復号化した前記印刷データを印刷する印刷手段と、
前記印刷データの印刷完了後に、前記可搬性メモリに記憶されている前記印刷データを無効化する無効化手段と、
を備えることを特徴とするプリンタ。
【請求項２】
請求項１に記載のプリンタであって、
前記可搬性メモリが当該プリンタに接続されたこと、及び、前記可搬性メモリが当該プリンタから抜かれたこと、を検出する検出手段、を備え、
前記暗号処理手段は、
前記可搬性メモリが接続されたことを、前記検出手段が検出した場合に、印刷データの暗号化するための暗号鍵と、前記暗号化鍵で暗号化された印刷データを復号化するための復号鍵と、を生成し、
前記可搬性メモリが抜かれたことを、前記検出手段が検出した場合に、前記暗号鍵と前記復号鍵と、を消去する、
ことを特徴とするプリンタ。
【請求項３】
請求項２に記載のプリンタであって、
前記無効化手段が前記可搬性メモリに記憶されている印刷データを無効化する前に、前記可搬性メモリが抜かれた場合、そのことをユーザに通知する通知手段、
を備えることを特徴とするプリンタ。
【請求項４】
請求項１乃至３のいずれか１項に記載のプリンタであって、
前記入力手段は、
前記印刷対象のデータとともに、印刷方式を指定するコマンドを入力し、
前記メモリ制御手段は、
前記コマンドで指定された印刷方式が、前記可搬性メモリを使用する方式である場合に、前記印刷データを前記可搬性メモリに記憶する、
ことを特徴とするプリンタ。
【請求項５】
請求項４に記載のプリンタであって、
前記コマンドは、印刷データを暗号化するか否かを指定する情報を含み、
前記暗号処理手段は、
前記コマンドに含まれている前記情報に基づいて、印刷データを暗号化するか否かを決定し、
前記メモリ制御手段は、
前記暗号処理手段が暗号化しないことを決定した場合には、暗号化していない印刷データを前記可搬性メモリに記憶する、
ことを特徴とするプリンタ。
【請求項６】
少なくとも印刷機能を有し、可搬性メモリを接続可能な複合機であって、
印刷対象のデータを入力する入力手段と、
入力された前記印刷対象のデータから印刷データを生成する印刷データ生成手段と、
生成した印刷データを暗号化する暗号処理手段と、
暗号化した前記印刷データを前記可搬性メモリに記憶するメモリ制御手段と、を備え、
前記暗号処理手段は、印刷の指示を受け付けた場合に、前記可搬性メモリに記憶されている印刷データを復号化し、
復号化した前記印刷データを印刷する印刷手段と、
前記印刷データの印刷完了後に、前記可搬性メモリに記憶されている前記印刷データを無効化する無効化手段と、
を備えることを特徴とする複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、および、プリンタ機能を備えた複合機に関する。
【背景技術】
【０００２】
特許文献１には、可搬性の記憶媒体（以下では、「可搬性メモリ」とよぶ）を接続することができるプリンタについて記載されている。このようなプリンタにおいて、可搬性メモリは、認証印刷や電子ソート印刷等の印刷処理時に生成した印刷データを、一時的に格納するために使用される。
【０００３】
【特許文献１】特開２００４−２６７８８６号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、印刷データを格納した可搬性メモリを部外者が持ち出すことは容易であるため、可搬性メモリに格納した秘匿すべき印刷データが、他の装置で読み出されてしまうおそれがある。
【０００５】
本発明は、印刷処理時に可搬性メモリに格納した秘匿すべき印刷データが、他の装置で読み出されることを防止する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本願発明のプリンタは、可搬性メモリを接続可能なプリンタであって、印刷対象のデータを入力する入力手段と、入力された前記印刷対象のデータから印刷データを生成する印刷データ生成手段と、生成した印刷データを暗号化する暗号処理手段と、暗号化した前記印刷データを前記可搬性メモリに記憶するメモリ制御手段と、を備え、前記暗号処理手段は、印刷の指示を受け付けた場合に、前記可搬性メモリに記憶されている印刷データを復号化し、復号化した前記印刷データを印刷する印刷手段と、前記印刷データの印刷完了後に、前記可搬性メモリに記憶されている前記印刷データを無効化する無効化手段と、を備える。
【発明の効果】
【０００７】
本発明のプリンタによれば、印刷処理時に可搬性メモリに格納した秘匿すべき印刷データが、他の装置で読み出されることを防止することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態の一例を図面を参照して説明する。
【０００９】
図１は、本発明の一実施形態が適用された印刷システム１０のハードウェア構成の概要を説明するためのブロック図である。
【００１０】
図示するように、印刷システム１０は、印刷機能を有するプリンタ１００と、プリンタ１００のホストコンピュータである情報処理装置２００と、を備えている。
【００１１】
プリンタ１００は、図示するように、ＣＰＵ（Central Processing Unit）１０１と、メモリ制御ＡＳＩＣ（Application Specific Integrated Circuit）１０２と、揮発性メモリ１０３と、不揮発性メモリ１０４と、画像処理ＡＳＩＣ１０５と、印刷制御部１０６と、ビデオデータインタフェース１０７と、印刷エンジン１０８と、Ｉ／Ｏ（Input/Output）制御ＡＳＩＣ１０９と、可搬性メモリ１１０と、各種外部インタフェース１１１と、電源１１２と、を備えている。
【００１２】
ＣＰＵ１０１は、各種プログラムを実行して、プリンタ１００全体を制御する。例えば、ＣＰＵ１０１は、印刷処理を行うための命令を各ユニットに送信する。また、ＣＰＵ１０１は、印刷データを暗号化又は復号化するための鍵を生成する。また、ＣＰＵ１０１は、生成した鍵を用いて、暗号化処理、復号化処理を行う。また、ＣＰＵ１０１は、印刷処理時に生成した印刷データ（暗号化した印刷データも含む）を、可搬性メモリ１１０に格納するかどうかを決定する処理を行う。
【００１３】
メモリ制御ＡＳＩＣ１０２は、プリンタ１００に接続されているメモリを制御する。例えば、メモリ制御ＡＳＩＣ１０２は、データおよびプログラム等を一時的に記憶する揮発性メモリ１０３と、各種プログラムを格納している不揮発性メモリ１０４を制御する。また、メモリ制御ＡＳＩＣ１０２は、後述するＩ／Ｏ（Input/Output）制御ＡＳＩＣ１０９を介して、所定の装着位置（図示せず）に装着されている可搬性メモリ１１０を制御する。
【００１４】
ここで、揮発性メモリ１０３は、電源を切断すると記憶内容を失う半導体メモリであり、例えば、ＲＡＭ（Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等を含む。また、不揮発性メモリ１０４は、電源を切断しても記憶内容を保持する半導体メモリであり、例えば、ＲＯＭ（Read Only Memory）等を含む。また、可搬性メモリ１１０は、プリンタ１００の装着コネクタ（図示せず）から取り外して持ち運ぶことが可能な小型のメモリであり、フラッシュメモリを採用している各種メモリカードを含む。例えば、可搬性メモリ１１０は、コンパクトフラッシュカード、ＳＤ（Secure Digital）メモリカード、ＵＳＢ（Universal Serial Bus）メモリ、等を含む。可搬性メモリ１１０を使用することにより、印刷時における印刷データの記憶容量を増加させることができる。例えば、可搬性メモリ１１０は、認証印刷や電子ソート印刷を行うときに使用される。
【００１５】
画像処理ＡＳＩＣ１０５は、印刷時において、印刷対象のデータ（例えば、画像データ）を印刷データに変換する処理を行うための回路（群）である。例えば、画像処理ＡＳＩＣ１０５は、印刷対象のデータに対して、色変換、圧縮、伸張、２値化、といった処理を施し、印刷データを生成する。印刷制御部１０６は、生成した印刷データを、印刷制御部１０６或いはビデオデータインタフェース１０７に供給する。
【００１６】
印刷制御部１０６は、印刷エンジン１０８を制御する。具体的には、印刷制御部１０６は、画像処理ＡＳＩＣ１０５から供給された印刷データに基づくプリントイメージデータを生成し、このプリントイメージデータを印刷エンジン１０８に送信して印刷させる。
【００１７】
ビデオデータインタフェース１０７は、印刷エンジン１０８に、ビデオデータを送信して印刷させる。具体的には、ビデオデータインタフェース１０７は、画像処理ＡＳＩＣ１０５から供給された印刷データを１ページ単位でビデオデータに展開し、そのビデオデータを制御コマンドとともに印刷エンジン１０８に送信して印刷させる。
【００１８】
印刷エンジン１０８は、トナーカートリッジ、感光体ドラム、レーザ光照射機構、紙送り機構、印刷媒体の給排紙処理を行う給排紙機構等からなり、印刷制御部１０６或いはビデオデータインタフェース１０７からの指示にしたがって印刷を実行する。
【００１９】
ＩＯ制御ＡＳＣＩ１０９は、各種ＩＯ装置を制御する回路（群）である。例えば、可搬性メモリ１１０、各種外部インタフェース（Ｉ／Ｆ）１１１、等とのデータの送受信を制御する。具体的には、ＩＯ制御ＡＳＩＣ１０９は、所定の装着位置に可搬性メモリ１１０が装着されたときに、装着されたことを示す信号をＣＰＵ１０１に供給する。また、所定の装着位置から可搬性メモリ１１０が抜かれたときには、抜かれたことを示す信号をＣＰＵ１０１に供給する。また、ＩＯ制御ＡＳＩＣ１０９は、各種外部インタフェース１１１を介して情報処理装置２００から受信した印刷対象のデータ（画像データ、印刷データを含む）を、揮発性メモリ１０３にＤＭＡ（Direct Memory Access）転送することができる。
【００２０】
ここで、各種外部インタフェース１１１は、情報処理装置２００や各種デバイスとデータの送受信を行うためのインタフェースである。各種デバイスには、例えば、入力装置（スイッチ類、ボタン類、パネル、等）、出力装置（ディスプレイ、パネル、等）、ＵＳＢデバイス、パラレル通信を行うデバイス、ネットワーク経由で通信を行うデバイス、が含まれる。
【００２１】
電源１１２は、プリンタ１００に備わる各ユニットに、電力を供給する装置である。
【００２２】
本実施形態が適用されたプリンタ１００は、以上のような構成からなる。ただし、プリンタ１００の構成はこれに限定されない。例えば、プリンタ１００は、スキャナ機能、コピー機能、ＦＡＸ機能、ネットワークプリント機能、等の各種機能を有する複合機であってもよい。スキャナ機能を備える場合、スキャナ装置により読み取った画像データ（スキャナデータ）は、可搬性メモリ１１０に格納されることがある。
【００２３】
情報処理装置２００は、生成した印刷対象のデータを、所定のケーブル（例えば、ＵＳＢケーブル、ＬＡＮケーブル、ＦＡＸ回線、等）を介して、プリンタ１００に送信することができる。このような情報処理装置２００は、例えば、一般的なコンピュータや、デジタルカメラ等の画像形成装置でよい。また、情報処理装置２００は、複数台の情報処理装置から構成されてもよい。
【００２４】
次に、上記印刷システム１０によりプリンタ１００および情報処理装置２００に実現される機能構成について、図２のブロック図を参照して説明する。
【００２５】
図示するように、情報処理装置２００上には、印刷対象データ生成部５１０と、インタフェース部５１１と、表示処理部５１２と、が構築される。
【００２６】
印刷対象データ生成部５１０は、印刷対象のデータ（例えば、画像データ、テキストデータ）を生成する。また、印刷の指示がされたときに、印刷対象データ生成部５１０は、ユーザに指定された印刷方式でプリンタ１００に印刷させるための印刷コマンドを生成する。ここで、指定可能な印刷方式には、可搬性メモリ１１０を使用しない通常印刷方式、可搬性メモリ１１０を使用する拡張印刷方式（認証印刷方式、電子ソート印刷方式、等）が含まれる。また、印刷対象データ生成部５１０は、拡張印刷方式が指定された場合において、可搬性メモリ１１０に格納する印刷データを暗号化するか否かを指定する情報を、印刷コマンドに含めることができる。
【００２７】
インタフェース部５１１は、印刷対象データ生成部５１０が生成した印刷対象のデータを、印刷コマンドとともに、プリンタ１００に送信する。例えば、プリンタ１００と情報処理装置２００とがＵＳＢケーブルで接続されている場合には、インタフェース部５１１は、印刷対象のデータと印刷コマンドを、ＵＳＢ規格に従って、プリンタ１００に送信する。
【００２８】
表示処理部５１２は、情報処理装置２００に接続されているディスプレイ（図示せず）に、画像や文字列を表示する処理を行う。例えば、表示処理部５１２は、可搬性メモリ１１０に格納されている印刷データが無効化される前に、可搬性メモリ１１０がプリンタ１００から抜かれた場合等において、ユーザに警告を通知する画面をディスプレイに表示する。
【００２９】
一方、プリンタ１００上には、印刷機能部５００と、プリンタドライバ部５０１と、メモリ制御部５０２と、暗号処理部５０３と、電源監視部５０４と、インタフェース部５０５と、が構築される。これらは、ＣＰＵ１０１が所定のプログラムを実行することにより、又は、図１に示した構成要素が動作することにより、ソフトウェア的、ハードウェア的に構築される。
【００３０】
印刷機能部５００は、印刷対象のデータ（例えば、画像データ）がプリンタ１００に入力されたときに、入力された印刷対象のデータから印刷データを生成する。また、印刷機能部５００は、印刷対象のデータとともに入力された印刷コマンドに従って、生成した印刷データを、可搬性メモリ１１０に格納するか否か決定する。また、印刷機能部５００は、印刷コマンドに従って、生成した印刷データを暗号化するか否か決定する。
【００３１】
プリンタドライバ部５０１は、印刷実行の指示がされたときに、印刷データを印刷する処理を行う。具体的には、印刷機能部５００が生成した印刷データから、プリントイメージデータ或いはビデオデータを生成し、印刷を実行する。
【００３２】
メモリ制御部５０２は、可搬性メモリ１１０がプリンタ１００における所定の装着位置に装着されたことを検出する。また、メモリ制御部５０２は、可搬性メモリ１１０が抜かれたことを検出する。また、メモリ制御部５０２は、印刷機能部５００による決定に従って、印刷実行の指示前に、可搬性メモリ１１０に印刷データを記憶する。また、メモリ制御部５０２は、印刷後には、可搬性メモリ１１０に記憶した印刷データを無効化（例えば、消去）する。
【００３３】
暗号処理部５０３は、印刷機能部５００による決定に従って、印刷データを暗号化する。ここで、暗号処理部５０３が印刷データを暗号化する方式は、例えば、ＤＥＳ（Data Encryption Standard）、ＡＥＳ(Advanced Encryption Standard)、ＲＣ４（Rivest's Cipher 4）といった共通鍵方式でよいし、ＲＳＡ（Rivest Shamir Adleman）といった公開鍵方式でもよい。
【００３４】
暗号処理部５０３は、メモリ制御部５０２が可搬性メモリ１１０の挿入を検出するたびに、暗号鍵、及び、復号鍵を生成し、揮発性メモリ１０３に格納する。また、暗号処理部５０３は、生成した暗号鍵を用いて、印刷データを暗号化する。これにより、印刷データが格納されている状態で可搬性メモリ１１０がプリンタ１００から抜かれたとしても、印刷データは暗号化されているため、可搬性メモリ１１０内のデータを他のコンピュータ等で正常に読み出すことはできない。
【００３５】
また、暗号処理部５０３は、印刷実行の指示がされたときに、暗号化されている印刷データを、復号鍵を用いて復号する処理を行う。また、暗号処理部５０３は、メモリ制御部５０２が可搬性メモリ１１０が抜かれたことを検出するたびに、揮発性メモリ１０３に格納されている暗号鍵、復号鍵を消去する。
【００３６】
電源監視部５０４は、電源１１２からプリンタ１００を構成する各ユニットに電力が供給されているか否かについて監視する。具体的には、電源監視部５０４は、ＣＰＵ１０１への電力供給がされているか否かを判別して、各ユニットへの電力供給を判定する。
【００３７】
インタフェース部５０５は、情報処理装置２００から送信された印刷対象のデータと印刷コマンドを受信する。例えば、プリンタ１００と情報処理装置２００とがＵＳＢケーブルで接続されている場合には、インタフェース部５０５は、ＵＳＢ規格に従って、情報処理装置２００から送信されたデータを受信する。
【００３８】
次に、上記構成からなる印刷システム１０におけるプリンタ１００の特徴的な動作について説明する。図３は、プリンタ１００が行う通常印刷方式による印刷処理を示すフローチャートである。
【００３９】
プリンタ１００の電源監視部５０４は、、プリンタ１００を構成する各ユニットへの電力供給を、電源１１２が開始したと判定したときに、印刷処理を開始する。
【００４０】
印刷処理を開始後、印刷機能部５００は、プリンタ１００に入力された印刷対象のデータを印刷可能にするための初期動作を行う（ステップＳ１０１）。例えば、印刷機能部５００は、印刷エンジン１０８の動作チェック等を行う。
【００４１】
ステップＳ１０１における初期動作を完了後、印刷機能部５００は、印刷対象のデータが入力されるまで待機し（ステップＳ１０２；Ｎｏ）、印刷対象のデータが入力されたときに（ステップＳ１０２；Ｙｅｓ）、処理をステップＳ１０３に移行する。具体的には、ＩＯ制御ＡＳＩＣ１０９は、情報処理装置２００から送信された印刷対象のデータを、各種外部インタフェース１１１を介して受信したときに、ＤＭＡ転送により揮発性メモリ１０３に記憶する。そして、ＩＯ制御ＡＳＩＣ１０９は、印刷対象のデータとともに、上述した印刷コマンドを受信し、ＣＰＵ１０１に供給する。このとき、印刷機能部５００は、処理をステップＳ１０３に移行する。
【００４２】
続いて、印刷機能部５００は、ステップＳ１０２で受信した印刷コマンド（ここでは、通常印刷方式による印刷の実行を指示するコマンド）に従って、入力された印刷対象のデータから印刷データを生成する（ステップＳ１０３）。具体的には、印刷機能部５００は、ステップＳ１０２で揮発性メモリ１０３に格納した印刷対象のデータを、画像処理ＡＳＩＣ１０５に転送して印刷データに変換する。
【００４３】
ここで、プリンタドライバ部５０１は、ステップＳ１０３で生成した印刷データを、印刷する処理を行う（ステップＳ１０４）。具体的には、プリンタドライバ部５０１は、印刷データに基づくプリントイメージデータ或いはビデオデータを生成し、印刷エンジン１０８に送信する。このとき、印刷エンジン１０８は、トナーカートリッジ、感光体ドラム、レーザ光照射機構、給排紙機構等を駆動して、供給されたプリントイメージ或いはビデオデータを印刷媒体に印刷する。
【００４４】
ステップＳ１０４での印刷後、印刷機能部５００は、処理をステップＳ１０２に戻す。
【００４５】
以上の通常印刷方式による印刷処理により、プリンタ１００は、情報処理装置２００から送信された印刷対象のデータを印刷することができる。
【００４６】
続いて、図４は、プリンタ１００が行う拡張印刷方式による印刷処理を示すフローチャートである。
【００４７】
通常印刷方式による印刷処理と同様に、プリンタ１００の電源監視部５０４は、電源１１２からプリンタ１００を構成する各ユニットへの電力供給が開始されたと判定したときに、印刷処理を開始する。
【００４８】
拡張印刷方式による印刷処理を開始後、印刷機能部５００は、ステップＳ１０１で行う処理と同様の処理（初期動作）を行う（ステップＳ２０１）。
【００４９】
ステップＳ２０１における初期動作を完了後、印刷機能部５００は、印刷対象のデータが入力されるまで待機し（ステップＳ２０２；Ｎｏ）、印刷対象のデータが入力されたときに（ステップＳ２０２；Ｙｅｓ）、処理をステップＳ２０３に移行する。
【００５０】
次に、印刷機能部５００は、印刷対象のデータとともに入力された印刷コマンドを解釈して、可搬性メモリ１１０を使用する拡張印刷方式が指定されているか否かを判別する（ステップＳ２０３）。拡張印刷方式が指定されていると判定したときには（ステップＳ２０３；Ｙｅｓ）、処理をステップＳ２０４に移行する。一方、拡張印刷方式ではなく通常印刷方式が指定されていると判定したときには（ステップＳ２０３；Ｎｏ）、処理を図３のステップＳ１０３に移行して、通常印刷方式による印刷処理を行う。
【００５１】
ステップＳ２０４では、印刷機能部５００は、印刷コマンドを解釈して、可搬性メモリ１１０に格納する印刷データを暗号化するか否かを決定する（ステップＳ２０４）。具体的には、印刷機能部５００は、印刷コマンドに暗号化を指示する情報が含まれている場合（ステップＳ２０４；Ｙｅｓ）、印刷データを暗号化する決定をして、処理をステップＳ２０５に移行する。一方、印刷コマンドに、暗号化を指示する情報が含まれていない場合（ステップＳ２０４；Ｎｏ）、印刷データを暗号化しない決定をして、処理をステップＳ２１１に移行する。
【００５２】
ステップＳ２０４において、暗号化する決定がされた場合、まず、印刷機能部５００は、ステップＳ２０２で受信した印刷コマンド（ここでは、拡張印刷方式による印刷（認証印刷、電子ソート印刷、等）を指定するコマンド）に従って、入力された印刷のデータから印刷データを生成する（ステップＳ２０５）。具体的には、印刷機能部５００は、ステップＳ２０２で揮発性メモリ１０３に格納した印刷対象のデータを、画像処理ＡＳＩＣ１０５に転送して印刷データに変換する。その後、印刷機能部５００は、生成した印刷データを、揮発性メモリ１０３に格納する。
【００５３】
続いて、暗号処理部５０３は、印刷データを暗号化する処理を行う（ステップＳ２０６）。具体的には、暗号処理部５０３は、後述する暗号鍵管理処理において生成した暗号鍵を用いて、ステップＳ２０５で揮発性メモリ１０３に格納された印刷データを暗号化する。このとき、メモリ制御部５０２は、暗号化した印刷データを、可搬性メモリ１１０に格納する。
【００５４】
続いて、印刷機能部５００は、可搬性メモリ１１０に格納されている印刷データについて、印刷実行の指示がされるまで待機し（ステップＳ２０７；Ｎｏ）、印刷実行の指示がされたときに（ステップＳ２０７；Ｙｅｓ）、処理をステップＳ２０８に移行する。ここで、印刷機能部５００は、例えば、ユーザによって印刷実行用のボタン（図示せず）が操作されたときに、印刷実行の指示がされたと判定する。また、認証印刷時には、認証処理が完了したときに、印刷実行の指示がされたと判定してもよいし、電子ソート印刷時には、最初の１部の印刷が完了したときに、印刷実行の指示がされたと判定してもよい。
【００５５】
印刷実行の指示がされた後、暗号処理部５０３は、可搬性メモリ１１０に格納されている暗号化された印刷データを復号化する処理を行う（ステップＳ２０８）。具体的には、暗号処理部５０３は、後述する暗号鍵管理処理において生成した復号鍵を用いて、ステップＳ２０６で可搬性メモリ１１０に暗号化して格納した印刷データを復号化する。このとき、暗号処理部５０３は、復号化した印刷データを、揮発性メモリ１０３にロードする。
【００５６】
続いて、プリンタドライバ部５０１は、ステップＳ２０８で復号化した印刷データを、印刷する処理を行う（ステップＳ２０９）。具体的には、プリンタドライバ部５０１は、ステップＳ１０４における印刷処理と同様の処理を実行する。
【００５７】
ステップＳ２０９での印刷後、メモリ制御部５０２は、可搬性メモリ１１０に記憶してある印刷データを無効化する（ステップＳ２１０）。ここで、印刷した印刷データを無効化するために、例えば、印刷データを消去してもよいし、印刷データを読み取り不可にする所定の処理をしてもよい。この所定の処理には、例えば、可搬性メモリ１１０内の印刷データ（ファイル）の位置情報を消去する処理が含まれる。
【００５８】
印刷データを無効化した後、印刷機能部５００は、処理をステップＳ２０２に戻す。
【００５９】
一方、ステップＳ２０４において、暗号化しない決定がされた場合、まず、印刷機能部５００は、ステップＳ２０２で受信した印刷コマンド（ここでは、拡張印刷方式による印刷（認証印刷、電子ソート印刷、等）を指定するコマンド）に従って、入力された印刷のデータから印刷データを生成する（ステップＳ２１１）。具体的には、上述したステップＳ２０５における処理と同様の処理を行う。
【００６０】
続いて、メモリ制御部５０２は、ステップＳ２１１で生成した印刷データを、暗号化せずに可搬性メモリ１１０に格納する（ステップＳ２１２）。
【００６１】
その後、印刷機能部５００は、可搬性メモリ１１０に格納されている印刷データについて、印刷実行の指示がされるまで待機し（ステップＳ２１３；Ｎｏ）、印刷実行の指示がされたときに（ステップＳ２１３；Ｙｅｓ）、処理をステップＳ２１４に移行する。ここで、印刷機能部５００は、例えば、ステップＳ２０７において印刷実行の指示がされたと判定したときと同様のタイミングで、印刷実行の指示がされたと判定する。
【００６２】
印刷実行の指示がされた後、印刷機能部５００は、可搬性メモリ１１０に格納されている印刷データを、揮発性メモリ１０３にロードする（ステップＳ２１４）。
【００６３】
続いて、プリンタドライバ部５０１は、ステップＳ２１４で揮発性メモリ１０３にロードした印刷データを、印刷する処理を行う（ステップＳ２１５）。具体的には、プリンタドライバ部５０１は、ステップＳ１０４における印刷処理と同様の処理を実行する。
【００６４】
ステップＳ２１５での印刷後、メモリ制御部５０２は、可搬性メモリ１１０に記憶してある印刷データを無効化する（ステップＳ２１６）。ここで、印刷した印刷データを無効化するために、例えば、印刷データを消去してもよいし、印刷データを読み取り不可にする所定の処理をしてもよい。
【００６５】
印刷データを無効化した後、印刷機能部５００は、処理をステップＳ２０２に戻す。
【００６６】
以上の拡張印刷方式による印刷処理により、プリンタ１００は、可搬性メモリ１１０を使用した印刷を行うことができる。また、可搬性メモリ１１０に記憶する印刷データを暗号化することにより、印刷時に可搬性メモリ１１０に記憶した印刷データの外部流出を防ぐことができる。
【００６７】
続いて、図５は、プリンタ１００が行う暗号鍵管理処理を示すフローチャートである。ここで、暗号鍵管理処理とは、ステップＳ２０６における暗号化処理で用いた暗号鍵と、ステップＳ２０８における復号化処理で用いた復号鍵と、を管理する処理である。
【００６８】
プリンタ１００の電源監視部５０４は、電源１１２からプリンタ１００を構成する各ユニットへの電力供給が開始されたと判定したときに、暗号鍵管理処理を開始する。
【００６９】
暗号鍵管理処理を開始後、メモリ制御部５０２は、可搬性メモリ１１０がプリンタ１００における所定の装着位置に装着されたことを検出するまで待機する（ステップＳ３０１；Ｎｏ）。そして、可搬性メモリ１１０が装着されたことを検出したとき（ステップＳ３０１；Ｙｅｓ）、処理をステップＳ３０２に移行する。ここで、可搬性メモリ１１０が装着されたことを検出する方法は、任意の方法でよい。例えば、可搬性メモリ１１０が装着されたことを示す信号が、ＩＯ制御ＡＳＩＣ１０９からＣＰＵ１０１に供給されたときに、メモリ制御部５０２は、可搬性メモリ１１０が装着されたと判定するようにしてもよい。
【００７０】
可搬性メモリ１１０が装着されると、暗号処理部５０３は、可搬性メモリ１１０に記憶する印刷データを暗号化するための暗号鍵と、その暗号鍵で暗号化された印刷データを復号するための復号鍵を生成する（ステップＳ３０２）。ここで、生成する暗号鍵と、復号鍵は、共通の鍵としてもよい。また、一般的なランダム関数で発生させた数値を、暗号鍵に用いてもよい。
【００７１】
このとき、暗号処理部５０３は、生成した暗号鍵と復号鍵を、揮発性メモリ１０３に格納する。これにより、ステップＳ３０２で生成した暗号鍵と復号鍵は、プリンタ１００の電源がいったん切断されると、消滅する。
【００７２】
暗号鍵、復号鍵を生成後、メモリ制御部５０２は、可搬性メモリ１１０がプリンタ１００から抜かれたことを検出するまで待機する（ステップＳ３０３；Ｎｏ）。そして、可搬性メモリ１１０が抜かれたことを検出したとき（ステップＳ３０３；Ｙｅｓ）、処理をステップＳ３０４に移行する。ここで、可搬性メモリ１１０が抜かれたことを検出する方法は、任意の方法でよい。例えば、可搬性メモリ１１０が抜かれことを示す信号が、ＩＯ制御ＡＳＩＣ１０９からＣＰＵ１０１に供給されたときに、メモリ制御部５０２は、可搬性メモリ１１０が抜かれたと判定するようにしてもよい。
【００７３】
可搬性メモリ１１０が抜かれると、暗号処理部５０３は、ステップＳ３０２において生成した暗号鍵と復号鍵を、揮発性メモリ１０３から消去する（ステップＳ３０４）。
【００７４】
続いて、印刷機能部５００は、プリンタ１００が、可搬性メモリ１１０に格納してある印刷データについて、印刷実行の指示を待機している状態であるか否かを判別する（ステップＳ３０５）。具体的には、印刷機能部５００は、図４の拡張印刷方式による印刷処理において、ステップＳ２０６、ステップＳ２０７、ステップＳ２１２、ステップＳ２１３のいずれかの処理をＣＰＵ１０１が実行中である場合に、プリンタ１００が印刷実行の指示を待機している状態であると判定する。
【００７５】
印刷機能部５００は、印刷実行の指示を待機している状態ではないと判定した場合（ステップＳ３０５；Ｎｏ）、処理をステップＳ３０１に戻す。一方、印刷実行の指示を待機している状態と判定した場合（ステップＳ３０５；Ｙｅｓ）、処理をステップＳ３０６に移行する。
【００７６】
ステップＳ３０６では、印刷機能部５００は、可搬性メモリ１１０に格納されている印刷データを無効化する前に、可搬性メモリ１１０がプリンタ１００から抜かれたことをユーザに通知する処理を行う（ステップＳ３０６）。具体的には、印刷機能部５００は、インタフェース部５０５を介して、情報処理装置２００の表示処理部５１２に、図６に示すような警告画面６００を表示させる。図示するように、警告画面６００上には、例えば、「印刷前にメモリカードが抜かれました。」といった警告情報６０１が表示される。これにより、警告画面６００を見たユーザは、先にプリンタ１００に送信した印刷対象のデータについて、もはや印刷することはできないことを、その時点で知ることができる。
【００７７】
情報処理装置２００に警告画面６００を表示させた後、印刷機能部５００は、処理をステップＳ３０１に戻す。
【００７８】
以上の暗号鍵管理処理により、プリンタ１００は、可搬性メモリ１１０が装着されるたびに、可搬性メモリ１１０に格納されている印刷データの暗号鍵、復号鍵を、新たに生成する。そして、可搬性メモリ１１０が抜かれたときには、その暗号鍵、復号鍵を消去する。これにより、可搬性メモリ１１０が抜かれた後に、復号鍵をプリンタ１００の外部に持ち出すことを防止することができる。
【００７９】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【００８０】
上記実施形態では、暗号鍵管理処理において、暗号処理部５０３は、可搬性メモリ１１０がプリンタ１００に装着されたときに、暗号鍵及び復号鍵を生成する。しかしながら、これに限定されず、例えば、電源が投入されたときに、新たに暗号鍵及び復号鍵を生成するようにしてもよい。この場合、プリンタ１００（ＣＰＵ１０１）は、暗号鍵管理処理におけるステップＳ３０１の処理を行わず、暗号鍵管理処理を開始後に、ステップＳ３０２の処理を行えばよい。
【００８１】
また、上記実施形態では、警告画面６００を、情報処理装置２００に接続されているディスプレイに表示させることにより、可搬性メモリ１１０に格納されている印刷データを無効化する前に、可搬性メモリ１１０がプリンタ１００から抜かれたことをユーザに通知している。しかし、これに限定されず、例えば、プリンタ１００の各種外部インタフェース１１１に接続されている出力装置（例えば、パネル）に、警告情報６０１と同様の情報を表示させてるようにしてもよい。
【００８２】
さらに、上記実施形態では、暗号処理部５０３が行う暗号化処理及び復号化処理は、ＣＰＵ１０１が不揮発性メモリ１０４に格納されている所定のプログラムに従って処理することで実現される。しかし、これに限定されず、例えば、プリンタ１００は、暗号化処理を行うＡＳＩＣ、及び、復号化処理を行うＡＳＩＣを備えるようにしてもよい。
【００８３】
また、プリンタ１００がスキャナ機能を備える複合機である場合においては、スキャナ装置により読み取った画像データ（スキャナデータ）を暗号化して、可搬性メモリ１１０に格納するようにしてもよい。具体的には、暗号処理部５０４が、揮発性メモリ１０３に格納していある暗号鍵を用いて、スキャナ装置により読み取った画像データ（スキャナデータ）を暗号化する。そして、メモリ制御部５０２が、暗号化された印刷データを、可搬性メモリ１１０に格納するようにすればよい。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態に係る印刷システムのハードウェア構成図である。
【図２】印刷システムの機能構成を説明するためのブロック図である。
【図３】通常印刷方式による印刷処理を説明するためのフローチャートである。
【図４】拡張印刷方式による印刷処理を説明するためのフローチャートである。
【図５】暗号鍵管理処理を説明するためのフローチャートである。
【図６】警告画面の一例を示す図である。
【符号の説明】
【００８５】
１０・・・印刷システム、１００・・・プリンタ、１０１・・・ＣＰＵ１０３、１０２・・・メモリ制御ＡＳＩＣ、１０３・・・揮発性メモリ、１０４・・・不揮発性メモリ、１０５・・・画像処理ＡＳＩＣ、１０６・・・印刷制御部、１０７・・・ビデオデータインタフェース、１０８・・・印刷エンジン、１０９・・・ＩＯ制御インタフェース、１１０・・・可搬性メモリ、１１１・・・各種外部インタフェース、１１２・・・電源、２００・・・情報処理装置、５００・・・印刷機能部、５０１・・・プリンタドライバ部、５０２・・・メモリ制御部、５０３・・・暗号処理部、５０４・・・電源監視部、５０５・・・インタフェース部（プリンタ）、５１０・・・印刷対象データ生成部、５１１・・・インタフェース部（情報処理装置）、５１２・・・表示処理部、６００・・・警告画面。
【図１】
2009126033.tif 000003
【図２】
2009126033.tif 000004
【図３】
2009126033.tif 000005
【図４】
2009126033.tif 000006
【図５】
2009126033.tif 000007
【図６】
2009126033.tif 000008