説明

情報記憶装置

【課題】ユーザに割り当てられた鍵に影響を与えることなく内部に記憶された鍵およびデータを更新する情報記憶装置を提供する。
【解決手段】情報記憶装置において、情報を第1の鍵で暗号化して暗号化情報を生成する情報暗号部と、暗号化情報を記憶する情報記憶部と、第1の鍵を用いて暗号化情報を復号する情報復号部と、第2の鍵で暗号化された第1暗号化鍵を第2の鍵を用いて復号し情報復号部に入力する第1鍵復号部と、第3の鍵それぞれで暗号化された複数の第2暗号化鍵を記憶する第2鍵記憶部と、第3の鍵を用いて第2暗号化鍵を復号し第1鍵復号部に入力する第2鍵復号部と、鍵更新の命令を受けて新たな第1の鍵を生成し、情報暗号部に、元の第1の鍵によって生成された情報を新たな第1の鍵で暗号化させ、情報記憶部を書き換え、新たな第1の鍵を第2の鍵で暗号化して新たな第1暗号化鍵を生成し、書き換える鍵更新部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報記憶装置に関する。
【背景技術】
【0002】
情報を記憶する情報記憶装置として、情報を暗号化して記憶するタイプの情報記憶装置が知られている。例えば、磁気ディスク装置において、外部から送られてきた情報を暗号鍵で暗号化して記憶し、さらにこの暗号化鍵をユーザのパスワードで暗号化等して記憶することによって、適切なパスワードが入力された場合に記憶された情報の読出しを可能としている。情報記憶装置に記憶されるデータは複数のユーザによって共同で利用される場合があり、複数ユーザによる利用に適したパスワードの管理が求められている。
【0003】
ここで、例えば、ネットワークシステムの分野では、複数のユーザからなるグループで情報を共有するシステムにパスワードの管理サーバを設け、グループパスワードを管理する技術が知られている(例えば、特許文献1参照。)。このシステムでは、グループに属するユーザが変更になった場合、管理サーバはグループパスワードを更新し、グループのすべてのユーザに配信する。
【0004】
図1は、従来技術の情報記憶装置してのハードディスク装置(HDD)における概略構成を示すブロック図である。図1の中で二重丸は暗号化された状態の情報を示し、三角形は復号された状態の情報を示す。
【0005】
図1に示すHDD9に対し、HDD9の外部から破線に示す流れに沿って入力されてくるデータD91は、データ暗号/復号部95で暗号化され、記録媒体としての磁気ディスク98に書き込まれる。データ暗号/復号部95はデータ鍵K91を用いて暗号化および復号を行う。このデータ鍵K91は、複数のユーザに割り当てられたパスワードP91,P92,P93のそれぞれで暗号化され、暗号化鍵Km91,Km92,Km93として磁気ディスク98に記憶されている。
【0006】
HDD9に記憶されたデータDm91は、3つのパスワードP91,P92,P93のうちいずれかのパスワードが入力されることによって、HDD9の外部で利用可能となる。
【0007】
図2は、図1に示すHDDにおいて、データを読み出す処理を示すフローチャートである。
【0008】
図2の読出し処理では、まず、ユーザが使用する図示しないホストコンピュータからHDD9に、データ読出しのコマンドとともにユーザに割り当てられたパスワードが入力される(S91)。HDD9は、パスワードが正規のものであるか否かを判定し(S92)、正規のものである場合には、記憶された暗号化データ鍵Kmをパスワードを使って復号し、データ鍵K91を取得する(S93)。この後、磁気ディスク98から暗号化データDm91を読み出し、復号したデータ鍵K91を使って復号し(S94)、外部で利用可能な状態のデータD91を出力する(S95)。
【特許文献1】特開2007−49455号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
HDD9の磁気ディスク98に記憶された暗号化データDm91およびデータ鍵K91の値を更新せずに固定にしておくと、第三者による不正な解読が試みられた場合、データが解読されるリスクが時間の経過とともに高まる。このため、データ鍵Kの値を時々更新し、磁気ディスク上のデータを暗号化し直すことが好ましい。
【0010】
図3は、図1に示すHDDにおいて、データ鍵の変更を行う処理を示すフローチャートである。
【0011】
HDD9は、データ鍵の変更が指示されると(S96)、指示に付随して入力されたパスワード、つまり3つのパスワードP91,P92,P93のうちいずれかのパスワードを用いて暗号化データ鍵Km91の復号を行い、現行のデータ鍵K91を取得し、取得したデータ鍵K91を別の値のデータ鍵K91Nに変更する(S97)。
【0012】
HDD9は、変更されたデータ鍵K91Nを、入力されたパスワードを用いて暗号化し、磁気ディスク98に保存する(S98)。また、磁気ディスク98に記憶された暗号化データDm91を一旦読み出し、変更前のデータ鍵K91で復号してから変更されたデータ鍵K91Nで暗号化し、磁気ディスク98に記憶する(S99)。このようにしてデータ鍵の変更およびデータの再暗号化が完了する。
【0013】
しかし、図3に示す処理でデータ鍵を変更すると、データ鍵の変更が、入力されていたパスワードについてしか適用されないという問題が生じる。
【0014】
図4は、図1に示すHDDにおける、データ鍵の暗号化状態を説明する図である。図4でパスワードの枠内に配置された鍵は、この鍵がパスワードによって暗号化されていることを示している。
【0015】
図3で説明したデータ鍵の変更処理で、例えば3つのパスワードP91,P92,P93のうち1つのパスワードP92が入力された場合、この入力されたパスワードP92を用いて暗号化データ鍵Km92を復号することができ、得られたデータ鍵K92の値は変更が可能となる。ところが値を変更したデータ鍵K92Nは入力されていたパスワードP92で暗号化し記憶することはできるが、入力されていない残りのパスワードP91,P93で暗号化することができない。この結果、パスワードを有する複数のユーザのうちいずれかのユーザがHDD9でデータ鍵の変更処理を実施すると、残りのユーザについては新たなデータ鍵を得ることができず、磁気ディスク内のデータを利用することができない。
【0016】
上述したネットワークシステムとは異なり、コンピュータの補助記憶装置として利用される情報記憶装置は、同時に入力できるパスワードは1つであり、かつパスワードそのものを保持・管理していないため、入力されたパスワードP92以外のパスワードで新たなデータ鍵を再暗号化することができない。
【0017】
上記事情に鑑み、本件開示は、情報記憶装置が、複数のユーザに複数の鍵が割り当てられ、入力された鍵および内部に記憶された鍵を用いてデータを暗号化する場合に、ユーザに割り当てられた鍵に影響を与えることなく内部に記憶された鍵およびデータを更新する情報記憶装置を提供する。
【課題を解決するための手段】
【0018】
本件開示の情報記憶装置の基本形態は、
情報を、その情報の暗号化と復号との双方に用いられる第1の鍵で暗号化して暗号化情報を生成する情報暗号部と、
上記情報暗号部で暗号化された暗号化情報を記憶する情報記憶部と、
上記第1の鍵が入力されてその第1の鍵を用いて、上記情報記憶部に記憶されている暗号化情報を復号して上記情報を生成する情報復号部と、
上記第1の鍵が、この第1の鍵の暗号化と復号との双方に用いられる第2の鍵で暗号化された第1暗号化鍵を記憶する第1鍵記憶部と、
上記第2の鍵が入力されてその第2の鍵を用いて、上記第1鍵記憶部に記憶されている第1暗号化鍵を復号して上記第1の鍵を生成し、その生成した第1の鍵を上記情報復号部に入力する第1鍵復号部と、
上記第2の鍵が、この第2の鍵の暗号化と復号との双方に用いられる複数の第3の鍵それぞれで暗号化された複数の第2暗号化鍵を記憶する第2鍵記憶部と、
上記第3の鍵が入力されてその第3の鍵を用いて、上記第2鍵記憶部に記憶されている第2暗号化鍵のうちその入力された第3の鍵で暗号化されている第2暗号化鍵を復号して上記第2の鍵を生成し、その生成した第2の鍵を上記第1鍵復号部に入力する第2鍵復号部と、
情報出力の命令を受けて、上記情報復号部で生成された情報を出力する情報出力部と、
鍵更新の命令を受けて、上記第1鍵復号部によって生成される第1の鍵に替わる新たな第1の鍵を生成し、上記情報暗号部に、上記情報復号部で元の第1の鍵によって生成された情報をその新たな第1の鍵で暗号化させ、その新たな第1の鍵で生成された新たな暗号化情報で上記情報記憶部に記憶されている暗号化情報を書き換え、その新たな第1の鍵を、上記第2鍵復号部によって生成された第2の鍵で暗号化して新たな第1暗号化鍵を生成し、その新たな第1暗号化鍵で上記第1鍵記憶部に記憶されている第1暗号化鍵を書き換える鍵更新部とを備えている。
【0019】
この基本形態によれば、鍵更新では、新たな第1の鍵で、情報記憶部に記憶された情報を更新するとともに、新たな第1の鍵を、中間的な鍵である第2の鍵で暗号化して第1暗号化鍵を生成し、書き換えを行う。このため上記の鍵更新では、例えばユーザに割り当てられる複数の第3の鍵を変更することなく、情報記憶部に記憶された情報と第1の鍵が更新される。
【発明の効果】
【0020】
以上説明したように、情報記憶装置の上記基本形態によれば、鍵更新において、例えばユーザに割り当てられる複数の第3の鍵を変更することなく、情報記憶部に記憶された情報と第1の鍵が更新される。
【発明を実施するための最良の形態】
【0021】
上記基本形態に対し、「上記第2の鍵が、この情報記憶装置に固有の固有情報を含んだものである」という応用形態は好適である。
【0022】
この好適な応用形態によれば、第2の鍵が個々の情報記憶装置ごとに異なるので、仮にある装置から何らかの方法で第2の鍵が外部に取得された場合にも、この第2の鍵が他の装置に入力されて情報が不正に読み出される事態が抑えられる。
【0023】
上記基本形態に対し、更に、
変数の値を記憶する、場所が固定された変数値記憶部と、
上記値記憶部に記憶されている変数の値を更新する変数値更新部とを備え、
上記第1鍵記憶部が、上記第2の鍵と上記変数値記憶部に記憶されている値との組み合わせで上記第1の鍵が暗号化された第1暗号化鍵を記憶するものであり、
上記第1鍵復号部が、上記第1鍵記憶部に記憶されている第1暗号化鍵を、上記第2鍵復号部で生成された第2の鍵と上記変数値記憶部に記憶されている値との組み合わせで復号して上記第1の鍵を生成するものである応用形態は好適である。
【0024】
この好適な応用形態によれば、第1の鍵の生成に使用する変数の値として設定する値を任意の値の中から選ぶことができる。したがって、仮にある装置から何らかの方法で第2の鍵が外部に取得された場合にも、この第2の鍵を他の装置に入力して情報を不正に利用する事態が抑えられる。
【0025】
基本形態および応用形態について上記説明した情報記憶装置に対する具体的な実施形態を、以下図面を参照して説明する。
【0026】
図5は、情報記憶装置の具体的な第1実施形態であるHDDのハードウェア構成を示すブロック図である。
【0027】
図5に示すHDD1は、ホストコンピュータHに接続されて使用され、ホストコンピュータHから送られてくるデータを記憶し、また記憶されたデータを読み出してホストコンピュータHに出力する。
【0028】
HDD1は、ホストコンピュータHとのデータおよびコマンドの受け渡しを担うインターフェース部(I/F)11、データの暗号化および復号を行うデータ暗号/復号部15、データが記録される磁気ディスク(DISK)18、制御部としてのMPU(Micro Processing Unit)19、および、フラッシュROM20を備えている。
【0029】
I/F11は、ホストコンピュータHから、データ書込みコマンド、データ読出しコマンド、および鍵更新コマンド等を受信する。MPU19は、I/F11が受信したコマンドに応じてHDD1の各部を制御して処理を実行する。
【0030】
例えば、データ書込みコマンドの場合、コマンドに続いて受信したデータは、データ暗号/復号部15で鍵を用いて暗号化される。暗号化されたデータは、磁気ディスク18に書き込まれる。また、データ読出しコマンドが受信された場合、磁気ディスク18から読み出されたデータは、データ暗号/復号部15で鍵を用いて復号され、復号されたデータは、I/F11からホストコンピュータHに出力される。
【0031】
フラッシュROM20には、MPU19で実行可能なプログラムとしてのファームウェアおよび定数が記憶されている。MPU19は、フラッシュROM20に記憶されたファームウェアを実行することにより、各種処理を実行する。フラッシュROM20には変数も記憶される。
【0032】
データ暗号/復号部15は、データの暗号化および復号を行う。データ暗号/復号部15は暗号化および復号にAES(Advanced Encryption Standard)を用いるが、AES以外にも、例えばトリプルDESといった他の共通鍵方式のアルゴリズムが採用可能である。
【0033】
HDD1にホストコンピュータHから送られてくるデータ書込みコマンド、データ読出しコマンドにはパスワードが付随している。MPU19は、ホストコンピュータHから送られてくるパスワードを用いてデータ暗号/復号部15に供給する共用鍵を生成する。HDD1は、データが複数のユーザによって共同利用可能となっている。ユーザのそれぞれには異なるパスワードが割り当てられている。パスワードが割り当てられたユーザのいずれも、他のユーザがHDD1に記憶させたデータを読み出して利用することができる。ホストコンピュータHは、このホストコンピュータHを使用しているユーザに対応するパスワードを、データ書込みコマンド、およびデータ読出しコマンドに付随してHDD1に送信してくる。HDD1のMPUは、割り当てられたパスワードのいずれからも、データ暗号/復号部15に供給する共通の共用鍵を生成する。また、MPU19は、鍵更新コマンドに応じて共用鍵を更新し、磁気ディスク18に記憶されたデータを変更後の共用鍵で暗号化した内容に更新する。なお、HDD1には、磁気ディスク18等を駆動する駆動装置や、MPU19の演算データを記憶するRAM等も備えられているが、これらは公知の部品および機能については、詳細な説明および図示を省略する。
【0034】
図6は、図5に示すHDDの暗号化/復号に関わるブロックの概略構成を示すブロック図である。図6の中の二重丸は暗号化された情報を示し、三角形は暗号化された情報を示す。
【0035】
HDD1は、HDD1外部のホストコンピュータHとのデータの受け渡しを行うデータ入出力部A、ホストコンピュータHからパスワードを受け付けるパスワード入力部B、データの暗号化および復号を担うデータ暗号/復号部15、暗号化されたデータを記憶する情報記憶部18A、データ暗号/復号部15で暗号化および復号に用いる共用鍵K1の暗号化および復号を担う第1鍵暗号/復号部191、第1鍵暗号/復号部191で暗号化された暗号化共用鍵Km1を記憶する第1鍵記憶部18B、共用鍵K1の暗号化および復号に用いられる中間鍵X1の暗号化および復号を担う第2鍵暗号/復号部192、暗号化された中間鍵Xm1,Xm2,Xm3を記憶する第2鍵記憶部18C、および、鍵の更新を担う鍵更新部193を備えている。情報記憶部18A、第1鍵記憶部18B、第2鍵記憶部18Cはいずれも図5に示す磁気ディスク18で構成されており、磁気ディスク18上の異なる記憶領域に対応している。第1鍵暗号/復号部191、第2鍵暗号/復号部192、および鍵更新部193は、対応する処理を実行するMPU19(図5)によって構成される。また、パスワード入力部Bは、対応する処理を実行するMPU19(図5)、および図5に示すI/F11のうちパスワードを受信する部分によって構成される。また、データ入出力部Aは、図5に示すI/F11のうちデータの受け渡しを行う部分で構成されている。
【0036】
データ入出力部Aは、データ書込み処理において、ホストコンピュータHからデータDを受信しデータ暗号/復号部15に供給する。また、データ入出力部Aは、データ読出し処理において、データ暗号/復号部15で生成された情報をホストコンピュータHに出力する。
【0037】
データ暗号/復号部15は、HDD1のデータ書込み処理時に、データ入出力部AがホストコンピュータHから受信したデータD1を、共用鍵K1を用いて暗号化し暗号化データDm1を生成する。データ暗号/復号部15で暗号化された暗号化データDm1は情報記憶部18Aに記憶される。また、データ暗号/復号部15は、HDD1のデータ読出し処理時に、共用鍵K1が入力され、この共用鍵K1を用いて情報記憶部18Aに記憶されている暗号化データDm1を復号してデータD1を生成する。復号されたデータD1はデータ入出力部Aに送られる。共用鍵K1は、上述したように、データ暗号/復号部15における暗号化および復号の双方に用いられる。ここで、データ暗号/復号部15のうち暗号化を担う機能が上述した基本形態における情報暗号部の一例に相当し、データ暗号/復号部15のうち復号を担う機能が上述した基本形態における情報復号部の一例に相当する。また、共用鍵K1は上述した基本形態における第1の鍵の一例に相当する。
【0038】
第1鍵記憶部18Bは、共用鍵K1が中間鍵X1で暗号化された暗号化共用鍵Km1を記憶している。
【0039】
第1鍵暗号/復号部191は、第1鍵記憶部18Bに記憶されている暗号化共用鍵Km1を、中間鍵X1を用いて復号して共用鍵K1を生成する。生成した共用鍵K1はデータ暗号/復号部15に入力される。また、第1鍵暗号/復号部191は共用鍵K1の更新時にこの共用鍵の暗号化も行う。第1鍵暗号/復号部191の暗号化および復号のアルゴリズムとしては、例えばAESが採用されるが、AES以外にもトリプルDESといった他の共通鍵暗号方式が採用可能である。中間鍵X1は、共用鍵K1の暗号化と復号との双方に用いられる鍵である。ここで、第1鍵暗号/復号部191は、上述した基本形態における第1鍵復号部の一例に相当する。また、中間鍵X1は、上述した基本形態における第2の鍵の一例に相当する。
【0040】
第2鍵記憶部18Cは、中間鍵X1が複数のパスワードP(P1,P2,P3)それぞれで暗号化された複数の暗号化中間鍵Xm(Xm1,Xm2,Xm3)を記憶している。中間鍵X1が第1のパスワードP1で暗号化されたものが第1の暗号化中間鍵Xm1であり、中間鍵X1が第2のパスワードP2で暗号化されたものが第2の暗号化中間鍵Xm2であり、中間鍵X1が第3のパスワードP3で暗号化されたものが第3の暗号化中間鍵Xm3である。
【0041】
パスワード入力部Bは、ホストコンピュータHから送信されてきたパスワードP1,P2,P3を第2鍵暗号/復号部192に入力する。
【0042】
第2鍵暗号/復号部192は、第2鍵記憶部18Cに記憶されている暗号化中間鍵Xm1,Xm2,Xm3のうち、入力されたパスワードで暗号化されているものを、このパスワードを用いて復号して中間鍵X1を生成する。暗号化中間鍵Xm1,Xm2,Xm3のそれぞれは、対応するパスワードP1,P2,P3を用いて中間鍵X1が暗号化されたものであり、暗号化とは逆に、対応するパスワードP1,P2,P3を用いて復号されることによって共通の中間鍵X1となる。生成された中間鍵X1の鍵は、第1鍵暗号/復号部191に入力される。第2鍵暗号/復号部192の暗号化および復号のアルゴリズムとしても、例えばAESが採用され、AES以外にもトリプルDESといった他の共通鍵暗号方式が採用可能である。パスワードP1,P2,P3のそれぞれは、中間鍵X1の暗号化と復号との双方に用いられる。ここで、第2鍵暗号/復号部192は、上述した基本形態における第2鍵復号部の一例に相当する。また、パスワードP1,P2,P3は、上述した基本形態における第3の鍵の一例に相当する。
【0043】
鍵更新部193は、鍵更新コマンドを受信して、共用鍵K1に替わる新たな共用鍵K2を生成する。そして、データ暗号/復号部15に、元の共用鍵K1によって生成されたデータを新たな共用鍵K2で暗号化させ、新たな暗号化データDm2で情報記憶部18Aに記憶されている暗号化データDm1を書き換える。また、鍵更新部193は新たな共用鍵K2を、中間鍵X1を用いて暗号化して暗号化共用鍵Km2を生成し、第1鍵記憶部18Bに記憶されている暗号化共用鍵Km1を書き換える。より詳細には、鍵更新部193は、第1鍵暗号/復号部191に共用鍵K2を暗号化させる。
【0044】
続いて、HDD1における処理を説明する。
【0045】
図7は、図6に示すHDD1におけるデータ読出しコマンドに対応する処理を示すフローチャートである。
【0046】
ホストコンピュータH(図5参照)からデータ読出しコマンドが送られてくるときには、データ読出しコマンドに付随してパスワードが送信されてくる。パスワード入力部Bは、パスワードを受信すると(S11)、受信したパスワードが正規のものであるか否かを判定する(S12)。この判定によって、パスワードが一定の規定を満たさない場合には(S12)、データ読出しの前の段階でコマンド処理の失敗をホストコマンドに通知する。判定の方法としては、例えば、パスワードに冗長符号を含ませ、チェックサムやCRCを判断する方法が採用されるが、この他にも、パスワードを簡易方式で暗号化して保存しておき、受信したパスワードも暗号化して一致を確認する方法も採用可能である。
【0047】
上記ステップS12の判定処理で受信したパスワードが正規のものであると判定された場合(S12でYes)、次に、第2鍵暗号/復号部192が、パスワードを用いて、第2鍵暗号/復号部192に記憶されている暗号化中間鍵Xmを復号して中間鍵X1を生成する(S13)。
【0048】
次に、第1鍵暗号/復号部191が、第2鍵暗号/復号部192で生成された中間鍵X1を用いて、第1鍵記憶部18Bに記憶されている暗号化共用鍵Km1を復号して共用鍵K1を生成する(S14)。次に、データ暗号/復号部15が、第1鍵暗号/復号部191で生成された共用鍵K1を用いて、情報記憶部18Aに記憶されている暗号化データDm1を復号してデータD1を生成する(S15)。
【0049】
次に、データ入出力部Aが、データ暗号/復号部15で生成されたデータD1を、ホストコンピュータHに向けて出力する(S16)。これによって、パスワードが付随した読出しコマンドに応じて、データD1が出力される。
【0050】
以上、データ読出しコマンドに対応する処理を説明したが、データ書込みコマンドに対応するデータ書込み処理も、図7に示すステップS11からステップS14までの処理は共通である。データ書込み処理では、図7に示すステップS15の代わりに、データ暗号/復号部15が第1鍵暗号/復号部191で生成された共用鍵K1を用いて、データ入出力部Aで受信されたデータD1を暗号化して暗号化データDm1を生成し、図7に示すステップS16の代わりに、情報記憶部18Aが第1鍵暗号/復号部191で暗号化された暗号化データDm1を記憶する。
【0051】
図8は、図6に示すHDD1における鍵更新コマンドに対応する処理を示すフローチャートである。
【0052】
HDD1がホストコンピュータHから鍵更新コマンドを受信すると(S21)、鍵更新部193が現行の共用鍵K1を共用鍵K2に変更する(S22)。鍵更新部193は、より詳細には、現行の共用鍵K1とは異なる値の共用鍵K2を生成する。新たな共用鍵K2の値は乱数等により任意に決定することができる。
【0053】
次に、鍵更新部193は、中間鍵X1で新たな共用鍵K2を暗号化して保存する(S23)。より詳細には、鍵更新部193は、第1鍵暗号/復号部191に、新たな共用鍵K2を、中間鍵X1を用いて暗号化させることによって暗号化共用鍵Km2を生成させ、この暗号化共用鍵Km2を第1鍵記憶部18Bに記憶させる。
【0054】
次に、鍵更新部193は、変更した共用鍵K2によるデータの再暗号化を行う(S24)。より詳細には、鍵更新部193は、まず、データ暗号/復号部15に、変更前の情報記憶部18Aの暗号化データDm1を、共用鍵K1を用いて復号させることによってデータD1を生成させる。鍵更新部193は、次に、データ暗号/復号部15に、生成したデータD1を新たな共用鍵K2を用いて暗号化させることによって新たな暗号化データDm2を生成させ、この暗号化データDm2を情報記憶部18Aに記憶させる。上記ステップS22〜S24の処理によって、共用鍵K2が更新され、情報記憶部18Aの情報も更新された共用鍵K2を用いて暗号化し直される。
【0055】
図8に示す鍵更新の処理を実行するためには、情報記憶部18Aに記憶された暗号化データDm1の一時的な復号のため共用鍵K1が必要であり、また、更新された共用鍵K1を暗号化するため中間鍵X1が必要である。しかし、共用鍵K1および中間鍵X1は、HDD1の電源投入後には、暗号化された状態で記憶されている。このため、図8に示す鍵更新の処理は、電源投入後、HDD1に読出しコマンド、書込みコマンドが入力され、複数のパスワードP1,P2,P3のうち少なくとも1つのパスワードが入力された後で正常に実行される。また、HDD1にパスワードの入力を行うためのログインコマンドが入力された場合にも、パスワードが入力され、この後、鍵更新の処理が正常に実行される。
【0056】
図9は、図6に示すHDDにおける、鍵の暗号化状態を説明する図である。図9でパスワードの枠内に示された中間鍵の枠は、中間鍵がパスワードによって暗号化されていることを示し、中間鍵の枠内に示された共用鍵の枠は、共用鍵が中間鍵によって暗号化されていることを示している。
【0057】
図9に示すように、鍵更新処理で、3つのパスワードのうち1つのパスワードP2が入力された場合、パスワードP2を用いて暗号化中間鍵Xm2から中間鍵X1が得られる。中間鍵X1は、3つのパスワードに対し共通であり、3つのパスワードのうちいずれを用いても同じ内容の中間鍵X1が得られる。この中間鍵X1を用いて、暗号化共用鍵Km1から共用鍵K1が得られる。図8に示した鍵更新処理では、共用鍵K1が新たな値の共用鍵K2に変更され、変更された共用鍵K2が、中間鍵X1を用いて暗号化され暗号化共用鍵Km2となる。したがって、HDD1では、鍵更新処理によって磁気ディスク18上の暗号化データDm1および暗号化のための共用鍵K1が更新される場合に、3つのパスワードP1,P2,P3に対する中間鍵X1が変更されない。したがって、パスワードP1,P2,P3を用いて暗号化中間鍵Xm1,Xm2,Xm3を変更する必要が無い。このため、複数のユーザのうちの一人がパスワード(例えばP2)を入力して鍵更新処理を行っても、その後、他のユーザの他のパスワードによるデータの読出しを妨げることがない。ユーザは他のユーザの利用に関わらず、鍵を任意のタイミングで更新してデータの秘匿性を維持することができる。
【0058】
次に、情報記憶装置の具体的な第2実施形態について説明する。以下の第2実施形態の説明にあたっては、これまで説明してきた実施形態における各要素と同一の要素には同一の符号を付けて示し、前述の実施形態との相違点について説明する。
【0059】
図10は、第2実施形態のHDDの暗号化/復号に関わるブロックの概略構成を示すブロック図である。
【0060】
第2実施形態のHDD2は、図5に示す第1実施形態のHDD1と同様のハードウェア構成を有しており、MPUによる処理内容が異なる。具体的には、図10に示すHDD2は、では中間鍵Y1に、HDD2に固有の固有情報として製造シリアル番号αが含まれている。製造シリアル番号αは、HDD2の製品ごとに異なる値が付与される。製造シリアル番号αの値は、フラッシュROM20(図5参照)にMPU19のプログラムの一部として記憶されている。
【0061】
HDD2の第2鍵暗号/復号部292は、暗号化中間鍵Xmを復号するにあたり、第2鍵記憶部18Cに記憶された暗号化中間鍵XmをパスワードPを用いて、例えばAESにより復号し、さらに、フラッシュROM20に記憶された製造シリアル番号αを付加して中間鍵Y1とする。HDD2の第1鍵暗号/復号部191は、この中間鍵Y1を用いて共用鍵の暗号化または復号を行う。
【0062】
また、第2鍵暗号/復号部292が中間鍵Y1を暗号化する場合には、中間鍵Y1から製造シリアル番号αを取り除いてAESによる暗号化を行う。
【0063】
第2実施形態のHDD2では、中間鍵Y1が製品ごとに異なる。このため、仮に、HDD2の中間鍵Y1が第三者によって何らかの方法で外部に取り出された場合に、取り出した中間鍵を移植すなわち別の製品に格納しても、磁気ディスクのデータが正常に復号されない。したがって、データの不正利用が抑えられる。
【0064】
上述した第2実施形態では、共用鍵Kの生成に必要な鍵に、製造シリアル番号が含まれた例を説明したが、続いて、鍵に含まれる情報が任意に選択可能な、情報記憶装置の具体的な第3実施形態について説明する。以下の第2実施形態の説明にあたっては、これまで説明してきた実施形態における各要素と同一の要素には同一の符号を付けて示し、前述の実施形態との相違点について説明する。
【0065】
図11は、第3実施形態のHDDの暗号化/復号に関わるブロックの概略構成を示すブロック図である。
【0066】
第3実施形態のHDD3は、図5に示す第1実施形態のHDD1と同様のハードウェア構成を有している。図11に示すHDD3は、鍵の生成に使用される変数である暗号変数βの値を記憶する変数値記憶部30と、変数値記憶部30に記憶されている暗号変数βの値を更新する変数値更新部393を備えている。変数値記憶部30は、図5に示すフラッシュROM20で構成されており、暗号変数βの値が記憶されるアドレスは固定されている。また、変数値更新部393は、暗号変数βの更新処理を実行するMPU19(図5)によって構成される。変数値更新部393は、ホストコンピュータHから暗号変数コマンドを受信するとこの暗号変数コマンドに付随して送信された変数値で、変数値記憶部30の暗号変数βの値を更新する。
【0067】
HDD3の第1鍵記憶部38Bに記憶されている暗号化共用鍵Km1は、共用鍵K1が、中間鍵X1と暗号変数βとの組み合わせで暗号化されたものである。また、HDD3の第1鍵暗号/復号部391は、第1鍵記憶部38Bに記憶されている暗号化共用鍵Km1を、中間鍵X1と暗号変数βとの組み合わせで復号して共用鍵K1を生成する。
【0068】
図12は、図11に示すHDDにおける鍵更新コマンドに対応する処理を示すフローチャートである。
【0069】
HDD3がホストコンピュータHから鍵更新コマンドを受信すると(S31)、鍵更新部193が現行の共用鍵K1を共用鍵K2変更する(S32)。これらステップS31およびS32の処理は、図8に示すステップS21およびS22の処理と同様である。
【0070】
次に、鍵更新部193は、中間鍵X1と暗号変数βを結合した鍵で、新たな共用鍵K2を暗号化して保存する(S33)。鍵更新部193は、暗号化によって生成された暗号化共用鍵Km2を第1鍵記憶部38Bに記憶させる。
【0071】
この後、鍵更新部193は、変更した共用鍵K2によるデータの再暗号化を行う(S34)。このステップS34の処理は、図8に示すステップS24の処理と同様である。
【0072】
第3実施形態のHDD3では、共用鍵K1が中間鍵X1と暗号変数βとの組み合わせで暗号化された暗号化共用鍵Km1が、第1鍵記憶部38Bに記憶されている。また、暗号変数βは、変数値記憶部30の特定のアドレスに記憶されており、暗号変数コマンドによって変更することができるので、第三者が容易に類推することができない。したがって、データの不正利用が抑えられる。
【0073】
なお、具体的な各実施形態では、中間鍵と暗号変数βを組み合わせる第3実施形態と中間鍵に製造シリアル番号αが含まれている第2実施形態とを別の実施形態として説明したが、暗号変数βおよび製造シリアル番号αは組み合わせられてもよい、すなわち、中間鍵に製造シリアル番号αが含まれこの中間鍵と暗号変数βとが結合したものが復号の鍵として用いられてもよい。
【0074】
また、具体的な各実施形態では、基本形態における複数の第3の鍵として、3つのパスワードP1,P2,P3の例を説明したが、この第3の鍵は3つに限らず2つまたは4つ以上であってもよい。
【0075】
また、具体的な各実施形態では、基本形態および応用形態における情報記憶装置として、HDDの例を説明したが、この情報記憶装置はHDDに限られず、光磁気ディスク装置や他の記録媒体を有する装置であってもよい。
【0076】
また、具体的な各実施形態では、基本形態における第1鍵復号部および第2鍵復号部として、データ読出し処理およびデータ書込み処理で動作する例を説明した。しかし、データの読み出し処理や書込み処理の都度第1の鍵や第2の鍵を復号することを避けるため、第1鍵復号部および第2鍵復号部は、例えば、図7に示すデータ読出し処理のステップS12からステップS14の処理が独立したログイン処理として実行され、復号された鍵はRAMに記憶されてもよい。この場合、残りの処理がデータ読出し処理として実行され、ログイン処理を一度行えば電源遮断まで、パスワードの再入力無しにデータの読出しおよび書込みが行える。
【図面の簡単な説明】
【0077】
【図1】従来技術の情報記憶装置してのハードディスク装置(HDD)における概略構成を示すブロック図である。
【図2】図1に示すHDDにおいて、データを読み出す処理を示すフローチャートである。
【図3】図1に示すHDDにおいて、データ鍵の変更を行う処理を示すフローチャートである。
【図4】図1に示すHDDにおける、データ鍵の暗号化状態を説明する図である。
【図5】情報記憶装置の具体的な第1実施形態であるHDDのハードウェア構成を示すブロック図である。
【図6】図5に示すHDDの暗号化/復号に関わるブロックの概略構成を示すブロック図である。
【図7】図6に示すHDD1におけるデータ読出しコマンドに対応する処理を示すフローチャートである。
【図8】図6に示すHDD1における鍵更新コマンドに対応する処理を示すフローチャートである。
【図9】図6に示すHDDにおける、鍵の暗号化状態を説明する図である。
【図10】第2実施形態のHDDの暗号化/復号に関わるブロックの概略構成を示すブロック図である。
【図11】第3実施形態のHDDの暗号化/復号に関わるブロックの概略構成を示すブロック図である。
【図12】図11に示すHDDにおける鍵更新コマンドに対応する処理を示すフローチャートである。
【符号の説明】
【0078】
1,2,3 HDD(情報記憶装置)
A データ入出力部(情報出力部)
15 データ暗号/復号部(情報暗号部)
17 リードライトチャネル(情報復号部、情報暗号部)
18A 情報記憶部
18B,38B 第1鍵記憶部
18C 第2鍵記憶部
191 第1鍵暗号/復号部(第1鍵復号部)
192 第2鍵暗号/復号部(第2鍵復号部)
193 鍵更新部
30 変数値記憶部
393 変数値更新部
D1 データ
Dm1,Dm2 暗号化データ(暗号化情報)
K1,K2 共用鍵(第1の鍵)
Km1,Km2 暗号化共用鍵(第1暗号化鍵)
X1,Y1 中間鍵(第2の鍵)
Xm1,Xm2,Xm3 暗号化中間鍵(第2暗号化鍵)
P1,P2,P3 パスワード(第3の鍵)
α 製造シリアル番号(固有情報)
β 暗号変数(変数)

