説明

記憶システムにおける暗号化キー

【課題】物理的攻撃をキーが受けやすくない安全なデータ記憶装置を得る。
【解決手段】記憶装置は、記憶媒体、キー発生器およびコントローラを有する。キー発生器は、記憶装置内のプログラム・コードの選択されたビットから暗号化/復号化キーを発生する。コントローラは、記憶媒体へのアクセスを制御して、記憶媒体へ書き込みまたはそこから読み取るデータを暗号化し、復号化するための暗号化/復号化キーを付与する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般にデータ記憶装置に関し、また特に非揮発(不揮発)性キー記憶メモリ(non−volatile key storage memory)を有するデータ記憶システム上の暗号化キー/復号化キー(encryption/decryption keys)に関するが、これに限定されない。
【背景技術】
【0002】
データ記憶装置は典型的に、ユーザおよびその他のデータを記憶する記憶媒体を供給する。不正なアクセスからそうしたデータを保護するのが望ましい場合、(典型的に付加コンピュータ・システム内の)ソフトウェア・アプリケーションが暗号化を遂行して、暗号化されたデータをデータ記憶装置へ渡して記憶させる。最近、強化セキュリティ記憶システムが導入されたが、これは暗号化/復号化作業の少なくとも一部分を記憶装置内で遂行する。しばしばそうしたシステムは、電気的消去可能プログラム可能読取専用メモリ(EEPROM)などの記憶装置内の非揮発性メモリに記憶された暗号化/復号化キーを採用する。
【0003】
あいにく、そうした非揮発性メモリに内蔵されている(または、たとえばリモート・サーバに記憶されている)暗号化キーを採用したデータ記憶装置は、物理的攻撃を受けやすい。たとえば、暗号化/復号化キーは、付加コンピュータ・システムとデータ記憶装置の間のメッセージを傍受し、分析することにより発見できる。代わりにこのキーは、物理的に記憶装置を開いて記憶装置自体を探査(プロービング)することによっても発見できる。記憶装置のハウジングが開かれた場合に消去される暗号化キーをメモリ内に記憶することにより、後者のセキュリティ・ホールに対応する試みがいくつかの従来のアプリケーションにより行われてきた。しかしながら、そうしたセキュリティ対策が存在することが知られている場合は、このセキュリティ機能を迂回して、それにより保護措置を阻止することが可能である。
【発明の開示】
【発明が解決しようとする課題】
【0004】
したがって、物理的攻撃をキーが受けやすくない安全なデータ記憶装置への現在の需要がある。本発明の諸実施例は、こうした問題および他の諸問題への解決を提供し、先行技術に勝る他の利点を供給する。
【課題を解決するための手段】
【0005】
記憶装置は、この記憶装置で使用する暗号化/復号化キーを、ダイナミックに発生する。この記憶装置は、記憶媒体、キー発生器およびコントローラを有する。キー発生器は、記憶装置内のプログラム・コードの選択されたビットから暗号化/復号化キーを発生する。コントローラは、記憶媒体へのアクセスを制御して、記憶媒体へ書き込まれまたはそこから読み出されるデータを暗号化および復号化するために暗号化/復号化キーを適用する。
【0006】
本発明の特徴をなすその他の機能と利点は、下記の詳細の説明を読みまた添付図面を参照することにより、明らかになる。
【実施例】
【0007】
第1図は、ディスク・ドライブ100の等角投影図であり、ディスク・ドライブ100は、例示的なデータ記憶装置である。ディスク・ドライブ100は、インターフェイス103を通じてホスト・システム101へ動作可能に結合されている。ディスク・ドライブ100は、ベース102およびトップ・カバー(図示なし)を有するハウジングを含む。ディスク・ドライブ100は、さらにディスク・パック106を含み、これはディスク・クランプ108によりスピンドル・モータ(図示なし)上に装着されている。ディスク・パック106は、複数の個別ディスクを含み、これらは中心軸109の周りに回転するように装着されている。各ディスク表面は、このディスク表面と連絡するためにディスク・ドライブ100上に装着された付属ディスク・ヘッド・スライダ110を有する。図1に示す例では、スライダ110はサスペンション112により支持され、サスペンション112はアクチュエータ116のトラック・アクセシング・アーム114に取り付けられている。図1に示すアクチュエータは、ロータリ・ムービング・コイル・アクチュエータとして知られるタイプのものであり、118で一般的に示すボイス・コイル・モータ(VCM)を含む。ボイス・コイル・モータ118は、その付属ヘッド110によりピボット・シャフト120の周りにアクチュエーター116を回転させて、ディスク内径124とディスク外径126の間の弓形パスに沿って希望するデータ・トラック上へヘッド110を位置決めする。ボイス・コイル・モータ118は、ヘッド110およびホスト・システム101により発生される信号に基づいて、サーボ電子機器130により駆動される。
【0008】
図2は、記憶システム200の簡単なブロック図である。システム200は、インターフェイス103を有する記憶装置100を含み、インターフェイス103を通じてユーザー入力201が受信される。記憶装置100は、コントローラ202、読み出し書き込み機構204および記憶媒体206を含む。一つの実施例において、コントローラ202は、図1に一般的に示した記憶装置100の回路130に含まれ得る。追加的に、読み出し書き込み機構204および記憶媒体206は、それぞれトランスデューサ・ヘッド110およびディスク106(図1に示す)に対応し得る。
【0009】
一つの実施例において、コントローラ202は、特定用途向けIC(ASIC)208の一部としてインプリメントされる。ASIC208は、プログラム・コード212を記憶するリード・オンリ・メモリ(ROM)210を含み、プログラム・コード212は、製造中にROM210へ設定または書き込まれる。プログラム・コード212は、たとえば、開始に際して記憶装置100によりアクセスされるブート・レベル・プログラム・コードを含む。プログラム・コード212は、一般に時間を通じて変化せずに残る。ASIC208はまたキー発生器214を含み、またオプションとして暗号化アルゴリズム216およびデバイス特定入力218を含む。
【0010】
キー発生器214は、ASIC208に含まれる情報に部分的に基づいて暗号化/復号化キーを生成する。たとえば、キー発生器214は、リーダ・ヘッド抵抗、ライタ・コイル抵抗、ドライブ・シリアルナンバーなどのデバイス特定入力218、またはASIC208内のコンパレータ・ビットのランダム出力を含む、他のデバイス特定情報に基づいて、暗号化/復号化キーを生成できる。暗号化/復号化キーは、後に議論するビット・マップに基づいて発生されることができる。コントローラ202は、暗号化アルゴリズム216および暗号化/復号化キーを使用して、ユーザ・データを暗号化する。暗号化されたユーザ・データは、それから読み出し書き込み機構214を介して、記憶媒体206へ書き込まれる。
【0011】
一般に、完全にASIC208内で暗号化/復号化キーを発生することにより、この暗号化/復号化キーは、プロービングにより確定できない。その上、このキーをダイナミックに発生できるので、発見されるべき、記憶されたキーが何もない。このキーのハッシュ値(hash value)は、たとえそれが回復された(recovered)としても暗号化/復号化キーを再現(recreate:再生)するのに使用できない。記憶装置へ入るデータはASIC208内で処理されるので、このキーは記憶装置100の外部の装置に暴露されたり明らかにされることはない。
【0012】
図3は、ビット・マップを生成するための処理の簡単なフローチャートである。図示のように、ドライブ特定パラメータ300は、ビット・マップ発生器302により処理されて、ビット・マップ304を生成する。たとえば、記憶装置のシリアル・ナンバーは、ビット・マップ302により処理されて、暗号化/復号化キーを構成するためのビット・マップを構成する。一つの実施例において、ビット・マップ発生器302は、ドライブ特定パラメータ300からいくつかのビットを選択するためのあるアルゴリズムを適用する。ドライブ特定パラメータ300は、デバイス・シリアルナンバーおよび/または読み取りヘッド抵抗、書き込みコイル抵抗などのデバイス特定パラメータを含む。代わりに、そうしたデバイス特定パラメータの組み合わせを使用することができる。
【0013】
図4は、暗号化/復号化キーを生成するために、ビット・マップを使用するための簡単なフローチャートである。ビット・マップ304は、たとえば記憶装置のリード・オンリ・メモリ内に記憶されたROMコード400に適用されて、暗号化キー/復号化キー402として使用できるROMコード400の或るビットを選択する。たとえばROMコード400の一部分は、排他的OR、NAND、ANDまたは他のそうした演算などの論理演算を使用して、ビット・マップ304に対して処理することができる。代替として、ROMコード400はビット・マップ304により連結されて、暗号化/復号化キー402を生成できる。ビット・マップ304およびROMコード400を使用して、暗号化/復号化キー402を導出する他の技法も使用できる。
【0014】
ビット・マップ304をROMコード400へ適用することの一つの利点は、その結果のビット・ストリングが完全に記憶装置内に生成され(produced entirely within the storage device)、好ましくは完全にASIC内に生成されることである(entirely within an ASIC)。この結果のビット・ストリングは暗号化/復号化キーであってよく、またはそれから特定の実施に応じて一つのキーへアセンブルされてもよい。ROMコード400の機密が保たれている限り、暗号化/復号化キーの秘密が保たれる。
【0015】
いくつかの従来のハードディスク・ドライブにおいては、しばしば高価な非揮発性メモリが使用されて、情報を暗号化または復号化するときに使用されるキーを維持している。あいにく、メモリは通常(プローブなどの)適当な器具を使用して、観察できる電子データ・パスにより、他の電子機器へメモリが取り付けられているのが普通であり、これによりキーが盗難にさらされる。その上、メモリは装置に対して固定的な製造コストを追加し、それは暗号化キーのように小さな使用頻度の低いものに基づいて正当化できるとは限らないものである。
【0016】
本発明の諸実施例は、この問題に対して簡単な解決を提供する。すなわち、結果としての暗号化/復号化キーが記憶装置によりダイナミックに生成されて、記憶装置自体(または一層詳しくはASIC208内自体の中)でしか知られない。ハードディスク・ドライブなどのコストが高くなりがちなアプリケーションに対して、本発明は最小限の追加コストによりセキュリティ機能をサポートすることを可能にする。詳しくは、シリアルナンバーのようなドライブ特定情報は、従来の装置内にすでに存在しており、それは、開始(startup)に際して記憶装置を動作させるのに必要なROMコードにおいてもしかりである。こうして、本発明による諸実施例は、安全なキーをダイナミックに発生する手段を提供し、それにより関連のセキュリティ強化を最小追加コストまたは努力により提供できる。
【0017】
図5は、特定用途向けIC208の拡張されたブロック図である。上述のように特定用途向けIC208は、コントローラ202、暗号化アルゴリズム216およびキー発生器214を含む。キー発生器214は、ROMベースのプログラム・コード500、ビット・セレクタ502、ビット・マップ発生器302、デバイス特定入力インターフェイス504、キー値ハッシュ(key value hash)・カルキュレータ506、コンパレータ508およびストアード・ハッシュド・キー値(stored hashed key value)510を含む。一般に、デバイス特定入力インターフェイス504は、ASIC特定ビット512、ドライブ・シリアルナンバー514、ライター・コイル抵抗518および/または読み取りヘッド抵抗516などの1つまたはそれ以上の入力を受信する。受信された入力は、デバイス特定入力インターフェイスにより処理されて、ビット・マップ発生器302へ渡され、ビット・マップ発生器302は、これら入力からビット・マップを発生する。ビット・セレクタ502がこのビット・マップを記憶装置内のROMベースのプログラム・コード500へ適用して、キー/ビット・シーケンス(key/bit sequence)を発生する。このキー・ビット・シーケンスは、キー値ハッシュ・カルキュレータ506により処理されてハッシュド・キー値を生成し、ハッシュド・キー値は、それからコンパレータ508により、記憶されたハッシュ・キー値510と比較される。この照合処理は、このハッシュド・キー値が暗号化キーの以前のハッシュド値に対応することを確認する。
【0018】
特に重要なのは、キーが時間を通じて変化しないことであり、それによりデータを記憶でき、またそれから希望によりコントローラ202でアクセスできることである。もしビット値が変化すると、記憶媒体上のデータがコントローラ202でアクセス不可能になるが、それは復号キーが紛失するかも知れないからである。結果として、コンパレータ508は新しく生成されたキー・ビット・シーケンスからのハッシュド・キー値について、そのキーをコントローラ202へ転送するのに先立って、記憶されたハッシュ値に対して比較する。
【0019】
図6は、暗号化/復号化キーを発生するプロセッサの簡単なフローチャートである。最初に、固有(unique)のドライブ特性および/または識別子が選択される(ステップ600)。この選択処理は製造者において起り、または記憶装置の最初の所有者により開始(startup)に際して影響される。たとえば製造者またはデバイス所有者は、どちらの装置特定パラメータまたはパラメータの組み合わせを使用して、暗号化/復号化キーを発生させるべきかを規定する。記憶装置は、固有のドライブ特性および/または識別子から、ビット・マップを導出する(ステップ602)。この導出されたビット・マップに基づいて、記憶装置内のROMベースのプログラム・コードから、ビット・シーケンスが抽出される(ステップ604)。最後に、コントローラで使用するために、暗号化/復号化キーがビット・シーケンスから発生される。
【0020】
上述のように、発生された暗号化/復号化をハッシング(hashing)し、またハッシュド・キー値を記憶されたハッシュ値に対して比較するなどの追加のステップを処理に付け加えて、それにより記憶装置内のコントローラにより使用される前にキーを照合(verify:確認)することができる。その上、ユーザ・キー、指紋または他のユーザ特定情報をキーに組み込んで、ユーザ特定アプリケーションのためにデータを暗号化することができる。一つの実施例において、たとえば指紋装置を使用して、抽出されたビット・シーケンスと連結可能な固有の指紋ベースのディジタル署名を発生させて、暗号化/復号化キーを生成することができる。その実施例において、記憶装置に記憶されたデータは、その指紋を有するユーザのみがアクセス可能である。
【0021】
本発明の諸実施例は、キーが電子ループ(electronic loop)または接続によりコントローラへ供給されるストアド・キー・システムを超える有利な点を供給する。そうした従来のシステムは、適当なワイヤ接続を盗聴することによってキーを特定するために、ハッキングされたり不正侵入して嗅ぎまわられる。完全に記憶装置内に記憶された情報からダイナミックにキーを発生させることにより、また特定用途向けIC内にこのキーを維持することにより、盗聴すべき露出したワイヤーが何も無くなる。結果として、遥かに安全な方法でコントローラによりキーがダイナミックに発生されて使用される。
【0022】
理解すべきは、本発明の種々な実施例の多数の特性と利点を、本発明の種々の実施例の構造と機能の詳細とともに上記の説明に示してきたが、この開示は単に例示的なものであって細部の変更が可能であり、添付の特許請求の範囲に表現される用語の広い一般的な意味により指示される完全な範囲にまで、本発明の諸原則の範囲内で、特に構造の問題と部品の配列に関して、変更が可能である。たとえば、本発明の範囲と精神から離れることなく、同一の機能性を実質的に維持しながら、キー発生システムのために、特定アプリケーションに応じて特定の要素が変化しうる。その上、本書に説明された好ましい実施例は、データ記憶装置によるデータの暗号化および復号化のためのダイナミックキー発生システムに向けられているが、本発明の教示は、キーの保護が望ましい暗号化/復号化キーを使用するあらゆるシステムに対して、本発明の範囲と精神から離れることなく応用できることが、当業者により理解される。
【図面の簡単な説明】
【0023】
【図1】ディスク・ドライブの等角投影図である。
【図2】記憶装置の簡単なブロック図である。
【図3】ビット・マップを生成する処理の簡単なフローチャートである。
【図4】図3のビット・マップを使用して、暗号化/復号化キーを生成する処理の簡単なフローチャートである。
【図5】記憶装置の拡張ブロック図である。
【図6】暗号化/復号化キーを発生する処理の簡単なフローチャートである。
【符号の説明】
【0024】
100 ディスク・ドライブ
101 ホスト・システム
102 ベース
103 インターフェイス
106 ディスク・パック
108 ディスク・クランプ
109 中心軸
110 スライダ、ヘッド
112 サスペンション
114 アクセシング・アーム
116 アクチュエータ
118 ボイス・コイル・モータ(VCM)
120 ピボット・シャフト
124 内径
126 外径
130 サーボ電子機器
200 記憶システム
202 コントローラ
204 読み出し書き込み機構
206 記憶媒体
208 特定用途向けIC(ASIC)
210 リード・オンリ・メモリ(ROM)
212 プログラム・コード
214 キー発生器
216 暗号化アルゴリズム
300 ドライブ特定パラメータ
302 ビット・マップ発生器
304 ビット・マップ
400 ROMコード
500 ROMベースのプログラム・コード
502 ビット・セレクタ
504 デバイス特定入力インターフェイス
506 キー値ハッシュ・カルキュレータ
508 コンパレータ
510 記憶されたハッシュ・キー値
512 ASIC特定ビット
514 ドライブ・シリアルナンバー
516 読み取りヘッド抵抗
518 ライター・コイル抵抗

