ディスク装置及び鍵交換方法
【課題】リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理する。
【解決手段】磁気ディスク2に鍵本体が記録されており、ハードウェアで構成される鍵交換回路115が、上記磁気ディスク2に記録された鍵本体で、暗号回路111が有する鍵を更新することによって、暗号回路111がデータの暗号処理に用いる鍵を交換する。
【解決手段】磁気ディスク2に鍵本体が記録されており、ハードウェアで構成される鍵交換回路115が、上記磁気ディスク2に記録された鍵本体で、暗号回路111が有する鍵を更新することによって、暗号回路111がデータの暗号処理に用いる鍵を交換する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスク装置及び鍵交換方法に関し、特に、記録媒体に記録された鍵情報に基づいて暗号回路が暗号処理に用いる鍵を交換するディスク装置及び鍵交換方法に関する。
【背景技術】
【0002】
秘密情報の保護や情報漏えいの回避という観点から、近年、セキュリティ機能を有する磁気ディスク装置に対する要求が高まっている。
【0003】
セキュリティ機能を有する磁気ディスク装置として、暗号回路がデータの暗号処理に用いる鍵をファームウェアが交換する技術がある。
【0004】
また、例えば、セクタデータに記録された、該セクタデータが暗号化されているか否かを示すフラグに基づいて、書き込みデータの暗号化を行うか否かを判断するデータ記憶装置技術が提案されている(例えば、下記の特許文献1を参照)。
【特許文献1】特開2004−201038号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
セキュリティの観点からすると、単一の暗号鍵によって全論理ブロックアドレス(LBA:Logical Block Address)を暗号化するよりも、例えば、図13に示すように、ディスクの記憶領域のLBAを複数の範囲(Range)に分け、Range毎に、異なる鍵により暗号処理する方が望ましい。図13では、Range1、2、3といった3つのRangeで区切られたLBAの例を示している。例えば、Range1に対応するセクタデータは鍵1で暗号処理され、Range2に対応するセクタデータは鍵2で暗号処理され、Range3に対応するセクタデータは鍵3で暗号処理される。
【0006】
ここで、Range毎に異なる鍵を用いてデータを暗号化すると、Rangeをまたいだデータアクセスの際に、Rangeをまたぐ度に鍵交換を行うことが必要となる。しかし、鍵交換をファームウェアにより実行する従来技術では、鍵交換に時間がかかり、回転待ちが発生し、性能が低下するという問題がある。
【0007】
図14は、従来技術の問題点を説明する図である。図14(A)は、磁気ディスクを示し、図14(B)は、従来技術によって発生するディスクの回転待ちを説明する図である。図14(A)に示す磁気ディスク100のトラックデータとして、磁気ディスク100のあるトラックにおける太線で示す領域にRange1のデータが記録され、点線で示す領域にRange2のデータが記録されているものとする。ホストコンピュータが、磁気ディスク装置に対して、Range1とRange2にデータをライトするライト指令を送信した場合を想定する。
【0008】
本来、磁気ディスク100が一周回転する間に、磁気ヘッド101が、鍵1で暗号化されたセクタデータを順次Range1にライトし、現時点の実行LBAがRange2の開始LBAになった時に、鍵1を鍵2に交換して、鍵2で暗号化されたセクタデータをRange2にライトすることが望ましい。しかし、鍵交換をファームウェアにより実行する従来技術では、鍵1を鍵2に交換する処理がディスクの回転に間に合わず、記録媒体100が一周回転する間にRange1とRange2のデータを連続的にライトすることができない。Range2のデータは、記録媒体100がもう一周回転し、磁気ヘッドの位置がRange2の開始位置になった時に、その時までに交換された鍵(鍵2)で暗号化されたセクタデータでライトされる。すなわち、図14(B)に示すように、ディスクの第1周目においてRange1がライトされてから、ディスクの第2周目に実行LBAがRange2の開始LBAになる時まで、ディスクの回転待ちが発生する。
【0009】
本発明は、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理するディスク装置の提供を目的とする。
【0010】
また、本発明は、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理する鍵交換方法の提供を目的とする。
【課題を解決するための手段】
【0011】
本ディスク装置は、鍵情報が記録された記録媒体と、鍵を用いてデータを暗号処理する暗号回路と、前記記録媒体に記録された鍵情報に基づいて前記暗号回路が暗号処理に用いる鍵を交換する、ハードウェアで構成される鍵交換回路とを備える。
【0012】
また、本鍵交換方法は、データの暗号処理に用いる鍵を交換するディスク装置における鍵交換方法であって、前記ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する。
【発明の効果】
【0013】
本ディスク装置、本鍵交換方法は、ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する。従って、本ディスク装置、本鍵交換方法によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することができる。
【発明を実施するための最良の形態】
【0014】
図1は、本実施形態のディスク装置の構成例を示す図である。図1では、本実施形態のディスク装置として、磁気ディスク装置1を例にとって説明する。磁気ディスク装置1は、ホストコンピュータ(以下、ホストという)2からのWrite(ライト)指令を受けて、ディスク6へのデータの書き込み(ライト)を行う。また、磁気ディスク装置1は、ホスト2からのRead(リード)指令を受けて、磁気ディスク15へのデータの読み出し(リード)を行う。ホスト2は、磁気ディスク装置1に対してライト指令又はリード指令を送信する。
【0015】
磁気ディスク装置1は、CPU(Central Processing Unit )10、HDC(Hard Disk Controller) 11、サーボ制御回路12、モータ13、磁気ヘッド14、磁気ディスク15、リード・ライトチャネル16、I/Oインタフェース17、SDRAM(Synchronous Dynamic Random Access Memory)18を備える。
【0016】
CPU10は、磁気ディスク装置1が備える各処理部を制御する。HDC11は、ホスト2からI/Oインタフェース17を介してライト指令、リード指令を受信し、受信したライト指令、リード指令に従って、ディスク15へのデータのライト動作、ディスクからのデータのリード動作を制御する。すなわち、HDC11は、サーボ制御回路12を通じてモータ13を制御することによって、磁気ヘッド14の位置決めを実行する。また、HDC11は、リード・ライトチャネル16を制御して、磁気ディスク15へのデータの書き込み又は読み出しを行わせる。サーボ制御回路12は、モータ13を制御する。モータ13は、サーボ制御回路12の制御に従って、磁気ディスク15への磁気ヘッド14の位置決めを実行する。磁気ディスク15は、磁気ヘッド14を介して書き込まれたデータが記録(記憶)される記録媒体である。本実施形態においては、磁気ディスク15に記録されるセクタデータのセクタヘッダに、後述する暗号回路111がデータの暗号処理に用いる鍵本体が記録される。また、他の実施形態によれば、鍵本体が磁気ディスク15のシステム領域に記録されており、上記鍵本体へのポインタがセクタヘッダに記録される。また、他の実施形態によれば、鍵本体と、鍵本体と論理ブロックアドレスとの対応情報が、磁気ディスク15のシステム領域に記録されている。
【0017】
リード・ライトチャネル16は、後述するフォーマッタ部112からセクタデータを受信し、HDC11からの制御に従って、磁気ヘッド14を介して該データを磁気ディスク15に書き込む。また、リード・ライトチャネル16は、HDC11からの制御に従って、磁気ヘッド14を介して、磁気ディスク15からデータを読み出し、読み出されたデータ(リードデータ)をフォーマッタ部112に対して送信する。また、リード・ライトチャネル16は、現時点の実行LBA(磁気ヘッド14が現在リード又はライトしているセクタのLBA)をHDC11に送信する。
【0018】
I/Oインタフェース17は、ホスト2から送信されるライト指令、リード指令をHDC11に対して媒介する。SDRAM18は、例えば、後述する暗号回路111がデータの暗号処理に用いる鍵本体を記憶する記憶手段である。他の実施形態によれば、SDRAM18が、鍵本体と、鍵本体とLBAとの対応情報とを記憶するようにしてもよい。
【0019】
HDC11は、暗号回路111、フォーマッタ部112、SRAM(Static Random Access Memory )113、ROM(Read Only Memory) 114を備える。暗号回路111は、鍵を用いてデータの暗号処理を行う。データの暗号処理は、データの暗号化又はデータの復号である。具体的には、暗号回路111は、ホスト2からHDC11が受信したライトデータを鍵を用いて暗号化する。ライトデータは、ホスト2からのライト指令に対応するデータである。また、暗号回路111は、フォーマッタ部112がリード・ライトチャネル16から受信したリードデータを鍵を用いて復号し、I/Oインタフェース17を介してホスト2に送信する。暗号回路111がデータの暗号処理に用いる鍵は、暗号回路111が備えるレジスタ内に記憶されている。他の実施形態によれば、暗号回路111が備えるレジスタ内に、SDRAM18に記憶された鍵へのポインタが格納されるようにしてもよい。そして、暗号回路111が、上記ポインタが指す鍵を用いてデータの暗号処理を行うようにしてもよい。
【0020】
フォーマッタ部112は、暗号回路111により暗号化されたデータに、該データの暗号化に用いられた鍵本体が格納されたセクタヘッダを付加してセクタデータを生成し、生成されたセクタデータをリード・ライトチャネル16に対して送信する。他の実施形態によれば、フォーマッタ部112が、暗号回路111により暗号化されたデータに、該データの暗号化に用いられた鍵本体へのポインタが格納されたセクタヘッダを付加してセクタデータを生成し、生成されたセクタデータをリード・ライトチャネル16に対して送信するようにしてもよい。
【0021】
また、フォーマッタ部112は、リード・ライトチャネル16から送信されたリードデータについて誤り検出処理を行った上で、暗号回路111に送信する。暗号回路111がリードデータをフォーマッタ部112から受信すると、暗号回路111は、暗号回路111のレジスタ内に格納されている鍵を用いてリードデータを復号する。暗号回路111が、暗号回路111のレジスタ内に格納されているポインタが指す鍵を用いてリードデータを復号するようにしてもよい。
【0022】
SRAM113には、例えば、フォーマッタ部112がリードデータについての誤り検出処理に用いるデータが予め記憶されている。ROM114には、例えば、HDC11の動作プログラムが予め記憶されている。
【0023】
フォーマッタ部112は、ハードウェアで構成される鍵交換回路115を備えている。図1に示す例では、フォーマッタ部112は、鍵交換回路115と一体になってハードウェアを構成している。鍵交換回路115は、磁気ディスク15に記録された鍵情報に基づいて、暗号回路111がデータの暗号処理に用いる鍵を交換する。具体的には、鍵交換回路115は、セクタヘッダに記録された鍵本体に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。他の実施形態によれば、鍵交換回路115が、セクタヘッダに記録されている、鍵本体へのポインタに基づいて、暗号回路111が暗号処理に用いる鍵を交換する。また、他の実施形態によれば、鍵交換回路115が、鍵本体と論理ブロックアドレスとの対応情報に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。
【0024】
なお、上記磁気ディスク装置1の機能は、CPUとその上で実行されるプログラムにより実現される。該プログラムは、コンピュータが読み取り可能な記録媒体、例えば半導体メモリ、ハードディスク、CD−ROM、DVD等に格納することができ、これらの記録媒体に記録して提供され、又は、通信インタフェースを介してネットワークを利用した送受信により提供される。
【0025】
また、図1では、フォーマッタ部112が鍵交換回路115と一体にハードウェアを構成している例について説明したが、本実施形態のディスク装置が、図2に示す磁気ディスク装置1’のように、ハードウェアで構成される鍵交換回路115を、HDC11’内のフォーマッタ部112’から独立した処理部として備えるようにしてもよい。
【0026】
図3は、本実施形態に係るセクタデータの構成例を示す図である。セクタデータは、データ部とセクタヘッダとを備える。データ部にはデータが記録され、セクタヘッダには、鍵本体又は鍵本体へのポインタが記録される。
【0027】
以下に、本発明の実施例1について説明する。本発明の実施例1では、鍵本体がセクタヘッダに記録されている。また、鍵交換回路115が、暗号回路111のレジスタ200(図4を参照)内に、アクティブとなっている鍵本体を記録する。アクティブとなっている鍵本体は、現時点でリードデータ又はライトデータの暗号処理に用いられる鍵本体である。すなわち、暗号回路111は、レジスタ200内に記録された鍵本体を用いてデータを暗号処理する。
【0028】
実施例1においては、鍵交換回路115が、セクタヘッダに記録された鍵本体で、暗号回路111のレジスタ内に記録されている鍵本体を書き換えることによって、暗号回路111が暗号処理に用いる鍵を交換する。
【0029】
図4は、本発明の実施例1の鍵交換処理を説明する図である。また、図5は、本発明の実施例1の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体を暗号回路111のレジスタ200に展開(記録)する(図4の#1を参照)。具体的には、リード・ライトチャネル16が磁気ディスク15のシステム領域のデータをリードし、フォーマッタ部112が上記システム領域のデータを鍵交換回路115に送信し、鍵交換回路115が、システム領域のデータに含まれる鍵本体をレジスタ200に記録する。
【0030】
鍵交換回路115が、フォーマッタ部112からセクタデータを取得する(図5のステップS1、図4の#2を参照)。鍵交換回路115が、取得されたセクタデータのセクタヘッダから鍵本体を抽出する(図5のステップS2、図4の#3を参照)。鍵交換回路115が、抽出された鍵本体で暗号回路111のレジスタ200内の鍵本体を更新して(図5のステップS3、図4の#4を参照)、暗号回路111がデータの暗号処理に用いる鍵を交換する。
【0031】
実施例1による鍵交換処理について、より詳細に説明する。HDC11が、ホスト2から、Start LBA とLBA Lengthとが指定されたリード指令を受信する。Start LBA は、リード対象となるセクタの先頭のLBAである。LBA Lengthは、リード対象のLBAの範囲(すなわち、リード対象のセクタ数)である。磁気ヘッド14が、指定された磁気ディスク15上の位置へサーボ制御により移動し、リード・ライトチャネル16が、磁気ディスク15に書き込まれている、リード指令によって指定されるLBAに対応するセクタデータを読み込む。リード・ライトチャネルが読み込んだセクタデータをフォーマッタ部112が鍵交換回路115に渡す。鍵交換回路115は、セクタデータのセクタヘッダを読み込んで鍵本体を抽出し、抽出した鍵本体で暗号回路111のレジスタ200内の鍵本体を更新する。暗号回路111が、更新された鍵を用いてセクタデータを復号する。
【0032】
HDC11が、ホスト2からライトデータを含むライト指令を受信すると、リード指令を受信したときと同様に、磁気ヘッド14が、指定された磁気ディスク15上の位置へサーボ制御により移動し、リード・ライトチャネル16が、磁気ディスク15に書き込まれている、ライト指令によって指定されるLBAに対応するセクタデータを読み込む。リード・ライトチャネルが読み込んだセクタデータをフォーマッタ部112が鍵交換回路115に渡す。鍵交換回路115は、渡されたセクタデータのセクタヘッダを読み込んで鍵本体を抽出し、抽出した鍵本体で暗号回路111のレジスタ200内の鍵本体を更新する。暗号回路111が、更新された鍵を用いて、ライトデータを暗号化する。フォーマッタ部112が、暗号化されたライトデータにセクタヘッダを付加してリード・ライトチャネル16に送信し、リード・ライトチャネル16がライトデータを磁気ディスク15に記録する。
【0033】
上述した実施例1においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAに対応するセクタデータのセクタヘッダから鍵本体を抽出し、抽出した鍵本体で暗号回路111が暗号処理に用いる鍵本体を更新する。従って、実施例1によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、セクタヘッダから抽出した鍵本体に基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。また、鍵交換回路115がハードウェアで構成されているので、鍵交換処理を迅速に実行することができる。その結果、鍵交換処理をファームウェアで実行する従来技術において発生するディスクの回転待ちが生じない。
【0034】
次に、本発明の実施例2について説明する。本発明の実施例2では、鍵本体へのポインタがセクタヘッダに記録されている。また、鍵交換回路115が、暗号回路111のレジスタ200(図6を参照)内に、アクティブとなっている鍵本体へのポインタを記録する。すなわち、暗号回路111は、レジスタ200内に記録されたポインタが指す鍵本体を用いてデータを暗号処理する。なお、本発明の実施例2の前提として、磁気ディスク15のシステム領域に鍵本体が予め記録されているものとする。
【0035】
実施例2においては、鍵交換回路115が、セクタヘッダに記録されたポインタで、暗号回路111のレジスタ200内に記録されているポインタを書き換えることによって、暗号回路111が暗号処理に用いる鍵を交換する。
【0036】
図6は、本発明の実施例2の鍵交換処理を説明する図である。また、図7は、本発明の実施例2の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体を、SDRAM18に展開する(図6の#1を参照)。また、例えば、鍵交換回路115が、上記鍵本体へのポインタを暗号回路111のレジスタに記録する(図6の#2を参照)。上記SDRAM18上に展開された鍵本体は、再暗号化などにより鍵そのものを変更する際に更新される。
【0037】
鍵交換回路115が、フォーマッタ部112から、リード指令又はライト指令によって指定されるLBAに対応するセクタデータを取得する(図7のステップS11、図6の#3を参照)。鍵交換回路115が、取得されたセクタデータのセクタヘッダから鍵本体へのポインタを抽出する(図7のステップS12)。鍵交換回路115が、抽出されたポインタで暗号回路111のレジスタ200内のポインタを更新して(図7のステップS13、図6の#4を参照)、暗号回路111がデータの暗号処理に用いる鍵を交換する。
【0038】
上述した実施例2においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAに対応するセクタデータのセクタヘッダから鍵本体へのポインタを抽出し、抽出したポインタで暗号回路111が暗号処理に用いる鍵へのポインタを更新する。従って、実施例1によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、セクタヘッダから抽出したポインタに基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。
【0039】
次に、本発明の実施例3について説明する。本発明の実施例3では、磁気ディスク15のシステム領域に、鍵本体と、鍵本体とLBAとの対応情報が記録されており、鍵交換回路115が、鍵本体とLBAとの対応情報に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。また、鍵交換回路115が、暗号回路111のレジスタ200(図9を参照)内に、アクティブとなっている鍵本体を記録する。すなわち、暗号回路111は、レジスタ200内に記録された鍵本体を用いてデータを暗号処理する。
【0040】
図8は、磁気ディスク15のシステム領域に記録されている鍵本体とLBAとの対応情報の例を示す図である。図8に示す対応情報は、Range、LBA開始、LBA長、暗号鍵といったデータ構成を有する。「Range」は、LBAの範囲であるRangeを一意に識別する識別情報である。「LBA開始」は、Rangeの先頭のLBAである。「LBA長」は、Rangeに対応するLBAの範囲である。「暗号鍵」は、当該Rangeに対応するLBAのセクタデータの暗号処理に用いられる鍵である。図8に示す対応情報を参照すると、Range1に対応するLBAは、0から100までの範囲のLBAであり、この範囲のLBAのセクタデータの暗号処理に用いられる鍵は鍵1であることがわかる。また、Range2に対応するLBAは、101から200までの範囲のLBAであり、この範囲のLBAのセクタデータの暗号処理に用いられる鍵は鍵2であることがわかる。また、Range3に対応するLBAは、201から300までの範囲のLBAであり、この範囲のLBAのセクタデータの暗号処理に用いられる鍵は鍵3であることがわかる。
【0041】
図9は、本発明の実施例3の鍵交換処理を説明する図である。また、図10は、本発明の実施例3の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体とLBAとの対応情報を、SDRAM18に展開する(図9の#1を参照)。また、例えば、鍵交換回路115が、システム領域に予め記録されている鍵本体を暗号回路111のレジスタ200に記録する(図9の#2を参照)。
【0042】
次に、HDC11がホスト2からリード/ライト指令を受信し、鍵交換回路115が、リード/ライト指令によって指定されたLBAを取得する(図10のステップS21、図9の#3を参照)。鍵交換回路115が、SDRAM18に展開された鍵本体とLBAとの対応情報と、上記指定されたLBAとに基づいて、鍵交換のタイミングをスケジューリングする(図10のステップS22、図9の#4を参照)。具体的には、鍵交換回路115が、指定されたLBAに従って実行されるリード/ライト処理における実行LBAがどのアドレス値となったら鍵を交換するのかを決定する。例えば、指定されたLBAが0〜150までのLBAである場合、鍵交換回路115は、例えば図8に示す対応情報を参照して、実行LBAが0〜100である間に暗号処理に用いられるべき鍵として鍵1を決定する。また、鍵交換回路115は、101〜150である間に暗号処理に用いられるべき鍵として鍵2を決定する。すなわち、鍵交換回路115は、実行LBAが101になった時を、鍵が鍵1から鍵2に交換されるタイミングとして決定する。
【0043】
そして、鍵交換回路115が、HDC11がリード・ライトチャネル16から受信した現時点の実行LBAと上記鍵交換のタイミングのスケジューリング結果とに基づいて、鍵交換のタイミングになったかを判断する(図10のステップS23)。鍵交換回路115が、鍵交換のタイミングになっていないと判断した場合は図10のステップS23に戻る。鍵交換回路115が、鍵交換のタイミングになったと判断した場合は、鍵交換回路115は、現時点で暗号処理に用いられるべき鍵で暗号回路111のレジスタ200内の鍵を更新することによって、鍵を交換する(図10のステップS24、図9の#5を参照)。
【0044】
実施例3において、ホスト2からリード指令がされた場合、上記図10を参照して説明した処理フローに従って鍵が交換され、暗号回路111が、交換された鍵を用いてセクタデータ(リード・ライトチャネル16によりリードされたデータ)を復号する。また、例えば、ホスト2からライト指令がされた場合、上記図10を参照して説明した処理フローに従って鍵が交換され、暗号回路111が、交換された鍵を用いてライトデータを暗号化する。
【0045】
上述した実施例3においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAと、鍵本体とLBAとの対応情報とに基づいて、鍵交換のタイミングをスケジューリングし、該スケジューリング結果と現時点の実行LBAとに基づいて、暗号処理に用いられる鍵を交換する。従って、実施例3によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、鍵交換のタイミングのスケジューリング結果に基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。
【0046】
次に、本発明の実施例4について説明する。本発明の実施例4では、磁気ディスク15のシステム領域に、鍵本体と、鍵本体とLBAとの対応情報が記録されており、鍵交換回路115が、鍵本体とLBAとの対応情報に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。また、鍵交換回路115が、暗号回路111のレジスタ200(図11を参照)内に、アクティブとなっている鍵本体へのポインタを記録する。すなわち、暗号回路111は、レジスタ200内に記録されたポインタが指す鍵本体を用いてデータを暗号処理する。なお、磁気ディスクのシステム領域に記録されている上記対応情報は、例えば図8に示すようなデータ構成を有する。
【0047】
図11は、本発明の実施例4の鍵交換処理を説明する図である。また、図12は、本発明の実施例4の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体と、鍵本体とLBAとの対応情報とを、SDRAM18に展開する(図11の#1を参照)。また、例えば、鍵交換回路115が、上記鍵本体へのポインタを暗号回路111のレジスタ200に記録する(図11の#2を参照)。
【0048】
次に、HDC11がホスト2からリード/ライト指令を受信し、鍵交換回路115が、リード/ライト指令によって指定されたLBAを取得する(図12のステップS31、図11の#3を参照)。鍵交換回路115が、SDRAM18に展開された鍵本体とLBAとの対応情報と、上記指定されたLBAとに基づいて、鍵交換のタイミングをスケジューリングする(図12のステップS32、図11の#4を参照)。具体的には、鍵交換回路115が、指定されたLBAに従って実行されるリード/ライト処理における実行LBAがどのアドレス値となったら鍵を交換するのかを決定する。
【0049】
そして、鍵交換回路115が、HDC11がリード・ライトチャネル16から受信した現時点の実行LBAと上記鍵交換のタイミングのスケジューリング結果とに基づいて、鍵交換のタイミングとなったかを判断する(図12のステップS33)。鍵交換回路115が、鍵交換のタイミングになっていないと判断した場合は図12のステップS33に戻る。鍵交換回路115が、鍵交換のタイミングになったと判断した場合は、鍵交換回路115は、現時点で暗号処理に用いられるべき鍵へのポインタで暗号回路111のレジスタ200内のポインタを更新することによって、鍵を交換する(図12のステップS34、図11の#5を参照)。
【0050】
上述した実施例4においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAと、鍵本体とLBAとの対応情報とに基づいて、鍵交換のタイミングをスケジューリングする。そして、鍵交換回路115が、該スケジューリング結果と現時点の実行LBAとに基づいて、暗号処理に用いられる鍵へのポインタを更新することによって、鍵を交換する。従って、実施例4によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、鍵交換のタイミングのスケジューリング結果に基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。
【0051】
以上から把握できるように、本実施形態の特徴を述べると以下の通りである。
【0052】
(付記1)鍵情報が記録された記録媒体と、
鍵を用いてデータを暗号処理する暗号回路と、
前記記録媒体に記録された鍵情報に基づいて前記暗号回路が暗号処理に用いる鍵を交換する、ハードウェアで構成される鍵交換回路とを備える
ことを特徴とするディスク装置。
【0053】
(付記2)前記鍵情報が、鍵本体であり、
前記鍵本体が、セクタヘッダに記録されており、
前記鍵交換回路が、前記セクタヘッダに記録された鍵本体に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記1記載のディスク装置。
【0054】
(付記3)前記鍵情報が、鍵本体と該鍵本体へのポインタとを含み、
前記ポインタが、セクタヘッダに記録されており、
前記鍵本体が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記セクタヘッダに記録されているポインタに基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記1記載のディスク装置。
【0055】
(付記4)前記鍵情報が、鍵本体と論理ブロックアドレスとの対応情報を含み、
前記鍵本体と論理ブロックアドレスとの対応情報が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記鍵本体と論理ブロックアドレスとの対応情報に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記1記載のディスク装置。
【0056】
(付記5)前記暗号回路が、前記暗号処理に用いる鍵へのポインタを有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有するポインタを更新することにより、該暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記4記載のディスク装置。
【0057】
(付記6)前記暗号回路が、鍵本体を有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有する鍵本体を更新することにより、該暗号回路が暗号処理に用いる鍵を交換する ことを特徴とする付記4記載のディスク装置。
【0058】
(付記7)データの暗号処理に用いる鍵を交換するディスク装置における鍵交換方法であって、
前記ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする鍵交換方法。
【0059】
(付記8)前記鍵情報が、鍵本体であり、
前記鍵本体が、セクタヘッダに記録されており、
前記鍵交換回路が、前記セクタヘッダに記録された鍵本体に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0060】
(付記9)前記鍵情報が、鍵本体と該鍵本体へのポインタとを含み、
前記ポインタが、セクタヘッダに記録されており、
前記鍵本体が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記セクタヘッダに記録されているポインタに基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0061】
(付記10)前記鍵情報が、鍵本体と論理ブロックアドレスとの対応情報を含み、
前記鍵本体と論理ブロックアドレスとの対応情報が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記鍵本体と論理ブロックアドレスとの対応情報に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0062】
(付記11)前記暗号回路が、前記暗号処理に用いる鍵へのポインタを有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有するポインタを更新することにより、該暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0063】
(付記12)前記暗号回路が、鍵本体を有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有する鍵本体を更新することにより、該暗号回路が暗号処理に用いる鍵を交換する ことを特徴とする付記7記載の鍵交換方法。
【図面の簡単な説明】
【0064】
【図1】本実施形態のディスク装置の構成例を示す図である。
【図2】本実施形態のディスク装置の他の構成例を示す図である。
【図3】本実施形態に係るセクタデータの構成例を示す図である。
【図4】本発明の実施例1の鍵交換処理を説明する図である。
【図5】本発明の実施例1の鍵交換処理フローを示す図である。
【図6】本発明の実施例2の鍵交換処理を説明する図である。
【図7】本発明の実施例2の鍵交換処理フローを示す図である。
【図8】鍵本体とLBAとの対応情報の例を示す図である。
【図9】本発明の実施例3の鍵交換処理を説明する図である。
【図10】本発明の実施例3の鍵交換処理フローを示す図である。
【図11】本発明の実施例4の鍵交換処理を説明する図である。
【図12】本発明の実施例3の鍵交換処理フローを示す図である。
【図13】暗号処理に用いる鍵とRangeとの対応を示す図である。
【図14】従来技術の問題点を説明する図である。
【符号の説明】
【0065】
1 磁気ディスク装置
2 ホストコンピュータ
10 CPU
11 HDC
12 サーボ制御回路
13 モータ
14 磁気ヘッド
15 磁気ディスク
16 リード・ライトチャネル
17 I/Oインタフェース
18 SDRAM
111 暗号回路
112 フォーマッタ部
113 SRAM
114 ROM
115 鍵交換回路
【技術分野】
【0001】
本発明は、ディスク装置及び鍵交換方法に関し、特に、記録媒体に記録された鍵情報に基づいて暗号回路が暗号処理に用いる鍵を交換するディスク装置及び鍵交換方法に関する。
【背景技術】
【0002】
秘密情報の保護や情報漏えいの回避という観点から、近年、セキュリティ機能を有する磁気ディスク装置に対する要求が高まっている。
【0003】
セキュリティ機能を有する磁気ディスク装置として、暗号回路がデータの暗号処理に用いる鍵をファームウェアが交換する技術がある。
【0004】
また、例えば、セクタデータに記録された、該セクタデータが暗号化されているか否かを示すフラグに基づいて、書き込みデータの暗号化を行うか否かを判断するデータ記憶装置技術が提案されている(例えば、下記の特許文献1を参照)。
【特許文献1】特開2004−201038号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
セキュリティの観点からすると、単一の暗号鍵によって全論理ブロックアドレス(LBA:Logical Block Address)を暗号化するよりも、例えば、図13に示すように、ディスクの記憶領域のLBAを複数の範囲(Range)に分け、Range毎に、異なる鍵により暗号処理する方が望ましい。図13では、Range1、2、3といった3つのRangeで区切られたLBAの例を示している。例えば、Range1に対応するセクタデータは鍵1で暗号処理され、Range2に対応するセクタデータは鍵2で暗号処理され、Range3に対応するセクタデータは鍵3で暗号処理される。
【0006】
ここで、Range毎に異なる鍵を用いてデータを暗号化すると、Rangeをまたいだデータアクセスの際に、Rangeをまたぐ度に鍵交換を行うことが必要となる。しかし、鍵交換をファームウェアにより実行する従来技術では、鍵交換に時間がかかり、回転待ちが発生し、性能が低下するという問題がある。
【0007】
図14は、従来技術の問題点を説明する図である。図14(A)は、磁気ディスクを示し、図14(B)は、従来技術によって発生するディスクの回転待ちを説明する図である。図14(A)に示す磁気ディスク100のトラックデータとして、磁気ディスク100のあるトラックにおける太線で示す領域にRange1のデータが記録され、点線で示す領域にRange2のデータが記録されているものとする。ホストコンピュータが、磁気ディスク装置に対して、Range1とRange2にデータをライトするライト指令を送信した場合を想定する。
【0008】
本来、磁気ディスク100が一周回転する間に、磁気ヘッド101が、鍵1で暗号化されたセクタデータを順次Range1にライトし、現時点の実行LBAがRange2の開始LBAになった時に、鍵1を鍵2に交換して、鍵2で暗号化されたセクタデータをRange2にライトすることが望ましい。しかし、鍵交換をファームウェアにより実行する従来技術では、鍵1を鍵2に交換する処理がディスクの回転に間に合わず、記録媒体100が一周回転する間にRange1とRange2のデータを連続的にライトすることができない。Range2のデータは、記録媒体100がもう一周回転し、磁気ヘッドの位置がRange2の開始位置になった時に、その時までに交換された鍵(鍵2)で暗号化されたセクタデータでライトされる。すなわち、図14(B)に示すように、ディスクの第1周目においてRange1がライトされてから、ディスクの第2周目に実行LBAがRange2の開始LBAになる時まで、ディスクの回転待ちが発生する。
【0009】
本発明は、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理するディスク装置の提供を目的とする。
【0010】
また、本発明は、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理する鍵交換方法の提供を目的とする。
【課題を解決するための手段】
【0011】
本ディスク装置は、鍵情報が記録された記録媒体と、鍵を用いてデータを暗号処理する暗号回路と、前記記録媒体に記録された鍵情報に基づいて前記暗号回路が暗号処理に用いる鍵を交換する、ハードウェアで構成される鍵交換回路とを備える。
【0012】
また、本鍵交換方法は、データの暗号処理に用いる鍵を交換するディスク装置における鍵交換方法であって、前記ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する。
【発明の効果】
【0013】
本ディスク装置、本鍵交換方法は、ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する。従って、本ディスク装置、本鍵交換方法によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することができる。
【発明を実施するための最良の形態】
【0014】
図1は、本実施形態のディスク装置の構成例を示す図である。図1では、本実施形態のディスク装置として、磁気ディスク装置1を例にとって説明する。磁気ディスク装置1は、ホストコンピュータ(以下、ホストという)2からのWrite(ライト)指令を受けて、ディスク6へのデータの書き込み(ライト)を行う。また、磁気ディスク装置1は、ホスト2からのRead(リード)指令を受けて、磁気ディスク15へのデータの読み出し(リード)を行う。ホスト2は、磁気ディスク装置1に対してライト指令又はリード指令を送信する。
【0015】
磁気ディスク装置1は、CPU(Central Processing Unit )10、HDC(Hard Disk Controller) 11、サーボ制御回路12、モータ13、磁気ヘッド14、磁気ディスク15、リード・ライトチャネル16、I/Oインタフェース17、SDRAM(Synchronous Dynamic Random Access Memory)18を備える。
【0016】
CPU10は、磁気ディスク装置1が備える各処理部を制御する。HDC11は、ホスト2からI/Oインタフェース17を介してライト指令、リード指令を受信し、受信したライト指令、リード指令に従って、ディスク15へのデータのライト動作、ディスクからのデータのリード動作を制御する。すなわち、HDC11は、サーボ制御回路12を通じてモータ13を制御することによって、磁気ヘッド14の位置決めを実行する。また、HDC11は、リード・ライトチャネル16を制御して、磁気ディスク15へのデータの書き込み又は読み出しを行わせる。サーボ制御回路12は、モータ13を制御する。モータ13は、サーボ制御回路12の制御に従って、磁気ディスク15への磁気ヘッド14の位置決めを実行する。磁気ディスク15は、磁気ヘッド14を介して書き込まれたデータが記録(記憶)される記録媒体である。本実施形態においては、磁気ディスク15に記録されるセクタデータのセクタヘッダに、後述する暗号回路111がデータの暗号処理に用いる鍵本体が記録される。また、他の実施形態によれば、鍵本体が磁気ディスク15のシステム領域に記録されており、上記鍵本体へのポインタがセクタヘッダに記録される。また、他の実施形態によれば、鍵本体と、鍵本体と論理ブロックアドレスとの対応情報が、磁気ディスク15のシステム領域に記録されている。
【0017】
リード・ライトチャネル16は、後述するフォーマッタ部112からセクタデータを受信し、HDC11からの制御に従って、磁気ヘッド14を介して該データを磁気ディスク15に書き込む。また、リード・ライトチャネル16は、HDC11からの制御に従って、磁気ヘッド14を介して、磁気ディスク15からデータを読み出し、読み出されたデータ(リードデータ)をフォーマッタ部112に対して送信する。また、リード・ライトチャネル16は、現時点の実行LBA(磁気ヘッド14が現在リード又はライトしているセクタのLBA)をHDC11に送信する。
【0018】
I/Oインタフェース17は、ホスト2から送信されるライト指令、リード指令をHDC11に対して媒介する。SDRAM18は、例えば、後述する暗号回路111がデータの暗号処理に用いる鍵本体を記憶する記憶手段である。他の実施形態によれば、SDRAM18が、鍵本体と、鍵本体とLBAとの対応情報とを記憶するようにしてもよい。
【0019】
HDC11は、暗号回路111、フォーマッタ部112、SRAM(Static Random Access Memory )113、ROM(Read Only Memory) 114を備える。暗号回路111は、鍵を用いてデータの暗号処理を行う。データの暗号処理は、データの暗号化又はデータの復号である。具体的には、暗号回路111は、ホスト2からHDC11が受信したライトデータを鍵を用いて暗号化する。ライトデータは、ホスト2からのライト指令に対応するデータである。また、暗号回路111は、フォーマッタ部112がリード・ライトチャネル16から受信したリードデータを鍵を用いて復号し、I/Oインタフェース17を介してホスト2に送信する。暗号回路111がデータの暗号処理に用いる鍵は、暗号回路111が備えるレジスタ内に記憶されている。他の実施形態によれば、暗号回路111が備えるレジスタ内に、SDRAM18に記憶された鍵へのポインタが格納されるようにしてもよい。そして、暗号回路111が、上記ポインタが指す鍵を用いてデータの暗号処理を行うようにしてもよい。
【0020】
フォーマッタ部112は、暗号回路111により暗号化されたデータに、該データの暗号化に用いられた鍵本体が格納されたセクタヘッダを付加してセクタデータを生成し、生成されたセクタデータをリード・ライトチャネル16に対して送信する。他の実施形態によれば、フォーマッタ部112が、暗号回路111により暗号化されたデータに、該データの暗号化に用いられた鍵本体へのポインタが格納されたセクタヘッダを付加してセクタデータを生成し、生成されたセクタデータをリード・ライトチャネル16に対して送信するようにしてもよい。
【0021】
また、フォーマッタ部112は、リード・ライトチャネル16から送信されたリードデータについて誤り検出処理を行った上で、暗号回路111に送信する。暗号回路111がリードデータをフォーマッタ部112から受信すると、暗号回路111は、暗号回路111のレジスタ内に格納されている鍵を用いてリードデータを復号する。暗号回路111が、暗号回路111のレジスタ内に格納されているポインタが指す鍵を用いてリードデータを復号するようにしてもよい。
【0022】
SRAM113には、例えば、フォーマッタ部112がリードデータについての誤り検出処理に用いるデータが予め記憶されている。ROM114には、例えば、HDC11の動作プログラムが予め記憶されている。
【0023】
フォーマッタ部112は、ハードウェアで構成される鍵交換回路115を備えている。図1に示す例では、フォーマッタ部112は、鍵交換回路115と一体になってハードウェアを構成している。鍵交換回路115は、磁気ディスク15に記録された鍵情報に基づいて、暗号回路111がデータの暗号処理に用いる鍵を交換する。具体的には、鍵交換回路115は、セクタヘッダに記録された鍵本体に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。他の実施形態によれば、鍵交換回路115が、セクタヘッダに記録されている、鍵本体へのポインタに基づいて、暗号回路111が暗号処理に用いる鍵を交換する。また、他の実施形態によれば、鍵交換回路115が、鍵本体と論理ブロックアドレスとの対応情報に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。
【0024】
なお、上記磁気ディスク装置1の機能は、CPUとその上で実行されるプログラムにより実現される。該プログラムは、コンピュータが読み取り可能な記録媒体、例えば半導体メモリ、ハードディスク、CD−ROM、DVD等に格納することができ、これらの記録媒体に記録して提供され、又は、通信インタフェースを介してネットワークを利用した送受信により提供される。
【0025】
また、図1では、フォーマッタ部112が鍵交換回路115と一体にハードウェアを構成している例について説明したが、本実施形態のディスク装置が、図2に示す磁気ディスク装置1’のように、ハードウェアで構成される鍵交換回路115を、HDC11’内のフォーマッタ部112’から独立した処理部として備えるようにしてもよい。
【0026】
図3は、本実施形態に係るセクタデータの構成例を示す図である。セクタデータは、データ部とセクタヘッダとを備える。データ部にはデータが記録され、セクタヘッダには、鍵本体又は鍵本体へのポインタが記録される。
【0027】
以下に、本発明の実施例1について説明する。本発明の実施例1では、鍵本体がセクタヘッダに記録されている。また、鍵交換回路115が、暗号回路111のレジスタ200(図4を参照)内に、アクティブとなっている鍵本体を記録する。アクティブとなっている鍵本体は、現時点でリードデータ又はライトデータの暗号処理に用いられる鍵本体である。すなわち、暗号回路111は、レジスタ200内に記録された鍵本体を用いてデータを暗号処理する。
【0028】
実施例1においては、鍵交換回路115が、セクタヘッダに記録された鍵本体で、暗号回路111のレジスタ内に記録されている鍵本体を書き換えることによって、暗号回路111が暗号処理に用いる鍵を交換する。
【0029】
図4は、本発明の実施例1の鍵交換処理を説明する図である。また、図5は、本発明の実施例1の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体を暗号回路111のレジスタ200に展開(記録)する(図4の#1を参照)。具体的には、リード・ライトチャネル16が磁気ディスク15のシステム領域のデータをリードし、フォーマッタ部112が上記システム領域のデータを鍵交換回路115に送信し、鍵交換回路115が、システム領域のデータに含まれる鍵本体をレジスタ200に記録する。
【0030】
鍵交換回路115が、フォーマッタ部112からセクタデータを取得する(図5のステップS1、図4の#2を参照)。鍵交換回路115が、取得されたセクタデータのセクタヘッダから鍵本体を抽出する(図5のステップS2、図4の#3を参照)。鍵交換回路115が、抽出された鍵本体で暗号回路111のレジスタ200内の鍵本体を更新して(図5のステップS3、図4の#4を参照)、暗号回路111がデータの暗号処理に用いる鍵を交換する。
【0031】
実施例1による鍵交換処理について、より詳細に説明する。HDC11が、ホスト2から、Start LBA とLBA Lengthとが指定されたリード指令を受信する。Start LBA は、リード対象となるセクタの先頭のLBAである。LBA Lengthは、リード対象のLBAの範囲(すなわち、リード対象のセクタ数)である。磁気ヘッド14が、指定された磁気ディスク15上の位置へサーボ制御により移動し、リード・ライトチャネル16が、磁気ディスク15に書き込まれている、リード指令によって指定されるLBAに対応するセクタデータを読み込む。リード・ライトチャネルが読み込んだセクタデータをフォーマッタ部112が鍵交換回路115に渡す。鍵交換回路115は、セクタデータのセクタヘッダを読み込んで鍵本体を抽出し、抽出した鍵本体で暗号回路111のレジスタ200内の鍵本体を更新する。暗号回路111が、更新された鍵を用いてセクタデータを復号する。
【0032】
HDC11が、ホスト2からライトデータを含むライト指令を受信すると、リード指令を受信したときと同様に、磁気ヘッド14が、指定された磁気ディスク15上の位置へサーボ制御により移動し、リード・ライトチャネル16が、磁気ディスク15に書き込まれている、ライト指令によって指定されるLBAに対応するセクタデータを読み込む。リード・ライトチャネルが読み込んだセクタデータをフォーマッタ部112が鍵交換回路115に渡す。鍵交換回路115は、渡されたセクタデータのセクタヘッダを読み込んで鍵本体を抽出し、抽出した鍵本体で暗号回路111のレジスタ200内の鍵本体を更新する。暗号回路111が、更新された鍵を用いて、ライトデータを暗号化する。フォーマッタ部112が、暗号化されたライトデータにセクタヘッダを付加してリード・ライトチャネル16に送信し、リード・ライトチャネル16がライトデータを磁気ディスク15に記録する。
【0033】
上述した実施例1においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAに対応するセクタデータのセクタヘッダから鍵本体を抽出し、抽出した鍵本体で暗号回路111が暗号処理に用いる鍵本体を更新する。従って、実施例1によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、セクタヘッダから抽出した鍵本体に基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。また、鍵交換回路115がハードウェアで構成されているので、鍵交換処理を迅速に実行することができる。その結果、鍵交換処理をファームウェアで実行する従来技術において発生するディスクの回転待ちが生じない。
【0034】
次に、本発明の実施例2について説明する。本発明の実施例2では、鍵本体へのポインタがセクタヘッダに記録されている。また、鍵交換回路115が、暗号回路111のレジスタ200(図6を参照)内に、アクティブとなっている鍵本体へのポインタを記録する。すなわち、暗号回路111は、レジスタ200内に記録されたポインタが指す鍵本体を用いてデータを暗号処理する。なお、本発明の実施例2の前提として、磁気ディスク15のシステム領域に鍵本体が予め記録されているものとする。
【0035】
実施例2においては、鍵交換回路115が、セクタヘッダに記録されたポインタで、暗号回路111のレジスタ200内に記録されているポインタを書き換えることによって、暗号回路111が暗号処理に用いる鍵を交換する。
【0036】
図6は、本発明の実施例2の鍵交換処理を説明する図である。また、図7は、本発明の実施例2の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体を、SDRAM18に展開する(図6の#1を参照)。また、例えば、鍵交換回路115が、上記鍵本体へのポインタを暗号回路111のレジスタに記録する(図6の#2を参照)。上記SDRAM18上に展開された鍵本体は、再暗号化などにより鍵そのものを変更する際に更新される。
【0037】
鍵交換回路115が、フォーマッタ部112から、リード指令又はライト指令によって指定されるLBAに対応するセクタデータを取得する(図7のステップS11、図6の#3を参照)。鍵交換回路115が、取得されたセクタデータのセクタヘッダから鍵本体へのポインタを抽出する(図7のステップS12)。鍵交換回路115が、抽出されたポインタで暗号回路111のレジスタ200内のポインタを更新して(図7のステップS13、図6の#4を参照)、暗号回路111がデータの暗号処理に用いる鍵を交換する。
【0038】
上述した実施例2においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAに対応するセクタデータのセクタヘッダから鍵本体へのポインタを抽出し、抽出したポインタで暗号回路111が暗号処理に用いる鍵へのポインタを更新する。従って、実施例1によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、セクタヘッダから抽出したポインタに基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。
【0039】
次に、本発明の実施例3について説明する。本発明の実施例3では、磁気ディスク15のシステム領域に、鍵本体と、鍵本体とLBAとの対応情報が記録されており、鍵交換回路115が、鍵本体とLBAとの対応情報に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。また、鍵交換回路115が、暗号回路111のレジスタ200(図9を参照)内に、アクティブとなっている鍵本体を記録する。すなわち、暗号回路111は、レジスタ200内に記録された鍵本体を用いてデータを暗号処理する。
【0040】
図8は、磁気ディスク15のシステム領域に記録されている鍵本体とLBAとの対応情報の例を示す図である。図8に示す対応情報は、Range、LBA開始、LBA長、暗号鍵といったデータ構成を有する。「Range」は、LBAの範囲であるRangeを一意に識別する識別情報である。「LBA開始」は、Rangeの先頭のLBAである。「LBA長」は、Rangeに対応するLBAの範囲である。「暗号鍵」は、当該Rangeに対応するLBAのセクタデータの暗号処理に用いられる鍵である。図8に示す対応情報を参照すると、Range1に対応するLBAは、0から100までの範囲のLBAであり、この範囲のLBAのセクタデータの暗号処理に用いられる鍵は鍵1であることがわかる。また、Range2に対応するLBAは、101から200までの範囲のLBAであり、この範囲のLBAのセクタデータの暗号処理に用いられる鍵は鍵2であることがわかる。また、Range3に対応するLBAは、201から300までの範囲のLBAであり、この範囲のLBAのセクタデータの暗号処理に用いられる鍵は鍵3であることがわかる。
【0041】
図9は、本発明の実施例3の鍵交換処理を説明する図である。また、図10は、本発明の実施例3の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体とLBAとの対応情報を、SDRAM18に展開する(図9の#1を参照)。また、例えば、鍵交換回路115が、システム領域に予め記録されている鍵本体を暗号回路111のレジスタ200に記録する(図9の#2を参照)。
【0042】
次に、HDC11がホスト2からリード/ライト指令を受信し、鍵交換回路115が、リード/ライト指令によって指定されたLBAを取得する(図10のステップS21、図9の#3を参照)。鍵交換回路115が、SDRAM18に展開された鍵本体とLBAとの対応情報と、上記指定されたLBAとに基づいて、鍵交換のタイミングをスケジューリングする(図10のステップS22、図9の#4を参照)。具体的には、鍵交換回路115が、指定されたLBAに従って実行されるリード/ライト処理における実行LBAがどのアドレス値となったら鍵を交換するのかを決定する。例えば、指定されたLBAが0〜150までのLBAである場合、鍵交換回路115は、例えば図8に示す対応情報を参照して、実行LBAが0〜100である間に暗号処理に用いられるべき鍵として鍵1を決定する。また、鍵交換回路115は、101〜150である間に暗号処理に用いられるべき鍵として鍵2を決定する。すなわち、鍵交換回路115は、実行LBAが101になった時を、鍵が鍵1から鍵2に交換されるタイミングとして決定する。
【0043】
そして、鍵交換回路115が、HDC11がリード・ライトチャネル16から受信した現時点の実行LBAと上記鍵交換のタイミングのスケジューリング結果とに基づいて、鍵交換のタイミングになったかを判断する(図10のステップS23)。鍵交換回路115が、鍵交換のタイミングになっていないと判断した場合は図10のステップS23に戻る。鍵交換回路115が、鍵交換のタイミングになったと判断した場合は、鍵交換回路115は、現時点で暗号処理に用いられるべき鍵で暗号回路111のレジスタ200内の鍵を更新することによって、鍵を交換する(図10のステップS24、図9の#5を参照)。
【0044】
実施例3において、ホスト2からリード指令がされた場合、上記図10を参照して説明した処理フローに従って鍵が交換され、暗号回路111が、交換された鍵を用いてセクタデータ(リード・ライトチャネル16によりリードされたデータ)を復号する。また、例えば、ホスト2からライト指令がされた場合、上記図10を参照して説明した処理フローに従って鍵が交換され、暗号回路111が、交換された鍵を用いてライトデータを暗号化する。
【0045】
上述した実施例3においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAと、鍵本体とLBAとの対応情報とに基づいて、鍵交換のタイミングをスケジューリングし、該スケジューリング結果と現時点の実行LBAとに基づいて、暗号処理に用いられる鍵を交換する。従って、実施例3によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、鍵交換のタイミングのスケジューリング結果に基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。
【0046】
次に、本発明の実施例4について説明する。本発明の実施例4では、磁気ディスク15のシステム領域に、鍵本体と、鍵本体とLBAとの対応情報が記録されており、鍵交換回路115が、鍵本体とLBAとの対応情報に基づいて、暗号回路111が暗号処理に用いる鍵を交換する。また、鍵交換回路115が、暗号回路111のレジスタ200(図11を参照)内に、アクティブとなっている鍵本体へのポインタを記録する。すなわち、暗号回路111は、レジスタ200内に記録されたポインタが指す鍵本体を用いてデータを暗号処理する。なお、磁気ディスクのシステム領域に記録されている上記対応情報は、例えば図8に示すようなデータ構成を有する。
【0047】
図11は、本発明の実施例4の鍵交換処理を説明する図である。また、図12は、本発明の実施例4の鍵交換処理フローを示す図である。まず、磁気ディスク装置1の電源ON時に、磁気ディスク装置1が備える所定の処理部(例えば、鍵交換回路115)が、システム領域に予め記録されている鍵本体と、鍵本体とLBAとの対応情報とを、SDRAM18に展開する(図11の#1を参照)。また、例えば、鍵交換回路115が、上記鍵本体へのポインタを暗号回路111のレジスタ200に記録する(図11の#2を参照)。
【0048】
次に、HDC11がホスト2からリード/ライト指令を受信し、鍵交換回路115が、リード/ライト指令によって指定されたLBAを取得する(図12のステップS31、図11の#3を参照)。鍵交換回路115が、SDRAM18に展開された鍵本体とLBAとの対応情報と、上記指定されたLBAとに基づいて、鍵交換のタイミングをスケジューリングする(図12のステップS32、図11の#4を参照)。具体的には、鍵交換回路115が、指定されたLBAに従って実行されるリード/ライト処理における実行LBAがどのアドレス値となったら鍵を交換するのかを決定する。
【0049】
そして、鍵交換回路115が、HDC11がリード・ライトチャネル16から受信した現時点の実行LBAと上記鍵交換のタイミングのスケジューリング結果とに基づいて、鍵交換のタイミングとなったかを判断する(図12のステップS33)。鍵交換回路115が、鍵交換のタイミングになっていないと判断した場合は図12のステップS33に戻る。鍵交換回路115が、鍵交換のタイミングになったと判断した場合は、鍵交換回路115は、現時点で暗号処理に用いられるべき鍵へのポインタで暗号回路111のレジスタ200内のポインタを更新することによって、鍵を交換する(図12のステップS34、図11の#5を参照)。
【0050】
上述した実施例4においては、鍵交換回路115が、リード指令又はライト指令によって指定されるLBAと、鍵本体とLBAとの対応情報とに基づいて、鍵交換のタイミングをスケジューリングする。そして、鍵交換回路115が、該スケジューリング結果と現時点の実行LBAとに基づいて、暗号処理に用いられる鍵へのポインタを更新することによって、鍵を交換する。従って、実施例4によれば、リード/ライト要求に対応するLBAが異なるRangeにまたがる場合であっても、鍵交換のタイミングのスケジューリング結果に基づいて鍵を交換することによって、各々の対応する暗号鍵が異なる複数のRangeに対応するデータを連続して暗号処理することが可能となる。
【0051】
以上から把握できるように、本実施形態の特徴を述べると以下の通りである。
【0052】
(付記1)鍵情報が記録された記録媒体と、
鍵を用いてデータを暗号処理する暗号回路と、
前記記録媒体に記録された鍵情報に基づいて前記暗号回路が暗号処理に用いる鍵を交換する、ハードウェアで構成される鍵交換回路とを備える
ことを特徴とするディスク装置。
【0053】
(付記2)前記鍵情報が、鍵本体であり、
前記鍵本体が、セクタヘッダに記録されており、
前記鍵交換回路が、前記セクタヘッダに記録された鍵本体に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記1記載のディスク装置。
【0054】
(付記3)前記鍵情報が、鍵本体と該鍵本体へのポインタとを含み、
前記ポインタが、セクタヘッダに記録されており、
前記鍵本体が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記セクタヘッダに記録されているポインタに基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記1記載のディスク装置。
【0055】
(付記4)前記鍵情報が、鍵本体と論理ブロックアドレスとの対応情報を含み、
前記鍵本体と論理ブロックアドレスとの対応情報が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記鍵本体と論理ブロックアドレスとの対応情報に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記1記載のディスク装置。
【0056】
(付記5)前記暗号回路が、前記暗号処理に用いる鍵へのポインタを有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有するポインタを更新することにより、該暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記4記載のディスク装置。
【0057】
(付記6)前記暗号回路が、鍵本体を有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有する鍵本体を更新することにより、該暗号回路が暗号処理に用いる鍵を交換する ことを特徴とする付記4記載のディスク装置。
【0058】
(付記7)データの暗号処理に用いる鍵を交換するディスク装置における鍵交換方法であって、
前記ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする鍵交換方法。
【0059】
(付記8)前記鍵情報が、鍵本体であり、
前記鍵本体が、セクタヘッダに記録されており、
前記鍵交換回路が、前記セクタヘッダに記録された鍵本体に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0060】
(付記9)前記鍵情報が、鍵本体と該鍵本体へのポインタとを含み、
前記ポインタが、セクタヘッダに記録されており、
前記鍵本体が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記セクタヘッダに記録されているポインタに基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0061】
(付記10)前記鍵情報が、鍵本体と論理ブロックアドレスとの対応情報を含み、
前記鍵本体と論理ブロックアドレスとの対応情報が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記鍵本体と論理ブロックアドレスとの対応情報に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0062】
(付記11)前記暗号回路が、前記暗号処理に用いる鍵へのポインタを有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有するポインタを更新することにより、該暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする付記7記載の鍵交換方法。
【0063】
(付記12)前記暗号回路が、鍵本体を有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有する鍵本体を更新することにより、該暗号回路が暗号処理に用いる鍵を交換する ことを特徴とする付記7記載の鍵交換方法。
【図面の簡単な説明】
【0064】
【図1】本実施形態のディスク装置の構成例を示す図である。
【図2】本実施形態のディスク装置の他の構成例を示す図である。
【図3】本実施形態に係るセクタデータの構成例を示す図である。
【図4】本発明の実施例1の鍵交換処理を説明する図である。
【図5】本発明の実施例1の鍵交換処理フローを示す図である。
【図6】本発明の実施例2の鍵交換処理を説明する図である。
【図7】本発明の実施例2の鍵交換処理フローを示す図である。
【図8】鍵本体とLBAとの対応情報の例を示す図である。
【図9】本発明の実施例3の鍵交換処理を説明する図である。
【図10】本発明の実施例3の鍵交換処理フローを示す図である。
【図11】本発明の実施例4の鍵交換処理を説明する図である。
【図12】本発明の実施例3の鍵交換処理フローを示す図である。
【図13】暗号処理に用いる鍵とRangeとの対応を示す図である。
【図14】従来技術の問題点を説明する図である。
【符号の説明】
【0065】
1 磁気ディスク装置
2 ホストコンピュータ
10 CPU
11 HDC
12 サーボ制御回路
13 モータ
14 磁気ヘッド
15 磁気ディスク
16 リード・ライトチャネル
17 I/Oインタフェース
18 SDRAM
111 暗号回路
112 フォーマッタ部
113 SRAM
114 ROM
115 鍵交換回路
【特許請求の範囲】
【請求項1】
鍵情報が記録された記録媒体と、
鍵を用いてデータを暗号処理する暗号回路と、
前記記録媒体に記録された鍵情報に基づいて前記暗号回路が暗号処理に用いる鍵を交換する、ハードウェアで構成される鍵交換回路とを備える
ことを特徴とするディスク装置。
【請求項2】
前記鍵情報が、鍵本体であり、
前記鍵本体が、セクタヘッダに記録されており、
前記鍵交換回路が、前記セクタヘッダに記録された鍵本体に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項1記載のディスク装置。
【請求項3】
前記鍵情報が、鍵本体と該鍵本体へのポインタとを含み、
前記ポインタが、セクタヘッダに記録されており、
前記鍵本体が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記セクタヘッダに記録されているポインタに基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項1記載のディスク装置。
【請求項4】
前記鍵情報が、鍵本体と論理ブロックアドレスとの対応情報を含み、
前記鍵本体と論理ブロックアドレスとの対応情報が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記鍵本体と論理ブロックアドレスとの対応情報に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項1記載のディスク装置。
【請求項5】
前記暗号回路が、前記暗号処理に用いる鍵へのポインタを有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有するポインタを更新することにより、該暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項4記載のディスク装置。
【請求項6】
データの暗号処理に用いる鍵を交換するディスク装置における鍵交換方法であって、
前記ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする鍵交換方法。
【請求項1】
鍵情報が記録された記録媒体と、
鍵を用いてデータを暗号処理する暗号回路と、
前記記録媒体に記録された鍵情報に基づいて前記暗号回路が暗号処理に用いる鍵を交換する、ハードウェアで構成される鍵交換回路とを備える
ことを特徴とするディスク装置。
【請求項2】
前記鍵情報が、鍵本体であり、
前記鍵本体が、セクタヘッダに記録されており、
前記鍵交換回路が、前記セクタヘッダに記録された鍵本体に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項1記載のディスク装置。
【請求項3】
前記鍵情報が、鍵本体と該鍵本体へのポインタとを含み、
前記ポインタが、セクタヘッダに記録されており、
前記鍵本体が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記セクタヘッダに記録されているポインタに基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項1記載のディスク装置。
【請求項4】
前記鍵情報が、鍵本体と論理ブロックアドレスとの対応情報を含み、
前記鍵本体と論理ブロックアドレスとの対応情報が、前記記録媒体のシステム領域に記録されており、
前記鍵交換回路が、前記鍵本体と論理ブロックアドレスとの対応情報に基づいて、前記暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項1記載のディスク装置。
【請求項5】
前記暗号回路が、前記暗号処理に用いる鍵へのポインタを有し、
前記鍵交換回路が、ホストコンピュータからのリード/ライト要求に対応する論理ブロックアドレスと前記鍵本体と論理ブロックアドレスとの対応情報とに基づいて、前記暗号回路が有するポインタを更新することにより、該暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする請求項4記載のディスク装置。
【請求項6】
データの暗号処理に用いる鍵を交換するディスク装置における鍵交換方法であって、
前記ディスク装置が備える、ハードウェアで構成される鍵交換回路が、記録媒体に記録された鍵情報に基づいて、該ディスク装置が備える暗号回路が暗号処理に用いる鍵を交換する
ことを特徴とする鍵交換方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−11247(P2010−11247A)
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願番号】特願2008−169743(P2008−169743)
【出願日】平成20年6月30日(2008.6.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願日】平成20年6月30日(2008.6.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]