(57)【要約】【課題】記憶装置の記憶媒体上のデータ秘匿の高度なセキュリティを確保する。【解決手段】磁気ディスク装置１００は、ホストコンピュータ２００から図１に示したものと同一のユーザ入力によるフォーマット時のパスワードが入力される（ステップＳ１２１）。続いて、磁気ディスク装置１００は、フォーマット情報を含まない暗号鍵生成用情報を生成する。磁気ディスク装置１００は、ステップＳ１２２で生成したフォーマット情報を含まない暗号鍵生成用情報を用いて暗号鍵を生成する（ステップＳ１２３）。一方、磁気ディスク装置１００は、ホストコンピュータ２００からライトデータが入力される（ステップＳ１２４）。続いて、磁気ディスク装置１００は、ステップＳ１２３で生成された暗号鍵でライトデータを暗号化する（ステップＳ１２５）。磁気ディスク装置１００は、この暗号化されたライトデータを磁気ディスク１００ａの該当セクタに書き込む。【選択図】図２−２
2010171806.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成部と、
前記暗号鍵生成情報生成部によって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成部と、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化部と、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化部と、
前記復号化部によって復号化されたデータと、前記初期化データとを比較する比較部と、
前記比較部によって前記復号化部によって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理部と
を有することを特徴とする記憶装置。
【請求項２】
前記初期化データ暗号化部によって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化部
を有することを特徴とする請求項１記載の記憶装置。
【請求項３】
前記比較部は、前記暗号鍵生成情報生成部によって生成された前記記憶媒体の初期化であることを示す初期化情報を含む暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵に対応する復号鍵を用いて前記復号化されたデータと、前記初期化データとを比較する
ことを特徴とする請求項１又は２記載の記憶装置。
【請求項４】
前記書込処理部は、前記暗号鍵生成情報生成部によって生成された前記初期化情報を含まない暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵を用いて暗号化したユーザデータを前記記憶媒体へ書き込む
ことを特徴とする請求項１、２又は３記載の記憶装置。
【請求項５】
前記初期化部によって前記記憶媒体が初期化された回数を記憶する初期化回数記憶部を有し、
前記初期化回数記憶部に記憶される前記回数は、前記初期化部のみによって書き換え可能である
ことを特徴とする請求項１記載の記憶装置。
【請求項６】
前記回数をチェックする回数チェック部を有し、
前記回数チェック部は、前記回数が予め定められた上限値を超える場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする請求項５記載の記憶装置。
【請求項７】
ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成ステップと、
前記暗号鍵生成情報生成ステップによって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成ステップと、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化ステップと、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化ステップと、
前記復号化ステップによって復号化されたデータと、前記初期化データとを比較する比較ステップと、
前記比較ステップによって、前記復号化ステップによって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理ステップと
を含むことを特徴とする記憶装置のデータ改ざん防止方法。
【請求項８】
前記初期化データ暗号化ステップによって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化ステップ
を含むことを特徴とする請求項７記載の記憶装置のデータ改ざん防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ改ざん防止機能を有する記憶装置及び記憶装置のデータ改ざん防止方法に関する。
【背景技術】
【０００２】
従来から、記憶媒体にデータを記憶する記憶装置において、データの秘匿性を保持することが重要な課題であった。これは、悪意の第三者によってデータが改ざんされると、重大なトラブルが発生する可能性が高いためである。例えば、簡易な例では、パスワードを用い、正当なパスワードが入力された場合、データの書き込みや更新を許可するといった様々な方法が考案されてきた。
【０００３】
例えば、上記課題を達成するため、従来技術として、キーワード及びパスワード、若しくは、パスワードに基づいて生成された暗号鍵を用いて記憶媒体にデータアクセスする方法が考案されている。データアクセスの際、暗号鍵の生成回数に応じて、キーワード及びパスワード、若しくは、パスワードの入力を求め、これらに基づいて生成した暗号鍵を用いてデータの秘匿性を高めようというものである。
【０００４】
また、他の従来技術として、フォーマット処理された記憶媒体に対してユーザＩＤとパスワードを設定し、設定されたユーザＩＤとパスワードを用いてユーザＩＤ毎の暗号鍵を生成し、記憶媒体にデータを書き込む際に、生成された暗号鍵を用いてデータを暗号化する方法が考案されている。
【０００５】
また、他の従来技術として、データのライト回数を制御する記憶装置において、記憶媒体の書き換え可能回数の上限値未満の回数だけフォーマット可能回数を制限することによって、悪意の第三者によってデータの書き換えやフォーマットによるデータ消去を低減する方法が考案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−０２７２０２号公報
【特許文献２】特開２００６−３０９２９８号公報
【特許文献３】特開２００６−０３１３９６号公報
【特許文献４】特開平１１−１４９４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、パスワードが漏洩するとデータ改ざんやデータ消去が可能となることから、パスワードの管理を厳重にしなければならない。換言すれば、データの書き込みや更新の許可をパスワードのみによって行うため、記憶装置の記憶媒体上のデータ秘匿に関し、悪意の第三者に対して極めてセキュリティが脆弱であった。
【０００８】
また、上記従来技術では、記憶装置にユーザＩＤやパスワード、媒体へのアクセス許可情報等を記憶する記憶領域を設けなければならず、記憶領域を設けるコスト及びその記憶領域内のデータ改ざんの脅威という問題点があった。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、記憶装置の記憶媒体上のデータ秘匿に関し、悪意の第三者に対して高度なセキュリティを確保するとともに、記憶領域を設けるコスト及び記憶領域内のデータ改ざんの脅威という問題を回避する記憶装置及び記憶装置のデータ改ざん防止方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する記憶装置及び記憶装置のデータ改ざん防止方法は、一つの態様において、ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成し、暗号鍵生成情報に基づいて暗号鍵を生成し、ホストコンピュータから入力された記憶媒体の初期化データを暗号鍵を用いて暗号化し、暗号化された初期化データで記憶媒体の全記憶領域を初期化し、記憶媒体から読み出したデータを暗号鍵に対応する復号鍵を用いて復号化し、復号化されたデータと、初期化データとを比較し、復号化されたデータと、初期化データとが一致する場合、記憶媒体へユーザデータの書き込みを許可することを要件とする。
【００１１】
この態様によれば、暗号化された初期化データで記憶媒体の全記憶領域を初期化し、記憶媒体から読み出したデータを暗号鍵に対応する復号鍵を用いて復号化されたデータと、初期化データとが一致する場合、記憶媒体へユーザデータの書き込みを行うので、暗号鍵を生成するための情報を記憶する記憶領域なしに記憶媒体のライトワンス機能を実現できる。
【発明の効果】
【００１２】
本願の開示する記憶装置及び記憶装置のデータ改ざん防止方法の一つの態様によれば、記憶装置の記憶媒体上のデータ秘匿に関し、悪意の第三者に対して高度なセキュリティを確保するとともに、記憶領域を設けるコスト及び記憶領域内のデータ毀損の脅威という問題を回避するという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例に係るライトワンス状態を作るための全面ライト動作（フォーマットモード）の概要を説明するための図である。
【図２−１】図２−１は、実施例に係るライトワンスモード時の動作（ベリファイ認証）の概要を説明するための図である。
【図２−２】図２−２は、実施例に係るライトワンスモード時の動作（ベリファイ認証許可後のライト（１回目））の概要を説明するための図である。
【図２−３】図２−３は、実施例に係るライトワンスモード時の動作（ベリファイ認証許可後のライト（２回目以降））の概要を説明するための図である。
【図３−１】図３−１は、実施例に係るフォーマット情報を含む暗号鍵生成用情報の作り方の一例を示す図である。
【図３−２】図３−２は、実施例に係るフォーマット情報を含まない暗号鍵生成用情報の作り方の一例を示す図である。
【図４】図４は、実施例に係る磁気ディスク装置の構成を示すブロック図である。
【図５】図５は、実施例に係るＨＤＣの構成を示す機能ブロック図である。
【図６】図６は、実施例に係るフォーマット処理手順を示すフローチャートである。
【図７】図７は、実施例に係るライトワンス認証処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する記憶装置及び記憶装置のデータ改ざん防止方法の実施例を図面に基づいて詳細に説明する。以下の実施例で示す記憶装置は、磁気ディスクを記憶媒体とする磁気ディスク装置である。しかし、これに限らず、光ディスク装置、光磁気ディスク装置、熱磁気ディスク装置、半導体不揮発メモリの様な他の記憶装置であってもよい。なお、以下の実施例により本願発明が限定されるものではない。
【００１５】
以下の実施例では、磁気ディスクへのライトデータの書き込み単位は、セクタ単位であるとして説明するが、隣接するサーボ情報間に含まれる複数のセクタ、トラック等であってもよい。なお、以下の実施例でいう「該当セクタ」とは、ライトデータを書き込む対象の磁気ディスクの領域である。
【実施例】
【００１６】
［ライトワンス状態を作るための全面ライト動作の概要］
図１は、実施例に係るライトワンス状態を作るための全面ライト動作（フォーマットモード）の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置１００の磁気ディスク１００ａをフォーマット後に各セクタそれぞれに１回だけデータの書き込みを許可するライトワンス状態を作る概要を示す。
【００１７】
図１に示す様に、磁気ディスク装置１００は、ホスト（ホストコンピュータの略、以下同様）２００からユーザ入力によるパスワードが入力される（ステップＳ１０１）。ここでのパスワードは、磁気ディスク装置１００の磁気ディスク１００ａをフォーマットするために必要なフォーマット時のパスワードである。
【００１８】
続いて、磁気ディスク装置１００は、フォーマット情報を含む暗号鍵生成用情報を生成する（ステップＳ１０２）。ここでのフォーマット情報とは、暗号鍵生成用情報が磁気ディスク１００ａをフォーマットする際の情報であるか否かを示す情報（例えば、フラグ情報等）である。
【００１９】
フォーマット情報を含む暗号鍵生成用情報は、図３−１に示す様にして生成される情報である。図３−１によれば、先ず、ホストコンピュータ２００から入力されたフォーマット時のパスワードをハッシュ関数に入力して２５６ｂｉｔのデータを得る。この２５６ｂｉｔのデータに２５６ｂｉｔの乱数を加算したものを（１）と称することにする。
【００２０】
続いて、（１）を１ｂｉｔだけ右シフトした結果は２５６ｂｉｔのデータであるが、このデータの最上位ｂｉｔを“１”にする。最上位ｂｉｔの“１”がフォーマット情報である。最上位ｂｉｔを“１”にした２５６ｂｉｔのデータが、フォーマット情報を含む暗号鍵生成用情報である。
【００２１】
図１に戻り、磁気ディスク装置１００は、ステップＳ１０２で生成したフォーマット情報を含む暗号鍵生成用情報を用いて暗号鍵を生成する（ステップＳ１０３）。一方、磁気ディスク装置１００は、ホストコンピュータ２００からフォーマット時のデータパターンが入力される（ステップＳ１０４）。
【００２２】
続いて、磁気ディスク装置１００は、ステップＳ１０３で生成された暗号鍵でフォーマット時のデータパターンを暗号化する（ステップＳ１０５）。磁気ディスク装置１００は、この暗号化されたフォーマット時のデータパターンを用いて、磁気ディスク１００ａを全面フォーマットする。
【００２３】
［ライトワンスモード時の動作（ベリファイ認証）の概要］
図２−１は、実施例に係るライトワンスモード時の動作（ベリファイ認証）の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置１００の磁気ディスク１００ａにおいて、磁気ディスク１００ａにライトデータの書き込みを許可するためのベリファイ認証の概要を示す。
【００２４】
図２−１に示す様に、磁気ディスク装置１００は、ホストコンピュータ２００から図１に示したものと同一のユーザ入力によるフォーマット時のパスワードが入力される（ステップＳ１１１）。続いて、磁気ディスク装置１００は、図１のステップＳ１０２と同様にフォーマット情報を含む暗号鍵生成用情報を生成する（ステップＳ１１２）。
【００２５】
続いて、磁気ディスク装置１００は、ステップＳ１０２と同様に、ステップＳ１１２で生成したフォーマット情報を含む暗号鍵生成用情報を用いて暗号鍵及び対応する復号鍵を生成する（ステップＳ１１３）。
【００２６】
続いて、磁気ディスク装置１００は、磁気ディスク１００ａのライトデータ書き込み対象のセクタからデータを読み出し、ステップＳ１１３で生成した暗号鍵を用いて復号化する（ステップＳ１１４）。ステップＳ１１４によって、復号化されたデータパターンが得られる（ステップＳ１１５）。
【００２７】
一方、磁気ディスク装置１００は、ホストコンピュータ２００からフォーマット時のデータパターンが入力される（ステップＳ１１６）。続いて、磁気ディスク装置１００は、ステップＳ１１５で復号化されたデータパターンと、ステップＳ１１６で入力されたフォーマット時のデータパターンとを比較する（ステップＳ１１７）。
【００２８】
ステップＳ１１７の比較の結果、両者が一致する場合、ベリファイ認証は成功である。ベリファイ認証が成功すると、ホストコンピュータ２００は、磁気ディスク装置１００の磁気ディスク１００ａへのライトデータの書き込みを許可される。
【００２９】
なお、ステップＳ１１７の比較の結果、両者が一致しない場合、すなわち、ベリファイ認証が失敗となるのは、例えば、ホストコンピュータ２００から入力されたフォーマット時のパスワードが異なる、ホストコンピュータ２００から入力されたフォーマット時のデータパターンが異なる、既にライトワンスモードで該当セクタにデータが書き込まれている場合である。
【００３０】
［ライトワンスモード時の動作（ベリファイ認証許可後のライト（１回目））の概要］
図２−２は、実施例に係るライトワンスモード時の動作（ベリファイ認証許可後のライト（１回目））の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置１００の磁気ディスク１００ａにおいて、磁気ディスク１００ａにフォーマット後に初めてライトデータを書き込む概要を示す。
【００３１】
図２−２に示す様に、磁気ディスク装置１００は、ホストコンピュータ２００から図１に示したものと同一のユーザ入力によるライトワンス時のパスワードが入力される（ステップＳ１２１）。続いて、磁気ディスク装置１００は、フォーマット情報を含まない暗号鍵生成用情報を生成する（ステップＳ１２２）。
【００３２】
フォーマット情報を含まない暗号鍵生成用情報は、図３−２に示す様にして生成される情報である。図３−２によれば、先ず、ホストコンピュータ２００から入力されたフォーマット時のパスワードをハッシュ関数に入力して２５６ｂｉｔのデータを得る。この２５６ｂｉｔのデータに２５６ｂｉｔの乱数を加算したものを（１）と称することにする。
【００３３】
続いて、（１）を１ｂｉｔだけ右シフトした結果は２５６ｂｉｔのデータであるが、このデータの最上位ｂｉｔを“０”にする。最上位ｂｉｔの“０”であることがフォーマット情報を含まないことに相当する。最上位ｂｉｔを“０”にした２５６ｂｉｔのデータが、フォーマット情報を含まない暗号鍵生成用情報である。
【００３４】
図２−２に戻り、磁気ディスク装置１００は、ステップＳ１２２で生成したフォーマット情報を含まない暗号鍵生成用情報を用いて暗号鍵を生成する（ステップＳ１２３）。一方、磁気ディスク装置１００は、ホストコンピュータ２００からライトデータが入力される（ステップＳ１２４）。
【００３５】
続いて、磁気ディスク装置１００は、ステップＳ１２３で生成された暗号鍵でライトデータを暗号化する（ステップＳ１２５）。磁気ディスク装置１００は、この暗号化されたライトデータを磁気ディスク１００ａの該当セクタに書き込む。
【００３６】
［ライトワンスモード時の動作（ベリファイ認証許可後のライト（２回目以降））の概要］
図２−３は、実施例に係るライトワンスモード時の動作（ベリファイ認証許可後のライト（２回目以降））の概要を説明するための図である。同図は、実施例に係る磁気ディスク装置１００の磁気ディスク１００ａにおいて、磁気ディスク１００ａに既にライトデータが書き込まれた後に、さらにライトデータを書き込むためベリファイ認証を行う概要を示す。
【００３７】
なお、図２−３におけるステップＳ１３１〜ステップＳ１３７の各処理は、図２−１に示したステップＳ１１１〜ステップＳ１１７に相当する。ただし、ステップＳ１１７では、比較の結果、両者が一致するので、ベリファイ認証は成功である。一方、ステップＳ１３７では、比較の結果、両者が一致しないので、ベリファイ認証は失敗である。すなわち、ベリファイ認証が失敗したので、ホストコンピュータ２００は、磁気ディスク装置１００の磁気ディスク１００ａへのライトデータの書き込みを許可されない。
【００３８】
ここで、フォーマット情報を含む暗号鍵生成用情報と、フォーマット情報を含まない暗号鍵生成用情報とで、フォーマット時の暗号鍵生成用情報と、ライトデータの書き込み時の暗号鍵生成用情報とを区別する理由は、次の通りである。
【００３９】
すなわち、フォーマット時及びライトデータの書き込み時に同一の暗号鍵生成用情報を用いると、図２−３に示すように、磁気ディスク１００ａにおいて、磁気ディスク１００ａに既にライトデータが書き込まれた後に、さらにライトデータを書き込むためベリファイ認証をおこなった場合を想定する。このとき、用いる暗号鍵が同一であると、ライトデータが偶然フォーマット時のデータパターンと一致する場合、復号化されたデータパターンと、フォーマット時のデータパターンとが一致してしまうという不都合を回避するためである。
【００４０】
［磁気ディスク装置の構成］
図４は、実施例に係る磁気ディスク装置の構成を示すブロック図である。図４は、実施例に係る磁気ディスク装置の構成を示すブロック図である。同図に示すように、実施例に係る磁気ディスク装置１００は、磁気ディスク１００ａと、磁気ディスク１００ａを、回転軸を中心に回転させるＳＰＭ（SPindle  Motor）１２と、インナストッパ１３と、アウタストッパ１４と、ヘッドアクチュエータ１５と、ヘッドアクチュエータ１５の先端に取り付けられた磁気ヘッド１６と、ＶＣＭ（Voice  Coil  Motor）１７とを有する。 
【００４１】
また、ＳＰＭ１２を駆動するＳＰＭ駆動回路１８と、ＶＣＭ１７を駆動させるＶＣＭ駆動回路１９とを有する。また、磁気ヘッド１６によって、磁気ディスク１００ａから読み出された信号および磁気ディスク１００ａへ書き込む信号を増幅するプリアンプ２０と、磁気ディスク１００ａに書き込む情報をエンコードし、磁気ディスク１００ａから読み取った信号をデコードするＲ／ＷＣ（Read/Write  Channel）２１とを有する。 
【００４２】
さらに、磁気ディスク装置１００は、自装置の制御を行うＭＣＵ（Micro  Controller  Unit）２２と、ＭＣＵ２２に接続される書き換え可能な不揮発メモリ２３を有する。また、磁気ディスク装置１００のホストコンピュータ２００との間で送受信するデータの誤り訂正などを行うＨＤＣ（Hard  Disk  Controller）２４と、ＨＤＣ２４がホストコンピュータ２００との間で送受信するデータをバッファリングするバッファ２５と、ホストコンピュータ２００との接続インターフェースであるホストインターフェース２６とを有する。
【００４３】
［ＨＤＣの構成］
図５は、実施例に係るＨＤＣの構成を示す機能ブロック図である。本実施例において、図１、図２−１〜図２−３に示した各処理は、ＨＤＣ２４にてハードウェア的に行われる。
【００４４】
図５に示すように、ＨＤＣ２４は、フォーマット部２４ａと、フォーマット回数記憶部２４ｂと、ライトワンス認証部２４ｃとを有する。フォーマット部２４ａは、磁気ディスク１００ａにおいてライトワンス状態を作り出すためのフォーマットを行う機能部である。フォーマット回数記憶部２４ｂは、フォーマット部２４ａが磁気ディスク１００ａをフォーマットした回数及びフォーマット回数の上限値を記憶する。
【００４５】
ライトワンス認証部２４ｃは、図２−１及び図２−３に概略を示したベリファイ認証を行い、ベリファイ認証が成功の場合、ホストコンピュータ２００からのライトデータを磁気ディスク１００ａへ書き込み許可する。ベリファイ認証が失敗の場合、ホストコンピュータ２００からのライトデータを磁気ディスク１００ａへ書き込み許可しない。
【００４６】
フォーマット部２４ａは、暗号鍵生成情報生成部２４ａ１と、暗号鍵生成部２４ａ２と、暗号化処理部２４ａ３と、フォーマット処理部２４ａ４とを有する。暗号鍵生成情報生成部２４ａ１は、磁気ディスク１００ａのフォーマット及びベリファイ認証の場合、ホストコンピュータ２００から入力された任意のパスワードからフォーマット情報を含む暗号鍵生成用情報を生成する。また、暗号鍵生成情報生成部２４ａ１は、磁気ディスク１００ａへのライトデータの書き込みの場合、ホストコンピュータ２００から入力されたフォーマット時に使用したパスワードからフォーマット情報を含まない暗号鍵生成用情報を生成する。
【００４７】
暗号鍵生成部２４ａ２は、暗号鍵生成情報生成部２４ａ１によって生成されたフォーマット情報を含む暗号鍵生成用情報から暗号鍵を生成する。なお、暗号鍵生成部２４ａ２は、磁気ディスク１００ａをフォーマットする際には暗号鍵のみを生成するが、磁気ディスク１００ａへのライトデータの書き込み際には、暗号鍵及び対応する復号鍵を生成する。
【００４８】
暗号化処理部２４ａ３は、暗号鍵生成部２４ａ２によって生成された暗号鍵を用いて、ホストコンピュータ２００から入力されたフォーマット時のデータパターンを暗号化する。フォーマット処理部２４ａ４は、フォーマット回数記憶部２４ｂに記憶されるフォーマット回数を参照し、初回フォーマットを示す情報（すなわち、フォーマット回数が０回）である場合、磁気ディスク１００ａのフォーマットを許可する。そして、暗号化されたフォーマット時のデータパターンで磁気ディスク１００ａをフォーマットする。そして、フォーマット回数記憶部２４ｂに記憶されるフォーマット回数に１を加算する。
【００４９】
なお、フォーマット回数記憶部２４ｂには、フォーマット回数の上限値も記憶されているので、磁気ディスク１００ａのフォーマットを複数回許容する場合、フォーマット回数がフォーマット回数の上限値と等しいか否かチェックする。これは、フォーマットを複数回許容する場合において、今回のフォーマットによってフォーマット回数がフォーマット回数の上限値を超えない様にするためである。フォーマット回数がフォーマット回数の上限値と等しい場合、フォーマット処理部２４ａ４は、磁気ディスク１００ａのフォーマットを許可しない。
【００５０】
ライトワンス認証部２４ｃは、アクセス可否チェック部２４ｃ１と、復号化処理部２４ｃ２と、復号化結果チェック処理部２４ｃ３と、ライト処理部２４ｃ４とを有する。アクセス可否チェック部２４ｃ１は、フォーマット回数記憶部２４ｂを参照して、フォーマット回数がフォーマット回数の上限値に至っているか否かを判定する。
【００５１】
復号化処理部２４ｃ２は、フォーマット回数がフォーマット回数の上限値に至っていないと判定された場合、磁気ディスク１００ａの該当セクタから読み出したデータを復号化する。なお、復号化に使用される復号鍵は、暗号鍵生成情報生成部２４ａ１によってフォーマット情報を含む暗号鍵生成用情報を用いて生成された暗号鍵に対応する復号鍵である。
【００５２】
復号化結果チェック処理部２４ｃ３は、暗号化処理部２４ａ３によって暗号化されたフォーマット時のデータパターンと、復号化処理部２４ｃ２によって復号化された磁気ディスクの該当セクタのデータとを比較する。そして、一致する場合、該当セクタにライトデータが１回も書込まれていない状態と判定できるので、ライト処理部２４ｃ４に対して磁気ディスク１００ａへのライトデータの書き込みを許可する。
【００５３】
ライト処理部２４ｃ４は、ライトデータの書き込みが許可されると、フォーマット情報を含まない暗号鍵生成情報に基づく暗号鍵を用いて暗号化されたライトデータを磁気ディスク１００ａの該当セクタに書き込む。
【００５４】
［フォーマット処理］
図６は、実施例に係るフォーマット処理手順を示すフローチャートである。同図に示す様に、先ず、ステップＳ２０１では、暗号鍵生成情報生成部２４ａ１は、ホストコンピュータ２００からフォーマット時の任意のパスワードと、フォーマット時のデータパターンとを受領する（入力される）。そして、図３−１に示した方法でフォーマット情報を含む暗号鍵生成情報を生成する（以上、ステップＳ２０１）。
【００５５】
続いて、ステップＳ２０２では、暗号鍵生成部２４ａ２は、ステップＳ２０１で生成されたフォーマット情報を含む暗号鍵生成情報を用い、暗号鍵FormatOrgKeyを生成する。そして、暗号化処理部２４ａ３は、ホストコンピュータ２００から入力されたフォーマット時のデータパターンFormatHostDatを暗号化する。そして、フォーマット処理部２４ａ４は、磁気ディスク１００ａを全面フォーマットする（以上、ステップＳ２０２）。
【００５６】
続いて、ステップＳ２０３では、フォーマット処理部２４ａ４は、フォーマット回数記憶部２４ｂの所定記憶領域に記憶されるフォーマット回数に１を加算する。なお、フォーマット回数記憶部２４ｂには、フォーマット処理部２４ａ４及びアクセス可否チェック部２４ｃ１のみがアクセス可能であり、磁気ディスク装置１００のファームウェアはアクセスできない。フォーマット回数に１を加算する処理は、フォーマットの都度、フォーマット回数の上限値を超えない限り行われる。
【００５７】
次に、ステップＳ２０４では、フォーマット処理部２４ａ４は、フォーマットが完了したか否かを判定する。フォーマットが完了したと判定された場合（ステップＳ２０４肯定）、ステップＳ２０５へ移り、フォーマットが完了したと判定されなかった場合（ステップＳ２０４否定）、ステップＳ２０６へ移る。
【００５８】
ステップＳ２０５は、ライトワンス認証部２４ｃが、ステップＳ２０１で入力されたフォーマット時のパスワードと、データパターンにてライトワンス認証（ベリファイ認証）を行うことが可能となっている。
【００５９】
一方、ステップＳ２０６は、フォーマットが完了している磁気ディスク１００ａのセクタでは、ライトワンス認証部２４ｃが、ステップＳ２０１で入力されたフォーマット時のパスワードと、データパターンにてライトワンス認証（ベリファイ認証）を行うことが可能となっていることを示す。
【００６０】
また、ステップＳ２０６は、フォーマットが完了していない磁気ディスク１００ａのセクタでは、ライトワンス認証部２４ｃが、前回のフォーマット時に入力されたフォーマット時のパスワードと、データパターンにてライトワンス認証（ベリファイ認証）を行うことが可能となっていることを示す。
【００６１】
すなわち、磁気ディスク１００ａの領域を論理的に分割して、複数の異なるパスワードに基づいてフォーマットを行い、それぞれにライトワンス機能を実現することが可能である。これによって、本実施例で実現されるライトワンス機能のセキュリティをより高める場合がある。また、複数ユーザで個別のライトワンス機能を１つの磁気ディスク１００ａで共有することが可能になるので、磁気ディスク１００ａの利便性が向上する場合がある。
【００６２】
［ライトワンス認証処理］
図７は、実施例に係るライトワンス認証処理手順を示すフローチャートである。同図に示す様に、先ず、ステップＳ２１１では、フォーマット処理部２４ａ４は、フォーマット回数記憶部２４ｂを参照して、フォーマット回数（消去回数）がフォーマット回数の上限値（最大値）に達しているか否かを判定する。フォーマット回数がフォーマット回数の上限値に達していると判定された場合（ステップＳ２１１肯定）、ステップＳ２１２へ移り、フォーマット回数がフォーマット回数の上限値に達していると判定されなかった場合（ステップＳ２１１否定）、ステップＳ２１３へ移る。ステップＳ２１４では、磁気ディスク１００ａは、通常リードライトモード又は使用負荷又はリードオンリー等の適切なアクセスモードへと移行する。この処理が終了すると、ライトワンス認証処理は終了する。
【００６３】
ステップＳ２１３では、暗号鍵生成情報生成部２４ａ１は、ホストコンピュータ２００からフォーマット時に使用したフォーマット時のパスワードと、フォーマット時のデータパターンFormatHostDatとを受領する（入力される）。そして、図３−１に示した方法でフォーマット情報を含む暗号鍵生成情報を生成する（以上、ステップＳ２１３）。
【００６４】
続いて、ステップＳ２１４では、暗号鍵生成部２４ａ２は、ステップＳ２１３で生成されたフォーマット情報を含む暗号鍵生成情報を用い、暗号鍵FormatOrgKeyに対応する復号鍵FormatHostKeyを生成する。
【００６５】
続いて、ステップＳ２１５では、復号化処理部２４ｃ２は、磁気ディスク１００ａから読み出したリードデータRdataFormatHostKeyを復号化する。そして、リードデータRdataFormatHostKeyと、フォーマット時のデータパターンFormatHostDatとが一致するか否かを比較する（以上、ステップＳ２１５）。
【００６６】
ステップＳ２１６では、復号化チェック処理部２４ｃ３は、ステップＳ２１５の比較結果が一致するか否かを判定する。一致すると判定された場合（ステップＳ２１６肯定）、ステップＳ２１７へ移り、一致すると判定されなかった場合（ステップＳ２１６否定）、ステップＳ２２１へ移る。
【００６７】
ステップＳ２１７では、復号化結果チェック処理部２４ｃ３は、ライト処理部２４ｃ４に対して磁気ディスク１００ａへのライトデータの書き込みを許可する。続いて、ステップＳ２１８では、暗号鍵生成情報生成部２４ａ１は、ホストコンピュータ２００からライトデータ及びライトデータ書き込み用の任意のパスワードWdataHostPasswordを受領する（入力される）。
【００６８】
続いて、ステップＳ２１９では、暗号鍵生成部２４ａ２は、パスワードWdataHostPasswordから暗号鍵WdataKeyを生成する。続いて、ステップＳ２２０では、暗号化処理部２４ａ３は、WdataKeyを用いてライトデータを暗号化する。そして、ライト処理部２４ｃ４は、暗号化されたライトデータを磁気ディスク１００ａの該当するセクタへと書き込む（以上、ステップＳ２２０）。この処理が終了すると、ライトワンス認証処理は終了する。
【００６９】
一方、ステップＳ２２１では、復号化結果チェック処理部２４ｃ３は、既に磁気ディスク１００ａのフォーマット済み領域に１回以上ライトデータが書き込まれている、又は、フォーマット時に使用したフォーマット時のパスワード及び／又はフォーマット時のデータパターンFormatHostDatが誤っていると判定する。続いて、ステップＳ２２２では、復号化結果チェック処理部２４ｃ３は、ライト処理部２４ｃ４に対して磁気ディスク１００ａへのライトデータの書き込みを禁止する。この処理が終了すると、ライトワンス認証処理は終了する。
【００７０】
上述してきたように、本実施例では、暗号化された初期化データで記憶媒体の全記憶領域を初期化し、記憶媒体から読み出したデータを暗号鍵に対応する復号鍵を用いて復号化されたデータと、初期化データとが一致する場合、記憶媒体へユーザデータの書き込みを行うので、暗号鍵を生成するための情報を記憶する記憶領域なしに記憶媒体のライトワンス機能を実現できる。
【００７１】
以上、実施例を説明したが、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてよい。また、実施例に記載した効果は、これに限定されるものではない。
【００７２】
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記実施例で示した処理手順、制御手順、具体的名称、各種のデータやパラメタを含む情報については、特記する場合を除いて任意に変更することができる。
【００７３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び／又は統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散及び／又は統合して構成することができる。
【００７４】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７５】
（付記１）ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成部と、
前記暗号鍵生成情報生成部によって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成部と、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化部と、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化部と、
前記復号化部によって復号化されたデータと、前記初期化データとを比較する比較部と、
前記比較部によって前記復号化部によって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理部と
を有することを特徴とする記憶装置。
【００７６】
（付記２）前記初期化データ暗号化部によって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化部
を有することを特徴とする付記１記載の記憶装置。
【００７７】
（付記３）前記比較部は、前記暗号鍵生成情報生成部によって生成された前記記憶媒体の初期化であることを示す初期化情報を含む暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵に対応する復号鍵を用いて前記復号化されたデータと、前記初期化データとを比較する
ことを特徴とする付記１又は２記載の記憶装置。
【００７８】
（付記４）前記書込処理部は、前記暗号鍵生成情報生成部によって生成された前記初期化情報を含まない暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵を用いて暗号化したユーザデータを前記記憶媒体へ書き込む
ことを特徴とする付記１、２又は３記載の記憶装置。
【００７９】
（付記５）前記復号化部は、前記記憶媒体におけるデータ管理単位で前記データを読み出すことを特徴とする付記１記載の記憶装置。
【００８０】
（付記６）前記初期化部によって前記記憶媒体が初期化された回数を記憶する初期化回数記憶部を有し、
前記初期化回数記憶部に記憶される前記回数は、前記初期化部のみによって書き換え可能である
ことを特徴とする付記１記載の記憶装置。
【００８１】
（付記７）前記回数をチェックする回数チェック部を有し、
前記回数チェック部は、前記回数が予め定められた上限値を超える場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする付記６記載の記憶装置。
【００８２】
（付記８）前記ホストコンピュータは、自装置の指示に従って前記初期化部によって前記記憶媒体が初期化された初期化指示回数を所定の記憶領域に記憶し、
前記回数チェック部は、前記ホストコンピュータが記憶する前記初期化指示回数と、前記初期化回数記憶部に記憶される前記回数とが一致しない場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする付記７記載の記憶装置。
【００８３】
（付記９）前記入力情報をチェックする入力情報チェック部を有し、
前記入力情報チェック部は、前記入力情報が正当性でない場合、前記書込処理部が前記記憶媒体へユーザデータの書き込みを許可することを禁止する
ことを特徴とする付記１記載の記憶装置。
【００８４】
（付記１０）ホストコンピュータから入力された入力情報に基づいて暗号鍵を生成するための暗号鍵生成情報を生成する暗号鍵生成情報生成ステップと、
前記暗号鍵生成情報生成ステップによって生成された暗号鍵生成情報に基づいて暗号鍵を生成する暗号鍵生成ステップと、
前記ホストコンピュータから入力された記憶媒体の初期化データを前記暗号鍵を用いて暗号化する初期化データ暗号化ステップと、
前記記憶媒体から読み出したデータを前記暗号鍵に対応する復号鍵を用いて復号化する復号化ステップと、
前記復号化ステップによって復号化されたデータと、前記初期化データとを比較する比較ステップと、
前記比較ステップによって前記復号化ステップによって復号化されたデータと、前記初期化データとが一致する場合、前記記憶媒体へユーザデータの書き込みを許可する書込処理ステップと
を含むことを特徴とする記憶装置のデータ改ざん防止方法。
【００８５】
（付記１１）前記初期化データ暗号化ステップによって暗号化された初期化データで前記記憶媒体の全記憶領域を初期化する初期化ステップ
を含むことを特徴とする付記１０記載の記憶装置のデータ改ざん防止方法。
【００８６】
（付記１２）前記比較ステップは、前記暗号鍵生成情報生成ステップによって生成された前記記憶媒体の初期化であることを示す初期化情報を含む暗号鍵生成情報に基づいて前記暗号鍵生成ステップによって生成された暗号鍵に対応する復号鍵を用いて前記復号化されたデータと、前記初期化データとを比較する
ことを特徴とする付記１０又は１１記載の記憶装置のデータ改ざん防止方法。
【００８７】
（付記１３）前記書込処理ステップは、前記暗号鍵生成情報生成ステップによって生成された前記初期化情報を含まない暗号鍵生成情報に基づいて前記暗号鍵生成部によって生成された暗号鍵を用いて暗号化したユーザデータを前記記憶媒体へ書き込む
ことを特徴とする付記１２記載の記憶装置のデータ改ざん防止方法。
【符号の説明】
【００８８】
１２  ＳＰＭ
１３  インナストッパ
１４  アウタストッパ
１５  ヘッドアクチュエータ
１６  磁気ヘッド
１８  ＳＰＭ駆動回路
１９  ＶＣＭ駆動回路
２０  プリアンプ
２１  Ｒ／ＷＣ
２２  ＭＣＵ
２３  不揮発メモリ
２４  ＨＤＣ
２４ａ  フォーマット部
２４ａ１  暗号鍵生成情報生成部
２４ａ２  暗号鍵生成部
２４ａ３  暗号化処理部
２４ａ４  フォーマット処理部
２４ｂ  フォーマット回数記憶部
２４ｃ  ライトワンス認証部
２４ｃ１  アクセス可否チェック部
２４ｃ２  復号化処理部
２４ｃ３  復号化結果チェック処理部
２４ｃ４  ライト処理部
２５  バッファ
２６  ホストインターフェース
１００  磁気ディスク装置
１００ａ  磁気ディスク
２００  ホストコンピュータ
【図１】
2010171806.tif 000003
【図２−１】
2010171806.tif 000004
【図２−２】
2010171806.tif 000005
【図２−３】
2010171806.tif 000006
【図３−１】
2010171806.tif 000007
【図３−２】
2010171806.tif 000008
【図４】
2010171806.tif 000009
【図５】
2010171806.tif 000010
【図６】
2010171806.tif 000011
【図７】
2010171806.tif 000012