説明

データ記憶装置及びその暗号鍵の管理方法

【課題】データ記憶装置内において、安全にデータ用暗号鍵を管理する。
【解決手段】本発明の一実施形態において、データの暗復号を実施する暗号処理部234は、ホスト・インターフェース231とメモリ・マネージャ233との間に位置する。HDD1のホスト・インターフェース231を除く他の部分において、HDD1は、ユーザ・データを暗号化した状態で取り扱う。暗号処理部234がユーザ・データの暗復号化に使用するデータ用暗号鍵は、暗号化されて磁気ディスク11に格納されている。MPU235は、パスワードと乱数とを使用してデータ用暗号鍵を復号化し、暗号処理部234に供給する。外部からのパスワードとHDD1内の乱数を使用することで、より安全にデータ用暗号鍵を管理することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ記憶装置及びその暗号鍵の管理方法に関し、特に、メディアに記憶されているデータの暗号鍵を暗号化する方式に関する。
【背景技術】
【0002】
データ記憶を記憶するメディアとして、光ディスク、光磁気ディスク、磁気ディスクあるいは半導体メモリなどの様々な方式が知られている。これらメディアを使用してデータを記憶するデータ記憶装置において、メディアに保存されるユーザ・データを不正なアクセスから保護するため、そのユーザ・データを暗号化する技術が知られている。例えば、特許文献1は、磁気ディスクをメディアとして使用するハードディスク・ドライブ(HDD)において、磁気ディスクに記憶するデータを暗号化する技術の一例を開示している。
【0003】
具体的には、HDDはデータの暗号化と復号化とを行う暗号処理部を有している。この暗号処理部は、磁気ディスク装置内において、磁気ディスクに記録されるデータ、そして磁気ディスクから再生されるデータを、それぞれデータ転送速度で暗号化及び復号化する。このHDDは、ユーザ・データの暗復号化のためのデータ用暗号鍵を、個人識別情報(例えばパスワード)を暗号化することで生成する。
【0004】
更に、このHDDは、パスワードをデータ用暗号鍵で暗号化し、その暗号化したパスワードを認証データとしてHDD内に格納しておく。利用者の認証時において、HDDは、格納されている認証データと入力されたパスワードから生成したデータ用暗号鍵による暗号処理結果とを比較し、それらの一致を検証する。利用者認証が成功すると、HDDは、データ用暗号鍵を生成し、そのデータ用暗号鍵を磁気ディスクのユーザ・データの暗復号に使用する。
【0005】
また、上記特許文献1は、別の方法を開示している。この別の方法は、データの暗復号化のためのデータ用暗号鍵を個別に生成する。HDDは、さらに、パスワードを暗号化した認証暗号鍵でデータ用暗号鍵を暗号化し、その内部に保持する。HDDを使用する際には、HDDは利用者の認証を実施し、正規の利用者であれば、入力されたパスワードから生成した認証暗号鍵でHDD内に保持されている暗号化されたデータ用暗号鍵を復号し、そのデータ用暗号鍵を磁気ディスクのデータの暗復号に使用する。
【特許文献1】特開2004−201038号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、HDDがデータを暗復号化するためのデータ用暗号鍵の管理を適切に行わないと、データを暗号化することの機能を十分に活かすことができない。上記特許文献1も管理方法を開示しているが、その管理方法が安全性の点で十分とは言い難い。上記特許文献1の管理方法は、個人識別情報(パスワード等)から鍵用暗号鍵を生成し、その鍵用暗号鍵を使用してデータ用暗号鍵を暗号化する。
【0007】
従って、そのデータ用暗号鍵の鍵管理においては、常に鍵用暗号鍵とパスワードとが一対一の関係にある。また、データ用暗号鍵の安全性を高めるためにデータ用暗号鍵の管理状態(暗号化されたデータ用暗号鍵)を変更するには、パスワードを変更する必要がある。このため、データ記憶装置内において、より安全にデータ用暗号鍵を管理する手法が必要とされる。
【課題を解決するための手段】
【0008】
本発明の一態様は、メディアのデータを暗号処理するデータ記憶装置である。このデータ記憶装置は、データを記憶するメディアと、ホストから受信した鍵生成外部データと内部に記憶されている鍵生成内部データとを使用して鍵用暗号鍵を生成し、暗号化した状態で内部に記憶されているデータ用暗号鍵を、前記鍵用暗号鍵を使用して復号する鍵暗号処理部と、復号した前記データ用暗号鍵を使用して、メディアのデータを暗号処理するデータ暗号処理部とを有する。鍵生成外部データと鍵生成内部データとを使用して鍵用暗号鍵を生成することで、データ用暗号鍵をより安全に管理することができる。
【0009】
好ましくは、前記鍵生成外部データをパスワードとして使用した認証処理を行う認証処理部をさらに有し、前記鍵暗号処理部は、前記認証が正常に行なわれた場合に、前記認証に使用されたパスワードを使用して前記鍵用暗号鍵を生成する。これにより、より安全性を高めることができる。さらに、好ましい一例において、前記鍵暗号処理部は、前記パスワードが更新される場合、前記更新されたパスワードと更新された内部データとで前記鍵用暗号鍵を生成し、その鍵用暗号鍵を使用して前記データ用暗号鍵を暗号化する。パスワードと内部データとを更新することで、より安全性を高めることができる。
【0010】
乱数生成器をさらに有し、前記鍵生成内部データは、前記乱数生成器が生成した乱数であることが好ましい。鍵生成内部データとして内部で乱数を生成するとで、鍵用暗号鍵をよりランダムな方法で生成でき、安全性を高めることができる。
好ましくは、前記鍵暗号処理部は、前記鍵生成内部データを変化させて前記鍵用暗号鍵を更新する。これにより、より安全性を高めることができる。さらに、前記鍵暗号処理部は、前記暗号化されて記憶されているデータ用暗号鍵が外部からアクセスされた場合、前記鍵生成内部データを変化させて前記鍵用暗号鍵を更新することが好ましい。
【0011】
好ましくは、前記メディアのデータ記憶領域は分割された複数のセクションを有しており、前記複数のセクションのそれぞれに対応したデータ用暗号鍵は、それぞれ異なる鍵生成内部データから生成された鍵用暗号鍵を使用して暗号化されて内部記憶されている。これにより、より安全性を高めることができる。
【0012】
本発明の他の態様は、メディアのデータを暗号処理するデータ記憶装置において、データ用暗号鍵を管理する方法である。この方法は、ホストから鍵生成外部データを受信する。前記鍵生成外部データと内部に記憶されている鍵生成内部データとを使用して鍵用暗号鍵を生成する。暗号化した状態で内部に記憶されているデータ用暗号鍵を、前記鍵用暗号鍵を使用して復号する。復号した前記データ用暗号鍵を使用してメディアのデータを暗号処理する。鍵生成外部データと鍵生成内部データとを使用して鍵用暗号鍵を生成することで、データ用暗号鍵をより安全に管理することができる。
【発明の効果】
【0013】
本発明によれは、データ用暗号鍵をデータ記憶装置内で適切に管理し、データ記憶装置からのデータ漏洩をより確実に回避することが可能となる
【発明を実施するための最良の形態】
【0014】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、データ記憶装置の一例であるハードディスク・ドライブ(HDD)を例として、本発明の実施形態を説明する。本形態は、磁気ディスクの記憶データを暗号化するデータ用暗号鍵のHDD内における管理にその特徴を有している。
【0015】
まず、HDDの全体構成を説明する。図1は、HDD1の全体構成を模式的に示すブロック図である。HDD1は、エンクロージャ10の外側に固定された回路基板20を有している。回路基板20上に、リード・ライト・チャネル(RWチャネル)21、モータ・ドライバ・ユニット22、ロジック回路であるハードディスク・コントローラ(HDC)とMPUの集積回路(HDC/MPU)23及びRAM24などの各回路が実装されている。
【0016】
エンクロージャ10内において、スピンドル・モータ(SPM)14は所定の角速度で磁気ディスク11を回転する。磁気ディスク11は、データを記憶する、メディアである。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。各ヘッド・スライダ12は、磁気ディスク上を浮上するスライダと、スライダに固定され磁気信号と電気信号との間の変換(データの読み書き)を行うヘッド素子部とを備えている。各ヘッド・スライダ12はアクチュエータ16の先端部に固定されている。アクチュエータ16はボイス・コイル・モータ(VCM)15に連結され、回動軸を中心に回動することによって、ヘッド・スライダ12を回転する磁気ディスク11上においてその半径方向に移動する。
【0017】
モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。アーム電子回路(AE:Arm Electronics)13は、HDC/MPU23からの制御データに従って複数のヘッド素子部12の中から磁気ディスク11にアクセス(リードもしくはライト)するヘッド・スライダ12を選択し、リード/ライト信号の増幅を行う。
【0018】
RWチャネル21は、リード処理において、AE13から供給されたリード信号を一定の振幅となるように増幅し、その後、取得したリード信号からデータを抽出し、デコード処理を行う。デコード処理されたデータは、HDC/MPU23に供給される。また、RWチャネル21は、ライト処理において、HDC/MPU23から供給されたライト・データをコード変調し、さらに、コード変調されたデータをライト信号に変換してAE13に供給する。
【0019】
コントローラの一例であるHDC/MPU23において、MPUはRAM24にロードされたファーム・ウェアに従って動作する。HDC/MPU23は、リード/ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド・ポジショニング制御(サーボ制御)、ホスト51との間のインターフェース制御、ディフェクト管理、エラー対応処理など、データ処理に関する必要な処理及びHDD1の全体制御を実行する。
【0020】
本形態のHDC/MPU23は、磁気ディスク11に記録されるユーザ・データの暗号処理を実行する。図2は、この暗号処理に関連する構成要素を模式的に示すブロック図である。HDC/MPU23は、ホスト・インターフェース231、ECC処理部232、メモリ・マネージャ233、暗号処理部234を有している。これらは、論理回路で構成されている。また、HDC/MPU23は、ファーム・ウェアに従って動作するMPU235を有している。
【0021】
ホスト・インターフェース231は、外部ホスト51とのデータ通信におけるインターフェースである。ECC処理部232は、磁気ディスク11の記録データの誤り検出及び誤り訂正処理を行う。メモリ・マネージャ233は、データ・フローの制御やメモリ・バスのアクセス制御等を実施する。暗号処理部234は、磁気ディスク11のユーザ・データの暗号化及び復号化を行う。RAM24に形成されたデータ・バッファ241は、ライト・データ及びリード・データを一時的に格納する。
【0022】
ライト処理において、ホスト51からのライト・データは、ホスト・インターフェース231を介して、暗号処理部234に転送される。暗号処理部234は、ライト・データを暗号化して、メモリ・マネージャ233送る。メモリ・マネージャ233は、暗号化されたライト・データをデータ・バッファ241に格納する。メモリ・マネージャ233は、その後、データ・バッファ241からライト・データを取得して、ECC処理部232に送る。ECC処理部232は、誤り訂正のために必要な処理をライト・データに行い、RWチャネル21に送る。
【0023】
リード処理において、ECC処理部232は、RWチャネル21から転送された磁気ディスク11からのリード・データの誤り訂正処理を行う。その後、リード・データは、メモリ・マネージャ233を介して、データ・バッファ241に格納される。メモリ・マネージャ233は、データ・バッファ241からリード・データを取得して暗号処理部234に送る。暗号処理部234は、リード・データの復号化処理を行う。復号化されたリード・データは、ホスト・インターフェース231を介して、ホスト51に転送される。
【0024】
図2に示すように、データの暗復号を実施する暗号処理部234は、ホスト・インターフェース231とメモリ・マネージャ233との間に位置する。従って、HDD1のホスト・インターフェース231を除く他の部分において、HDD1は、ユーザ・データを暗号化した状態で取り扱うことが出来る。つまり、HDD1の動作中において、データ・バッファ241内のユーザ・データも、暗号化により保護されている。
【0025】
暗号処理部234がユーザ・データの暗号化及び復号化に使用するデータ用暗号鍵は、磁気ディスク11に格納されているデータを基に、MPU235によって再現(復合化)され、暗号処理部234に供給される。以下において、このデータ用暗号鍵の管理方法について説明する。本形態において、データを暗復号化するための鍵の管理方法の主な点は、次の通りである。
【0026】
MPU235は、ホスト51から取得したユーザ認証用のパスワードと磁気ディスク11上の乱数データRSxとを使用して、鍵用暗号鍵EKeyを生成する。この鍵用暗号鍵EKeyは、ユーザ・データの暗号処理に使用するデータ用暗号鍵DKeyの暗号処理に使用される。MPU235は、鍵用暗号鍵EKeyを使用してデータ用暗号鍵DKeyを暗号化する。この暗号化されたデータ用暗号鍵を、E{EKey、DKey}と表す。つまり、E{EKey、DKey}は、データ用暗号鍵DKeyを鍵用暗号鍵Ekeyで暗号化していることを表す。暗号化されたデータ用暗号鍵E{EKey、DKey}は、磁気ディスク11上に記憶される。
【0027】
MPU235は、データ用暗号鍵DKeyを再現させる(復号化する)ために、ホスト51から入力されたユーザ認証用のパスワードと、磁気ディスク11上の乱数データRSxとを基に、鍵用暗号鍵EKeyを生成する。MPU235は、さらに、磁気ディスク11上に保持されている暗号化されたデータ用暗号鍵E{EKey、DKey}を読み出して、鍵用暗号鍵Ekeyで暗号解除(復号化)する。
【0028】
上記管理方法は、データ用暗号鍵DKeyを暗号化されたデータ用暗号鍵E{EKey、DKey}として安全に保持しつつ、認証用パスワードの変更が可能である。また、必要に応じて乱数データRSxを定期的に更新することにより、暗号化されたデータ用暗号鍵E{EKey、DKey}を定期的に更新できる。これにより、データ用暗号鍵Dkeyの管理をよりセキュアに実施することができる。また、本形態において、MPU235は、ユーザ認証用のパスワード、データ用暗号鍵Dkey、そして乱数データRSxを、ホスト51からのコマンドにより変更することができる。これにより、データ用暗号鍵Dkeyの管理をよりセキュアに実施することができる。
【0029】
以下において、データ用暗号鍵の管理における、複数のシーケンスのそれぞれについて、図3〜図9を参照して具体的に説明する。各図は、暗号処理部234に使用するデータ用暗号鍵Dkeyの管理方法について説明するもので、HDD1の状態毎のデータ用暗号鍵Dkeyの取り扱いを示す。ここで、暗号処理部234が使用する暗号方法は、AES(Advanced Encryption Standard)のような共通鍵暗号方式(秘密鍵暗号方式)とする。なお、本発明の鍵管理は、他の暗号方式に適用することもできる。
【0030】
図3は、HDD1内でデータ用暗号鍵DKeyを最初に生成する処理、又はデータ用暗号鍵DKeyの更新処理における、各工程もしくは各工程を実行する構成要素を示すブロック図である。図3において、ハッシュ関数351、排他的論理和演算器352、第1乱数生成器353、第2乱数生成器354、そして鍵暗号化部355のそれぞれは、MPU235がファーム・ウェアに従って動作することにより実現される。これらの各処理が生成したデータは、MPU235内のレジスタ(メモリ)内に、一端格納される。なお、これらの処理の一部を、HDC/MPU23内の論理回路が実行するようにしてもよい。
【0031】
第1乱数生成器353が生成した乱数が、HDD内で使用する新たなデータ用暗号鍵DKeyとなる。生成されたデータ用暗号鍵DKey鍵は、暗号処理部234に設定されて、ユーザ・データの暗号処理に使用される。また、鍵暗号化部355は、データ用暗号鍵DKeyを暗号化する。HDD1内には、この暗号化されたデータ用暗号鍵E{EKey、DKey}が保持される。
【0032】
データ用暗号鍵DKeyを暗号化するための鍵用暗号鍵Ekeyは、HDD1内部で予め設定されている初期パスワードDefault Passwordと乱数RSxとから生成される。具体的には、一方向関数であるハッシュ関数351が初期パスワードDefault Passwordのハッシュ値H(Pwd)を生成する。さらに、第2乱数生成器354は、乱数RSxを生成する。排他的論理和演算器352は、初期パスワードDefault Passwordのハッシュ値H(Pwd)と乱数RSxとの排他的論理和を算出する。この値が、鍵用暗号鍵Ekeyである。
【0033】
磁気ディスク11は、データ用暗号鍵DKeyを鍵用暗号鍵Ekeyにより暗号化したE{Ekey、DKey}を保持する。また、磁気ディスク11は、鍵用暗号鍵Ekeyの生成に使用した乱数RSxも保持する。この時点では、未だ使用者の認証情報であるパスワードは設定されていないので、認証情報のパスワードが設定されるまでの間は、MPU235は初期パスワードDefault Passwordを一時的に使用する。
【0034】
鍵用暗号鍵Ekeyの生成は、データ用暗号鍵生成用の第1乱数生成器353を使用してもよい。また、データ用暗号鍵DKeyを生成する以前に、予め磁気ディスク11に保持しておいた値を使用しても良い。この値は、HDD1内において生成する、あるいは、HDD1の製造工程において予め磁気ディスク11に格納しておくことができる。
【0035】
生成されたデータ用暗号鍵DKeyは暗号処理部234に設定されているので、磁気ディスク11へのユーザ・データの記録再生の際には、暗号処理部234がライト・データを暗号化し、リード・データを復号化して出力する。従って、磁気ディスク11上のデータ、暗号化された状態で保護される。このように、データ用暗号鍵DKeyを安全に更新できるので、データ用暗号鍵を更新することで、それまでのデータ用暗号鍵を使用したデータを無効化できる。
【0036】
次に、図4を参照して、利用者がHDD1にパスワードを設定する処理を説明する。図4において、同一の符号が付された複数のブロックが示されている。これらは、説明の明確化のために示されているものであって、同一符号のブロックは同一の構成要素である。例えば、二つのハッシュ関数351のブロックは、同一のハッシュ関数である。この点は、以下の説明において同様である。
【0037】
利用者が、HDD1にパスワードを設定するために、ホスト51からパスワードPasswordを入力すると、認証処理部357が認証処理を行う。MPU235が認証処理部357として機能する。認証処理部357は、パスワードPasswordに所定の演算処理を施し、認証データとしてHDD1内設定する。認証処理部357の認証処理は従来の方法であり、その詳細は省略する。
【0038】
認証処理部357の認定処理が正しく終了したことを受けて、ハッシュ関数351は、入力されたパスワードPasswordからハッシュ値H(pw)を生成する。更に、排他的論理和演算器352は、このハッシュ値H(pw)と、磁気ディスク11読み出された乱数RSxとの排他的論理和を算出する。この排他的論理和が、新たな鍵用暗号鍵Ekeyaである。
【0039】
また、ハッシュ関数351は、初期パスワードDefault Passwordのハッシュ値H(pwd)を生成する。排他的論理和演算器352は、このハッシュ値H(pwd)磁気ディスク11読み出された乱数RSxとの排他的論理和を算出する。この値が更新前の現在の鍵用暗号鍵Ekeyである。鍵復号化部356は、現在の鍵用暗号鍵Ekeyを使用して、磁気ディスク11に保持されている暗号化された鍵用暗号鍵E{Ekey、DKey}を復号化する。これにより、データ用暗号鍵DKeyが得られる。MPU235が、鍵復号化部356として機能する。
【0040】
鍵暗号化部355は、データ用暗号鍵DKeyを鍵用暗号Ekeyaにより暗号化してE{Ekeya、DKey}を生成し、磁気ディスク11にそれを格納する。以上の処理によって、パスワード及び鍵用暗号鍵の更新が終了する。以上の処理は、データ用暗号鍵DKeyは変更していない。暗号処理部234は、以前と同様のデータ用暗号鍵DKeyを使用して暗復号する。なお、新たなハッシュ後のパスワードH(pw)と排他的論理和を実施するため、磁気ディスク11に保存された乱数RSxではなく、第2乱数生成器354がその時点で新たに生成した乱数を使用してもよい。つまり、鍵用暗号鍵は、新たなパスワードと新たな乱数により更新される。この場合、新たに生成された乱数が磁気ディスク11に保持される。
【0041】
図5は、パスワードが設定されたHDDを利用者が使用する場合のシーケンスを示している。利用者は、ホスト51を介して、自身の認証用パスワードPasswordをHDD1に入力する。認証処理部357が、所定の方法で認証処理を行う。その認定処理が正しく終了したことを受けて、ハッシュ関数351は、入力されたパスワードPasswordからハッシュ値H(pw)を生成する。更に磁気ディスク11から乱数RSxが読み出され、排他的論理和演算器352は、ハッシュ後のパスワードH(pw)と乱数RSxとの排他的論理和を算出する。この算出値が、暗号用鍵Ekeyaである。
【0042】
鍵復号化部356は、磁気ディスク11に保持されている暗号化されたデータ用暗号鍵E{Ekeya、DKey}を読み出し、そのデータ用暗号鍵E{Ekeya、DKey}を、生成された暗号用鍵Ekeyaで復号する。これにより、データ用暗号鍵Dkeyが得られる。さらに、鍵復号化部356は、このデータ用暗号鍵Dkeyを暗号処理部234に設定する。
【0043】
これにより入力情報を暗号化し、出力情報は復号化されて出力され、磁気ディスク11上の情報は暗号化された状態で保護される。なお、利用者の認証用パスワードPasswordが設定されていない場合には、認証用パスワードPasswordの入力及び認証処理を省き、HDD1内部の初期パスワードDefault Passwordで同様に処理することができる。
【0044】
次に、図6を参照して、利用者がHDD1のパスワードを変更(更新)する場合の動作を説明する。まず、図5を参照して説明したように、MPU235は、更新前のパスワードPasswordからデータ用暗号鍵Ekeyaを再生する。具体的には、MPU235は、認証処理されたパスワードPasswordのハッシュ値H(pw)と、磁気ディスク11から読み出された乱数RSxとの排他的論理和演算により、鍵用暗号鍵Ekeyaを再生する。さらに、鍵用暗号鍵Ekeyaを使用して磁気ディスク11から読み出した暗号化されたデータ用暗号鍵E{Ekeya、DKey}を復号し、データ用暗号鍵DKeyを取得する。
【0045】
さらに、MPU235は、図4を参照して説明したように、新たなパスワードNew Passwordを使用して鍵用暗号鍵を更新し、その更新した鍵用暗号鍵でデータ用暗号鍵を暗号化して、磁気ディスク11に保存する。具体的には、認証処理が正常に終了すると、排他的論理和演算器352が、新たなパスワードのハッシュ値H(pwn)と、磁気ディスク11から読み出された乱数RSxとの排他的論理和を算出する。これが、新たな鍵用暗号鍵Ekeybとなる。鍵暗号部355は、鍵復号部356が復号したデータ用暗号鍵DKeyを取得し、それを更新された新たな鍵用暗号鍵Ekeybで暗号化する。暗号化されたデータ用暗号鍵E{Ekeyb、DKey}は、磁気ディスク11に保持される。以上の処理により、でパスワード及び鍵用暗号鍵の更新が完了する。
【0046】
図7は、利用者がHDD1のパスワードを削除する場合の動作を模式的に示している。まず、図5を参照して説明したように、MPU235は、更新前のパスワードPasswordからデータ用暗号鍵DKeyを再生する。さらに、MPU235は、図3を参照して説明したように、初期パスワードDefault Passwordによる設定を行う。
【0047】
具体的には、MPU235は、初期パスワードDefault Passwordのハッシュ値H(pwd)と、磁気ディスク11保持されている乱数RSxの排他的論理和演算を行い、鍵用暗号鍵Ekeydを生成する。ここでは、乱数RSxは磁気ディスク11保持されているものを再生して使用するが、新たな乱数を生成してもよい。次に、MPU235は、新たに生成した鍵用暗号鍵Ekeydを使用して、復号したデータ用暗号鍵DKeyを暗号化する。新たに暗号化されたデータ用暗号鍵E{Ekeyd、DKey}は、磁気ディスク11に保持される。
【0048】
続いて、図8を参照して、乱数RSx及びその乱数から生成する鍵用暗号鍵の更新シーケンスについて説明する。まず、MPU235は、図5を参照して説明したように、データ用暗号鍵DKeyを再生する。つまり、利用者によるパスワードPasswordの入力、その認証処理、パスワードPasswordと更新前の乱数を使用した鍵用暗号鍵Ekeyaの生成、さらに、鍵用暗号鍵Ekeyaによるデータ用暗号鍵DKeyの復号化の各工程が終了している。
【0049】
次に、乱数RSxを更新するため、第1乱数生成器354が、新たな乱数RSyを生成する。新たな生成された乱数RSyは、磁気ディスク11に保持される。さらに、排他的論理和演算器352は、新たな生成された乱数RSyと、パスワードのハッシュ値H(pw)との、排他的論理和を算出する。この値が、更新された鍵用暗号鍵Ekeyfとなる。
【0050】
鍵暗号化部355は、更新された鍵用暗号鍵Ekeyfを使用して、データ用暗号鍵DKeyを暗号化する。鍵暗号化部355は、さらに、暗号化したデータ用暗号鍵E{Ekeyf、DKey}を磁気ディスク11に格納する。このように、乱数を更新することによって、パスワードを変更することなく、磁気ディスク11に保持する暗号化したデータ用暗号鍵E{Ekeyf、DKey}を更新できる。
【0051】
乱数を更新するタイミングとしては、いくつかの好ましい例が考えられる。具体的には、乱数あるいは鍵用暗号鍵を更新してからHDD1の動作時間(パワー・オン時間)が基準値を超えた場合、あるいは乱数あるいは鍵用暗号鍵を更新してから、ホスト51から受信したコマンド数が基準値を超えた場合、あるいは認証処理が行われる毎に乱数を更新することができる。
【0052】
また、HDD1内におけるデータ用暗号鍵DKeyを安全に管理するため、暗号化されたデータ用暗号鍵E{Ekey、DKey}への外部からの規則外のアクセスに対応することが重要である。HDD1の通常使用において、データ用暗号鍵E{Ekey、DKey}に外部からアクセスされることはない。従って、そのような予め定められた規則外のアクセスあった場合、ユーザ・データの漏洩の危険性が高いことを意味する。従って、好ましくは、MPU235は、データ用暗号鍵E{Ekey、DKey}に外部から規則外のアクセスがあった場合、現在の鍵用暗号鍵を更新し、新たな鍵用暗号鍵を使用して、データ用暗号鍵を再暗号化する。これによって、データ用暗号鍵及び磁気ディスク上のデータの安全性をより高めることができる。
【0053】
続いて、乱数を更新する他の好ましい例を説明する。図9は、パスワード及び乱数の更新を同時に実施する場合の動作を模式的に示している。MPU235は、パスワードPasswordの更新を、図6を参照して説明した動作に従って実行する。具体的には、排他的論理和演算器351が、現在のパスワードPasswordのハッシュ値H(pw)と現在の乱数RSxの排他的論理和を算出する。これが、現在の鍵用暗号鍵Ekeyaである。鍵復号化部356は、現在の鍵用暗号鍵Ekeyaを使用して、データ用暗号鍵データ用暗号鍵Dkeyを再生する。
【0054】
次に、利用者がHDD1に新しいパスワードを設定するために、ホスト51を介して、新たなパスワードNew Passwordを入力する。認証処理部357による認証処理により、新たなパスワードNew Passwordが認証用データとしてHDD1内に所定の方法で設定される。これは従来の方法でよい。その認証処理が正しく終了したことを受けて、一方向関数であるハッシュ関数351が、入力された新パスワードNew Passwordのハッシュ値H(pwn)を生成する。
【0055】
乱数RSxを更新するため、第1乱数生成器354が新たな乱数RSyを生成する。こ新たな乱数RSyは、磁気ディスク11に保持される。さらに、排他的論理和演算器351が、新たなパスワードのハッシュ値H(pwn)と新たなRSyとの排他的論理和を実行する。その結果の値が、新たな鍵用暗号鍵Ekeyhとなる。鍵暗号化部355は、この更新された鍵用暗号鍵Ekeyhを使用して、データ用暗号鍵Dkeyを暗号化する。
【0056】
この暗号化されたデータ用暗号鍵E{Ekeyh、DKey}は、新たに磁気ディスク11に保持される。以上の処理により、パスワードと乱数の更新とを同時に行うことができる。これにより、鍵用暗号鍵が更新され、磁気ディスク11に保持する暗号化したデータ用暗号鍵も更新される。パスワードと乱数双方を更新することで、データ用暗号鍵DKeyをより安全に管理することが可能となる。
【0057】
上記例において、HDD1は、その内部に一つのデータ用暗号鍵を保持している。しかし、安全性を高めるためには、データ記憶領域を複数のセグメントに分割し、各セグメントに対応したデータ用暗号鍵を使用することが好ましい。例えば、図10(a)、(b)に示すように、HDD1は、磁気ディスク11の各記録面に対応したデータ用暗号鍵を有する。図10の例において、HDD1は2枚の磁気ディスク11a、11bを有しており、各磁気ディスク11a、bが、それぞれ二つの記録面111a〜111dを有している。
【0058】
HDD1は、各記録面111a〜111dに対して異なるデータ用暗号鍵Dkey_1〜Dkey_4を有している。さらに、各記録面111a〜111dに対して異なる鍵用暗号鍵Ekey_1〜Ekey_4が対応付けられている。従って、各記録面111a〜111dのそれぞれに対応する暗号化されたデータ用鍵は、E{Ekey_1、DKey_1}〜E{Ekey_4、DKey_4}となる。MPU235は、リード及びライト処理において、対象となるユーザ・データが記憶される記録面に応じて、図2〜図9を参照して説明したように、対応する鍵用暗号鍵の生成及びデータ用暗号鍵の暗復号を行う。なお、典型的には、パスワードは、各セグメントに対して同一の値が使用される。なお、データ記録領域の分割方法は、上記例に限定されない。例えば、各記録面のゾーンをセグメントとして使用することができる。
【0059】
以上のように、本実施形態によれば、ユーザ・データを暗号化し、また、そのための暗号鍵を適切に管理することで、磁気ディスク上のデータを直接アクセスすること等を含めて、HDDからのデータ漏洩を回避することが可能となる。さらに、データ用暗号鍵を暗号化することによって安全にデータ記憶装置内に保持し、利用することができる。また、暗号鍵の保持に関わるパラメータを任意に変更することができるので、常に暗号鍵を安全に保持し続けることができる。
【0060】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明を、磁気ディスクと異なるメディアを有するデータ記憶装置に適用することができる。あるいは、データを記録あるいは再生のみ行うデータ記憶装置に適用することができる。この場合、暗号処理部は暗号化もしくは復号化のみ行う。
【0061】
暗号化されたデータ暗号鍵などの必要なデータは、磁気ディスク以外の不揮発性メモリに格納しておいてもよい。上述の説明における乱数は、擬似乱数を含み、また、乱数を得るために乱数表を使用してもよい。なお、データ用暗号鍵や鍵用暗号鍵を生成するための内部データは、乱数に限定されるものではない。鍵用暗号鍵の生成に使用するパスワードは、認証処理に使用するパスワードと異なるデータでもよい。また、設計によっては、認証処理を省略することができ、パスワード以外の鍵生成外部データを使用して鍵用暗号鍵を生成することができる。
【図面の簡単な説明】
【0062】
【図1】本実施形態に係るHDDの全体構成を模式的に示すブロック図である。
【図2】本実施形態に暗号処理に関連する構成要素を模式的に示すブロック図である。
【図3】本実施形態HDD内で、データ用暗号鍵DKeyを最初に生成する処理、又はデータ用暗号鍵DKeyの更新処理における、各工程もしくは各工程を実行する構成要素を示すブロック図である。
【図4】本実施形態HDD内で、利用者がHDDにパスワードを設定する処理における、各工程もしくは各工程を実行する構成要素を示すブロック図である。
【図5】本実施形態HDD内で、パスワードが設定されたHDDを利用者が使用する場合の、各工程もしくは各工程を実行する構成要素を示すブロック図である。
【図6】本実施形態HDD内で、利用者がHDD1のパスワードを変更(更新)する処理における、各工程もしくは各工程を実行する構成要素を示すブロック図である。
【図7】本実施形態HDD内で利用者がHDD1のパスワードを削除する場合における、各工程もしくは各工程を実行する構成要素を示すブロック図である。
【図8】本実施形態HDD内で、乱数RSx及びその乱数から生成する鍵用暗号鍵の更新処理における、各工程もしくは各工程を実行する構成要素を示すブロック図である。
【図9】本実施形態HDD内で、パスワード及び乱数の更新を同時に実施する場合における、各工程もしくは各工程を実行する構成要素を示すブロック図である。
【図10】本実施形態HDD内で、データ記憶領域を複数のセグメントに分割し、各セグメントに対応したデータ用暗号鍵を使用する例を模式的に示す図である。
【符号の説明】
【0063】
1 ハード・ディスク・ドライブ、10 エンクロージャ、11 磁気ディスク
12 ヘッド・スライダ、13 アーム・エレクトロニクス(AE)、
14 スピンドル・モータ、15 ボイス・コイル・モータ、16 アクチュエータ
20 回路基板、21 RWチャネル、22 モータ・ドライバ・ユニット
23 HDC/MPU、24 RAM、51 ホスト、111a〜111d 記録面
231 ホスト・インターフェース、232 ECC処理部
233 メモリ・マネージャ、234 暗号処理部、235 MPU
241 データ・バッファ、351 ハッシュ関数、352 排他的論理和演算器
353 第1乱数生成器、354 第2乱数生成器、355 鍵暗号化部
356 鍵復号化部、357 認証処理部

