JP2007336446A - データ暗号化装置 - Google Patents

データ暗号化装置 Download PDF

Info

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
Application number
JP2006168822A
Other languages
English (en)
Inventor
Nobuaki Miyahara
宣明 宮原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006168822A priority Critical patent/JP2007336446A/ja
Publication of JP2007336446A publication Critical patent/JP2007336446A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】暗号化において、記憶装置のLBAを使用して初期ベクトルを生成することにより、記憶容量を消費せずに初期ベクトルを可変となり、暗号強度の強いデータ暗号化装置を提供する。
【解決手段】初期ベクトルにハードディスクのLBA(Logical Block Address)を使用して、初期ベクトルを可変にすることで暗号強度を向上させ、暗号強度の強いデータ暗号化装置を提供する。
【選択図】図1

Description

本発明は、ホスト装置とハードディスクなどの記憶装置の間に接続され、記憶装置に記憶されるデータの暗号化及び復号と、ホスト装置の識別を行うデータ暗号化装置の初期ベクトル生成方法に関するものである。
近年、ハードディスク等の大容量記憶装置がパーソナルコンピュータだけではなく、カーナビゲーション、複写機、プリンタ、テレビ録画装置等様々なものに搭載されるようになった。使用用途によっては、この記憶装置に記憶される情報は機密データである場合があり、記憶装置に記憶するときにデータを暗号化して書き込む暗号ボードのオプションが設定されている製品も存在する。この暗号ボードは暗号鍵の管理も暗号ボード内で行っている場合があり、記憶装置とセットで取り外された場合でも記憶装置内のデータを守らなければならないことから、ホスト装置を識別し、正しいホスト以外では記憶装置内のデータを読み出すことができない暗号ボードも存在する。
一方、暗号技術としては、暗号強度を上げるために、単に平文ブロックを暗号化するだけでなく、1つ前に暗号化したブロックとこれから暗号化する平文ブロックをXOR演算し、その結果を暗号化することにより、ブロック間に連鎖を発生させ、局所的なブロック単位での暗号解読を困難にさせる暗号モードが一般的に使用される。
又、従来例としては、例えば特許文献1をあげることが出来る。
特開2005-175605号公報
上述した暗号モードは、単に暗号化する場合と比較すると暗号強度があると考えられるが、最初の平文ブロックには前ブロックがないため、代わりに初期ベクトル(IV:Initial Vector)というデータを必要とする。この初期ベクトル(IV)はどんな値でもかまわないが、固定値とした場合、暗号化する単位の先頭ブロックに同じデータがあったり、パターンが存在したりした場合、暗号化後も同じデータや同じパターンとなってしまい、暗号強度が下がるという問題があった。
また、この初期ベクトル(IV)は復号時も使用するため、暗号化する度に値を変えた場合、その値を復号時のために保持しておく必要があった。
本発明は、上記従来例の問題点に鑑みてなされたものであり、その目的とするところは、暗号化において、記憶容量を消費せずに初期ベクトルを可変にすることで暗号強度の強いデータ暗号化装置を提供することである。
以上のように本発明によれば、暗号化において、記憶装置のLBAを使用して初期ベクトルを生成することにより、記憶容量を消費せずに初期ベクトルを可変となり、暗号強度の強いデータ暗号化装置を提供することができる。
以下、本発明の実施例について、図面を参照しながら説明する。
図1は、本実施例におけるデータ暗号化装置の物理構成を示した図である。
101は、データ暗号化装置であり、ホスト装置102と記憶装置103の間にブリッジとして接続され、ホスト装置102からのデータを暗号化して記憶装置103に書き込み、記憶装置103からデータを読み出して復号してホスト装置に渡す役割を果たす。ホスト装置102は、特に限定はないが、本実施例においては記憶装置103をハードディスクと想定しており、ハードディスクを備えるコンピュータ、コピー機やプリンタ、録画装置等が考えられる。もちろん、記憶装置はハードディスクでなくともかまわない。
データ暗号化装置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でなくともかまわない。
データ暗号化装置101は、ホストI/FとデバイスI/Fの他に、CPU106、ワークメモリ107、不揮発性メモリ108、暗号処理エンジン109で構成される。CPU106は、不揮発性メモリ108からワークメモリ107に読み出し、各種の処理を実行する。ワークメモリ107は電源供給が停止すると保持したデータが消滅するが、不揮発性メモリ108は電源供給が停止されても記憶されたデータを維持する。従って、不揮発性メモリ108には、暗号化/復号に必要な暗号鍵、ホスト識別に必要な識別IDなども保存される。
暗号処理エンジン109は、ホスト装置102から受け取ったデータを暗号化し、記憶装置103から読み出したデータを復号する。本実施例においてはパフォーマンス向上のために暗号処理エンジン109をハードウェアで構成しているが、もちろんソフトウェアで構成してもかまわない。また、暗号アルゴリズムは特に指定していないが、本発明が初期ベクトル(IV)の作成方法の発明であるため、暗号モードは初期ベクトル(IV)を必要とするものに限定される。初期ベクトル(IV:Initial Vector)が必要な暗号モードとしては、例えばCBC(Cipher Block Chaining)方式などがある。
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に格納する。
図2は、CBC方式の暗号モードによる暗号化処理を説明した図である。
CBC方式は、1つ前に暗号化したブロックとこれから暗号化する平文ブロックをXOR演算し、その結果を暗号化することにより、ブロック間に連鎖を発生させ、局所的なブロック単位での暗号解読を困難にさせる暗号モードである。但し、最初の平文ブロックに関しては1つ前のブロックが存在しないことから、1つ前のブロックの代わりに初期ベクトル(IV)というデータを必要とする。
図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演算し、その結果を暗号化するという処理を繰り返すことにより、全平文データを暗号化する。
図3は、本実施例におけるデータ暗号化装置101の有している代表的な論理機能を示した図である。
ホスト識別手段301は、データ暗号化装置101の設置時にホスト装置102から識別IDを受け取り、その識別IDを不揮発性メモリ108に格納しておき、電源投入の度に識別IDを使用してホスト装置102を識別する。これは、データ暗号化装置101と記憶装置103がセットで盗まれた場合に、異なるホスト装置でデータの復号を行うことを防止するための処理を行う。
暗号化・復号手段302は、暗号処理エンジン109を使用して、図2に示したCBC方式によりホスト装置102からのデータを暗号化し、記憶装置103から読み出したデータを復号する処理を行う。本実施例においては、暗号化・復号は記憶装置103のセクタ単位で行われる。
IV生成手段303は、暗号化・復号手段302で暗号化・復号を行うために必要な初期ベクトル(IV)の生成を行う。生成方法は図5に示すが、本実施例において、IV生成に記憶装置103のLBA(Logical Block Address)を使用する。暗号化・復号手段302において、暗号化・復号は記憶装置103のセクタ単位に行われるため、IV生成も記憶装置103のセクタ単位の暗号化・復号が行われる度に動作する。
鍵管理手段304は、暗号化・復号手段302で暗号化・復号を行うために必要な暗号鍵の生成、管理、消去等を行う。本実施例においては、データ暗号化装置101の設置時にホスト装置102から識別IDを受け取り、その識別IDに所定の演算を行うことで暗号鍵を作成し、不揮発性メモリ108に格納して保持する。鍵管理手段304は、電源投入時に不揮発性メモリ108から暗号鍵をワークメモリ107に読み出し、暗号化・復号手段302はワークメモリ107に読み出された暗号鍵を使用して暗号化・復号を行う。
図4は、本実施例におけるLBA設定の流れを示した図である。
ホスト装置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)生成に使用する。
図5は、本実施例における初期ベクトル(IV)の生成方法を示した図である。
初期ベクトル(IV)はどのようなデータでもかまわないが、初期ベクトル(IV)を固定値とした場合、同じ値のデータを暗号化すると暗号結果が同じになってしまうため、暗号強度が下がってしまう。従って、本実施例においては、初期ベクトル(IV)が様々な値になるようにする。
本実施例において、IV生成手段303は、ホスト装置102からのアクセス時にレジスタ110にセットされたLBA501と、不揮発性メモリ108に格納されている識別ID502に対し、503で演算を施し、初期ベクトル(IV)504を生成する。503で行う演算は、例えば固定データを付加することでLBA501と識別ID502のデータサイズを合わせ、XOR演算を行い、ハッシュ値をとったり、それをシードに乱数生成を行ったりした結果から、初期ベクトル(IV)として必要なサイズのデータを生成する。
本実施例におけるデータ暗号化装置の物理構成を示した図である。 CBC方式の暗号モードによる暗号化処理を説明した図である。 本実施例におけるデータ暗号化装置の有している代表的な論理機能を示した図である。 本実施例におけるLBA設定の流れを示した図である。 本実施例における初期ベクトル(IV)の生成方法を示した図である。

