(57)【特許請求の範囲】
【請求項１】
データを暗号化して記憶手段に書き込む書込手段と、
前記記憶手段に記憶された消去対象のデータをファイルとして登録する登録手段と、
前記書込手段に前記記憶手段の前記登録されたファイルに対応するデータが記録された領域に対して所定のデータを上書き消去させる上書き消去手段と、
前記上書き消去の後、前記記憶手段の上書き消去された領域を解放する解放手段とを備え、
前記上書き消去手段は、前記書込手段に前記暗号化に用いる暗号鍵によって前記所定のデータを暗号化させて上書き消去させる手段を有することを特徴とする画像処理装置。
【請求項２】
前記上書き消去手段は、前記登録されたファイルのファイルサイズ及び前記ファイル内のブロックのブロックサイズに基づいて、前記ファイル内に前記ブロックサイズに満たないオフセットの有無を調べ、前記オフセットがなければ、前記書込手段に前記ファイルの後ろ側のブロックから先頭のブロックへ順番に前記上書き消去をさせ、前記オフセットがあれば、前記書込手段に前記オフセットに前記上書き消去をさせた後、前記ファイルの後ろ側のブロックから先頭のブロックへ順番に前記上書き消去をさせる手段であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記上書き消去手段は、前記書込手段に前記上書き消去を所定回数実施させる手段を有することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記上書き消去手段は、前記書込手段に前記暗号化を解除させ、前記所定のデータを暗号化せずに上書き消去させる手段を有することを特徴とする請求項１又は２記載の画像処理装置。
【請求項５】
データを暗号化して記憶手段に書き込む書込工程と、
前記記憶手段に記憶された消去対象のデータをファイルとして登録する登録工程と、
前記書込工程によって前記記憶手段の前記登録されたファイルに対応するデータが記録された領域に対して所定のデータを上書き消去させる上書き消去工程と、
前記上書き消去の後、前記記憶手段の上書き消去された領域を解放する解放工程とを備え、
前記上書き消去工程が、前記書込工程によって前記暗号化に用いる暗号鍵によって前記所定のデータを暗号化させて上書き消去させる工程を有することを特徴とする画像処理装置のデータ消去方法。
【請求項６】
コンピュータに、請求項１記載の画像処理装置を構成する書込手段と登録手段と上書き消去手段と解放手段との各手段としての機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複写機，印刷装置，複合機を含む画像処理装置と画像処理装置のデータ消去方法とプログラムに関する。
【背景技術】
【０００２】
近年のセキュリティ意識の高まりにより、オフィス等では、情報のセキュリティ管理が求められるようになった。
例えば、パーソナルコンピュータ（ＰＣ）で扱う情報のセキュリティ管理はよく知られている。
このセキュリティ管理は、複写機，印刷装置（プリンタ），複合機（ＭＦＰ）を含む画像処理装置に対しても求められるようになった。
従来の画像処理装置では、スキャンした画像データ等は、再利用の要望がなかったので、不要になった時点ですぐに逐次消去しており、画像データをファイルとして扱う必要もなかった。
【０００３】
しかし、最近では、画像処理装置に画像データを蓄積して保存したり、システム上から利用したりなど、画像データをファイルとして管理して再利用したいというユーザの要求に答え、画像データの他にシステム情報やユーザ情報を記憶する大容量の記憶装置（例えば、電源を切断してもデータを保持する不揮発性の記憶装置であるハードディスク装置（ＨＤＤ））を内蔵した画像処理装置が提供されている。
このような画像処理装置において、ファイルシステムを利用すれば、ファイルとして管理するための情報が自動的に付与され、また、管理のためのインタフェースも利用可能になる。
また、ＵＮＩＸ（登録商標）系オペレーティングシステム（ＯＳ）で標準的なファイルシステムを利用すれば、画像データを管理し易いファイルとして扱うことができるようになる。
【０００４】
そして、このような画像処理装置では、セキュリティ上の脅威から大容量の記憶装置に記憶された画像データ，システム情報，及びユーザ情報（以下「データ等」という）を保護する為に次のような方法を取っている。
第１の方法は、大容量の記憶装置に記録するデータ等を暗号化する。
第２の方法は、大容量の記憶装置を破棄又はシステムを初期化する際に、大容量の記憶装置の全内容を破棄する。
第３の方法は、大容量の記憶装置からシステムの動作において不要となったデータ等を完全消去する。
【０００５】
上記第１の方法については、ハードウェアで暗号化を実装することが多くなっている。
例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などのハードウェア化が容易な高速な暗号手法を用いている。上記ＡＥＳは、米国商務省標準技術局によって選定された標準暗号化方式である。
また、上記第２の方法については、例えば、フォーマット等の動作によるデータ等の消去処理ではデータ等の領域を解放（「開放」ともいう）するだけで解析ツール等によって復元できる可能性があるため、別のデータ等で上書き消去する手法（以下「一括消去法」という）を用いている。
【０００６】
さらに、上記第３の方法については、通常のシステムの運用において不要となったデータ等をできるだけ早く破壊することにより、セキュリティ上、問題となるデータ等の残存を少なくする手法（以下「逐次消去法」という）を用いている。
そして、従来、ＨＤＤに記憶された大容量の画像データ等を逐次消去する場合、ファイル単位で逐次消去すると、画像データを全て上書き消去するまでその領域が利用できないため、ブロック単位で上書き消去処理して細かく領域を解放していくことにより、ＨＤＤの記憶領域を効率よく利用できるようにした画像処理装置（例えば、特許文献１参照）があった。
【０００７】
この画像処理装置では、ＨＤＤの記憶領域をブロック単位で細かく解放する仕様が故に、ファイルシステムの仕組み上、以下の問題があった。
（１）ファイルシステムでは、データの書き込み要求時、キャッシュバッファにある程度データをためてから一気にＨＤＤに記録することで高速化する機能を持つが、ＨＤＤに記憶された大容量のファイルをブロック単位で上書き消去して解放していく仕様の場合、大容量の画像ファイルを逐次消去する場合、キャッシュバッファへの蓄積とＨＤＤへの上書きとをブロック単位で頻繁に繰り返すことになり、それがオーバーヘッドになって、処理に時間がかかるようになり、システムの負荷になるという問題があった。
【０００８】
（２）ＵＮＩＸ系ＯＳでは、ＵＮＩＸ系ＯＳで標準実装されているファストファイルシステム（Ｆａｓｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ：ＦＦＳ）を用いて逐次消去しているが、セキュリティの観点から、メモリ空間をユーザランドとカーネルランドに分割しており、上書き消去モジュールがデータを消去する場合、ＨＤＤドライバはカーネルランドのデータしか処理できないため、書き込み要求時に書込みデータを毎回ユーザランドからカーネルランドにコピーする必要があり、大容量の画像ファイルを逐次消去する場合、ブロック単位での処理毎に上記コピーが頻繁に発生するため、それがオーバーヘッドになって、処理に時間がかかるようになり、システムの負荷になるという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、最近の画像処理装置では、画像データをより高画質に、且つ高解像度で処理するため、画像データのデータ量が膨大になりがちである。
また、ファイルシステムを利用した場合、ファイルとして管理することができる反面、様々な情報が付与されるために消去時の処理量が増大する。
そこで、上述した従来の画像処理装置のように、ブロック単位での上書き消去を行う場合、ブロックサイズは４ＫＢ〜６４ＫＢ程度（このブロックサイズはシステムに依存するので様々である）であるため、画像データのような巨大なサイズのデータの場合はブロック単位で上書き消去する処理の消去サイクルを多数繰り返す必要がある。
したがって、上述した（１）（２）のオーバーヘッドにより、高速な逐次消去法が実現できないという問題があった。
【００１０】
また、大容量の記憶装置上のデータを物理的に読み取れなくするためには、同じブロックに対して上書きを複数回繰り返さなければならないから、オーバーヘッドはさらに大きくなるという問題があった。
さらに、逐次消去法はジョブ実行時等に並行して実施する場合が多く、これらを統合すると、ファイルシステムを利用した場合、従来の画像処理装置よりも逐次消去時の処理負荷が大きく、生産性への影響が懸念されるという問題もあった。
この発明は上記の点に鑑みてなされたものであり、ファイルシステムを利用してファイルをブロック単位で上書き消去する際のオーバーヘッドを減少させて、高速に逐次消去できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
この発明は上記の目的を達成するため、データを暗号化して記憶手段に書き込む書込手段と、上記記憶手段に記憶された消去対象のデータをファイルとして登録する登録手段と、上記書込手段に上記記憶手段の上記登録されたファイルに対応するデータが記録された領域に対して所定のデータを上書き消去させる上書き消去手段と、上記上書き消去の後、上記記憶手段の上書き消去された領域を解放する解放手段を備え、上記上書き消去手段が、上記書込手段に上記暗号化に用いる暗号鍵によって上記所定のデータを暗号化させて上書き消去させる手段を有する画像処理装置を提供する。
また、上記上書き消去手段を、上記登録されたファイルのファイルサイズ及び上記ファイル内のブロックのブロックサイズに基づいて、上記ファイル内に上記ブロックサイズに満たないオフセットの有無を調べ、上記オフセットがなければ、上記書込手段に上記ファイルの後ろ側のブロックから先頭のブロックへ順番に上記上書き消去をさせ、上記オフセットがあれば、上記書込手段に上記オフセットに上記上書き消去をさせた後、上記ファイルの後ろ側のブロックから先頭のブロックへ順番に上記上書き消去をさせる手段にするとよい。
【００１２】
さらに、上記上書き消去手段が、上記書込手段に上記上書き消去を所定回数実施させる手段を有するとよい。
さらに、上記上書き消去手段が、上記書込手段に上記暗号化を解除させ、上記所定のデータを暗号化せずに上書き消去させる手段を有するとよい。
また、データを暗号化して記憶手段に書き込む書込工程と、上記記憶手段に記憶された消去対象のデータをファイルとして登録する登録工程と、上記書込工程によって上記記憶手段の前記登録されたファイルに対応するデータが記録された領域に対して所定のデータを上書き消去させる上書き消去工程と、上記上書き消去の後、上記記憶手段の上書き消去された領域を解放する解放工程とを備え、上記上書き消去工程が、上記書込工程によって上記暗号化に用いる暗号鍵によって上記所定のデータを暗号化させて上書き消去させる工程を有する画像処理装置のデータ消去方法も提供する。
さらに、コンピュータに、上記のような画像処理装置を構成する書込手段と登録手段と上書き消去手段と解放手段との各手段としての機能を実現させるためのプログラムも提供する。
【発明の効果】
【００１３】
この発明による画像処理装置と画像処理装置のデータ消去方法は、ファイルシステムを利用してファイルをブロック単位で上書き消去する際のオーバーヘッドを減少させて、高速に逐次消去することができる。
また、この発明によるプログラムは、コンピュータに、ファイルシステムを利用してファイルをブロック単位で上書き消去する際のオーバーヘッドを減少させて、高速に逐次消去できるようにするための機能を実現させることができる。
【図面の簡単な説明】
【００１４】
【図１】図２に示すＣＰＵでの上書き消去処理に係る機能構成を示すブロック図である。
【図２】この発明の一実施例である複合機の構成を示すブロック図である。
【図３】図１に示す上書き消去デーモンが行う上書き消去処理の手順を説明する図である。
【図４】図３に示す１ファイル分の上書き消去処理を示すフローチャート図である。
【００１５】
【図５】ファイル内のオフセットに対する上書き消去処理の一例を示す説明図である。
【図６】図２に示す仮想ファイルシステムの制御処理を示すフローチャート図である。
【図７】図２に示すＨＤＤドライバによる上書き消去処理の際の制御処理を示すフローチャート図である。
【発明を実施するための形態】
【００１６】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
〔実施例〕
図２はこの発明の一実施例である複合機の構成を示すブロック図である。
この複合機１は、画像処理装置に相当し、コントローラ２，エンジン３，操作表示部４，及びＵＳＢインタフェース（Ｉ／Ｆ）５からなり、ネットワーク６に接続され、ネットワーク６上の図示を省略したコンピュータ（ＰＣ），他の画像処理装置を含む各種の装置とデータのやり取りが可能である。
コントローラ２は、ＣＰＵ１０，第１ＡＳＩＣ１１，メモリ（ＭＥＭ）１２，ＲＯＭ１３，ＮＶＲＡＭ１４，ＨＤＤ１５，ＳＤカード１６，第２ＡＳＩＣ１７を備えており、この複合機１の全体の制御を司る。
【００１７】
エンジン３は、コントローラ２の第１ＡＳＩＣ１１に接続されており、図示を省略した原稿から画像データを読み取る画像読取装置（スキャナ）と、同じく図示を省略した画像データを一連のプロセスよって可視画像として用紙等の記録媒体上に印刷する印刷装置（プリンタ）を備えている。
操作表示部４は、ユーザに各種の操作情報を入力させる入力装置と、ユーザに各種の情報を表示する表示装置とを備えている。
ＵＳＢＩ／Ｆ５は、コントローラ２の第２ＡＳＩＣ１７に接続されており、光ディスク装置，デジタルカメラを含む各種のＵＳＢ機器を接続し、そのＵＳＢ機器とのデータのやり取りを司る。
ネットワーク６は、コントローラ２の第２ＡＳＩＣ１７に接続されており、ローカルエリアネットワーク，インターネットを含む各種の通信網である。
【００１８】
コントローラ２は、第１ＡＳＩＣ１１に、ＣＰＵ１０とメモリ１２とＲＯＭ１３とＮＶＲＡＭ１４とＨＤＤ１５とＳＤカード１６と第２ＡＳＩＣ１７が接続されている。
ＣＰＵ１０は、この複合機１の全体制御を行うと共に、ＯＳ上によってこの発明に係るプログラムを実行させ、この発明に係るデータ消去方法の処理を実行し、この発明に係る各手段の機能部を実現させる。
第１ＡＳＩＣ１１は、画像処理用途向けのＩＣであり、ＨＤＤ１５との間でＡＴＡ等の通信線を介してデータのやり取りを制御するＨＤＤイメージプロセッサ（ＩＰ）２０を備えており、そのＨＤＤＩＰ２０には、ＨＤＤ１５に書き込む画像データ，文書データ，この発明に係るプログラムを含む複合機１上で動作させる各種のプログラム，フォントデータ，フォーム，システム情報，ユーザ情報を含む各種のデータ（以下「データ等」という）を暗号化するハードウェアである暗号化処理部２１を備えている。
【００１９】
この暗号化処理部２１では、例えば、暗号鍵を用いたＡＥＳ等の暗号化処理を行う。この暗号化処理部２１によるデータ等を暗号化して記憶する機能を実行するか否かの切り替えと、暗号化の際に用いるＡＥＳ等の暗号鍵の設定とは、第１ＡＳＩＣ１１上で動作させるソフトウェアプログラムの実行によって実現する。
メモリ１２は、画像データの描画用メモリ等として用いられる記憶装置である。
ＲＯＭ１３，ＮＶＲＡＭ１４及びＳＤカード１６は、この発明に係るプログラムを含む複合機１上で動作させる各種のプログラムを記憶する記憶装置であり、例えば、ＮＶＲＡＭ１４は、ＣＰＵ１０が処理の際の作業領域として使用し、逐次上書き消去ファイル登録部として使用する記憶装置でもある。
【００２０】
ＨＤＤ１５は、画像データ，文書データ，この発明に係るプログラムを含む複合機１上で動作させる各種のプログラム，フォントデータ，フォーム，システム情報，ユーザ情報を含む各種のデータ等を蓄積する大容量の記憶装置である。
第２ＡＳＩＣ１７は、操作表示部４，ＵＳＢＩ／Ｆ５，ネットワーク６とのデータのやり取りの制御と共に電源制御を行うＩＣである。
なお、図１ではこの実施例の説明に不要な部分について適宜省略している。
この複合機１は、セキュリティ上の脅威からＨＤＤ１６に記録されたデータ等を保護する為、ＣＰＵ１０が次のような上書き消去処理を行う。
【００２１】
図１は、図２に示したＣＰＵ１０での上書き消去処理に係る機能構成を示すブロック図である。
ＣＰＵ１０は、ファイルをアクセスするプロセス３０からのファイル消去要求が発生すると、逐次上書き消去対応標準ライブラリ（ｌｉｂｃ）３１が、逐次上書き消去に関わるライブラリ関数３２によってＯＳの種類によらず上記ファイル消去要求を検知し、例えば、ＮＶＲＡＭ１４上に逐次上書き消去ファイル登録部３３を設け、逐次上書き消去ファイル登録部３３に上記ファイル消去要求のあったファイルを登録する。
次に、上書き消去デーモン３４が、逐次上書き消去ファイル登録部３３へのファイルの登録を検知すると、ファイルシステム３５へ上書き消去指示を送り、逐次上書き消去ファイル登録部３３に登録されたファイルの上書き消去処理を低プライオリティで実行する。
【００２２】
ファイルシステム３５は、上書き消去デーモン３４の制御によってＨＤＤドライバ３８を介してＨＤＤ１５に対する上書き消去処理を行った後、その消去したファイルをファイルシステムから解放（本当の消去を）する。
このファイルシステム３５は、仮想ファイルシステム３６とバッファキャッシュ３７とを有する。
仮想ファイルシステム３６は、仮想的なファイルシステムであり、実際のファイルシステム、例えば、ＦＦＳ，ｅｘｔ２，ＸＦＳなどの複数のファイルシステムを同一に扱えるように、プロセスに対して統一したインタフェースを提供する。
これにより、プロセス側は異なるファイルシステムを同様に利用することができる。
また、バッファキャッシュ３７は、各ファイルシステムで共有されるキャッシュ領域である。
【００２３】
通常の消去処理の場合、バッファキャッシュ３７に消去するファイルに上書きするデータを一旦キャッシュし、一定の時間間隔でＨＤＤドライバ３８へまとめて送るので、消去するデータの容量が大きい場合、バッファキャッシュ３７への書き込み回数が増えて効率良く消去できない。
そこで、この上書き消去処理の場合は、ＨＤＤドライバ３８を介して即座に上書き消去を実行する。
また、ユーザＩ／Ｆ（設定・制御プロセス）３９は、逐次上書き消去対応標準ライブラリ３１及び上書き消去デーモン３４に対して、ファイル消去要求があった場合に上書き消去処理を実行させる開始と、通常の消去処理を実行して上書き消去処理を実行させないようにする停止との指示を行う。
【００２４】
すなわち、上記ＨＤＤドライバ３８が、データを暗号化して記憶手段に書き込む書込手段の機能を果たす。上記ＨＤＤ１５が上記記憶手段に相当する。
また、逐次上書き消去ファイル登録部３３が、上記記憶手段に記憶された消去対象のデータをファイルとして登録する登録手段の機能を果たす。
さらに、上記上書き消去デーモン３４，上記ファイルシステム３５の仮想ファイルシステム３６が、上記書込手段に上記記憶手段の前記登録されたファイルに対応するデータが記録された領域に対して所定のデータを上書き消去させる上書き消去手段の機能を果たす。
また、上記ファイルシステム３５が、上記上書き消去の後、上記記憶装置の上書き消去された領域を解放する解放手段の機能を果たす。
【００２５】
さらに、上記上書き消去デーモン３４，上記ファイルシステム３５の仮想ファイルシステム３６は、上記登録されたファイルのファイルサイズ及び上記ファイル内のブロックのブロックサイズに基づいて、上記ファイルを、上記ブロックサイズのブロックと、上記ブロックサイズに満たないオフセットとに分け、上記オフセットがなければ、上記書込手段に上記ファイルの後ろ側のブロックから先頭のブロックへ順番に上記上書き消去をさせ、上記オフセットがあれば、上記書込手段に上記オフセットに上記上書き消去をさせた後、上記ファイルの後ろ側のブロックから先頭のブロックへ順番に上記上書き消去をさせる手段の機能も果たす。
【００２６】
また、上記上書き消去デーモン３４，上記ファイルシステム３５の仮想ファイルシステム３６は、上記書込手段に上記暗号化に用いる暗号鍵によって上記所定のデータを暗号化させて上書き消去させる手段の機能も果たす。
さらに、上記上書き消去デーモン３４，上記ファイルシステム３５の仮想ファイルシステム３６は、上記書込手段に上記上書き消去を所定回数実施させる手段の機能も果たす。
また、上記上書き消去デーモン３４，上記ファイルシステム３５の仮想ファイルシステム３６は、上記書込手段に上記暗号化を解除させ、上記所定のデータを暗号化せずに上書き消去させる手段の機能も果たす。
【００２７】
次に、上書き消去デーモン３４が行う上書き消去処理について説明する。
図３は、図１に示す上書き消去デーモン３４が行う上書き消去処理の手順を説明する図である。
上書き消去デーモン３４は、ステップ（図中「Ｓ」で示す）で、逐次上書き消去ファイル登録部３３の逐次上書き消去用ディレクトリ内に（ファイル消去要求のあった）ファイルが登録されているか否かを判断し、登録されていればステップ２へ進み、登録されていなければこの処理を終了する。
【００２８】
ステップ２で、逐次上書き消去用ディレクトリ内に登録されているファイル数分の逐次上書き消去用ファイル情報リストを作成する。
この逐次上書き消去用ファイル情報リストには、ファイル消去要求のあったファイルの「ファイル名」「ファイルサイズ」「ブロックサイズ」が含まれる。この逐次上書き消去用ファイル情報リストを作成した後、逐次上書き消去用ファイル情報リストを順次１つずつ選択し、作成した逐次上書き消去用ファイル情報リスト数分、ステップ３〜５の処理を繰り返し行う。
ステップ３で、選択した逐次上書き消去用ファイル情報リストに含まれるファイルサイズが０か否かを判断し、０ならステップ６へ進み、０でなければステップ４へ進む。
【００２９】
ステップ４で、選択した逐次上書き消去用ファイル情報リストを利用して１ファイル分の上書き消去処理を実行し、ステップ５へ進む。
ステップ５で、その逐次上書き消去用ファイル情報リストとファイルとの関連付けを解消（ｕｎｌｉｎｋ）し、ステップ６へ進む。
ステップ６で、逐次上書き消去用ファイル情報リストのリスト数分のステップ３〜５の処理が完了したか否かを判断し、完了しなければ、次の逐次上書き消去用ファイル情報リストについてステップ３〜５の処理を実行し、全て完了したら、この処理を終了する。
【００３０】
次に、上記１ファイル分の上書き消去処理について説明する。
図４は、図３に示した１ファイル分の上書き消去処理を示すフローチャート図である。また、図５は、ファイル内のオフセットに対する上書き消去処理の一例を示す説明図である。
この１ファイル分の上書き消去処理ではＨＤＤ１５の消去対象のファイルをシークし、そのファイルの後ろ側からデータを消去して解放していく。
上書き消去デーモン３４は、図４に示すように、ステップ（図中「Ｓ」で示す）１１で、選択した逐次上書き消去用ファイル情報リストに含まれるファイルサイズとブロックサイズを用いて次の数１と数２からオフセット及び処理ブロック数を算出し、ステップ１２へ進む。
【００３１】
［数１］オフセット＝（ファイルサイズ÷ブロックサイズ）の剰余値
［数２］処理ブロック数＝ファイルサイズ÷ブロックサイズ
上記オフセットとは、ブロックサイズまで満たないデータサイズである。
この処理において、ファイルサイズがブロックサイズで割り切れるときはオフセットは０になり、この消去対象のファイルにオフセットが無いことが分る。一方、ファイルサイズがブロックサイズで割り切れないときには、この消去対象のファイルにオフセットが有ることが分る。
ステップ１２で、オフセットが０か否かを判断し、０ならば（オフセットのブロック無し）ステップ１６へ進み、０でなければ（オフセットのブロック有り）ステップ１３へ進む。
【００３２】
すなわち、消去対象のファイルにオフセットのブロックがある場合は、まず、ステップ１３〜１５でオフセットのブロックを消去し、その後で残りのブロックについてブロック内全体を消去する。
また、消去対象のファイルにオフセットのブロックがない場合は、全ブロックについてブロック内全体を消去する。
ステップ１３で、オフセットのブロックに対して上書き処理を実行し、ステップ１４へ進む。
ステップ１４で、ファイルサイズを、ファイルサイズ−オフセットにし、処理対象のファイルサイズをオフセット分だけ少なくし、ステップ１５へ進む。
【００３３】
ステップ１５で、ファイルシステム３５からＨＤＤ１５のオフセット分の領域を解放し、ステップ１６へ進む。
例えば、図５の（ａ）に示すように、上書き消去処理前の消去対象のファイルについて、処理ブロック数がブロックサイズの全てにデータが記録されたブロックと、ブロックサイズに満たないサイズであるオフセットのデータが記録されたブロックとからなる場合、図５の（ｂ）に示すように、消去対象のファイルの後ろ側のセクタからシークし、上記ファイルサイズと上記処理ブロック数とに基づいてオフセットのブロックの先頭のセクタを探し出し、上記オフセットに基づいてオフセットのブロックの先頭のセクタから上記オフセット分のサイズを含む各セクタに対してブロックの先頭側からデータの上書き消去処理を実行する。その後、図５の（ｃ）に示すように、オフセットのブロックをファイルシステム３５から解放する。
【００３４】
図４に戻り、ステップ１６で、処理ブロック数から１を減算して新たな処理ブロック数にし、ステップ１７へ進む。
こうして、上書き消去処理の対象のファイルはオフセットの無い、ブロックサイズの倍数のファイルサイズになる。
ステップ１７で、処理ブロック数が０以下か否かを判断し、０以下なら、上書き処理するブロックがないので、この処理を終えてリターンする。
一方、ステップ１７の判断で処理ブロック数が０以下でなければ、上書き処理するブロックが残っているので、ステップ１８へ進む。
ステップ１８で、ブロックに対して上書き処理を実行し、ステップ１９へ進む。
ステップ１９で、ファイルサイズを、ファイルサイズ−ブロックサイズにし、処理対象のファイルサイズを１ブロックサイズ分だけ少なくし、ステップ２０へ進む。
【００３５】
ステップ２０で、ファイルシステム３５からＨＤＤ１５の１ブロック分の領域を解放し、ステップ２１へ進む。
ステップ２１で、処理ブロック数から１を減算して新たな処理ブロック数にし、ステップ１７へ戻る。
こうして、残りの全ブロックについて、ステップ１８〜２０の処理を繰り返して上書き処理をする。
このようにして、消去対象のファイルの後ろ側にあるブロックから先頭へ向かって順番に上書き消去を行い、ファイルシステム３５から解放することにより、画像ファイルを含むファイルサイズが大きいファイルの記録された領域を少しずつ解放することができる。
すなわち、複合機１は、ＨＤＤ１５に対して空き領域を素早く作ることができる。
なお、ブロックを物理セクタ単位にすれば、複合機１はファイルの後ろから物理セクタ単位で順番に上書き消去を行い、ファイルシステム３５から解放することができる。
【００３６】
次に、上記上書き消去デーモン３４による上書き処理（上記ステップ１３，１８）の際、ファイルシステム３５の仮想ファイルシステム３６の制御処理について説明する。
図６は、図２に示した仮想ファイルシステム３６の制御処理を示すフローチャート図である。
仮想ファイルシステム３６は、ステップ（図中「Ｓ」で示す）３１で、上書き消去デーモン３４からのシステムコールはアイオーコントロール（ｉｏｃｔｌ）か否かを判断し、ｉｃｏｔｌである場合はステップ３２へ進み、ｉｏｃｔｌでなかった場合はステップ３４へ進む。
【００３７】
ステップ３２で、ｉｏｃｔｌで指定されたコマンドが上書き消去指示のコマンドである場合、ＨＤＤドライバ３８に上書き消去処理の実行を指示し、この処理を終了する。
一方、ステップ３４で、指定されたコマンドに対応するその他のファイル処理をし、この処理を終了する。
上記処理で、例えば、ＵＮＩＸ系ＯＳで一般的に準拠されているＰＯＳＩＸ（Ｐｏｒｔａｂｌｅ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ、登録商標）においては、書き込みのシステムコールの引数には書き込みデータを指定しなければならないが、この実施例では、書き込み用データをＨＤＤドライバ３８側で作成するので、消去対象ファイルへのｉｏｃｔｌシステムコールとして、上書き消去指示のコマンドを送るようにしている。
【００３８】
次に、上記仮想ファイルシステム３６による上書き消去処理の実行が指示（上記ステップ３３）されたＨＤＤドライバ３８の制御処理について説明する。
図７は、図２に示したＨＤＤドライバ３８による上書き消去処理の際の制御処理を示すフローチャート図である。
まず、上書き消去デーモン３４は、仮想ファイルシステム３６からｉｎｏｄｅ情報によって消去対象のファイルの開始セクタを得ると、その開始セクタに基づいて仮想ファイルシステム３６へ消去対象のファイルの上書き消去指示を送り、仮想ファイルシステム３６は、ＨＤＤドライバ３８に対して上記開始セクタに基づく消去対象のファイルの上書き消去指示を送り、ＨＤＤドライバ３８は、上記上記開始セクタに基づいて消去対象のファイルについてオフセット又はセクタ単位でハードウェアのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）により上書きを実施する。
【００３９】
ＨＤＤドライバ３８は、ステップ４１で、消去対象のファイルの開始セクタを受け取ると、ステップ４２へ進む。
ステップ４２で、消去対象のファイルに対して上書きするデータを暗号化して書き込むか否かを判断し、暗号化して書き込む場合はステップ４３へ進み、暗号化しないで書き込む場合はステップ４８へ進む。
このステップでは、予めＨＤＤドライバ３８に対して設定された上書きの際の方式を確認しており、暗号化を用いる場合は、ＨＤＤ１５に対する通常の暗号化して書き込む場合と同じにして、暗号化鍵に基づいて所定のデータを暗号化することにより、上書きするデータをランダムな値にする方式と、暗号化を用いないで所定のデータを上書きに用いる方式とを切換える。
【００４０】
ステップ４３で、消去対象のファイルに対して上書きするデータを暗号化して書き込むため、複数の暗号鍵を保存し、ステップ４４へ進む。
ステップ４４で、上記保存した各暗号鍵の中から１つをランダムに設定し、上記設定した暗号鍵に基づいて所定のデータを暗号化し、ステップ４５へ進む。
ステップ４５で、上記暗号鍵に基づいて暗号化したデータをセクタ列に上書きし、そのセクタ列に記憶されていたデータを上書き消去して、ステップ４６へ進む。
ステップ４６では、所定回の上書きが済んだか否かを判断する。
この判断では、予めＨＤＤドライバ３８に対して設定された消去対象のファイルに対する上書き回数を終了したか否かを判断し、終了しなければ、ステップ４４へ戻り、終了したら、ステップ４７へ進む。
【００４１】
例えば、消去対象のファイルに３回の上書きをして消去するように設定されていた場合、ステップ４４，４５の処理が３回終了するまでは、ステップ４４，４５の処理を繰り返し、その都度ランダムに設定した暗号鍵によって暗号化したデータを上書きする。
こうして、任意のデータをセクタ列全体に３回書き込むことで擬似的に乱数を３回書き込むことができる。
上記上書き回数は何回にでも設定することができる。
したがって、暗号化のハードウェアである暗号化処理部２１を用いて上書き消去を行うことにより、ＣＰＵ１０の負荷を低減しつつ上書き消去の高速化が図れる。
ステップ４７で、上記保存した暗号鍵を復元して、この処理を終了する。
【００４２】
一方、ステップ４８で、暗号化しないで所定のデータを書き込む場合、所定のデータを、例えば、「０」「０×ＦＦ」「０」の各データとすると、暗号鍵を保存して暗号化処理部２１に対して暗号化を解除（暗号化処理を実施しないように設定）し、ステップ４９へ進む。上記所定のデータは、「０」「０×ＦＦ」「０」の他のデータにしても良い。
ステップ４９で、０データをセクタ列全体に上書きし、ステップ５０へ進む。
ステップ５０で、０×ＦＦデータをセクタ列全体に上書きし、ステップ５１へ進む。
ステップ５１で、０データをセクタ列全体に上書きし、ステップ５２へ進む。
ステップ５２で、上記保存した暗号鍵を復元した後、暗号化処理部２１に対して再び暗号化を実施するように設定を戻して、この処理を終了する。
【００４３】
こうして、ＨＤＤ１５への書き込みの際に暗号化を一時的に解除したあと、「０」「０×ＦＦ」「０」の各データをセクタ列全体に書き込むので、ＨＤＤ１５の領域を消磁する際に物理的に０あるいはＦＦが書き込まれていることを保証することができる。
この実施例の複合機１によれば、上述のようにして、ファイルシステムを利用してファイルをブロック単位で上書き消去する際のオーバーヘッドを減少させて、高速に逐次消去することができる。
【産業上の利用可能性】
【００４４】
この発明による画像処理装置と画像処理装置のデータ消去方法とプログラムは、複写機，印刷装置，複合機を含む画像形成装置全般で適用することができる。
【符号の説明】
【００４５】
１：複合機    ２：コントローラ    ３：エンジン    ４：操作表示部    ５：ＵＳＢＩ／Ｆ    ６：ネットワーク    １０：ＣＰＵ    １１：第１ＡＳＩＣ    １２：メモリ    １３：ＲＯＭ    １４：ＮＶＲＡＭ    １５：ＨＤＤ    １６：ＳＤカード    １７：第２ＡＳＩＣ    ２０：ＨＤＤＩＰ    ２１：暗号化処理部    ３０：ファイルをアクセスするプロセス    ３１：逐次上書き消去対応標準ライブラリ（ｌｉｂｃ）    ３２：逐次上書き消去に関わるライブラリ関数    ３３：逐次上書き消去ファイル登録部    ３４：上書き消去デーモン    ３５：ファイルシステム    ３６：仮想ファイルシステム    ３７：バッファキャッシュ    ３８：ＨＤＤドライバ    ３９：ユーザＩ／Ｆ（設定・制御プロセス）
【先行技術文献】
【特許文献】
【００４６】
【特許文献１】特開２００９−１５２８７８号公報
【図１】
0005544905.tif 000002
【図２】
0005544905.tif 000003
【図３】
0005544905.tif 000004
【図４】
0005544905.tif 000005
【図５】
0005544905.tif 000006
【図６】
0005544905.tif 000007
【図７】
0005544905.tif 000008