(57)【要約】【課題】データが暗号キーで暗号化されて磁気記録媒体に記録されている場合に、その暗号キーを簡単かつ高速に変更することが可能な磁気記録装置を提供することを目的とする。【解決手段】まず、有効なユーザデータが記録されていないトラックを第１のリザーブドトラックとして設定するとともに、第１の更新元トラックを設定し、第１の更新元トラックからデータを読み出して、第１の暗号キーＫＥＹ１で復号化し、復号化されたデータを、第２の暗号キーＫＥＹ２で再暗号化して、第１のリザーブドトラックに記録し、次に、第１の更新元トラックを第２のリザーブドトラックとして設定するとともに、第２の更新元トラックを設定し、これをキー更新処理の対象となるトラックが終了するまで繰り返し実行して、暗号キーを更新する。【選択図】        図４
2008259170.tif 000002
【特許請求の範囲】
【請求項１】
磁気記録媒体に記録されている、第１の暗号キーで暗号化されているデータを、第２の暗号キーで再暗号化するキー更新処理を実行するものであり、
前記磁気記録媒体のトラックまたはセクタ単位で、更新元エリアおよびリザーブドエリアのペアを設定する設定手段と、
前記設定手段で設定された更新元エリアから前記第１の暗号キーで暗号化されているデータを読み出して、前記第１の暗号キーで復号化する復号化手段と、
前記復号化手段で復号化されたデータを、前記第２の暗号キーで再暗号化して、前記設定手段で設定されたリザーブドエリアに記録する暗号化手段と、
を備え、
前記設定手段は、前記キー更新処理では、まず、有効なユーザデータが記録されていないエリアを第１のリザーブドエリアとして設定するとともに、第１の更新元エリアを設定し、次に、前記第１の更新元エリアまたは有効なユーザデータが記録されていない他のエリアを第２のリザーブドエリアとして設定するとともに、第２の更新元エリアを設定し、これをキー更新処理の対象となるエリアが終了するまで繰り返すことを特徴とする磁気記録装置。
【請求項２】
前記磁気記録媒体の各トラックまたはセクタは、暗号化に用いられた暗号キーの種類を示すコントロールフラグが記録されるコントロール領域を有しており、
さらに、
前記キー更新処理が継続中であるか否かを示すキー更新中フラグを前記磁気記録媒体に記録するキー更新中フラグ記録手段と、
前記リザーブドエリアに対するデータの書き込みと同時または書き込みが完了する毎に、当該リザーブドエリアのコントロール領域に、第２の暗号キーで暗号化されたことを示す前記コントロールフラグを記録するコントロールフラグ記録手段と、
を備えたことを特徴とする請求項１に記載の磁気記録装置。
【請求項３】
前記キー更新処理の実行中にデバイス電源が遮断された後、デバイス電源がＯＮされた場合には、前記磁気記録媒体に記録されているキー更新中フラグを参照し、当該キー更新中フラグがキー更新処理継続中を示す場合には、前記磁気記録媒体のコントロール領域に記録されたコントロールフラグを参照して、中断したエリアからキー更新処理を再開することを特徴とする請求項２に記載の磁気記録装置。
【請求項４】
さらに、
不揮発性メモリと、
前記キー更新処理が継続中であるか否かを示すキー更新中フラグを前記不揮発性メモリに記録するキー更新中フラグ記録手段と、
前記設定手段で設定される更新元エリアおよびリザーブドエリアのペアの現在値を前記不揮発性メモリに記録する更新情報記録手段と、
を備えたことを特徴とする請求項１に記載の磁気記録装置。
【請求項５】
デバイス電源がＯＮされた場合には、前記不揮発性メモリに記録されているキー更新中フラグを参照し、当該キー更新中フラグがキー更新処理継続中を示す場合には、前記不揮発性メモリに記録されている更新元エリアおよびリザーブドエリアのペアの現在値を参照して、中断したエリアからキー更新処理を再開することを特徴とする請求項４に記載の磁気記録装置。
【請求項６】
前記更新元エリアおよびリザーブドエリアのペアは、隣接していることを特徴とする請求項１に記載の磁気記録装置。
【請求項７】
前記磁気記録装置は、ハードディスク装置であることを特徴とする請求項１に記載の磁気記録装置。
【請求項８】
磁気記録媒体に記録されている、第１の暗号キーで暗号化されているデータを、第２の暗号キーで再暗号化する暗号化方法であって、
前記磁気記録媒体のトラックまたはセクタ単位で、更新元エリアおよびリザーブドエリアのペアを設定する設定工程と、
前記設定工程で設定された更新元エリアから前記第１の暗号キーで暗号化されているデータを読み出して、前記第１の暗号キーで復号化する復号化工程と、
前記復号化工程で復号化されたデータを、前記第２の暗号キーで再暗号化して、前記設定工程で設定されたリザーブドエリアに記録する暗号化工程と、
を含み、
前記設定工程では、まず、有効なユーザデータが記録されていないエリアを第１のリザーブドエリアとして設定するとともに、第１の更新元エリアを設定し、次に、前記第１の更新元エリアまたは有効なユーザデータが記録されていない他のエリアを第２のリザーブドエリアとして設定するとともに、第２の更新元エリアを設定し、これをキー更新処理の対象となるエリアが終了するまで繰り返すことを特徴とする磁気記録装置の暗号化方法。
【請求項９】
磁気記録媒体に記録されている、第１の暗号キーで暗号化されているデータを、第２の暗号キーで再暗号化するための暗号化用プログラムであって、
コンピュータに、
前記磁気記録媒体のトラックまたはセクタ単位で、更新元エリアおよびリザーブドエリアのペアを設定する設定工程と、
前記設定工程で設定された更新元エリアから前記第１の暗号キーで暗号化されているデータを読み出して、前記第１の暗号キーで復号化する復号化工程と、
前記復号化工程で復号化されたデータを、前記第２の暗号キーで再暗号化して、前記設定工程で設定されたリザーブドエリアに記録する暗号化工程と、
を実行させ、
前記設定工程では、まず、有効なユーザデータが記録されていないエリアを第１のリザーブドエリアとして設定するとともに、第１の更新元エリアを設定し、次に、前記第１の更新元エリアまたは有効なユーザデータが記録されていない他のエリアを第２のリザーブドエリアとして設定するとともに、第２の更新元エリアを設定し、これをキー更新処理の対象となるエリアが終了するまで繰り返すことを特徴とする暗号化用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気記録装置、暗号化方法、および暗号化用プログラムに関し、詳細には、第１の暗号キーで暗号化されている磁気記録媒体上のデータを、第２の暗号キーで再暗号化する磁気記録装置、暗号化方法、および暗号化用プログラムに関する。
【背景技術】
【０００２】
ハードディスク装置は、情報を保存しておくために使われる磁気記録装置である。通常、情報は、一つ以上の磁気記録ディスクのいずれか一面上にある同心円状のトラック上に記録される。ディスクは、スピンドルモータ（Ｓｐｉｎｄｌｅ  Ｍｏｔｏｒ）により回転自在に支持される。トラックへの情報の書き込みおよび読み出しは、アクチュエータアームに備えられた記録／再生ヘッドにより行われる。アクチュエータアームは、ボイスコイルモータ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ）により回転させられる。ボイスコイルモータは、電流により励磁されてアクチュエータを回転させ、記録／再生ヘッドを移動させる。記録／再生ヘッドは、ディスクの表面から出る磁気の変化を感知してディスク表面に記録された情報を判読する。データをトラックに記録するために、電流が記録／再生ヘッドに供給される。記録／再生ヘッドに供給された電流は磁界を発生させ、それはディスク表面を磁化させる。
【０００３】
近年、ハッカーによるセキュリティ攻撃方法の技術進化に伴い、ハードディスク装置などの外部記憶媒体のセキュリティ向上が求められている。従来のハードディスク装置ではＡＴＡセキュリティコマンドによってＨＤＤパスワードがサポートされ、ハードディスク装置内のデータ保護に貢献しているが、ハッカーがハードディスク装置のファームウェアやＬＳＩを解析することにより、ＨＤＤパスワードが無効化される場合がある。
【０００４】
かかる問題に対処するため、近年、Ｆｕｌｌ  Ｄｉｓｋ  Ｅｎｃｒｙｐｔｉｏｎ（以下：「ＦＤＥ」と称する）と呼ばれる技術がシーゲイト社から提案されている（例えば、非特許文献１）。ＦＤＥは、ディスク上のデータを全て暗号キーにより暗号化するものであり、セキュリティ向上に貢献している。
【０００５】
かかるＦＤＥは、暗号キーがわからない限り、ディスク上のデータを直接読み込んでも、復元することができない、また、ファームウェアやＬＳＩを操作してＨＤＤパスワードを無効化しても、暗号キーが復元されない限り、ディスク上のデータを復元することができないという利点を有している。
【０００６】
しかしながら、ＦＤＥでは、暗号キーはＨＤＤまたはシステムの出荷時にあらかじめ設定されているため、ユーザが暗号キーを変更することができないという問題がある。このため、ユーザは、出荷時の暗号キーのまま使用せざるを得ないが、何らかの理由でＨＤＤ内のデータが盗難にあった場合、出荷時の暗号キーに対する製造者の管理責任が問われる可能性がある。
【０００７】
【非特許文献１】http://fde.seagatestorage.com/
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上記課題に鑑みてなされたものであり、データが暗号キーで暗号化されて磁気記録媒体上に記録されている場合に、その暗号キーを簡単かつ高速に変更することが可能な磁気記録装置、暗号化方法、および暗号化用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、磁気記録媒体に記録されている、第１の暗号キーで暗号化されているデータを、第２の暗号キーで再暗号化するキー更新処理を実行するものであり、前記磁気記録媒体のトラックまたはセクタ単位で、更新元エリアおよびリザーブドエリアのペアを設定する設定手段と、前記設定手段で設定された更新元エリアから前記第１の暗号キーで暗号化されているデータを読み出して、前記第１の暗号キーで復号化する復号化手段と、前記復号化手段で復号化されたデータを、前記第２の暗号キーで再暗号化して、前記設定手段で設定されたリザーブドエリアに記録する暗号化手段と、を備え、前記設定手段は、前記キー更新処理では、まず、有効なユーザデータが記録されていないエリアを第１のリザーブドエリアとして設定するとともに、第１の更新元エリアを設定し、次に、前記第１の更新元エリアまたは有効なユーザデータが記録されていない他のエリアを第２のリザーブドエリアとして設定するとともに、第２の更新元エリアを設定し、これをキー更新処理の対象となるエリアが終了するまで繰り返すことを特徴とする。
【００１０】
また、本発明の好ましい態様によれば、前記磁気記録媒体の各トラックまたはセクタは、暗号化に用いられた暗号キーの種類を示すコントロールフラグが記録されるコントロール領域を有しており、さらに、前記キー更新処理が継続中であるか否かを示すキー更新中フラグを前記磁気記録媒体に記録するキー更新中フラグ記録手段と、前記リザーブドエリアに対するデータの書き込みと同時または書き込みが完了する毎に、前記当該リザーブドエリアのコントロール領域に、第２の暗号キーで暗号化されたことを示す前記コントロールフラグを記録するコントロールフラグ記録手段と、を備えたことが望ましい。
【００１１】
また、本発明の好ましい態様によれば、前記キー更新処理の実行中にデバイス電源が遮断された後、デバイス電源がＯＮされた場合には、前記磁気記録媒体に記録されているキー更新中フラグを参照し、当該キー更新中フラグがキー更新処理継続中を示す場合には、前記磁気記録媒体のコントロール領域に記録されたコントロールフラグを参照して、中断したエリアからキー更新処理を再開することが望ましい。
【００１２】
また、本発明の好ましい態様によれば、さらに、不揮発性メモリと、前記キー更新処理が継続中であるか否かを示すキー更新中フラグを前記不揮発性メモリに記録するキー更新中フラグ記録手段と、前記設定手段で設定される更新元エリアおよびリザーブドエリアのペアの現在値を前記不揮発性メモリに記録する更新情報記録手段と、を備えたことが望ましい。
【００１３】
また、本発明の好ましい態様によれば、デバイス電源がＯＮされた場合には、前記不揮発性メモリに記録されているキー更新中フラグを参照し、当該キー更新中フラグがキー更新処理継続中を示す場合には、前記不揮発性メモリに記録されている更新元エリアおよびリザーブドエリアのペアの現在値を参照して、中断したエリアからキー更新処理を再開することが望ましい。
【００１４】
また、本発明の好ましい態様によれば、前記更新元エリアおよびリザーブドエリアのペアは、隣接していることが望ましい。
【００１５】
また、本発明の好ましい態様によれば、前記磁気記録装置は、ハードディスク装置であることが望ましい。
【００１６】
上述した課題を解決し、目的を達成するために、本発明は、磁気記録媒体に記録されている、第１の暗号キーで暗号化されているデータを、第２の暗号キーで再暗号化する暗号化方法であって、前記磁気記録媒体のトラックまたはセクタ単位で、更新元エリアおよびリザーブドエリアのペアを設定する設定工程と、前記設定工程で設定された更新元エリアから前記第１の暗号キーで暗号化されているデータを読み出して、前記第１の暗号キーで復号化する復号化工程と、前記復号化工程で復号化されたデータを、前記第２の暗号キーで再暗号化して、前記設定工程で設定されたリザーブドエリアに記録する暗号化工程と、を含み、前記設定工程では、まず、有効なユーザデータが記録されていないエリアを第１のリザーブドエリアとして設定するとともに、第１の更新元エリアを設定し、次に、前記第１の更新元エリアまたは有効なユーザデータが記録されていない他のエリアを第２のリザーブドエリアとして設定するとともに、第２の更新元エリアを設定し、これをキー更新処理の対象となるエリアが終了するまで繰り返すことを特徴とする。
【００１７】
上述した課題を解決し、目的を達成するために、本発明は、磁気記録媒体に記録されている、第１の暗号キーで暗号化されているデータを、第２の暗号キーで再暗号化するための暗号化用プログラムであって、コンピュータに、前記磁気記録媒体のトラックまたはセクタ単位で、更新元エリアおよびリザーブドエリアのペアを設定する設定工程と、前記設定工程で設定された更新元エリアから前記第１の暗号キーで暗号化されているデータを読み出して、前記第１の暗号キーで復号化する復号化工程と、前記復号化工程で復号化されたデータを、前記第２の暗号キーで再暗号化して、前記設定工程で設定されたリザーブドエリアに記録する暗号化工程と、を実行させ、前記設定工程では、まず、有効なユーザデータが記録されていないエリアを第１のリザーブドエリアとして設定するとともに、第１の更新元エリアを設定し、次に、前記第１の更新元エリアまたは有効なユーザデータが記録されていない他のエリアを第２のリザーブドエリアとして設定するとともに、第２の更新元エリアを設定し、これをキー更新処理の対象となるエリアが終了するまで繰り返すことを特徴とする。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明にかかる磁気記録装置、暗号化方法、および暗号化用プログラムの最良な実施の形態を詳細に説明する。以下の実施例では、本発明にかかる磁気記録装置をハードディスク装置に適用した場合について説明する。なお、下記実施例によりこの発明が限定されるものではない。また、下記実施例における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。以下の説明では、ディスクのトラックまたはセクタ単位で、暗号キーの更新が行われるが、更新元トラックまたは更新元セクタを「更新元エリア」、更新先のリザーブドトラックまたはリザーブドセクタを「リザーブドエリア」と称する。
【００１９】
（実施例１）
図１は、本発明に係る磁気記録装置を適用したハードディスク装置の概略の構成例を示す図である。以下の説明では、ディスクは、第１の暗号キーＫＥＹ１でＦＤＥされているものとする。
【００２０】
ハードディスク装置１０は、図１に示すように、ディスク１１と、ＳＰＭ（Ｓｐｉｎｄｌｅ  Ｍｏｔｏｒ）１２と、ヘッド１３と、アーム１４と、ＶＣＭ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ）１５、ドライブ制御部１６と、信号処理部１７と、コントローラ１８と、ＤＲＡＭ１９と、ＲＯＭ２０とを備えている。
【００２１】
ディスク１１は、磁気記録媒体としてのディスクであり、外部から入力される各種のデータが記録される。ディスク１１は、複数のセクタＳを有するトラックＴが同心円上に複数形成されている。セクタＳは、そのサイズが通常５１２ｂｙｔｅであり、セクタ単位で記録したデータの位置情報が管理される。ＳＰＭ１２は、ディスク１１を回転駆動する。ヘッド１３は、ディスク１１に対して信号の読出し、書き込みを行う。アーム１４はヘッド１３を固定支持する。ＶＣＭ１５は、ヘッド１３およびアーム１４をディスク１１の半径方向にフィードする。ドライブ制御部１６は、ＳＰＭ１２およびＶＣＭ１５をそれぞれ駆動するドライブ回路を備えており、ＳＰＭ１２およびＶＣＭ１５の駆動制御を行う。  
【００２２】
信号処理部１７は、ディスク１１へ書き込むデータのエンコード（符号化）およびディスク１１から読み出したデータのデコードを行い、その際に誤り訂正符号による符号化と誤り検出および誤り訂正に係る処理も併せて行う。
【００２３】
コントローラ１８は、ＣＰＵ等で構成されており、ハードディスク装置１０の全体動作を制御するものであり、ＲＯＭ２０に格納されたファームウェアに従ってハードディスク装置１０の動作を制御する。ＲＯＭ２０は、コントローラ１８が実行するファームウェアを格納する。ＤＲＡＭ１９は、コントローラ１８のワークエリアとして使用されるとともに、ディスク１１から読出したデータおよびディスク１１へ書き込むデータのバッファとして使用される。コントローラ１８は、ＤＲＡＭ（バッファ）１９上のデータを暗号化／復号化する暗号化／復号化機能を有している。
【００２４】
また、コントローラ１８は、インターフェース４０を介して、パーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）またはＡＶ機器などのホスト装置３０との間で送受信するデータ、制御コマンド等の入出力回路を構成する。ここで、インターフェースは、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などである。
【００２５】
上記コントローラ１８は、後述するキー更新処理を実行し、ディスク１１のトラック単位で、更新元トラックおよびリザーブドトラックのペアを設定する設定手段、設定手段で設定された更新元エリアから第１の暗号キーＫＥＹ１で暗号化されているデータを読み出して、第１の暗号キーＫＥＹ１で復号化する復号化手段、復号化手段で復号化されたデータを、第２の暗号キーＫＥＹ２で再暗号化して、設定手段で設定されたリザーブドトラックに記録する暗号化手段、キー更新処理が継続中であるか否かを示すキー更新中フラグをディスク１１に記録するキー更新中フラグ記録手段、リザーブドトラックに対するデータの書き込みが完了する毎に、リザーブドトラックのコントロールフラグセクタ（ＣＦセクタ）に、第２の暗号キーで暗号化されたことを示すコントロールフラグ（ＣＦ）を記録するコントロールフラグ記録手段として機能する。
【００２６】
図２は、論理トラック（ＬＴ）と物理トラック（ＰＴ）を関連づけるマトリックステーブルの一例を示す図である。マトリックステーブルは、ファームウェアに搭載されており、図２に示すように、各論理トラック（ＬＴ）に物理トラック（ＰＴ）が割り当てられている。コントローラ１８は、キー更新処理を実行する場合に、論理トラック（ＬＴ）に対する物理トラック（ＰＴ）の割り当てを変更して、マトリックステーブルを更新する。
【００２７】
上記図１の如く構成されるハードディスク装置１０の動作の概略を説明する。コントローラ１８は、インターフェース４０を介してホスト装置３０から発行されたコマンド（書き込み／読み出しコマンド等）を受信すると、そのコマンドの内容を解釈して、ドライブ制御部１６、信号処理部１７に対して必要なコマンドおよびパラメータを設定して、それらの動作を実行させる。コントローラ１８は、ホスト装置３０からデータの書き込み指示があった場合には、第１の暗号キーＫＥＹ１を使用して、ホスト装置３０から受信したデータを暗号化して信号処理部１７に出力する。
【００２８】
ドライブ制御部１６は、ＳＰＭ１２およびＶＣＭ１５の駆動制御を行って、ディスク１１の所定のトラック、セクタに対してヘッド１３を移動させる。信号処理部１７は、ディスク１１への書き込み時、コントローラ１８から送られてきたデータをデジタルビット系列に符号化（変調）する。また、信号処理部１７は、読み出し時にはヘッド１３から読み出された信号から高域ノイズを除去してからアナログ信号からデジタル信号への変換を行い、さらにＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）エラー訂正を行った後、コントローラ１８に出力する。コントローラ１８は、第１の暗号キーＫＥＹ１を使用して、信号処理部１７から入力されるデータを復号化してホスト装置３０に転送する。
【００２９】
つぎに、図３〜図６を参照して、キー更新処理を詳細に説明する。図３は、暗号キーの更新手順を説明するためのフローチャートである。
【００３０】
図３において、コントローラ１８は、ホスト装置３０から、パスワード（ユーザパスワードおよび／またはマスターパスワード）と共に、キー更新命令を受信すると（ステップＳ１）、既に、キー更新中であるか否かを判断し（ステップＳ２）、既にキー更新中である場合には（ステップＳ２の「Ｙｅｓ」）、キー更新命令を中止する（ステップＳ８）。
【００３１】
コントローラ１８は、キー更新中でない場合には（ステップＳ２の「Ｎｏ」）、パスワードが正しいか否かを判断する（ステップＳ３）。コントローラ１８は、パスワードが正しくないと判断した場合には（ステップＳ３の「Ｎｏ」）、キー更新命令を中止する（ステップＳ８）。
【００３２】
他方、コントローラ１８は、パスワードが正しいと判断した場合（ステップＳ３の「Ｙｅｓ」）、ディスク１１に記録されたキー更新中フラグを「１」に設定すると共に、第２の暗号キー（更新キー）ＫＥＹ２を生成して、ディスク１１に記録する（ステップＳ４）。
【００３３】
この後、コントローラ１８は、キー更新処理（図４〜図６参照）を実行する（ステップＳ５）。コントローラ１８は、キー更新処理が終了すると（ステップＳ６の「ＹＥＳ」）、ディスク１１のキー更新中フラグを「０」に設定するとともに、第１の暗号キー（旧キー）ＫＥＹ１を消去する（ステップＳ７）。
【００３４】
図４および図５は、コントローラ１８により実行されるキー更新処理を説明するための図であり、図４は、キー更新処理の概略を説明するための模式図、図５は、キー更新処理の詳細を説明するためのフローチャートである。
【００３５】
図４および図５において、ＣＬＴ（Ｃｕｒｒｅｎｔ  Ｌｏｇｉｃａｌ  Ｔｒａｃｋ）は現在の論理トラック、ＰＴＴ（Ｐｈｙｓｉｃａｌ  Ｔａｒｇｅｔ  Ｔｒａｃｋ  ｆｏｒ  ｎｅｗ  ＫＥＹ）は、リザーブドトラック、ＰＳＴ（Ｐｈｙｓｉｃａｌ  Ｓｏｕｒｃｅ  ｗｉｔｈ  ｏｌｄ  ＫＥＹ）は、更新元トラックを示している。
【００３６】
キー更新処理が実行されると、ファームウェアのマトリクステーブルがＤＲＡＭ１９にロードされ、ＤＲＡＭ１９上で、マトリクステーブルが更新されるとともに、ＣＬＴ／ＰＴＴ／ＰＳＴの現在値が保持される。
【００３７】
図４において、有効なユーザデータの書き込まれていない物理トラックを物理トラックＮ−１とし、ユーザデータが書き込まれている物理トラックをＮ〜ＭＡＸとする。本実施例のキー更新処理では、ユーザデータの書き込まれていない物理トラックを、リザーブドトラックとして、最初に少なくとも１つ設定する必要がある。物理トラックＮ〜ＭＡＸに書き込まれているユーザデータを、データＮ〜データＭＡＸとする。キー更新処理中に電源遮断（システムの正常な終了ではなく、電源がいきなりＯＦＦされた場合）が行われてもデータが失われないようにするために、各物理トラックは、ＣＦ（コントロールフラグ）およびＬＴ（論理トラック）が記録されているＣＦセクタ（コントロールフラグセクタ：コントロール領域）を備えている。ＣＦ＝１は、第１の暗号キーＫＥＹ１で暗号化されたことを示し、ＣＦ＝２は、第２の暗号キーＫＥＹ２で暗号化されたことを示す。
【００３８】
まず、物理トラックＮ−１をＰＴＴ（第１のリザーブドトラック）、物理トラックＮをＰＳＴ（第１の更新元トラック）に設定し、物理トラックＮに書き込まれているデータＮを第１の暗号キーＫＥＹ１で復号化した後、第２の暗号キーＫＥＹ２で暗号化し、第２の暗号キーＫＥＹ２で暗号化したデータＮを物理トラックＮ−１に書き込む。物理トラックＮ−１へのデータの書き込み完了後、物理トラックＮ−１のＣＦセクタのＣＦを「２」に設定し、また、物理トラックＮに割り当てていたＬＴを、トラックＮ−１に割り当て、ＣＦセクタのＬＴに記録するとともに、マトリックステーブルを更新する。これにより、物理トラックＮ−１は有効となり、物理トラックＮは無効化されたものとして、つぎに、物理トラックＮをＰＴＴ（第２のリザーブドトラック）、物理トラックＮ＋１をＰＳＴ（第２の更新元トラック）に設定して、物理トラックＮ＋１に書き込まれているデータＮを第１の暗号キーＫＥＹ１で復号化した後、第２の暗号キーＫＥＹ２で暗号化し、第２の暗号キーＫＥＹ２で暗号化したデータＮ＋１を物理トラックＮに書き込む。
【００３９】
物理トラックＮへのデータの書き込み完了後には、物理トラックＮのＣＦセクタのＣＦに「２」を記録し、また、物理トラックＮ＋１に割り当てていたＬＴを、トラックＮに割り当て、ＣＦセクタのＬＴに記録するとともに、マトリックステーブルを更新する。次に、物理トラックＮ＋１をＰＴＴ（第３のリザーブドトラック）、物理トラックＮ＋２をＰＳＴ（第３の更新元トラック）に設定する。以降、同様の処理を物理トラックＭＡＸまで行う。キー更新処理を高速に行うためには、ＰＴＴおよびＰＳＴのペアは、隣接する物理トラックに設定するのが望ましい。キー更新処理は、最短、ディスク２回転で完了することができる。ここでは、更新元トラックを次のリザーブドトラックとすることとしたが、次のリザーブドトラックは、更新元トラックに限られるものではなく、有効なユーザデータが記録されていない他のトラックとすることにしてもよい。また、物理トラックへのデータの書き込み完了後に当該物理トラックのＣＦセクタのＣＦを記録することとしたが、データの書き込みと同時にＣＦを記録することにしてもよい。
【００４０】
なお、物理トラックＮ−１へのデータ書き込み最中に電源が切られ、その上のセクタが壊れたとしても、書き込み中である物理トラックＮ−１は有効化されておらずＬＴも割り当てられていないため、データロスになることは無い。また、物理トラックＮ−１への書き込みが完了して有効化されてＬＴがアサインされた瞬間に電源が遮断された場合は、物理トラックＮ−１と物理トラックＮの両方が同じデータにより有効化され、同じＬＴが割り当てられている可能性があるが、第２の暗号キーＫＥＹ２を用いて物理トラックＮ−１の書き込みが完了し、ＬＴが割り当てられていることにより、物理トラックＮは無効化されたものとみなしてよい。
【００４１】
図５において、まず、ＣＬＴ＝Ｚ、ＰＴＴ＝Ｙ、ＰＳＴ＝ＣＬＴ（ＬＴ＝０）に割り当てられている物理トラックＸを設定する（ステップＳ１１）。ここで、Ｙは、有効なユーザデータの書き込まれていないリザーブドトラックである。つづいて、ＰＴＴに損傷があるか否かを判定する（ステップＳ１２）。ＰＴＴに損傷がある場合には（ステップＳ１２の「Ｙｅｓ」）、ＰＴＴに別のリザーブドトラックを割り当てて（ステップＳ１８）、ステップＳ１２に戻る。
【００４２】
ＰＴＴに損傷がない場合には（ステップＳ１２の「Ｎｏ」）、第１の暗号キーＫＥＹ１で暗号化されているＰＳＴのデータを読み出して、ＤＲＡＭ１９にロードし（ステップＳ１３）、第２の暗号キーＫＥＹ２で再暗号化した後、ＰＴＴに、第２の暗号キーＫＥＹ２で再暗号化したデータを書き込む（ステップＳ１４）。ＰＴＴのデータ書込み完了後（ステップＳ１５の「Ｙｅｓ」）、そのＣＦセクタにＣＦ＝２を書き込み、ＣＬＴに対応する物理トラックを、ＰＳＴからＰＴＴに変更して、ＣＦセクタにＣＬＴを書き込むとともに、マトリクステーブルを更新する（ステップＳ１６）。
【００４３】
そして、ＣＬＴは、ＭＡＸトラックか否かを判定し（ステップＳ１７）、ＣＬＴがＭＡＸトラックである場合には（ステップＳ１７の「Ｙｅｓ」）、当該キー更新処理を終了する。他方、ＣＬＴがＭＡＸトラックでない場合には（ステップＳ１７の「Ｎｏ」）、ＰＴＴ＝Ｘ、ＰＳＴ＝Ｘ＋１、ＣＬＴ＝Ｚ＋１とした後（ステップＳ１９）、ステップＳ１２に戻り、ＣＬＴ＝ＭＡＸトラックとなるまで同じ処理を繰り返し実行する。
【００４４】
更新処理中に、ユーザの正常操作に基づくホスト装置３０からのシステム終了命令が入力した場合には、キー更新処理を中断して、ＤＲＡＭ１９上のマトリクステーブル、ＣＬＴ／ＰＴＴ／ＰＳＴをディスク１１に記録するとともに、キー更新処理が待機状態である旨を示す待機情報をディスク１１に記録する。この後、電源をＯＦＦする。電源ＯＮ時には、この待機情報が記録されている場合には、ディスク１１に記録されているマトリクステーブル、ＣＬＴ／ＰＴＴ／ＰＳＴをＤＲＡＭ１９にロードして、中断したところからキー更新処理を再開する。
【００４５】
図６は、キー更新処理中に電源遮断された後、電源がオンされた場合のキー更新処理を説明するための図である。同図において、ＬＰＴ（Ｌｏｗｅｒ  Ｐｈｙｓｉｃａｌ  Ｔｒａｃｋ）は、最低物理トラック、ＨＰＴ（（Ｈｉｇｈｅｒ  Ｐｈｙｓｉｃａｌ  Ｔｒａｃｋ）は最高物理トラックを示している。
【００４６】
図６において、デバイス電源がＯＮされると、ディスク１１に記録されているキー更新中フラグが「１」であるか否かを判定する（ステップＳ２１）。キー更新中フラグが「１」でない場合には（ステップＳ２１の「Ｎｏ」）、アイドル状態に移行する（ステップＳ２９）。キー更新中フラグが「１」である場合には（ステップＳ２１の「Ｙｅｓ」）、正常終了であるか否かを判断する（ステップＳ３０）。具体的には、上述したように、ディスク１１に待機情報が記録されている場合には、正常終了、待機情報が記録されていない場合には、正常終了ではないと判断する。正常終了である場合には（ステップＳ３０の「Ｙｅｓ」）、ディスク１１に記録されているマトリクステーブル、ＣＬＴ／ＰＴＴ／ＰＳＴをＤＲＡＭ１９にロードした後（ステップＳ３１）、図５のステップＳ１２に移行して、キー更新処理を継続する。他方、正常終了でない場合には（ステップＳ３０の「Ｎｏ」）、ＣＰＴ＝Ｍａｘ物理トラック／２、ＬＰＴ＝０，ＨＰＴ＝ＭＡＸ物理トラックに設定する（ステップＳ２２）。
【００４７】
この後、ディスク１１のＣＰＴをシークし、そのＣＦセクタからＣＦを読み込み（ステップＳ２３）。ＣＦ＝２であるか否か、即ち、ＣＰＴが第２の暗号キーＫＥＹ２で暗号化されているか否かを判定する（ステップＳ２４）。ＣＦ＝２である場合には（ステップＳ２４の「Ｙｅｓ」）、ＬＰＴ＝ＣＰＴ、ＨＰＴ＝ＨＰＴ、ＣＰＴ＝（ＣＰＴ＋ＨＰＴ）／２に設定する（ステップＳ２５）。他方、ＣＰＴが第２の暗号キーＫＥＹ２で暗号化されていない場合には（ステップＳ２４の「Ｎｏ」）、ＬＰＴ＝ＬＰＴ、ＨＰＴ＝ＣＰＴ、ＣＰＴ＝（ＣＰＴ＋ＬＰＴ）／２に設定する（ステップＳ２６）。
【００４８】
この後、ＬＰＴ＝ＨＰＴか否かを判定し（ステップＳ２７）、ＬＰＴ＝ＨＰＴでない場合には（ステップＳ２７の「Ｎｏ」）、ステップＳ２３に戻る一方、ＬＰＴ＝ＨＰＴである場合には（ステップＳ２７の「Ｙｅｓ」）、ＣＰＴのＣＦセクタから当該ＣＰＴに割り当てられているＣＬＴを読み出して、ＰＳＴ＝ＣＬＴとした後、ＰＴＴをサーチし、マトリクステーブルを最新のものに更新する（ステップＳ２８）。マトリクステーブルの更新内容が電源遮断で失われているためである。ＣＬＴ、ＰＳＴ、ＰＴＴを再設定した後、図５のステップＳ１２に移行して、キー更新処理を継続する。
【００４９】
このように、キー更新処理中に電源遮断された後、電源がＯＮされた場合でも、各領域の１／２に位置する物理トラックのＣＦを確認していくことにより、キー更新処理が中断した物理トラックをサーチすることができる。全物理トラックがＭＡＸ個の場合は、ｌｏｇ２（ＭＡＸ）回だけシークすればよいことになる。例えば、全物理トラックが、２４０，０００あれば、１８回シーク（約３００ｍｓｅｃ）すれば暗号キー更新が完了した最後の物理トラックを探索することができる。
【００５０】
以上説明したように、実施例１によれば、コントローラ１８は、ディスク１１において、トラック単位で、更新元トラックおよびリザーブドトラックのペアを設定する設定手段と、設定手段で設定された更新元エリアから第１の暗号キーＫＥＹ１で暗号化されているデータを読み出して、第１の暗号キーＫＥＹ１で復号化する復号化手段と、復号化手段で復号化されたデータを、第２の暗号キーＫＥＹ２で再暗号化して、設定手段で設定されたリザーブドエリアに記録する暗号化手段として機能し、設定手段は、キー更新処理では、まず、有効なユーザデータが記録されていないトラックを第１のリザーブドトラックとして設定するとともに、第１の更新元トラックを設定し、次に、第１の更新元トラックを第２のリザーブドトラックとして設定するとともに、第２の更新元トラックを設定し、これをキー更新処理の対象となるトラックが終了するまで繰り返すこととしたので、データが暗号キーで暗号化されてディスクに記録されている場合に、その暗号キーを簡単かつ高速に変更することが可能となる。
【００５１】
また、実施例１によれば、ディスク１１に、キー更新処理が継続中であるか否かを示すキー更新中フラグを記録するとともに、各物理トラックに、暗号化に用いられた暗号キーの種類を示すＣＦを記録することとしたので、キー更新処理中の電源遮断から復帰した場合でも、中断した位置からキー更新処理を再開することができ、キー更新中の電源遮断によりデータが失われることはない。付言すると、不揮発性メモリを使用しない安価な構成で、キー更新処理中の電源遮断から復帰した場合でも、中断した位置からキー更新処理を再開することができる。
【００５２】
また、実施例１によれば、更新元トラックとリザーブドトラックのペアを隣接する物理トラックとすることとしたので、キー更新処理をより高速に行うことが可能となる。
【００５３】
（実施例２）
図７〜図１１を参照して、実施例２に係るハードディスク装置を説明する。図７は、実施例２に係るハードディスク装置の構成例を示す図ある。図７において、図１と同等機能を有する部位には同一符号を付し、共通する部分の説明は省略して、異なる部分についてのみ説明する。実施例２に係るハードディスク装置１０は、図７に示すように、実施例１のハードディスク装置に不揮発性メモリ２１を搭載した構成である。コントローラ１８は、キー更新処理を実行する場合に、不揮発性メモリ２１に、キー更新中フラグ、マトリクステーブル、ＣＬＴ／ＰＴＴ／ＰＳＴを格納する。実施例２では、不揮発性メモリ２１を搭載することで、実施例１のように、ディスク１１にＣＦセクタを設ける必要がなく、キー更新処理を簡素化することができる。
【００５４】
つぎに、図８〜図１１を参照して、実施例２に係るキー更新処理を詳細に説明する。図８は暗号キーの更新手順を説明するためのフローチャートである。図８において、図３と同様な処理を行うステップは同一のステップ番号を付してその説明を省略し、異なる点についてのみ説明する。
【００５５】
図８において、コントローラ１８は、パスワードが正しいと判断した場合（ステップＳ３の「Ｙｅｓ」）、不揮発性メモリ２１に記録されたキー更新中フラグを「１」に設定すると共に、暗号キーＫＥＹ２を生成して、不揮発性メモリ２１に記録する（ステップＳ４１）。
【００５６】
コントローラ１８は、キー更新処理が終了すると（ステップＳ６の「Ｙｅｓ」）、不揮発性メモリ２１のキー更新中フラグを「０」に設定するとともに、不揮発性メモリ２１の第１の暗号キーＫＥＹ１を消去する（ステップＳ４２）。
【００５７】
図９および図１０は、実施例２におけるントローラ１８により実行されるキー更新処理を説明するための図であり、図９は、キー更新処理の概略を説明するための模式図、図１０は、キー更新処理の詳細を説明するためのフローチャートである。
【００５８】
図９において、図４と異なる点は、ディスク１１にＣＦセクタがない点であり、他の処理は図４と同様である。実施例２では、キー更新処理が実行されると、ファームウェアのマトリクステーブルがＤＲＡＭ１９にロードされ、ＤＲＡＭ１９上で、マトリクステーブルが更新されるとともに、ＣＬＴ／ＰＴＴ／ＰＳＴの現在値が保持される。ＤＲＡＭ１９上のマトリクステーブル、ＣＬＴ／ＰＴＴ／ＰＳＴは不揮発性メモリ２１にリストアされる。
【００５９】
図１０において、図５と同様な処理を行うステップは同一のステップ番号を付してその説明を省略し、異なる点についてのみ説明する。図１０において、データ書込み完了後（ステップＳ１５の「Ｙｅｓ」）、ＣＬＴに対応する物理トラックを、ＰＳＴからＰＴＴに変更して、マトリクステーブルを更新する（ステップＳ４３）。そして、マトリクステーブル、ＣＬＴ／ＰＳＴ／ＰＴＴを不揮発性メモリ２１にリストアする（ステップＳ４４）。
【００６０】
図１１は、電源オン時のキー更新処理を説明するための図である。図１１において、デバイス電源がＯＮされると、不揮発性メモリ２１のキー更新中フラグが「１」であるか否かを判定する（ステップＳ５１）。キー更新中フラグが「１」でない場合には（ステップＳ５１の「Ｎｏ」）、アイドル状態に移行する（ステップＳ５３）。他方、キー更新中フラグが「１」である場合には（ステップＳ５１の「Ｙｅｓ」）、不揮発性メモリ２１からマトリクステーブル、ＣＬＴ／ＰＳＴ／ＰＴＴを読み出して、ＤＲＡＭ１９にロードして、図１０のステップＳ１２に移行して、キー更新処理を中断した位置から再開する。
【００６１】
実施例２によれば、不揮発性メモリ２１を設け、この不揮発性メモリ２１に、キー更新処理が継続中であるか否かを示すキー更新中フラグを記録するとともに、ＰＴＴ（リザーブドトラック）およびＰＴＳ（更新元トラック）の現在値を記録することとしたので、キー更新処理中の電源遮断から復帰した場合でも、中断した位置からキー更新処理を簡単に再開することができ、キー更新中の電源遮断によりデータが失われることはない。
【００６２】
なお、上記実施例１および実施例２では、キー更新処理をトラック単位で行うこととしたが、本発明はこれに限られるものではなく、セクタ単位で行うことにしてもよい。
【００６３】
（実施例３）
上記実施例１〜２のハードディスク装置１０は、パーソナルコンピュータ（ＰＳ）、ＡＶ機器（例えば、ビデオレコーダー）等に広く適用可能である。図１２は、上記実施例１および実施例２のハードディスク装置１０をパーソナルコンピュータに適用した場合を示す図である。パーソナルコンピュータ１００は、図１２に示すように、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、表示装置１０４と、入力装置１０５と、ＦＤ１０８に対してデータのリード／ライトを行うＦＤドライブ１０６と、ＤＶＤ／ＣＤ１０９のデータをリードするＤＶＤ／ＣＤドライブ１０７と、通信Ｉ／Ｆ１１０と、ハードディスク装置１０とを備えている。
【００６４】
なお、上記実施例では、ハードディスク装置について説明したが、本発明にかかる磁気記録装置は、ハードディスク装置に限られるものではなく、トラック単位またはセクタ単位でデータを記録する他の磁気記録媒体、例えば、フレキシブルディスク、ＣＤ−Ｒ（ＣｏｍｐａｃｔＤｉｓｋ−Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ−Ｒ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ−Ｒｅｃｏｒｄａｂｌｅ）、光磁気ディスクの記録装置にも適用可能である。
【産業上の利用可能性】
【００６５】
本発明にかかる磁気記録装置、磁気記録方法、および磁気記録用プログラムは、磁気記録媒体にデータを記録する各種磁気記録装置に広く適用可能であり、特に、ハードディスク装置に有用である。  
【図面の簡単な説明】
【００６６】
【図１】本発明の実施例１に係る磁気記録装置を適用したハードディスク装置の概略の構成例を示す図である。
【図２】マトリックステーブルの一例を示す図である。
【図３】暗号キーの更新手順を説明するためのフローチャートである。
【図４】キー更新処理の概略を説明するための模式図である。
【図５】キー更新処理の詳細を説明するためのフローチャートである。
【図６】キー更新処理中に電源遮断された後、電源がオンされた場合のキー更新処理を説明するためのフローチャートである。
【図７】本発明の実施例２に係る磁気記録装置を適用したハードディスク装置の概略の構成例を示す図である。
【図８】暗号キーの更新手順を説明するためのフローチャートである。
【図９】キー更新処理の概略を説明するための模式図である。
【図１０】キー更新処理の詳細を説明するためのフローチャートである。
【図１１】電源がオンされた場合のキー更新処理を説明するためのフローチャートである。
【図１２】パーソナルコンピュータの構成例を示す図である。
【符号の説明】
【００６７】
１０  ハードディスク装置
１１  ディスク
１２  ＳＰＭ
１３  ヘッド
１４  アーム
１５  ＶＣＭ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ）
１６  ドライブ制御部
１７  リード／ライト信号処理部
１８  コントローラ
１９  ＤＲＡＭ
２０  ＲＯＭ
２１  不揮発性メモリ
３０  ホスト装置
４０  インターフェース
１００  パーソナルコンピュータ
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  表示装置
１０５  入力装置
１０６  ＦＤドライブ
１０７  ＤＶＤ／ＣＤドライブ
１０８  ＦＤ
１０９  ＤＶＤ／ＣＤ
１１０  通信Ｉ／Ｆ
【図１】
2008259170.tif 000003
【図２】
2008259170.tif 000004
【図３】
2008259170.tif 000005
【図４】
2008259170.tif 000006
【図５】
2008259170.tif 000007
【図６】
2008259170.tif 000008
【図７】
2008259170.tif 000009
【図８】
2008259170.tif 000010
【図９】
2008259170.tif 000011
【図１０】
2008259170.tif 000012
【図１１】
2008259170.tif 000013
【図１２】
2008259170.tif 000014