【特許請求の範囲】
【請求項1】
記憶装置であって、
記憶媒体と、
前記記憶装置内のプログラム・コードの選択されたビットから暗号化/復号化キーを発生するようにされたキー発生器と、
前記記憶媒体へのアクセスを制御するように、また前記記憶媒体へ書き込みまたはそこから読み取るデータを暗号化し復号化する前記暗号化/復号化キーを適用するようにされたコントローラを含む前記記憶媒体。
【請求項2】
前記暗号化/復号化キーを使用して、データを暗号化および復号化するために前記コントローラにより使用される、前記記憶装置内の暗号化アルゴリズムをさらに含む請求項1記載の記憶装置。
【請求項3】
前記キー発生器および前記コントローラが、特定用途向けICの回路要素を含む請求項1記載の記憶装置。
【請求項4】
前記記憶装置の一つまたはそれ以上の構成要素(components)からデバイス特定入力を受信するようにされたデバイス特定入力インターフェイスであって、前記キー発生器が前記デバイス特定入力に基づいてプログラム・コードのビットを選択するようにされた前記デバイス特定入力インターフェースを、前記キー発生器が含む請求項1記載の記憶装置。
【請求項5】
前記デバイス特定入力からビット・マップを発生するようにされたビット・マップ発生器と、
前記ビット・マップに基づいてROMベースのプログラム・コードからビットを選択するようにされたビット・セレクタとを、
前記キー発生器が含む請求項4記載の記憶装置。
【請求項6】
前記暗号化/復号化キーに基づいてハッシュド・キー値を発生するようにされたキー値ハッシュ・カリキュレータと、
前記ハッシュド・キー値を記憶されたハッシュ値へ比較して、前記暗号化/復号化キーが以前に使用された暗号化/復号化キーと同一のものであるかどうかを判定するようにされたコンパレータとを、さらに含む請求項1記載の記憶装置。
【請求項7】
前記記憶装置内のキー発生器内に、前記記憶装置の一つまたはそれ以上の構成要素からデバイス特定入力を受信するステップと、
前記デバイス特定入力からビット・マップを導出するステップと、
前記ビット・マップに基づいて前記記憶装置内のROMベースのプログラムからビット・シーケンスを抽出するステップとを含む情報処理方法。
【請求項8】
前記ビット・シーケンスが一つの暗号化/復号化キーを含む請求項7記載の方法。
【請求項9】
前記ビット・シーケンスから一つの暗号化/復号化キーを発生するステップをさらに含む請求項7記載の方法。
【請求項10】
前記記憶装置のトランスデューサ・ヘッドからの抵抗情報を前記装置特定入力が含む請求項7記載の方法。
【請求項11】
前記記憶装置の固有のシリアルナンバーを前記デバイス特定入力が含む請求項7記載の方法。
【請求項12】
前記デバイス特定入力を暗号法により組み合わせて(cryptographically combining)、暗号化/復号化キーを形成するステップをさらに含む請求項7記載の方法。
【請求項13】
記憶媒体と、
キー発生器およびコントローラを含む集積回路であって、前記キー発生器が前記集積回路のROMベースのコードの選択されたビットに基づいて、暗号化/復号化キーを開始においてダイナミックに発生するようにされ、前記コントローラは、前記記憶媒体へのアクセスを制御して、前記暗号化/復号化キーを使用して前記記憶媒体へ書き込みまたそこから読み出すデータを暗号化し復号化するようにされた前記集積回路と、を含む前記記憶装置。
【請求項14】
前記記憶装置の一つまたはそれ以上の構成要素から入力を受信するようにされたデバイス特定入力インターフェイスと、
前記受信された入力に基づいてビット・マップを発生するようにされたビット・マップ発生器と、
前記ビット・マップに基づいてROMベースのプログラム・コードからビット・シーケンスを抽出するようにされたビット・セレクタと、
を前記キー発生器が含む請求項13記載の記憶装置。
【請求項15】
前記ビット・シーケンスが前記暗号化/復号化キーを含む請求項14記載の記憶装置。
【請求項16】
前記記憶装置のトランスデューサ・ヘッドの抵抗を前記受信された入力が含む請求項14記載の記憶装置。
【請求項17】
前記記憶装置の固有のシリアルナンバーを前記受信された入力が含む請求項14記載の記憶装置。
【請求項18】
前記暗号化/復号化キーが前記集積回路内でのみ知られる請求項13記載の記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−195190(P2007−195190A)
【公開日】平成19年8月2日(2007.8.2)
【国際特許分類】
【出願番号】特願2007−9761(P2007−9761)
【出願日】平成19年1月19日(2007.1.19)
【出願人】(500373758)シーゲイト テクノロジー エルエルシー (278)
【Fターム(参考)】