【特許請求の範囲】
【請求項1】
メディアのデータを暗号処理するデータ記憶装置であって、
データを記憶するメディアと、
ホストから受信した鍵生成外部データと内部に記憶されている鍵生成内部データとを使用して鍵用暗号鍵を生成し、暗号化した状態で内部に記憶されているデータ用暗号鍵を、前記鍵用暗号鍵を使用して復号する鍵暗号処理部と、
復号した前記データ用暗号鍵を使用して、メディアのデータを暗号処理するデータ暗号処理部と、
を有するデータ記憶装置。
【請求項2】
前記鍵生成外部データをパスワードとして使用した認証処理を行う、認証処理部をさらに有し、
前記鍵暗号処理部は、前記認証が正常に行なわれた場合に、前記認証に使用されたパスワードを使用して前記鍵用暗号鍵を生成する、
請求項1に記載のデータ記憶装置。
【請求項3】
乱数生成器をさらに有し、
前記鍵生成内部データは、前記乱数生成器が生成した乱数である、
請求項1に記載のデータ記憶装置。
【請求項4】
前記鍵暗号処理部は、前記鍵生成内部データを変化させて前記鍵用暗号鍵を更新する、
請求項1に記載のデータ記憶装置。
【請求項5】
前記鍵暗号処理部は、前記パスワードが更新される場合、前記更新されたパスワードと更新された鍵生成内部データとで前記鍵用暗号鍵を生成し、その鍵用暗号鍵を使用して前記データ用暗号鍵を暗号化する、
請求項2に記載のデータ記憶装置。
【請求項6】
前記鍵暗号処理部は、前記暗号化されて記憶されているデータ用暗号鍵が外部からアクセスされた場合、前記鍵生成内部データを変化させて前記鍵用暗号鍵を更新する、
請求項4に記載のデータ記憶装置。
【請求項7】
前記メディアのデータ記憶領域は分割された複数のセクションを有しており、
前記複数のセクションのそれぞれに対応したデータ用暗号鍵は、それぞれ異なる鍵生成内部データから生成された鍵用暗号鍵を使用して暗号化されて内部記憶されている、
請求項1に記載のデータ記憶装置。
【請求項8】
メディアのデータを暗号処理するデータ記憶装置において、データ用暗号鍵を管理する方法であって、
ホストから鍵生成外部データを受信し、
前記鍵生成外部データと内部に記憶されている鍵生成内部データとを使用して鍵用暗号鍵を生成し、
暗号化した状態で内部に記憶されているデータ用暗号鍵を、前記鍵用暗号鍵を使用して復号し、
復号した前記データ用暗号鍵を使用してメディアのデータを暗号処理する、方法。
【請求項9】
前記鍵生成外部データをパスワードとして使用した認証処理をさらに行い、
前記認証が正常に行なわれた場合に、前記認証に使用されたパスワードを使用して前記鍵用暗号鍵を生成する、
請求項8に記載の方法。
【請求項10】
乱数生成器をさらに有し、
前記鍵生成内部データは、前記乱数生成器が生成した乱数である、
請求項8に記載の方法。
【請求項11】
前記鍵生成内部データを変化させて前記鍵用暗号鍵を更新する、
請求項8に記載の方法。
【請求項12】
前記パスワードが更新される場合、前記更新されたパスワードと更新された鍵生成内部データとで前記鍵用暗号鍵を生成し、その鍵用暗号鍵を使用して前記データ用暗号鍵を暗号化する、
請求項9に記載の方法。
【請求項13】
前記暗号化されて記憶されているデータ用暗号鍵が外部からアクセスされた場合、前記鍵生成内部データを変化させて前記鍵用暗号鍵を更新する、
請求項11に記載の方法。
【請求項14】
前記メディアのデータ記憶領域は分割された複数のセクションを有しており、
前記複数のセクションのそれぞれに対応したデータ用暗号鍵は、それぞれ異なる鍵生成内部データから生成された鍵用暗号鍵を使用して暗号化されて内部記憶されている、
請求項8に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−245112(P2008−245112A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2007−85449(P2007−85449)
【出願日】平成19年3月28日(2007.3.28)
【出願人】(503116280)ヒタチグローバルストレージテクノロジーズネザーランドビーブイ (1,121)
【Fターム(参考)】