説明

記憶装置及び記憶装置のデータ改ざん防止方法

【課題】記憶装置の記憶媒体上のデータ秘匿の高度なセキュリティを確保する。
【解決手段】磁気ディスク装置100は、ホストコンピュータ200から図1に示したものと同一のユーザ入力によるフォーマット時のパスワードが入力される(ステップS121)。続いて、磁気ディスク装置100は、フォーマット情報を含まない暗号鍵生成用情報を生成する。磁気ディスク装置100は、ステップS122で生成したフォーマット情報を含まない暗号鍵生成用情報を用いて暗号鍵を生成する(ステップS123)。一方、磁気ディスク装置100は、ホストコンピュータ200からライトデータが入力される(ステップS124)。続いて、磁気ディスク装置100は、ステップS123で生成された暗号鍵でライトデータを暗号化する(ステップS125)。磁気ディスク装置100は、この暗号化されたライトデータを磁気ディスク100aの該当セクタに書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ改ざん防止機能を有する記憶装置及び記憶装置のデータ改ざん防止方法に関する。
【背景技術】
【0002】
従来から、記憶媒体にデータを記憶する記憶装置において、データの秘匿性を保持することが重要な課題であった。これは、悪意の第三者によってデータが改ざんされると、重大なトラブルが発生する可能性が高いためである。例えば、簡易な例では、パスワードを用い、正当なパスワードが入力された場合、データの書き込みや更新を許可するといった様々な方法が考案されてきた。
【0003】
例えば、上記課題を達成するため、従来技術として、キーワード及びパスワード、若しくは、パスワードに基づいて生成された暗号鍵を用いて記憶媒体にデータアクセスする方法が考案されている。データアクセスの際、暗号鍵の生成回数に応じて、キーワード及びパスワード、若しくは、パスワードの入力を求め、これらに基づいて生成した暗号鍵を用いてデータの秘匿性を高めようというものである。
【0004】
また、他の従来技術として、フォーマット処理された記憶媒体に対してユーザIDとパスワードを設定し、設定されたユーザIDとパスワードを用いてユーザID毎の暗号鍵を生成し、記憶媒体にデータを書き込む際に、生成された暗号鍵を用いてデータを暗号化する方法が考案されている。
【0005】
また、他の従来技術として、データのライト回数を制御する記憶装置において、記憶媒体の書き換え可能回数の上限値未満の回数だけフォーマット可能回数を制限することによって、悪意の第三者によってデータの書き換えやフォーマットによるデータ消去を低減する方法が考案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−027202号公報
【特許文献2】特開2006−309298号公報
【特許文献3】特開2006−031396号公報
【特許文献4】特開平11−149414号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記従来技術では、パスワードが漏洩するとデータ改ざんやデータ消去が可能となることから、パスワードの管理を厳重にしなければならない。換言すれば、データの書き込みや更新の許可をパスワードのみによって行うため、記憶装置の記憶媒体上のデータ秘匿に関し、悪意の第三者に対して極めてセキュリティが脆弱であった。
【0008】
また、上記従来技術では、記憶装置にユーザIDやパスワード、媒体へのアクセス許可情報等を記憶する記憶領域を設けなければならず、記憶領域を設けるコスト及びその記憶領域内のデータ改ざんの脅威という問題点があった。
【0009】
開示の技術は、上記に鑑みてなされたものであって、記憶装置の記憶媒体上のデータ秘匿に関し、悪意の第三者に対して高度なセキュリティを確保するとともに、記憶領域を設けるコスト及び記憶領域内のデータ改ざんの脅威という問題を回避する記憶装置及び記憶装置のデータ改ざん防止方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示する記憶装置及び記憶装置のデータ改ざん防止方法は、一つの態様において、ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成し、暗号鍵生成情報に基づいて暗号鍵を生成し、ホストコンピュータから入力された記憶媒体の初期化データを暗号鍵を用いて暗号化し、暗号化された初期化データで記憶媒体の全記憶領域を初期化し、記憶媒体から読み出したデータを暗号鍵に対応する復号鍵を用いて復号化し、復号化されたデータと、初期化データとを比較し、復号化されたデータと、初期化データとが一致する場合、記憶媒体へユーザデータの書き込みを許可することを要件とする。
【0011】
この態様によれば、暗号化された初期化データで記憶媒体の全記憶領域を初期化し、記憶媒体から読み出したデータを暗号鍵に対応する復号鍵を用いて復号化されたデータと、初期化データとが一致する場合、記憶媒体へユーザデータの書き込みを行うので、暗号鍵を生成するための情報を記憶する記憶領域なしに記憶媒体のライトワンス機能を実現できる。
【発明の効果】
【0012】
本願の開示する記憶装置及び記憶装置のデータ改ざん防止方法の一つの態様によれば、記憶装置の記憶媒体上のデータ秘匿に関し、悪意の第三者に対して高度なセキュリティを確保するとともに、記憶領域を設けるコスト及び記憶領域内のデータ毀損の脅威という問題を回避するという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】図1は、実施例に係るライトワンス状態を作るための全面ライト動作(フォーマットモード)の概要を説明するための図である。
【図2−1】図2−1は、実施例に係るライトワンスモード時の動作(ベリファイ認証)の概要を説明するための図である。
【図2−2】図2−2は、実施例に係るライトワンスモード時の動作(ベリファイ認証許可後のライト(1回目))の概要を説明するための図である。
【図2−3】図2−3は、実施例に係るライトワンスモード時の動作(ベリファイ認証許可後のライト(2回目以降))の概要を説明するための図である。
【図3−1】図3−1は、実施例に係るフォーマット情報を含む暗号鍵生成用情報の作り方の一例を示す図である。
【図3−2】図3−2は、実施例に係るフォーマット情報を含まない暗号鍵生成用情報の作り方の一例を示す図である。
【図4】図4は、実施例に係る磁気ディスク装置の構成を示すブロック図である。
【図5】図5は、実施例に係るHDCの構成を示す機能ブロック図である。
【図6】図6は、実施例に係るフォーマット処理手順を示すフローチャートである。
【図7】図7は、実施例に係るライトワンス認証処理手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下に、本願の開示する記憶装置及び記憶装置のデータ改ざん防止方法の実施例を図面に基づいて詳細に説明する。以下の実施例で示す記憶装置は、磁気ディスクを記憶媒体とする磁気ディスク装置である。しかし、これに限らず、光ディスク装置、光磁気ディスク装置、熱磁気ディスク装置、半導体不揮発メモリの様な他の記憶装置であってもよい。なお、以下の実施例により本願発明が限定されるものではない。
【0015】
以下の実施例では、磁気ディスクへのライトデータの書き込み単位は、セクタ単位であるとして説明するが、隣接するサーボ情報間に含まれる複数のセクタ、トラック等であってもよい。なお、以下の実施例でいう「該当セクタ」とは、ライトデータを書き込む対象の磁気ディスクの領域である。
【実施例】
【0016】
[ライトワンス状態を作るための全面ライト動作の概要]
図1は、実施例に係るライトワンス状態を作るための全面ライト動作(フォーマットモード)の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置100の磁気ディスク100aをフォーマット後に各セクタそれぞれに1回だけデータの書き込みを許可するライトワンス状態を作る概要を示す。
【0017】
図1に示す様に、磁気ディスク装置100は、ホスト(ホストコンピュータの略、以下同様)200からユーザ入力によるパスワードが入力される(ステップS101)。ここでのパスワードは、磁気ディスク装置100の磁気ディスク100aをフォーマットするために必要なフォーマット時のパスワードである。
【0018】
続いて、磁気ディスク装置100は、フォーマット情報を含む暗号鍵生成用情報を生成する(ステップS102)。ここでのフォーマット情報とは、暗号鍵生成用情報が磁気ディスク100aをフォーマットする際の情報であるか否かを示す情報(例えば、フラグ情報等)である。
【0019】
フォーマット情報を含む暗号鍵生成用情報は、図3−1に示す様にして生成される情報である。図3−1によれば、先ず、ホストコンピュータ200から入力されたフォーマット時のパスワードをハッシュ関数に入力して256bitのデータを得る。この256bitのデータに256bitの乱数を加算したものを(1)と称することにする。
【0020】
続いて、(1)を1bitだけ右シフトした結果は256bitのデータであるが、このデータの最上位bitを“1”にする。最上位bitの“1”がフォーマット情報である。最上位bitを“1”にした256bitのデータが、フォーマット情報を含む暗号鍵生成用情報である。
【0021】
図1に戻り、磁気ディスク装置100は、ステップS102で生成したフォーマット情報を含む暗号鍵生成用情報を用いて暗号鍵を生成する(ステップS103)。一方、磁気ディスク装置100は、ホストコンピュータ200からフォーマット時のデータパターンが入力される(ステップS104)。
【0022】
続いて、磁気ディスク装置100は、ステップS103で生成された暗号鍵でフォーマット時のデータパターンを暗号化する(ステップS105)。磁気ディスク装置100は、この暗号化されたフォーマット時のデータパターンを用いて、磁気ディスク100aを全面フォーマットする。
【0023】
[ライトワンスモード時の動作(ベリファイ認証)の概要]
図2−1は、実施例に係るライトワンスモード時の動作(ベリファイ認証)の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置100の磁気ディスク100aにおいて、磁気ディスク100aにライトデータの書き込みを許可するためのベリファイ認証の概要を示す。
【0024】
図2−1に示す様に、磁気ディスク装置100は、ホストコンピュータ200から図1に示したものと同一のユーザ入力によるフォーマット時のパスワードが入力される(ステップS111)。続いて、磁気ディスク装置100は、図1のステップS102と同様にフォーマット情報を含む暗号鍵生成用情報を生成する(ステップS112)。
【0025】
続いて、磁気ディスク装置100は、ステップS102と同様に、ステップS112で生成したフォーマット情報を含む暗号鍵生成用情報を用いて暗号鍵及び対応する復号鍵を生成する(ステップS113)。
【0026】
続いて、磁気ディスク装置100は、磁気ディスク100aのライトデータ書き込み対象のセクタからデータを読み出し、ステップS113で生成した暗号鍵を用いて復号化する(ステップS114)。ステップS114によって、復号化されたデータパターンが得られる(ステップS115)。
【0027】
一方、磁気ディスク装置100は、ホストコンピュータ200からフォーマット時のデータパターンが入力される(ステップS116)。続いて、磁気ディスク装置100は、ステップS115で復号化されたデータパターンと、ステップS116で入力されたフォーマット時のデータパターンとを比較する(ステップS117)。
【0028】
ステップS117の比較の結果、両者が一致する場合、ベリファイ認証は成功である。ベリファイ認証が成功すると、ホストコンピュータ200は、磁気ディスク装置100の磁気ディスク100aへのライトデータの書き込みを許可される。
【0029】
なお、ステップS117の比較の結果、両者が一致しない場合、すなわち、ベリファイ認証が失敗となるのは、例えば、ホストコンピュータ200から入力されたフォーマット時のパスワードが異なる、ホストコンピュータ200から入力されたフォーマット時のデータパターンが異なる、既にライトワンスモードで該当セクタにデータが書き込まれている場合である。
【0030】
[ライトワンスモード時の動作(ベリファイ認証許可後のライト(1回目))の概要]
図2−2は、実施例に係るライトワンスモード時の動作(ベリファイ認証許可後のライト(1回目))の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置100の磁気ディスク100aにおいて、磁気ディスク100aにフォーマット後に初めてライトデータを書き込む概要を示す。
【0031】
図2−2に示す様に、磁気ディスク装置100は、ホストコンピュータ200から図1に示したものと同一のユーザ入力によるライトワンス時のパスワードが入力される(ステップS121)。続いて、磁気ディスク装置100は、フォーマット情報を含まない暗号鍵生成用情報を生成する(ステップS122)。
【0032】
フォーマット情報を含まない暗号鍵生成用情報は、図3−2に示す様にして生成される情報である。図3−2によれば、先ず、ホストコンピュータ200から入力されたフォーマット時のパスワードをハッシュ関数に入力して256bitのデータを得る。この256bitのデータに256bitの乱数を加算したものを(1)と称することにする。
【0033】
続いて、(1)を1bitだけ右シフトした結果は256bitのデータであるが、このデータの最上位bitを“0”にする。最上位bitの“0”であることがフォーマット情報を含まないことに相当する。最上位bitを“0”にした256bitのデータが、フォーマット情報を含まない暗号鍵生成用情報である。
【0034】
図2−2に戻り、磁気ディスク装置100は、ステップS122で生成したフォーマット情報を含まない暗号鍵生成用情報を用いて暗号鍵を生成する(ステップS123)。一方、磁気ディスク装置100は、ホストコンピュータ200からライトデータが入力される(ステップS124)。
【0035】
続いて、磁気ディスク装置100は、ステップS123で生成された暗号鍵でライトデータを暗号化する(ステップS125)。磁気ディスク装置100は、この暗号化されたライトデータを磁気ディスク100aの該当セクタに書き込む。
【0036】
[ライトワンスモード時の動作(ベリファイ認証許可後のライト(2回目以降))の概要]
図2−3は、実施例に係るライトワンスモード時の動作(ベリファイ認証許可後のライト(2回目以降))の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置100の磁気ディスク100aにおいて、磁気ディスク100aに既にライトデータが書き込まれた後に、さらにライトデータを書き込むためベリファイ認証を行う概要を示す。
【0037】
なお、図2−3におけるステップS131〜ステップS137の各処理は、図2−1に示したステップS111〜ステップS117に相当する。ただし、ステップS117では、比較の結果、両者が一致するので、ベリファイ認証は成功である。一方、ステップS137では、比較の結果、両者が一致しないので、ベリファイ認証は失敗である。すなわち、ベリファイ認証が失敗したので、ホストコンピュータ200は、磁気ディスク装置100の磁気ディスク100aへのライトデータの書き込みを許可されない。
【0038】
ここで、フォーマット情報を含む暗号鍵生成用情報と、フォーマット情報を含まない暗号鍵生成用情報とで、フォーマット時の暗号鍵生成用情報と、ライトデータの書き込み時の暗号鍵生成用情報とを区別する理由は、次の通りである。
【0039】
すなわち、フォーマット時及びライトデータの書き込み時に同一の暗号鍵生成用情報を用いると、図2−3に示すように、磁気ディスク100aにおいて、磁気ディスク100aに既にライトデータが書き込まれた後に、さらにライトデータを書き込むためベリファイ認証をおこなった場合を想定する。このとき、用いる暗号鍵が同一であると、ライトデータが偶然フォーマット時のデータパターンと一致する場合、復号化されたデータパターンと、フォーマット時のデータパターンとが一致してしまうという不都合を回避するためである。
【0040】
[磁気ディスク装置の構成]
図4は、実施例に係る磁気ディスク装置の構成を示すブロック図である。図4は、実施例に係る磁気ディスク装置の構成を示すブロック図である。同図に示すように、実施例に係る磁気ディスク装置100は、磁気ディスク100aと、磁気ディスク100aを、回転軸を中心に回転させるSPM(SPindle Motor)12と、インナストッパ13と、アウタストッパ14と、ヘッドアクチュエータ15と、ヘッドアクチュエータ15の先端に取り付けられた磁気ヘッド16と、VCM(Voice Coil Motor)17とを有する。
【0041】
また、SPM12を駆動するSPM駆動回路18と、VCM17を駆動させるVCM駆動回路19とを有する。また、磁気ヘッド16によって、磁気ディスク100aから読み出された信号および磁気ディスク100aへ書き込む信号を増幅するプリアンプ20と、磁気ディスク100aに書き込む情報をエンコードし、磁気ディスク100aから読み取った信号をデコードするR/WC(Read/Write Channel)21とを有する。
【0042】
さらに、磁気ディスク装置100は、自装置の制御を行うMCU(Micro Controller Unit)22と、MCU22に接続される書き換え可能な不揮発メモリ23を有する。また、磁気ディスク装置100のホストコンピュータ200との間で送受信するデータの誤り訂正などを行うHDC(Hard Disk Controller)24と、HDC24がホストコンピュータ200との間で送受信するデータをバッファリングするバッファ25と、ホストコンピュータ200との接続インターフェースであるホストインターフェース26とを有する。
【0043】
[HDCの構成]
図5は、実施例に係るHDCの構成を示す機能ブロック図である。本実施例において、図1、図2−1〜図2−3に示した各処理は、HDC24にてハードウェア的に行われる。
【0044】
図5に示すように、HDC24は、フォーマット部24aと、フォーマット回数記憶部24bと、ライトワンス認証部24cとを有する。フォーマット部24aは、磁気ディスク100aにおいてライトワンス状態を作り出すためのフォーマットを行う機能部である。フォーマット回数記憶部24bは、フォーマット部24aが磁気ディスク100aをフォーマットした回数及びフォーマット回数の上限値を記憶する。
【0045】
ライトワンス認証部24cは、図2−1及び図2−3に概略を示したベリファイ認証を行い、ベリファイ認証が成功の場合、ホストコンピュータ200からのライトデータを磁気ディスク100aへ書き込み許可する。ベリファイ認証が失敗の場合、ホストコンピュータ200からのライトデータを磁気ディスク100aへ書き込み許可しない。
【0046】
フォーマット部24aは、暗号鍵生成情報生成部24a1と、暗号鍵生成部24a2と、暗号化処理部24a3と、フォーマット処理部24a4とを有する。暗号鍵生成情報生成部24a1は、磁気ディスク100aのフォーマット及びベリファイ認証の場合、ホストコンピュータ200から入力された任意のパスワードからフォーマット情報を含む暗号鍵生成用情報を生成する。また、暗号鍵生成情報生成部24a1は、磁気ディスク100aへのライトデータの書き込みの場合、ホストコンピュータ200から入力されたフォーマット時に使用したパスワードからフォーマット情報を含まない暗号鍵生成用情報を生成する。
【0047】
暗号鍵生成部24a2は、暗号鍵生成情報生成部24a1によって生成されたフォーマット情報を含む暗号鍵生成用情報から暗号鍵を生成する。なお、暗号鍵生成部24a2は、磁気ディスク100aをフォーマットする際には暗号鍵のみを生成するが、磁気ディスク100aへのライトデータの書き込み際には、暗号鍵及び対応する復号鍵を生成する。
【0048】
暗号化処理部24a3は、暗号鍵生成部24a2によって生成された暗号鍵を用いて、ホストコンピュータ200から入力されたフォーマット時のデータパターンを暗号化する。フォーマット処理部24a4は、フォーマット回数記憶部24bに記憶されるフォーマット回数を参照し、初回フォーマットを示す情報(すなわち、フォーマット回数が0回)である場合、磁気ディスク100aのフォーマットを許可する。そして、暗号化されたフォーマット時のデータパターンで磁気ディスク100aをフォーマットする。そして、フォーマット回数記憶部24bに記憶されるフォーマット回数に1を加算する。
【0049】
なお、フォーマット回数記憶部24bには、フォーマット回数の上限値も記憶されているので、磁気ディスク100aのフォーマットを複数回許容する場合、フォーマット回数がフォーマット回数の上限値と等しいか否かチェックする。これは、フォーマットを複数回許容する場合において、今回のフォーマットによってフォーマット回数がフォーマット回数の上限値を超えない様にするためである。フォーマット回数がフォーマット回数の上限値と等しい場合、フォーマット処理部24a4は、磁気ディスク100aのフォーマットを許可しない。
【0050】
ライトワンス認証部24cは、アクセス可否チェック部24c1と、復号化処理部24c2と、復号化結果チェック処理部24c3と、ライト処理部24c4とを有する。アクセス可否チェック部24c1は、フォーマット回数記憶部24bを参照して、フォーマット回数がフォーマット回数の上限値に至っているか否かを判定する。
【0051】
復号化処理部24c2は、フォーマット回数がフォーマット回数の上限値に至っていないと判定された場合、磁気ディスク100aの該当セクタから読み出したデータを復号化する。なお、復号化に使用される復号鍵は、暗号鍵生成情報生成部24a1によってフォーマット情報を含む暗号鍵生成用情報を用いて生成された暗号鍵に対応する復号鍵である。
【0052】
復号化結果チェック処理部24c3は、暗号化処理部24a3によって暗号化されたフォーマット時のデータパターンと、復号化処理部24c2によって復号化された磁気ディスクの該当セクタのデータとを比較する。そして、一致する場合、該当セクタにライトデータが1回も書込まれていない状態と判定できるので、ライト処理部24c4に対して磁気ディスク100aへのライトデータの書き込みを許可する。
【0053】
ライト処理部24c4は、ライトデータの書き込みが許可されると、フォーマット情報を含まない暗号鍵生成情報に基づく暗号鍵を用いて暗号化されたライトデータを磁気ディスク100aの該当セクタに書き込む。
【0054】
[フォーマット処理]
図6は、実施例に係るフォーマット処理手順を示すフローチャートである。同図に示す様に、先ず、ステップS201では、暗号鍵生成情報生成部24a1は、ホストコンピュータ200からフォーマット時の任意のパスワードと、フォーマット時のデータパターンとを受領する(入力される)。そして、図3−1に示した方法でフォーマット情報を含む暗号鍵生成情報を生成する(以上、ステップS201)。
【0055】
続いて、ステップS202では、暗号鍵生成部24a2は、ステップS201で生成されたフォーマット情報を含む暗号鍵生成情報を用い、暗号鍵FormatOrgKeyを生成する。そして、暗号化処理部24a3は、ホストコンピュータ200から入力されたフォーマット時のデータパターンFormatHostDatを暗号化する。そして、フォーマット処理部24a4は、磁気ディスク100aを全面フォーマットする(以上、ステップS202)。
【0056】
続いて、ステップS203では、フォーマット処理部24a4は、フォーマット回数記憶部24bの所定記憶領域に記憶されるフォーマット回数に1を加算する。なお、フォーマット回数記憶部24bには、フォーマット処理部24a4及びアクセス可否チェック部24c1のみがアクセス可能であり、磁気ディスク装置100のファームウェアはアクセスできない。フォーマット回数に1を加算する処理は、フォーマットの都度、フォーマット回数の上限値を超えない限り行われる。
【0057】
次に、ステップS204では、フォーマット処理部24a4は、フォーマットが完了したか否かを判定する。フォーマットが完了したと判定された場合(ステップS204肯定)、ステップS205へ移り、フォーマットが完了したと判定されなかった場合(ステップS204否定)、ステップS206へ移る。
【0058】
ステップS205は、ライトワンス認証部24cが、ステップS201で入力されたフォーマット時のパスワードと、データパターンにてライトワンス認証(ベリファイ認証)を行うことが可能となっている。
【0059】
一方、ステップS206は、フォーマットが完了している磁気ディスク100aのセクタでは、ライトワンス認証部24cが、ステップS201で入力されたフォーマット時のパスワードと、データパターンにてライトワンス認証(ベリファイ認証)を行うことが可能となっていることを示す。
【0060】
また、ステップS206は、フォーマットが完了していない磁気ディスク100aのセクタでは、ライトワンス認証部24cが、前回のフォーマット時に入力されたフォーマット時のパスワードと、データパターンにてライトワンス認証(ベリファイ認証)を行うことが可能となっていることを示す。
【0061】
すなわち、磁気ディスク100aの領域を論理的に分割して、複数の異なるパスワードに基づいてフォーマットを行い、それぞれにライトワンス機能を実現することが可能である。これによって、本実施例で実現されるライトワンス機能のセキュリティをより高める場合がある。また、複数ユーザで個別のライトワンス機能を1つの磁気ディスク100aで共有することが可能になるので、磁気ディスク100aの利便性が向上する場合がある。
【0062】
[ライトワンス認証処理]
図7は、実施例に係るライトワンス認証処理手順を示すフローチャートである。同図に示す様に、先ず、ステップS211では、フォーマット処理部24a4は、フォーマット回数記憶部24bを参照して、フォーマット回数(消去回数)がフォーマット回数の上限値(最大値)に達しているか否かを判定する。フォーマット回数がフォーマット回数の上限値に達していると判定された場合(ステップS211肯定)、ステップS212へ移り、フォーマット回数がフォーマット回数の上限値に達していると判定されなかった場合(ステップS211否定)、ステップS213へ移る。ステップS214では、磁気ディスク100aは、通常リードライトモード又は使用負荷又はリードオンリー等の適切なアクセスモードへと移行する。この処理が終了すると、ライトワンス認証処理は終了する。
【0063】
ステップS213では、暗号鍵生成情報生成部24a1は、ホストコンピュータ200からフォーマット時に使用したフォーマット時のパスワードと、フォーマット時のデータパターンFormatHostDatとを受領する(入力される)。そして、図3−1に示した方法でフォーマット情報を含む暗号鍵生成情報を生成する(以上、ステップS213)。
【0064】
続いて、ステップS214では、暗号鍵生成部24a2は、ステップS213で生成されたフォーマット情報を含む暗号鍵生成情報を用い、暗号鍵FormatOrgKeyに対応する復号鍵FormatHostKeyを生成する。
【0065】
続いて、ステップS215では、復号化処理部24c2は、磁気ディスク100aから読み出したリードデータRdataFormatHostKeyを復号化する。そして、リードデータRdataFormatHostKeyと、フォーマット時のデータパターンFormatHostDatとが一致するか否かを比較する(以上、ステップS215)。
【0066】
ステップS216では、復号化チェック処理部24c3は、ステップS215の比較結果が一致するか否かを判定する。一致すると判定された場合(ステップS216肯定)、ステップS217へ移り、一致すると判定されなかった場合(ステップS216否定)、ステップS221へ移る。
【0067】
ステップS217では、復号化結果チェック処理部24c3は、ライト処理部24c4に対して磁気ディスク100aへのライトデータの書き込みを許可する。続いて、ステップS218では、暗号鍵生成情報生成部24a1は、ホストコンピュータ200からライトデータ及びライトデータ書き込み用の任意のパスワードWdataHostPasswordを受領する(入力される)。
【0068】
続いて、ステップS219では、暗号鍵生成部24a2は、パスワードWdataHostPasswordから暗号鍵WdataKeyを生成する。続いて、ステップS220では、暗号化処理部24a3は、WdataKeyを用いてライトデータを暗号化する。そして、ライト処理部24c4は、暗号化されたライトデータを磁気ディスク100aの該当するセクタへと書き込む(以上、ステップS220)。この処理が終了すると、ライトワンス認証処理は終了する。
【0069】
一方、ステップS221では、復号化結果チェック処理部24c3は、既に磁気ディスク100aのフォーマット済み領域に1回以上ライトデータが書き込まれている、又は、フォーマット時に使用したフォーマット時のパスワード及び/又はフォーマット時のデータパターンFormatHostDatが誤っていると判定する。続いて、ステップS222では、復号化結果チェック処理部24c3は、ライト処理部24c4に対して磁気ディスク100aへのライトデータの書き込みを禁止する。この処理が終了すると、ライトワンス認証処理は終了する。
【0070】
上述してきたように、本実施例では、暗号化された初期化データで記憶媒体の全記憶領域を初期化し、記憶媒体から読み出したデータを暗号鍵に対応する復号鍵を用いて復号化されたデータと、初期化データとが一致する場合、記憶媒体へユーザデータの書き込みを行うので、暗号鍵を生成するための情報を記憶する記憶領域なしに記憶媒体のライトワンス機能を実現できる。
【0071】
以上、実施例を説明したが、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてよい。また、実施例に記載した効果は、これに限定されるものではない。
【0072】
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記実施例で示した処理手順、制御手順、具体的名称、各種のデータやパラメタを含む情報については、特記する場合を除いて任意に変更することができる。
【0073】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び/又は統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散及び/又は統合して構成することができる。
【0074】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0075】
(付記1)ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成部と、
前記暗号鍵生成情報生成部によって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成部と、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化部と、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化部と、
前記復号化部によって復号化されたデータと、前記初期化データとを比較する比較部と、
前記比較部によって前記復号化部によって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理部と
を有することを特徴とする記憶装置。
【0076】
(付記2)前記初期化データ暗号化部によって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化部
を有することを特徴とする付記1記載の記憶装置。
【0077】
(付記3)前記比較部は、前記暗号鍵生成情報生成部によって生成された前記記憶媒体の初期化であることを示す初期化情報を含む暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵に対応する復号鍵を用いて前記復号化されたデータと、前記初期化データとを比較する
ことを特徴とする付記1又は2記載の記憶装置。
【0078】
(付記4)前記書込処理部は、前記暗号鍵生成情報生成部によって生成された前記初期化情報を含まない暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵を用いて暗号化したユーザデータを前記記憶媒体へ書き込む
ことを特徴とする付記1、2又は3記載の記憶装置。
【0079】
(付記5)前記復号化部は、前記記憶媒体におけるデータ管理単位で前記データを読み出すことを特徴とする付記1記載の記憶装置。
【0080】
(付記6)前記初期化部によって前記記憶媒体が初期化された回数を記憶する初期化回数記憶部を有し、
前記初期化回数記憶部に記憶される前記回数は、前記初期化部のみによって書き換え可能である
ことを特徴とする付記1記載の記憶装置。
【0081】
(付記7)前記回数をチェックする回数チェック部を有し、
前記回数チェック部は、前記回数が予め定められた上限値を超える場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする付記6記載の記憶装置。
【0082】
(付記8)前記ホストコンピュータは、自装置の指示に従って前記初期化部によって前記記憶媒体が初期化された初期化指示回数を所定の記憶領域に記憶し、
前記回数チェック部は、前記ホストコンピュータが記憶する前記初期化指示回数と、前記初期化回数記憶部に記憶される前記回数とが一致しない場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする付記7記載の記憶装置。
【0083】
(付記9)前記入力情報をチェックする入力情報チェック部を有し、
前記入力情報チェック部は、前記入力情報が正当性でない場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする付記1記載の記憶装置。
【0084】
(付記10)ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成ステップと、
前記暗号鍵生成情報生成ステップによって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成ステップと、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化ステップと、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化ステップと、
前記復号化ステップによって復号化されたデータと、前記初期化データとを比較する比較ステップと、
前記比較ステップによって前記復号化ステップによって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理ステップと
を含むことを特徴とする記憶装置のデータ改ざん防止方法。
【0085】
(付記11)前記初期化データ暗号化ステップによって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化ステップ
を含むことを特徴とする付記10記載の記憶装置のデータ改ざん防止方法。
【0086】
(付記12)前記比較ステップは、前記暗号鍵生成情報生成ステップによって生成された前記記憶媒体の初期化であることを示す初期化情報を含む暗号鍵生成情報に基づいて前記暗号鍵生成ステップによって生成された暗号鍵に対応する復号鍵を用いて前記復号化されたデータと、前記初期化データとを比較する
ことを特徴とする付記10又は11記載の記憶装置のデータ改ざん防止方法。
【0087】
(付記13)前記書込処理ステップは、前記暗号鍵生成情報生成ステップによって生成された前記初期化情報を含まない暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵を用いて暗号化したユーザデータを前記記憶媒体へ書き込む
ことを特徴とする付記12記載の記憶装置のデータ改ざん防止方法。
【符号の説明】
【0088】
12 SPM
13 インナストッパ
14 アウタストッパ
15 ヘッドアクチュエータ
16 磁気ヘッド
18 SPM駆動回路
19 VCM駆動回路
20 プリアンプ
21 R/WC
22 MCU
23 不揮発メモリ
24 HDC
24a フォーマット部
24a1 暗号鍵生成情報生成部
24a2 暗号鍵生成部
24a3 暗号化処理部
24a4 フォーマット処理部
24b フォーマット回数記憶部
24c ライトワンス認証部
24c1 アクセス可否チェック部
24c2 復号化処理部
24c3 復号化結果チェック処理部
24c4 ライト処理部
25 バッファ
26 ホストインターフェース
100 磁気ディスク装置
100a 磁気ディスク
200 ホストコンピュータ

