JP5420161B2 - Obfuscation device and program - Google Patents
Obfuscation device and program Download PDFInfo
- Publication number
- JP5420161B2 JP5420161B2 JP2007269719A JP2007269719A JP5420161B2 JP 5420161 B2 JP5420161 B2 JP 5420161B2 JP 2007269719 A JP2007269719 A JP 2007269719A JP 2007269719 A JP2007269719 A JP 2007269719A JP 5420161 B2 JP5420161 B2 JP 5420161B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- conversion information
- data
- order conversion
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、デジタル複写機、プリンタ、スキャナなどの画像形成装置及び当該画像形成装置にて利用される難読化装置、プログラムに関する。 The present invention relates to an image forming apparatus such as a digital copying machine, a printer, and a scanner, an obfuscation apparatus used in the image forming apparatus, and a program.
画像処理装置は年々多機能になり、画像処理装置が提供する印刷機能、コピー機能、FAX機能等の基本機能に加えて、例えば両面印刷といった利便性を高める様々な付加設定が可能となっている。このような付加設定を可能にするには大容量の記憶手段が必要とされ、即ち記憶容量当たりのコストが安価なハードディスクドライブ(HDD)が利用されている。当該HDDは仕様が一般化され、様々なメーカーの商品を採用することができるため、画像処理装置と一体として構成するのではなく、取り外し可能に構成することで製造面、メンテナンス面の融通性を向上させている。 Image processing apparatuses become multifunctional year by year, and in addition to basic functions such as a print function, a copy function, and a FAX function provided by the image processing apparatus, various additional settings that improve convenience such as duplex printing are possible. . In order to enable such additional setting, a large-capacity storage means is required, that is, a hard disk drive (HDD) having a low cost per storage capacity is used. Since the specifications of the HDD are generalized and products of various manufacturers can be adopted, it is not configured as an integral part of the image processing apparatus, but is configured so as to be removable, thereby providing flexibility in manufacturing and maintenance. It is improving.
他方で、HDDには様々な画像データが保存されるが、これら画像データの中には外部への漏洩を防がなければならない重要なものが含まれることも多い。したがって、取り外し可能に構成されているため盗難の可能性が高いことも踏まえ、HDDが取り外され、持ち出された場合であってもその画像データが容易に読み出されることは防止しなければならない。 On the other hand, although various image data are stored in the HDD, these image data often include important data that must be prevented from leaking to the outside. Therefore, it is necessary to prevent the image data from being easily read even when the HDD is removed and taken out, considering that the possibility of theft is high because it is configured to be removable.
そこで例えば特開2006−259988号公報には、DMAコントローラとHDDインターフェイスとの間に暗号/復号化モジュールと、CPUからのSEEDを受信するとともにSEEDを元に生成した暗号KEYを暗号/復号化モジュールに与えるM系列乱数発生モジュールとを備えたセキュリティに関する技術が開示されている。当該技術によれば、HDDに記憶される技術は暗号化されるため、HDDが盗まれた場合であってもデータを容易には解読できないとしている。
HDDに書き込むデータに暗号化技術を適用することで、HDDからの情報漏洩は非常に強固に防止されることが予想される。しかしながら、暗号化強度が高いほどその演算量は膨大となるためHDDへの書き込み・読み出しに時間が掛かり、機器への負担も増加するといった問題が生じる。 By applying encryption technology to data written to the HDD, it is expected that information leakage from the HDD will be prevented very firmly. However, the higher the encryption strength, the larger the amount of computation, so that it takes time to write / read data to / from the HDD, resulting in an increase in the burden on the device.
また、近年の画像形成装置は多機能であるため、スキャナ部で読み込んだ画像データは当該機能の提供のために一旦HDDに格納されるのが通常である。つまり、HDDへの書き込み・読み出しが頻繁に行われるのである。これに対してすべてのデータを強固な暗号化/複合化に供するのは現実的でない。 Further, since recent image forming apparatuses have multiple functions, image data read by the scanner unit is usually temporarily stored in the HDD in order to provide the functions. That is, writing / reading to / from the HDD is frequently performed. On the other hand, it is not realistic to provide all data for strong encryption / decryption.
また、時間の短縮を図るためには高性能のCPU、暗号化チップ、HDDを利用せざるを得ず、コストが増大してしまうという問題も生じる。 In addition, in order to shorten the time, a high-performance CPU, encryption chip, and HDD must be used, resulting in a problem that costs increase.
本発明は、上記の課題を解決するためになされたもので、負担をかけずに、しかも簡易な構成により、HDD内のデータの難読化を実現した画像形成装置等を提供することを目的とする。 SUMMARY An advantage of some aspects of the invention is that it provides an image forming apparatus and the like that can obfuscate data in an HDD without a burden and with a simple configuration. To do.
本発明は、上記目的を達成するために以下の手段を採用している。すなわち本発明における難読化装置は、ハードディスクの記憶領域を構成する複数のセクタをブロックとし、当該ブロックを一意に指定可能なブロック番号を用いてブロックを指定するLBA(Logical Block Addressing)方式を用いたハードディスクへの書き込み・読み出しを行うことを前提としている。そして、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と当該ブロック数に対応するデータとを受信する第一の送受信手段と、所定のブロック数と、当該ブロック数に対応する数で所定値n0から連続した値を所定の順番で配置した第一のブロック順序変換情報を格納するブロック順序変換情報記憶手段と、上記受信した開始ブロック番号と、上記ブロック順序変換情報記憶手段から上記受信されたブロック数に対応する第一のブロック順序変換情報とに基づいて、当該開始ブロック番号よりペアとなる第一のブロック順序変換情報の2つの値を入れ替えた第二のブロック順序変換情報を生成する変換情報生成手段と、上記受信したデータを、当該データと受信されたブロック数で所定番目n0から順番に分割し、新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目n2の値n1を参照し、当該値n1に対応する所定番目n1に分割された分割データを当該第二のブロック順序変換情報の値n1の所定番目n2に位置させることで、各分割データをブロック単位で順序変換する順序変換手段と、順序変換した後の変換データと、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数とをハードディスクに送信して、当該開始ブロック番号から上記変換データをハードディスクに記憶させる第二の送受信手段とを備える。
The present invention employs the following means in order to achieve the above object. That is, the obfuscation apparatus according to the present invention uses an LBA (Logical Block Addressing) system in which a plurality of sectors constituting the storage area of the hard disk are used as blocks, and the blocks are specified using block numbers that can uniquely specify the blocks. It is assumed that data is written to and read from the hard disk. Then, the start block number of the block to be written, the first transmission / reception means for receiving the number of blocks to be written and the data corresponding to the number of blocks, the predetermined number of blocks, and the number corresponding to the number of blocks Block order conversion information storage means for storing first block order conversion information in which values consecutive from a predetermined value n0 are arranged in a predetermined order, the received start block number, and the reception from the block order conversion information storage means Based on the first block order conversion information corresponding to the number of blocks, second block order conversion information is generated by exchanging two values of the first block order conversion information paired with the start block number. conversion information generating means for, the data thus received, and divided in order from the prescribed order n0 in the number of blocks that have been received with the data Based on the newly generated second block order conversion information, reference is made to the predetermined n2 value n1 of the second block order conversion information, and the divided data is divided into the predetermined n1 corresponding to the value n1 the by be positioned in a predetermined second n2 value n1 of the second block permutation information, performs a permutation means for permutation of the divided data blocks units, and conversion data after permutation, the write A second transmission / reception unit configured to transmit the start block number of the block and the number of blocks to be written to the hard disk, and store the converted data in the hard disk from the start block number;
HDDからの読み出し時には、第一の送受信手段は、読み出しを行うブロックの開始ブロック番号と、読み込みを行うブロック数とを受信し、第二の送受信手段は、上記読み出しを行うブロックの開始ブロック番号と、読み込みを行うブロック数とに基づいて、ハードディスクよりデータを取得し、順序変換手段は、ハードディスクより取得したデータを上記読み込みを行うブロック数で所定番目n0から順番に分割し、上記ブロック順序変換情報記憶手段から上記読み込みを行うブロック数に対応する第一のブロック順序変換情報を参照し、当該第一のブロック順序変換情報の所定番目n2の値n1を参照し、当該所定番目n2に対応する所定番目n2に分割された分割データを当該第一のブロック順序変換情報の所定番目n2の値n1番目に位置させることで、各分割データを上記第一のブロック順序変換情報にしたがって書き込み時とは逆の順序に逆変換する構成とする。
At the time of reading from the HDD, the first transmission / reception unit receives the start block number of the block to be read and the number of blocks to be read, and the second transmission / reception unit receives the start block number of the block to be read and , based on the number of blocks to read to obtain data from the hard disk, the order conversion means, the data acquired from the hard disk and divided in order from the prescribed order n0 in blocks to perform the reading, the block permutation The first block order conversion information corresponding to the number of blocks to be read from the information storage means is referred to, and the predetermined n2 value n1 of the first block order conversion information is referenced to correspond to the predetermined n2 The divided data divided into the predetermined number n2 is the predetermined number n2 value n1 of the first block order conversion information. By is positioned, and configured to inverse transform in the reverse order to that at the time of writing in accordance with the divided data the first block permutation information.
また、第二のブロック順序変換情報を用いる場合には、順序変換手段は、新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目n2の値n1を参照し、当該所定番目n2に対応する所定番目n2に分割された分割データを当該第二のブロック順序変換情報の所定番目n2の値n1番目に位置させることで、ハードディスクより取得したデータの逆変換を行う構成とする。 Further, when using the second block order conversion information, the order conversion means, based on the newly generated second block order conversion information, the predetermined n2 value of the second block order conversion information. Referring to n1, the divided data divided into staple eyes n2 where corresponding to the office staple th n2 that is positioned n1-th value of the prescribed order n2 of the second block permutation information, data obtained from the hard disk It is set as the structure which performs inverse transformation of.
また、これら難読化装置各手段が行う手順を示したプログラムや、難読化装置を備えた画像形成装置も提供する。 Also provided are a program showing a procedure performed by each means of the obfuscation apparatus and an image forming apparatus provided with the obfuscation apparatus.
データ順序変換手段は、ホストコントローラから得られたデータをブロック順序変換情報に基づいてブロック単位で順序変換し、HDDに書き込んでいる。これにより、HDDに書き込まれるデータは順序変換されており、つまりデータとしては破損した状態となっているため、単に読み出したのみではその内容は意味を成さず、すなわち難読化される。 The data order conversion means converts the order of the data obtained from the host controller in units of blocks based on the block order conversion information and writes the data in the HDD. As a result, the data written in the HDD is converted in order, that is, the data is in a damaged state, so that the content does not make sense by simply reading it, that is, it is obfuscated.
また、難読化の処理としては単にブロック単位で順序を入れ替えるのみであるため、コストをかけずに単純な回路で構成することができ、さらに難読化処理による遅延もほとんど無い。 Further, since the obfuscation process is simply switched in units of blocks, it can be configured with a simple circuit without cost, and there is almost no delay due to the obfuscation process.
さらに、ホストコントローラとディスクコントローラとの間に設けることにより、従来のHDDへの書き込み・読み出し手順はなんら変わることがないため、周辺のコントローラやCPU、その他プログラムに変更を加える必要もない。また、HDDへの書き込み順序が変わるものではないため、読み出し時にランダムアクセスが発生することも無い。 Furthermore, since the conventional procedure for writing / reading to / from the HDD is not changed by providing it between the host controller and the disk controller, it is not necessary to change the peripheral controller, CPU and other programs. Also, since the order of writing to the HDD does not change, random access does not occur during reading.
また、変換情報生成手段が開始ブロック番号と、ブロック順序変換情報Aとに基づいて、新たなブロック順序変換情報Bを生成し、これに基づいて順序変換する。これにより、開始ブロック番号に基づいて毎回異なるブロック順序変換情報を生成でき、難読化の強度を上げることができる。また、開始ブロック番号はLBA方式で必ず与えられる値であるため、周辺のコントローラやCPUに新規処理(乱数発生処理)などを追加する必要なく実現することが可能である。 Also, the conversion information generating means generates new block order conversion information B based on the start block number and the block order conversion information A, and performs order conversion based on this. Thereby, different block order conversion information can be generated every time based on the start block number, and the obfuscation strength can be increased. Further, since the start block number is a value that is always given in the LBA method, it can be realized without the need to add new processing (random number generation processing) or the like to peripheral controllers or CPUs.
以下、添付図面を参照して、本発明の実施の形態につき説明し、本発明の理解に供する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings for understanding of the present invention. In addition, the following embodiment is an example which actualized this invention, Comprising: It is not the thing of the character which limits the technical scope of this invention.
以下、本発明に係る画像形成装置について説明する。 The image forming apparatus according to the present invention will be described below.
図1は、画像形成装置100の概略模式図である。ただし、本発明に直接には関係しない各部の詳細は省略している。
FIG. 1 is a schematic diagram of the
本発明の画像形成装置100は、例えばプリンタやスキャナ単体、あるいはプリンタ、コピー、スキャナ、ファックス等を備えた複合機等が該当する。
The
なお、一例として複合機を利用して原稿のコピーを行う際の画像形成装置の動作を簡単に説明する。 As an example, the operation of the image forming apparatus when copying a document using a multifunction machine will be briefly described.
ユーザが複合機を利用して例えば原稿の印刷を行う場合、原稿を図1に示す原稿台103、或いは載置台105に配置し、原稿台近傍に供えられた操作パネルに対して印刷の指示を行う。当該指示があると、以下に示す各部(駆動部)が動作することで、印刷が行われる。 For example, when a user prints a document using the multifunction device, the document is placed on the document table 103 or the table 105 shown in FIG. 1, and a print instruction is given to the operation panel provided near the document table. Do. When the instruction is given, printing is performed by operating the following units (drive units).
図1に示すように、本実施の形態の画像形成装置100は、本体101と、本体101の上方に取り付けられたプラテンカバー102を備える。本体101の上面は原稿台103が設けられており、原稿台103は、プラテンカバー102によって開閉されるようになっている。プラテンカバー102は、自動原稿給紙装置104と載置台105と排紙台109が設けられている。
As shown in FIG. 1, an
自動原稿給紙装置104は、プラテンカバー102の内部に形成された原稿搬送路108と、プラテンカバー102の内部に備えられたピックアップローラ106や搬送ローラ107等で構成される。原稿搬送路108は、載置台105から、本体101に設けられた読取部110にて読み取りが行なわれる読取位置Pを経由して、排紙台109に通じる原稿の搬送路である。
The
自動原稿給紙装置104は、載置台105に載置された原稿1枚ずつをピックアップローラ106で搬送路内108に引き出し、搬送ローラ107等によって引き出した原稿を、読取位置Pを通過させて排紙台109に排紙する。読取位置Pを通過する時に原稿は読取部110にて読み取られる。
The
上記読取部110は、原稿台103の下方に設けられており、図2にその詳細が示されている。読取部110は、原稿台103を照射する主走査方向に長い光源111と、原稿台からの光を選択的に通過させるスリット116と、原稿台からの光を導くミラー112とを備える第一の移動キャリッジ117や、第一の移動キャリッジ117からの反射光を再度反射するミラー113A、113Bを備える第二の移動キャリッジ118、さらにミラーで導かれた光を光学的に補正するレンズ群119、当該レンズ群119より補正された光を受光する撮像素子115、撮像素子にて受光した光を電気信号に変換し、必要に応じて補正・修正などを行う画像データ生成部114とで構成されている。
The
自動原稿給紙装置104上の原稿を読み取る場合には、光源111は、読取位置Pを照射できる位置に移動して発光する。光源111からの光は、原稿台103を透過して読取位置Pを通過する原稿にて反射し、スリット116、ミラー112、113A、113B、レンズ群119によって撮像素子115に導かれる。撮像素子115は、受光した光を電気信号に変換して画像データ生成部114に送信する。画像データ生成部114には、上記撮像素子115にて受光された光がR(レッド)、G(グリーン)、B(ブルー)のアナログ電気信号として入力され、ここでアナログ−デジタル変換され、即ちデジタル化される。さらに、画像データ生成部114では、順次変換されたデジタル信号を単位データとし、これら単位データを必要に応じて補正、修正等することで複数の単位データからなる画像データを生成し、第一の記憶部114Bに格納する。
When reading a document on the
また、読取部110は、自動原稿給紙装置104で搬送される原稿だけでなく、原稿台103に載置された原稿も読み取ることが可能となっている。原稿台103に載置された原稿を読み取る場合は、第一のキャリッジ112は、光源111を発光しながら副走査方向に移動し、光源111から撮像素子115までの光路長を一定にするために、第二の移動キャリッジ118は第一の移動キャリッジ117の1/2の速度で撮像素子115方向に移動する。
The
撮像素子115は、自動原稿給紙装置104に搬送された原稿のときと同様に、ミラー112、113A、113Bに導かれた光に基づいて原稿台103に載置された原稿からの光を電気信号に変換し、これに基づいて画像データ生成部114が画像データを生成し、第一の記憶部114Bに記憶する。なお、上記読取部110を構成する各部が一連の処理を行うことにより、後述する読取手段401として動作する。
The
本体101の読取部110の下方には、画像データを印刷する印刷部120を備えている。印刷部120が印刷できる画像データは、上記のように画像データ生成部114にて生成されたものや、その他画像形成装置100とLAN等のネットワークに接続されたパソコン等の端末から、ネットワークインターフェイスを介して受信し、例えば上記第一の記憶部114Bに記憶されたものである。
A
印刷部120が行う印刷方式には、電子写真方式が用いられている。即ち、感光ドラム121を帯電器122で一様に帯電させ、その後レーザ123で感光ドラム121を照射して感光ドラム121に潜像を形成し、現像器124で潜像にトナーを付着させて可視像を形成し、転写ローラにて可視像を用紙に転写する方式である。
As a printing method performed by the
なお、フルカラー画像に対応した画像形成装置では、上記現像器(ロータリー現像器)124が、図1の紙面に対して垂直方向に構成される回転軸を中心として周方向に回転させられ、対応する色のトナーが格納された現像ユニットが感光ドラム121の対向位置に配置される。この状態で、感光ドラム121上の潜像が、現像器124が格納するトナーにより現像され、中間転写ベルト125Aに転写される。なお、現像器124は、イエロー(Y)、シアン(C)、マゼンタ(M)、ブラック(K)の各トナーをそれぞれ格納する4つの現像ユニット124(Y)、(C)、(M)、(K)を有している。上記中間転写ベルト125Aへの転写を上記各色毎に繰り返すことにより、当該中間転写ベルト125A上にフルカラー画像が形成される。
Note that in the image forming apparatus corresponding to the full-color image, the developing device (rotary developing device) 124 is rotated in the circumferential direction around a rotation axis configured in a direction perpendicular to the paper surface of FIG. A developing unit in which color toner is stored is disposed at a position facing the
可視像が印刷される印刷媒体、即ち用紙は、手差しトレイ131、給紙カセット132、133、134などの給紙トレイに載置されたものである。
The print medium on which the visible image is printed, that is, the paper, is placed on a paper feed tray such as the
印刷部120が印刷を行う際には、何れか1つの給紙トレイから用紙1枚を、ピックアップローラ135を用いて引き出し、引き出した用紙を搬送ローラ137(手差しトレイ131を利用する場合には搬送ローラ136)やレジストローラ138で中間転写ベルト125Aと転写ローラ125Bの間に送り込む。
When the
印刷部120は、中間転写ベルト125と転写ローラ125の間に送り込んだ用紙に、上記中間転写ベルト125上の可視像を転写すると、可視像を定着させるために、搬送ベルト126で定着装置127に用紙を送る。定着装置127は、ヒータが内蔵された加熱ローラ128と、所定の圧力で加熱ローラ128に押し当てられた加圧ローラ129とで構成されている。加熱ローラ128と加圧ローラ129の間を用紙が通過すると、熱と用紙への押圧力によって可視像が用紙に定着する。印刷部120は、定着装置127を通過した用紙を排紙トレイ130に排紙する。
When the visible image on the intermediate transfer belt 125 is transferred onto the sheet fed between the intermediate transfer belt 125 and the transfer roller 125, the
以上が、画像形成装置100における基本的なコピーサービスの処理である。
The basic copy service processing in the
なお、上記画像形成装置100では、図3の概略構成図に示すように、CPU(Central Processing Unit)301、RAM(Random Access Memory)302、ROM(Read Only Memory)303、難読化装置310、HDD(Hard Disk Drive)304及び上記印刷処理における各駆動部に対応するドライバ305が内部バス306を介して接続されている。上記CPU301は、例えばRAM302を作業領域として利用し、ROM303やHDD304等に記憶されているプログラムを実行し、当該実行結果に基づいて上記ドライバ305とデータや命令を授受することにより上記図1、図2に示した各駆動部307の動作を制御する。また、上記難読化装置310は、ホストコントローラ(DMA(Direct Memory Access)コントローラ)内に組み込まれてもよい。
<第一の実施の形態>
続いて、本発明の第一の実施の形態に係る難読化装置310の変換処理の詳細について、図4〜7を参照して説明する。
In the
<First embodiment>
Next, details of the conversion process of the
難読化装置310は、図4に示すように、画像形成装置100が備えるホストコントローラ314と、HDD304が備えるディスクコントローラ406とに接続されている。なお、ホストコントローラ314は例えばDMAコントローラとすることができる。
As illustrated in FIG. 4, the
このように接続された状況で、画像形成装置100がHDD304にデータを書き込む場合、CPU301よりホストコントローラ310を介して難読化装置310の第一の送受信手段401に、開始ブロック番号、ブロック数、及びデータが与えられる。ここで、ブロックとは、LBA(Logical Block Addressing)方式におけるブロックを意味し、HDD304のディスク407を構成する記憶領域を複数のセクタに分割した場合の1つのセクタを指す。また、各ブロックを一意に指定可能なアドレスがブロック番号である。また、データは、図6Aのメモリ(RAM302)に格納されているデータをホストコンとローラ314が取得したものである。
When the
つまり、データの書き込みを行う場合には、第一の送受信手段401は、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロックの数、即ちブロック数と、当該ブロック数に対応するデータとを受信する(図5:S501)。 That is, when writing data, the first transmission / reception means 401 obtains the start block number of the block to be written, the number of blocks to be written, that is, the number of blocks, and the data corresponding to the number of blocks. Receive (FIG. 5: S501).
ここでは、開始ブロック番号として“0”、ブロック数として“8”が与えられたものとする。 Here, it is assumed that “0” is given as the start block number and “8” is given as the number of blocks.
上記第一の送受信手段401が開始ブロック番号、ブロック数、及びデータを受信すると、データ順序変換手段402は、ブロック順序変換情報記憶手段403よりブロック順序変換情報を参照する(図5:S502)。 When the first transmission / reception means 401 receives the start block number, the number of blocks, and the data, the data order conversion means 402 refers to the block order conversion information from the block order conversion information storage means 403 (FIG. 5: S502).
ここでは、ブロック順序変換情報にはブロック順序変換情報Aとして“0x54023176”との値が記憶されているものとする。 Here, it is assumed that the block order conversion information stores a value of “0x54023176” as the block order conversion information A.
次に、データ順序変換手段401は、受信したデータを各ブロック(セクタ)に対応するサイズに分割処理される(図5:S503)。処理されたデータは、図6Aのメモリに示すように、0セクタのデータ“0x000000・・・”から、7セクタのデータ“0x777777・・・”に分割される。なお、理解に供するためデータの内容はセクタ番号で示している。
Next, the data
ただし、ホストコントローラ314がブロック数個(8個)分のデータをブロック単位で送信する場合には、分割処理は必ずしも必要ではない。
However, when the
続いて、分割されたデータは、その分割されたサイズである1ブロック分を単位とし、上記ブロック順序変換情報に従ってその順序の並べ替えが行われる(図5:S504)。 Subsequently, the divided data is rearranged in order according to the block order conversion information, with one block as the divided size as a unit (FIG. 5: S504).
具体的には、データ順序変換手段402は、ブロック順序変換情報A“0x54023176”の0番目の値“5”を参照し、5セクタ目のデータをSRAM405におけるデータの先頭(0番目)に位置させる。また、1番目の値“4” を参照し、4セクタ目のデータをSRAM405におけるデータの1番目に位置させる。このような処理を0セクタ〜7セクタのデータに対して行うことで、図6A中央に示すように、5,4,0,2,3,1,7,6の順に順序変換が行われる。
Specifically, the data
順序変換処理が完了すると、SRAM405に記憶された順序変換後のデータ、開始ブロック番号“0”、及びブロック数“8”が第二の送受信手段404を介してHDD304のディスクコントローラ406に送信される(図5:S505)。
When the order conversion process is completed, the data after the order conversion stored in the
データを受信したディスクコントローラ406は、ブロック番号0を先頭に、8つのブロック(ブロック番号0〜7)に上記順序変換後のデータを記憶する。結果として、図6のHDDに示すように、ブロック0には、5セクタのデータが、ブロック1には4セクタのデータが・・・ブロック7には6セクタのデータが格納される。
The
続いて、HDDからデータを読み出す場合の処理について説明する。 Next, processing when data is read from the HDD will be described.
上記格納したデータを読み出す場合には、上記第一の送受信手段401は、開始ブロック番号及びブロック数をホストコントローラ314より受信する。この際、実際には順序が入れ替わっているデータを読み出すのであるが、ホストコントローラ側では順序が入れ替わってない場合と同様の命令を送信するのみでよい。つまり、ホストコントローラ314は、開始ブロック番号“0”とブロック数“8”とを送信するのである。
When reading the stored data, the first transmission / reception means 401 receives the start block number and the number of blocks from the
上記開始ブロック番号“0”とブロック数“8”とを受信した場合、ディスクコントローラ406にその旨が伝えられ、ブロック0〜7に記憶されているデータが読み出される。データ内容は、図6B左端に示すように、順序変換後のデータであるセクタ5,4,0,2,3,1,7,6の順となる。
When the start block number “0” and the number of blocks “8” are received, the fact is notified to the
続いて、順序変換後のデータを受信したデータ順序変換手段402は、同様にブロック順序変換情報記憶手段403よりブロック順序変換情報Aを読み出し、上記順序変換と逆の処理(逆変換処理)を行う。具体的には、データ順序変換手段402は、ブロック順序変換情報A“0x54023176”の0番目の値“5”を参照し、ブロック0のデータをSRAM405におけるデータの5番目に位置させる。また、1番目の値“4” を参照し、ブロック1のデータをSRAM405におけるデータの4番目に位置させる。このような処理をブロック0〜7のデータに対して行うことで、図6B中央に示すように、0,1,2,3,4,5,6,7の順に順序変換が行われる。変換されたデータは、第一の送受信手段401を介してホストコントローラ314に送信される。
Subsequently, the data
以上のように、データ順序変換手段は、ホストコントローラから得られたデータをブロック順序変換情報に基づいてブロック単位で順序変換し、HDDに書き込んでいる。これにより、HDDに書き込まれるデータは順序変換されており、つまりデータとしては破損した状態となっているため、単に読み出したのみではその内容は意味を成さず、すなわち難読化される。 As described above, the data order conversion means converts the order of the data obtained from the host controller in units of blocks based on the block order conversion information, and writes it to the HDD. As a result, the data written in the HDD is converted in order, that is, the data is in a damaged state, so that the content does not make sense by simply reading it, that is, it is obfuscated.
また、難読化の処理としては単にブロック単位で順序を入れ替えるのみであるため、コストをかけずに単純な回路で構成することができ、さらに難読化処理による遅延もほとんど無い。 Further, since the obfuscation process is simply switched in units of blocks, it can be configured with a simple circuit without cost, and there is almost no delay due to the obfuscation process.
さらに、ホストコントローラとディスクコントローラとの間に設けることにより、従来のHDDへの書き込み・読み出し手順はなんら変わることがないため、周辺のコントローラやCPU、その他プログラムに変更を加える必要もない。また、HDDへの書き込み順序が変わるものではないため、読み出し時にランダムアクセスが発生することも無い。 Furthermore, since the conventional procedure for writing / reading to / from the HDD is not changed by providing it between the host controller and the disk controller, it is not necessary to change the peripheral controller, CPU and other programs. Also, since the order of writing to the HDD does not change, random access does not occur during reading.
なお、上記難読化装置310をアプリケーションソフトウェアからOS(オペレーションシステム)に命令を送信する際に仲介するドライバプログラムや、OSとホストコントローラとを仲介するホストコントローラドライバプログラムとして提供しても同様の効果を得ることができる。この場合、アプリケーションソフトウェアが開始ブロック番号、ブロック数、及びデータをドライバプログラムに送信し、ドライバプログラムはRAM302をSRAM405代わりに用いて上記変換処理を実行すればよい。
<第二の実施の形態>
続いて、本発明の第二の実施の形態に係る難読化装置310の変換処理の詳細について説明する。
The same effect can be obtained if the
<Second Embodiment>
Next, details of the conversion process of the
本実施の形態では、難読化装置310は、さらに変換情報生成手段408を備え、受信した開始ブロック番号と、上記第一のブロック順序変換情報とに基づいて、第二のブロック順序変換情報を生成する点で上記第一の実施の形態と異なる。
In the present embodiment, the
まず、データの書き込みを行う場合には、第一の送受信手段401は、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と、当該ブロック数に対応するデータとを受信すると、開始ブロック番号は変換情報生成手段408に送信される。 First, when data is written, the first transmission / reception means 401 receives the start block number of the block to be written, the number of blocks to be written, and the data corresponding to the number of blocks. The number is transmitted to the conversion information generation means 408.
続いて、変換情報生成手段408は、ブロック順序変換情報記憶手段403よりブロック順序変換情報を参照し、ブロック順序変換情報Aとして例えば上記第一の実施の形態と同様の値、即ち“0x54023176”を得る。
Subsequently, the conversion
次に、変換情報生成手段408は、ブロック順序変換情報Aと、開始ブロック番号とに基づいて、新たに開始ブロック番号に応じたブロック順序変換情報Bを生成する。 Next, the conversion information generation means 408 newly generates block order conversion information B corresponding to the start block number based on the block order conversion information A and the start block number.
ブロック順序変換情報Bの生成手順を、図7を用いて具体的に説明する。 The procedure for generating the block order conversion information B will be specifically described with reference to FIG.
まず、開始ブロック番号701が16進数表記で“0x0000003CAA2C”として得られたものとする。変換情報生成手段408は、得られた開始ブロック番号701から下位3バイト702“0x3CAA2C”を抜き出す。当該下位3バイトは2進数表記703で示すと“001111001010101000101100”となる。さらに2進数表記703を6ビット704毎に分解しさらに3ビット705で分解する。3ビットで分解した値を上位より順に10進数表記706すると、1,7,1,2,5,0,5,4となる。この値を上位より2つずつペアとすると、“1,7”、“1,2”、“5,0”、“5,4”、となる。
First, it is assumed that the
続いて、変換情報生成手段408は、上位1つめのペア(“1,7”)に基づいて、ブロック順序変換情報A“0x54023176”のうち、1番目(4)と7番目(6)とを入れ替える。これにより1度目変換後のブロック順序変換情報“0x56023174”が得られる。次に1度目変換後のブロック順序変換情報“0x56023174”と、上位2つめのペア(“1,2”)とに基づいて入れ替えを行うと、2度目変換後のブロック順序変換情報“0x50623174”が得られる。これを上位4つめ(最後)のペアまで繰り返すことで、ブロック順序変換情報B711(“0x10625374”)が得られる。
Subsequently, the conversion
得られたブロック順序変換情報Bは、データ順序変換手段402に渡され、当該データ順序変換手段402はブロック順序変換情報Bに基づいて、上記第一の実施の形態にて示した順序変換処理を行うのである。 The obtained block order conversion information B is transferred to the data order conversion means 402, and the data order conversion means 402 performs the order conversion processing shown in the first embodiment based on the block order conversion information B. Do it.
また、HDD304から読み出しを行う場合にも、ホストコントローラ314から得られた開始ブロック番号とブロック順序変換情報Aとに基づいて新たなブロック順序変換情報Bを生成する。書き込んだデータを参照する場合には必ず書き込んだ際と同一の開始ブロック番号が与えられるため、同一のブロック順序変換情報Bを生成(復元)することができる。あとは、ブロック順序変換情報Bを用いて上記実施の形態一にて示した逆変換処理を行うことで、正常なデータを得ることができる。
Also, when reading from the
以上のように、第二の実施の形態では、変換情報生成手段が開始ブロック番号と、ブロック順序変換情報Aとに基づいて、新たなブロック順序変換情報Bを生成し、これに基づいて順序変換する。これにより、開始ブロック番号に基づいて毎回異なるブロック順序変換情報を生成でき、難読化の強度を上げることができる。また、開始ブロック番号はLBA方式で必ず与えられる値であるため、周辺のコントローラやCPUに新規処理(乱数発生処理)などを追加する必要なく実現することが可能である。 As described above, in the second embodiment, the conversion information generating unit generates new block order conversion information B based on the start block number and the block order conversion information A, and based on this, the order conversion is performed. To do. Thereby, different block order conversion information can be generated every time based on the start block number, and the obfuscation strength can be increased. Further, since the start block number is a value that is always given in the LBA method, it can be realized without the need to add new processing (random number generation processing) or the like to peripheral controllers or CPUs.
なお、上記2つの実施の形態では、ブロック数を“8”として説明したが“8”に限られるものではない。例えば、どのような数でも対応できるよう、各ブロック数に対応したブロック順序変換情報を一種ずつ、結果的に複数種のブロック順序変換情報をブロック順序変換情報記憶手段に格納し、データ順序変換手段及び変換テーブル生成手段は受信したブロック数に応じて、複数種のブロック順序変換情報から対応するブロック順序変換情報を選択的に取得してもよい。 In the above-described two embodiments, the number of blocks is described as “8”. However, the number of blocks is not limited to “8”. For example, the block order conversion information corresponding to each block number is stored one by one so that any number of blocks can be handled. As a result, plural types of block order conversion information are stored in the block order conversion information storage means, and the data order conversion means The conversion table generation unit may selectively acquire corresponding block order conversion information from a plurality of types of block order conversion information according to the number of received blocks.
本発明に係る難読化装置は、負担をかけずに、しかも簡易な構成により、HDD内のデータの難読化を実現した難読化装置として有用である。 The obfuscation apparatus according to the present invention is useful as an obfuscation apparatus that realizes obfuscation of data in the HDD without a burden and with a simple configuration.
310 難読化装置
314 ホストコントローラ
401 第一の送受信手段
402 データ順序変換手段
403 ブロック順序変換情報記憶手段
404 第二の送受信手段
405 SRAM
406 ディスクコントローラ
407 ディスク
408 変換情報生成手段
310
406
Claims (4)
書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と、当該ブロック数に対応するデータとを受信する第一の送受信手段と、
所定のブロック数と、当該ブロック数に対応する数で所定値n0から連続した値を所定の順番で配置した第一のブロック順序変換情報を格納するブロック順序変換情報記憶手段と、
上記受信した開始ブロック番号と、上記ブロック順序変換情報記憶手段から上記受信されたブロック数に対応する第一のブロック順序変換情報とに基づいて、当該開始ブロック番号よりペアとなる第一のブロック順序変換情報の2つの値を入れ替えた第二のブロック順序変換情報を生成する変換情報生成手段と、
上記受信したデータを、当該データと受信されたブロック数で所定番目n0から順番に分割し、新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目n2の値n1を参照し、当該値n1に対応する所定番目n1に分割された分割データを当該第二のブロック順序変換情報の値n1の所定番目n2に位置させることで、各分割データをブロック単位で順序変換する順序変換手段と、
順序変換した後の変換データと、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数とをハードディスクに送信して、当該開始ブロック番号から上記変換データをハードディスクに記憶させる第二の送受信手段と、
を備える難読化装置。 A hard-to-read read / write to / from the hard disk using the LBA (Logical Block Addressing) method that specifies a block using a block number that can uniquely specify the block as a plurality of sectors constituting the storage area of the hard disk Device.
A first transmission / reception means for receiving a start block number of a block to be written, the number of blocks to be written, and data corresponding to the number of blocks;
A block order conversion information storage unit for storing first block order conversion information in which a predetermined number of blocks and a number corresponding to the number of blocks are arranged in a predetermined order from values that are consecutive from the predetermined value n0;
Based on the received start block number and the first block order conversion information corresponding to the number of blocks received from the block order conversion information storage means, the first block order paired with the start block number Conversion information generating means for generating second block order conversion information by exchanging two values of conversion information;
The received data is sequentially divided from the predetermined number n0 by the number of received data and the number of received blocks, and based on the newly generated second block order conversion information, the second block order conversion information is predetermined. By referring to the value n1 of the n2nd and dividing the divided data divided into the predetermined n1 corresponding to the value n1 at the predetermined n2 of the value n1 of the second block order conversion information, each divided data is and permutation means for permutation in block units,
Second transmission / reception means for transmitting the converted data after the order conversion, the start block number of the block to be written, and the number of blocks to be written to the hard disk, and storing the converted data in the hard disk from the start block number When,
An obfuscation device comprising:
書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数と、当該ブロック数に対応するデータとを受信する受信ステップと、
上記受信したデータを、当該データと受信されたブロック数で所定番目n0から順番に分割する分割ステップと、
所定のブロック数と、当該ブロック数に対応する数で所定値n0から連続した値を所定の順番で配置した第一のブロック順序変換情報を格納するブロック順序変換情報記憶手段から上記受信されたブロック数に対応する第一のブロック順序変換情報と、上記受信した開始ブロック番号とに基づいて、当該開始ブロック番号よりペアとなる第一のブロック順序変換情報の2つの値を入れ替えた第二のブロック順序変換情報を生成する変換情報生成ステップと、
新たに生成された第二のブロック順序変換情報に基づいて、当該第二のブロック順序変換情報の所定番目n2の値n1を参照し、当該値n1に対応する所定番目n1に分割された分割データを当該第二のブロック順序変換情報の値n1の所定番目n2に位置させることで、各分割データをブロック単位で順序変換するデータ順序変換ステップと、
順序変換した後の変換データと、書き込みを行うブロックの開始ブロック番号と、書き込みを行うブロック数とをハードディスクに送信して、当該開始ブロック番号から上記変換データをハードディスクに記憶させる送信ステップと、
をコンピュータに実行させるプログラム。
A program for writing / reading data to / from a hard disk using an LBA (Logical Block Addressing) system in which a plurality of sectors constituting the storage area of the hard disk are used as a block and the block is specified using a block number that can be uniquely specified. Because
A reception step of receiving a start block number of a block to be written, the number of blocks to be written, and data corresponding to the number of blocks;
A division step of dividing the received data in order from a predetermined number n0 by the number of received blocks and the data;
The block received from the block order conversion information storage means for storing the first block order conversion information in which a predetermined number of blocks and a value corresponding to the number of blocks are consecutive from the predetermined value n0 are arranged in a predetermined order. A second block in which two values of the first block order conversion information paired with the start block number are exchanged based on the first block order conversion information corresponding to the number and the received start block number A conversion information generation step for generating order conversion information;
Based on the newly generated second block order conversion information, reference is made to the predetermined n2 value n1 of the second block order conversion information, and the divided data is divided into the predetermined n1 corresponding to the value n1 a data order conversion step of permutation at that is positioned in a predetermined second n2 value n1 of the second block permutation information, block units each divided data,
Transmitting the converted data after the order conversion, the start block number of the block to be written, and the number of blocks to be written to the hard disk, and storing the converted data from the start block number in the hard disk;
A program that causes a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007269719A JP5420161B2 (en) | 2007-10-17 | 2007-10-17 | Obfuscation device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007269719A JP5420161B2 (en) | 2007-10-17 | 2007-10-17 | Obfuscation device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009100250A JP2009100250A (en) | 2009-05-07 |
JP5420161B2 true JP5420161B2 (en) | 2014-02-19 |
Family
ID=40702829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007269719A Expired - Fee Related JP5420161B2 (en) | 2007-10-17 | 2007-10-17 | Obfuscation device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5420161B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6091394B2 (en) * | 2013-10-01 | 2017-03-08 | 富士電機株式会社 | Information processing apparatus and encryption method |
JP2016133829A (en) * | 2015-01-15 | 2016-07-25 | 株式会社東芝 | Electronic device, method of controlling access to storage device, and program |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04184476A (en) * | 1990-11-20 | 1992-07-01 | Hitachi Ltd | Information enciphering/decipering device |
JPH10333566A (en) * | 1997-05-30 | 1998-12-18 | Taisei Corp | Data converter |
JP2001118328A (en) * | 1999-10-15 | 2001-04-27 | Sony Corp | Recording and/or reproducing device and recording and/ or reproducing method |
JP2001290707A (en) * | 2000-04-05 | 2001-10-19 | Kazumi Mochizuki | Method and device for data processing and computer- readable storage medium with data processing program stored thereon |
DE60029020T2 (en) * | 2000-09-20 | 2007-04-19 | Yutaka Yasukura | ENCRYPTION AND DECOMPOSITION METHOD OF ELECTRONIC INFORMATION USING INCIDENTIAL PERMUTATIONS |
TW508494B (en) * | 2001-03-28 | 2002-11-01 | Shansun Technology Company | Data protection device capable of self-defining address arrangement sequence in protection area of storage device |
JP4574108B2 (en) * | 2002-09-30 | 2010-11-04 | 株式会社アイ・オー・データ機器 | Data protection device |
JP2004201038A (en) * | 2002-12-18 | 2004-07-15 | Internatl Business Mach Corp <Ibm> | Data storage device, information processing apparatus mounted therewith, and data processing method and program thereof |
JP2006259046A (en) * | 2005-03-16 | 2006-09-28 | Seiko Epson Corp | Data encryption system, method, apparatus, and program data decryption apparatus and program, and image data structure |
-
2007
- 2007-10-17 JP JP2007269719A patent/JP5420161B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009100250A (en) | 2009-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101780734B1 (en) | CRUM chip and image forming device for communicating mutually, and method thereof | |
US20060023955A1 (en) | Image data processing circuit and image processing apparatus including the same | |
JP6277800B2 (en) | Image writing apparatus, image forming apparatus, and image writing method | |
JP5046844B2 (en) | Image forming apparatus and image forming program | |
JP5420161B2 (en) | Obfuscation device and program | |
JP4791741B2 (en) | Data processing apparatus and data processing method | |
EP4012504B1 (en) | Image forming control method, consumable chip, image forming apparatus, and consumable | |
JP4724233B2 (en) | Image forming apparatus | |
US10108124B2 (en) | Image forming apparatus and control method | |
JP4994902B2 (en) | Image compression apparatus, image forming apparatus, and still image compression method | |
JP2021114702A (en) | Information processing device and control method of information processing device | |
KR20120021207A (en) | Color image forming apparatus and control board comprised the same | |
US10761480B2 (en) | Electric apparatus that determines type of attachment unit and performs operations using the attachment unit | |
JP4648927B2 (en) | Image forming apparatus | |
JP5524122B2 (en) | Information processing apparatus and information processing method | |
JP2011073259A (en) | Image processing device, color image forming apparatus, image processing method, image processing program and recording medium | |
KR101866823B1 (en) | CRUM chip and image forming device for communicating mutually, and method thereof | |
JP5385681B2 (en) | Integrated circuit for image forming apparatus | |
JP6766552B2 (en) | Image forming equipment, printing system and integrated circuit for image transfer | |
JP4345488B2 (en) | Image forming apparatus, image forming apparatus control method, and program for controlling image forming apparatus | |
JP2016190455A (en) | Image formation apparatus and image formation program | |
JP2004086055A (en) | Color printer and method for controlling same | |
JP2008209776A (en) | Image forming apparatus and image forming method | |
JP2009077002A (en) | Function extension board for image forming apparatus, and image forming apparatus | |
JP2012221350A (en) | Data format conversion device, electronic system, data format conversion method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130807 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131004 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131023 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131120 |
|
LAPS | Cancellation because of no payment of annual fees |