(57)【要約】【課題】画像処理装置においてジョブの実行性能を低下させずに、ジョブで使用されるデータを適切なタイミングに無効化することを可能にするための技術を提供する。【解決手段】画像形成装置のＣＰＵは、ＨＤＤの複数の領域（パーティション）のうちの特定のパーティション（テンポラリ領域）に格納されたデータを使用してジョブを実行する。ＣＰＵは、ジョブの実行が完了すると（Ｓ５１４）、当該ジョブに関連する画像データが存在するテンポラリ領域に格納されているデータを使用して実行すべき他のジョブが存在するか否かを判定する（Ｓ５１６）。ＣＰＵは、そのような他のジョブが存在しないと判定すると、テンポラリ領域に対して保持されている暗号鍵の更新（消去及び生成）をＨＤＤに指示する（Ｓ５１７，Ｓ５１８）。【選択図】図５
2017050737.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
記憶領域が複数の領域に分割された状態で使用される記憶装置であって、前記複数の領域のそれぞれに格納されるデータの暗号化に用いる暗号鍵を領域ごとに保持している、前記記憶装置と、
前記記憶装置の前記複数の領域のうちの特定の領域に格納されたデータを使用してジョブを実行する実行手段と、
前記実行手段によるジョブの実行が完了すると、前記特定の領域に格納されているデータを使用して実行すべき他のジョブが存在するか否かを判定する判定手段と、
前記判定手段によって前記他のジョブが存在しないと判定されると、前記特定の領域に対して保持されている暗号鍵の更新を前記記憶装置に指示する指示手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記記憶装置は、前記特定の領域に対して保持している暗号鍵の更新を前記指示手段によって指示されると、当該暗号鍵を消去するとともに、前記特定の領域へ新たに格納されるデータの暗号化に用いる暗号鍵を再生成する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記実行手段は、前記画像処理装置において実行すべきジョブを受け付けると、当該ジョブで使用するデータを前記複数の領域のうちの１つに格納して当該ジョブを実行する、
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
画像形成装置において実行すべきジョブと、前記複数の領域のうちで当該ジョブで使用されるデータが格納されている領域と、を関連付けて管理するためのジョブ管理テーブルを更に備え、
前記実行手段は、前記画像処理装置において実行すべきジョブを受け付けると、当該ジョブを前記ジョブ管理テーブルに追加し、ジョブの実行が完了すると、当該ジョブを前記ジョブ管理テーブルから削除し、
前記判定手段は、前記実行手段によるジョブの実行が完了すると、前記特定の領域に格納されているデータを使用して実行すべき他のジョブが、前記ジョブ管理テーブルに存在するか否かを判定する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記記憶領域は、ジョブの実行に使用されるデータを格納可能な第１の領域及び第２の領域を含み、
前記実行手段は、前記指示手段によって前記第１の領域に対して保持されている暗号鍵の更新が指示されてから前記記憶装置によって前記第１の領域についての暗号鍵の更新が完了するまでの間に、新たなジョブを受け付けると、当該ジョブで使用されるデータを前記第２の領域に格納して当該ジョブを実行する、
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記実行手段は、前記指示手段によって前記特定の領域に対して保持されている暗号鍵の更新が指示されてから前記記憶装置によって前記特定の領域についての暗号鍵の更新が完了するまでの間に、新たなジョブを受け付けると、当該ジョブで使用されるデータを前記画像処理装置の揮発性メモリに格納して当該ジョブを実行する、
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項７】
前記記憶装置は、前記画像処理装置が電源オフの状態から起動する際に、前記複数の領域のそれぞれについて暗号鍵を生成する、
ことを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記特定の領域に対して保持している暗号鍵の更新指示をユーザから受け付ける操作手段を備え、
前記指示手段は、前記操作手段が前記更新指示を受け付けると、前記特定の領域に格納されているデータを使用するジョブの実行の完了を待って、前記特定の領域に対して保持されている暗号鍵の更新を前記記憶装置に指示する、
ことを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記特定の領域に対して保持している暗号鍵を更新するタイミングを、ユーザの指示に従って指定する指定手段を更に備え、
前記指示手段は、前記指定手段によって指定されたタイミングになると、前記特定の領域に格納されているデータを使用するジョブの実行の完了を待って、前記特定の領域に対して保持されている暗号鍵の更新を前記記憶装置に指示する、
ことを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項１０】
記憶領域が複数の領域に分割された状態で使用される記憶装置であって、前記複数の領域のそれぞれに格納されるデータの暗号化に用いる暗号鍵を領域ごとに保持している、前記記憶装置を備える画像処理装置の制御方法であって、
前記記憶装置の前記複数の領域のうちの特定の領域に格納されたデータを使用してジョブを実行する実行工程と、
前記実行工程におけるジョブの実行が完了すると、前記特定の領域に格納されているデータを使用して実行すべき他のジョブが存在するか否かを判定する判定工程と、
前記判定工程において前記他のジョブが存在しないと判定されると、前記特定の領域に対して保持されている暗号鍵の更新を前記記憶装置に指示する指示工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項１１】
請求項１０に記載の画像処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
従来から、ハードディスクドライブ（ＨＤＤ）等の外部記憶装置を利用して情報（データ）を蓄積可能な情報処理装置において、受信したデータを外部記憶装置に格納し、当該データを使用した処理が完了したら当該データを消去する機能が知られている。このような情報処理装置では、実際のデータと、当該データのＨＤＤ上の位置情報（ＦＡＴ）とがＨＤＤに格納されている。通常、ＨＤＤからデータを消去する際には、高速化の観点から、ＨＤＤ上に残っているデータそのものは消去せず、ＦＡＴのみを消去するのが一般的である。その場合、情報処理装置からＨＤＤを引き抜いてコンピュータ（ＰＣ）等に接続し、ＨＤＤの内部を解析することでデータが盗み取られるおそれがある。このため、ＦＡＴの消去だけでなく、データが残っている記憶領域を乱数値や固定値等で上書きすることで、データの復元を防止する機能が広く使用されるようになっている。
【０００３】
また近年では、ＨＤＤに格納されたデータの保護方法として、データの暗号化による保護も広く利用されている。暗号化によってデータが保護されている場合には、上述のようにデータに対して上書きを行うのではなく、特許文献１及び２のように、データの暗号化に使用した暗号鍵を消去することで、データの復元を不可能にすることが行われる。
【０００４】
特許文献１には、記憶領域を複数のパーティションに分け、各パーティションに格納されるデータの暗号化及び各パーティションから読み出されるデータの復号化のためのパーティション鍵を各パーティションに設定する記憶装置が記載されている。特許文献１では、記憶装置にアクセスするホストから、特定パーティションに対してデータ無効化コマンドを受け付けると、記憶装置は、当該特定のパーティションのパーティション鍵を消去する。これにより、当該特定のパーティションに格納されているデータを解読不能にしている。
【０００５】
特許文献２には、セキュリティレベルが高いレベルに設定された場合に、ジョブの実行に用いるデータを、ジョブ毎に生成した暗号鍵で暗号化して記憶装置に格納し、ジョブの終了時に当該暗号鍵を消去する情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４４６３３２０号公報
【特許文献２】特許第５５７４８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、記憶装置の記憶領域のパーティションごとにデータの暗号化用の暗号鍵を設定する場合に、特許文献２のようにジョブごとに新たな暗号鍵を使用するためには、ジョブの実行が完了するごとにパーティションの初期化及び暗号鍵の更新を行う必要がある。その場合、パーティションの初期化及び暗号鍵の更新に伴って、画像処理装置におけるジョブの実行性能が低下する。
【０００８】
本発明は、上述の問題に鑑みてなされたものである。本発明は、画像処理装置においてジョブの実行性能を低下させずに、ジョブで使用されるデータを適切なタイミングに無効化することを可能にするための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、例えば、画像処理装置として実現できる。本発明の一態様に係る画像処理装置は、記憶領域が複数の領域に分割された状態で使用される記憶装置であって、前記複数の領域のそれぞれに格納されるデータの暗号化に用いる暗号鍵を領域ごとに保持している、前記記憶装置と、前記記憶装置の前記複数の領域のうちの特定の領域に格納されたデータを使用してジョブを実行する実行手段と、前記実行手段によるジョブの実行が完了すると、前記特定の領域に格納されているデータを使用して実行すべき他のジョブが存在するか否かを判定する判定手段と、前記判定手段によって前記他のジョブが存在しないと判定されると、前記特定の領域に対して保持されている暗号鍵の更新を前記記憶装置に指示する指示手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像処理装置においてジョブの実行性能を低下させずに、ジョブで使用されるデータを適切なタイミングに無効化することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】画像形成装置のハードウェア構成例を示すブロック図。
【図２】画像形成装置のデータ管理方法の例を示す図。
【図３】画像形成装置のジョブ管理方法の例を示す図。
【図４】ジョブの入力処理及び出力処理の手順を示すフローチャート。
【図５】画像データの無効化処理の手順を示すフローチャート。
【図６】暗号鍵の更新タイミングを指定するための操作画面の例を示す図。
【図７】画像データの無効化処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
［第１実施形態］
図１は、第１の実施形態に係る画像形成装置１０のハードウェア構成例を示すブロック図である。画像形成装置１０は、画像処理装置の一例であり、例えば、印刷装置、プリンタ、複写機、複合機（ＭＦＰ）、及びファクシミリ装置のいずれであってもよい。
【００１４】
画像形成装置１０は、画像形成装置１０全体の制御を行うコントローラ１００と、コントローラ１００と電気的に接続されたスキャナ部１１７、プリンタ部１１８、操作部１１６、及びハードディスクドライブ（ＨＤＤ）１１９とを備えている。コントローラ１００は、ＬＡＮまたはＷＡＮ等のネットワークを介して、クライアントＰＣ等の外部装置（図示せず）と通信可能に接続されており、外部装置との間で画像データやデバイス情報等のデータを送受信可能である。
【００１５】
ＣＰＵ１０１は、フラッシュＲＯＭ１０３に格納された制御プログラムを読み出して実行することによって、コントローラ１００に接続された各デバイスに対するアクセスを制御するとともに、コントローラ１００内部で実行される処理も制御する。ＲＡＭ１０２は、ＣＰＵ１０１が動作するためのシステムワークメモリ、及び画像データが一時的に格納されるメモリとして使用される揮発性メモリである。フラッシュＲＯＭ１０３には、画像形成装置１０の制御プログラム及びデバイス情報等の各種データが格納されている。
【００１６】
操作部Ｉ／Ｆ１０４は、システムバス１０６と操作部１１６とを接続するためのインタフェース部である。操作部Ｉ／Ｆ１０４は、操作部１１６に画面を表示するための画面データをシステムバス１０６から受信して操作部１１６へ出力し、また、操作部１１６から受信した情報をシステムバス１０６へ出力する。ネットワークＩ／Ｆ１０５は、ネットワークとシステムバス１０６とを接続するためのインタフェース部である。画像バス１１４は、画像データを伝送するための伝送路であり、ＰＣＩバスで構成されている。
【００１７】
スキャナ部１１７は、原稿の画像を光学的に読み取って得られた画像データをスキャナＩ／Ｆ１０９へ出力する。プリンタ部１１８は、プリンタＩ／Ｆ１１１から入力される画像データに従ってシートに画像を形成（印刷）する。なお、シートは、記録紙、記録材、記録媒体、用紙、転写材、転写紙等と称されてもよい。ＲＩＰ部１０７は、クライアントＰＣ等の外部装置から受信される、ＰＤＬで記述されたコードデータ（ＰＤＬコードデータ）である印刷ジョブから生成された中間データを受信して、ビットマップ形式の画像データを生成する。ＲＩＰ部１０７は、生成した画像データを画像バス１１４を介してプリンタＩ／Ｆ１１１へ送信する。プリンタＩ／Ｆ１１１は、画像バス１１４を介して受信した画像データをプリンタ部１１８へ出力することで、プリンタ部１１８に印刷を実行させる。
【００１８】
ハードディスクコントローラ（ＨＤＣ）１１５は、システムバス１０６に接続された各デバイスからＨＤＤ１１９へのデータの書き込み、及びＨＤＤ１１９から各デバイスへのデータの読み込みを制御する。ＨＤＤ１１９には、画像データや各種ジョブに関連するデータが格納される。本実施形態のＨＤＤ１１９は、格納されるデータの暗号化及び復号化を行う機能を有し、ＣＰＵ、ＲＡＭ、暗号化／復号化回路、フラッシュメモリ、及び磁気的にデータを記録（書き込み）可能な磁気ディスク（記憶領域）で構成されている。
【００１９】
ＨＤＤ１１９は、ＨＤＣ１１５からデータ書き込み要求を受信すると、受信したデータを暗号化／復号化回路によって暗号化して記憶領域にデータを格納する。また、ＨＤＤ１１９は、ＨＤＣ１１５からデータ読み込み要求を受信すると、磁気ディスク（記憶領域）に格納されているデータを暗号化／復号化回路によって復号してＨＤＣ１１５へ送信する。データの暗号化及び復号化のための鍵（暗号鍵）は、ＨＤＤ１１９内のフラッシュメモリで管理され、暗号化／復号化回路に対して設定される。
【００２０】
ＨＤＤ１１９は、磁気ディスク（記憶領域）を複数のパーティションに分割して利用することが可能であり、パーティション毎に暗号鍵の設定が可能である。パーティションと暗号鍵との対応関係を示す情報（図２（Ｂ）の鍵管理テーブル）は、ＨＤＤ１１９内のフラッシュメモリで管理される。このように、本実施形態のＨＤＤ１１９は、記憶領域が複数の領域（パーティション）に分割された状態で使用される記憶装置の一例であり、当該複数の領域のそれぞれに格納されるデータの暗号化に用いる暗号鍵を領域ごとに保持している。なお、本実施形態では、暗号化機能を有する記憶装置としてＨＤＤを使用する例を示しているが、暗号化機能を有するＳＳＤ（Solid State Drive）等の、他の不揮発性の記憶装置を使用してもよい。
【００２１】
＜ＨＤＤに格納されるデータの管理方法＞
次に、図２及び図３を参照して、本実施形態に係るＨＤＤ１１９に格納されるデータの管理方法について説明する。画像形成装置１０のコントローラ１００（ＣＰＵ１０１）は、ＨＤＤ１１９の記憶領域を複数のパーティション（領域）に分割して使用している。
【００２２】
（パーティション管理テーブル）
図２（Ａ）は、画像形成装置１０のパーティション管理テーブルの例を示している。パーティション管理テーブルは、コントローラ１００の制御プログラムに含まれた状態で、フラッシュＲＯＭ１０３に格納されている。コントローラ１００（ＣＰＵ１０１）は、フラッシュＲＯＭ１０３からパーティション管理テーブルをＲＡＭ１０２に読み出して使用する。図２（Ａ）に示すように、パーティション管理テーブルでは、各パーティションのパーティション番号、ファイルシステム、サイズ、及びパーティション名が互いに関連付けて管理されている。
【００２３】
パーティション番号１のパーティションは、ファイルシステムが「ｅｘｔ３」、サイズが５Ｇバイト、パーティション名が「ＳＹＳＴＥＭ」のパーティションであることを示している。このパーティションは、コントローラ１００によってシステム領域として使用される記憶領域である。パーティション番号３〜５のパーティションのパーティション名には、いずれも「ＤＯＣＭ」が含まれている。これらのパーティションは、コントローラ１００によって画像データを格納する領域として使用される記憶領域である。即ち、コントローラ１００は、後述するように、コピージョブや印刷ジョブ（ＰＤＬプリントジョブ）を実行する際に、印刷対象の画像データまたは画像処理に使用する一時的な画像データを保存するために、これらのパーティションを使用する。
【００２４】
（鍵管理テーブル）
図２（Ｂ）は、ＨＤＤ１１９内のフラッシュメモリで管理される鍵管理テーブルの例を示している。上述のように、本実施形態のＨＤＤ１１９は、データの暗号化機能を有している。ＨＤＤ１１９は、パーティション毎に暗号鍵の管理が可能であり、図２（Ｂ）に示すように、パーティション毎にどの暗号鍵を使用するのかを、鍵管理テーブルによって管理している。パーティション番号１〜７のパーティションには、それぞれ暗号鍵１〜７が割り当てられている。図２（Ｂ）に示す鍵管理テーブルは、コントローラ１００がＨＤＤ１１９のフォーマットを行う際に、コントローラ１００がＨＤＤ１１９に対してパーティションの分割及び暗号化の指示を行うことによって、ＨＤＤ１１９において生成される。
【００２５】
（ジョブ管理テーブル）
ジョブ管理テーブルは、画像形成装置１０において実行されるジョブを管理するためのテーブルであり、ＲＡＭ１０２に格納されるか、またはＨＤＤ１１９のシステム領域に格納される。画像形成装置１０は、クライアントＰＣ等の外部装置からネットワークを介して印刷ジョブを受信した場合には、印刷ジョブをジョブ管理テーブルに追加する。また、画像形成装置１０は、画像形成装置１０の操作部１１６を介してユーザからコピー開始指示を受け付けた場合、原稿のコピーを実行するためのコピージョブを生成してジョブ管理テーブルに追加する。
【００２６】
図３（Ａ）は、ジョブ管理テーブルに含まれるフォルダと、ＨＤＤ１１９の記憶領域において各フォルダが割り当てられるパーティションとの関係の例を示す図である。コントローラ１００（ＣＰＵ１０１）は、ジョブ管理テーブルにおいて複数のフォルダを管理している。図３（Ａ）に示すように、ジョブ管理テーブルの各フォルダは、「テンポラリフォルダ」または「ボックスフォルダ」に分類されるとともに、ＨＤＤ１１９の記憶領域のいずれかのパーティションに対して割り当てられる。
【００２７】
ジョブ管理テーブルに含まれるフォルダの数及び種類は、予め定められた数及び種類に固定されている。本実施形態では一例として、図３（Ａ）に示すように、ＨＤＤ１１９のパーティション３（ＤＯＣＭ１）にはテンポラリフォルダ１が割り当てられ、パーティション４（ＤＯＣＭ２）にはテンポラリフォルダ２が割り当てられている。また、ＨＤＤ１１９のパーティション５（ＤＯＣＭ３）にはボックスフォルダ１〜３が割り当てられている。
【００２８】
「テンポラリフォルダ」には、コピーまたは印刷（ＰＤＬプリント）の実行時に一時的に生成されるコピージョブまたは印刷ジョブ（ＰＤＬプリントジョブ）が格納される。ジョブに従った処理が終了すると、テンポラリフォルダに格納されたジョブは削除される。また、テンポラリフォルダに格納されたジョブは、画像形成装置１０の電源がオフ状態になると、ジョブの終了前であっても画像形成装置１０から消去される。一方、「ボックスフォルダ」には、後に再利用するために画像形成装置１０内で保存しておくジョブが格納される。ボックスフォルダに格納されたジョブは、画像形成装置１０の電源がオフ状態になった際に画像形成装置１０から消去されず、画像形成装置１０の電源がオフ状態になった後も永続的に保存される。
【００２９】
コピージョブまたは印刷ジョブ等のジョブで使用される画像データは、ＨＤＤ１１９の記憶領域のいずれかのパーティションに格納される。その際、画像データは、当該画像データに関連するジョブが格納されたフォルダが割り当てられたパーティションに格納される。即ち、ジョブがフォルダに格納されることで当該フォルダに関連付けられた画像データは、ＨＤＤ１１９の記憶領域の、当該フォルダが割り当てられたパーティションに格納される。このように、コントローラ１００（ＣＰＵ１０１）は、ジョブが格納されるフォルダによって、当該ジョブに関連する画像データをＨＤＤ１１９のいずれのパーティションに格納するかを管理している。
【００３０】
次に、図３（Ｂ）は、ジョブ管理テーブルの構造の例を示す図である。ジョブ管理テーブルは、フォルダ（Ｆｏｌｄｅｒ）、ジョブ、及びページから成る階層構造を有している。図３（Ｂ）では、テンポラリフォルダ１についての階層構造のみを示しているが、ジョブ管理テーブルは他のフォルダについても同様に階層構造を有している。また、このような階層構造は、テンポラリフォルダ及びボックスフォルダに共通している。
【００３１】
本実施形態では、一例として、図３（Ｂ）に示すように、テンポラリフォルダ１には２つのジョブ（ジョブ１及びジョブ２）が格納されている。ジョブ１は、ページ１及び２の２ページのデータで構成されており、ジョブ２は、ページ１〜３の３ページのデータで構成されている。各ジョブには、ジョブに関連付けられたジョブ属性を示すデータが付加されている。ジョブ属性は、例えば、ジョブの名称、及びプリンタ部１１８がジョブに従った印刷を行う際の印刷設定（両面印刷または片面印刷等）である。
【００３２】
また、各ページには、各ページに対応する画像データの格納先のパス（画像パス）を示すデータと、画像データに関連付けられた画像属性を示すデータとが付加されている。画像属性は、例えば、画像データに対応する画像がカラー画像であるか白黒画像であるかといった、画像の特性である。各ページに対応する実際の画像データは、ＨＤＤ１１９内の、画像パスデータが示す格納先（パーティション）に格納されている。
【００３３】
このようなジョブ管理テーブルを用いることで、画像形成装置１０において実行すべきジョブと、複数の領域（パーティション）のうちで当該ジョブで使用されるデータが格納されているパーティションとを関連付けて管理することができる。
【００３４】
＜ジョブの入出力処理＞
次に、図４を参照して、印刷ジョブを外部装置から受信した場合に画像形成装置１０によって実行される処理について説明する。図４（Ａ）は、受信したジョブをジョブ管理テーブルに追加するための、ジョブの入力処理の手順を示すフローチャートである。図４（Ｂ）は、ジョブ管理テーブルに含まれるジョブを実行するための、ジョブの出力処理の手順を示すフローチャートである。なお、図４（Ａ）及び（Ｂ）の各ステップの処理は、フラッシュＲＯＭ１０３に格納された制御プログラムをＣＰＵ１０１が読み出して実行することによって、画像形成装置１０において実現される。ここでは、一例として、外部装置から印刷ジョブが受信され、図３（Ｂ）に示すジョブ１がジョブ管理テーブルに追加され、当該ジョブ１が実行される場合を想定する。
【００３５】
（ジョブの入力処理）
図４（Ａ）に示すジョブの入力処理では、ＣＰＵ１０１は、Ｓ４０１で、ネットワークＩ／Ｆ１０５が外部装置から印刷ジョブを受信すると、Ｓ４０２で、受信した印刷ジョブをジョブ管理テーブルに追加する。具体的には、ＣＰＵ１０１は、ジョブ管理テーブルのテンポラリフォルダ内にジョブを追加（生成）する。ここでは、テンポラリフォルダ１内にジョブ１が生成される。なお、ジョブ１には、ジョブ属性データが付加される。
【００３６】
次にＳ４０３で、ＣＰＵ１０１は、受信した印刷ジョブを解析して得られた、ビットマップ形式の１ページの画像データを、ＨＤＤ１１９内の対応するパーティションに格納する。ここでは、印刷ジョブがテンポラリフォルダ１に格納されることで、当該印刷ジョブで使用される画像データはテンポラリフォルダ１に関連付けられる。このため、ＣＰＵ１０１は、ＨＤＣ１１５を介して、この画像データを、ＨＤＤ１１９の記憶領域においてテンポラリフォルダ１が割り当てられたパーティション３（ＤＯＣＭ１）に格納する（書き込む）。その際、画像データは、パーティション３に設定されている暗号鍵３を用いて暗号化された状態で、パーティション３へ格納される。
【００３７】
次にＳ４０４で、ＣＰＵ１０１は、受信した印刷ジョブに含まれる各ページを、ジョブ管理テーブルに追加する。ここでは、テンポラリフォルダ１内に生成されたジョブ１に対して、ジョブ１に含まれるページ１及び２が順に追加される。なお、各ページには、各ページの画像データの格納先を示す画像パスデータと画像属性データとが付加される。
【００３８】
次にＳ４０５で、ＣＰＵ１０１は、Ｓ４０１で受信した印刷ジョブに、ジョブ管理テーブルに未だ追加していない次のページが含まれているか否かを判定し、次のページが含まれていると判定した場合には、処理をＳ４０３へ戻す。一方、ＣＰＵ１０１は、次のページが含まれていないと判定した場合には、処理を終了する。
【００３９】
（ジョブの出力処理）
図４（Ｂ）に示すジョブの出力処理では、ＣＰＵ１０１は、ジョブ管理テーブルのテンポラリフォルダに格納されているジョブ（ここではジョブ１とする。）を実行する。まず、ＣＰＵ１０１は、Ｓ４１１で、ジョブ管理テーブルを参照して、ＨＤＤ１１９に格納されている１ページの画像データをＨＤＤ１１９から読み出すとともに、Ｓ４１２で、読み出した１ページの画像データの出力処理を行う。具体的には、ＣＰＵ１０１は、読み出した画像データをプリンタＩ／Ｆ１１１を介してプリンタ部１１８へ出力することで、プリンタ部１１８に、当該画像データに従ってシートに画像を形成させる。
【００４０】
次にＳ４１３で、ＣＰＵ１０１は、ジョブ管理テーブルを参照して、実行中のジョブに次のページが有るか否かを判定し、次のページが有ると判定した場合には処理をＳ４１１へ戻し、次のページについての出力処理を行う。一方、ＣＰＵ１０１は、次のページが無いと判定した場合には処理をＳ４１４へ進め、実行済みのジョブ（ここではジョブ１）をジョブ管理テーブルから削除し、ジョブの出力処理を終了する。
【００４１】
このように、ＣＰＵ１０１は、画像形成装置１０において実行すべきジョブ（ジョブ１）を受け付けると、ジョブ管理テーブルに当該ジョブを追加する。更に、ＣＰＵ１０１は、当該ジョブで使用するデータを、複数のパーティションのうちの１つ（パーティション３）に格納して当該ジョブを実行する。当該ジョブの実行が完了すると、ＣＰＵ１０１は、ジョブ管理テーブルから当該ジョブを削除する。
【００４２】
なお、画像形成装置１０は、複数のジョブについての処理を並列して実行可能である。例えば、画像形成装置１０は、ジョブ１についての出力処理を図４（Ｂ）に示す手順で実行している間に、新たに受信したジョブ２についての入力処理を図４（Ａ）に示す手順で実行することが可能である。その場合、ＣＰＵ１０１は、図３（Ｂ）に示すように、ジョブ管理テーブルのテンポラリフォルダ１に対して更にジョブ２を追加することで、当該ジョブを管理する。
【００４３】
＜画像データの無効化処理＞
次に、図５を参照して、ＨＤＤ１１９に格納された画像データの無効化処理について説明する。上述の図４（Ｂ）では、画像データの無効化処理を行わない場合の、ジョブの出力処理を示している。図４（Ｂ）のＳ４１４では、ＣＰＵ１０１がジョブ管理テーブルからジョブ１を削除した場合、ジョブ１に関連付けられたページ、画像パス及び画像属性のデータも削除される。しかし、各ページの画像データそのものは、暗号鍵を用いて暗号化された状態でＨＤＤ１１９に保存され続けており、ＨＤＤ１１９から削除されていない。
【００４４】
本実施形態の画像形成装置１０は、ＨＤＤ１１９に格納された画像データを、暗号鍵の破棄（消去）によって無効化する。画像データの無効化処理は、ＨＤＤ１１９の記憶領域に格納された画像データの暗号化に用いた暗号鍵を消去することで、当該画像データの復号化を不可能にする（即ち、当該画像データを復元できないようにする）処理である。
【００４５】
図５（Ａ）は、ＨＤＤ１１９の記憶領域においてテンポラリフォルダが割り当てられたパーティション（以下では「テンポラリ領域」とも称する。）の初期化処理の手順を示すフローチャートである。図５（Ｂ）は、画像データの無効化処理を行う場合の、ジョブの出力処理の手順を示すフローチャートである。なお、図５（Ａ）及び（Ｂ）の各ステップの処理は、フラッシュＲＯＭ１０３に格納された制御プログラムをＣＰＵ１０１が読み出して実行することによって、画像形成装置１０において実現される。
【００４６】
（テンポラリ領域の初期化処理）
図５（Ａ）に示す初期化処理は、画像形成装置１０が電源オフの状態から起動する際に、及びジョブ管理テーブルのテンポラリフォルダに含まれる全てのジョブの実行が完了した際に（即ち、図５（Ｂ）のＳ５１８において）実行される。まずＳ５０１で、ＣＰＵ１０１は、ＨＤＣ１１５を介して、テンポラリ領域に設定している（即ち、テンポラリフォルダを割り当てている）パーティション用の暗号鍵の生成をＨＤＤ１１９に指示する。ＨＤＤ１１９は、ＨＤＣ１１５からの指示に従って、テンポラリ領域に相当するパーティション（本実施形態では、図３（Ａ）に示すようにパーティション３及びパーティション４）の暗号鍵を生成する。
【００４７】
次にＳ５０２で、ＣＰＵ１０１は、テンポラリ領域に相当するパーティション（パーティション３及びパーティション４）にファイルシステムを構築することで、当該パーティションを初期化する。また、ＣＰＵ１０１は、初期化した各パーティションに、画像データの格納用の領域を割り当てる（即ち、ＤＯＣＭ１及びＤＯＣＭ２の領域を割り当てる）。これにより、ＣＰＵ１０１は、テンポラリ領域の初期化処理を終了し、ジョブが受信（生成）されるまで待機する。
【００４８】
（ジョブの出力処理）
図５（Ｂ）に示すジョブの出力処理では、ＣＰＵ１０１は、ジョブ管理テーブルのテンポラリフォルダにジョブが格納されている場合に、格納されているジョブを順に実行する。まずＳ５１１で、ＣＰＵ１０１は、ジョブ管理テーブルを参照して、テンポラリフォルダ（ここではテンポラリフォルダ１とする。）にジョブが存在する否かを判定し、ジョブが存在すると判定した場合には処理をＳ５１２へ進める。一方、ＣＰＵ１０１は、ジョブが存在しないと判定した場合には、ジョブが受信（生成）されてジョブ管理テーブルにジョブが追加されるまで待機する。
【００４９】
Ｓ５１２〜Ｓ５１５では、ＣＰＵ１０１は、図４（Ｂ）のＳ４１１〜Ｓ４１４の処理と同様の処理を実行することで、テンポラリフォルダに含まれる１つのジョブを実行し、当該ジョブの実行が完了すると処理をＳ５１６に進める。Ｓ５１６で、ＣＰＵ１０１は、再びジョブ管理テーブルを参照して、テンポラリフォルダ（テンポラリフォルダ１）にジョブが存在する（残っている）か否かを判定し、ジョブが存在すると判定した場合には処理をＳ５１２へ戻す。これにより、ＣＰＵ１０１は、テンポラリフォルダに残っているジョブを実行する。一方、ＣＰＵ１０１は、Ｓ５１６においてテンポラリフォルダにジョブが存在しない（残っていない）と判定した場合には処理をＳ５１７へ進める。
【００５０】
Ｓ５１７で、ＣＰＵ１０１は、ＨＤＣ１１５を介して、Ｓ５１１〜Ｓ５１６で処理対象としたテンポラリフォルダ（テンポラリフォルダ１）を割り当てているパーティション（テンポラリ領域）用の暗号鍵の消去をＨＤＤ１１９に指示する。ＨＤＤ１１９は、ＨＤＣ１１５からの指示に従って、対象となるテンポラリ領域に相当するパーティション（パーティション３）に対して設定されている暗号鍵を消去する。
【００５１】
その後Ｓ５１８で、ＣＰＵ１０１は、図５（Ａ）に示す手順で、設定されていた暗号鍵が消去されたテンポラリ領域の初期化処理を実行する。これにより、ＨＤＤ１１９によってテンポラリ領域に対して暗号鍵が再生成及び再設定されて、テンポラリ領域用の暗号鍵が更新される。テンポラリ領域の初期化処理が完了すると、ＣＰＵ１０１は、処理をＳ５１１に戻し、新たなジョブが受信（生成）されてジョブ管理テーブルに追加されるまで待機する。なお、図５では、Ｓ５１７における暗号鍵の消去指示及びＳ５１８における暗号鍵の生成指示により、ＨＤＤ１１９では暗号鍵の消去及び再生成（即ち、更新）が行われている。このように暗号鍵の消去指示及び生成指示が個別に行われるのではなく、暗号鍵の更新のための１つの指示（暗号鍵の更新指示）が行われてもよい。
【００５２】
なお、上述の手順では、テンポラリ領域用の暗号鍵の消去を指示してから（Ｓ５１７）、テンポラリ領域に相当する特定のパーティションの初期化処理が完了する（Ｓ５１８）までの間、当該特定のパーティションを使用することはできない。即ち、暗号鍵の消去（または更新）を指示してから暗号鍵の更新が完了する（新たな暗号鍵が生成及び設定される）までの期間（暗号鍵の更新期間）には、特定のパーティションを使用することができない。このため、ＣＰＵ１０１は、暗号鍵の更新期間には、新たなジョブを外部装置から受信したとしても、ＨＤＤ１１９へ画像データをその特定のパーティションへ格納することができない。
【００５３】
このような場合、ＣＰＵ１０１は、初期化処理の対象となっているパーティション（第１の領域）以外でテンポラリフォルダが割り当てられている、他のパーティション（例えば、テンポラリフォルダ２が割り当てられたパーティション４）に画像データを格納可能である。即ち、ＣＰＵ１０１は、パーティション３に設定された暗号鍵の更新中には、テンポラリフォルダ２及びテンポラリフォルダ２が割り当てられたパーティション４（第２の領域）を使用して、受信したジョブについての処理を継続してもよい。あるいは、ＣＰＵ１０１は、ＨＤＤ１１９の記憶領域を使用せずに、一時的にＲＡＭ１０２の記憶領域のみを使用して、受信したジョブについての処理を継続してもよい。
【００５４】
以上説明したように、本実施形態の画像形成装置１０では、ＣＰＵ１０１は、ＨＤＤ１１９の複数の領域（パーティション）のうちの特定のパーティション（テンポラリ領域）に格納されたデータを使用してジョブを実行する。ＣＰＵ１０１は、ジョブの実行が完了すると（Ｓ５１４）、当該ジョブに関連する画像データが存在するテンポラリ領域に格納されているデータを使用して実行すべき他のジョブが存在するか否かを判定する（Ｓ５１６）。ＣＰＵ１０１は、そのような他のジョブが存在しないと判定すると、テンポラリ領域に対して保持されている暗号鍵の更新（消去及び生成）をＨＤＤ１１９に指示する（Ｓ５１７，Ｓ５１８）。ＨＤＤ１１９は、ＣＰＵ１０１からの指示に従って、テンポラリ領域に対して保持（設定）している暗号鍵を消去するとともに、テンポラリ領域へ新たに格納されるデータの暗号化に用いる暗号鍵を再生成する。
【００５５】
本実施形態によれば、画像形成装置１０においてジョブの実行性能を低下させずに、ジョブで使用されるデータを適切なタイミングに無効化することが可能になる。即ち、ジョブの実行性能を低下させずに、データが不要になると直ちに暗号鍵を消去することで当該データを無効化することが可能になる。
【００５６】
なお、本実施形態では、印刷ジョブについて説明したが、他のジョブ（コピージョブ等）についても同様に本実施形態を適用可能である。
【００５７】
［第２の実施形態］
第１の実施形態では、ジョブの実行完了時に、当該ジョブに関連する画像データが存在するテンポラリ領域に格納されているデータを使用して実行すべき他のジョブが存在するか否かを判定し、その判定結果に従って暗号鍵を更新している。第２の実施形態では、ジョブの実行完了時以外のタイミングに、テンポラリ領域に対して保持（設定）されている暗号鍵を更新する例について説明する。なお、説明の簡略化のため、第１の実施形態と共通する部分については説明を省略する。
【００５８】
図６（Ａ）及び（Ｂ）は、ＨＤＤ１１９の複数のパーティションのうちでテンポラリフォルダが割り当てられるパーティション（テンポラリ領域）に対して設定されている暗号鍵の消去（更新）に関する指示を入力するための操作画面の一例を示す図である。図６（Ａ）及び（Ｂ）の操作画面は操作部１１６に表示され、操作部１１６が、ユーザから当該操作画面に基づく指示または指定を受け付ける。
【００５９】
図６（Ａ）の操作画面では、ユーザは、テンポラリ領域に対して設定されている暗号鍵の消去指示（更新指示）を任意のタイミングに行うことが可能である。図６（Ａ）に示す操作画面を暗号鍵の更新に使用する場合、ＣＰＵ１０１は、ユーザから暗号鍵の更新指示を受け付けると、テンポラリ領域に格納されているデータを使用するジョブの実行の完了を待って、暗号鍵の更新をＨＤＤ１１９に指示する。
【００６０】
図６（Ｂ）の操作画面では、ユーザは、テンポラリ領域に対して設定されている暗号鍵を更新するタイミングを指定することが可能である。当該操作画面では、ユーザは、暗号鍵の更新に関するスケジュール設定として、「しない」、「毎日」、「毎週」及び「毎月」のうちのいずれかを選択可能である。例えば、図６（Ｂ）に示すように「毎日」が選択された場合、ＣＰＵ１０１は更に、暗号鍵を更新する時刻の設定をユーザに促すように、操作部１１６の表示を制御する。ＣＰＵ１０１は、図６（Ｂ）に示す操作画面を用いて指定されたタイミングを、フラッシュＲＯＭ１０３、またはＨＤＤ１１９のシステム領域に保存する。
【００６１】
図７は、本実施形態に係る、テンポラリ領域に対して設定されている暗号鍵の更新処理の手順を示すフローチャートである。図７の各ステップの処理は、フラッシュＲＯＭ１０３に格納された制御プログラムをＣＰＵ１０１が読み出して実行することによって、画像形成装置１０において実現される。
【００６２】
まずＳ７０１で、ＣＰＵ１０１は、ユーザによって指定されたタイミング（時刻）になったか、または操作部１１６を介してユーザによる暗号鍵の更新指示を受け付けたか否かを判定する。ＣＰＵ１０１は、指定されたタイミングになったか、または更新指示を受け付けたと判定すると、処理をＳ７０２へ進める。
【００６３】
Ｓ７０２で、ＣＰＵ１０１は、ジョブ管理テーブルを参照して、テンポラリフォルダにジョブが存在する（残っている）か否かを判定し、ジョブが存在しないと判定した場合には処理をＳ７０４へ進める。一方、ＣＰＵ１０１は、ジョブが存在すると判定した場合には処理をＳ７０３へ進める。Ｓ７０３で、ＣＰＵ１０１は、テンポラリフォルダに存在する全てのジョブの実行が完了するまで（テンポラリフォルダからジョブが無くなるまで）待機して、それらのジョブの実行が完了すると、Ｓ７０４へ処理を進める。
【００６４】
Ｓ７０４及びＳ７０５では、ＣＰＵ１０１は、Ｓ５１７及びＳ５１８と同様の処理を実行することで、ＨＤＤ１１９に、テンポラリ領域に対して設定されている暗号鍵を更新させ、その後、処理をＳ７０１へ戻す。なお、暗号鍵の更新の際には、ＣＰＵ１０１は、暗号鍵の更新を実行したことを示す情報を、レポートまたはシステムログとして出力してもよい。また、テンポラリフォルダにジョブが管理されている状態でも強制的にジョブを終了し、テンポラリフォルダ内のジョブを削除した後に、テンポラリ領域に対して設定されている暗号鍵の更新をＨＤＤ１１９に指示してもよい。
【００６５】
このように、ＣＰＵ１０１は、指定された暗号鍵の更新タイミングになると、またはユーザによる暗号鍵の更新指示を受け付けると、テンポラリ領域に格納されているデータを使用するジョブの実行の完了を待って、暗号鍵の更新をＨＤＤ１１９に指示する。これにより、ジョブの実行完了時以外のタイミングに、テンポラリ領域に対して保持（設定）されている暗号鍵を更新することが可能になる。
【００６６】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６７】
１０：画像形成装置、１００：コントローラ、１０１：ＣＰＵ、１１５：ハードディスクコントローラ（ＨＤＣ）、１１６：操作部、１１７：スキャナ部、１１８：プリンタ部、１１９：ハードディスクドライブ（ＨＤＤ）
【図１】
2017050737.tif 000003
【図２】
2017050737.tif 000004
【図３】
2017050737.tif 000005
【図４】
2017050737.tif 000006
【図５】
2017050737.tif 000007
【図６】
2017050737.tif 000008
【図７】
2017050737.tif 000009