【特許請求の範囲】
【請求項1】
ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成部と、
前記暗号鍵生成情報生成部によって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成部と、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化部と、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化部と、
前記復号化部によって復号化されたデータと、前記初期化データとを比較する比較部と、
前記比較部によって前記復号化部によって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理部と
を有することを特徴とする記憶装置。
【請求項2】
前記初期化データ暗号化部によって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化部
を有することを特徴とする請求項1記載の記憶装置。
【請求項3】
前記比較部は、前記暗号鍵生成情報生成部によって生成された前記記憶媒体の初期化であることを示す初期化情報を含む暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵に対応する復号鍵を用いて前記復号化されたデータと、前記初期化データとを比較する
ことを特徴とする請求項1又は2記載の記憶装置。
【請求項4】
前記書込処理部は、前記暗号鍵生成情報生成部によって生成された前記初期化情報を含まない暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵を用いて暗号化したユーザデータを前記記憶媒体へ書き込む
ことを特徴とする請求項1、2又は3記載の記憶装置。
【請求項5】
前記初期化部によって前記記憶媒体が初期化された回数を記憶する初期化回数記憶部を有し、
前記初期化回数記憶部に記憶される前記回数は、前記初期化部のみによって書き換え可能である
ことを特徴とする請求項1記載の記憶装置。
【請求項6】
前記回数をチェックする回数チェック部を有し、
前記回数チェック部は、前記回数が予め定められた上限値を超える場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする請求項5記載の記憶装置。
【請求項7】
ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成ステップと、
前記暗号鍵生成情報生成ステップによって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成ステップと、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化ステップと、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化ステップと、
前記復号化ステップによって復号化されたデータと、前記初期化データとを比較する比較ステップと、
前記比較ステップによって、前記復号化ステップによって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理ステップと
を含むことを特徴とする記憶装置のデータ改ざん防止方法。
【請求項8】
前記初期化データ暗号化ステップによって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化ステップ
を含むことを特徴とする請求項7記載の記憶装置のデータ改ざん防止方法。

【図1】
image rotate

【図2−1】
image rotate

【図2−2】
image rotate

【図2−3】
image rotate

【図3−1】
image rotate

【図3−2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−171806(P2010−171806A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−13246(P2009−13246)
【出願日】平成21年1月23日(2009.1.23)
【出願人】(309033264)東芝ストレージデバイス株式会社 (255)
【Fターム(参考)】