(57)【要約】【課題】ユーザに割り当てられた鍵に影響を与えることなく内部に記憶された鍵およびデータを更新する情報記憶装置を提供する。【解決手段】情報記憶装置において、情報を第１の鍵で暗号化して暗号化情報を生成する情報暗号部と、暗号化情報を記憶する情報記憶部と、第１の鍵を用いて暗号化情報を復号する情報復号部と、第２の鍵で暗号化された第１暗号化鍵を第２の鍵を用いて復号し情報復号部に入力する第１鍵復号部と、第３の鍵それぞれで暗号化された複数の第２暗号化鍵を記憶する第２鍵記憶部と、第３の鍵を用いて第２暗号化鍵を復号し第１鍵復号部に入力する第２鍵復号部と、鍵更新の命令を受けて新たな第１の鍵を生成し、情報暗号部に、元の第１の鍵によって生成された情報を新たな第１の鍵で暗号化させ、情報記憶部を書き換え、新たな第１の鍵を第２の鍵で暗号化して新たな第１暗号化鍵を生成し、書き換える鍵更新部とを備える。【選択図】        図６
2009245227.tif 000002
【特許請求の範囲】
【請求項１】
情報を、その情報の暗号化と復号との双方に用いられる第１の鍵で暗号化して暗号化情報を生成する情報暗号部と、
前記情報暗号部で暗号化された暗号化情報を記憶する情報記憶部と、
前記第１の鍵が入力されてその第１の鍵を用いて、前記情報記憶部に記憶されている暗号化情報を復号して前記情報を生成する情報復号部と、
前記第１の鍵が、該第１の鍵の暗号化と復号との双方に用いられる第２の鍵で暗号化された第１暗号化鍵を記憶する第１鍵記憶部と、
前記第２の鍵が入力されてその第２の鍵を用いて、前記第１鍵記憶部に記憶されている第１暗号化鍵を復号して前記第１の鍵を生成し、その生成した第１の鍵を前記情報復号部に入力する第１鍵復号部と、
前記第２の鍵が、該第２の鍵の暗号化と復号との双方に用いられる複数の第３の鍵それぞれで暗号化された複数の第２暗号化鍵を記憶する第２鍵記憶部と、
前記第３の鍵が入力されてその第３の鍵を用いて、前記第２鍵記憶部に記憶されている第２暗号化鍵のうちその入力された第３の鍵で暗号化されている第２暗号化鍵を復号して前記第２の鍵を生成し、その生成した第２の鍵を前記第１鍵復号部に入力する第２鍵復号部と、
情報出力の命令を受けて、前記情報復号部で生成された情報を出力する情報出力部と、
鍵更新の命令を受けて、前記第１鍵復号部によって生成される第１の鍵に替わる新たな第１の鍵を生成し、前記情報暗号部に、前記情報復号部で元の第１の鍵によって生成された情報をその新たな第１の鍵で暗号化させ、その新たな第１の鍵で生成された新たな暗号化情報で前記情報記憶部に記憶されている暗号化情報を書き換え、その新たな第１の鍵を、前記第２鍵復号部によって生成された第２の鍵で暗号化して新たな第１暗号化鍵を生成し、その新たな第１暗号化鍵で前記第１鍵記憶部に記憶されている第１暗号化鍵を書き換える鍵更新部とを備えたことを特徴とする情報記憶装置。
【請求項２】
前記第２の鍵が、この情報記憶装置に固有の固有情報を含んだものであることを特徴とする請求項１記載の情報記憶装置。
【請求項３】
変数の値を記憶する、場所が固定された変数値記憶部と、
前記値記憶部に記憶されている変数の値を更新する変数値更新部とを備え、
前記第１鍵記憶部が、前記第２の鍵と前記変数値記憶部に記憶されている値との組み合わせで前記第１の鍵が暗号化された第１暗号化鍵を記憶するものであり、
前記第１鍵復号部が、前記第１鍵記憶部に記憶されている第１暗号化鍵を、前記第２鍵復号部で生成された第２の鍵と前記変数値記憶部に記憶されている値との組み合わせで復号して前記第１の鍵を生成するものであることを特徴とする請求項１または２記載の情報記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記憶装置に関する。
【背景技術】
【０００２】
情報を記憶する情報記憶装置として、情報を暗号化して記憶するタイプの情報記憶装置が知られている。例えば、磁気ディスク装置において、外部から送られてきた情報を暗号鍵で暗号化して記憶し、さらにこの暗号化鍵をユーザのパスワードで暗号化等して記憶することによって、適切なパスワードが入力された場合に記憶された情報の読出しを可能としている。情報記憶装置に記憶されるデータは複数のユーザによって共同で利用される場合があり、複数ユーザによる利用に適したパスワードの管理が求められている。
【０００３】
ここで、例えば、ネットワークシステムの分野では、複数のユーザからなるグループで情報を共有するシステムにパスワードの管理サーバを設け、グループパスワードを管理する技術が知られている（例えば、特許文献１参照。）。このシステムでは、グループに属するユーザが変更になった場合、管理サーバはグループパスワードを更新し、グループのすべてのユーザに配信する。
【０００４】
図１は、従来技術の情報記憶装置してのハードディスク装置（ＨＤＤ）における概略構成を示すブロック図である。図１の中で二重丸は暗号化された状態の情報を示し、三角形は復号された状態の情報を示す。
【０００５】
図１に示すＨＤＤ９に対し、ＨＤＤ９の外部から破線に示す流れに沿って入力されてくるデータＤ９１は、データ暗号／復号部９５で暗号化され、記録媒体としての磁気ディスク９８に書き込まれる。データ暗号／復号部９５はデータ鍵Ｋ９１を用いて暗号化および復号を行う。このデータ鍵Ｋ９１は、複数のユーザに割り当てられたパスワードＰ９１，Ｐ９２，Ｐ９３のそれぞれで暗号化され、暗号化鍵Ｋｍ９１，Ｋｍ９２，Ｋｍ９３として磁気ディスク９８に記憶されている。
【０００６】
ＨＤＤ９に記憶されたデータＤｍ９１は、３つのパスワードＰ９１，Ｐ９２，Ｐ９３のうちいずれかのパスワードが入力されることによって、ＨＤＤ９の外部で利用可能となる。
【０００７】
図２は、図１に示すＨＤＤにおいて、データを読み出す処理を示すフローチャートである。
【０００８】
図２の読出し処理では、まず、ユーザが使用する図示しないホストコンピュータからＨＤＤ９に、データ読出しのコマンドとともにユーザに割り当てられたパスワードが入力される（Ｓ９１）。ＨＤＤ９は、パスワードが正規のものであるか否かを判定し（Ｓ９２）、正規のものである場合には、記憶された暗号化データ鍵Ｋｍをパスワードを使って復号し、データ鍵Ｋ９１を取得する（Ｓ９３）。この後、磁気ディスク９８から暗号化データＤｍ９１を読み出し、復号したデータ鍵Ｋ９１を使って復号し（Ｓ９４）、外部で利用可能な状態のデータＤ９１を出力する（Ｓ９５）。
【特許文献１】特開２００７−４９４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＨＤＤ９の磁気ディスク９８に記憶された暗号化データＤｍ９１およびデータ鍵Ｋ９１の値を更新せずに固定にしておくと、第三者による不正な解読が試みられた場合、データが解読されるリスクが時間の経過とともに高まる。このため、データ鍵Ｋの値を時々更新し、磁気ディスク上のデータを暗号化し直すことが好ましい。
【００１０】
図３は、図１に示すＨＤＤにおいて、データ鍵の変更を行う処理を示すフローチャートである。
【００１１】
ＨＤＤ９は、データ鍵の変更が指示されると（Ｓ９６）、指示に付随して入力されたパスワード、つまり３つのパスワードＰ９１，Ｐ９２，Ｐ９３のうちいずれかのパスワードを用いて暗号化データ鍵Ｋｍ９１の復号を行い、現行のデータ鍵Ｋ９１を取得し、取得したデータ鍵Ｋ９１を別の値のデータ鍵Ｋ９１Ｎに変更する（Ｓ９７）。
【００１２】
ＨＤＤ９は、変更されたデータ鍵Ｋ９１Ｎを、入力されたパスワードを用いて暗号化し、磁気ディスク９８に保存する（Ｓ９８）。また、磁気ディスク９８に記憶された暗号化データＤｍ９１を一旦読み出し、変更前のデータ鍵Ｋ９１で復号してから変更されたデータ鍵Ｋ９１Ｎで暗号化し、磁気ディスク９８に記憶する（Ｓ９９）。このようにしてデータ鍵の変更およびデータの再暗号化が完了する。
【００１３】
しかし、図３に示す処理でデータ鍵を変更すると、データ鍵の変更が、入力されていたパスワードについてしか適用されないという問題が生じる。
【００１４】
図４は、図１に示すＨＤＤにおける、データ鍵の暗号化状態を説明する図である。図４でパスワードの枠内に配置された鍵は、この鍵がパスワードによって暗号化されていることを示している。
【００１５】
図３で説明したデータ鍵の変更処理で、例えば３つのパスワードＰ９１，Ｐ９２，Ｐ９３のうち１つのパスワードＰ９２が入力された場合、この入力されたパスワードＰ９２を用いて暗号化データ鍵Ｋｍ９２を復号することができ、得られたデータ鍵Ｋ９２の値は変更が可能となる。ところが値を変更したデータ鍵Ｋ９２Ｎは入力されていたパスワードＰ９２で暗号化し記憶することはできるが、入力されていない残りのパスワードＰ９１，Ｐ９３で暗号化することができない。この結果、パスワードを有する複数のユーザのうちいずれかのユーザがＨＤＤ９でデータ鍵の変更処理を実施すると、残りのユーザについては新たなデータ鍵を得ることができず、磁気ディスク内のデータを利用することができない。
【００１６】
上述したネットワークシステムとは異なり、コンピュータの補助記憶装置として利用される情報記憶装置は、同時に入力できるパスワードは１つであり、かつパスワードそのものを保持・管理していないため、入力されたパスワードＰ９２以外のパスワードで新たなデータ鍵を再暗号化することができない。
【００１７】
上記事情に鑑み、本件開示は、情報記憶装置が、複数のユーザに複数の鍵が割り当てられ、入力された鍵および内部に記憶された鍵を用いてデータを暗号化する場合に、ユーザに割り当てられた鍵に影響を与えることなく内部に記憶された鍵およびデータを更新する情報記憶装置を提供する。
【課題を解決するための手段】
【００１８】
本件開示の情報記憶装置の基本形態は、
情報を、その情報の暗号化と復号との双方に用いられる第１の鍵で暗号化して暗号化情報を生成する情報暗号部と、
上記情報暗号部で暗号化された暗号化情報を記憶する情報記憶部と、
上記第１の鍵が入力されてその第１の鍵を用いて、上記情報記憶部に記憶されている暗号化情報を復号して上記情報を生成する情報復号部と、
上記第１の鍵が、この第１の鍵の暗号化と復号との双方に用いられる第２の鍵で暗号化された第１暗号化鍵を記憶する第１鍵記憶部と、
上記第２の鍵が入力されてその第２の鍵を用いて、上記第１鍵記憶部に記憶されている第１暗号化鍵を復号して上記第１の鍵を生成し、その生成した第１の鍵を上記情報復号部に入力する第１鍵復号部と、
上記第２の鍵が、この第２の鍵の暗号化と復号との双方に用いられる複数の第３の鍵それぞれで暗号化された複数の第２暗号化鍵を記憶する第２鍵記憶部と、
上記第３の鍵が入力されてその第３の鍵を用いて、上記第２鍵記憶部に記憶されている第２暗号化鍵のうちその入力された第３の鍵で暗号化されている第２暗号化鍵を復号して上記第２の鍵を生成し、その生成した第２の鍵を上記第１鍵復号部に入力する第２鍵復号部と、
情報出力の命令を受けて、上記情報復号部で生成された情報を出力する情報出力部と、
鍵更新の命令を受けて、上記第１鍵復号部によって生成される第１の鍵に替わる新たな第１の鍵を生成し、上記情報暗号部に、上記情報復号部で元の第１の鍵によって生成された情報をその新たな第１の鍵で暗号化させ、その新たな第１の鍵で生成された新たな暗号化情報で上記情報記憶部に記憶されている暗号化情報を書き換え、その新たな第１の鍵を、上記第２鍵復号部によって生成された第２の鍵で暗号化して新たな第１暗号化鍵を生成し、その新たな第１暗号化鍵で上記第１鍵記憶部に記憶されている第１暗号化鍵を書き換える鍵更新部とを備えている。
【００１９】
この基本形態によれば、鍵更新では、新たな第１の鍵で、情報記憶部に記憶された情報を更新するとともに、新たな第１の鍵を、中間的な鍵である第２の鍵で暗号化して第１暗号化鍵を生成し、書き換えを行う。このため上記の鍵更新では、例えばユーザに割り当てられる複数の第３の鍵を変更することなく、情報記憶部に記憶された情報と第１の鍵が更新される。
【発明の効果】
【００２０】
以上説明したように、情報記憶装置の上記基本形態によれば、鍵更新において、例えばユーザに割り当てられる複数の第３の鍵を変更することなく、情報記憶部に記憶された情報と第１の鍵が更新される。
【発明を実施するための最良の形態】
【００２１】
上記基本形態に対し、「上記第２の鍵が、この情報記憶装置に固有の固有情報を含んだものである」という応用形態は好適である。
【００２２】
この好適な応用形態によれば、第２の鍵が個々の情報記憶装置ごとに異なるので、仮にある装置から何らかの方法で第２の鍵が外部に取得された場合にも、この第２の鍵が他の装置に入力されて情報が不正に読み出される事態が抑えられる。
【００２３】
上記基本形態に対し、更に、
変数の値を記憶する、場所が固定された変数値記憶部と、
上記値記憶部に記憶されている変数の値を更新する変数値更新部とを備え、
上記第１鍵記憶部が、上記第２の鍵と上記変数値記憶部に記憶されている値との組み合わせで上記第１の鍵が暗号化された第１暗号化鍵を記憶するものであり、
上記第１鍵復号部が、上記第１鍵記憶部に記憶されている第１暗号化鍵を、上記第２鍵復号部で生成された第２の鍵と上記変数値記憶部に記憶されている値との組み合わせで復号して上記第１の鍵を生成するものである応用形態は好適である。
【００２４】
この好適な応用形態によれば、第１の鍵の生成に使用する変数の値として設定する値を任意の値の中から選ぶことができる。したがって、仮にある装置から何らかの方法で第２の鍵が外部に取得された場合にも、この第２の鍵を他の装置に入力して情報を不正に利用する事態が抑えられる。
【００２５】
基本形態および応用形態について上記説明した情報記憶装置に対する具体的な実施形態を、以下図面を参照して説明する。
【００２６】
図５は、情報記憶装置の具体的な第１実施形態であるＨＤＤのハードウェア構成を示すブロック図である。
【００２７】
図５に示すＨＤＤ１は、ホストコンピュータＨに接続されて使用され、ホストコンピュータＨから送られてくるデータを記憶し、また記憶されたデータを読み出してホストコンピュータＨに出力する。
【００２８】
ＨＤＤ１は、ホストコンピュータＨとのデータおよびコマンドの受け渡しを担うインターフェース部（Ｉ／Ｆ）１１、データの暗号化および復号を行うデータ暗号／復号部１５、データが記録される磁気ディスク（ＤＩＳＫ）１８、制御部としてのＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１９、および、フラッシュＲＯＭ２０を備えている。
【００２９】
Ｉ／Ｆ１１は、ホストコンピュータＨから、データ書込みコマンド、データ読出しコマンド、および鍵更新コマンド等を受信する。ＭＰＵ１９は、Ｉ／Ｆ１１が受信したコマンドに応じてＨＤＤ１の各部を制御して処理を実行する。
【００３０】
例えば、データ書込みコマンドの場合、コマンドに続いて受信したデータは、データ暗号／復号部１５で鍵を用いて暗号化される。暗号化されたデータは、磁気ディスク１８に書き込まれる。また、データ読出しコマンドが受信された場合、磁気ディスク１８から読み出されたデータは、データ暗号／復号部１５で鍵を用いて復号され、復号されたデータは、Ｉ／Ｆ１１からホストコンピュータＨに出力される。
【００３１】
フラッシュＲＯＭ２０には、ＭＰＵ１９で実行可能なプログラムとしてのファームウェアおよび定数が記憶されている。ＭＰＵ１９は、フラッシュＲＯＭ２０に記憶されたファームウェアを実行することにより、各種処理を実行する。フラッシュＲＯＭ２０には変数も記憶される。
【００３２】
データ暗号／復号部１５は、データの暗号化および復号を行う。データ暗号／復号部１５は暗号化および復号にＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を用いるが、ＡＥＳ以外にも、例えばトリプルＤＥＳといった他の共通鍵方式のアルゴリズムが採用可能である。
【００３３】
ＨＤＤ１にホストコンピュータＨから送られてくるデータ書込みコマンド、データ読出しコマンドにはパスワードが付随している。ＭＰＵ１９は、ホストコンピュータＨから送られてくるパスワードを用いてデータ暗号／復号部１５に供給する共用鍵を生成する。ＨＤＤ１は、データが複数のユーザによって共同利用可能となっている。ユーザのそれぞれには異なるパスワードが割り当てられている。パスワードが割り当てられたユーザのいずれも、他のユーザがＨＤＤ１に記憶させたデータを読み出して利用することができる。ホストコンピュータＨは、このホストコンピュータＨを使用しているユーザに対応するパスワードを、データ書込みコマンド、およびデータ読出しコマンドに付随してＨＤＤ１に送信してくる。ＨＤＤ１のＭＰＵは、割り当てられたパスワードのいずれからも、データ暗号／復号部１５に供給する共通の共用鍵を生成する。また、ＭＰＵ１９は、鍵更新コマンドに応じて共用鍵を更新し、磁気ディスク１８に記憶されたデータを変更後の共用鍵で暗号化した内容に更新する。なお、ＨＤＤ１には、磁気ディスク１８等を駆動する駆動装置や、ＭＰＵ１９の演算データを記憶するＲＡＭ等も備えられているが、これらは公知の部品および機能については、詳細な説明および図示を省略する。
【００３４】
図６は、図５に示すＨＤＤの暗号化／復号に関わるブロックの概略構成を示すブロック図である。図６の中の二重丸は暗号化された情報を示し、三角形は暗号化された情報を示す。
【００３５】
ＨＤＤ１は、ＨＤＤ１外部のホストコンピュータＨとのデータの受け渡しを行うデータ入出力部Ａ、ホストコンピュータＨからパスワードを受け付けるパスワード入力部Ｂ、データの暗号化および復号を担うデータ暗号／復号部１５、暗号化されたデータを記憶する情報記憶部１８Ａ、データ暗号／復号部１５で暗号化および復号に用いる共用鍵Ｋ１の暗号化および復号を担う第１鍵暗号／復号部１９１、第１鍵暗号／復号部１９１で暗号化された暗号化共用鍵Ｋｍ１を記憶する第１鍵記憶部１８Ｂ、共用鍵Ｋ１の暗号化および復号に用いられる中間鍵Ｘ１の暗号化および復号を担う第２鍵暗号／復号部１９２、暗号化された中間鍵Ｘｍ１，Ｘｍ２，Ｘｍ３を記憶する第２鍵記憶部１８Ｃ、および、鍵の更新を担う鍵更新部１９３を備えている。情報記憶部１８Ａ、第１鍵記憶部１８Ｂ、第２鍵記憶部１８Ｃはいずれも図５に示す磁気ディスク１８で構成されており、磁気ディスク１８上の異なる記憶領域に対応している。第１鍵暗号／復号部１９１、第２鍵暗号／復号部１９２、および鍵更新部１９３は、対応する処理を実行するＭＰＵ１９（図５）によって構成される。また、パスワード入力部Ｂは、対応する処理を実行するＭＰＵ１９（図５）、および図５に示すＩ／Ｆ１１のうちパスワードを受信する部分によって構成される。また、データ入出力部Ａは、図５に示すＩ／Ｆ１１のうちデータの受け渡しを行う部分で構成されている。
【００３６】
データ入出力部Ａは、データ書込み処理において、ホストコンピュータＨからデータＤを受信しデータ暗号／復号部１５に供給する。また、データ入出力部Ａは、データ読出し処理において、データ暗号／復号部１５で生成された情報をホストコンピュータＨに出力する。
【００３７】
データ暗号／復号部１５は、ＨＤＤ１のデータ書込み処理時に、データ入出力部ＡがホストコンピュータＨから受信したデータＤ１を、共用鍵Ｋ１を用いて暗号化し暗号化データＤｍ１を生成する。データ暗号／復号部１５で暗号化された暗号化データＤｍ１は情報記憶部１８Ａに記憶される。また、データ暗号／復号部１５は、ＨＤＤ１のデータ読出し処理時に、共用鍵Ｋ１が入力され、この共用鍵Ｋ１を用いて情報記憶部１８Ａに記憶されている暗号化データＤｍ１を復号してデータＤ１を生成する。復号されたデータＤ１はデータ入出力部Ａに送られる。共用鍵Ｋ１は、上述したように、データ暗号／復号部１５における暗号化および復号の双方に用いられる。ここで、データ暗号／復号部１５のうち暗号化を担う機能が上述した基本形態における情報暗号部の一例に相当し、データ暗号／復号部１５のうち復号を担う機能が上述した基本形態における情報復号部の一例に相当する。また、共用鍵Ｋ１は上述した基本形態における第１の鍵の一例に相当する。
【００３８】
第１鍵記憶部１８Ｂは、共用鍵Ｋ１が中間鍵Ｘ１で暗号化された暗号化共用鍵Ｋｍ１を記憶している。
【００３９】
第１鍵暗号／復号部１９１は、第１鍵記憶部１８Ｂに記憶されている暗号化共用鍵Ｋｍ１を、中間鍵Ｘ１を用いて復号して共用鍵Ｋ１を生成する。生成した共用鍵Ｋ１はデータ暗号／復号部１５に入力される。また、第１鍵暗号／復号部１９１は共用鍵Ｋ１の更新時にこの共用鍵の暗号化も行う。第１鍵暗号／復号部１９１の暗号化および復号のアルゴリズムとしては、例えばＡＥＳが採用されるが、ＡＥＳ以外にもトリプルＤＥＳといった他の共通鍵暗号方式が採用可能である。中間鍵Ｘ１は、共用鍵Ｋ１の暗号化と復号との双方に用いられる鍵である。ここで、第１鍵暗号／復号部１９１は、上述した基本形態における第１鍵復号部の一例に相当する。また、中間鍵Ｘ１は、上述した基本形態における第２の鍵の一例に相当する。
【００４０】
第２鍵記憶部１８Ｃは、中間鍵Ｘ１が複数のパスワードＰ（Ｐ１，Ｐ２，Ｐ３）それぞれで暗号化された複数の暗号化中間鍵Ｘｍ（Ｘｍ１，Ｘｍ２，Ｘｍ３）を記憶している。中間鍵Ｘ１が第１のパスワードＰ１で暗号化されたものが第１の暗号化中間鍵Ｘｍ１であり、中間鍵Ｘ１が第２のパスワードＰ２で暗号化されたものが第２の暗号化中間鍵Ｘｍ２であり、中間鍵Ｘ１が第３のパスワードＰ３で暗号化されたものが第３の暗号化中間鍵Ｘｍ３である。
【００４１】
パスワード入力部Ｂは、ホストコンピュータＨから送信されてきたパスワードＰ１，Ｐ２，Ｐ３を第２鍵暗号／復号部１９２に入力する。
【００４２】
第２鍵暗号／復号部１９２は、第２鍵記憶部１８Ｃに記憶されている暗号化中間鍵Ｘｍ１，Ｘｍ２，Ｘｍ３のうち、入力されたパスワードで暗号化されているものを、このパスワードを用いて復号して中間鍵Ｘ１を生成する。暗号化中間鍵Ｘｍ１，Ｘｍ２，Ｘｍ３のそれぞれは、対応するパスワードＰ１，Ｐ２，Ｐ３を用いて中間鍵Ｘ１が暗号化されたものであり、暗号化とは逆に、対応するパスワードＰ１，Ｐ２，Ｐ３を用いて復号されることによって共通の中間鍵Ｘ１となる。生成された中間鍵Ｘ１の鍵は、第１鍵暗号／復号部１９１に入力される。第２鍵暗号／復号部１９２の暗号化および復号のアルゴリズムとしても、例えばＡＥＳが採用され、ＡＥＳ以外にもトリプルＤＥＳといった他の共通鍵暗号方式が採用可能である。パスワードＰ１，Ｐ２，Ｐ３のそれぞれは、中間鍵Ｘ１の暗号化と復号との双方に用いられる。ここで、第２鍵暗号／復号部１９２は、上述した基本形態における第２鍵復号部の一例に相当する。また、パスワードＰ１，Ｐ２，Ｐ３は、上述した基本形態における第３の鍵の一例に相当する。
【００４３】
鍵更新部１９３は、鍵更新コマンドを受信して、共用鍵Ｋ１に替わる新たな共用鍵Ｋ２を生成する。そして、データ暗号／復号部１５に、元の共用鍵Ｋ１によって生成されたデータを新たな共用鍵Ｋ２で暗号化させ、新たな暗号化データＤｍ２で情報記憶部１８Ａに記憶されている暗号化データＤｍ１を書き換える。また、鍵更新部１９３は新たな共用鍵Ｋ２を、中間鍵Ｘ１を用いて暗号化して暗号化共用鍵Ｋｍ２を生成し、第１鍵記憶部１８Ｂに記憶されている暗号化共用鍵Ｋｍ１を書き換える。より詳細には、鍵更新部１９３は、第１鍵暗号／復号部１９１に共用鍵Ｋ２を暗号化させる。
【００４４】
続いて、ＨＤＤ１における処理を説明する。
【００４５】
図７は、図６に示すＨＤＤ１におけるデータ読出しコマンドに対応する処理を示すフローチャートである。
【００４６】
ホストコンピュータＨ（図５参照）からデータ読出しコマンドが送られてくるときには、データ読出しコマンドに付随してパスワードが送信されてくる。パスワード入力部Ｂは、パスワードを受信すると（Ｓ１１）、受信したパスワードが正規のものであるか否かを判定する（Ｓ１２）。この判定によって、パスワードが一定の規定を満たさない場合には（Ｓ１２）、データ読出しの前の段階でコマンド処理の失敗をホストコマンドに通知する。判定の方法としては、例えば、パスワードに冗長符号を含ませ、チェックサムやＣＲＣを判断する方法が採用されるが、この他にも、パスワードを簡易方式で暗号化して保存しておき、受信したパスワードも暗号化して一致を確認する方法も採用可能である。
【００４７】
上記ステップＳ１２の判定処理で受信したパスワードが正規のものであると判定された場合（Ｓ１２でＹｅｓ）、次に、第２鍵暗号／復号部１９２が、パスワードを用いて、第２鍵暗号／復号部１９２に記憶されている暗号化中間鍵Ｘｍを復号して中間鍵Ｘ１を生成する（Ｓ１３）。
【００４８】
次に、第１鍵暗号／復号部１９１が、第２鍵暗号／復号部１９２で生成された中間鍵Ｘ１を用いて、第１鍵記憶部１８Ｂに記憶されている暗号化共用鍵Ｋｍ１を復号して共用鍵Ｋ１を生成する（Ｓ１４）。次に、データ暗号／復号部１５が、第１鍵暗号／復号部１９１で生成された共用鍵Ｋ１を用いて、情報記憶部１８Ａに記憶されている暗号化データＤｍ１を復号してデータＤ１を生成する（Ｓ１５）。
【００４９】
次に、データ入出力部Ａが、データ暗号／復号部１５で生成されたデータＤ１を、ホストコンピュータＨに向けて出力する（Ｓ１６）。これによって、パスワードが付随した読出しコマンドに応じて、データＤ１が出力される。
【００５０】
以上、データ読出しコマンドに対応する処理を説明したが、データ書込みコマンドに対応するデータ書込み処理も、図７に示すステップＳ１１からステップＳ１４までの処理は共通である。データ書込み処理では、図７に示すステップＳ１５の代わりに、データ暗号／復号部１５が第１鍵暗号／復号部１９１で生成された共用鍵Ｋ１を用いて、データ入出力部Ａで受信されたデータＤ１を暗号化して暗号化データＤｍ１を生成し、図７に示すステップＳ１６の代わりに、情報記憶部１８Ａが第１鍵暗号／復号部１９１で暗号化された暗号化データＤｍ１を記憶する。
【００５１】
図８は、図６に示すＨＤＤ１における鍵更新コマンドに対応する処理を示すフローチャートである。
【００５２】
ＨＤＤ１がホストコンピュータＨから鍵更新コマンドを受信すると（Ｓ２１）、鍵更新部１９３が現行の共用鍵Ｋ１を共用鍵Ｋ２に変更する（Ｓ２２）。鍵更新部１９３は、より詳細には、現行の共用鍵Ｋ１とは異なる値の共用鍵Ｋ２を生成する。新たな共用鍵Ｋ２の値は乱数等により任意に決定することができる。
【００５３】
次に、鍵更新部１９３は、中間鍵Ｘ１で新たな共用鍵Ｋ２を暗号化して保存する（Ｓ２３）。より詳細には、鍵更新部１９３は、第１鍵暗号／復号部１９１に、新たな共用鍵Ｋ２を、中間鍵Ｘ１を用いて暗号化させることによって暗号化共用鍵Ｋｍ２を生成させ、この暗号化共用鍵Ｋｍ２を第１鍵記憶部１８Ｂに記憶させる。
【００５４】
次に、鍵更新部１９３は、変更した共用鍵Ｋ２によるデータの再暗号化を行う（Ｓ２４）。より詳細には、鍵更新部１９３は、まず、データ暗号／復号部１５に、変更前の情報記憶部１８Ａの暗号化データＤｍ１を、共用鍵Ｋ１を用いて復号させることによってデータＤ１を生成させる。鍵更新部１９３は、次に、データ暗号／復号部１５に、生成したデータＤ１を新たな共用鍵Ｋ２を用いて暗号化させることによって新たな暗号化データＤｍ２を生成させ、この暗号化データＤｍ２を情報記憶部１８Ａに記憶させる。上記ステップＳ２２〜Ｓ２４の処理によって、共用鍵Ｋ２が更新され、情報記憶部１８Ａの情報も更新された共用鍵Ｋ２を用いて暗号化し直される。
【００５５】
図８に示す鍵更新の処理を実行するためには、情報記憶部１８Ａに記憶された暗号化データＤｍ１の一時的な復号のため共用鍵Ｋ１が必要であり、また、更新された共用鍵Ｋ１を暗号化するため中間鍵Ｘ１が必要である。しかし、共用鍵Ｋ１および中間鍵Ｘ１は、ＨＤＤ１の電源投入後には、暗号化された状態で記憶されている。このため、図８に示す鍵更新の処理は、電源投入後、ＨＤＤ１に読出しコマンド、書込みコマンドが入力され、複数のパスワードＰ１，Ｐ２，Ｐ３のうち少なくとも１つのパスワードが入力された後で正常に実行される。また、ＨＤＤ１にパスワードの入力を行うためのログインコマンドが入力された場合にも、パスワードが入力され、この後、鍵更新の処理が正常に実行される。
【００５６】
図９は、図６に示すＨＤＤにおける、鍵の暗号化状態を説明する図である。図９でパスワードの枠内に示された中間鍵の枠は、中間鍵がパスワードによって暗号化されていることを示し、中間鍵の枠内に示された共用鍵の枠は、共用鍵が中間鍵によって暗号化されていることを示している。
【００５７】
図９に示すように、鍵更新処理で、３つのパスワードのうち１つのパスワードＰ２が入力された場合、パスワードＰ２を用いて暗号化中間鍵Ｘｍ２から中間鍵Ｘ１が得られる。中間鍵Ｘ１は、３つのパスワードに対し共通であり、３つのパスワードのうちいずれを用いても同じ内容の中間鍵Ｘ１が得られる。この中間鍵Ｘ１を用いて、暗号化共用鍵Ｋｍ１から共用鍵Ｋ１が得られる。図８に示した鍵更新処理では、共用鍵Ｋ１が新たな値の共用鍵Ｋ２に変更され、変更された共用鍵Ｋ２が、中間鍵Ｘ１を用いて暗号化され暗号化共用鍵Ｋｍ２となる。したがって、ＨＤＤ１では、鍵更新処理によって磁気ディスク１８上の暗号化データＤｍ１および暗号化のための共用鍵Ｋ１が更新される場合に、３つのパスワードＰ１，Ｐ２，Ｐ３に対する中間鍵Ｘ１が変更されない。したがって、パスワードＰ１，Ｐ２，Ｐ３を用いて暗号化中間鍵Ｘｍ１，Ｘｍ２，Ｘｍ３を変更する必要が無い。このため、複数のユーザのうちの一人がパスワード（例えばＰ２）を入力して鍵更新処理を行っても、その後、他のユーザの他のパスワードによるデータの読出しを妨げることがない。ユーザは他のユーザの利用に関わらず、鍵を任意のタイミングで更新してデータの秘匿性を維持することができる。
【００５８】
次に、情報記憶装置の具体的な第２実施形態について説明する。以下の第２実施形態の説明にあたっては、これまで説明してきた実施形態における各要素と同一の要素には同一の符号を付けて示し、前述の実施形態との相違点について説明する。
【００５９】
図１０は、第２実施形態のＨＤＤの暗号化／復号に関わるブロックの概略構成を示すブロック図である。
【００６０】
第２実施形態のＨＤＤ２は、図５に示す第１実施形態のＨＤＤ１と同様のハードウェア構成を有しており、ＭＰＵによる処理内容が異なる。具体的には、図１０に示すＨＤＤ２は、では中間鍵Ｙ１に、ＨＤＤ２に固有の固有情報として製造シリアル番号αが含まれている。製造シリアル番号αは、ＨＤＤ２の製品ごとに異なる値が付与される。製造シリアル番号αの値は、フラッシュＲＯＭ２０（図５参照）にＭＰＵ１９のプログラムの一部として記憶されている。
【００６１】
ＨＤＤ２の第２鍵暗号／復号部２９２は、暗号化中間鍵Ｘｍを復号するにあたり、第２鍵記憶部１８Ｃに記憶された暗号化中間鍵ＸｍをパスワードＰを用いて、例えばＡＥＳにより復号し、さらに、フラッシュＲＯＭ２０に記憶された製造シリアル番号αを付加して中間鍵Ｙ１とする。ＨＤＤ２の第１鍵暗号／復号部１９１は、この中間鍵Ｙ１を用いて共用鍵の暗号化または復号を行う。
【００６２】
また、第２鍵暗号／復号部２９２が中間鍵Ｙ１を暗号化する場合には、中間鍵Ｙ１から製造シリアル番号αを取り除いてＡＥＳによる暗号化を行う。
【００６３】
第２実施形態のＨＤＤ２では、中間鍵Ｙ１が製品ごとに異なる。このため、仮に、ＨＤＤ２の中間鍵Ｙ１が第三者によって何らかの方法で外部に取り出された場合に、取り出した中間鍵を移植すなわち別の製品に格納しても、磁気ディスクのデータが正常に復号されない。したがって、データの不正利用が抑えられる。
【００６４】
上述した第２実施形態では、共用鍵Ｋの生成に必要な鍵に、製造シリアル番号が含まれた例を説明したが、続いて、鍵に含まれる情報が任意に選択可能な、情報記憶装置の具体的な第３実施形態について説明する。以下の第２実施形態の説明にあたっては、これまで説明してきた実施形態における各要素と同一の要素には同一の符号を付けて示し、前述の実施形態との相違点について説明する。
【００６５】
図１１は、第３実施形態のＨＤＤの暗号化／復号に関わるブロックの概略構成を示すブロック図である。
【００６６】
第３実施形態のＨＤＤ３は、図５に示す第１実施形態のＨＤＤ１と同様のハードウェア構成を有している。図１１に示すＨＤＤ３は、鍵の生成に使用される変数である暗号変数βの値を記憶する変数値記憶部３０と、変数値記憶部３０に記憶されている暗号変数βの値を更新する変数値更新部３９３を備えている。変数値記憶部３０は、図５に示すフラッシュＲＯＭ２０で構成されており、暗号変数βの値が記憶されるアドレスは固定されている。また、変数値更新部３９３は、暗号変数βの更新処理を実行するＭＰＵ１９（図５）によって構成される。変数値更新部３９３は、ホストコンピュータＨから暗号変数コマンドを受信するとこの暗号変数コマンドに付随して送信された変数値で、変数値記憶部３０の暗号変数βの値を更新する。
【００６７】
ＨＤＤ３の第１鍵記憶部３８Ｂに記憶されている暗号化共用鍵Ｋｍ１は、共用鍵Ｋ１が、中間鍵Ｘ１と暗号変数βとの組み合わせで暗号化されたものである。また、ＨＤＤ３の第１鍵暗号／復号部３９１は、第１鍵記憶部３８Ｂに記憶されている暗号化共用鍵Ｋｍ１を、中間鍵Ｘ１と暗号変数βとの組み合わせで復号して共用鍵Ｋ１を生成する。
【００６８】
図１２は、図１１に示すＨＤＤにおける鍵更新コマンドに対応する処理を示すフローチャートである。
【００６９】
ＨＤＤ３がホストコンピュータＨから鍵更新コマンドを受信すると（Ｓ３１）、鍵更新部１９３が現行の共用鍵Ｋ１を共用鍵Ｋ２変更する（Ｓ３２）。これらステップＳ３１およびＳ３２の処理は、図８に示すステップＳ２１およびＳ２２の処理と同様である。
【００７０】
次に、鍵更新部１９３は、中間鍵Ｘ１と暗号変数βを結合した鍵で、新たな共用鍵Ｋ２を暗号化して保存する（Ｓ３３）。鍵更新部１９３は、暗号化によって生成された暗号化共用鍵Ｋｍ２を第１鍵記憶部３８Ｂに記憶させる。
【００７１】
この後、鍵更新部１９３は、変更した共用鍵Ｋ２によるデータの再暗号化を行う（Ｓ３４）。このステップＳ３４の処理は、図８に示すステップＳ２４の処理と同様である。
【００７２】
第３実施形態のＨＤＤ３では、共用鍵Ｋ１が中間鍵Ｘ１と暗号変数βとの組み合わせで暗号化された暗号化共用鍵Ｋｍ１が、第１鍵記憶部３８Ｂに記憶されている。また、暗号変数βは、変数値記憶部３０の特定のアドレスに記憶されており、暗号変数コマンドによって変更することができるので、第三者が容易に類推することができない。したがって、データの不正利用が抑えられる。
【００７３】
なお、具体的な各実施形態では、中間鍵と暗号変数βを組み合わせる第３実施形態と中間鍵に製造シリアル番号αが含まれている第２実施形態とを別の実施形態として説明したが、暗号変数βおよび製造シリアル番号αは組み合わせられてもよい、すなわち、中間鍵に製造シリアル番号αが含まれこの中間鍵と暗号変数βとが結合したものが復号の鍵として用いられてもよい。
【００７４】
また、具体的な各実施形態では、基本形態における複数の第３の鍵として、３つのパスワードＰ１，Ｐ２，Ｐ３の例を説明したが、この第３の鍵は３つに限らず２つまたは４つ以上であってもよい。
【００７５】
また、具体的な各実施形態では、基本形態および応用形態における情報記憶装置として、ＨＤＤの例を説明したが、この情報記憶装置はＨＤＤに限られず、光磁気ディスク装置や他の記録媒体を有する装置であってもよい。
【００７６】
また、具体的な各実施形態では、基本形態における第１鍵復号部および第２鍵復号部として、データ読出し処理およびデータ書込み処理で動作する例を説明した。しかし、データの読み出し処理や書込み処理の都度第１の鍵や第２の鍵を復号することを避けるため、第１鍵復号部および第２鍵復号部は、例えば、図７に示すデータ読出し処理のステップＳ１２からステップＳ１４の処理が独立したログイン処理として実行され、復号された鍵はＲＡＭに記憶されてもよい。この場合、残りの処理がデータ読出し処理として実行され、ログイン処理を一度行えば電源遮断まで、パスワードの再入力無しにデータの読出しおよび書込みが行える。
【図面の簡単な説明】
【００７７】
【図１】従来技術の情報記憶装置してのハードディスク装置（ＨＤＤ）における概略構成を示すブロック図である。
【図２】図１に示すＨＤＤにおいて、データを読み出す処理を示すフローチャートである。
【図３】図１に示すＨＤＤにおいて、データ鍵の変更を行う処理を示すフローチャートである。
【図４】図１に示すＨＤＤにおける、データ鍵の暗号化状態を説明する図である。
【図５】情報記憶装置の具体的な第１実施形態であるＨＤＤのハードウェア構成を示すブロック図である。
【図６】図５に示すＨＤＤの暗号化／復号に関わるブロックの概略構成を示すブロック図である。
【図７】図６に示すＨＤＤ１におけるデータ読出しコマンドに対応する処理を示すフローチャートである。
【図８】図６に示すＨＤＤ１における鍵更新コマンドに対応する処理を示すフローチャートである。
【図９】図６に示すＨＤＤにおける、鍵の暗号化状態を説明する図である。
【図１０】第２実施形態のＨＤＤの暗号化／復号に関わるブロックの概略構成を示すブロック図である。
【図１１】第３実施形態のＨＤＤの暗号化／復号に関わるブロックの概略構成を示すブロック図である。
【図１２】図１１に示すＨＤＤにおける鍵更新コマンドに対応する処理を示すフローチャートである。
【符号の説明】
【００７８】
１，２，３    ＨＤＤ（情報記憶装置）
Ａ    データ入出力部（情報出力部）
１５    データ暗号／復号部（情報暗号部）
１７    リードライトチャネル（情報復号部、情報暗号部）
１８Ａ    情報記憶部
１８Ｂ，３８Ｂ    第１鍵記憶部
１８Ｃ    第２鍵記憶部
１９１    第１鍵暗号／復号部（第１鍵復号部）
１９２    第２鍵暗号／復号部（第２鍵復号部）
１９３    鍵更新部
３０    変数値記憶部
３９３    変数値更新部
Ｄ１    データ
Ｄｍ１，Ｄｍ２    暗号化データ（暗号化情報）
Ｋ１，Ｋ２    共用鍵（第１の鍵）
Ｋｍ１，Ｋｍ２    暗号化共用鍵（第１暗号化鍵）
Ｘ１，Ｙ１    中間鍵（第２の鍵）
Ｘｍ１，Ｘｍ２，Ｘｍ３    暗号化中間鍵（第２暗号化鍵）
Ｐ１，Ｐ２，Ｐ３    パスワード（第３の鍵）
α    製造シリアル番号（固有情報）
β    暗号変数（変数）
【図１】
2009245227.tif 000003
【図２】
2009245227.tif 000004
【図３】
2009245227.tif 000005
【図４】
2009245227.tif 000006
【図５】
2009245227.tif 000007
【図６】
2009245227.tif 000008
【図７】
2009245227.tif 000009
【図８】
2009245227.tif 000010
【図９】
2009245227.tif 000011
【図１０】
2009245227.tif 000012
【図１１】
2009245227.tif 000013
【図１２】
2009245227.tif 000014