(57)【要約】【課題】補助記憶装置に記憶されるデータの暗号強度の向上を図り、必要に応じて補助記憶装置に対する円滑なアクセス制御を簡易な構成で実現するデータ保護装置を提供する。【解決手段】ハードディスク等の補助記憶装置に記憶させるデータを暗号／復号部１５によって暗号化した後に、暗号文を配列変換部１７によって複数のブロックに分割させ各ブロックの並び方を変更させた後にハードディスクに記憶させる。マスタキーの他にデータ保護装置１を動作させてハードディスクのデータにアクセスするためのスペアキーを作成可能にし、各スペアキーには、権限管理部１６によって個別にアクセス権を設定するようにする。【選択図】図３
2004126745.tif 000002
【特許請求の範囲】
【請求項１】
マスタキーがキー装着部に装着されていないときは、補助記憶装置が認識されないようにする認識無効化手段と、
補助記憶装置に記憶させるデータを前記マスタキーに付与された暗号化情報に基づいて暗号化する暗号化手段と、
前記暗号化手段により暗号化されたデータを複数のブロックに分割し、前記ブロックの配列を前記暗号化情報に基づいて変更する配列変更手段と、
前記キー装着部に前記マスタキーが装着されているときは、入力された読出要求に係るデータについて、前記配列変更手段によって変更された前記配列を元に戻すとともに前記暗号化手段によって暗号化されたデータを復号化する処理を行うデータ還元手段と、を備えてなるデータ保護装置。
【請求項２】
前記マスタキーには、単一または複数のスペアキーがあり、前記スペアキー毎に前記補助記憶装置に記憶されているデータに対するアクセス権を設定する権限設定手段を備えたことを特徴とする請求項１に記載のデータ保護装置。
【請求項３】
前記補助記憶装置の記憶領域は複数に分割されており、前記権限設定手段は、前記補助記憶装置の記憶領域毎に実行可能な処理内容を設定することを特徴とする請求項２に記載のデータ保護装置。
【請求項４】
前記キー装着部は複数形成されており、前記認識無効化手段は、すべてのキー装着部に前記マスタキーまたは前記スペアキーが装着されるまで、前記補助記憶装置が認識されないようにすることを特徴とする請求項１〜３に記載のデータ保護装置。
【請求項５】
前記配列変更手段は、前記暗号化手段が一度に暗号化するデータのサイズに基づいて、前記ブロックのサイズを決定することを特徴とする請求項１〜４のいずれかに記載のデータ保護装置。
【請求項６】
前記補助記憶装置はハードディスクであり、前記配列変更手段は、前記ハードディスクに記憶させるデータを前記ハードディスクの１セクタの大きさのブロックに分割して、これら複数のブロックを適当な記憶領域に割り当てることを特徴とする請求項１〜５のいずれかに記載のデータ保護装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ハードディスク等の補助記憶装置の記憶内容を保護するデータ保護装置に関する。
【０００２】
【従来の技術】
パーソナルコンピュータ（以下、パソコンという。）等の補助記憶装置のデータには、貴重な財産的価値があるため、これを適切に保護することが従来から重要視されている。特に、インターネットが普及している今日においては、インターネットを経由して補助記憶装置に不正アクセスされることがあることから、これを効果的に防止するためのファイアウォール等の機器が幅広く開発されている。
【０００３】
ところが、インターネットを経由する補助記憶装置への不正アクセスに加えて、実際にパソコンが置かれている場所に物理的に侵入して補助記憶装置内の貴重なデータを盗みとるいった犯罪も少なくないため、物理的侵入をも想定したセキュリティ対策を行う必要がある。また、パソコンに対する侵入を防止する手段が万全であったとしても、パソコンを下取りに出す場合に補助記憶装置の物理フォーマットを怠ってしまう等の人為的なミスで、補助記憶装置の内容が漏洩することもある。
【０００４】
このため、パソコンに対する侵入を防止する対策を講じるだけでなく、これに加えて、万一、パソコンへの侵入を許してしまった場合や、パソコンごと他の者の手に渡ってしまった場合にも、補助記憶装置の内容が読み取られないようにすることも重要といえる。
【０００５】
そこで、従来技術の中には、ハードディスク（補助記憶装置）とパソコンとの間にデータの転送を制御するためのセキュリティボード（データ保護装置）を配置して、パソコンからのデータを当該セキュリティボードにおいて暗号化した上でハードディスクに記憶するとともに、当該セキュリティボードにマスタキーを装着している場合にのみ補助記憶装置に記憶したデータを復号しながら読み出すことを可能にして、正当な権限のある者のみが補助記憶装置内のデータにアクセスできるようにしてデータの保護を図るものがあった（例えば、非特許文献１参照。）。
【０００６】
【非特許文献１】
“ＨＤＤへの書き込みデータを暗号化してキーでロックできるＰＣＩカード”、［ｏｎｌｉｎｅ］、［平成１４年８月１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｗａｔｃｈ．ｉｍｐｒｅｓｓ．ｃｏ．ｊｐ／ａｋｉｂａ／ｈｏｔｌｉｎｅ／２００２０６２９／ｅｔｃ＿ｓｅ６４．ｈｔｍｌ＞
【発明が解決しようとする課題】
しかしながら、従来のデータ保護装置では、補助記憶装置に記憶されるデータの先頭から順番に暗号化するとともに、暗号化の順序で当該データが補助記憶装置に記憶されているため、暗号化される前のデータ（以下、平文という。）を推測して、この平文と暗号文との差分を解析することによって暗号文の解読がされる虞があった。
【０００７】
例えば、ハードディスクのマスターブードレコードに記憶されているデータは、当該ハードディスクの記憶状態等から比較的容易に推測できるため、マスターブードレコードの平文とマスターブードレコードの暗号文との差分解析から暗号が解読されることがあった。
【０００８】
さらに、従来のデータ保護装置では、マスタキー等を用いたエンティティ認証を行い、補助記憶装置へのアクセスの可否のみについて判断することは可能であるが、マスタキーの所持者以外の者に必要な範囲内においてアクセス権を設定した上で補助記憶装置へのアクセスを認める等、円滑なアクセス制御を行うことはできなかった。
【０００９】
この発明の目的は、補助記憶装置に記憶されるデータの暗号強度の向上を図り、必要に応じて補助記憶装置に対する円滑なアクセス制御を簡易な構成で実現するデータ保護装置を提供することである。
【００１０】
【課題を解決するための手段】
この発明は以下の構成を備えている。
【００１１】
（１）マスタキーがキー装着部に装着されていないときは、補助記憶装置が認識されないようにする認識無効化手段と、
補助記憶装置に記憶させるデータを前記マスタキーに付与された暗号化情報に基づいて暗号化する暗号化手段と、
前記暗号化手段により暗号化されたデータを複数のブロックに分割し、前記ブロックの配列を前記暗号化情報に基づいて変更する配列変更手段と、
前記キー装着部に前記マスタキーが装着されているときは、入力された読出要求に係るデータについて、前記配列変更手段によって変更された前記配列を元に戻すとともに前記暗号化手段によって暗号化されたデータを復号化する処理を行うデータ還元手段と、を備えてなることを特徴とする。
【００１２】
この構成においては、ハードディスク等の補助記憶装置に記憶させるデータが暗号化手段によって暗号化された後に、配列変更手段によって複数のブロックに分割されるとともに、各ブロックの並び方が変更された後に補助記憶装置に記憶される。
【００１３】
したがって、平文と暗号化されたデータ（以下、暗号文という。）の対応関係が把握されて、これらの差分から暗号アルゴリズムや暗号キー等が把握されて暗号が容易に解読されることが防止される。
【００１４】
また、認識無効化手段によって、マスタキーがキー装着部に装着されていないときは、前記補助記憶装置がホスト装置から認識されないため、マスタキーを用いたエンティティ認証が実現され、第三者に補助記憶装置の記憶内容が漏洩することが防止される。
【００１５】
さらに、データ還元手段によって、前記キー装着部に前記マスタキーが装着されているときは、前記配列変更手段によって配列の変更がされた暗号文が確実に平文に戻されることから、正規のユーザによる復号化が適正に行われるようにしつつ、不正な者がたとえ補助記憶装置ごと盗み出した場合でも当該補助記憶装置の記憶内容が漏洩することが防止される。
【００１６】
（２）前記マスタキーには、単一または複数のスペアキーがあり、前記スペアキー毎に前記補助記憶装置に記憶されているデータに対するアクセス権を設定する権限設定手段を備えたことを特徴とする。
【００１７】
この構成においては、マスタキーの他にデータ保護装置を動作させて補助記憶装置のデータにアクセスするためのスペアキーがあり、各スペアキーは、権限設定手段によって個別にアクセス権が設定されている。
【００１８】
したがって、補助記憶装置の記憶内容についての最高責任者等にマスタキーを付与するとともに、この補助記憶装置の記憶内容にアクセスする他の者には、個々に当該記憶内容に関する運用上で必要になる最低限のアクセス権が設定されたスペアキーを付与することにより、当該補助記憶装置についてのアクセス制御が円滑に行われる。
【００１９】
（３）前記補助記憶装置の記憶領域は複数に分割されており、前記権限設定手段は、前記補助記憶装置の記憶領域毎に実行可能な処理内容を設定することを特徴とする。
【００２０】
この構成においては、補助記憶装置の記憶領域を複数に分割して、マスタキーにはすべての記憶領域にアクセスする権限を付与するとともに、各スペアキーには、当該スペアキーの所持者がアクセスすべき記憶領域にのみアクセス可能になるように権限を付与している。
【００２１】
したがって、スペアキーの所持者に必要以上に権限が与えられることがないため、作業の効率化等のために多量にスペアキーを生成して多数の者に当該補助記憶装置に対するアクセスを認めている場合でも、セキュリティレベルの低下が防止される。
【００２２】
（４）前記キー装着部は複数形成されており、前記認識無効化手段は、すべてのキー装着部に前記マスタキーまたは前記スペアキーが装着されるまで、前記補助記憶装置が認識されないようにすることを特徴とする。
【００２３】
この構成においては、単一のマスタキーまたはスペアキーのみでは補助記憶装置が動作せず、複数形成されているキー装着部のすべてにマスタキーまたはスペアキーが装着された場合にのみ当該補助記憶装置が動作する。
【００２４】
したがって、補助記憶装置を管理する複数の者の合意によらないと補助記憶装置が動作しないため、当該補助記憶装置に極秘情報等を記憶させておけば、複数の管理者による相互牽制の作用によって、当該極秘情報等の機密性が適正に保持される。
【００２５】
（５）前記配列変更手段は、前記暗号化手段が一度に暗号化するデータのサイズに基づいて、前記ブロックのサイズを決定することを特徴とする。
【００２６】
この構成においては、例えば、共通暗号鍵方式のＤＥＳによって暗号化する場合、６４ビットずつ暗号化されることを考慮して各ブロックのサイズが６４ビットに設定されたり、６４ビットの倍数である１２８ビットまたは２５６ビットに設定される等、用いる暗号方式に応じて各ブロックのサイズが決定される。
【００２７】
したがって、同時に暗号化されるデータは、必ず同一のブロックに属するため、暗号化されたデータが迅速に各ブロックに配分され、前記配列変更手段による前記ブロックの配列の変更の便宜が図られる。
【００２８】
（６）前記補助記憶装置はハードディスクであり、前記配列変更手段は、前記ハードディスクに記憶させるデータを前記ハードディスクの１セクタの大きさのブロックに分割して、これら複数のブロックを適当な記憶領域に割り当てることを特徴とする。
【００２９】
この構成においては、前記暗号化手段によって暗号化されたデータは、前記配列変更手段によってハードディスクの中の適当なセクタが設定され、当該セクタに記憶されることにより、１セクタのサイズに相当するブロックの配列が適正に変更される。
【００３０】
したがって、暗号が解読されることがないように各ブロックの配列を変更しつつも、データを読み出すときには、前記配列変更手段によって設定されたセクタ毎に読み出すことが可能になるため、暗号化されたデータの読出処理が迅速に行われる。
【００３１】
【発明の実施の形態】
以下、図を用いて本発明のデータ保護装置の実施形態を説明する。
【００３２】
図１は、本発明のデータ保護装置が適用されるパソコンの正面図である。データ管理装置１は、パソコン２０とハードディスクとの間に配置されて、パソコン２０とハードディスクとの間で転送されるデータの暗号化および復号化を行うものであり、本実施形態では、パソコン２０の筐体の３．５インチベイに取り付けられ、パソコン２０およびハードディスクのそれぞれとＩＤＥインタフェースを介して接続されている。
【００３３】
図２は、データ保護装置１の構成を示している。本実施形態では、データ保護装置１の主要部分は、通常のＲＡＩＤコントローラの構成を利用している。同図に示すように、データ保護装置１は、ホストＩＤＥコネクタ２、ハードディスク用ＩＤＥコネクタ３、パワーコネクタ４、キー装着部５（５ａ〜５ｃ）、操作ボタン６、表示パネル７、およびプロセス部１０を備えている。
【００３４】
ホストＩＤＥコネクタ２は、ＩＤＥケーブルを介してパソコン２０のＩＤＥコネクタに接続される。ハードディスク用ＩＤＥコネクタ３は、ＩＤＥケーブルを介して、５インチベイ内のハードディスクに接続される。なお、本実施形態では、ハードディスク用ＩＤＥコネクタ３は２つ設けられているが、ハードディスク用ＩＤＥコネクタ３の数は必要に応じて増減させることが可能である。
【００３５】
パワーコネクタ４は、パソコン２０の電源ユニットから延び出しているパワーケーブルに接続される。キー装着部５（５ａ〜５ｃ）は、マスタキーまたはスペアキーが装着される。ここで、マスタキーは、データ保護装置１と対になって作成される固有のものであり、スペアキーはこのマスタキーを用いて作成されるものであるが、その詳細については後述する。プロセス部１０は、複数のプロッセッサやチップセットを備えており、データ保護装置１の中枢となるものである。
【００３６】
図３は、データ保護装置１のプロセス部１０の構成を示している。同図に示すように、プロセス部１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、キー検出部１４、暗号／復号部１５、および権限管理部１６を備えている。
【００３７】
ＲＯＭ１２には、ＣＰＵ１１を動作させるためのファームウェアが格納されている。このファームウェアは、ハードディスクに転送するデータを所定のサイズ毎に分割して分割された複数のデータをハードディスクの適当な記憶領域に記憶させる、通常、ＲＡＩＤシステムで用いられるプログラムが含まれている。
【００３８】
ＲＡＭ１３は、暗号化、復号化、データの分割および配列の変更の便宜のために一時的にデータを格納することができる。キー検出部１４は、キー装着部５に装着されているキーを検出する。ＣＰＵ１１からの指令に基づいて、キー検出部１４は、装着されているキーに記録されている情報を読み取って、ＲＡＭ１３に記憶させる。権限管理部１６は、ＥＥＰＲＯＭを備えており、後述するスペアキー毎に設定されるアクセス権を管理する。
【００３９】
そして、暗号／復号部１５は、ハードディスクに記憶させるデータの暗号化を行う。なお、本実施形態では、暗号／復号部１５は共通鍵暗号方式のＤＥＳによってハードディスクに記憶されるデータの暗号化、およびパソコン２０に読み出されるデータの復号化をしている。
【００４０】
図４は、暗号／復号部１５によって行われる暗号化の処理手順の一例を示すフローチャートである。ここで、共通鍵暗号方式のＤＥＳでは、６４ビットを１単位として暗号化が行われ、暗号文が作成されるため、暗号／復号部１５は、まず、ハードディスクに記憶されるデータを６４ビット毎のブロックに分割する（ｓ１）。
【００４１】
そして、暗号／復号部１５は、キー装着部５に装着されているマスタキーに記されている５６ビットの共通鍵の情報を読み込む（ｓ２）。暗号化および復号化に使用される共通鍵の情報を取得すると、暗号／復号部１５は、この共通鍵に基づいて１６種類のラウンドキーを作成する（ｓ３）。ここで、ラウンドキーとはＤＥＳに含まれる１６ラウンドの暗号化処理の各ラウンドに用いられるキーをいう。なお、各ラウンドでは、上述の６４ビットのデータに対してローテート処理、ＸＯＲ処理、転置処理、およびＳボックス処理がそれぞれ行われる。
【００４２】
次に、１６ラウンド分のラウンドキーがすべて作成されると、暗号／復号部１５は、上述のブロック化されたデータについて初期転置を行う（ｓ５）。次に、暗号／復号部１５は、ラウンドキーを用いてローテート、ＸＯＲ演算、転置、およびＳボックスからなる各ラウンドの処理を実行する（ｓ６）。
【００４３】
各ラウンドが終了する度に暗号／復号部１５は、全１６ラウンドが完了したか否かを判断し（ｓ７）、すべてのラウンドが完了している場合には、６４ビットデータのうちの前半３２ビットと後半の３２ビットとを置換するとともに（ｓ８）、所定の最終転置処理を行い（ｓ９）、暗号化処理を終了させる。
【００４４】
以上の処理により、６４ビットのデータの暗号化が行われるが、この暗号文を復号化して平文にする場合には、上述とは逆の手順で処理を行うことができる。
【００４５】
ここで、共通鍵暗号方式は、暗号化と復号化に同じ鍵が使用されるところ、マスタキーをキー装着部５に装着していない状態では、ハードディスクに記憶されているデータの復号化に必要な共通鍵の情報が得られないため、ハードディスクのみ盗み出された場合でも、当該ハードディスクの記憶内容が漏洩することを防止できる。
【００４６】
さらに、本発明では、暗号／復号部１５によって暗号化が行われると、この暗号文を記憶すべきハードディスクの記憶領域が、マスタキーの暗号情報に基づくアルゴリズムで設定され、当該暗号文は、設定された記憶領域に記憶される。記憶領域の設定、すなわちアドレス変換は、ＲＯＭ１２に格納されたファームウェアによって行われる。なお、ここでは、このアドレス変換が本発明の配列変更を構成する。
【００４７】
図５は、アドレス変換の一例を示している。暗号／復号部１５によって暗号化された６４ビットの暗号文はハードディスクに記憶されるが、このとき、ＲＯＭ１１のファームウェアは、１メガバイト（ハードディスクの２０４８セクタ分のサイズ）を１単位として、マスタキーに記されているアドレス変換情報を参照しながらアドレス変換を行う。パソコン２０からのコマンドはその指定アドレスによって、アドレス加算又は減算によるアドレス変換（論理アドレスから物理アドレスへの変換）が行われる。この結果、同図の右側のハードディスク（物理ＨＤＤ）のように実際上、１メガバイト単位のデータが、その配列が変更されてハードディスクに格納される。
【００４８】
一方で、配列変換された暗号文を読み出す場合において、マスタキーをキー装着部５に装着しているときには、データ保護装置１は、マスタキーから暗号化に使用した共通鍵の情報および配列変換のアルゴリズムを抽出して、配列が変更されていない論理上のブロックの配列と実際に配列が変更されたブロックとの対応関係を把握し、読み出しを行うべき領域から暗号文を読み出すとともに、暗号化されているデータを順次復号化することで、平文としてパソコン２０に供給することができる。
【００４９】
このように、ハードディスクに記憶するデータを暗号化した後に、ブロック化して各ブロックの配列を変更することにより、ハードディスクのセクタ０のマスターブートレコードの内容（平文）と、暗号化されたセクタ０の内容（暗号文）を比較しても暗号アルゴリズムや暗号化に用いた鍵が推測することができないため、暗号の強度を向上させることが可能になる。
【００５０】
また、図６は、上述のブロックの配列変更のバリエーションの一つを示している。同図が示すように、ここでは、暗号文は、先頭セクタアドレス＋αのアドレスから順次記憶されていき、当該暗号文の末尾が先頭セクタアドレス＋α−１のアドレスに記憶されている。このため、セクタ０にマスターブートレコードの暗号文が記憶されることを防止することができ、差分解析により暗号が容易に解読されることを防止することができる。また、各ブロックの配列の変更に複雑なアルゴリズムを使用することがないため、迅速に暗号化および復号化の処理を行うことが可能になる。
【００５１】
次にデータ保護装置１におけるスペアキーを用いたアクセス制御の方法を説明する。上述のように、データ管理装置１は、キー装着部５にマスタキーを装着することでパソコン２０にデータ管理装置１に接続されているハードディスクを認識させることや、このハードディスクに暗号化されて記憶されているデータを復号化することができる。
【００５２】
ところが、例えば、マスタキーをパソコン２０の管理をする責任者に与えた場合、この責任者以外にもパソコン２０のハードディスクにアクセスする必要がある者が存在する場合がある。その一方で、責任者以外の者に、当該ハードディスクへのアクセスに関するすべての権限を与えたのではセキュリティ上の問題を生じる場合がある。
【００５３】
そこで、データ管理装置１では、マスタキーの所有者が任意にスペアキーを作成できるようにしており、かつ、作成したスペアキーのそれぞれに当該ハードディスクに対するアクセス権を設定できるようにしている。
【００５４】
原則としてスペアキーは、すべて同一の形状をしているが、各スペアキーごとに固有のシリアル番号が付与されている。このため、データ管理装置１に使用可能なスペアキーを作成するにあたっては、スペアキーに付与されているシリアル番号がデータ保護装置１において使用可能なシリアル番号であることを登録する必要があり、さらに、登録したシリアル番号についてアクセス権を設定することが必要となる。
【００５５】
データ管理装置１では、スペアキーのアクセス権の設定が、パソコン２０の責任者またはその承認を受けた者によって行われる必要があるため、マスタキーをキー装着部５に装着した状態でのみスペアキーのアクセス権の設定が行われるようにしている。
【００５６】
図７は、権限管理部１６によるスペアキーのアクセス権の設定の処理手順を示すフローチャートである。まず、権限管理部１６は、権限設定コマンドの入力の有無を検出している（ｓ１１）。ここでは、パソコン２０が動作中にキー装着部５にスペアキーが装着されたことを、権限設定コマンドの入力とみなしている。なお、この権限設定コマンドを、データ管理装置１の前面側の操作ボタン６を介して行ったり、パソコン２０のユーティリティを介して行うようにしてもよい。
【００５７】
そして、ｓ１１の工程で権限設定コマンドの入力が検出されると、権限管理部１６は、キー検出部１４にマスタキーがキー装着部５に装着されているか否かを判断させる（ｓ１２）。ここで、キー装着部５にマスタキーが装着されていない場合には、スペアキーに対するアクセス権を設定を認めるのは妥当でないため、権限管理部１６は、権限設定処理を行わない。
【００５８】
ｓ１２の判断工程において、キー装着部５にマスタキーが装着されている場合には、権限管理部１６は、正当な管理者による権限設定コマンドであるとみなして、権限設定処理を開始するが、まず最初に、権限管理部１６は各スペアキーに固有のシリアル番号を読み込む（ｓ１３）。
【００５９】
次に、権限管理部１６は、このスペアキーに付与されるアクセス権の設定が入力されるまで待機する（ｓ１４）。ここでは、このアクセス権の設定の入力は、データ保護装置１の表示パネル７を参照しながら操作ボタン６によって行う。なお、操作ボタン６を介してアクセス権の設定の入力をするのではなく、例えば、パソコン２０のユーティリティを利用してアクセス権の設定の入力をするようにしてもよい。
【００６０】
ｓ１４の工程で、スペアキーに付与されるアクセス権の設定が入力されると、権限管理部１６は、入力されたアクセス権の設定内容を受け付けて（ｓ１５）、当該スペアキーのシリアル番号と入力されたアクセス権とを登録する（ｓ１６）。このとき、同時にマスタキーの暗号化情報がスペアキーに備えられたＩＣメモリに複写される。
【００６１】
図８は、権限設定処理によって設定されるスペアキーのアクセス権の一例を示す図である。同図に示すようにデータ保護装置１は、ハードディスクを複数のパーティション（本実施形態では４つ。）に区分けして管理しているが、ここで、データ保護装置１は以下の方法によって複数パーティションの管理をしている。
【００６２】
まず、データ保護装置１では、ハードディスクを論理的にマスタドライブとスレーブドライブとに分割することができる。また、例えば、物理的に１つのハードディスクに複数の論理領域を作成することが可能であり、データ保護装置１では、ハードディスクのパーティションテーブルを解析して、パーティション毎の開始アドレス、終了アドレスを算出している。
【００６３】
図８に示すように、本実施形態ではデータ保護装置１は、論理的に分割された４つのパーティション毎にリード・ライト許可、リードのみ許可、不可視属性に設定することができる。同図において、マスタキーはすべてのパーティションにおいて、リード・ライトが共に許可されている。また、スペアキー１は、パーティション１〜３についてリード・ライトが共に許可されているが、パーティション４にはアクセスすることができない。さらに、スペアキー２は、パーティション３に対するリードのみが許可されており、その他の処理は一切行うことはできない。
【００６４】
この場合、例えば、スペアキー２を派遣社員等に持たせることで、パソコン２０のハードディスクの記憶内容の機密性を保ちつつ、当該派遣社員が業務上必要になる最低限の権限を付与することができる等、円滑なアクセス権の設定が可能になる。
【００６５】
上述のように、マスタキーの所持者は、原則として、パソコン２０のハードディスクへのアクセスに関してすべての権限を取得すべきであるが、例えば極秘レベルのデータに対しては、マスタキーの所持者といえど単独ではアクセスできないように設定することが便宜上好ましいことがある。
【００６６】
そこで、データ保護装置１では、キー装着部５のすべてにキーが装着されない限り、ハードディスクに作成した極秘レベルのデータを記憶している特別のパーティションにはアクセスできないようにすることもできる。なお、この特別のパーティションに記憶されるデータは極秘レベルのデータに限らず、例えば、複数人が共有するデータであって、全員の合意によって当該データの編集を行う等の取り決めをしているデータ等であってもよい。なお、キー装着部５のすべてにキーが装着されない限りハードディスク自体がパソコン２０に認識されないようにしてハードディスク全体を保護するようにすることもできる。
【００６７】
次に、データ保護装置１の動作について、パソコン２０の起動から順をおって説明する。図９は、認識無効化手段の動作手順を示すフローチャートである。同図に示すように、ＣＰＵ１１は、データ保護装置１の電源がオンされると（ｓ２１）、パソコン２０からのＡＴＡ＿Ｉｄｅｎｔｉｆｙコマンドを受けつける（ｓ２２）。
【００６８】
そして、ＣＰＵ１１は、キー装着部５にマスタキーまたはスペアキーのいずれかが装着されているか否かをキー検出部１４に検出させる（ｓ２３）。このとき、キー検出部１４がマスタキーまたはスペアキーのいずれのキーも検出しない場合には、ＣＰＵ１１は、ＡＴＡ＿Ｉｄｅｎｔｉｆｙに応答することがないため、パソコン２０側では、データ保護装置１およびデータ保護装置１を介して接続されているハードディスクを認識することができない。
【００６９】
これに対して、キー検出部１４がマスタキーまたはスペアキーのいずれかのキーを検出した場合には、ＣＰＵ１１は、ＡＴＡ＿Ｉｄｅｎｔｉｆｙに応答して、パソコン２０に対して、形式、記憶容量等の属性情報を供給する。このため、パソコン２０は、データ保護装置１を介して接続されているハードディスクを認識することができるようになる。なお、ハードディスクに上述の極秘レベルのデータ等を格納している場合には、キー装着部５のすべてにキーが装着されない限り、ＣＰＵ１１がＡＴＡ＿Ｉｄｅｎｔｉｆｙに応答しないように設定できるようにしてもよい。
【００７０】
パソコン２０によってハードディスクが適正に認識された後は、マスタキーまたはスペアキーに記憶されている暗号化情報を用いて、パソコン２０とハードディスクとの間で通信されるデータの暗号化、配列変換、配列還元、および復号化を行いつつ、データの書込および読出等の処理を行うことができる。
【００７１】
なお、上述の実施形態では、共通暗号鍵方式のＤＥＳを採用しているが、さらに暗号強度を求める場合には、ＡＥＳ等の暗号方式を利用するようにしてもよい。また、ブロックをハードディスク２セクタ分のサイズにしており、セクタごとアドレス変換しているが、ブロックのサイズを例えば、一度に暗号化されるデータのサイズに基づいて決めるようにして、同一セクタ内でデータの順序を変更しつつ記憶させるようにしてもよい。
【００７２】
具体的には、１セクタが５１２バイトである場合、６４ビット（８バイト）の暗号文が６４個分だけ１セクタに格納されるところ、同一のセクタ内において６４個の暗号文の配列を所定のアルゴリズムで変換えることによっても暗号文と平文との差分を解析されることがなく、暗号強度を向上させることができる。
【００７３】
【発明の効果】
以上のように、この発明によれば、以下の効果を奏することができる。
【００７４】
（１）ハードディスク等の補助記憶装置に記憶させるデータを暗号化手段によって暗号化した後に、配列変更手段によって複数のブロックに分割するとともに、各ブロックの並び方を変更してから補助記憶装置に記憶することにより、平文と暗号文の対応関係が把握されて、これらの差分から暗号アルゴリズムや暗号キー等が把握されて暗号が容易に解読されることを防止することができる。
【００７５】
また、認識無効化手段によって、マスタキーがキー装着部に装着されていないときは、前記補助記憶装置をホスト装置に認識させないため、マスタキーを用いたエンティティ認証を実現することができ、第三者に補助記憶装置の記憶内容が漏洩することを防止することができる。
【００７６】
さらに、データ還元手段によって、前記キー装着部に前記マスタキーが装着されているときは、前記配列変更手段によって配列の変更がされた暗号文が確実に平文に戻されることから、正規のユーザによる復号化が適正に行われるようにしつつ、不正な者がたとえ補助記憶装置ごと盗み出した場合でも当該補助記憶装置の記憶内容が漏洩することを防止することができる。
【００７７】
（２）マスタキーの他にデータ保護装置を動作させて補助記憶装置のデータにアクセスするためのスペアキーがあり、各スペアキーは、権限設定手段によって個別にアクセス権を設定することができることにより、補助記憶装置の記憶内容についての最高責任者にマスタキーを付与するとともに、この補助記憶装置の記憶内容にアクセスする他の者には、個々に当該記憶内容に関する運用上で必要になる最低限のアクセス権が設定されたスペアキーを付与することにより、当該補助記憶装置に関するアクセス制御を円滑に行うことができる。
【００７８】
（３）補助記憶装置の記憶領域を複数に分割して、マスタキーにはすべての記憶領域にアクセスする権限を付与するとともに、各スペアキーには、当該スペアキーの所持者がアクセスすべき記憶領域にのみアクセス可能になるように権限を付与していることにより、スペアキーの所持者に必要以上に権限が与えられることがないため、作業の効率化等のために多量にスペアキーを生成して多数の者に当該補助記憶装置に対するアクセスを認めている場合でも、セキュリティレベルの低下を防止することができる。
【００７９】
（４）単一のマスタキーまたはスペアキーのみでは補助記憶装置を動作させることができず、複数形成されているキー装着部のすべてにマスタキーまたはスペアキーを装着した場合にのみ当該補助記憶装置を動作させることができることにより、補助記憶装置を管理する複数の者の合意によらないと補助記憶装置を動作させることができないため、当該補助記憶装置に極秘情報等を記憶させておけば、複数の管理者による相互牽制の作用によって、当該極秘情報等の機密性を適正に保持することができる。
【００８０】
（５）例えば、共通暗号鍵方式のＤＥＳによって暗号化する場合、６４ビットずつ暗号化されることを考慮して各ブロックのサイズを６４ビットに設定したり、６４ビットの倍数である１２８ビットまたは２５６ビットに設定する等、用いる暗号方式に応じて各ブロックのサイズを決定することにより、同時に暗号化するデータを、必ず同一のブロックに格納できるため、暗号化されたデータを迅速に各ブロックに配分し、前記配列変更手段による前記ブロックの配列の変更についての便宜を図ることができる。
【００８１】
（６）前記暗号化手段によって暗号化されたデータは、前記配列変更手段によってハードディスクの中の適当なセクタが設定され、当該セクタに記憶されることにより、１セクタのサイズに相当するブロックの配列を適正に変更することができることにより、暗号が解読されることがないように各ブロックの配列を変更しつつも、データを読み出すときには、前記配列変更手段によって設定されたセクタ毎に読み出すことが可能になるため、暗号化されたデータの読出処理を迅速に行うことができる。
【００８２】
よって、補助記憶装置に記憶されるデータの暗号強度の向上を図り、必要に応じて補助記憶装置に対する円滑なアクセス制御を簡易な構成で実現するデータ保護装置を提供することができる。
【図面の簡単な説明】
【図１】本発明のデータ保護装置の使用状態を示す図である。
【図２】本発明のデータ保護装置の構成を示す図である。
【図３】データ保護装置のプロセス部の構成を示している。
【図４】データ保護装置の暗号化の処理手順の一例を示すフローチャートである。
【図５】データ保護装置の配列変換の一例を示す図である。
【図６】配列変換の他の一例を示す図である。
【図７】権限設定部によるスペアキーのアクセス権の設定の処理手順を示すフローチャートである。
【図８】権限設定処理によって設定されるスペアキーのアクセス権の一例を示す図である。
【図９】認識無効化手段の動作手順を示すフローチャートである。
【符号の説明】
１−データ保護装置
２−ホストＩＤＥコネクタ
３−ハードディスク用ＩＤＥコネクタ
４−パワーコネクタ
５（５ａ〜５ｃ）−キー装着部
６−操作ボタン
７−表示パネル
１０−プロセス部
２０−パソコン
【図１】
2004126745.tif 000003
【図２】
2004126745.tif 000004
【図３】
2004126745.tif 000005
【図４】
2004126745.tif 000006
【図５】
2004126745.tif 000007
【図６】
2004126745.tif 000008
【図７】
2004126745.tif 000009
【図８】
2004126745.tif 000010
【図９】
2004126745.tif 000011