JP2011250020A - Information processing apparatus, image forming apparatus, and information processing method - Google Patents
Information processing apparatus, image forming apparatus, and information processing method Download PDFInfo
- Publication number
- JP2011250020A JP2011250020A JP2010119559A JP2010119559A JP2011250020A JP 2011250020 A JP2011250020 A JP 2011250020A JP 2010119559 A JP2010119559 A JP 2010119559A JP 2010119559 A JP2010119559 A JP 2010119559A JP 2011250020 A JP2011250020 A JP 2011250020A
- Authority
- JP
- Japan
- Prior art keywords
- data
- encryption
- encrypted
- units
- decryption
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、情報処理装置、画像形成装置及び情報処理方法に関し、特に、元の情報を複数に分割した上で分割後の情報を並列して暗号化する場合の暗号化及び復号の方法に関する。 The present invention relates to an information processing apparatus, an image forming apparatus, and an information processing method, and more particularly, to an encryption and decryption method when original information is divided into a plurality of pieces and the divided information is encrypted in parallel.
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なMFP(MultiFunction Peripheral:複合機)として構成されることが多い。 In recent years, there has been a tendency to digitize information, and image processing apparatuses such as printers and facsimiles used for outputting digitized information and scanners used for digitizing documents have become indispensable devices. Such an image processing apparatus is often configured as an MFP (Multi Function Peripheral) that can be used as a printer, a facsimile, a scanner, and a copier by providing an imaging function, an image forming function, a communication function, and the like. .
このような画像処理装置のうち、書類の電子化に用いるスキャナにおいては、スキャンにより生成した画像を装置に格納し若しくは他の装置に転送する場合、情報を暗号化することが行われている。また、情報の暗号化処理においては、暗号化処理に要する時間を短縮するため、暗号化すべき情報を複数に分割した上で、分割後の夫々の情報の暗号化処理を並列して暗号化することが提案されている(例えば、特許文献1参照)。 Among such image processing apparatuses, a scanner used for digitizing a document encrypts information when an image generated by scanning is stored in the apparatus or transferred to another apparatus. Also, in the information encryption process, in order to shorten the time required for the encryption process, the information to be encrypted is divided into a plurality of pieces, and the divided pieces of information are encrypted in parallel. Has been proposed (see, for example, Patent Document 1).
現在、代表的な共通鍵暗号アルゴリズムとして知られているAES(Advanced Encryption Standard)暗号方式には、いくつかの方式があり、中でも、CBC(Cipher Block Chaining:暗号文ブロック連鎖)方式は、解読が困難な方式として広く採用されている。CBC方式においては、連続して処理をするデータの並び順において、次に処理をする元データと前回処理をして暗号化されたデータとの排他的論理和を、暗号化アルゴリズムの入力として用いる。また、データの並び順における先頭のデータの場合前回処理をしたデータが存在しないため、初期化ベクトルとの排他的論理和をとる。従って、暗号データを復号する場合には、1回前の復号データを使って復号されると共に、先頭データであれば初期化ベクトルを使って復号される。 At present, there are several AES (Advanced Encryption Standard) encryption methods known as typical common key encryption algorithms, and among them, CBC (Cipher Block Chaining) methods can be decrypted. Widely adopted as a difficult system. In the CBC method, the exclusive OR of the original data to be processed next and the data encrypted by the previous process is used as the input of the encryption algorithm in the arrangement order of the data to be continuously processed. . In the case of the first data in the data arrangement order, there is no data processed in the previous time, so an exclusive OR with the initialization vector is taken. Therefore, when decrypting the encrypted data, the decrypted data is decrypted using the previous decrypted data, and if the leading data is decrypted using the initialization vector.
CBC方式においては、暗号化及び復号は、同じ並び順でデータが入力される必要があるため、4つの並列した処理によって暗号化されたデータを2つの並列処理によって復号することはできない。例えば、複数の暗号/復号器が搭載されているような装置において、一部が故障してしまった場合、暗号化されたデータを読み出すことが出来なくなってしまう。また、ある装置において暗号化されたデータを、暗号/復号器の数の異なる装置において復号する場合も、同様の問題が生じる。 In the CBC method, since encryption and decryption require data to be input in the same arrangement order, data encrypted by four parallel processes cannot be decrypted by two parallel processes. For example, in a device in which a plurality of encryption / decryption devices are installed, if a part of the device fails, the encrypted data cannot be read out. The same problem occurs when data encrypted in a certain device is decrypted in a device having a different number of encryption / decryptors.
また、特許文献1に係る方法は、RAID(Redundant Array of Inexpensive Disks)構成が前提となっており汎用性が低く、暗号化の対象となるデータは、HDD(Hard Disk Drive)に格納されるデータに限られる。そのため、ネットワークを介して外部に転送するデータの暗号化等には用いることができない。
In addition, the method according to
近年、マルチコアのCPU(Central Processing Unit)が一般化する等、情報処理の並列化が注目されている。しかしながら、CBC方式の暗号化処理においては、上記のような制約から、AES暗号による暗号化の内部処理における並列性を高める観点で研究が進められており、AES暗号による暗号化処理そのものを複数並列して実行することは一般的ではなかった。 In recent years, parallelization of information processing has attracted attention, such as the generalization of multi-core CPUs (Central Processing Units). However, in the CBC encryption processing, due to the above-described restrictions, research is being conducted from the viewpoint of improving parallelism in the internal processing of encryption using AES encryption, and a plurality of encryption processing using AES encryption itself are performed in parallel. It was not common to do it.
暗号化の内部処理における並列性を高めるためには、AES暗号による暗号化プログラムや暗号化回路を作りこむ必要があり、研究費等のコストが必要となるばかりか、最終的には、処理すべき全てのデータを順番通りに処理していくことになるため、高速化の面で効率が低い。 In order to increase the parallelism in the internal processing of encryption, it is necessary to create an encryption program and encryption circuit using AES encryption, which not only requires research costs, but also ultimately performs processing. Since all data that should be processed are processed in order, the efficiency is low in terms of speedup.
尚、このような課題は、CBC方式に限ったものではなく、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式において同様に問題となり得る。 Note that such a problem is not limited to the CBC method, and may similarly be a problem in an encryption method including a process of calculating two or more continuous data in the data processing order.
本発明は、このような課題を解決するためになされたものであり、データの処理順において連続する2つ以上のデータを演算した結果を用いる暗号化方式において、処理の並列性を高めることを目的とする。 The present invention has been made to solve such a problem, and is intended to improve parallelism of processing in an encryption method using a result of calculating two or more continuous data in the data processing order. Objective.
上記課題を解決するために、本発明の一態様は、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する情報処理装置であって、入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部とを含むことを特徴とする。 In order to solve the above problems, one embodiment of the present invention is an information processing device that encrypts and decrypts data by an encryption method including a process of calculating two or more pieces of continuous data in the data processing order. A plurality of encryption units for encrypting input data by the encryption method, and distribution to the plurality of encryption units as divided data to be encrypted divided into predetermined data amounts for the data to be encrypted Encrypted data for generating encrypted data by arranging the encryption target data input unit to be input and the encryption target divided data encrypted by the plurality of encryption units according to the order before the division A generation unit, an encryption unit number storage unit that stores the number of encryption units obtained by encrypting the encryption target divided data in association with the encrypted data, and the plurality of encryption units A plurality of decrypting units configured corresponding to an encoding unit, the data to be decrypted which is the encrypted data and the number of the encrypting units stored in association with the encrypted data The obtaining unit and the decryption target divided data divided for each predetermined data amount as the data to be decrypted, and the decryption that can be used for decrypting the number of the obtained encryption units and the data to be decrypted The decoding target data input unit that rearranges the decoding target divided data based on the number of copies and distributes and inputs the divided data to the plurality of decoding units, and the decoding target divided data respectively decoded by the plurality of decoding units, And a decrypted data generation unit that generates data after decryption by rearranging based on the obtained number of encryption units and the number of decryption units.
また、本発明の他の態様は、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する画像形成装置であって、入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部と、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力し、前記画像形成装置の動作状態に基づいて前記複数の暗号化部の前記複数の情報処理モジュールへの割り当て数を決定し、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つに対して、前記決定した割り当て数を通知する暗号化部割り当て制御部を更に含むことを特徴とする。 According to another aspect of the present invention, there is provided an image forming apparatus for encrypting and decrypting data by an encryption method including a process of calculating two or more continuous data in the data processing order, wherein the input data And a plurality of encryption units for encrypting the data to be encrypted by dividing the data to be encrypted into the encryption target divided data divided for each predetermined amount of data and inputting the divided data to the plurality of encryption units A target data input unit; an encrypted data generation unit that generates encrypted data by arranging the encrypted target divided data encrypted by the plurality of encryption units according to the order before the division; and In correspondence with the plurality of encryption units, an encryption unit number storage unit that stores the number of the encryption units obtained by encrypting the encryption target divided data in association with the encrypted data, and A plurality of decrypting units formed, a data to be decrypted, the data to be decrypted, and a decryption target data obtaining unit for obtaining the number of the encrypted units stored in association with the encrypted data, and the decrypting Based on the number of encryption units obtained and the number of decryption units that can be used for decryption of the data to be decrypted, the data to be decrypted is divided for each predetermined amount of data. The decryption target data input unit that rearranges and inputs the decryption target split data to the plurality of decryption units, and the decryption target split data decrypted by the plurality of decryption units, respectively, of the acquired encryption unit. A decryption data generation unit that generates data after decryption by rearranging based on the number and the number of the decryption unit, the encryption target data input unit, the encrypted data generation unit, A plurality of information processing modules including a decryption target data input unit and the decryption data generation unit, a plurality of encryption units, the encryption target data input unit included in any of the plurality of information processing modules, An encryption data generation unit, a decryption target data input unit, and a connection switching unit connected to the decryption data generation unit, the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and At least one of the decrypted data generation units outputs a control signal for controlling the connection state by the connection switching unit, and the plurality of encryption units based on an operation state of the image forming apparatus The number of allocations to the information processing module is determined, and the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption It further includes an encryption unit allocation control unit for notifying at least one of the data generation units of the determined number of allocations.
また、本発明の更に他の態様は、情報処理装置であって、入力されたデータを暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとして前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする。 According to still another aspect of the present invention, there is provided an information processing apparatus that includes a plurality of encryption units that encrypt input data, and encryption that is divided into predetermined data amounts of data to be encrypted. An encryption target data input unit that distributes and inputs the target divided data to the plurality of encryption units, and the encryption target divided data encrypted by the plurality of encryption units according to the order before the division. An encrypted data generating unit that generates encrypted data by arranging, a plurality of decrypting units configured to correspond to the plurality of encrypting units, and data that is the encrypted data to be decrypted are defined A decryption target data input unit that distributes and inputs to the plurality of decryption units as decryption target split data divided for each data amount, the encryption target data input unit, the encrypted data generation unit, A plurality of information processing modules including a decryption target data input unit and the decryption data generation unit, a plurality of encryption units, the encryption target data input unit included in any of the plurality of information processing modules, An encryption data generation unit, a decryption target data input unit, and a connection switching unit connected to the decryption data generation unit, the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and At least one of the decoded data generation units outputs a control signal for controlling the connection state by the connection switching unit.
また、本発明の更に他の態様は、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化する複数の暗号化部及び復号する複数の復号部によって暗号化及び復号処理を行う情報処理方法であって、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力し、前記複数の暗号化部が、入力された前記暗号化対象分割データを前記暗号化方式により暗号化し、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成し、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶し、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得し、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力し、前記複数の復号部が、入力された前記復号対象分割データを前記暗号化方式により復号し、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成することを特徴とする。 Still another aspect of the present invention provides a plurality of encryption units for encrypting data and a plurality of decryption units for decryption by an encryption method including a process of calculating two or more continuous data in the data processing order. An information processing method for performing encryption and decryption processing according to the method, wherein the data to be encrypted is distributed and input to the plurality of encryption units as divided data to be encrypted divided for each predetermined data amount, and the plurality The encryption unit encrypts the input encryption target divided data by the encryption method, and the order before the division of the encryption target divided data encrypted by the plurality of encryption units is performed. The encrypted data is generated by arranging the encrypted data, and the number of the encryption units obtained by encrypting the encryption target divided data is stored in association with the encrypted data. The data to be decrypted and the number of the encryption units stored in association with the encrypted data are obtained, and the data to be decrypted is divided into decrypted data to be decrypted for each predetermined amount of data. , Based on the number of the obtained encryption units and the number of the decryption units that can be used for decrypting the data to be decrypted, the decrypted data to be decrypted is rearranged and input to the plurality of decryption units. The plurality of decrypting units decrypts the inputted decryption target divided data by the encryption method, and the decryption target divided data respectively decrypted by the plurality of decryption units is stored in the obtained encryption unit. The data after decoding is generated by rearranging based on the number and the number of the decoding units.
本発明によれば、データの処理順において連続する2つ以上のデータを演算した結果を用いる暗号化方式において、処理の並列性を高めることができる。 ADVANTAGE OF THE INVENTION According to this invention, the parallelism of a process can be improved in the encryption system using the result of calculating two or more continuous data in the data processing order.
実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、スキャンにより生成した画像情報を記憶媒体に格納する機能を含む複合機としての画像形成装置を例として説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the present embodiment, an image forming apparatus as an MFP including a function of storing image information generated by scanning in a storage medium will be described as an example.
図1は、本実施形態に係る画像形成装置1のハードウェア構成を示すブロック図である。尚、画像形成装置1は、図1に示すハードウェア構成に加えて、スキャナ、プリンタ等を実現するためのエンジンを備える。図1に示すように、本実施形態に係る画像形成装置1は、一般的なサーバやPC等と同様の構成を含む。即ち、本実施形態に係る画像形成装置1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
FIG. 1 is a block diagram illustrating a hardware configuration of an
CPU10は演算手段であり、画像形成装置1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
The
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが画像形成装置1の状態を確認するための視覚的ユーザインタフェースである。操作部70は、ユーザが画像形成装置1に情報を入力するためのユーザインタフェースである。
The I /
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置1の機能を実現する機能ブロックが構成される。
In such a hardware configuration, a program stored in a storage medium such as the
次に、本実施形態に係る画像形成装置1の機能構成について、図2を参照して説明する。図2は、本実施形態に係る画像形成装置1の機能構成を示すブロック図である。図2に示すように、本実施形態に係る画像形成装置1は、スキャナ101、エンジンユニット102及びプロッタ103と、それらを制御するコントローラ100とを含む。
Next, the functional configuration of the
スキャナ101は、読み取り原稿に対する照射光の反射光をCCD(Charge Coupled Device)等によりRGB(Red Green Blue)形式等の画像データ信号に変換して出力する。エンジンユニット102は、コントローラ100の制御に従い、RAM20上の画像を読み出してプロッタ103のタイミングに合わせて画像データ出力する。プロッタ103は、エンジンユニット102からの出力データに応じて、印刷対象である出力用紙上に画像形成出力を行う。
The
また、コントローラ100は、図2に示すように、CPU10、RAM20及びHDD40に加えて、コントローラASIC110を含む。即ち、コントローラ100は、CPU10が、RAM20に読み出されたプログラムに従って動作することにより構成されるソフトウェア制御部と、コントローラASIC110によって構成されるハードウェア制御部とによって構成され、画像形成装置1全体の制御を行う。
Further, the
コントローラASIC110は、コントローラ100の機能のうち、HDD40若しくはネットワークを介した他の装置とのデータのやり取りや、スキャナから入力される画像に対する画像処理等を行う。また、CPU10は、コントローラ100において、RAM20にロードされた制御プログラムに従って動作することにより、コントローラASICの制御やエンジンユニット102の制御等を行う。
Among the functions of the
次に、図3を参照して、コントローラASIC110の構成について説明する。図3は、コントローラASIC110の構成をしめすブロック図である。図3に示すように、コントローラASIC110は、スキャナI/F111、CPU I/F112、アービタ113、HDDコントローラ114、画像処理コントローラ115及びネットワークコントローラ116を含む。
Next, the configuration of the
スキャナI/F111は、コントローラASIC110においてスキャナ101からの画像データ信号の入力タイミングに合わせて画像データの取り込みを行う。CPU I/F102は、CPU10及びCPU10を介したRAM20とのデータのやり取りを行う。アービタは、コントローラASIC110に含まれる各モジュール、即ち各ブロックと、RAM20上のデータのやり取りの調停を行う。尚、コントローラASIC110に含まれる各ブロックとRAM20上のデータとのやり取りは、上述したようなCPU10を介したやり取りの他、DMA(Direct Memory Access)によるやり取りがある。
The scanner I /
HDDコントローラ114は、HDD40へのデータの書込み、HDD40からのデータの読み出しの制御並びに書き込むデータの暗号化、読み出したデータの復号を行う。画像処理コントローラ115は、RAM20上の画像データを読み出してフィルタ処理や色補正等の画像処理を行い、処理後の画像をRAM20に出力する。ネットワークコントローラ116は、ネットワークを介した他の装置のデータ送受信の制御を行う。
The
本実施形態においては、HDDコントローラ114にCBC(Cipher Block Chaining:暗号文ブロック連鎖)方式による暗号化を行う暗号器が複数含まれており、その暗号器を動作させる態様が要旨の1つである。図4を参照して、本実施形態に係るHDDコントローラ114について説明する。
In this embodiment, the
図4に示すように、本実施形態に係るHDDコントローラ114は、複数の暗号器144−1、144−2、・・・144−n(以降、総じて暗号器144とする)に加えて、DMAC(DMA Controller)141、メモリバッファ制御部142、メモリバッファ143、HDDバッファ制御部145、HDDバッファ146及びRAIDコントローラ147を含む。尚、本実施形態においては、4つのHDD40が接続されて運用されている場合を例として説明する。
As shown in FIG. 4, the
DMAC141は、CPU10を経ることなく直接RAM20からのデータの読み出し及びデータの書き込みの制御を行う。メモリバッファ143は、RAM20から読み出したデータ及びRAM20へ書き込むデータを一時的に保持する記憶領域である。メモリバッファ制御部142は、メモリバッファ143へのデータの書き込み及びメモリバッファ143からのデータの読み出しの制御を行う。
The
HDDバッファ146は、HDD40から読み出したデータ及びHDD40へ書き込むデータを一時保存するための記憶領域である。HDDバッファ制御部145は、HDDバッファ146へのデータの書き込み及びHDDバッファ146からのデータの読み出しの制御を行う。RAIDコントローラ147は、接続されている複数のHDD40へ書き込みデータを分散する制御や、HDD40から読み出したデータを結合する制御を行う。
The
暗号器144は、HDD40へ書き込まれるデータをCBC方式により暗号化すると共に、HDD40から読み出されたデータをCBC方式により復号する。図5(a)、(b)を参照して、本実施形態に係る暗号器144について詳細に説明する。図5(a)は、暗号器144がHDD40へ書き込まれるデータを暗号化する際の機能態様を示す図であり、図5(b)は、暗号器144がHDD40から読み出されたデータを復号する際の機能態様を示す図である。
The
本実施形態に係る暗号化アルゴリズムにおける1回の暗号化処理の入力バイト数は16バイトであり、メモリバッファ制御部142は、HDD40に格納すべきデータを16バイト毎に分割して順番に暗号器144に入力する。図5(a)に示すように、CBC方式による暗号化処理においては、処理すべき入力データと上記順番における1つ前の処理により暗号化された暗号化データとの排他的論理和が、暗号化アルゴリズムの入力となる。尚、
The number of input bytes for one encryption process in the encryption algorithm according to the present embodiment is 16 bytes, and the memory
このようなデータの順番における先頭のデータには、上述したような、1つ前の処理により暗号化された暗号化データが存在しないため、先頭のデータを暗号化する場合には、初期化ベクトルとの排他的論理和が暗号化アルゴリズムの入力となる。また、図5(b)に示すように、暗号化されたデータを復号する場合にも、常に1つ前の復号データとの排他的論理和が演算されると共に、先頭のデータにおいては、初期化ベクトルとの排他的論理和が演算される。 Since there is no encrypted data encrypted by the previous process as described above in the top data in such data order, the initialization vector is used when encrypting the top data. Is the input of the encryption algorithm. In addition, as shown in FIG. 5B, when decrypting encrypted data, an exclusive OR with the previous decrypted data is always calculated, and the initial data is the initial value. An exclusive OR with the vector is calculated.
次に、本実施形態に係るHDDコントローラ114においてHDD40にデータを格納し、若しくはHDD40からデータを読み出す場合のデータ分割態様について説明する。尚、以下の説明においては、暗号化対象である元のデータ(以降、元データとする)が“1”〜“8”の8個のデータ(以降、分割データとする)に分割される場合を例として説明する。図6は、暗号器144−1、144−2、144−3、144−4の4つの暗号器が用いられる場合のデータ分割態様を示す図である。
Next, a data division mode when the
図6に示すように、メモリバッファ制御部142は、メモリバッファ143に保持された元データを16バイトずつ分割して分割データとして順番に読み出し、暗号器144−1〜144−4の順に振り分けて入力する。即ち、分割データは、暗号化対象分割データとして処理され、メモリバッファ制御部142が、暗号化対象分割データ入力部として機能する。この結果、図6に示すように、暗号器144−1には、“1”及び“5”、暗号器144−2には、“2”及び“6”、暗号器144−3には“3”及び“7”、暗号器144−4には“4”及び“8”の分割データが夫々入力される。
As shown in FIG. 6, the memory
暗号器144−1〜144−4においては、夫々の分割データが入力されると、CBC方式に従って暗号化を行い、暗号化された分割データ(以降、暗号化分割データとする)“1c”〜“8c”が得られる。即ち、暗号器144が、暗号化部として機能する。HDDバッファ制御部145は、用いられた暗号器144−1〜144−4から暗号化分割データを1つずつ順番に読み出し、“1c”〜“8c”の順番でHDDバッファ146に保持させる。これにより、“1c”〜“8c”の順番で統合されたデータ(以降、暗号化データとする)がRAIDコントローラ147を介してHDD40に格納される。即ち、HDDバッファ制御部145が、暗号化された分割データを、分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部として機能する。
In the encryptors 144-1 to 144-4, when each piece of divided data is input, encryption is performed according to the CBC method, and encrypted divided data (hereinafter referred to as encrypted divided data) “1c” to “8c” is obtained. That is, the
HDD40に格納された暗号化データを読み出して復号する場合、先ずはHDDバッファ制御部145が、復号するべき暗号化データをHDD40から読み出してHDDバッファ146に保持させる。これにより、図6に示すように暗号化分割データ“1c”〜“8c”よりなる暗号化データがHDDバッファ146に保持される。
When the encrypted data stored in the
そして、HDDバッファ制御部145は、HDDバッファ146に保持された暗号化データを、16バイトずつ分割して“1c”〜“8c”の暗号化分割データとして順番に読み出し、暗号器144−1〜144−4の順に入力する。この結果、図6に示すように、暗号器144−1には、“1c”及び“5c”、暗号器144−2には、“2c”及び“6c”、暗号器144−3には“3c”及び“7c”、暗号器144−4には“4c”及び“8c”の分割データが夫々入力される。
Then, the HDD
暗号器144−1〜144−4においては、夫々の暗号化分割データが入力されると、CBC方式に従って復号を行い、復号された分割データ“1”〜“8”が得られる。メモリバッファ制御部142は、用いられた暗号器144−1〜144−4から暗号化分割データを1つずつ順番に読み出し、“1”〜“8”の順番でメモリバッファ143に保持させる。これにより、“1”〜“8”の順番で統合されたデータがRAM20に読み出される。
In each of the encryptors 144-1 to 144-4, when each encrypted divided data is input, decryption is performed according to the CBC method, and decrypted divided data “1” to “8” are obtained. The memory
図7、図8は、夫々用いる暗号器が3つの場合並びに2つの場合の分割態様を示す図である。図7、図8の場合も図6の場合と同様に、メモリバッファ制御部142が、メモリバッファ143に保持された元データを分割データ“1”〜“8”に分割して順番に読み出し、暗号器144に順番に入力する。そして、暗号器144によって暗号化された暗号化分割データ“1c”〜“8c”は、HDDバッファ制御部145によって順番に読み出され、“1c”〜“8c”の順番でHDDバッファ146に保持される。これにより、“1c”〜“8c”の順番で統合されたデータがRAIDコントローラ147を介してHDD40に格納される。復号についても同様である。
FIG. 7 and FIG. 8 are diagrams showing division modes when there are three ciphers and two ciphers, respectively. In the case of FIGS. 7 and 8, as in the case of FIG. 6, the memory
尚、CBC方式において前段の暗号化データとの排他的論理和が演算されるため、図6における暗号化分割データ“1c”〜“8c”と図7、図8における暗号化分割データ“1c”〜“8c”とは、初期化ベクトルとの排他的論理和による暗号化分割データ以外異なる。従って、図6に示すように、暗号器144が4つ用いられて暗号化された暗号化データは、図8に示すような暗号器144が2つ用いられる場合には、上述した処理のままでは復号することができない。本実施形態においては、このように、暗号化時と復号時とで用いられる暗号器の数が異なる場合において、暗号化データの復号を可能とすることが要旨の1つである。
In the CBC method, since an exclusive OR with the preceding encrypted data is calculated, the encrypted divided data “1c” to “8c” in FIG. 6 and the encrypted divided data “1c” in FIGS. To “8c” are different from the encrypted divided data obtained by exclusive OR with the initialization vector. Therefore, as shown in FIG. 6, the encrypted data encrypted by using four
上述した要旨を実現するため、本実施形態に係るHDDバッファ制御部145は、暗号化データをHDD40に格納する際に、暗号化データとその暗号化データの暗号化時に用いられた暗号器の数を示す情報とが関連付けられた情報(以降、暗号器数情報とする)を生成する。即ち、本実施形態においては、HDDバッファ制御部145が、データの暗号化に用いられた暗号化部の数を暗号化データと関連付けて記憶する暗号化部数記憶部として機能する。図9は、そのような情報の例を示す図である。
In order to realize the above-described gist, the HDD
図9に示すように、本実施形態に係る暗号器数情報は、暗号化データを特定するための情報として、HDD40において暗号化データが格納されている記憶領域のアドレスを示す“格納先アドレス”の情報と、その暗号化データが暗号化される際に用いられた暗号器144の数を示す“暗号器数”の情報を含む。尚、本実施形態においては、“格納先アドレス”の情報は、CHS(Cylinder Head Sector)方式のアドレスとして特定されている。
As shown in FIG. 9, the number-of-encryption-unit information according to the present embodiment is “storage destination address” indicating the address of the storage area in the
HDDバッファ制御部145は、HDD40から暗号化データを読み出す際、図9に示す暗号器数情報を参照することにより、読み出す暗号化データが暗号化された際の暗号器144の数を認識する。そして、認識した暗号器144の数と、暗号化データの復号に用いられる暗号器144の数が異なる場合、以下に説明する処理を実行することにより、暗号化時とは異なる暗号器144の数による復号を可能とする。尚、図9に示す暗号器数情報は、HDD40に暗号化されることなく格納されるほか、HDDコントローラ114に設けられた記憶領域に格納すること等により管理される。
When the encrypted data is read from the
以下、本実施形態に係る暗号化データの復号処理の態様について、図10(a)、(b)を参照して説明する。図10(a)、(b)は、4つの暗号器144によって暗号化された暗号化データを、2つの暗号器144によって復号する場合の例を示す図である。
Hereinafter, the aspect of the decryption process of the encrypted data according to the present embodiment will be described with reference to FIGS. FIGS. 10A and 10B are diagrams illustrating an example in which the encrypted data encrypted by the four
図10(a)に示すように、HDDバッファ制御部145は、復号すべき暗号化データをHDD40から読み出し、HDDバッファ146に保持させる、この際、HDDバッファ制御部145は、暗号器数情報を参照して、復号するべき暗号化データが暗号化された際の暗号器の数“4”を認識する。即ち、HDDバッファ制御部145が、復号対象データ取得部として機能する。また、復号に用いられる暗号器144の数を、動作させる暗号器144の数を示す情報を参照することにより認識する。更に、これらの情報を、メモリバッファ制御部142に伝える。動作させる暗号器144の数を示す情報は、例えばレジストリ等に格納されている。
As shown in FIG. 10A, the HDD
図10(a)に示すように、先ずHDDバッファ制御部145は、HDDバッファ146に保持された暗号化データを16バイトずつ分割して“1c”〜“8c”の暗号化分割データとして順番に読み出し、暗号器144に振り分けて入力する。即ち、暗号化分割データが復号対象分割データとして用いられ、HDDバッファ制御部145が、復号対象データ入力部として機能する。
As shown in FIG. 10 (a), the HDD
ここで、HDDバッファ制御部145が暗号化分割データ“1c”を読み出して暗号器144−1に入力し、暗号化分割データ“2c”を読み出して暗号器144−2に入力すると、通常であれば次は、暗号化分割データ“3c”を読み出して暗号器144−1に入力することになるが、HDDバッファ制御部145は、上記認識している暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、暗号化分割データ“3c”、“4c”をスキップして暗号器数“4”の場合において“1c”の次に入力する暗号化分割データ“5c”を読み出して暗号器144−1に入力する。
Here, when the HDD
更に、HDDバッファ制御部145は、暗号器数“4”の場合において“2c”の次に入力する暗号化分割データ“6c”を読み出して暗号器144−1に入力する。この結果、図10(a)に示すように、暗号器144−1、144−2によって暗号化分割データ“1c”、“2c”、“5c”、“6c”が正しく復号され、分割データ“1”、“2”、“5”、“6”が得られる。即ち、暗号器144が、複合部として機能する。
Further, the HDD
分割データ“1”、“2”、“5”、“6”が得られると、メモリバッファ制御部142は、HDDバッファ制御部145から伝えられた暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、図10(a)に示すような並び順で分割データ“1”、“2”、“5”、“6”をメモリバッファ143に保持させる。
When the divided data “1”, “2”, “5”, and “6” are obtained, the memory
次に、HDDバッファ制御部145は、暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、図10(a)においてスキップされた暗号化分割データ“3”、“4”、“7”、“8”を夫々読み出して、図10(b)に示すように暗号器144−1、144−2に夫々入力する。これにより、暗号器144−1、144−2によって復号が行われ、分割データ“3”、“4”、“7”、“8”が得られる。
Next, the HDD
分割データ“3”、“4”、“7”、“8”が得られると、メモリバッファ制御部142は、HDDバッファ制御部145から伝えられた暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、図10(b)に示すような並び順で分割データ“3”、“4”、“7”、“8”をメモリバッファ143に保持させる。これにより、分割データ“1”、“2”、“5”、“6”と分割データ“3”、“4”、“7”、“8”とが正確な並び順で統合され、分割データ“1”〜“8”からなる元データが得られる。このような処理により、本実施形態に係る複合処理が完了する。即ち、メモリバッファ制御部142が、復号データ生成部として機能する。
When the divided data “3”, “4”, “7”, “8” are obtained, the memory
換言すると、図10(a)、(b)の例において、HDDバッファ制御部145は、復号に用いる暗号器144の数が、取得された暗号器数である“4”と同一である場合において、暗号化分割データを夫々の暗号器144に順番に振り分ける際の並び順と同じ順番になる様に、暗号化分割データを並べ替えて暗号器144−1、144−2に夫々入力する。また、メモリバッファ制御部142は、復号に用いる暗号器144の数が、暗号器数である“4”と同一である場合において、暗号化分割データが夫々の暗号器144に順番に振り分けられた際の並び順と同じ順番になる様に、復号された分割データを並べ替える。
In other words, in the example of FIGS. 10A and 10B, the HDD
本実施形態に係る画像形成装置1のように、複数の暗号器144を並列して動作させる場合、暗号器144内部の処理の並列性を向上するよりも簡易な構成で情報処理の並列化が実現できる。また、暗号器144内部の処理の並列性を向上したとしても、暗号器144には、分割データ“1”〜“8”を順番に入力することになるため、パフォーマンスの大幅な向上は期待できない。これに対して、本実施形態に係る画像形成装置1においては、分割データ“1”〜“8”を並列して処理することが出来るため、簡易な構成でパフォーマンスの大幅な向上を得ることが可能である。
When the plurality of
このように、複数の暗号器144を並列して動作させることにより、暗号化時と復号化時として暗号/復号器の数が異なる場合、暗号化データを復号化する際の暗号化分割データの並び順が異なり、CBC方式においてデータが正しく復号されないという問題が発生する。これに対して本実施形態に係る画像形成装置1においては、暗号化データと暗号化時に用いられた暗号器144の数とが関連付けられた情報を管理し、暗号化データを復号する際、暗号化時に用いられた暗号器144の数と復号に用いられる暗号器144の数との関係に基づいて暗号器144に入力する暗号化分割データの順番を並び替える。これにより、暗号化時と復号化時として用いられる暗号/復号器の数が異なる場合であっても、暗号化データを正しく復号することができる。
In this way, by operating a plurality of
以上説明したように、本実施形態に係る画像形成装置1における暗号化処理の方法によれば、データの処理順において連続する2つ以上のデータを演算した結果を用いて暗号化を行う場合に、処理の並列性を高めることが可能となる。
As described above, according to the encryption processing method in the
尚、図5において説明したように、CBC方式の暗号においては、次に処理するデータと前回の暗号データの排他的論理和を暗号アルゴリズムへの入力としており、転送の最初は初期化ベクトルと排他的論理和をとる。そして、暗号データを復号する場合にも、常に1回前の復号データとの排他的論理和がとられる。 As described with reference to FIG. 5, in the CBC system encryption, the exclusive OR of the data to be processed next and the previous encryption data is used as an input to the encryption algorithm. Logical OR. Even when the encrypted data is decrypted, the exclusive OR with the decrypted data one time before is always taken.
ここで、HDDからのデータの読み出しは、読み出し単位であるセクタ毎に行われ、データの読み出しは必ずしもデータの先頭のセクタから行われるとは限らないため、複数のセクタにまたがって格納されたデータを読み出す場合において、先頭のデータのみ初期化ベクトルとの排他的論理和が演算された場合、HDDの任意のセクタから読み出しても復号できないことになる。 Here, data reading from the HDD is performed for each sector, which is a reading unit, and data reading is not necessarily performed from the head sector of the data, so data stored across multiple sectors is stored. When the exclusive OR with only the initial data is calculated in the first data, the data cannot be decoded even if read from any sector of the HDD.
HDDに書き込まれた暗号化データを任意のセクタから読み出して復号できるようにするため、各セクタの先頭の分割データについて初期化ベクトルとの排他的論理和を演算した上で暗号化することが好ましい。例えば、1セクタの記憶容量が512バイトである場合、HDDに書き込まれるデータ量の合計が512バイトの倍数になる度に、暗号器144は、次に暗号化する分割データについて初期化ベクトルとの排他的論理和を演算した上で暗号化する。これにより、全てのセクタの先頭に格納されている暗号化分割データは、初期化ベクトルとの排他的論理和演算の上で暗号化されたデータとなり、任意のセクタからの読み出しが可能となる。
In order to allow the encrypted data written in the HDD to be read from any sector and decrypted, it is preferable to perform encryption after calculating the exclusive OR with the initialization vector for the divided data at the head of each sector. . For example, when the storage capacity of one sector is 512 bytes, every time the total amount of data written to the HDD is a multiple of 512 bytes, the
ここで、HDDに格納されるデータ量の合計と、暗号器144に入力されるデータ量の合計は、暗号化に用いられる暗号器の数及びRAIDコントローラ147によって制御されるRAIDレベルがミラーリング、ストライピング等のRAIレベルによって夫々異なる。その例について、図11(a)、(b)を参照して説明する。尚、図11(a)、(b)においても、1セクタの記憶容量が512バイトである場合を例としている。
Here, the total amount of data stored in the HDD and the total amount of data input to the
図11(a)は、HDD40へのデータ格納時に2つの暗号器144を用いる場合における、HDD40の台数及びRAIDレベルと、各暗号器144が排他的論理和の演算に初期化ベクトルを用いるデータ量の間隔との関係を示すテーブルである。尚、以降の説明においては、暗号器144が排他的論理和の演算に初期化ベクトルを用いることを、“初期化を行う”と表現する。
FIG. 11A shows the number of
例えば、HDD40が1台の場合や、HDD40が2台、4台でミラーリングを行う場合、HDDバッファ146に保持された暗号化データは、分割されることなく全て同一のHDD40に格納され、ミラーリングの場合は、夫々のHDD40に同一の暗号化データが格納される。従って、各暗号器144は、2つの暗号器144から出力される分割暗号化データの合計が512バイトの倍数になる度、即ち、256バイトのデータを暗号化する度に初期化を行う。
For example, when mirroring is performed with one
また、HDD2台でストライピングを行う場合、HDDバッファ146に保持された暗号化データは2つに分割された上で、2台のHDD40に夫々格納される。従って、各暗号器144は、2つの暗号器144から出力される分割暗号化データの合計が1024バイトの倍数になる度、即ち、512バイトのデータを暗号化する度に初期化を行う。即ち、ストライピングのように、HDD40においてデータが分割されて記憶される場合、各暗号器144は、暗号化に用いられる暗号器144によって暗号化されたデータ量の合計が、HDD40の読み出し単位であるセクタサイズをHDD40におけるデータ分割数で割った値の倍数になる度に初期化を行う。
When performing striping with two HDDs, the encrypted data held in the
他方、図11(b)は、HDD40へのデータ格納時に4つの暗号器144を用いる場合における、HDD40の台数及びRAIDレベルと、各暗号器144が排他的論理和の演算に初期化ベクトルを用いるデータ量の間隔との関係を示すテーブルである。図11(b)に示すように、HDD40が1台の場合や、HDD40が2台、4台でミラーリングを行う場合、各暗号器144は、4つの暗号器144から出力される分割暗号化データの合計が512バイトの倍数になる度、即ち、128バイトのデータを暗号化する度に初期化を行う。
On the other hand, FIG. 11B shows the number of
また、HDD2台でストライピングを行う場合、各暗号器144は、4つの暗号器144から出力される分割暗号化データの合計が1024バイトの倍数になる度、即ち、256バイトのデータを暗号化する度に初期化を行う。
When performing striping with two HDDs, each
また、上記実施形態においては、暗号器144がHDDコントローラ114の一部として含まれ、HDD40に格納されるデータを暗号化若しくは復号する場合を例として説明した。これに限らず、ネットワークコントローラ116の一部として上述した暗号器144、メモリバッファ制御部142及びHDDバッファ制御部145が含まれ、ネットワークを介して外部に出力するデータを暗号化し、若しくはネットワークを介して外部から入力されるデータを復号する場合に適用することも可能である。
Further, in the above embodiment, the case where the
更には、HDDコントローラ114及びネットワークコントローラ116の一部としてではなく、コントローラASICに含まれる1つのモジュールとして、上述した複数の暗号器144を含む機能を構成することも可能である。
Furthermore, it is possible to configure the function including the plurality of
また、上記実施形態においては、図9に示す暗号器数情報を用いて、暗号化データが暗号化された際に用いられた暗号器144の数を管理する場合を例として説明した。これに限らず、本実施形態の要旨は、暗号化データを復号する際に、その暗号化データが暗号化された際に用いられた暗号器144の数が判明すれば達成されるため、必ずしも図9に示すような暗号器数情報を用いて、暗号化データとは別のデータとしてテーブルにより管理する必要はない。
In the above embodiment, the case has been described in which the number of
上記暗号器数情報を用いる場合以外の態様としては、例えば、HDDバッファ制御部145が暗号化データをHDD40に格納する際に、暗号化データに暗号器数の情報を付加して格納することが考えられる。この場合、HDDバッファ制御部145は、復号すべき暗号化データを読み出してHDDバッファ146に保持させ、その暗号化データに付加された暗号器数の情報を参照することにより、上記と同様の処理を実行することが可能となる。
For example, when the HDD
実施の形態2.
本実施形態においては、上述したように、HDDコントローラ114及びネットワークコントローラ116の一部としてではなく、コントローラASICに含まれる1つのモジュールとして複数の暗号器144を含む暗号化モジュールが構成され、HDDコントローラ114及びネットワークコントローラ116のように、複数の情報処理モジュールが暗号化モジュールを共用する場合について説明する。尚、実施の形態1と同一の符号を付す構成については、同一または相当部を示し、詳細な説明を省略する。
In the present embodiment, as described above, an encryption module including a plurality of
図12は、本実施形態に係るコントローラASIC110におけるアービタ113、HDDコントローラ114、ネットワークコントローラ116及び暗号化モジュール117の機能構成を示すブロック図である。図12に示すように、本実施形態に係るHDDコントローラ114は、実施の形態1における構成のうち複数の暗号器144以外の構成を含む。
FIG. 12 is a block diagram showing the functional configuration of the
また、本実施形態に係るネットワークコントローラ116は、DMAコントローラ161、メモリバッファ制御部162、メモリバッファ163、NW(NetWork)バッファ制御部165、NWバッファ166及びネットワークI/F167を含む。DMAコントローラ161、メモリバッファ制御部162、メモリバッファ163は、夫々HDDコントローラ114に含まれるDMAコントローラ141、メモリバッファ制御部142、メモリバッファ143と同様の機能を有する。
The
NWバッファ制御部165、NWバッファ166及びネットワークI/F167は、HDDコントローラ114のHDDバッファ制御部145、HDDバッファ146及びRAIDコントローラ147に対応する構成であり、HDDコントローラ114においてHDD40とのデータ送受信が実現されるように、ネットワークを介したデータ送受信を実現する。
The NW
暗号化モジュール117は、複数の暗号器144及び複数の暗号器の入力/出力側に接続されたセレクタS11、S12、S21、S22、・・・Sn1、Sn2(以降、総じてセレクタSとする)を含む。複数の暗号器144は、セレクタSを介してHDDコントローラ114及びネットワークコントローラ116に接続されている。例えば、暗号器144−1は、セレクタS11を介してHDDコントローラ114のメモリバッファ制御部142及びネットワークコントローラ116のメモリバッファ制御部162に接続されていると共に、セレクタS12を介してHDDコントローラ114のHDDバッファ制御部145及びネットワークコントローラ116のNWバッファ制御部165に接続されている
The
各セレクタSは、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165から出力される制御信号に従って、暗号器144をHDDコントローラ114側か、ネットワークコントローラ116側のいずれかに接続する接続切換部である。例えば、暗号器144−1がHDDコントローラ114によって用いられる場合、メモリバッファ制御部142がセレクタS11に対して制御信号を出力して、暗号器144−1とメモリバッファ制御部142とが接続されるようにセレクタS11の接続状態を切り替える。また、HDDバッファ制御部145がセレクタS12に対して制御信号を出力して、暗号器144−1とHDDバッファ制御部145とが接続されるようにセレクタS12の接続状態を切り替える。これにより、暗号器144−1は、HDDコントローラ114によって用いられることとなる。
Each selector S sets the
セレクタSにより接続状態が切り替えられた後の、暗号器144を用いた暗号化/復号の処理は、実施の形態1において説明された態様と同様である。また、メモリバッファ制御部162及びNWバッファ制御部165は、メモリバッファ制御部142及びHDDバッファ制御部145と同様に動作することにより、ネットワークを介して出力すべきデータを暗号化し、若しくはネットワークを介して受信したデータを復号する。
The encryption / decryption process using the
メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165は、CPU10による制御に従い、セレクタSを制御するための制御信号を出力する。画像形成装置1には、複数の暗号器144をHDDコントローラ114とネットワークコントローラ116に対してどのように振り分けるかを制御するためのアプリケーション・プログラム(以降、暗号器数決定プログラムとする)がインストールされており、CPU10は、RAM20に読み出された暗号器決定プログラムに従って、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165を制御する。即ち、CPU10が暗号器数決定プログラムに従って演算を行うことにより、暗号化部割り当て制御部として機能する。
The memory
本実施形態に係る暗号器数決定プログラムにおいては、画像形成装置1の動作状態に従って複数の暗号器144をHDDコントローラ114とネットワークコントローラ116に対してどのように振り分けるかが決定される。図13は、画像形成装置1の動作状態と、暗号器数の振り分けとの関係を示すテーブルである。尚、図13の例においては、暗号器144の総数が4つである場合を示す。
In the encryption number determination program according to the present embodiment, it is determined how to distribute the plurality of
図13に示すように、原稿を複写する複写動作や、生成した画像をHDD40に格納するスキャン(格納)の場合、ネットワークコントローラ116によるネットワークを介した情報の送受信は行われないため、4つの暗号器144は全てHDDコントローラ114によって用いられる。また、プリントアウト動作の場合、ネットワークを介した情報のやり取りとHDD40との情報のやり取りとが同程度であるため、HDDコントローラ114とネットワークコントローラ116とに同数の暗号器144が振り分けられる。
As shown in FIG. 13, in the case of a copying operation for copying a document or a scan (storage) in which a generated image is stored in the
また、生成した画像をネットワークを介して配信するスキャン(配信)の場合、HDDとの情報のやり取りよりもネットワークを介した情報のやり取りの方が多いため、HDDコントローラ114に1つ、ネットワークコントローラ116に3つの暗号器144が振り分けられる。
Further, in the case of scanning (distribution) in which a generated image is distributed via a network, since there is more information exchange via the network than information exchange with the HDD, one
CPU10は、図13に示すようなルールに従って、暗号器144の割り当て数を決定し、決定した割り当て数をメモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165に通知する。これにより、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165が、上述したようにセレクタSを切り替えるための切替信号を出力する。
The
このように、本実施形態に係る画像形成装置1に含まれる暗号化モジュール117によれば、複数のモジュールによる暗号化モジュールの共用を、簡易な構成で実現することが可能である。
Thus, according to the
尚、上記実施形態においては、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165が夫々切替信号を出力する場合を例として説明した。しかしながら、これらのうち少なくとも1つが、全てのセレクタSの接続状態を切り替えるようにしても良い。
In the above embodiment, the case where the memory
1 画像形成装置、
10 CPU、
20 RAM、
30 ROM、
40 HDD、
50 I/F、
60 LCD、
70 操作部、
80 バス、
100 コントローラ、
101 スキャナ、
102 エンジンユニット、
103 プロッタ、
111 スキャナI/F、
112 CPU I/F
113 アービタ、
114 HDDコントローラ、
115 画像処理コントローラ、
116 ネットワークコントローラ、
141 DMAコントローラ、
142 メモリバッファ制御部、
143 メモリバッファ、
144 暗号器、
145 HDDバッファ制御部、
146 HDDバッファ、
147 RAIDコントローラ、
161 DMAコントローラ、
162 メモリバッファ制御部、
163 メモリバッファ、
165 NWバッファ制御部、
166 NWバッファ、
167 ネットワークI/F
1 image forming apparatus,
10 CPU,
20 RAM,
30 ROM,
40 HDD,
50 I / F,
60 LCD,
70 operation unit,
80 bus,
100 controller,
101 scanner,
102 engine unit,
103 plotters,
111 Scanner I / F,
112 CPU I / F
113 Arbiter,
114 HDD controller,
115 image processing controller,
116 network controller,
141 DMA controller,
142 memory buffer controller,
143 memory buffer,
144 encryptor,
145 HDD buffer control unit,
146 HDD buffer,
147 RAID controller,
161 DMA controller,
162 memory buffer controller,
163 memory buffer,
165 NW buffer control unit,
166 NW buffer,
167 Network I / F
Claims (8)
入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部とを含むことを特徴とする情報処理装置。 An information processing apparatus for encrypting and decrypting data by an encryption method including a process of calculating two or more continuous data in a data processing order,
A plurality of encryption units for encrypting input data by the encryption method;
An encryption target data input unit that distributes and inputs data to be encrypted to the plurality of encryption units as the encryption target divided data divided for each predetermined data amount;
An encrypted data generation unit that generates encrypted data by arranging the encryption target divided data encrypted by the plurality of encryption units according to the order before the division;
A number-of-encryption-unit storage unit that stores the number of the encryption units obtained by encrypting the respective encryption target divided data in association with the encrypted data;
A plurality of decryption units configured to correspond to the plurality of encryption units;
A decryption target data acquisition unit that acquires the data to be decrypted as the encrypted data and the number of the encryption units stored in association with the encrypted data;
The data to be decrypted is divided data to be decrypted divided for a predetermined amount of data, and the number of the obtained encryption units and the number of the decryption units that can be used for decrypting the data to be decrypted A decoding target data input unit that rearranges the decoding target divided data and distributes and inputs the divided data to the plurality of decoding units;
A decrypted data generating unit that generates decrypted data by rearranging the decrypted data to be decrypted by the plurality of decrypting units based on the number of the obtained encrypting units and the number of the decrypting units. An information processing apparatus comprising:
前記データの処理順における先頭のデータは初期化ベクトルと演算し、
複数の前記暗号化部によって暗号化されたデータ量の合計が、前記生成された暗号化データが記憶される記憶媒体の読み出し単位の倍数に達する度に、前記データの処理順において次に処理するデータを初期化ベクトルと演算することを特徴とする請求項1または2に記載の情報処理装置。 The encryption unit
The first data in the processing order of the data is calculated as an initialization vector,
Each time the total amount of data encrypted by the plurality of encryption units reaches a multiple of the read unit of the storage medium in which the generated encrypted data is stored, the next processing is performed in the processing order of the data The information processing apparatus according to claim 1, wherein the data is calculated as an initialization vector.
前記暗号化部は、前記記憶媒体制御部が前記暗号化データを複数の前記記憶媒体に分割して記憶する場合、複数の前記暗号化部によって暗号化されたデータ量の合計が、前記記憶媒体の読み出し単位を前記暗号化データの分割数で割った値の倍数に達する度に、前記データの処理順において次に処理するデータを初期化ベクトルと演算することを特徴とする請求項3に記載の情報処理装置。 A storage medium control for controlling a storage medium in which the generated encrypted data is stored;
When the storage medium control unit divides and stores the encrypted data into the plurality of storage media, the encryption unit stores the total amount of data encrypted by the plurality of encryption units as the storage medium. 4. The data to be processed next in the processing order of the data is calculated as an initialization vector every time the read unit is divided by the division number of the encrypted data. Information processing device.
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを更に含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする請求項1乃至4いずれかに記載の情報処理装置。 A plurality of information processing modules including the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit;
A plurality of the encryption units are connected to the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit included in any of the plurality of information processing modules A connection switching unit;
At least one of the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit has a control signal for controlling the connection state by the connection switching unit. The information processing apparatus according to claim 1, wherein the information processing apparatus outputs the information processing apparatus.
入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部と、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力し、
前記画像形成装置の動作状態に基づいて前記複数の暗号化部の前記複数の情報処理モジュールへの割り当て数を決定し、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つに対して、前記決定した割り当て数を通知する暗号化部割り当て制御部を更に含むことを特徴とする画像形成装置。 An image forming apparatus that encrypts and decrypts data by an encryption method including a process of calculating two or more continuous data in a data processing order,
A plurality of encryption units for encrypting input data by the encryption method;
An encryption target data input unit that distributes and inputs data to be encrypted to the plurality of encryption units as the encryption target divided data divided for each predetermined data amount;
An encrypted data generation unit that generates encrypted data by arranging the encryption target divided data encrypted by the plurality of encryption units according to the order before the division;
A number-of-encryption-unit storage unit that stores the number of the encryption units obtained by encrypting the respective encryption target divided data in association with the encrypted data;
A plurality of decryption units configured to correspond to the plurality of encryption units;
A decryption target data acquisition unit that acquires the data to be decrypted as the encrypted data and the number of the encryption units stored in association with the encrypted data;
The data to be decrypted is divided data to be decrypted divided for a predetermined amount of data, and the number of the obtained encryption units and the number of the decryption units that can be used for decrypting the data to be decrypted A decoding target data input unit that rearranges the decoding target divided data and distributes and inputs the divided data to the plurality of decoding units;
A decrypted data generating unit that generates decrypted data by rearranging the decrypted data to be decrypted by the plurality of decrypting units based on the number of the obtained encrypting units and the number of the decrypting units. When,
A plurality of information processing modules including the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit;
A plurality of the encryption units are connected to the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit included in any of the plurality of information processing modules Including a connection switching unit,
At least one of the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit has a control signal for controlling the connection state by the connection switching unit. Output,
The number of the plurality of encryption units assigned to the plurality of information processing modules is determined based on the operation state of the image forming apparatus, and the encryption target data input unit, the encrypted data generation unit, and the decryption target data An image forming apparatus, further comprising: an encryption unit allocation control unit that notifies at least one of the input unit and the decrypted data generation unit of the determined number of allocations.
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとして前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする情報処理装置。 A plurality of encryption units for encrypting input data;
An encryption target data input unit that distributes and inputs data to be encrypted to the plurality of encryption units as the encryption target divided data divided for each predetermined data amount;
An encrypted data generation unit that generates encrypted data by arranging the encryption target divided data encrypted by the plurality of encryption units according to the order before the division;
A plurality of decryption units configured to correspond to the plurality of encryption units;
A decryption target data input unit that distributes and inputs to the plurality of decryption units as decryption target split data that is the encrypted data and is to be decrypted for each predetermined data amount;
A plurality of information processing modules including the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit;
A plurality of the encryption units are connected to the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit included in any of the plurality of information processing modules Including a connection switching unit,
At least one of the encryption target data input unit, the encrypted data generation unit, the decryption target data input unit, and the decryption data generation unit has a control signal for controlling the connection state by the connection switching unit. An information processing apparatus that outputs the information.
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力し、
前記複数の暗号化部が、入力された前記暗号化対象分割データを前記暗号化方式により暗号化し、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成し、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶し、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得し、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力し、
前記複数の復号部が、入力された前記復号対象分割データを前記暗号化方式により復号し、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成することを特徴とする情報処理方法。 Information processing method for performing encryption and decryption processing by a plurality of encryption units for encrypting data and a plurality of decryption units for decrypting the data by an encryption method including processing for calculating two or more continuous data in the data processing order Because
The data to be encrypted is distributed and input to the plurality of encryption units as divided data to be encrypted divided for each predetermined amount of data,
The plurality of encryption units encrypts the input divided data to be encrypted by the encryption method,
Generating encrypted data by arranging the encryption target divided data encrypted by the plurality of encryption units according to the order before the division;
Storing the number of the encryption units that respectively encrypted the encryption target divided data in association with the encrypted data;
Obtaining the number of the encrypted data stored in association with the data to be decrypted and the encrypted data,
The data to be decrypted is divided data to be decrypted divided for a predetermined amount of data, and the number of the obtained encryption units and the number of the decryption units that can be used for decrypting the data to be decrypted Reordering the divided data to be decoded based on the input to the plurality of decoding units,
The plurality of decrypting units decrypts the inputted decryption target divided data by the encryption method,
Generating the decrypted data by rearranging the decrypted data to be decrypted respectively decrypted by the plurality of decrypting units based on the number of the obtained encrypting units and the number of the decrypting units. Information processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010119559A JP2011250020A (en) | 2010-05-25 | 2010-05-25 | Information processing apparatus, image forming apparatus, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010119559A JP2011250020A (en) | 2010-05-25 | 2010-05-25 | Information processing apparatus, image forming apparatus, and information processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011250020A true JP2011250020A (en) | 2011-12-08 |
Family
ID=45414759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010119559A Pending JP2011250020A (en) | 2010-05-25 | 2010-05-25 | Information processing apparatus, image forming apparatus, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011250020A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017016487A (en) * | 2015-07-02 | 2017-01-19 | 株式会社バイオス | Storage control device |
JP6509475B1 (en) * | 2017-05-30 | 2019-05-08 | 三菱電機株式会社 | Management device, management method and management program |
-
2010
- 2010-05-25 JP JP2010119559A patent/JP2011250020A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017016487A (en) * | 2015-07-02 | 2017-01-19 | 株式会社バイオス | Storage control device |
JP6509475B1 (en) * | 2017-05-30 | 2019-05-08 | 三菱電機株式会社 | Management device, management method and management program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8983063B1 (en) | Method and system for high throughput blockwise independent encryption/decryption | |
EP2803012B1 (en) | Using storage controller bus interfaces to secure data transfer between storage devices and hosts | |
JP4991223B2 (en) | Data processing device | |
US20080209203A1 (en) | Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data transfer controlling apparatus | |
CN102611549B (en) | Data encryption equipment and storage card | |
KR20080021520A (en) | Data conversion unit, electronic apparatus using the data conversion unit, and data conversion method | |
JP2008109611A (en) | Encryption conversion apparatus, encryption conversion method and encryption conversion program | |
CN109104275A (en) | A kind of HSM equipment | |
JP2011250020A (en) | Information processing apparatus, image forming apparatus, and information processing method | |
JP4791741B2 (en) | Data processing apparatus and data processing method | |
JP2006239928A (en) | Image forming apparatus | |
US20160065789A1 (en) | Image processing method, image forming method, image processing apparatus, and image forming apparatus | |
JP5481354B2 (en) | Information processing device | |
US20110037992A1 (en) | Image forming apparatus, image forming method, and system | |
JP4292088B2 (en) | Image processing device | |
JP2013074378A (en) | Image processing apparatus | |
US20070127070A1 (en) | Image forming apparatus | |
JP2010219883A (en) | Image forming apparatus, and image forming method | |
JP2007004682A (en) | Image processing system, image processing device and image processing method | |
JP2009140104A (en) | Image forming apparatus | |
CN107734210B (en) | Image processing apparatus, image forming apparatus, and image processing method | |
JP5369411B2 (en) | Image forming apparatus, image forming system, and data storage control processing program | |
JP5337890B2 (en) | Image forming apparatus | |
JP2008117330A (en) | Information processing system and information processing method | |
JP2009037173A (en) | Data processing apparatus |