説明

記憶装置、保護方法及び電子機器

【課題】記憶装置のセキュリティの向上が可能な記憶装置を提供する。
【解決手段】データを暗号鍵に基づいて暗号化して記憶領域に記憶すると共に、記憶領域に記憶したデータを暗号鍵に基づいて復号化する記憶装置であって、記憶装置の電源の投入に伴い、カウントを開始する経過時間計測手段と、記憶装置に接続されたホスト装置から、パスワードとホスト装置で計時された現在日時を表す時刻情報とを含んだコマンドの入力を受け付け、コマンドに含まれる時刻情報と、経過時間計測手段でカウントされたカウンタ値とに基づいて、前回のコマンド入力から今回のコマンド入力までの経過時間を算出し、前回入力されたコマンドに含まれる時刻情報に加算した結果と、今回入力されたコマンドに含まれる時刻情報との時間的な大小関係に基づいて、時刻情報の整合性を判定し、整合と判定した場合に、パスワードの認証を行い、認証に成功すると記憶領域へのアクセスを許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、記憶装置、保護方法及び電子機器に関するものである。
【背景技術】
【0002】
従来、記録する情報の漏洩を防止する記憶装置として、記録されるデータを自動的に暗号化する記憶装置が知られている。このような記憶装置の機能は、SED(Self Encryption Disk)機能として知られている。このSED機能を有する記憶装置において、暗号鍵は、設定されたパスワードに基づいて生成され、ホスト装置から記憶装置にパスワードが入力されることによって、暗号化されたデータが復号可能となる。
【0003】
また、ホスト装置に接続された記憶装置をホットプラグアタックから保護するため、ホスト装置と記憶装置との双方のタイマを同期させ、この同期のための計時値を用いて両装置における認証のための共通データを生成する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4357963号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、SED機能による情報漏洩防止技術では、ホスト装置と記憶装置との間の情報の流れからパスワードが読み取られる可能性があるため、改善の余地があった。また、ホスト装置と記憶装置との間でタイマを同期する技術では、両装置の接続関係を検証することが可能であるが、タイマ同期のための処理や機構が両装置で必要となる。そのため、正しい接続関係にある場合も含めて、より簡便に記憶装置のセキュリティを向上させることが可能な技術が望まれている。
【0006】
本発明は、上記に鑑みてなされたものであって、記憶装置のセキュリティを向上させることが可能な記憶装置、保護方法及び電子機器を提供することを目的とする。
【課題を解決するための手段】
【0007】
実施の形態の記憶装置は、データを暗号鍵に基づいて暗号化して記憶領域に記憶するとともに、前記記憶領域に記憶したデータを前記暗号鍵に基づいて復号化する記憶装置であって、経過時間計測手段と、受付手段と、算出手段と、加算手段と、時刻情報判定手段と、無効化手段と、認証手段とを備える。経過時間計測手段は、記憶装置の電源の投入に伴い、カウントを開始する。受付手段は、記憶装置に接続されたホスト装置から、パスワードと当該ホスト装置で計時された現在日時を表す時刻情報とを含んだコマンドの入力を受け付ける。算出手段は、コマンドに含まれる時刻情報と、当該コマンドの入力時までに前記経過時間計測手段でカウントされたカウンタ値とに基づいて、前回のコマンド入力から今回のコマンド入力までの経過時間を算出する。加算手段は、算出手段が算出した経過時間を、前回入力されたコマンドに含まれる時刻情報に加算する。時刻情報判定手段は、加算手段の加算結果と、今回入力されたコマンドに含まれる時刻情報との時間的な大小関係に基づいて、当該時刻情報の整合性を判定する。無効化手段は、時刻情報判定手段が不整合と判定した場合に、暗号鍵を無効化する。認証手段は、時刻情報判定手段が整合と判定した場合に、今回入力されたコマンドに含まれるパスワードの認証を行い、当該認証に成功した場合に記憶領域へのアクセスを許可する。
【図面の簡単な説明】
【0008】
【図1】図1は、本実施形態に係る電子機器の構成を模式的に示す図。
【図2】図2は、本実施形態に係る磁気ディスク装置のハードウェア構成を示す図。
【図3】図3は、本実施形態に係る磁気ディスク装置の機能構成を示す図。
【図4】図4は、磁気ディスク装置が実行するコマンド受付処理の手順を示すフローチャート。
【図5】図5は、時刻情報判定処理の手順を示すフローチャート。
【図6】図6は、時刻情報判定処理を説明するための図。
【図7】図7は、有効時間判定処理の手順を示すフローチャート。
【発明を実施するための形態】
【0009】
図1は、本実施形態に係る電子機器の構成を模式的に示す図である。同図に示すように、ホスト装置1は、PC(Personal Computer)等の電子機器であって、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、計時部14、表示部15、操作入力部16、通信部17及び磁気ディスク装置20を備えている。
【0010】
CPU11は、RAM13の所定領域を作業領域として、ROM12や磁気ディスク装置20に予め記憶された各種プログラムを実行し、ホスト装置1を構成する各部の動作を統括的に制御する。
【0011】
ROM12は、不揮発性の記憶デバイスであって、ホスト装置1の制御に係るプログラムや各種設定情報等を書き換え不可能に記憶する。RAM13は、揮発性の記憶デバイスであって、CPU11の作業領域として機能し、各種の処理時においてスタックやバッファ等の役割を果たす。
【0012】
計時部14は、ホスト装置1に設けられたRTC(Real Time Clock)等の計時装置であり、現在日時を表した時刻情報を生成する。なお、時刻情報は、所定の年月日(例えば、1900年1月1日)から起算した秒数で表されている。例えば、現在日時が2010年11月12日13時14分15秒の場合、時刻情報は“D08A5F27”(16進数表記)で表される。
【0013】
表示部15は、LCD(Liquid Crystal Display)等の表示デバイスにより構成され、CPU11からの表示信号に基づいて、各種情報を表示する。操作入力部16は、各種入力キーを備え、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をCPU11に出力する。なお、表示部15は、操作入力部16と一体的にタッチパネルを構成する態様としてもよい。
【0014】
通信部17は、図示しないネットワークを介して外部装置との間で通信を行う通信インタフェースであって、外部装置から受信した各種の情報をCPU11に出力し、また、CPU11から出力される各種の情報を外部装置へ送信する。
【0015】
また、本実施形態の記憶装置である磁気ディスク装置20は、磁気的に記録可能な記録媒体を有し、ホスト装置1の制御に係るプログラムや各種データ等を書き換え可能に記憶する。ここで、磁気ディスク装置20は、SED機能を有しており、AES(Advanced Encryption Standard)等の所定の暗号化方式により暗号化した状態でデータを記憶する。なお、本実施形態では、ホスト装置1に接続される記憶装置をHDD(Hard Disk Drive)等の磁気ディスク装置20としたが、これに限らず、SSD(Solid State Drive)やフラッシュメモリ等、半導体メモリを記録媒体とした記憶装置としてもよい。
【0016】
磁気ディスク装置20は、予め定められたパスワードと時刻情報とに基づいて、ホスト装置1からのアクセスが正当なアクセスか否かを判定し、正当と判定された場合にのみ記録媒体へのデータの書き込みや、データの読み出しを許可する。そのため、CPU11では、磁気ディスク装置20へのアクセスに際し、リード/ライト等を指示するコマンドとともに、予め定められた暗号化解除のためのパスワード、及び、計時部14から取得した時刻情報を含んだ認証コマンドを磁気ディスク装置20に送信する。なお、磁気ディスク装置20のアクセスに係るCPU11の動作は、ROM12に記憶されたプログラムや各種設定情報との協働により実現されるものとする。
【0017】
次に、図2及び図3を参照して、磁気ディスク装置20の構成について説明する。ここで図2は、磁気ディスク装置20のハードウェア構成を示す図である。
【0018】
図2に示すように、磁気ディスク装置20は、ディスク媒体21、ヘッド22、SPM(Spindle Motor)23、VCM(Voice-Coil Motor)24、サーボ制御部25、ヘッドIC26、リードチャネル27、暗号回路28、暗号回路制御部29、経過時間計測部30、バッファメモリ31、ホストIF(Interface)32、ホストIF制御部33、フラッシュメモリ34、MPU(Micro Processing Unit)35を備えている。
【0019】
ディスク媒体21は、データを信号として記録する記録媒体である。ヘッド22は、ディスク媒体21に信号を書き込み、ディスク媒体21に書き込まれている信号を読み出す。SPM23は、ディスク媒体21を回転駆動する。VCM24は、図示しないマグネット及び駆動コイル等から構成され、ヘッド22を駆動する。サーボ制御部25は、SPM23及びVCM24を制御する。ヘッドIC26は、ヘッド22によりディスク媒体21に書き込まれる信号、ディスク媒体21から読み出された信号を増幅する。リードチャネル27は、ディスク媒体21に書き込まれるデータを信号に変換し、ディスク媒体21から読み出される信号をデータに変換する。暗号回路28は、ディスク媒体21に書き込まれるデータを、後述する暗号鍵を用いてAES等の所定の暗号化方式で暗号化する。また、暗号回路28は、ディスク媒体21より読み出されたデータを後述する暗号鍵を用いて復号化する。暗号回路制御部29は、暗号回路28の動作を制御する。
【0020】
経過時間計測部30は、磁気ディスク装置20に設けられたカウンタ回路等であって、磁気ディスク装置20の電源投入と同時にカウントを開始し、この電源投入からの経過時間をカウンタ値により計測する。なお、電源の投入毎にカウンタ値“ゼロ”からカウントが開始されるものとする。
【0021】
バッファメモリ31は、ディスク媒体21に書き込まれるデータやディスク媒体21より読み出されたデータ等を一時的に記憶する。ホストIF32は、ホスト装置1と磁気ディスク装置20とを接続するためのインタフェースであって、ホスト装置1と磁気ディスク装置20との間のデータ及びコマンドの送受に係る通信に寄与する。ホストIF制御部33は、ホストIF32を介して送受される通信を制御する。
【0022】
フラッシュメモリ34は、MPU35により実行されるプログラムや、磁気ディスク装置20の動作に係る各種の設定情報等を記憶する不揮発性メモリである。また、MPU35は、フラッシュメモリ34に記憶されたプログラムを実行することで、後述する機能部(コマンド受付部201、時刻情報判定部202、有効時間判定部203、パスワード認証部204、暗号鍵無効化部205)を実現し、磁気ディスク装置20全体の動作を制御する。
【0023】
図3は、磁気ディスク装置20の機能構成を示す図である。図3に示すように、磁気ディスク装置20は、コマンド受付部201、時刻情報判定部202、有効時間判定部203、パスワード認証部204、暗号鍵無効化部205及び記憶部206を備えている。
【0024】
コマンド受付部201は、ホストIF32及びホストIF制御部33を介して入力される、コマンド(認証コマンド)の受け付けに関する制御を行う機能部である。具体的に、コマンド受付部201は、コマンドの受け付け開始時(磁気ディスク装置20の電源投入時)において、記憶部206に保持された起動時無効化フラグ及び不正使用フラグの状態を確認する。両フラグがセットされていない場合、コマンド受付部201は、前回の磁気ディスク装置20の電源断が正当に行われたと判断し、ホスト装置1からのコマンドの受け付けを開始する。なお、起動時無効化フラグ及び不正使用フラグの何れかがセットされていた場合、コマンド受付部201は、不正な操作が行われたと判断し、コマンドの受け付けを停止する。
【0025】
ここで、起動時無効化フラグは、磁気ディスク装置20に不正な操作の疑いがある所定の操作(例えば、パスワード認証の失敗等)が行われた場合にセットされるフラグ情報である。また、不正使用フラグは、不正な操作と定義された所定の操作(例えば、パスワード認証を所定回数失敗する等)が行われた場合にセットされるフラグ情報である。
【0026】
また、コマンド受付部201は、磁気ディスク装置20の動作中において、不正使用フラグがセットされると、ホスト装置1からのコマンド受け付けを所定時間停止し、この所定時間が経過した後、コマンド受け付けを再開する。なお、コマンド受け付けの停止時間は、設定情報として記憶部206(フラッシュメモリ34等)に予め設定されているものとする。
【0027】
時刻情報判定部202は、ホスト装置1から認証コマンドとして送信される時刻情報と、経過時間計測部30でカウントされるカウンタ値とに基づいて、時刻情報の時間的な整合性を判定する時刻情報判定処理を実行する。なお、時刻情報判定処理の詳細については、後述する(図5参照)。
【0028】
有効時間判定部203は、暗号鍵を有効とする時間を定めた暗号鍵有効時間に基づき、記憶部206に記憶された暗号鍵がこの暗号鍵有効時間の範囲内か否かを判定する有効時間判定処理を実行する。なお、有効時間判定処理の詳細については、後述する(図6参照)。
【0029】
パスワード認証部204は、認証コマンドに含まれるパスワードと、当該パスワードとの照合用として記憶部206に記憶された後述する照合用パスワードとを比較し、両パスワードが一致するか否かを判定することで、パスワードの認証を行う。
【0030】
また、パスワード認証部204は、一定時間あたりの認証コマンドの入力回数を検出し、この入力回数が所定の上限値を上回った場合に、認証コマンドの入力が短時間に連続して行われたと判定する。この場合、後述するようにブルートフォースアタック(総当たり攻撃)等のパスワードアタックが行われている可能性があるため、パスワード認証部204は、不正な操作と判断する。なお、不正な操作と判定する際の上限値は、設定情報として記憶部206(フラッシュメモリ34等)に予め設定されているものとする。
【0031】
また、パスワード認証部204は、パスワードの不一致を確認すると、つまりパスワード認証に失敗すると、不正な操作の可能性があると判断し、起動時無効化フラグをセットする。さらに、パスワード認証部204は、パスワード認証に所定回数失敗すると、不正な操作と判断し、不正使用フラグをセットする。なお、パスワード認証に成功した場合には、起動時無効化フラグ及び不正使用フラグのセットの解除(クリア)し、磁気ディスク装置20(ディスク媒体21)へのアクセスを許可する。
【0032】
暗号鍵無効化部205は、上記各機能部の判定(判断)結果に応じて、暗号鍵の無効化を行う機能部である。ここで、暗号鍵の無効化とは、当該暗号鍵を用いたデータの暗号化/復号化を不能とすることを意味する。つまり、ディスク媒体21に記録されたデータが読み取られてしまうことを防止するとともに、当該ディスク媒体21にデータが書き込まれてしまうことを防止することを目的とするものである。
【0033】
具体的な無効化方法としては、暗号鍵自体を消去する方法や、暗号鍵に更なる暗号化等を施すことで、暗号鍵を構成する文字列(データ)を他の文字列に置き換える方法等が挙げられる。なお、後者の方法を用いる場合、置き換えが行われた暗号鍵を復元(復号)する仕組みを実装してもよい。
【0034】
記憶部206は、フラッシュメモリ34やディスク媒体21等、磁気ディスク装置20が備える不揮発性メモリの所定の記憶領域により実現される機能部であって、後述するコマンド受付処理(図4参照)の実行に係る各種の情報を記憶する。
【0035】
具体的に、記憶部206は、コマンド受付処理の実行に係る情報として、照合用パスワード、暗号鍵、パスワード設定日時、暗号鍵有効時間、上述した起動時無効化フラグ及び不正使用フラグ等を記憶している。
【0036】
ここで、照合用パスワードは、磁気ディスク装置20の利用に係る正規のパスワードであって、ホスト装置1から送信されるパスワードとの照合に用いられる。また、暗号鍵は、暗号回路制御部29の制御の下、暗号回路28により生成されたものであって、データの暗号化/復号化の際に用いられる。なお、暗号鍵の生成は照合用パスワードの設定時に行われるものとする。また、暗号鍵の生成方法は特に問わず、例えば、照合用パスワードを生成シードに用いてもよい。
【0037】
パスワード設定日時は、照合用パスワードが設定された日時を表す情報である。なお、パスワード設定日時は、上述した時刻情報と同様、所定の年月日(例えば、1900年1月1日)から起算した秒数で表されている。また、暗号鍵有効時間は、暗号鍵の有効時間(秒単位)を定めた情報であって、パスワード設定日時(つまり暗号鍵の生成日時)を基準としている。
【0038】
次に、図4〜図7を参照して、上述した構成の磁気ディスク装置20の動作について説明する。ここで、図4は、磁気ディスク装置20が実行するコマンド受付処理の手順を示すフローチャートである。
【0039】
まず、図示しない電源ボタンの操作によりホスト装置1の電源がオンとされ、磁気ディスク装置20への電源供給が開始されると、経過時間計測部30はカウントを開始する(ステップS11)。
【0040】
続いて、コマンド受付部201は、記憶部206に保持された起動時無効化フラグの状態を確認し、セットされているか否かを判定する(ステップS12)。ここで、起動時無効化フラグがセットされていると判定した場合(ステップS12;Yes)、コマンド受付部201は、前回の動作時に不正な操作が行われた疑いがあると判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS31)、本処理を終了する。
【0041】
ステップS12において、起動時無効化フラグがセットされていないと判定した場合(ステップS12;No)、コマンド受付部201は、不正使用フラグがセットされているか否かを判定する(ステップS13)。ここで、不正使用フラグがセットされていると判定した場合(ステップS13;Yes)、コマンド受付部201は、前回の動作時に不正な操作が行われたと判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS31)、本処理を終了する。
【0042】
また、コマンド受付部201は、起動時無効化フラグ及び不正使用フラグがともにセットされていないと判定すると(ステップS13;No)、認証コマンドの受け付けを開始し(ステップS14)、ホスト装置1から認証コマンドを受信するまで待機する(ステップS15;No)。そして、ホスト装置1から認証コマンドを受信すると(ステップS15;Yes)、時刻情報判定部202は、この認証コマンドに対し時刻情報判定処理を実行する(ステップS16)。以下、図5を参照して、ステップS16の時刻情報判定処理について説明する。
【0043】
図5は、時刻情報判定処理の手順を示すフローチャートである。まず、時刻情報判定部202は、認証コマンドに時刻情報が含まれているか否かを判定する(ステップS161)。ここで、時刻情報が含まれていないと判定した場合(ステップS161;No)、時刻情報判定部202は、受信した認証コマンドを不正なコマンドと判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS167)、本処理を終了する。
【0044】
また、認証コマンドに時刻情報が含まれている場合(ステップS161;Yes)、時刻情報判定部202は、記憶部206に前回受信時情報が記憶されているか否かを判定する(ステップS162)。ここで、前回受信時情報が記憶部206に記憶されていないと判定すると(ステップS162;No)、時刻情報判定部202は、ステップS168の処理に移行する。
【0045】
一方、前回受信時情報が記憶されていると判定した場合(ステップS162;Yes)、時刻情報判定部202は、この前回受信時情報を記憶部206から読み出す(ステップS163)。次いで、時刻情報判定部202は、前回受信時情報に含まれるカウンタ値と、経過時間計測部30の現在のカウント値との差分から、前回の認証コマンドを受信してから今回の認証コマンドを受信するまでの経過時間を算出する(ステップS164)。
【0046】
続いて、時刻情報判定部202は、前回受信時情報に含まれた時刻情報にステップS164で算出した経過時間を加算し、計算時刻を導出する(ステップS165)。そして、時刻情報判定部202は、この計算時刻と入力された認証コマンドに含まれる時刻情報とを比較し、時刻情報の表す値(秒数)が、計算時刻の表す値(秒数)以上か否かを判定する(ステップS166)。
【0047】
ここで、図6を参照し、上記ステップS164〜S166の動作について説明する。図6は、時刻情報判定処理を説明するための図である。まず、ホスト装置1において、2010年11月12日13時14分15秒に認証コマンド(以下、第1認証コマンドという)が送信されると、磁気ディスク装置20はこの第1認証コマンドを受け付ける。図6では、第1認証コマンドに含まれるパスワードを“ABCDEFGH”としており、時刻情報を“D08A5F27”で表している。また、磁気ディスク装置20では、経過時間計測部30のカウンタ値が100(秒)の時に、第1認証コマンドを受信しているため、時刻情報“D08A5F27”とカウンタ値“100”との組が、後述するステップS168の処理で前回受信時情報として記憶される。
【0048】
その後、ホスト装置1から、2010年11月12日13時24分15秒に認証コマンド(以下、第2認証コマンドという)が送信されると、磁気ディスク装置20はこの第2認証コマンドを受け付ける。図6では、第2認証コマンドに含まれるパスワードを前回同様“ABCDEFGH”としており、時刻情報を“D08A617F”で表している。なお、磁気ディスク装置20では、経過時間計測部30のカウンタ値が700(秒)の時に、第2認証コマンドを受信している。
【0049】
時刻情報判定部202は、要求コマンドが図6に示した条件の場合、第1認証コマンドを受信した際のカウンタ値“100”と、第2認証コマンドを受信した際のカウンタ値“700”との差分“600”を、第1認証コマンドを受信してから第2認証コマンドを受信するまでの経過時間とする。また、時刻情報判定部202は、第1認証コマンドに含まれた時刻情報“D08A5F27”に、経過時間“600”を加算することで、計算時間“D08A617F”を導出する。そして、時刻情報判定部202は、計算時間“D08A617F”と、第2認証コマンドに含まれた時刻情報“D08A617F”とを比較し、時間的な大小関係を判定する。
【0050】
図5に戻り、ステップS166の比較の結果、時刻情報の表す値(秒)が計算時刻の表す値(秒)よりも小さい場合(ステップS166;No)、計算時間と時刻情報との時間的な関係に不整合が生じるため、時刻情報判定部202は、不正(不整合)と判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS167)、本処理を終了する。
【0051】
また、時刻情報が計算時刻以上の場合には(ステップS166;Yes)、計算時間と時刻情報との時間的な関係に不整合が生じないため、時刻情報判定部202は正当(整合)と判断する。そして、時刻情報判定部202は、今回受信した認証コマンドに含まれる時刻情報と、この認証コマンドを受信した時の経過時間計測部30のカウンタ値とを対応付け、前回受信時情報として記憶部206に記憶し(ステップS168)、図4のステップS17に移行する。
【0052】
なお、ステップS166において、時刻情報が計算時刻を超えている場合を正当とする理由は以下のとおりである。前回受信時情報を記憶した後、磁気ディスク装置20が電源断となると経過時間計測部30のカウンタ値はゼロからカウントを始めることになる。この場合、時刻情報の表す値(秒)は計算時刻の表す値(秒)を上回ることになるが、これは正当な操作であるため、磁気ディスク装置20の使用を制限する対象とはならない。しかしながら、時刻情報が計算時刻を下回ることは、通常の使用環境では発生しないため、これを不正と判断して、磁気ディスク装置20の使用を制限している。
【0053】
図4に戻り、続くステップS17では、有効時間判定部203が、有効時間判定処理を実行する(ステップS17)。以下、図7を参照して、ステップS17の有効時間判定処理について説明する。ここで、図7は、有効時間判定処理の手順を示すフローチャートである。
【0054】
まず、有効時間判定部203は、記憶部206に暗号鍵有効時間が設定されているか否かを判定する(ステップS171)。暗号鍵有効時間が設定されていない場合には(ステップS171;No)、図4のステップS18に移行する。また、暗号鍵有効時間が設定されていると判定した場合(ステップS171;Yes)、有効時間判定部203は、現在の経過時間計測部30のカウンタ値が暗号鍵有効時間を超えているか否かを判定する(ステップS172)。
【0055】
ステップS172において、暗号鍵有効時間を超えたと判定した場合(ステップS172;Yes)、有効時間判定部203は、暗号鍵が失効したと判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS176)、本処理を終了する。
【0056】
また、ステップS172において、経過時間計測部30のカウンタ値が暗号鍵有効時間以下と判定した場合(ステップS172;No)、暗号鍵無効化部205は、ステップS173の処理に移行する。なお、ステップS172の判定処理は、ホスト装置1の電源投入後、パスワード認証を一度も行わないまま時間が経過したケースに対応するためのものである。
【0057】
続いて、有効時間判定部203は、記憶部206からパスワード設定日時を読み出すと(ステップS173)、このパスワード設定日時に暗号鍵有効時間を加算し、計算時刻を導出する(ステップS174)。そして、有効時間判定部203は、ステップS174で導出した計算時刻と、今回受信した認証コマンドに含まれる時刻情報とを比較し、時刻情報の表す値(秒)が計算時刻の表す値(秒)を上回るか否かを判定する(ステップS175)。
【0058】
ステップS175において、時刻情報が計算時刻を上回ったと判定した場合(ステップS175;Yes)、有効時間判定部203は、暗号鍵が失効したと判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS176)、本処理を終了する。一方、ステップS175において、時刻情報が計算時刻以下と判定した場合(ステップS175;No)、図4のステップS18に移行する。
【0059】
このように、本実施形態の磁気ディスク装置20では、暗号鍵の有効時間(有効期限)を設けることで、この有効時間を超えた場合に暗号鍵を無効化させることができるため、磁気ディスク装置20の持ち去りが行われた場合等において、磁気ディスク装置20のセキュリティを向上させることができる。なお、本実施形態では、認証コマンドのチェック時に有効時間判定処理を実行する形態としたが、さらに認証コマンドの入力待機中に暗号鍵有効時間と経過時間計測部30のカウンタ値のみで、暗号鍵有効時間の範囲内か否かの判定を追加した形態としてもよい。
【0060】
図4に戻り、パスワード認証部204は、ステップS15で受信した認証コマンドが、短時間に連続して入力されたものか否かを判定する(ステップS18)。例えば、磁気ディスク装置20が、ブルートフォースアタックに晒されていると、膨大な文字列の組み合わせがパスワードとして高速に入力されることになる。そこで、ステップS18では、このような不正な操作を防止するため、認証コマンドが短時間に連続して入力されたことを検出する。
【0061】
ステップS18において、認証コマンドが短時間に連続して入力されていることを検出すると(ステップS18;Yes)、パスワード認証部204は、不正な操作が行われていると判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS31)、本処理を終了する。
【0062】
また、ステップS18において、短時間に連続して入力されていないと判定すると(ステップS18;No)、パスワード認証部204は、受信した認証コマンドに含まれるパスワードと、記憶部206に記憶された照合用パスワードとを比較し、両パスワードが一致するか否かを判定する(ステップS19)。
【0063】
ここで、パスワードが不一致となった場合(ステップS19;No)、パスワード認証部204は、認証要求回数を1加算する(ステップS20)。なお、認証要求回数は、パスワード認証に失敗した回数を記録するための変数であって、バッファメモリ31や記憶部206等に保持されているものとする。
【0064】
次いで、パスワード認証部204は、不正な操作の可能性があると判断し、起動時無効化フラグをセットする(ステップS21)。続いて、パスワード認証部204は、認証要求回数が所定回数(以下、認証可能回数という)を上回ったか否かを判定し、認証可能回数以下の場合には(ステップS22;No)、パスワードの不一致をホスト装置1に通知し(ステップS23)、ステップS15に再び戻る。
【0065】
また、ステップS22において、認証要求回数が認証可能回数を上回ったと判定した場合(ステップS22;Yes)、パスワード認証部204は、不正使用フラグがセットされているか否かを判定する(ステップS24)。ここで、不正使用フラグがセットされている場合(ステップS24;Yes)、暗号鍵無効化部205は、不正な操作が行われたと判断する。この場合、暗号鍵無効化部205は、暗号鍵を無効化し(ステップS31)、本処理を終了する。
【0066】
また、ステップS24において、不正使用フラグがセットされていないと判定した場合(ステップS24;No)、パスワード認証部204は、不正使用フラグをセットする(ステップS25)。コマンド受付部201は、ステップS25の不正使用フラグのセットに伴い、所定時間の間、ホスト装置1からのコマンドの受け付けを停止する(ステップS26)。
【0067】
ここで、ステップS26の処理は、パスワードアタックを目的としたものでなく、クラッキング(故意にディスク媒体21上のデータを消失させること)のため、一致しないパスワードが多数回入力されるような場合に、ディスク媒体21上のデータを一時的に保護することを目的としている。なお、コマンド受け付け停止期間の間、ホスト装置1側では磁気ディスク装置20からのコマンド応答がないため、磁気ディスク装置20で異常が発生していることを検知することが可能である。そのため、磁気ディスク装置20の異常発生時に、管理者にメール等で磁気ディスク装置20の異常報知を自動で行う仕組みをホスト装置1に搭載することで、磁気ディスク装置20の異常に迅速に対処することが可能となる。
【0068】
コマンド受付部201は、所定時間が経過するまで待機し(ステップS27;No)、この所定時間が経過すると(ステップS27;Yes)、コマンドの受け付けを再開し(ステップS28)、ステップS15に再び戻る。
【0069】
一方、ステップS19において、パスワードの一致を確認した場合(ステップS19;Yes)、パスワード認証部204は、起動時無効化フラグ及び不正使用フラグをクリアするとともに、認証要求回数をゼロにリセットする(ステップS29)。そして、MPU35は、入力されたコマンドに応じた処理(例えば、データの読み出しや書き込み)を実行し(ステップS30)、ステップS15に再び戻る。
【0070】
以上のように、本実施形態によれば、ホスト装置1からのコマンド入力時において、当該磁気ディスク装置20では、認証コマンドに含まれた時刻情報と、経過時間計測部30のカウント値とに基づいて当該時刻情報の整合性を判定し、整合が確認された場合にのみパスワード認証を行う。これにより、アクセス元となったホスト装置1の正当性を確認することができるため、より簡便に磁気ディスク装置20のセキュリティを向上させることができる。
【0071】
なお、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
【0072】
例えば、上記実施形態では、起動時無効化フラグと不正使用フラグの二つのフラグを用いる形態としたが、不正使用フラグのみ用いる形態としてもよい。また、上記実施形態では、磁気ディスク装置20の電源投入時(起動時)において、起動時無効化フラグがセットされている場合に暗号鍵を無効化する形態としたが、これに限らず、不正使用フラグがセットされている場合にのみ暗号鍵を無効化する形態としてもよい。
【符号の説明】
【0073】
1 ホスト装置
11 CPU
12 ROM
13 RAM
14 計時部
15 表示部
16 操作入力部
17 通信部
20 磁気ディスク装置
21 ディスク媒体
22 ヘッド
23 SPM
24 VCM
25 サーボ制御部
26 ヘッドIC
27 リードチャネル
28 暗号回路
29 暗号回路制御部
30 経過時間計測部
31 バッファメモリ
32 ホストIF
33 ホストIF制御部
34 フラッシュメモリ
35 MPU
201 コマンド受付部
202 時刻情報判定部
203 有効時間判定部
204 パスワード認証部
205 暗号鍵無効化部
206 記憶部