【特許請求の範囲】
【請求項1】
情報を、その情報の暗号化と復号との双方に用いられる第1の鍵で暗号化して暗号化情報を生成する情報暗号部と、
前記情報暗号部で暗号化された暗号化情報を記憶する情報記憶部と、
前記第1の鍵が入力されてその第1の鍵を用いて、前記情報記憶部に記憶されている暗号化情報を復号して前記情報を生成する情報復号部と、
前記第1の鍵が、該第1の鍵の暗号化と復号との双方に用いられる第2の鍵で暗号化された第1暗号化鍵を記憶する第1鍵記憶部と、
前記第2の鍵が入力されてその第2の鍵を用いて、前記第1鍵記憶部に記憶されている第1暗号化鍵を復号して前記第1の鍵を生成し、その生成した第1の鍵を前記情報復号部に入力する第1鍵復号部と、
前記第2の鍵が、該第2の鍵の暗号化と復号との双方に用いられる複数の第3の鍵それぞれで暗号化された複数の第2暗号化鍵を記憶する第2鍵記憶部と、
前記第3の鍵が入力されてその第3の鍵を用いて、前記第2鍵記憶部に記憶されている第2暗号化鍵のうちその入力された第3の鍵で暗号化されている第2暗号化鍵を復号して前記第2の鍵を生成し、その生成した第2の鍵を前記第1鍵復号部に入力する第2鍵復号部と、
情報出力の命令を受けて、前記情報復号部で生成された情報を出力する情報出力部と、
鍵更新の命令を受けて、前記第1鍵復号部によって生成される第1の鍵に替わる新たな第1の鍵を生成し、前記情報暗号部に、前記情報復号部で元の第1の鍵によって生成された情報をその新たな第1の鍵で暗号化させ、その新たな第1の鍵で生成された新たな暗号化情報で前記情報記憶部に記憶されている暗号化情報を書き換え、その新たな第1の鍵を、前記第2鍵復号部によって生成された第2の鍵で暗号化して新たな第1暗号化鍵を生成し、その新たな第1暗号化鍵で前記第1鍵記憶部に記憶されている第1暗号化鍵を書き換える鍵更新部とを備えたことを特徴とする情報記憶装置。
【請求項2】
前記第2の鍵が、この情報記憶装置に固有の固有情報を含んだものであることを特徴とする請求項1記載の情報記憶装置。
【請求項3】
変数の値を記憶する、場所が固定された変数値記憶部と、
前記値記憶部に記憶されている変数の値を更新する変数値更新部とを備え、
前記第1鍵記憶部が、前記第2の鍵と前記変数値記憶部に記憶されている値との組み合わせで前記第1の鍵が暗号化された第1暗号化鍵を記憶するものであり、
前記第1鍵復号部が、前記第1鍵記憶部に記憶されている第1暗号化鍵を、前記第2鍵復号部で生成された第2の鍵と前記変数値記憶部に記憶されている値との組み合わせで復号して前記第1の鍵を生成するものであることを特徴とする請求項1または2記載の情報記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2009−245227(P2009−245227A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−91901(P2008−91901)
【出願日】平成20年3月31日(2008.3.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】