Claims (4)

  1. ホスト装置と記憶装置の間に接続され、前記ホスト装置から前記記憶装置に書き込むデータを暗号化する暗号化手段、前記ホスト装置が前記記憶装置から読み出すデータを復号する復号手段、前記ホスト装置を識別して正しいホスト装置でのみ動作することを保証するホスト識別手段を有するデータ暗号化装置において、データの暗号化及び復号に使用する初期ベクトルを所定の情報を使用して生成する初期ベクトル生成手段を有することを特徴とするデータ暗号化装置。
  2. 前記初期ベクトルの生成に使用する所定の情報は、前記記憶装置の位置を示すLBA(Logical Block Address)であることを特徴とする請求項1のデータ暗号化装置。
  3. 前記ホスト識別手段が前記ホスト装置を識別するために使用する情報は、前記データ暗号化装置が前記ホスト装置と初めて接続されたときに前記ホスト装置から受け取った識別IDであることを特徴とする請求項1のデータ暗号化装置。
  4. 前記初期ベクトルの生成に使用する所定の情報は、前記記憶装置の位置を示すLBAと、前記データ暗号化装置が前記ホスト装置と初めて接続されたときに前記ホスト装置から受け取った識別IDの両方であることを特徴とする請求項1のデータ暗号化装置。