【特許請求の範囲】
【請求項1】
データを暗号鍵に基づいて暗号化して記憶領域に記憶するとともに、前記記憶領域に記憶したデータを前記暗号鍵に基づいて復号化する記憶装置であって、
前記記憶装置の電源の投入に伴い、カウントを開始する経過時間計測手段と、
前記記憶装置に接続されたホスト装置から、パスワードと当該ホスト装置で計時された現在日時を表す時刻情報とを含んだコマンドの入力を受け付ける受付手段と、
前記コマンドに含まれる時刻情報と、当該コマンドの入力時までに前記経過時間計測手段でカウントされたカウンタ値とに基づいて、前回のコマンド入力から今回のコマンド入力までの経過時間を算出する算出手段と、
前記算出手段が算出した経過時間を、前回入力されたコマンドに含まれる時刻情報に加算する加算手段と、
前記加算手段の加算結果と、今回入力されたコマンドに含まれる時刻情報との時間的な大小関係に基づいて、当該時刻情報の整合性を判定する時刻情報判定手段と、
前記時刻情報判定手段が不整合と判定した場合に、前記暗号鍵を無効化する無効化手段と、
前記時刻情報判定手段が整合と判定した場合に、今回入力されたコマンドに含まれるパスワードの認証を行い、当該認証に成功した場合に前記記憶領域へのアクセスを許可する認証手段と、
を備える記憶装置。
【請求項2】
前記時刻情報判定手段は、今回入力されたコマンドに含まれる時刻情報の表す日時が、前記算出手段が算出した経過時間の表す日時と一致又は超えた場合に、整合と判定する請求項1に記載の記憶装置。
【請求項3】
前記暗号鍵を有効とする時間を定めた暗号鍵有効時間と、前記経過時間計測手段のカウンタ値とを比較し、当該カウンタ値が前記暗号鍵有効時間を超えた場合に、前記暗号鍵が失効したと判定する有効時間判定手段を更に備え、
前記無効化手段は、前記有効時間判定手段が前記暗号鍵有効時間の範囲外と判定した場合に、前記暗号鍵を無効化する請求項1又は2に記載の記憶装置。
【請求項4】
前記有効時間判定手段は、前記パスワードが設定された日時を表すパスワード設定日時に前記暗号鍵有効時間を加算し、この加算結果の表す日時が、前記コマンドに含まれる時刻情報の表す日時を超えた場合に、前記暗号鍵が失効したと判定する請求項3に記載の記憶装置。
【請求項5】
一定時間あたりの前記コマンドの入力回数を検出し、当該入力回数が所定の上限値を超えたか否かを判定する判定手段を更に備え、
前記無効化手段は、前記判定手段が上限値を超えたと判定した場合に、前記暗号鍵を無効化する請求項1〜4の何れか一項に記載の記憶装置。
【請求項6】
前記無効化手段は、前記暗号鍵を消去又は他の文字列に置き換える請求項1〜5の何れか一項に記載の記憶装置。
【請求項7】
前記受付手段は、前記認証手段による前記パスワードの認証が所定回数失敗した場合、前記コマンドの受け付けを所定時間停止する請求項1に記載の記憶装置。
【請求項8】
データを暗号鍵に基づいて暗号化して記憶領域に記憶するとともに、前記記憶領域に記憶したデータを前記暗号鍵に基づいて復号化する記憶装置の保護方法であって、
前記記憶装置の電源の投入に伴い、カウントを開始する経過時間計測ステップと、
前記記憶装置と接続されたホスト装置から、パスワードと当該ホスト装置で計時された現在日時を表す時刻情報とを含んだコマンドの入力を受け付ける受付ステップと、
前記コマンドに含まれる時刻情報と、当該コマンドの入力時までに前記経過時間計測ステップでカウントされたカウンタ値とに基づいて、前回のコマンド入力から今回のコマンド入力までの経過時間を算出する算出ステップと、
前記算出ステップで算出された経過時間を、前回入力されたコマンドに含まれる時刻情報に加算する加算ステップと、
前記加算ステップでの加算結果と、今回入力されたコマンドに含まれる時刻情報との時間的な大小関係に基づいて、当該時刻情報の整合性を判定する時刻情報判定ステップと、
前記時刻情報判定ステップで不整合と判定された場合に、前記暗号鍵を無効化する無効化ステップと、
前記時刻情報判定ステップで整合と判定された場合に、今回入力されたコマンドに含まれるパスワードの認証を行い、当該認証に成功した場合に前記記憶領域へのアクセスを許可する認証ステップと、
を備える保護方法。
【請求項9】
データを暗号鍵に基づいて暗号化して記憶領域に記憶するとともに、前記記憶領域に記憶したデータを前記暗号鍵に基づいて復号化する記憶装置を備えた電子機器であって、
現在日時を表した時刻情報を生成する計時手段と、
前記記憶装置へのアクセスに際し、予め定められたパスワードと前記時刻情報とを含んだコマンドを前記記憶装置に送信する送信手段と、
を備え、
前記記憶装置は、
前記電子機器の電源の投入に伴い、カウントを開始する経過時間計測手段と、
前記送信手段から前記コマンドの入力を受け付ける受付手段と、
前記コマンドに含まれる時刻情報と、当該コマンドの入力時までに前記経過時間計測手段でカウントされたカウンタ値とに基づいて、前回のコマンド入力から今回のコマンド入力までの経過時間を算出する算出手段と、
前記算出手段が算出した経過時間を、前回入力されたコマンドに含まれる時刻情報に加算する加算手段と、
前記加算手段の加算結果と、今回入力されたコマンドに含まれる時刻情報との時間的な大小関係に基づいて、当該時刻情報の整合性を判定する時刻情報判定手段と、
前記時刻情報判定手段が不整合と判定した場合に、前記暗号鍵を無効化する無効化手段と、
前記時刻情報判定手段が整合と判定した場合に、今回入力されたコマンドに含まれるパスワードの認証を行い、当該認証に成功した場合に前記記憶領域へのアクセスを許可する認証手段と、
を備える電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−64133(P2012−64133A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−209710(P2010−209710)
【出願日】平成22年9月17日(2010.9.17)
【特許番号】特許第4881468号(P4881468)
【特許公報発行日】平成24年2月22日(2012.2.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】