(57)【特許請求の範囲】
【請求項１】
ハードディスクの記憶領域を構成する複数のセクタをブロックとし、当該ブロックを一意に指定可能なブロック番号を用いてブロックを指定するＬＢＡ（Logical Block Addressing）方式を用いたハードディスクへの書き込み・読み出しを行う難読化装置であって、
書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と、当該ブロック数に対応するデータとを受信する第一の送受信手段と、
所定のブロック数と、当該ブロック数に対応する数で所定値ｎ０から連続した値を所定の順番で配置した第一のブロック順序変換情報を格納するブロック順序変換情報記憶手段と、
上記受信した開始ブロック番号と、上記ブロック順序変換情報記憶手段から上記受信されたブロック数に対応する第一のブロック順序変換情報とに基づいて、当該開始ブロック番号よりペアとなる第一のブロック順序変換情報の２つの値を入れ替えた第二のブロック順序変換情報を生成する変換情報生成手段と、
上記受信したデータを、当該データと受信されたブロック数で所定番目ｎ０から順番に分割し、新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目ｎ２の値ｎ１を参照し、当該値ｎ１に対応する所定番目ｎ１に分割された分割データを当該第二のブロック順序変換情報の値ｎ１の所定番目ｎ２に位置させることで、各分割データをブロック単位で順序変換する順序変換手段と、
順序変換した後の変換データと、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数とをハードディスクに送信して、当該開始ブロック番号から上記変換データをハードディスクに記憶させる第二の送受信手段と、
を備える難読化装置。
【請求項２】
上記順序変換手段は、新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目ｎ２の値ｎ１を参照し、当該所定番目ｎ２に対応する所定番目ｎ２に分割された分割データを当該第二のブロック順序変換情報の所定番目ｎ２の値ｎ１番目に位置させることで、ハードディスクより取得したデータの逆変換を行う請求項１に記載の難読化装置。
【請求項３】
請求項１又は２に記載の難読化装置を備えた画像形成装置。
【請求項４】
ハードディスクの記憶領域を構成する複数のセクタをブロックとし、当該ブロックを一意に指定可能なブロック番号を用いてブロックを指定するＬＢＡ（Logical Block Addressing）方式を用いたハードディスクへの書き込み・読み出しを行うプログラムであって、
書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と、当該ブロック数に対応するデータとを受信する受信ステップと、
上記受信したデータを、当該データと受信されたブロック数で所定番目ｎ０から順番に分割する分割ステップと、
所定のブロック数と、当該ブロック数に対応する数で所定値ｎ０から連続した値を所定の順番で配置した第一のブロック順序変換情報を格納するブロック順序変換情報記憶手段から上記受信されたブロック数に対応する第一のブロック順序変換情報と、上記受信した開始ブロック番号とに基づいて、当該開始ブロック番号よりペアとなる第一のブロック順序変換情報の２つの値を入れ替えた第二のブロック順序変換情報を生成する変換情報生成ステップと、
新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目ｎ２の値ｎ１を参照し、当該値ｎ１に対応する所定番目ｎ１に分割された分割データを当該第二のブロック順序変換情報の値ｎ１の所定番目ｎ２に位置させることで、各分割データをブロック単位で順序変換するデータ順序変換ステップと、
順序変換した後の変換データと、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数とをハードディスクに送信して、当該開始ブロック番号から上記変換データをハードディスクに記憶させる送信ステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル複写機、プリンタ、スキャナなどの画像形成装置及び当該画像形成装置にて利用される難読化装置、プログラムに関する。
【背景技術】
【０００２】
画像処理装置は年々多機能になり、画像処理装置が提供する印刷機能、コピー機能、ＦＡＸ機能等の基本機能に加えて、例えば両面印刷といった利便性を高める様々な付加設定が可能となっている。このような付加設定を可能にするには大容量の記憶手段が必要とされ、即ち記憶容量当たりのコストが安価なハードディスクドライブ（ＨＤＤ）が利用されている。当該ＨＤＤは仕様が一般化され、様々なメーカーの商品を採用することができるため、画像処理装置と一体として構成するのではなく、取り外し可能に構成することで製造面、メンテナンス面の融通性を向上させている。
【０００３】
他方で、ＨＤＤには様々な画像データが保存されるが、これら画像データの中には外部への漏洩を防がなければならない重要なものが含まれることも多い。したがって、取り外し可能に構成されているため盗難の可能性が高いことも踏まえ、ＨＤＤが取り外され、持ち出された場合であってもその画像データが容易に読み出されることは防止しなければならない。
【０００４】
そこで例えば特開２００６−２５９９８８号公報には、ＤＭＡコントローラとＨＤＤインターフェイスとの間に暗号/復号化モジュールと、ＣＰＵからのＳＥＥＤを受信するとともにＳＥＥＤを元に生成した暗号ＫＥＹを暗号/復号化モジュールに与えるＭ系列乱数発生モジュールとを備えたセキュリティに関する技術が開示されている。当該技術によれば、ＨＤＤに記憶される技術は暗号化されるため、ＨＤＤが盗まれた場合であってもデータを容易には解読できないとしている。
【特許文献１】特開２００６−２５９９８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＨＤＤに書き込むデータに暗号化技術を適用することで、ＨＤＤからの情報漏洩は非常に強固に防止されることが予想される。しかしながら、暗号化強度が高いほどその演算量は膨大となるためＨＤＤへの書き込み・読み出しに時間が掛かり、機器への負担も増加するといった問題が生じる。
【０００６】
また、近年の画像形成装置は多機能であるため、スキャナ部で読み込んだ画像データは当該機能の提供のために一旦ＨＤＤに格納されるのが通常である。つまり、ＨＤＤへの書き込み・読み出しが頻繁に行われるのである。これに対してすべてのデータを強固な暗号化／複合化に供するのは現実的でない。
【０００７】
また、時間の短縮を図るためには高性能のＣＰＵ、暗号化チップ、ＨＤＤを利用せざるを得ず、コストが増大してしまうという問題も生じる。
【０００８】
本発明は、上記の課題を解決するためになされたもので、負担をかけずに、しかも簡易な構成により、ＨＤＤ内のデータの難読化を実現した画像形成装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するために以下の手段を採用している。すなわち本発明における難読化装置は、ハードディスクの記憶領域を構成する複数のセクタをブロックとし、当該ブロックを一意に指定可能なブロック番号を用いてブロックを指定するＬＢＡ（Logical Block Addressing）方式を用いたハードディスクへの書き込み・読み出しを行うことを前提としている。そして、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と当該ブロック数に対応するデータとを受信する第一の送受信手段と、所定のブロック数と、当該ブロック数に対応する数で所定値ｎ０から連続した値を所定の順番で配置した第一のブロック順序変換情報を格納するブロック順序変換情報記憶手段と、上記受信した開始ブロック番号と、上記ブロック順序変換情報記憶手段から上記受信されたブロック数に対応する第一のブロック順序変換情報とに基づいて、当該開始ブロック番号よりペアとなる第一のブロック順序変換情報の２つの値を入れ替えた第二のブロック順序変換情報を生成する変換情報生成手段と、上記受信したデータを、当該データと受信されたブロック数で所定番目ｎ０から順番に分割し、新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目ｎ２の値ｎ１を参照し、当該値ｎ１に対応する所定番目ｎ１に分割された分割データを当該第二のブロック順序変換情報の値ｎ１の所定番目ｎ２に位置させることで、各分割データをブロック単位で順序変換する順序変換手段と、順序変換した後の変換データと、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数とをハードディスクに送信して、当該開始ブロック番号から上記変換データをハードディスクに記憶させる第二の送受信手段とを備える。
【００１１】
ＨＤＤからの読み出し時には、第一の送受信手段は、読み出しを行うブロックの開始ブロック番号と、読み込みを行うブロック数とを受信し、第二の送受信手段は、上記読み出しを行うブロックの開始ブロック番号と、読み込みを行うブロック数とに基づいて、ハードディスクよりデータを取得し、順序変換手段は、ハードディスクより取得したデータを上記読み込みを行うブロック数で所定番目ｎ０から順番に分割し、上記ブロック順序変換情報記憶手段から上記読み込みを行うブロック数に対応する第一のブロック順序変換情報を参照し、当該第一のブロック順序変換情報の所定番目ｎ２の値ｎ１を参照し、当該所定番目ｎ２に対応する所定番目ｎ２に分割された分割データを当該第一のブロック順序変換情報の所定番目ｎ２の値ｎ１番目に位置させることで、各分割データを上記第一のブロック順序変換情報にしたがって書き込み時とは逆の順序に逆変換する構成とする。
【００１２】
また、第二のブロック順序変換情報を用いる場合には、順序変換手段は、新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目ｎ２の値ｎ１を参照し、当該所定番目ｎ２に対応する所定番目ｎ２に分割された分割データを当該第二のブロック順序変換情報の所定番目ｎ２の値ｎ１番目に位置させることで、ハードディスクより取得したデータの逆変換を行う構成とする。
【００１３】
また、これら難読化装置各手段が行う手順を示したプログラムや、難読化装置を備えた画像形成装置も提供する。
【発明の効果】
【００１４】
データ順序変換手段は、ホストコントローラから得られたデータをブロック順序変換情報に基づいてブロック単位で順序変換し、ＨＤＤに書き込んでいる。これにより、ＨＤＤに書き込まれるデータは順序変換されており、つまりデータとしては破損した状態となっているため、単に読み出したのみではその内容は意味を成さず、すなわち難読化される。
【００１５】
また、難読化の処理としては単にブロック単位で順序を入れ替えるのみであるため、コストをかけずに単純な回路で構成することができ、さらに難読化処理による遅延もほとんど無い。
【００１６】
さらに、ホストコントローラとディスクコントローラとの間に設けることにより、従来のＨＤＤへの書き込み・読み出し手順はなんら変わることがないため、周辺のコントローラやＣＰＵ、その他プログラムに変更を加える必要もない。また、ＨＤＤへの書き込み順序が変わるものではないため、読み出し時にランダムアクセスが発生することも無い。
【００１７】
また、変換情報生成手段が開始ブロック番号と、ブロック順序変換情報Ａとに基づいて、新たなブロック順序変換情報Ｂを生成し、これに基づいて順序変換する。これにより、開始ブロック番号に基づいて毎回異なるブロック順序変換情報を生成でき、難読化の強度を上げることができる。また、開始ブロック番号はＬＢＡ方式で必ず与えられる値であるため、周辺のコントローラやＣＰＵに新規処理（乱数発生処理）などを追加する必要なく実現することが可能である。
【発明を実施するための最良の形態】
【００１８】
以下、添付図面を参照して、本発明の実施の形態につき説明し、本発明の理解に供する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。
【００１９】
以下、本発明に係る画像形成装置について説明する。
【００２０】
図１は、画像形成装置１００の概略模式図である。ただし、本発明に直接には関係しない各部の詳細は省略している。
【００２１】
本発明の画像形成装置１００は、例えばプリンタやスキャナ単体、あるいはプリンタ、コピー、スキャナ、ファックス等を備えた複合機等が該当する。
【００２２】
なお、一例として複合機を利用して原稿のコピーを行う際の画像形成装置の動作を簡単に説明する。
【００２３】
ユーザが複合機を利用して例えば原稿の印刷を行う場合、原稿を図１に示す原稿台１０３、或いは載置台１０５に配置し、原稿台近傍に供えられた操作パネルに対して印刷の指示を行う。当該指示があると、以下に示す各部（駆動部）が動作することで、印刷が行われる。
【００２４】
図１に示すように、本実施の形態の画像形成装置１００は、本体１０１と、本体１０１の上方に取り付けられたプラテンカバー１０２を備える。本体１０１の上面は原稿台１０３が設けられており、原稿台１０３は、プラテンカバー１０２によって開閉されるようになっている。プラテンカバー１０２は、自動原稿給紙装置１０４と載置台１０５と排紙台１０９が設けられている。
【００２５】
自動原稿給紙装置１０４は、プラテンカバー１０２の内部に形成された原稿搬送路１０８と、プラテンカバー１０２の内部に備えられたピックアップローラ１０６や搬送ローラ１０７等で構成される。原稿搬送路１０８は、載置台１０５から、本体１０１に設けられた読取部１１０にて読み取りが行なわれる読取位置Ｐを経由して、排紙台１０９に通じる原稿の搬送路である。
【００２６】
自動原稿給紙装置１０４は、載置台１０５に載置された原稿１枚ずつをピックアップローラ１０６で搬送路内１０８に引き出し、搬送ローラ１０７等によって引き出した原稿を、読取位置Ｐを通過させて排紙台１０９に排紙する。読取位置Ｐを通過する時に原稿は読取部１１０にて読み取られる。
【００２７】
上記読取部１１０は、原稿台１０３の下方に設けられており、図２にその詳細が示されている。読取部１１０は、原稿台１０３を照射する主走査方向に長い光源１１１と、原稿台からの光を選択的に通過させるスリット１１６と、原稿台からの光を導くミラー１１２とを備える第一の移動キャリッジ１１７や、第一の移動キャリッジ１１７からの反射光を再度反射するミラー１１３A、１１３Bを備える第二の移動キャリッジ１１８、さらにミラーで導かれた光を光学的に補正するレンズ群１１９、当該レンズ群１１９より補正された光を受光する撮像素子１１５、撮像素子にて受光した光を電気信号に変換し、必要に応じて補正・修正などを行う画像データ生成部１１４とで構成されている。
【００２８】
自動原稿給紙装置１０４上の原稿を読み取る場合には、光源１１１は、読取位置Ｐを照射できる位置に移動して発光する。光源１１１からの光は、原稿台１０３を透過して読取位置Ｐを通過する原稿にて反射し、スリット１１６、ミラー１１２、１１３A、１１３B、レンズ群１１９によって撮像素子１１５に導かれる。撮像素子１１５は、受光した光を電気信号に変換して画像データ生成部１１４に送信する。画像データ生成部１１４には、上記撮像素子１１５にて受光された光がＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）のアナログ電気信号として入力され、ここでアナログ−デジタル変換され、即ちデジタル化される。さらに、画像データ生成部１１４では、順次変換されたデジタル信号を単位データとし、これら単位データを必要に応じて補正、修正等することで複数の単位データからなる画像データを生成し、第一の記憶部１１４Ｂに格納する。
【００２９】
また、読取部１１０は、自動原稿給紙装置１０４で搬送される原稿だけでなく、原稿台１０３に載置された原稿も読み取ることが可能となっている。原稿台１０３に載置された原稿を読み取る場合は、第一のキャリッジ１１２は、光源１１１を発光しながら副走査方向に移動し、光源１１１から撮像素子１１５までの光路長を一定にするために、第二の移動キャリッジ１１８は第一の移動キャリッジ１１７の１／２の速度で撮像素子１１５方向に移動する。
【００３０】
撮像素子１１５は、自動原稿給紙装置１０４に搬送された原稿のときと同様に、ミラー１１２、１１３Ａ、１１３Ｂに導かれた光に基づいて原稿台１０３に載置された原稿からの光を電気信号に変換し、これに基づいて画像データ生成部１１４が画像データを生成し、第一の記憶部１１４Ｂに記憶する。なお、上記読取部１１０を構成する各部が一連の処理を行うことにより、後述する読取手段４０１として動作する。
【００３１】
本体１０１の読取部１１０の下方には、画像データを印刷する印刷部１２０を備えている。印刷部１２０が印刷できる画像データは、上記のように画像データ生成部１１４にて生成されたものや、その他画像形成装置１００とＬＡＮ等のネットワークに接続されたパソコン等の端末から、ネットワークインターフェイスを介して受信し、例えば上記第一の記憶部１１４Ｂに記憶されたものである。
【００３２】
印刷部１２０が行う印刷方式には、電子写真方式が用いられている。即ち、感光ドラム１２１を帯電器１２２で一様に帯電させ、その後レーザ１２３で感光ドラム１２１を照射して感光ドラム１２１に潜像を形成し、現像器１２４で潜像にトナーを付着させて可視像を形成し、転写ローラにて可視像を用紙に転写する方式である。
【００３３】
なお、フルカラー画像に対応した画像形成装置では、上記現像器（ロータリー現像器）１２４が、図１の紙面に対して垂直方向に構成される回転軸を中心として周方向に回転させられ、対応する色のトナーが格納された現像ユニットが感光ドラム１２１の対向位置に配置される。この状態で、感光ドラム１２１上の潜像が、現像器１２４が格納するトナーにより現像され、中間転写ベルト１２５Ａに転写される。なお、現像器１２４は、イエロー（Ｙ）、シアン(Ｃ)、マゼンタ(Ｍ)、ブラック(Ｋ)の各トナーをそれぞれ格納する４つの現像ユニット１２４（Ｙ）、(Ｃ)、(Ｍ)、(Ｋ)を有している。上記中間転写ベルト１２５Ａへの転写を上記各色毎に繰り返すことにより、当該中間転写ベルト１２５Ａ上にフルカラー画像が形成される。
【００３４】
可視像が印刷される印刷媒体、即ち用紙は、手差しトレイ１３１、給紙カセット１３２、１３３、１３４などの給紙トレイに載置されたものである。
【００３５】
印刷部１２０が印刷を行う際には、何れか１つの給紙トレイから用紙１枚を、ピックアップローラ１３５を用いて引き出し、引き出した用紙を搬送ローラ１３７（手差しトレイ１３１を利用する場合には搬送ローラ１３６）やレジストローラ１３８で中間転写ベルト１２５Ａと転写ローラ１２５Ｂの間に送り込む。
【００３６】
印刷部１２０は、中間転写ベルト１２５と転写ローラ１２５の間に送り込んだ用紙に、上記中間転写ベルト１２５上の可視像を転写すると、可視像を定着させるために、搬送ベルト１２６で定着装置１２７に用紙を送る。定着装置１２７は、ヒータが内蔵された加熱ローラ１２８と、所定の圧力で加熱ローラ１２８に押し当てられた加圧ローラ１２９とで構成されている。加熱ローラ１２８と加圧ローラ１２９の間を用紙が通過すると、熱と用紙への押圧力によって可視像が用紙に定着する。印刷部１２０は、定着装置１２７を通過した用紙を排紙トレイ１３０に排紙する。
【００３７】
以上が、画像形成装置１００における基本的なコピーサービスの処理である。
【００３８】
なお、上記画像形成装置１００では、図３の概略構成図に示すように、ＣＰＵ（Central Processing Unit）３０１、ＲＡＭ（Random Access Memory）３０２、ＲＯＭ（Read Only Memory）３０３、難読化装置３１０、ＨＤＤ（Hard Disk Drive）３０４及び上記印刷処理における各駆動部に対応するドライバ３０５が内部バス３０６を介して接続されている。上記ＣＰＵ３０１は、例えばＲＡＭ３０２を作業領域として利用し、ＲＯＭ３０３やＨＤＤ３０４等に記憶されているプログラムを実行し、当該実行結果に基づいて上記ドライバ３０５とデータや命令を授受することにより上記図１、図２に示した各駆動部３０７の動作を制御する。また、上記難読化装置３１０は、ホストコントローラ（ＤＭＡ（Direct Memory Access）コントローラ）内に組み込まれてもよい。
＜第一の実施の形態＞
続いて、本発明の第一の実施の形態に係る難読化装置３１０の変換処理の詳細について、図４〜７を参照して説明する。
【００３９】
難読化装置３１０は、図４に示すように、画像形成装置１００が備えるホストコントローラ３１４と、HDD３０４が備えるディスクコントローラ４０６とに接続されている。なお、ホストコントローラ３１４は例えばDMAコントローラとすることができる。
【００４０】
このように接続された状況で、画像形成装置１００がHDD３０４にデータを書き込む場合、CPU３０１よりホストコントローラ３１０を介して難読化装置３１０の第一の送受信手段４０１に、開始ブロック番号、ブロック数、及びデータが与えられる。ここで、ブロックとは、ＬＢＡ（Logical Block Addressing）方式におけるブロックを意味し、ＨＤＤ３０４のディスク４０７を構成する記憶領域を複数のセクタに分割した場合の１つのセクタを指す。また、各ブロックを一意に指定可能なアドレスがブロック番号である。また、データは、図６Ａのメモリ（ＲＡＭ３０２）に格納されているデータをホストコンとローラ３１４が取得したものである。
【００４１】
つまり、データの書き込みを行う場合には、第一の送受信手段４０１は、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロックの数、即ちブロック数と、当該ブロック数に対応するデータとを受信する（図５：Ｓ５０１）。
【００４２】
ここでは、開始ブロック番号として“０”、ブロック数として“８”が与えられたものとする。
【００４３】
上記第一の送受信手段４０１が開始ブロック番号、ブロック数、及びデータを受信すると、データ順序変換手段４０２は、ブロック順序変換情報記憶手段４０３よりブロック順序変換情報を参照する（図５：Ｓ５０２）。
【００４４】
ここでは、ブロック順序変換情報にはブロック順序変換情報Ａとして“0x54023176”との値が記憶されているものとする。
【００４５】
次に、データ順序変換手段４０１は、受信したデータを各ブロック（セクタ）に対応するサイズに分割処理される（図５：Ｓ５０３）。処理されたデータは、図６Ａのメモリに示すように、０セクタのデータ“0x000000・・・”から、７セクタのデータ“0x777777・・・”に分割される。なお、理解に供するためデータの内容はセクタ番号で示している。
【００４６】
ただし、ホストコントローラ３１４がブロック数個（８個）分のデータをブロック単位で送信する場合には、分割処理は必ずしも必要ではない。
【００４７】
続いて、分割されたデータは、その分割されたサイズである1ブロック分を単位とし、上記ブロック順序変換情報に従ってその順序の並べ替えが行われる（図５：Ｓ５０４）。
【００４８】
具体的には、データ順序変換手段４０２は、ブロック順序変換情報Ａ“0x54023176”の０番目の値“５”を参照し、５セクタ目のデータをＳＲＡＭ４０５におけるデータの先頭（０番目）に位置させる。また、１番目の値“４” を参照し、４セクタ目のデータをＳＲＡＭ４０５におけるデータの１番目に位置させる。このような処理を０セクタ〜７セクタのデータに対して行うことで、図６Ａ中央に示すように、５，４，０，２，３，１，７，６の順に順序変換が行われる。
【００４９】
順序変換処理が完了すると、ＳＲＡＭ４０５に記憶された順序変換後のデータ、開始ブロック番号“０”、及びブロック数“８”が第二の送受信手段４０４を介してＨＤＤ３０４のディスクコントローラ４０６に送信される（図５：Ｓ５０５）。
【００５０】
データを受信したディスクコントローラ４０６は、ブロック番号０を先頭に、８つのブロック（ブロック番号０〜７）に上記順序変換後のデータを記憶する。結果として、図６のＨＤＤに示すように、ブロック０には、５セクタのデータが、ブロック１には４セクタのデータが・・・ブロック７には６セクタのデータが格納される。
【００５１】
続いて、ＨＤＤからデータを読み出す場合の処理について説明する。
【００５２】
上記格納したデータを読み出す場合には、上記第一の送受信手段４０１は、開始ブロック番号及びブロック数をホストコントローラ３１４より受信する。この際、実際には順序が入れ替わっているデータを読み出すのであるが、ホストコントローラ側では順序が入れ替わってない場合と同様の命令を送信するのみでよい。つまり、ホストコントローラ３１４は、開始ブロック番号“０”とブロック数“８”とを送信するのである。
【００５３】
上記開始ブロック番号“０”とブロック数“８”とを受信した場合、ディスクコントローラ４０６にその旨が伝えられ、ブロック０〜７に記憶されているデータが読み出される。データ内容は、図６Ｂ左端に示すように、順序変換後のデータであるセクタ５，４，０，２，３，１，７，６の順となる。
【００５４】
続いて、順序変換後のデータを受信したデータ順序変換手段４０２は、同様にブロック順序変換情報記憶手段４０３よりブロック順序変換情報Ａを読み出し、上記順序変換と逆の処理（逆変換処理）を行う。具体的には、データ順序変換手段４０２は、ブロック順序変換情報Ａ“0x54023176”の0番目の値“５”を参照し、ブロック０のデータをＳＲＡＭ４０５におけるデータの５番目に位置させる。また、１番目の値“４” を参照し、ブロック１のデータをＳＲＡＭ４０５におけるデータの４番目に位置させる。このような処理をブロック０〜７のデータに対して行うことで、図６Ｂ中央に示すように、０，１，２，３，４，５，６，７の順に順序変換が行われる。変換されたデータは、第一の送受信手段４０１を介してホストコントローラ３１４に送信される。
【００５５】
以上のように、データ順序変換手段は、ホストコントローラから得られたデータをブロック順序変換情報に基づいてブロック単位で順序変換し、ＨＤＤに書き込んでいる。これにより、ＨＤＤに書き込まれるデータは順序変換されており、つまりデータとしては破損した状態となっているため、単に読み出したのみではその内容は意味を成さず、すなわち難読化される。
【００５６】
また、難読化の処理としては単にブロック単位で順序を入れ替えるのみであるため、コストをかけずに単純な回路で構成することができ、さらに難読化処理による遅延もほとんど無い。
【００５７】
さらに、ホストコントローラとディスクコントローラとの間に設けることにより、従来のＨＤＤへの書き込み・読み出し手順はなんら変わることがないため、周辺のコントローラやＣＰＵ、その他プログラムに変更を加える必要もない。また、ＨＤＤへの書き込み順序が変わるものではないため、読み出し時にランダムアクセスが発生することも無い。
【００５８】
なお、上記難読化装置３１０をアプリケーションソフトウェアからＯＳ（オペレーションシステム）に命令を送信する際に仲介するドライバプログラムや、ＯＳとホストコントローラとを仲介するホストコントローラドライバプログラムとして提供しても同様の効果を得ることができる。この場合、アプリケーションソフトウェアが開始ブロック番号、ブロック数、及びデータをドライバプログラムに送信し、ドライバプログラムはＲＡＭ３０２をＳＲＡＭ４０５代わりに用いて上記変換処理を実行すればよい。
＜第二の実施の形態＞
続いて、本発明の第二の実施の形態に係る難読化装置３１０の変換処理の詳細について説明する。
【００５９】
本実施の形態では、難読化装置３１０は、さらに変換情報生成手段４０８を備え、受信した開始ブロック番号と、上記第一のブロック順序変換情報とに基づいて、第二のブロック順序変換情報を生成する点で上記第一の実施の形態と異なる。
【００６０】
まず、データの書き込みを行う場合には、第一の送受信手段４０１は、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と、当該ブロック数に対応するデータとを受信すると、開始ブロック番号は変換情報生成手段４０８に送信される。
【００６１】
続いて、変換情報生成手段４０８は、ブロック順序変換情報記憶手段４０３よりブロック順序変換情報を参照し、ブロック順序変換情報Ａとして例えば上記第一の実施の形態と同様の値、即ち“0x54023176”を得る。
【００６２】
次に、変換情報生成手段４０８は、ブロック順序変換情報Ａと、開始ブロック番号とに基づいて、新たに開始ブロック番号に応じたブロック順序変換情報Ｂを生成する。
【００６３】
ブロック順序変換情報Ｂの生成手順を、図７を用いて具体的に説明する。
【００６４】
まず、開始ブロック番号７０１が１６進数表記で“0x0000003CAA2C”として得られたものとする。変換情報生成手段４０８は、得られた開始ブロック番号７０１から下位３バイト７０２“0x3CAA2C”を抜き出す。当該下位３バイトは２進数表記７０３で示すと“001111001010101000101100”となる。さらに２進数表記７０３を６ビット７０４毎に分解しさらに３ビット７０５で分解する。３ビットで分解した値を上位より順に１０進数表記７０６すると、１，７，１，２，５，０，５，４となる。この値を上位より２つずつペアとすると、“１，７”、“１，２”、“５，０”、“５，４”、となる。
【００６５】
続いて、変換情報生成手段４０８は、上位１つめのペア（“１，７”）に基づいて、ブロック順序変換情報Ａ“0x54023176”のうち、１番目（４）と７番目（６）とを入れ替える。これにより1度目変換後のブロック順序変換情報“0x56023174”が得られる。次に１度目変換後のブロック順序変換情報“0x56023174”と、上位２つめのペア（“１，２”）とに基づいて入れ替えを行うと、２度目変換後のブロック順序変換情報“0x50623174”が得られる。これを上位４つめ（最後）のペアまで繰り返すことで、ブロック順序変換情報Ｂ７１１（“0x10625374”）が得られる。
【００６６】
得られたブロック順序変換情報Ｂは、データ順序変換手段４０２に渡され、当該データ順序変換手段４０２はブロック順序変換情報Ｂに基づいて、上記第一の実施の形態にて示した順序変換処理を行うのである。
【００６７】
また、ＨＤＤ３０４から読み出しを行う場合にも、ホストコントローラ３１４から得られた開始ブロック番号とブロック順序変換情報Ａとに基づいて新たなブロック順序変換情報Ｂを生成する。書き込んだデータを参照する場合には必ず書き込んだ際と同一の開始ブロック番号が与えられるため、同一のブロック順序変換情報Ｂを生成（復元）することができる。あとは、ブロック順序変換情報Ｂを用いて上記実施の形態一にて示した逆変換処理を行うことで、正常なデータを得ることができる。
【００６８】
以上のように、第二の実施の形態では、変換情報生成手段が開始ブロック番号と、ブロック順序変換情報Ａとに基づいて、新たなブロック順序変換情報Ｂを生成し、これに基づいて順序変換する。これにより、開始ブロック番号に基づいて毎回異なるブロック順序変換情報を生成でき、難読化の強度を上げることができる。また、開始ブロック番号はＬＢＡ方式で必ず与えられる値であるため、周辺のコントローラやＣＰＵに新規処理（乱数発生処理）などを追加する必要なく実現することが可能である。
【００６９】
なお、上記２つの実施の形態では、ブロック数を“８”として説明したが“８”に限られるものではない。例えば、どのような数でも対応できるよう、各ブロック数に対応したブロック順序変換情報を一種ずつ、結果的に複数種のブロック順序変換情報をブロック順序変換情報記憶手段に格納し、データ順序変換手段及び変換テーブル生成手段は受信したブロック数に応じて、複数種のブロック順序変換情報から対応するブロック順序変換情報を選択的に取得してもよい。
【産業上の利用可能性】
【００７０】
本発明に係る難読化装置は、負担をかけずに、しかも簡易な構成により、ＨＤＤ内のデータの難読化を実現した難読化装置として有用である。
【図面の簡単な説明】
【００７１】
【図１】本発明に係る画像形成装置の概略模式図。
【図２】読取部の拡大図。
【図３】本発明に係る画像形成装置の概略構成図。
【図４】本発明に係る難読化装置の概略機能ブロック図。
【図５】本発明に係る処理手順を示すフローチャート。
【図６】データの順序変換処理による遷移を示す図。
【図７】ブロック順序変換情報の生成手順を示す図。
【符号の説明】
【００７２】
３１０  難読化装置
３１４  ホストコントローラ
４０１  第一の送受信手段
４０２  データ順序変換手段
４０３  ブロック順序変換情報記憶手段
４０４  第二の送受信手段
４０５  ＳＲＡＭ
４０６  ディスクコントローラ
４０７  ディスク
４０８  変換情報生成手段
【図１】
0005420161.tif 000002
【図２】
0005420161.tif 000003
【図３】
0005420161.tif 000004
【図４】
0005420161.tif 000005
【図５】
0005420161.tif 000006
【図６】
0005420161.tif 000007
【図７】
0005420161.tif 000008