(57)【特許請求の範囲】
【請求項１】
外部記憶装置と接続されたデータ暗号化装置であって、
入力されたデータを変換する変換手段と、
前記変換されたデータを暗号化し、暗号化されたデータを前記外部記憶装置に出力する暗号化手段を有し、
前記変換手段は、予め定められた第１のデータが入力された場合は前記第１のデータを前記暗号化手段の暗号化アルゴリズムで復号した第２データに変換し、前記第２のデータが入力された場合は前記第１のデータに変換し、前記第１のデータと前記第２のデータと異なる第３のデータが入力された場合は変換せずに、前記暗号化手段に出力することを特徴にしたデータ暗号化装置。
【請求項２】
外部記憶装置と接続されたデータ暗号化装置であって、
入力されたデータを暗号化する暗号化手段と、
前記暗号化されたデータを変換し、変換されたデータを前記外部記憶装置に出力する変換手段とを有し、
前記変換手段は、予め定められた第１のデータが入力された場合は前記第１のデータを前記暗号化手段の暗号化アルゴリズムで暗号化した第２データに変換し、前記第２のデータが入力された場合は前記第１のデータに変換し、前記第１のデータと前記第２のデータと異なる第３のデータが入力された場合は変換せずに、前記外部記憶装置に出力することを特徴にしたデータ暗号化装置。
【請求項３】
外部記憶装置と接続されたデータ暗号化装置であって、
テーブル情報を記憶する記憶手段と、
入力されたデータが前記テーブル情報に含まれている場合は、前記入力されたデータを変換する変換手段と、
前記変換されたデータを暗号化し、暗号化されたデータを前記外部記憶装置に出力する暗号化手段を有し、
前記テーブル情報は、少なくとも、予め定められた第１のデータと、前記第１のデータを前記暗号化手段の暗号化アルゴリズムで復号した第２データを含み、
前記変換手段は、前記第１のデータが入力された場合は前記第２データに変換し、前記第２のデータが入力された場合は前記第１のデータに変換し、入力されたデータが前記テーブル情報に含まれていない場合は、入力されたデータを変換せずに前記暗号化手段に出力することを特徴にしたデータ暗号化装置。
【請求項４】
外部記憶装置と接続されたデータ暗号化装置であって、
テーブル情報を記憶する記憶手段と、
入力されたデータを暗号化する暗号化手段と、
前記暗号化されたデータが前記テーブル情報に含まれている場合は、前記入力されたデータを変換する変換手段を有し、
前記テーブル情報は、少なくとも、予め定められた第１のデータと、前記第１のデータを前記暗号化手段の暗号化アルゴリズムで暗号化した第２データを含み、
前記変換手段は、前記第１のデータが入力された場合は前記第２データに変換し、前記第２のデータが入力された場合は前記第１のデータに変換し、前記暗号化されたデータが前記テーブル情報に含まれていない場合は前記暗号化されたデータを変換せずに、前記外部記憶装置に出力することを特徴にしたデータ暗号化装置。
【請求項５】
前記第１のデータは、前記外部記憶装置に記憶されているデータを無効化するデータであることを特徴とする請求項１及至４のいずれか１項に記載のデータ暗号化装置。
【請求項６】
前記第１のデータ、あるいは、前記第２のデータかが入力されたかを判定する判定手段をさらに有することを特徴とする請求項１乃至５のいずれか１項に記載のデータ暗号化装置。
【請求項７】
外部記憶装置と接続されたデータ暗号化装置の制御方法であって、
判定手段が、入力されたデータが、メモリに記憶されたテーブル情報に含まれるかを判定する判定ステップと、
変換手段が、入力されたデータが前記テーブル情報に含まれている場合は、前記入力されたデータを変換する変換ステップと、
暗号化手段が、前記変換されたデータを暗号化し、暗号化されたデータを前記外部記憶装置に出力する暗号化ステップを有し、
前記テーブル情報は、少なくとも、予め定められた第１のデータと、前記第１のデータを前記暗号化における暗号化アルゴリズムで復号した第２データを含み、
前記変換ステップは、前記第１のデータが入力された場合は前記第２データに変換し、
前記第２のデータが入力された場合は前記第１のデータに変換し、入力されたデータが前記テーブル情報に含まれていない場合は変換しないことを特徴にしたデータ暗号化装置の制御方法。
【請求項８】
外部記憶装置と接続されたデータ暗号化装置の制御方法であって、
暗号化手段が、入力されたデータを暗号化する暗号化ステップと、
判定手段が、暗号化されたデータが、メモリに記憶されたテーブル情報に含まれるかを判定する判定ステップと、
変換手段が、前記暗号化されたデータが前記テーブル情報に含まれている場合は、前記暗号化されたデータを変換し、変換されたデータを前記外部記憶装置に出力する変換ステップとを有し、
前記テーブル情報は、少なくとも、予め定められた第１のデータと、前記第１のデータを前記暗号化における暗号化アルゴリズムで暗号化した第２データを含み、
前記変換ステップは、前記第１のデータが入力された場合は前記第２データに変換し、前記第２のデータが入力された場合は前記第１のデータに変換し、暗号化されたデータが前記テーブル情報に含まれていない場合は変換せずに、前記外部記憶装置に出力することを特徴にしたデータ暗号化装置の制御方法。
【請求項９】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１及至６のいずれか１項に記載のデータ暗号化装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化する技術に関する。
【背景技術】
【０００２】
従来、重要な情報を電子データとして記憶装置に保存するために、その重要なデータを所定の暗号アルゴリズムで暗号化してから記憶する技術が知られている。
【０００３】
また、記憶装置を廃棄する場合などに、記憶装置に記憶された重要なデータを読み出せなくするために、予め定められたデータ（例えば全てがゼロのデータ列）で上書き記憶する技術も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２２６６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、入力されるデータは全て重要なデータであるとみなし、上記重要なデータについては確実に暗号化してから記憶装置に記憶することを考える。その場合、装置に入力された重要なデータは、記憶される前に必ず暗号化処理部を経由するシステムを構築することが望ましい。
【０００６】
しかしながら、上記システムにおいて、もし予め定められたデータ（以下、固定データと呼ぶ）で上書き記憶をしようとすると、固定データも暗号化されてから記憶装置に記憶されるため、「固定データで上書き記憶する」という目的を達成できない。さらに単純な方式として、固定データの場合だけ暗号化処理部をバイパスするシステムが考えられる。しかしこの場合は、暗号化処理部で暗号化することによって得られるデータが、固定データと同じものが生成される可能性があり、固定データで上書きしたものか、暗号化することによって得られたものかが区別できなくなってしまう。そのため、暗号化処理部で暗号化することによって固定データと同じものが得られるデータは、正しく復号することができない。
【０００７】
本発明は上記点に鑑みて成されたものであり、暗号化処理部を経由しながら、予め定められたデータでの上書きを可能にし、かつ、暗号化することによって予め定められたデータと同じデータが得られるデータを正しく復号可能とするデータ暗号化技術を提供する。
【課題を解決するための手段】
【０００８】
本発明は、上記実情を鑑みてなされたものであり、外部記憶装置と接続されたデータ暗号化装置の制御方法であって、入力されたデータが、メモリに記憶されたテーブル情報に含まれるかを判定する判定ステップと、入力されたデータが前記テーブル情報に含まれている場合は、前記入力されたデータを変換する変換ステップと、前記変換されたデータを暗号化し、暗号化されたデータを前記外部記憶装置に出力する暗号化ステップを有し、前記テーブル情報は、少なくとも、予め定められた第１のデータと、前記第１のデータを前記暗号化における暗号化アルゴリズムで復号した第２データを含み、前記変換ステップは、前記第１のデータが入力された場合は前記第２データに変換し、前記第２のデータが入力された場合は前記第１のデータに変換し、入力されたデータが前記テーブル情報に含まれていない場合は変換しないことを特徴にする。
【発明の効果】
【０００９】
本発明によれば、暗号化処理部を経由しながら、予め定められたデータでの上書きを可能にし、かつ、暗号化することによって予め定められたデータと同じデータが得られるデータを正しく復号可能となる。よって、上記暗号化技術を用いて記憶装置にデータを記憶した場合には、データの暗号化を確実に行えるとともに、予め定められたデータによる上書き消去が可能になる。
【図面の簡単な説明】
【００１０】
【図１】データ暗号化装置のシステムの一例を示す図
【図２】制御処理の一例を示すフローチャート
【図３】テーブル情報の一例を示す図
【図４】データをＨＤＤへの読み書きの場合のデータフローを示す図
【図５】変換・暗号化処理及び逆変換・復号処理のデータフローを示す図
【図６】第１の実施例における変換・暗号化処理及び逆変換・復号処理を示すフローチャート
【図７】第２の実施例における変換・暗号化処理及び逆変換・復号処理を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１２】
［第１の実施形態］
図１（Ａ）は、本実施形態に適用されるシステムを示した図である。ここでは、コンピュータシステム１０１と、データ処理装置の１つであるデータ暗号化装置１０２と、外部記憶装置の１つであるＨＤＤ（ハードディスクドライブ）１０３により構成されるシステムを説明する。
【００１３】
コンピュータシステム１０１は、バンキングシステム、ＤＴＰ（ＤｅｓｋＴｏｐ  Ｐｕｂｌｉｓｈｉｎｇ）システム、またはＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の装置であり、その内部にＨＤＤコントローラ１０４を備える。
【００１４】
データ暗号化装置１０２は、コンピュータシステム１０１とＨＤＤ１０３の両方と接続しており、それら２つの中間位置に存在している。データ暗号化装置１０２は、このＨＤＤコントローラ１０４との間でデータを送受信する。同じく、データ暗号化装置１０２は、ＨＤＤ１０３との間でデータを送受信する。このデータ暗号化装置１０２は、コンピュータシステム１０１（ＨＤＤコントローラ１０４）から受信したデータを暗号化して、ＨＤＤ１０３に出力する。また、ＨＤＤ１０３から読み出した暗号化データを、暗号復号してコンピュータシステム１０１（ＨＤＤコントローラ１０４）に出力する。コンピュータシステム１０１（ＨＤＤコントローラ１０４）とＨＤＤ１０３が直接データを送受信することはなく、上記２つがデータを送受信する際には、必ずデータ暗号化装置１０２を経由する。なお、データ暗号化装置１０２は、コンピュータシステム１０１およびＨＤＤ１０３と、汎用インタフェース１０５／１０６（例えば、ＡＴＡバスインタフェース）を介して接続されている。
【００１５】
ＨＤＤ１０３は、受信したデータを記憶する外部記憶装置であって、ＨＤＤ以外に、ＣＤ−Ｒ／ＣＤ−ＲＷ／ＤＶＤ−Ｒ／ＤＶＤ−ＲＷのような書き換え可能な磁気ディスクであっても構わない。図１においては、外部記憶装置の一例として、ＨＤＤ１０３を記載した。
【００１６】
［データ暗号化装置］
データ暗号化装置１０２の内部構成について説明する。
【００１７】
ＣＰＵ１０７は、データ暗号化装置１０２の全体の動作を制御する。メモリ１０８は、ＣＰＵ１０７が実行する制御プログラム、および各種のデータを格納する。また、このメモリ１０８は、データの暗号化で必要な鍵情報などのデータを格納することができる不揮発性メモリとして機能する。なお、メモリ１０８は鍵情報という機密性が要求される情報を保持するため、不正アクセスに対抗できる耐タンパー性を有するメモリが望ましい。ＲＡＭ１０９は、ＣＰＵ１０７がメモリから読み出した制御プログラム等を実行するためのワークメモリとして用いられる。ＡＴＡバスセレクタ（ＡＴＡ  Ｂｕｓ  Ｓｅｌｅｃｔｏｒ）１１０は、ＨＤＤコントローラ１０４とＨＤＤ１０３とを接続するためのインタフェースである。デバイスＩ／Ｆ（Ｄｅｖｉｃｅ  Ｉ／Ｆ）１１１は、ＡＴＡバスセレクタ１１０を介してＨＤＤコントローラ１０４とアドレス・データバスを接続するためのインタフェースである。ホストＩ／Ｆ（Ｈｏｓｔ  Ｉ／Ｆ）１１２は、ＡＴＡバスセレクタ１１０を介してＨＤＤ１０３とアドレス・データバスを接続するためのインタフェースである。アドレス・データバス１１３は、データ暗号化装置１０２の各ブロックを接続して  ＣＰＵ１０７により各ブロックの制御を可能にする。
【００１８】
ＨＤＤコントローラ１０４は、ＨＤＤ１０３を制御するための制御コマンドを発行し、ここで発行された制御コマンドは、デバイスＩ／Ｆ１１１で一旦受信される。ＣＰＵ１０７の制御の下で、実行可能であると判断されたコマンドについては、ホストＩ／Ｆ１１２から再発行され、ＨＤＤ１０３へ送られる。コンピュータシステム１０１から受信したデータをＨＤＤ１０３へ格納する際には、この受信したデータをメモリ１０８に格納されたプログラムをＣＰＵ１０７で実行することによって変換・暗号化処理し、変換されたデータをＨＤＤ１０３へ転送する。またＨＤＤ１０３から変換データを読み出してコンピュータシステム１０１に送信する際には、メモリ１０８に格納されたプログラムをＣＰＵ１０７で実行することによって変換データを逆変換・復号処理して、コンピュータシステム１０１へ転送する。変換・暗号化処理、及び、逆変換・復号処理については後述する。
【００１９】
図１（Ａ）は、変換・逆変換処理、及び、暗号化・復号処理をメモリ１０８に格納されたプログラムをＣＰＵ１０７で実行するというソフトウェア的な構成を示した。しかし、変換・逆変換処理、及び、暗号化・復号処理は処理負荷が大きい。このため、図１（Ｂ）に示すように、変換・逆変換部１１４と暗号化・復号処理部１１５を設けてハードウェア的な構成も可能である。
【００２０】
［データ暗号化装置の動作］
図２を参照して、本実施の形態におけるデータ暗号化装置の動作を説明する。図２は、本実施の形態における制御処理の一例を示すフローチャートである。なお、このフローチャートの処理は、ＣＰＵ１０７がメモリ１０８に格納されるプログラムを実行することにより実現される。図１（Ｂ）の構成の場合は、ＣＰＵ１０７がメモリ１０８に格納されるプログラムと変換・逆変換部１１４により実現される。なお、図中、Ｓ２０１〜Ｓ２１１は各ステップを示す。
【００２１】
まず、ステップＳ２０１において、ＣＰＵ１０７は、データ暗号化装置１０２のメモリ１０８内に保持されているシード情報の有無を検査することによって、データ暗号化装置１０２が初期状態であるか否かを判断する。「初期状態」とは、後述する鍵生成機能で鍵情報を生成するときに利用する鍵のシード情報がメモリ１０８に保持されていて鍵情報を生成可能な状態である場合に対応する。また、「初期状態でない」とは、シード情報をメモリ１０８に保持しておらず鍵情報を生成不可能な状態である場合に対応する。なお、シード情報は、データ暗号化装置１０２に固有の情報であり、データ暗号化装置１０２以外の装置からは知ることができない情報である。ＣＰＵ１０７は、シード情報がメモリ１０８に保持されていない、つまり「初期状態である」と判定した場合には、ステップＳ２０２に処理を進める。ステップＳ２０２で、ＣＰＵ１０７は、シード情報を新たに生成し、メモリ１０８内に格納する。一方、ステップＳ２０１で、ＣＰＵ１０７が、メモリ１０８内にシード情報がある、つまり「初期状態でない」と判定した場合、そのままステップＳ２０３に処理を進める。
【００２２】
次に、ステップＳ２０３で、ＣＰＵ１０７は、コンピュータシステム１０１から固有情報を受信する。
【００２３】
そして、ステップＳ２０４で、ＣＰＵ１０７は固有情報とシード情報から鍵情報を生成し、鍵情報と固定データからテーブル情報を生成する。鍵情報およびテーブル情報の生成方法については後述する。なお、鍵情報として鍵情報検証情報をセットで管理している場合、生成した鍵情報の正当性を検証することが可能である。鍵情報の正当性を検証できなかった場合、ＣＰＵ１０７は鍵情報を保持していないと判断することも可能であり、コンピュータシステム１０１とＨＤＤ１０３間の情報の送受信を遮断するように制御してもよい。固定データは、ステップＳ２０３で、コンピュータシステム１０１から受信してもよいし、データ暗号化装置１０２であらかじめ定めた固定データとしてもよい。固定データは、ＨＤＤ１０３に記憶されたデータを無効化するデータである。
【００２４】
ステップＳ２０５で、ＣＰＵ１０７は制御機能により、コンピュータシステム１０１から送信された情報を受信し、受信した情報がコマンド等の制御情報であるか、またはデータであるかを判断する。そして、コンピュータシステム１０１から送信された情報のデータに対して、ステップＳ２０６に処理を移行して該データを変換・暗号化処理する。コンピュータシステム１０１から送信された情報の制御情報に対してはそのままステップＳ２０７へ移行する。
【００２５】
次にステップＳ２０７へ移行して、制御情報および変換データをＨＤＤ１０３へ書き込む。
【００２６】
ステップＳ２０８で、ＣＰＵ１０７は制御機能により、ＨＤＤ１０３から情報（応答情報）を受信し、受信した情報が、応答等の制御情報であるか、またはデータであるかを判断する。そして、情報のデータに対して、ステップＳ２０９に処理を移行して該データを逆変換・復号処理する。情報の制御情報に対してはそのままステップＳ２１０へ移行する。
【００２７】
次にステップＳ２１０へ移行して、制御情報および逆変換データをコンピュータシステム１０１へ送信する。
【００２８】
Ｓ２１１で、コンピュータシステム１０１からさらなる情報の送信があるかを判断し、送信がある場合はＳ２０５へ戻る。送信がない場合は終了する。
【００２９】
なお、ステップＳ２０４に示した鍵情報およびテーブル情報の生成方法、ステップＳ２０５およびＳ２０８に示した情報のデータ・制御情報の判断方法、およびステップＳ２０６の変換処理、およびＳ２０９に示した逆変換処理の詳細についても後述する。
【００３０】
［鍵情報およびテーブル情報の生成方法］
次に、図２のステップＳ２０４に示した、鍵情報およびテーブル情報の生成方法に関して詳細に説明する。
【００３１】
ここでは、「暗号化・復号処理」と「変換・逆変換処理」で用いる情報を、それぞれ生成する方法を示す。暗号化・復号処理を実施するときに用いられる鍵情報を生成する機能（鍵生成機能）と、変換処理を実施するときに用いるテーブル情報を生成する機能（テーブル生成機能）からなる。
【００３２】
まず、暗号化・復号処理に用いる鍵情報を生成する鍵生成機能について説明する。
【００３３】
ここで、暗号化・復号処理で用いる鍵情報は、第三者に漏洩するとＨＤＤ１０３内の暗号化されたデータの復号が可能となってしまう情報である。従って、鍵情報は、データ暗号化装置１０２以外には漏洩しないようにする必要がある。そこで、データ暗号化装置１０２は、自装置内で鍵情報を生成する鍵生成機能を有している。かつ、データ暗号化装置１０２は鍵への外部からの不正アクセスを防止できる耐タンパー性を有することが望ましい。
【００３４】
鍵生成機能を実現するために、データ暗号化装置１０２は、コンピュータシステム１０１からコンピュータシステム１０１の固有情報（以下、固有情報）を受信する。固有情報は個々のコンピュータシステムに固有の情報であって、シリアル番号、ＬＡＮ  Ｉ／Ｆを持つコンピュータシステムにおけるＭＡＣアドレス、またはそれらの情報を組み合わせた情報など、さまざまな情報を利用することが可能である。
【００３５】
鍵生成機能は、コンピュータシステム１０１から受信した固有情報とメモリ１０８に保持しているシード情報から鍵情報を生成する。なお、シード情報の生成方法は、鍵情報の生成方法と暗号化アルゴリズムに依存する。乱数を暗号化アルゴリズムにおける鍵情報として利用できる場合は、シード情報も乱数または擬似乱数として生成することも可能である。一方、特定の条件を満たす情報を暗号化アルゴリズムにおける鍵情報として利用しなければならない場合は、例えば、鍵情報を生成し、生成した鍵情報とシード情報から「鍵情報＝ｆ（シード情報，固有情報）」を満たすシード情報を求める必要がある。
【００３６】
ここで、固有情報とシード情報から鍵情報を生成する方法としては種々の方法を用いることができるが、例えば以下の方法が考えられる。
（１）固有情報とシード情報の排他的論理和を鍵情報とする方法。
（２）一方向性ハッシュ関数に固有情報とシード情報を入力し、出力された情報を鍵情報とする方法。
（３）固有情報を暗号化関数の鍵とし、シード情報を暗号化処理し、出力された情報を鍵情報とする方法。
（４）シード情報を暗号化関数の鍵とし、固有情報を暗号化処理し、出力された情報を鍵情報とする方法。
（５）ＤＨ（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵共有方式（ＲＦＣ２６３１）に基づいて鍵情報を共有する方法。
【００３７】
ただし、データ暗号化装置１０２だけが鍵情報を保持できればよいので、例えば、シード情報をデータ暗号化装置１０２のＤＨ鍵共有方式の秘密鍵とし、固有情報をデータ暗号化装置１０２の公開鍵とコンピュータシステム１０１の固有の情報から得られる情報とする。上記の各方法は、固有情報とシード情報から鍵情報を生成する一例であって、本実施の形態における鍵情報の生成方法は、２入力の関数ｆ「鍵情報＝ｆ（シード情報，固有情報）」であればどのような関数でもよい。また、鍵情報と鍵情報検証情報とをセットで鍵情報として管理することで、鍵情報の正当性を検証することも可能である。なお、鍵情報検証情報は、一例として、鍵情報のハッシュ値が考えられる。
【００３８】
次に、変換処理に用いるテーブル情報を生成するテーブル生成機能について説明する。
【００３９】
変換処理は、所定の固定データが暗号化・復号処理されても、最終的には所定の固定データが出力されることを実現するための処理である。
【００４０】
図３（Ａ）はテーブル情報の例である。テーブル情報は、変換処理する前に入力される「変換前データ」と変換して出力される「変換後データ」から構成される。
【００４１】
変換前データは「固定データ」と「固定データを復号処理行ったデータ（以下、復号固定データと示す）」で構成される。復号固定データは「固定データ＝Ｅｎｃ（復号固定データ）」を満たし、固定データを復号すること（復号固定データ＝Ｄｅｃ（固定データ））で生成できる。なお、Ｄｅｃ（）は暗号化・復号処理の復号処理を、Ｅｎｃ（）は暗号化・復号処理の暗号化を意味し、この暗号化・復号処理は、本実施形態の暗号化・復号処理と同じアルゴリズム及び鍵情報を用いる。ここで、データ”００００…００”は固定データを、データ”ｅｄ７４…９７”は復号固定データを示す。データ”ｅｄ７４…９７”を暗号化すると、”００００…００”が得られる。
【００４２】
変換前データが「固定データ」に対応する変換後データは、「復号固定データ」とし、変換前データが「復号固定データ」に対応する変換後データは、「固定データ」とする。
【００４３】
尚、固定データは、上書き消去等で要求されているオールゼロまたはオールイチのデータであったり、ビットイチとビットゼロが交互に現れるオール“０ｘ５５”やオール“０ｘＡＡ”であったりする。しかしこれらに限定されるものではない。
【００４４】
図３（Ｂ）は、図３（Ａ）のテーブル情報のデータ量を削減したテーブル情報の一例である。図３（Ａ）は、「固定データ」に対応する変換後データは「復号固定データ」であり、「復号固定データ」に対応する変換後データは「固定データ」である。図３（Ｂ）のテーブル情報は、「固定データ」と「復号固定データ」の値だけを持ち、変換処理で、「固定データ」が入力された場合は「復号固定データ」を出力し、「復号固定データ」が入力された場合は「固定データ」を出力するようにする。これによって、メモリ１０８内に記憶しておくデータ量を少なくすることができる。
【００４５】
次に、固定データが複数ある場合の例を示す。
【００４６】
図３（Ｃ）は、固定データが２つある場合のテーブル情報である。具体的には、固定データが、オールゼロとオールイチであり、それぞれ、固定データを復号した復号固定データが、データ”ｅｄ７４…９７”と、データ”３７５３…４６”となる場合の例である。高度な機密性を求めるシステムでは、固定データと固定データの補数（例えばすべてがゼロのデータの補数は全てがイチのデータである）を用いて、２回以上上書きすることが求められる。上記のように２つの固定データを持つことで、このようなシステムに対応できる。
【００４７】
図３（Ｄ）は、図３（Ｃ）テーブル情報のデータ量を削減したテーブル情報の一例である。テーブル情報は、２つの「固定データ」、それに対応する「復号固定データ」の値だけを持つ。そして、変換処理で、「固定データ」が入力された場合は、その固定データに対応する「復号固定データ」を出力し、「復号固定データ」が入力された場合は、その復号固定データに対応する「固定データ」を出力するようにする。
【００４８】
更に、固定データ長は、ＨＤＤのクラスタ（アロケーションユニット、またはアロケーションブロックとも呼ばれる）長とすることが望ましい。クラスタはファイルに割り当て可能な最小の単位であり、ファイルシステムを初期化するときにクラスサイズが決定される。たとえば、汎用ＯＳにおいてファイルフォーマットコマンドの引数でサイズを決定できる。
【００４９】
一方で、暗号化・復号処理（詳細は後述する）がＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）など共通鍵暗号方式である。ＥＣＢ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｄｅ  Ｂｏｏｋ）モードのように単独ブロックで処理が完結する場合も考えられる。この場合は、固定データ長を共通鍵暗号方式のブロック長とすることもできる。
【００５０】
固定データのデータ長は、上書き処理回数との組み合わせによりさまざまな長さが想定できるが、前述のように、ＨＤＤのファイルシステムや暗号化・復号処理に応じて、適宜決定することができる。
【００５１】
［データ・制御情報の判断方法］
次に、図２のステップＳ２０５およびＳ２０８に示したデータ・制御情報の判断方法に関して、図４（Ａ）および図４（Ｂ）のデータのフローを例示して詳細に説明する。
【００５２】
図４（Ａ）は、コンピュータシステム１０１から送信されるデータをＨＤＤ１０３に書き込む場合のデータフローを示す図である。図４（Ａ）に示すように、ＣＰＵ１０７は、コンピュータシステム１０１から実行可能な「コマンド」と「データ」からなる情報を受け取る。「コマンド」はＨＤＤ１０３へのデータの書き込み命令に相当する制御情報であり、「データ」はＨＤＤ１０３に書き込まれるデータである。ＣＰＵ１０７は「データ」を変換処理する。そして、「コマンド」と変換・暗号化処理によって得られた「変換データ」からなる情報をＨＤＤ１０３に送信する。
【００５３】
次に、ＣＰＵ１０７は、ＨＤＤ１０３から、変換データがＨＤＤ１０３に書き込まれたことに応じて送信される「応答」を受け取り、制御情報である「応答」をそのままコンピュータシステム１０１へ送信する。
【００５４】
図４（Ｂ）は、コンピュータシステム１０１が、データをＨＤＤ１０３から読み込む場合のデータフローを示す図である。ＣＰＵ１０７は、コンピュータシステム１０１から実行可能な「コマンド」を受け取る。「コマンド」はＨＤＤ１０３からのデータの読み込み命令に相当する制御情報である。ＣＰＵ１０７は、コンピュータシステム１０１から受信した「コマンド」をそのままＨＤＤに送信する。次に、ＣＰＵ１０７は、ＨＤＤ１０３から、変換データがＨＤＤ１０３から読み込まれたことに応じて送信される「応答」と「変換データ」を受け取る。更に、ＣＰＵ１０７は、ＨＤＤ１０３から読み込んだ「変換データ」を逆変換・復号処理する。そして、ＣＰＵ１０７は、「応答」と「データ」（逆変換・復号済）からなる情報をコンピュータシステム１０１へ送信する。
【００５５】
なお、図４（Ａ）および図４（Ｂ）に示したデータフローは一例である。複数のインタフェースに係る具体的なデータフローは、コンピュータシステムとデータ暗号化装置間のインタフェースの仕様、およびデータ暗号化装置とＨＤＤ間のインタフェース仕様に依存する。例えば、「データ」がなく、「コマンド」と「応答」だけのデータフローも考えられる。更に、コンピュータシステムとデータ暗号化装置間のインタフェースとデータ暗号化装置とＨＤＤ間のインタフェースが異なる場合も考えられる。この場合、ＣＰＵの制御機能は、データの暗号化・復号処理に加えて、インタフェース仕様の変換・逆変換処理を同時に行うことで実現可能である。なお、図４（Ａ）および図４（Ｂ）で示したとおり、データ暗号化装置において変換される情報は「データ」である。したがって、鍵情報を保持しない等、データ暗号化装置が初期状態の場合、ＣＰＵは、コンピュータシステムとＨＤＤ間の送受信を遮断する情報を「データ」に限定することも可能である。
【００５６】
［変換・暗号化処理および逆変換・復号処理の詳細］
本実施形態では、変換・暗号化の場合は、「変換処理」、「暗号化処理」の順で処理を行い、逆変換・復号の場合は、「復号処理」、「逆変換処理」の順で処理を行う。
【００５７】
図５（Ａ）は、図３（Ａ）あるいは図３（Ｂ）のテーブル情報を用いた変換・暗号化処理時におけるデータフローを示す。図５（Ａ）において、それぞれ、データ”００００…００”は固定データを、データ”ｅｄ７４…９７”は固定データを復号した復号固定データを、データ”ａｂ３８…ｅ１”はその他の入力データを表す。尚、データ”ｅｄ７４…９７”を暗号化すると、データ”００００…００”が得られるとする。
【００５８】
「変換・逆変換処理」は、前述の初期値生成機能で生成したテーブル情報に従った変換である。なお、テーブル情報に記載のないデータの変換は行わない。図５（Ａ）の場合は、データ”００００…００”は、データ”ｅｄ７４…９７”に変換され、データ”ｅｄ７４…９７”は、データ”００００…００”に変換されるが、データ”ａｂ３８…ｅ１”は変換されずに、出力される。
【００５９】
「暗号化・復号処理」は、例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）など共通鍵暗号方式、ＲＳＡなど公開鍵暗号方式、または共通鍵方式と公開鍵方式を組み合わせたハイブリッド方式などの、汎用的な暗号化処理である。図５（Ａ）の場合は、データ”ｅｄ７４…９７”は、暗号化されて、データ”００００…００”が出力され、データ”００００…００”は、暗号化されて、データ”７１７５…２１”が出力される。
【００６０】
従って、図５（Ａ）の例では、データ”００００…００”が入力された場合、「変換処理」、「暗号化処理」を行って、データ”００００…００”が出力され、結果として、暗号化処理を行っても、所定の固定データが出力される。
【００６１】
また、図５（Ａ）の例では、データ”ｅｄ７４…９７”が入力された場合、「変換処理」、「暗号化処理」を行って、データ”７１７５…２１”が出力される。つまり、データ”ｅｄ７４…９７”が暗号化された場合、固定データ”００００…００”が得られるが、変換処理を行うことで、暗号化処理を行っても、所定の固定データ以外のデータが出力される。また、データ”ｅｄ７４…９７”が入力された場合に、固定データを暗号化したデータ”７１７５…２１”が出力される。そのため、固定データ及び復号固定データ以外のデータ、および当該データを暗号化したデータへの影響をなくし、これらのデータはそのまま暗号化され出力されるという効果もある。
【００６２】
図５（Ｂ）は、図３（Ａ）あるいは図３（Ｂ）のテーブル情報を用いた逆変換・復号処理時におけるデータフローを示し、図５（Ａ）で変換されたデータを逆変換する場合を示す。図５（Ｂ）の例では、データ”００００…００”が入力された場合、「復号処理」、「逆変換処理」を行って、データ”００００…００”が出力され、結果として、復号処理を行っても、所定の固定データが出力される。
【００６３】
以下、図６（Ａ）および図６（Ｂ）を参照して、本実施の形態におけるデータ暗号化装置１０２の動作を説明する。
【００６４】
図６（Ａ）は、本実施の形態における変換・暗号化処理の一例を示すフローチャートであり、図６（Ｂ）は、本実施の形態における逆変換・復号処理の一例を示すフローチャートである。なお、図中、Ｓ６０１〜Ｓ６０３およびＳ６０４〜Ｓ６０６は各ステップを示す。
【００６５】
まず、図６（Ａ）を参照して、コンピュータシステム１０１からＨＤＤ１０３へ記憶される際にデータ暗号化装置１０２で行われる、変換・暗号化処理の動作を説明する。
【００６６】
ステップＳ６０１において、コンピュータシステム１０１からデータ暗号化装置１０２へ入力されたデータが、メモリ１０８に記憶されているテーブル情報における「変換前データ」に含まれているかを検索する。
【００６７】
ステップＳ６０１で入力されたデータがテーブル情報に含まれていない場合は、ステップＳ６０３に処理を進める。図５（Ａ）の例では、入力されたデータが、固定データでも復号固定データでもないデータ”ａｂ３８…ｅ１”であった場合は、ステップＳ６０３に処理を進める。
【００６８】
ステップＳ６０１で入力されたデータがテーブル情報に含まれていた場合は、ステップＳ６０２で変換処理を実行して入力データを変換し、ステップＳ６０３に処理を進める。図５（Ａ）の例では、入力されたデータが、データ”００００…００”であった場合は、データ”ｅｄ７４…９７”に変換されて出力される。入力されたデータが、データ”ｅｄ７４…９７”であった場合は、データ”００００…００”に変換されて出力される。
【００６９】
ステップＳ６０３で、前述の鍵情報に基づき、暗号化処理を行い、変換データを生成する。
【００７０】
なお、ステップＳ６０１とステップＳ６０２の処理を変換処理だけで実現することも可能である。先に示したテーブル情報に、その他のデータを「変換前データ」と「変換後データ」が同じデータとして加えることにより実現できる。
【００７１】
次に、図６（Ｂ）を参照して、ＨＤＤ１０３からコンピュータシステム１０１へ読み出される際にデータ暗号化装置１０２で行われる、逆変換・復号処理の動作を説明する。
【００７２】
ステップＳ６０４で、前述の初期値生成機能で生成した鍵情報に基づき、ＨＤＤ１０３から入力されたデータを復号し、ステップＳ６０５へ処理を進める。
【００７３】
ステップＳ６０５において、復号されたデータが、テーブル情報における「変換後データ」に含まれているかを検索する。ステップＳ６０５で復号されたデータがテーブル情報に含まれていない場合は、復号されたデータをコンピュータシステム１０１へ出力する。
【００７４】
ステップＳ６０５で復号されたデータがテーブル情報に含まれていた場合は、ステップＳ６０６で逆変換し、逆変換されたデータをコンピュータシステム１０１へ出力する。図５（Ｂ）の例では、復号されたデータが、データ”ｅｄ７４…９７”であった場合は、データ”００００…００”に変換されて出力される。復号されたデータが、データ”００００…００”であった場合は、データ”ｅｄ７４…９７”に変換されて出力される。
【００７５】
なお、変換処理同様、ステップＳ６０５とステップＳ６０６の処理を逆変換処理だけで実現することも可能である。先に示したテーブル情報に、その他のデータを「変換前データ」と「変換後データ」が同じデータとして加えることにより実現できる。
【００７６】
以上に説明したように、本実施の形態は、コンピュータシステム１０１とＨＤＤ１０３間を、インタフェースを介して接続するデータ暗号化装置１０２であって、ＣＰＵ１０７の制御によりＨＤＤ１０３に書き込むデータを暗号化するものである。本実施の形態では、この構成によって、ＨＤＤ１０３に記憶されるデータの機密性を保つことができる。
【００７７】
本実施形態では、「暗号化・復号処理」と「変換・逆変換処理」を組み合わせ、所定の固定データの場合に暗号化処理を打ち消す変換・逆変換処理をした後に暗号化処理する。これにより、上書き消去等で必要になる所定の固定データ（例えば、オールゼロやオールイチなどの、データを無効化するデータ）をＨＤＤへ書き込みことを実現できる。
【００７８】
本実施の形態では、テーブル情報を用いる例を示した。しかし、テーブル情報を用いないで、メモリ１０８に固定データと固定データを復号したデータとを記憶しておき、ステップＳ６０１とステップＳ６０５で、記憶されたこれらのデータであるかを判定するのでもよい。
【００７９】
また、鍵情報は、コンピュータシステム１０１の固有情報とデータ暗号化装置１０２に固有のシード情報から生成される。このため、コンピュータシステム１０１とデータ暗号化装置１０２の異なる組から正当な鍵情報を生成することができない。
【００８０】
なお、コンピュータシステム１０１の固有情報の受信前に、コンピュータシステム１０１とデータ暗号化装置１０２間で相互認証または一方向認証してもよい。認証方法として、「あらかじめ共有している秘密情報（パスワード）を相互で確認する方法」、「あらかじめ共有している秘密情報に基づき、チャレンジレスポンスの対話的に認証する方法」等を利用することが可能である。これらにより、データ暗号化装置１０２は、正当なコンピュータシステムの固有情報の受信を実現できる。
【００８１】
更に、データ暗号化装置１０２は、ＨＤＤコントローラ１０４とＨＤＤ１０３に対するこれらの通信、データの送受信を全て標準インタフェースを介して実行することが可能であり、追加の信号線を必要としない。即ち、コンピュータシステム１０１やＨＤＤ１０３である外部記憶装置の仕様を変更する必要がない。従って、ＨＤＤの記録データを高度に機密性を維持可能なデータ暗号化記憶システムを、既存のコンピュータシステムおよび外部記憶装置の仕様を変更することなく、低コストで構築することができる等の効果を奏する。
【００８２】
［第２の実施の形態］
第１の実施の形態では、変換・暗号化の場合は、「変換処理」、「暗号化処理」の順で処理を行い、逆変換・復号の場合は、「復号処理」、「逆変換処理」の順で処理を行っていた。第２の実施の形態では、変換・暗号化の場合は、「暗号化処理」、「変換処理」の順で処理を行い、逆変換・復号の場合は、「逆変換処理」、「復号処理」の順で処理を行う例である。第２の実施の形態は、変換・暗号化処理および逆変換・復号処理以外は第１の実施の形態と同様である。以下では、第１の実施の形態と異なる、「鍵情報およびテーブル情報の生成方法」と「変換・暗号化処理および逆変換・復号処理の詳細」についてそれぞれ説明する。
【００８３】
［鍵情報およびテーブル情報の生成方法］
「暗号化・復号処理」と「変換・逆変換処理」で用いる情報を、それぞれ生成する方法を示す。暗号化・復号処理を実施するときに用いられる鍵情報を生成する機能（鍵生成機能）と、変換・逆変換処理を実施するときに用いるテーブル情報を生成する機能（テーブル生成機能）からなる。
【００８４】
鍵生成機能は第１の実施の形態と同様なため、ここでは説明を省略する。以下にテーブル生成機能について説明する。
【００８５】
変換処理は、所定の固定データが暗号化処理されても、最終的には所定の固定データが出力されることを実現するための処理である。
【００８６】
図３（Ｅ）はテーブル情報の一例である。テーブル情報は、変換前データと変換後データから構成され、変換前データは「固定データ」および「暗号化固定データ」で構成される。暗号化固定データは「暗号化固定データ＝Ｅｎｃ（固定データ）」を満たす。なお、Ｅｎｃ（）は暗号化・復号処理の暗号化を意味し、この暗号化・復号処理は、本実施形態の暗号化・復号処理と同じアルゴリズム及び鍵情報を用いる。
【００８７】
固定データは、上書き消去等で要求されているオールゼロまたはオールイチのデータであるが、これらに限定するものではない。暗号化固定データは、前述の鍵生成機能で生成した鍵情報に基づき、固定データを暗号化すること（暗号化固定データ＝Ｅｎｃ（固定データ））で生成できる。
【００８８】
固定データに対応する変換後データは「暗号化固定データ」であり、暗号化固定データに対応する変換後データは「固定データ」である。
【００８９】
ここでは、データ”００００…００”を固定データとし、固定データを暗号化して得られたデータ”７１７５…２１”を暗号化固定データとする。
【００９０】
図３（Ｆ）は、変換前データと変換後データを分けずに、テーブル情報の容量を削減した例である。また、ここでは、固定データが１つある場合を示したが、第１の実施形態と同様、固定データが複数あってもよい。
【００９１】
［変換・暗号化処理および逆変換・復号処理の詳細］
図５（Ｃ）に変換・暗号化処理、図５（Ｄ）に逆変換・復号時におけるデータフローを示す。図５（Ｃ）において、それぞれ、データ”００００…００”は固定データを、データ”ｅｄ７４…９７”は復号固定データを、データ”７１７５…２１”は暗号化固定データを表す。データ”ａｂ３８…ｅ１”はその他の入力データを、データ”ｅａ２５…ｃ７”は暗号化されたその他の入力データを表す。復号固定データは「暗固定データ＝Ｅｎｃ（復号固定データ）」を、暗号化されたその他の入力データは「暗号化されたその他の入力データ＝Ｅｎｃ（入力データ）」を満たす。
【００９２】
「暗号化・復号処理」は、例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）など共通鍵暗号方式、ＲＳＡなど公開鍵暗号方式、または共通鍵方式と公開鍵方式を組み合わせたハイブリッド方式などの、汎用的な暗号化処理である。
【００９３】
「変換・逆変換処理」は、前述の初期値生成機能で生成したテーブル情報に従った変換である。なお、テーブル情報に記載のないデータの変換は行わない。
【００９４】
以下、図７（Ａ）および図７（Ｂ）を参照して、本実施の形態におけるデータ暗号化装置の動作を説明する。
図７（Ａ）は、本実施の形態における変換・暗号化処理の一例を示すフローチャートであり、図７（Ｂ）は、本実施の形態における逆変換・復号処理の一例を示すフローチャートである。なお、図中、Ｓ７０１〜Ｓ７０３およびＳ７０４〜Ｓ７０６は各ステップを示す。
【００９５】
まず、図７（Ａ）を参照して、変換・暗号化処理時の動作を説明する。
ステップＳ７０１で、前述の初期値生成機能で生成した鍵情報に基づき、コンピュータシステム１０１からデータ暗号化装置１０２へ入力された入力データを暗号化し、ステップＳ７０２へ処理を進める。
【００９６】
ステップＳ７０２において、暗号化されたデータが、図３（Ｅ）のテーブル情報における「変換前データ」に含まれているかを検索する。
【００９７】
ステップＳ７０２で暗号化されたデータがテーブル情報に含まれていない場合は、暗号化されたデータをそのまま変換後のデータとしてＨＤＤ１０３へ出力する。
【００９８】
ステップＳ７０２で暗号化されたデータがテーブル情報に含まれていた場合は、Ｓ７０３で暗号化されたデータを変換し、変換されたデータを、変換後のデータとしてＨＤＤ１０３へ出力する。図５（Ｃ）では、暗号化されたデータが、データ”００００…００”であった場合は、データ”７１７５…２１”に変換されて出力され、暗号化されたデータが、データ”７１７５…２１”であった場合は、データ”００００…００”に変換されて出力される。
【００９９】
なお、ステップＳ７０２とステップＳ７０３の処理を変換処理だけで実現することも可能である。先に示したテーブル情報に、その他のデータを「変換前データ」と「変換後データ」が同じデータとして加えることにより実現できる。
【０１００】
次に、図７（Ｂ）を参照して、逆変換・復号処理の動作を説明する。
ステップＳ７０４において、ＨＤＤ１０３からデータ暗号化装置１０２へ入力されたデータが、図３（Ｅ）のテーブル情報における「変換後データ」に含まれているかを検索する。
【０１０１】
ステップＳ７０４でデータがテーブル情報に含まれていない場合は、ステップＳ７０６に処理を進める。
【０１０２】
ステップＳ７０４でデータがテーブル情報に含まれていた場合は、ステップＳ７０５で逆変換処理を実行して入力データを逆変換し、ステップＳ７０６に処理を進める。図５（Ｄ）では、入力されたデータが、データ”７１７５…２１”であった場合は、データ”００００…００”に変換されて出力され、入力されたデータが、データ”００００…００”であった場合は、データ”７１７５…２１”に変換されて出力される。
【０１０３】
ステップＳ７０６で、前述の初期値生成機能で生成した鍵情報に基づき、復号処理を行い、変換後のデータとしてコンピュータシステム１０１へ出力する。
【０１０４】
なお、ステップＳ７０４とステップＳ７０５の処理を逆変換処理だけで実現することも可能である。先に示したテーブル情報に、その他のデータを「変換前データ」と「変換後データ」が同じデータとして加えることにより実現できる。
【０１０５】
以上に説明したように、本実施の形態は、コンピュータシステムとＨＤＤ間をインタフェースを介して接続するデータ暗号化装置であって、ＣＰＵの制御により暗号・復号部でＨＤＤに書き込むデータを暗号化等変換するものである。本実施の形態では、この構成によって、ＨＤＤに記憶されるデータの機密性を保つことができる。
【０１０６】
本実施形態では、「暗号化・復号処理」と「変換・逆変換処理」を組み合わせ、所定の固定データの場合に暗号化処理をした後に暗号化処理を打ち消す変換処理する。これにより、上書き消去等で必要になる所定の固定データ（例えば、オールゼロやオールイチ）をＨＤＤへ書き込みことを実現できる。
【０１０７】
本実施の形態では、テーブル情報を用いる例を示した。しかし、テーブル情報を用いず、メモリ１０８に、固定データと固定データを暗号化したデータとを記憶しておき、ステップＳ７０２とステップＳ７０４で、記憶されたこれらのデータであるかを判定するのでもよい。
【０１０８】
以上、一実施の形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。特に、コンピュータシステムとデータ暗号化装置が一つの機器からなる装置であってもよい。
【０１０９】
また、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１１】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１１２】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１１３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやＦＴＰサーバ等も本発明の請求項に含まれるものである。
【０１１５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する。更に、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。更に、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１１７】
更に、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１１８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１９】
本発明は上記実施の形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施の形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１２０】
本発明の様々な例と実施の形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０１２１】
なお、上述した実施の形態の各変形例を組み合わせた構成も全て本発明に含まれるものである。
【０１２２】
以上示したように、本実施の形態によれば、記憶装置と記憶装置を制御するコンピュータシステムの間に接続され、記憶装置と制御装置との間で転送されるデータのセキュリティを適切に保つ効果を奏する。かつ、不要になった外部記憶装置のデータを適切に消去できる等の効果を奏する。
【図１】
0005539024.tif 000002
【図２】
0005539024.tif 000003
【図３】
0005539024.tif 000004
【図４】
0005539024.tif 000005
【図５】
0005539024.tif 000006
【図６】
0005539024.tif 000007
【図７】
0005539024.tif 000008