JP2007336446A - Data encryption apparatus - Google Patents
Data encryption apparatus Download PDFInfo
- Publication number
- JP2007336446A JP2007336446A JP2006168822A JP2006168822A JP2007336446A JP 2007336446 A JP2007336446 A JP 2007336446A JP 2006168822 A JP2006168822 A JP 2006168822A JP 2006168822 A JP2006168822 A JP 2006168822A JP 2007336446 A JP2007336446 A JP 2007336446A
- Authority
- JP
- Japan
- Prior art keywords
- data
- encryption
- host
- data encryption
- storage device
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、ホスト装置とハードディスクなどの記憶装置の間に接続され、記憶装置に記憶されるデータの暗号化及び復号と、ホスト装置の識別を行うデータ暗号化装置の初期ベクトル生成方法に関するものである。 The present invention relates to a method for generating an initial vector of a data encryption device that is connected between a host device and a storage device such as a hard disk and performs encryption and decryption of data stored in the storage device and identification of the host device. is there.
近年、ハードディスク等の大容量記憶装置がパーソナルコンピュータだけではなく、カーナビゲーション、複写機、プリンタ、テレビ録画装置等様々なものに搭載されるようになった。使用用途によっては、この記憶装置に記憶される情報は機密データである場合があり、記憶装置に記憶するときにデータを暗号化して書き込む暗号ボードのオプションが設定されている製品も存在する。この暗号ボードは暗号鍵の管理も暗号ボード内で行っている場合があり、記憶装置とセットで取り外された場合でも記憶装置内のデータを守らなければならないことから、ホスト装置を識別し、正しいホスト以外では記憶装置内のデータを読み出すことができない暗号ボードも存在する。 In recent years, large-capacity storage devices such as hard disks have been installed not only in personal computers but also in various devices such as car navigation systems, copying machines, printers, and television recording devices. Depending on the intended use, the information stored in the storage device may be confidential data, and there is a product in which an encryption board option is set in which data is encrypted when stored in the storage device. This encryption board may also manage encryption keys in the encryption board, and even if it is removed as a set with the storage device, the data in the storage device must be protected. There are also encryption boards that cannot read data in the storage device other than the host.
一方、暗号技術としては、暗号強度を上げるために、単に平文ブロックを暗号化するだけでなく、1つ前に暗号化したブロックとこれから暗号化する平文ブロックをXOR演算し、その結果を暗号化することにより、ブロック間に連鎖を発生させ、局所的なブロック単位での暗号解読を困難にさせる暗号モードが一般的に使用される。 On the other hand, as an encryption technology, in order to increase the encryption strength, the plaintext block is not simply encrypted, but the previous encrypted block and the plaintext block to be encrypted are XORed and the result is encrypted. Thus, a cipher mode is generally used in which a chain is generated between the blocks and it becomes difficult to perform decryption in units of local blocks.
又、従来例としては、例えば特許文献1をあげることが出来る。
上述した暗号モードは、単に暗号化する場合と比較すると暗号強度があると考えられるが、最初の平文ブロックには前ブロックがないため、代わりに初期ベクトル(IV:Initial Vector)というデータを必要とする。この初期ベクトル(IV)はどんな値でもかまわないが、固定値とした場合、暗号化する単位の先頭ブロックに同じデータがあったり、パターンが存在したりした場合、暗号化後も同じデータや同じパターンとなってしまい、暗号強度が下がるという問題があった。 The cipher mode described above is considered to have cipher strength compared to the case of simply encrypting, but the first plaintext block does not have a previous block, so it requires data called an initial vector (IV) instead. To do. This initial vector (IV) can be any value, but if it is a fixed value, the same data or the same data after encryption will be used if there is the same data or pattern in the first block of the unit to be encrypted. There was a problem that the encryption strength was lowered due to the pattern.
また、この初期ベクトル(IV)は復号時も使用するため、暗号化する度に値を変えた場合、その値を復号時のために保持しておく必要があった。 Further, since the initial vector (IV) is also used at the time of decryption, if the value is changed every time it is encrypted, it is necessary to retain the value for the time of decryption.
本発明は、上記従来例の問題点に鑑みてなされたものであり、その目的とするところは、暗号化において、記憶容量を消費せずに初期ベクトルを可変にすることで暗号強度の強いデータ暗号化装置を提供することである。 The present invention has been made in view of the above-described problems of the conventional example. The object of the present invention is to provide data with high encryption strength by making the initial vector variable without consuming storage capacity in encryption. It is to provide an encryption device.
以上のように本発明によれば、暗号化において、記憶装置のLBAを使用して初期ベクトルを生成することにより、記憶容量を消費せずに初期ベクトルを可変となり、暗号強度の強いデータ暗号化装置を提供することができる。 As described above, according to the present invention, in the encryption, the initial vector is generated using the LBA of the storage device, so that the initial vector can be changed without consuming the storage capacity, and the data encryption having a strong encryption strength can be performed. An apparatus can be provided.
以下、本発明の実施例について、図面を参照しながら説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本実施例におけるデータ暗号化装置の物理構成を示した図である。 FIG. 1 is a diagram illustrating a physical configuration of a data encryption device according to the present embodiment.
101は、データ暗号化装置であり、ホスト装置102と記憶装置103の間にブリッジとして接続され、ホスト装置102からのデータを暗号化して記憶装置103に書き込み、記憶装置103からデータを読み出して復号してホスト装置に渡す役割を果たす。ホスト装置102は、特に限定はないが、本実施例においては記憶装置103をハードディスクと想定しており、ハードディスクを備えるコンピュータ、コピー機やプリンタ、録画装置等が考えられる。もちろん、記憶装置はハードディスクでなくともかまわない。
A
データ暗号化装置101は、ホスト装置102と記憶装置103の間にブリッジ接続されるため、ホスト装置との接続用I/FであるホストI/F104と、記憶装置103との接続用I/FであるデバイスI/F105を備える。ホストI/F104とデバイスI/F105は、例えばIDEのような汎用I/Fが想定され、通常はホスト装置102と記憶装置103が直接接続されるのであるが、その間にデータ暗号化装置101をブリッジ接続することにより、ホスト装置102からはデータ暗号化装置101をほとんど意識する必要なく記憶装置103にアクセスすると自動的にデータの暗号化/復号が行われる構成である。もちろんホストI/FとデバイスI/FはIDEのI/Fでなくともかまわない。
Since the
データ暗号化装置101は、ホストI/FとデバイスI/Fの他に、CPU106、ワークメモリ107、不揮発性メモリ108、暗号処理エンジン109で構成される。CPU106は、不揮発性メモリ108からワークメモリ107に読み出し、各種の処理を実行する。ワークメモリ107は電源供給が停止すると保持したデータが消滅するが、不揮発性メモリ108は電源供給が停止されても記憶されたデータを維持する。従って、不揮発性メモリ108には、暗号化/復号に必要な暗号鍵、ホスト識別に必要な識別IDなども保存される。
The
暗号処理エンジン109は、ホスト装置102から受け取ったデータを暗号化し、記憶装置103から読み出したデータを復号する。本実施例においてはパフォーマンス向上のために暗号処理エンジン109をハードウェアで構成しているが、もちろんソフトウェアで構成してもかまわない。また、暗号アルゴリズムは特に指定していないが、本発明が初期ベクトル(IV)の作成方法の発明であるため、暗号モードは初期ベクトル(IV)を必要とするものに限定される。初期ベクトル(IV:Initial Vector)が必要な暗号モードとしては、例えばCBC(Cipher Block Chaining)方式などがある。
The
110、111はレジスタである。レジスタ111は記憶装置103へアクセスするために使用され、記憶装置103へのコマンドやLBA(Logical Block Address)などがセットされる。レジスタ110はホスト装置102からあたかも記憶装置103へ直接アクセスしているように構成するためにデータ暗号化装置101に用意されているレジスタであり、レジスタ111と同等のアクセスを許可する。もちろん記憶装置103へのアクセスで定義されていない用途として、レジスタ110をホスト装置102とデータ暗号化装置101の間で使用してもかまわない。本実施例においては、ホスト装置を識別するための識別IDを受け渡す場合に独自のコマンドをホスト装置102とデータ暗号化装置101間で定義し、データ暗号化装置101設置時にホスト装置102からデータ暗号化装置101に識別IDを渡し、ホスト装置102は受け取った識別IDを不揮発性メモリ108に格納する。
110 and 111 are registers. The
図2は、CBC方式の暗号モードによる暗号化処理を説明した図である。 FIG. 2 is a diagram for explaining encryption processing in the CBC encryption mode.
CBC方式は、1つ前に暗号化したブロックとこれから暗号化する平文ブロックをXOR演算し、その結果を暗号化することにより、ブロック間に連鎖を発生させ、局所的なブロック単位での暗号解読を困難にさせる暗号モードである。但し、最初の平文ブロックに関しては1つ前のブロックが存在しないことから、1つ前のブロックの代わりに初期ベクトル(IV)というデータを必要とする。 The CBC method performs an XOR operation on the previous encrypted block and the plaintext block to be encrypted, and encrypts the result, thereby creating a chain between the blocks and decrypting in units of local blocks. It is a cryptographic mode that makes it difficult to However, since there is no previous block for the first plaintext block, data called an initial vector (IV) is required instead of the previous block.
図2において、201は初期ベクトル(IV)、202〜204は平文ブロックデータ、205〜207はXOR演算処理、208〜210は暗号化処理、211〜213は暗号化されたブロックデータである。平文ブロック202は先頭平文ブロックであるため、このブロックを暗号化するために初期ベクトル(IV)を必要とする。まず、IV201と先頭平文ブロック202を205でXOR演算処理を施し、その結果を208で暗号化する。そして出力された結果である暗号ブロック211と次の平文ブロック203を206でXOR演算処理を施し、その結果を209で暗号化することで、次の暗号ブロック212を得る。以降、前の暗号ブロックと次の平文ブロックをXOR演算し、その結果を暗号化するという処理を繰り返すことにより、全平文データを暗号化する。
In FIG. 2, 201 is an initial vector (IV), 202 to 204 are plaintext block data, 205 to 207 are XOR operation processes, 208 to 210 are encryption processes, and 211 to 213 are encrypted block data. Since the
図3は、本実施例におけるデータ暗号化装置101の有している代表的な論理機能を示した図である。
FIG. 3 is a diagram illustrating typical logical functions of the
ホスト識別手段301は、データ暗号化装置101の設置時にホスト装置102から識別IDを受け取り、その識別IDを不揮発性メモリ108に格納しておき、電源投入の度に識別IDを使用してホスト装置102を識別する。これは、データ暗号化装置101と記憶装置103がセットで盗まれた場合に、異なるホスト装置でデータの復号を行うことを防止するための処理を行う。
The
暗号化・復号手段302は、暗号処理エンジン109を使用して、図2に示したCBC方式によりホスト装置102からのデータを暗号化し、記憶装置103から読み出したデータを復号する処理を行う。本実施例においては、暗号化・復号は記憶装置103のセクタ単位で行われる。
The encryption / decryption means 302 uses the
IV生成手段303は、暗号化・復号手段302で暗号化・復号を行うために必要な初期ベクトル(IV)の生成を行う。生成方法は図5に示すが、本実施例において、IV生成に記憶装置103のLBA(Logical Block Address)を使用する。暗号化・復号手段302において、暗号化・復号は記憶装置103のセクタ単位に行われるため、IV生成も記憶装置103のセクタ単位の暗号化・復号が行われる度に動作する。
The IV
鍵管理手段304は、暗号化・復号手段302で暗号化・復号を行うために必要な暗号鍵の生成、管理、消去等を行う。本実施例においては、データ暗号化装置101の設置時にホスト装置102から識別IDを受け取り、その識別IDに所定の演算を行うことで暗号鍵を作成し、不揮発性メモリ108に格納して保持する。鍵管理手段304は、電源投入時に不揮発性メモリ108から暗号鍵をワークメモリ107に読み出し、暗号化・復号手段302はワークメモリ107に読み出された暗号鍵を使用して暗号化・復号を行う。
The
図4は、本実施例におけるLBA設定の流れを示した図である。 FIG. 4 is a diagram showing the flow of LBA setting in this embodiment.
ホスト装置102が記憶装置103にデータ書き込みを行う場合と、ホスト装置102が記憶装置103からデータを読み出す場合に、ホスト装置102はデータ暗号化装置101のホストI/F104にアクセスし、書き込み位置乃至は読み出すデータ位置を示すLBAをセットする。本実施例においては、LBAはデータ暗号化装置101のレジスタ110にセットされると同時に、記憶装置103のレジスタ111にもセットされる構成となっている。さらにレジスタ110にデータがセットされるとCPU106に割り込み403が入り、CPU106はIV生成手段303により、レジスタ110にセットされたLBAを使用して初期ベクトル(IV)を生成し、暗号化・復号手段302を動作させる。暗号化は記憶装置103のセクタ単位で行われるため、連続セクタにデータを書き込む場合はLBAを自動的にインクリメントすることで更新して初期ベクトル(IV)生成に使用する。
When the
図5は、本実施例における初期ベクトル(IV)の生成方法を示した図である。 FIG. 5 is a diagram showing a method of generating the initial vector (IV) in the present embodiment.
初期ベクトル(IV)はどのようなデータでもかまわないが、初期ベクトル(IV)を固定値とした場合、同じ値のデータを暗号化すると暗号結果が同じになってしまうため、暗号強度が下がってしまう。従って、本実施例においては、初期ベクトル(IV)が様々な値になるようにする。 The initial vector (IV) can be any data, but if the initial vector (IV) is a fixed value, the encryption result will be the same if the same value data is encrypted. End up. Therefore, in this embodiment, the initial vector (IV) is set to various values.
本実施例において、IV生成手段303は、ホスト装置102からのアクセス時にレジスタ110にセットされたLBA501と、不揮発性メモリ108に格納されている識別ID502に対し、503で演算を施し、初期ベクトル(IV)504を生成する。503で行う演算は、例えば固定データを付加することでLBA501と識別ID502のデータサイズを合わせ、XOR演算を行い、ハッシュ値をとったり、それをシードに乱数生成を行ったりした結果から、初期ベクトル(IV)として必要なサイズのデータを生成する。
In the present embodiment, the
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006168822A JP2007336446A (en) | 2006-06-19 | 2006-06-19 | Data encryption apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006168822A JP2007336446A (en) | 2006-06-19 | 2006-06-19 | Data encryption apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007336446A true JP2007336446A (en) | 2007-12-27 |
Family
ID=38935461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006168822A Withdrawn JP2007336446A (en) | 2006-06-19 | 2006-06-19 | Data encryption apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007336446A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419447A (en) * | 2011-08-26 | 2012-04-18 | 深圳市索菱实业股份有限公司 | Multifunctional automobile navigator |
WO2014172124A1 (en) * | 2013-04-16 | 2014-10-23 | Qualcomm Incorporated | Storage device assisted inline encryption and decryption |
US8886956B2 (en) | 2009-09-22 | 2014-11-11 | Samsung Electronics Co., Ltd. | Data storage apparatus having cryption and method thereof |
JP2016189626A (en) * | 2011-08-05 | 2016-11-04 | アップル インコーポレイテッド | System and method for wireless data protection |
US10038556B2 (en) | 2015-03-24 | 2018-07-31 | Canon Kabushiki Kaisha | Information processing apparatus, encryption apparatus, and control method |
-
2006
- 2006-06-19 JP JP2006168822A patent/JP2007336446A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886956B2 (en) | 2009-09-22 | 2014-11-11 | Samsung Electronics Co., Ltd. | Data storage apparatus having cryption and method thereof |
JP2016189626A (en) * | 2011-08-05 | 2016-11-04 | アップル インコーポレイテッド | System and method for wireless data protection |
CN102419447A (en) * | 2011-08-26 | 2012-04-18 | 深圳市索菱实业股份有限公司 | Multifunctional automobile navigator |
WO2014172124A1 (en) * | 2013-04-16 | 2014-10-23 | Qualcomm Incorporated | Storage device assisted inline encryption and decryption |
JP2016517241A (en) * | 2013-04-16 | 2016-06-09 | クアルコム,インコーポレイテッド | Inline encryption and decryption supported by storage devices |
US10038556B2 (en) | 2015-03-24 | 2018-07-31 | Canon Kabushiki Kaisha | Information processing apparatus, encryption apparatus, and control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7428306B2 (en) | Encryption apparatus and method for providing an encrypted file system | |
EP3355232B1 (en) | Input/output data encryption | |
JP4551802B2 (en) | Processor, memory, computer system, and data transfer method | |
CN102138300B (en) | Message authentication code pre-computation with applications to secure memory | |
US20040172538A1 (en) | Information processing with data storage | |
JP2020535693A (en) | Storage data encryption / decryption device and method | |
JPH11272561A (en) | Data protection method for storage medium device for the same and storage medium therefor | |
JP2003198534A (en) | Apparatus for encrypting data and method thereof | |
JPH09134311A (en) | Secrecy protection system | |
JP2008085986A (en) | Data conversion unit, electronic apparatus, and data conversion method | |
CN109522758B (en) | Hard disk data management method and hard disk | |
JP4596538B2 (en) | Information processing apparatus, recording medium, and program | |
CN114785503B (en) | Cipher card, root key protection method thereof and computer readable storage medium | |
KR101496975B1 (en) | Solid-state-disk and input/output method thereof | |
JP2007336446A (en) | Data encryption apparatus | |
US20100241870A1 (en) | Control device, storage device, data leakage preventing method | |
JP5532198B2 (en) | Security features in electronic devices | |
US20100138670A1 (en) | Storage apparatus and data writing method | |
CN102004880B (en) | Data protection unit applicable to embedded system | |
JP2019121955A (en) | Semiconductor device and generating method of encryption key | |
JP2005172866A (en) | Encryption/decryption system | |
JP7063628B2 (en) | Cryptographic devices, encryption methods and programs | |
US20240176638A1 (en) | Register protection for confidential computing environment | |
JP2011066926A (en) | System and method for preventing leakage of data | |
JP2008252290A (en) | Image processor and program processing method of same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090901 |