JP2006168822A 2006-06-19 2006-06-19 データ暗号化装置 Withdrawn JP2007336446A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006168822A JP2007336446A (ja) 2006-06-19 2006-06-19 データ暗号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006168822A JP2007336446A (ja) 2006-06-19 2006-06-19 データ暗号化装置

Publications (1)

Publication Number Publication Date
JP2007336446A true JP2007336446A (ja) 2007-12-27

Family

ID=38935461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006168822A Withdrawn JP2007336446A (ja) 2006-06-19 2006-06-19 データ暗号化装置

Country Status (1)

Country Link
JP (1) JP2007336446A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419447A (zh) * 2011-08-26 2012-04-18 深圳市索菱实业股份有限公司 多功能汽车导航仪
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 (ja) * 2011-08-05 2016-11-04 アップル インコーポレイテッド ワイヤレスデータ保護のためのシステム及び方法
US10038556B2 (en) 2015-03-24 2018-07-31 Canon Kabushiki Kaisha Information processing apparatus, encryption apparatus, and control method

Cited By (6)

* Cited by examiner, † Cited by third party
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 (ja) * 2011-08-05 2016-11-04 アップル インコーポレイテッド ワイヤレスデータ保護のためのシステム及び方法
CN102419447A (zh) * 2011-08-26 2012-04-18 深圳市索菱实业股份有限公司 多功能汽车导航仪
WO2014172124A1 (en) * 2013-04-16 2014-10-23 Qualcomm Incorporated Storage device assisted inline encryption and decryption
JP2016517241A (ja) * 2013-04-16 2016-06-09 クアルコム,インコーポレイテッド ストレージデバイスによって支援されるインライン暗号化および暗号化解除
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 (ja) プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
US20040172538A1 (en) Information processing with data storage
JP2020535693A (ja) 記憶データ暗号化/復号化装置及び方法
JPH11272561A (ja) 記憶媒体のデータ保護方法、その装置及びその記憶媒体
JP2003198534A (ja) データ暗号化装置及びその方法
JPH09134311A (ja) 機密保護システム
JP2008085986A (ja) データ変換装置と電子装置とデータ変換方法
CN109522758B (zh) 硬盘数据管理方法及硬盘
JP4596538B2 (ja) 情報処理装置、記録媒体、およびプログラム
KR101496975B1 (ko) 고체 상태 디스크 및 이에 대한 입출력방법
CN114785503B (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
JP2007336446A (ja) データ暗号化装置
US20100241870A1 (en) Control device, storage device, data leakage preventing method
JP5532198B2 (ja) 電子デバイスにおけるセキュリティ・フィーチャー
US20100138670A1 (en) Storage apparatus and data writing method
CN102004880B (zh) 一种适用于嵌入式***的数据保护单元
JP2019121955A (ja) 半導体装置及び暗号鍵の生成方法
JP4738546B2 (ja) データ漏洩防止システムおよびデータ漏洩防止方法
JP2005172866A (ja) 暗号化/復号化システム
JP7063628B2 (ja) 暗号化装置、暗号化方法およびプログラム
US20240176638A1 (en) Register protection for confidential computing environment
JP2008252290A (ja) 画像処理装置および画像処理装置のプログラム処理方法

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