(57)【特許請求の範囲】
【請求項１】
情報処理装置と第１のインターフェースを介して接続し、周辺装置と第２のインターフェースを介して接続するデータ処理装置であって、
前記データ処理装置の動作モードとして、前記周辺装置から受信したデータを処理して前記情報処理装置へ転送する通常モードと、前記周辺装置から受信したデータを前記第１のインターフェースを介して転送することを禁止する遮断モードとで動作可能に制御する制御手段と、
前記第１のインターフェースを介した前記情報処理装置との接続状態を判断する判断手段と、を有し、
前記制御手段は、前記通常モードにおいて前記判断手段が前記第１のインターフェースを介して前記情報処理装置と接続していないと判断したことに基づいて、前記データ処理装置の動作モードを前記通常モードから前記遮断モードへ切り替え、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と異なる装置と接続した場合に前記遮断モードを継続し、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と接続した場合に前記遮断モードから前記通常モードへ切り替えることを特徴とするデータ処理装置。
【請求項２】
更に、前記第１のインターフェースを介して接続した情報処理装置を認証するための処理を実行する認証手段を有し、
前記制御手段は前記認証手段による前記情報処理装置の認証が正常に行われたことに基づいて前記遮断モードから前記通常モードへ切り替え、
前記判断手段が前記第１のインターフェースを介して前記情報処理装置と接続していないと判断したことに基づいて、前記認証手段は前記情報処理装置を認証していない状態にすることを特徴とする、請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置は前記周辺装置から前記第２のインターフェースを介して暗号化されたデータを受信し、前記制御手段は、前記通常モードにおいて前記周辺装置から受信した暗号化データを復号化し、当該復号化したデータを前記情報処理装置へ転送することを特徴とする、請求項１または２に記載のデータ処理装置。
【請求項４】
前記判断手段は、前記第１のインターフェースを介した前記データ処理装置と前記情報処理装置との間のデータ転送が所定時間の間に発生しなかったことに基づいて前記第１のインターフェースを介して前記情報処理装置と接続していないと判断することを特徴とする、請求項１乃至３のいずれか１項に記載のデータ処理装置。
【請求項５】
更に、前記第１のインターフェースを介した前記データ処理装置と前記情報処理装置との物理的な接続が断たれたか否かを検知する検知手段を備え、
前記判断手段は前記検知手段の検知結果に基づいて前記第１のインターフェースを介した前記情報処理装置との接続状態を判断することを特徴とする、請求項１乃至３のいずれか１項に記載のデータ処理装置。
【請求項６】
更に、前記認証手段が認証すべき情報処理装置に固有の情報である固有情報を記憶する固有情報記憶手段を備え、
前記認証手段は、前記固有情報記憶手段に記憶された固有情報を用いて前記第１のインターフェースを介して接続した情報処理装置を認証するための処理を実行し、当該情報処理装置が前記固有情報に対応しない場合、当該情報処理装置を認証しないことを特徴とする、請求項２に記載のデータ処理装置。
【請求項７】
前記認証手段が前記情報処理装置を認証しない場合、前記制御手段は前記遮断モードから前記通常モードへ切り替えることを制限することを特徴とする、請求項６に記載のデータ処理装置。
【請求項８】
前記判断手段が前記第１のインターフェースを介して情報処理装置と接続していない状態から接続している状態に切り替わったと判断したことに基づいて、前記認証手段は前記第１のインターフェースを介して接続した情報処理装置を認証するための処理を実行することを特徴とする、請求項２に記載のデータ処理装置。
【請求項９】
前記第１のインターフェースは、活線挿抜に対応したインターフェースであることを特徴とする、請求項１乃至８のいずれか１項に記載のデータ処理装置。
【請求項１０】
前記第１のインターフェースは、シリアルＡＴＡであることを特徴とする、請求項９に記載のデータ処理装置。
【請求項１１】
前記情報処理装置は複合機であり、前記周辺装置は記憶装置であり、前記データ処理装置は前記複合機から転送された画像データを暗号化して前記記憶装置へ記憶させ、前記記憶装置に記憶された暗号化された画像データを復号化して前記複合機へ転送するよう動作可能であることを特徴とする、請求項１に記載のデータ処理装置。
【請求項１２】
情報処理装置と第１のインターフェースを介して接続し、周辺装置と第２のインターフェースを介して接続するデータ処理装置の制御方法であって、
前記データ処理装置の動作モードとして、前記周辺装置から受信したデータを処理して前記情報処理装置へ転送する通常モードと、前記周辺装置から受信したデータを前記第１のインターフェースを介して転送することを禁止する遮断モードとで動作可能に制御する制御工程と、
前記第１のインターフェースを介した前記情報処理装置との接続状態を判断する判断工程と、を有し、
前記制御工程は、前記通常モード中に、前記判断工程において前記第１のインターフェースを介して前記情報処理装置と接続していないと判断されたことに基づいて、前記データ処理装置の動作モードを前記通常モードから前記遮断モードへ切り替え、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と異なる装置と接続した場合に前記遮断モードを継続し、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と接続した場合に前記遮断モードから前記通常モードへ切り替えることを特徴とするデータ処理装置の制御方法。
【請求項１３】
情報処理装置と第１のインターフェースを介して接続し、周辺装置と第２のインターフェースを介して接続するデータ処理装置の制御方法を前記データ処理装置が実行するための制御プログラムであって、前記制御方法は、
前記データ処理装置の動作モードとして、前記周辺装置から受信したデータを処理して前記情報処理装置へ転送する通常モードと、前記周辺装置から受信したデータを前記第１のインターフェースを介して転送することを禁止する遮断モードとで動作可能に制御する制御工程と、
前記第１のインターフェースを介した前記情報処理装置との接続状態を判断する判断工程と、を備え、
前記制御工程は、前記通常モード中に、前記判断工程において前記第１のインターフェースを介して前記情報処理装置と接続していないと判断されたことに基づいて、前記データ処理装置の動作モードを前記通常モードから前記遮断モードへ切り替え、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と異なる装置と接続した場合に前記遮断モードを継続し、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と接続した場合に前記遮断モードから前記通常モードへ切り替えることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに外部で接続されるデータ処理装置に関し、特にデータの機密性を維持することを目的としたデータ処理装置に関する。
【背景技術】
【０００２】
コンピュータシステムには、インターフェース（ＩＤＥ、ＳＣＳＩ、ＵＳＢ、ＩＥＥＥ１３９４等）で外部に接続される様々な周辺装置ハードディスクドライブ（ＨＤＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等）が存在する。
【０００３】
このような周辺装置の中には機能上、特定のコンピュータシステムとの間でのみ、データの通信による制御を求められるものがある。
【０００４】
このような周辺装置では、既に周辺装置内に格納された機密情報や著作権データを、他のコンピュータシステムで読み出されないように、コンピュータシステムと周辺装置との間で相互に認証処理を行うことで対応している。その場合、認証処理が完了した場合のみ周辺装置とのデータアクセスを可能にしている。
【０００５】
例えば、特許文献１では、セキュリティ機能付きＵＳＢ機器を備えたコンピュータシステムに関し、コンピュータシステムとＵＳＢ機器との間で認証処理を行い、認証処理が完了した場合のみ、ＵＳＢ機器の使用を可能にしている。それにより、悪意を持ったユーザが、他のコンピュータシステムにＵＳＢ機器を接続し不正な使用を行うことを防止している。
【０００６】
また、一方、ＨＤＤなどの周辺装置に記憶するデータを暗号化する暗号化装置も知られている。
【特許文献１】特開２００３−１８６８１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、コンピュータシステムと周辺デバイスとのインターフェースが活線挿抜（ホットスワップ）に対応したインターフェースである場合、コンピュータシステムを通電したままで接続ケーブルの挿抜が可能になる。活線挿抜に対応したインターフェースとしては、例えば、ＵＳＢ、ＩＥＥＥ１３９４、シリアルＡＴＡ（ＳＡＴＡ）がある。そのため、認証処理後、コンピュータシステムと周辺デバイスが通電した状態でケーブルが抜き取られ、そのケーブルが他のコンピュータシステムに接続された場合には、再度認証処理が行わることなく他のコンピュータシステムによるデータアクセスが可能となってしまう。従って、他のコンピュータによって周辺デバイスを不正に利用されてしまう虞がある。
【０００８】
図１７は活線挿抜に対応したインターフェースのつなぎ替えの一例を示す図である。コンピュータシステム１０１と外部記憶装置１０３（例えばＨＤＤ）の間にデータ暗号化装置１０２を介在させることによって、コンピュータシステム１０１が外部記憶装置１０３に対して読み書きするデータに対してデータ暗号化装置１０２が復号化、暗号化を行う。インターフェース１０４がコンピュータシステム１０１とデータ暗号化装置１０２とを接続している状態から、他のコンピュータシステム１６０１とデータ暗号化装置１０２とを接続するようにつなぎ替えたとする。もし、インターフェース１０４が活線挿抜に対応していないインターフェース（例えば、パラレルＡＴＡ）であれば、つなぎ替えによって接続されたデータ暗号化装置１０２と他のコンピュータシステム１６０１とはそのままではデータの送受信を行うことができない。よってこの場合、通常は機器の電源を入れなおす必要がある。ここで、データ暗号化装置１０２が電源投入時にコンピュータシステムを認証するようにしておけば、本来の接続相手ではない他のコンピュータシステム１６０１はデータ暗号化装置１０２から認証されない。これにより外部記憶装置１０３に記憶された暗号化データをデータ暗号化装置１０２が復号化して他のコンピュータシステムへ転送してしまうことは無い。ところで、従来のパラレルＡＴＡよりも高速にデータを転送できるインターフェースとして、シリアルＡＴＡが主流になりつつある。しかし、インターフェース１０４が活線挿抜に対応したＳＡＴＡである場合、以前に接続していたコンピュータシステム１０１と同様に、データ暗号化装置と他のコンピュータシステム１６０１とのデータ送受信が可能になってしまう。たとえデータ暗号化装置１０２が電源投入時にコンピュータシステムを認証する仕組みを導入したとしても、認証状態を保ったまま他のコンピュータシステム１６０１との送受信が可能となってしまう。よって、外部記憶装置１０３に記憶された暗号化データはデータ暗号化装置が復号化して本来の接続相手ではない他のコンピュータシステム１６０１へ転送されることになり、外部記憶装置１０３のデータの機密を保つことができず、セキュリティ上の問題となる。
【０００９】
本発明では、上記の課題に鑑みてなされたものであり、データ処理装置が、活線挿抜に対応したケーブルの差し替えによって特定のコンピュータシステム以外と接続した場合でもデータの機密性を維持することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のデータ処理装置は、情報処理装置と第１のインターフェースを介して接続し、周辺装置と第２のインターフェースを介して接続するデータ処理装置であって、前記データ処理装置の動作モードとして、前記周辺装置から受信したデータを処理して前記情報処理装置へ転送する通常モードと、前記周辺装置から受信したデータを前記情報処理装置へ転送することを禁止する遮断モードとで動作可能に制御する制御手段と、前記第１のインターフェースを介した前記情報処理装置との接続状態を判断する判断手段と、を有し、前記制御手段は、前記通常モードにおいて前記判断手段が前記第１のインターフェースを介して前記情報処理装置と接続していないと判断したことに基づいて、前記データ処理装置の動作モードを前記通常モードから前記遮断モードへ切り替え、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と異なる装置と接続した場合に前記遮断モードを継続し、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と接続した場合に前記遮断モードから前記通常モードへ切り替えることを特徴とする。
【００１３】
また、本発明のデータ処理装置の制御方法は、情報処理装置と第１のインターフェースを介して接続し、周辺装置と第２のインターフェースを介して接続するデータ処理装置の制御方法であって、前記データ処理装置の動作モードとして、前記周辺装置から受信したデータを処理して前記情報処理装置へ転送する通常モードと、前記周辺装置から受信したデータを前記情報処理装置へ転送することを禁止する遮断モードとで動作可能に制御する制御工程と、前記第１のインターフェースを介した前記情報処理装置との接続状態を判断する判断工程と、を有し、前記制御工程は、前記通常モード中に、前記判断工程において前記第１のインターフェースを介して前記情報処理装置と接続していないと判断されたことに基づいて、前記データ処理装置の動作モードを前記通常モードから前記遮断モードへ切り替え、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と異なる装置と接続した場合に前記遮断モードを継続し、前記遮断モードへ切り替えた後に前記データ処理装置が前記第１のインターフェースを介して前記情報処理装置と接続した場合に前記遮断モードから前記通常モードへ切り替えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、データ処理装置が特定のコンピュータシステム以外と接続した場合でもデータの機密性を維持することが可能になる。
【発明を実施するための最良の形態】
【００１５】
本実施形態では、データ暗号化装置をデータ処理装置の一例として説明する。
【００１６】
以下、にデータ暗号化装置の利用環境、データ暗号化装置の構成、データ暗号化装置装置でデータの機密性を維持する動作を説明する。
【００１７】
＜データ暗号化装置の利用環境＞
図１は、データ暗号化装置の利用環境の一例としての、暗号化データ記憶システムの全体構成を示す図である。
【００１８】
図１において、データ暗号化装置１０２は、コンピュータシステム１０１と外部記憶装置間１０３を、それぞれインタフェース１０４、１０５でブリッジするように接続される。
【００１９】
データ処理装置の一例であるデータ暗号化装置１０２は、コンピュータシステム１０１から送信されたデータを暗号化し外部記憶装置１０３に転送し、かつ外部記憶装置１０３から読み込まれたデータを復号化しコンピュータシステム１０１に転送する。
【００２０】
情報処理装置の一例であるコンピュータシステム１０１は、データ暗号化装置を制御する装置であって、パーソナルコンピュータなどの情報処理装置や、バンキングシステム、ＤＴＰ（Ｄｅｓｋｔｏｐ  Ｐｕｂｌｉｓｈｉｎｇ）システム、またはＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）等の装置であり、特定の装置に限定しない。
【００２１】
周辺装置の一例である外部記憶装置１０３は、データを記憶する装置であって、ハードディスクドライブ（ＨＤＤ）、フラッシュメモリを用いた記憶装置、またはＣＤ−Ｒ／ＣＤ−ＲＷ／ＤＶＤ−Ｒ／ＤＶＤ−ＲＷのような書き換え可能なディスク等である。特定種類野の外部記憶装置に限定しない。本実施形態では、外部記憶装置１０３はハードディスクを用いた記憶装置であるものとし、以下ＨＤＤ１０３と呼称する。
【００２２】
インタフェース１０４、１０５は、ホットプラグイン・ホットプラグアウト（以下、活線挿抜、あるいはホットプラグという）の機能を有したインタフェースである。活線挿抜とは、装置が通電中であってもの接続ケーブルの挿抜を可能とするものである。活線挿抜の機能を備えたインターフェースを用いていれば、機器を通電したままパーツやケーブルを交換することが可能になる。その方式には、活線状態におけるケーブルの挿入および抜去時に、出力ドライバをハイインピーダンス状態に制御する等、様々な方式が提案されているが、通信の誤動作を防止するものであれば、特定の方式には限定しない。活線挿抜機能を備えるインターフェースとしては、ＵＳＢ、ＩＥＥＥ１３９４、またはシリアルＡＴＡ（ＳＡＴＡ）等が知られている。本実施形態では、インターフェース１０４、１０５はシリアルＡＴＡを用いるものとするが活線挿抜に対応した他の種類のインターフェースでも構わない。
【００２３】
なお、データ暗号化装置は暗号化機能を無効化したモードで動作することも可能である。この場合、コンピュータシステム１０１とＨＤＤ１０３とは活線挿抜の機能を備えたインターフェースで直接接続されたものと同じ状態になる。このモードにおいては、システムが通電したままインターフェース１０４を他のコンピュータシステムへつなぎ替えてもＨＤＤ１０３は正常に動作することが可能である。
【００２４】
＜データ暗号化装置の構成＞
図２にデータ暗号化装置のハードウェア構成の一例を示す。図２のデータ暗号化装置１０２はコンピュータシステム内のＨＤＤコントローラ１１５とＨＤＤ１０３に挿入されるように配置される。コンピュータシステム１０１は不図示のＣＰＵ、ＲＡＭ、ＲＯＭ、ユーザインターフェースなどを備えているものとする。コンピュータシステム１０１のＨＤＤコントローラ１１５とデータ暗号化装置１０２間、データ暗号化装置１０２とＨＤＤ１０３間はＨＤＤの通信規格であるシリアルＡＴＡ（ＳＡＴＡ）バス１０４及び１０５で接続され、データ転送、通信が行われる。データ暗号化装置１０２は、ＨＤＤコントローラ１１５からＨＤＤ１０３へ送られるコマンド、データの解釈を行い、ＨＤＤ１０３へ格納するデータの暗号化、ＨＤＤ１０３から読み出すデータの復号化処理を行う。
【００２５】
データ暗号化装置１０２の内部は、ＨＤＤコントローラ１１５、ＨＤＤ１０３との通信、データの暗号・復号化を行う部分と、データ暗号化装置の制御を行う部分に大きく分かれる。
【００２６】
ＣＰＵ１０６はデータ暗号化装置の全体を制御し、メモリ１１１にはＣＰＵ１０６の制御プログラムとデータを格納する。また、鍵情報の生成に必要情報であるシード情報（後述）や、固有情報や、データの暗号化で必要な後述の鍵情報を格納することができる。本実施形態では、メモリ１１１には、バッテリーでバックアップされたＲＡＭ、或いはフラッシュメモリなどが用いられるものとし、データ暗号化装置１０２の電源がオフになった場合でも記憶内容を保持しておくことができるものとする。ＲＡＭ１１２はＣＰＵ１０６のワーク領域として用いられる。
【００２７】
ＡＴＡバスセレクタ１０７は、ＨＤＤコントローラ１１５、ＨＤＤ１０３とのインタフェースであり、後述する動作モードに応じて、ＨＤＤコントローラ１１５とＨＤＤ１０３の接続制御を行う。
【００２８】
デバイスインターフェース１０８は、通常動作中はＡＴＡバスセレクタ１０７を介してＨＤＤコントローラ１１５に接続される。デバイスインターフェース１０８は、ＨＤＤコントローラ１１５がデバイスインターフェース１０８の存在を意識する必要がないように、ＨＤＤ１０３と同じように動作する。ＨＤＤコントローラ１１５が発行するコマンドは、デバイスインターフェース１０８で一旦受信される。ＣＰＵ１０６によって実行可能であると判断されたコマンドはＣＰＵ１０６からホストインターフェース１１０に対して発行され、ＨＤＤ１０３へ送られる。
【００２９】
ＨＤＤ１０３へのデータ格納の際には、ＨＤＤコントローラ１１５から受信したデータを暗号・復号部１０９で暗号化してＨＤＤ１０３へ転送する。また、ＨＤＤ１０３から読み出したデータは暗号・復号部１０９でデータを復号して、ＳＡＴＡバス１０４を介してＨＤＤコントローラ１１５へデータを転送する。その際の制御データの生成も行っている。
【００３０】
暗号・復号部１０９はＨＤＤ１０３へ記憶するデータを暗号化し、ＨＤＤ１０３から読み出したデータを復号化する。データの暗号アルゴリズムは、ＤＥＳ、３ＤＥＳ、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などの共通鍵暗号方式、ＲＳＡなどの公開鍵暗号方式、または共通鍵方式と公開鍵方式を組み合わせたハイブリッド方式などが利用可能である。本発明は、暗号アルゴリズムに依存する方式でないため、本発明で利用する暗号アルゴリズムを特定の暗号アルゴリズムに限定しない。また、本実施形態では、暗号・復号部１０９は専用のハードウェアによって実装しているが、ＣＰＵ１０６がソフトウェア処理によって暗号化・復号化の処理を行うようにしても良い。
【００３１】
ホストインターフェース１１０は、ＡＴＡバスセレクタ１０７を介してＨＤＤ１０３に接続される。ホストインターフェース１１０はデバイスインターフェース１０８と同様の動作を行い、ＨＤＤ１０３へのコマンド転送、制御データの生成、暗号・復号部１０９とＨＤＤ１０３間のデータ転送を行う。
【００３２】
接続検出部１１４は、コンピュータシステム１０１が通電中にコンピュータシステム１０１とデータ暗号化装置１０２の間のＳＡＴＡバス１０４の接続が切断されたことを検出するブロックである。ＡＴＡバスセレクタ１０７内でＳＡＴＡバス１０４の通信を検出する信号をもとに、ＳＡＴＡバス１０４の接続状態を判断し、その結果をＣＰＵ１０６へ通知する。
【００３３】
また、データ暗号化装置１０２内の各ブロックは、アドレス・データバス１１３に接続され、各ブロックはＣＰＵ１０６により制御される。
【００３４】
＜動作モード＞
次にデータ暗号化装置の動作モードについて説明する。
【００３５】
図３は、データ暗号化装置の動作モードを説明する図である。
データ暗号化装置１０２の動作モードは、大きく分けて遮断モード３０１と通常モード３０２の２種類がある。また、通常モード３０２でのコマンドにより、処理中にバイパスモード３０３と暗号・復号モード３０４の２種類に移行する。データ暗号化装置１０２のＣＰＵ１０６による制御の下、これらモードの設定や切り替えが行われる。以下、それぞれのモードについて説明する。
【００３６】
・遮断モード
データ暗号化装置１０２の電源が入力されると、データ暗号化装置１０２は、まず遮断モード３０１に設定される。ＨＤＤコントローラ１１５が行ういかなるアクセスもＨＤＤへ到達できないように制御するモードである。
【００３７】
このとき、ＨＤＤコントローラ１１５からＨＤＤ１０３へのアクセスであるＨＤＤ１０３内の不図示のレジスタへのアクセス（リード／ライト）はデータ暗号化装置１０２に対して行われ、ＨＤＤコントローラ１１５からＨＤＤ１０３へのアクセスは遮断される。
【００３８】
また、遮断モード３０１で使用可能なコマンドは、ＨＤＤコントローラ１１５がＨＤＤ１０３にアクセスするために使用する通常コマンド以外の、新たに定義した拡張コマンドのみが使用可能である。
【００３９】
遮断モード３０１では、コンピュータシステム１０１とデータ暗号化装置１０２との認証処理のみが実行可能となる。つまり、遮断モード３０１においてデータ暗号化装置１０２はＨＤＤ１０３から読み出したデータの転送は禁止し、認証処理のために必要なデータの転送は許可することで、コンピュータシステム１０１に対するデータの転送を制限する。
【００４０】
認証処理とは、データ暗号化装置１０２がコンピュータシステム１０１を認証する処理である。本実施形態で行う認証処理については後述する。
【００４１】
この認証機能が終了した場合にのみ、通常モード３０２に移行できる。
【００４２】
ＨＤＤコントローラ１１５が発行するコマンドが実行可能か不可能であるかは、データ暗号化装置１０２内のメモリ１１１に格納されたプログラムで規定される。ＨＤＤコントローラ１１５が発行するコマンドは図２のＡＴＡバスセレクタ１０７を介してデバイスインターフェースが受信し、データ・アドレスバス１１３を介してＣＰＵ１０６が認識する。メモリ１１１内のプログラムが備える参照データと比較し、実行可能なコマンドであるか否かを判断する。
【００４３】
・通常モード
通常モード３０２は、ＨＤＤコントローラ１１５がＨＤＤ１０３に対してアクセスを行うことが可能になるモードである。
【００４４】
ただし、ＨＤＤコントローラ１１５が発行するコマンドは全てデータ暗号化装置１０２が確認し、実行可能なコマンドのみがＨＤＤ１０３へ転送される。データ暗号化装置１０２のＣＰＵ１０６が実行不可能なコマンドと判断した場合には、当該コマンドはデータ暗号化装置内で遮断してＨＤＤ１０３へは転送しない。
【００４５】
コマンドの実行可能、不可能の判断は遮断モードと同様であり、動作モードごとにメモリ１１１内には動作モード毎の参照データを記憶しており、ＣＰＵ１０６は参照データと受け付けたコマンドとを比較して実行可能なコマンドであるか否かを判断する。
【００４６】
通常モードにおいて、ＣＰＵ１０６により実行可能であると判断されたコマンドは、ホストインターフェース１１０、ＡＴＡバスセレクタ１０７を介してＨＤＤ１０３へ転送される。
【００４７】
次に、ＨＤＤコントローラ１１５がＨＤＤ１０３の不図示のレジスタへアクセスするためのレジスタアクセスコマンドをデータ暗号化装置１０２が受け取ると、バイパスモード３０３へ移行する。バイパスモード３０３の詳細は後述する。
【００４８】
ＨＤＤコントローラ１１５からＨＤＤ１０３に対するデータの格納、読み出しを示すＤＭＡコマンドをデータ暗号化装置１０２が受け取ると、暗号・復号モード３０４へ移行する。ＤＭＡ転送が終了すると、暗号・復号モード３０４から通常モード３０２へ移行する。
【００４９】
また、通常モード３０２の状態で、特別に定義された拡張コマンド（移行コマンド）を受信すると遮断モード３０１へ移行する。
【００５０】
また、通常モード３０２の状態で、接続検出部１１４がＳＡＴＡバス１０４の接続が切断されたことが検出した場合には、遮断モード３０１へと移行する。遮断モード３０１では、再度、コンピュータシステム１０１とデータ暗号化装置１０２との認証処理を実行する。
【００５１】
・バイパスモード
バイパスモード３０３は通常モード３０２において、ＨＤＤ１０３へのレジスタアクセスを行うときに実行されるモードである。ＨＤＤコントローラ１１５のレジスタアクセスをＨＤＤ１０３へバイパスさせるモードである。バイパスモード３０３では、ＨＤＤコントローラ１１５がＨＤＤ１０３のレジスタへ種種の設定値を書き込むことができ、これにより、ＨＤＤコントローラ１１５がＨＤＤ１０３に対する設定を行うことができる。
【００５２】
ＨＤＤコントローラ１１５によるＨＤＤ１０３のレジスタデータの転送完了後（レジスタアクセス完了後）、通常モード３０２へ移行する。
【００５３】
・暗号・復号モード
暗号・復号モード３０４はＤＭＡ転送によるＨＤＤコントローラ１１５からＨＤＤ１０３へのデータ転送時にデータを暗号化し、ＨＤＤ１０３からの読み出したデータをＨＤＤコントローラ１１５へ転送するときにデータを復号化するモードである。
【００５４】
暗号化および復号化は、後述の暗号鍵を用いて行われる。初めてコンピュータシステム１０１にデータ暗号化装置１０２が設置（ＳＡＴＡバス１０４による接続）されたときは、後述する暗号鍵の生成を行う。
【００５５】
データの暗号アルゴリズムは、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）など共通鍵暗号方式、ＲＳＡなど公開鍵暗号方式、または共通鍵方式と公開鍵方式を組み合わせたハイブリッド方式などが利用可能である。ＤＭＡ転送が完了したら通常モード３０２へ移行する。
【００５６】
＜ＡＴＡバスセレクタの構成＞
図４は、ＡＴＡバスセレクタ１０７のハードウェア構成を示すブロック図である。
【００５７】
ＨＤＤコントローラ１１５はＨＤＤコントローラサイド入出力８０１と接続され、信号の入出力が行われる。また、ＨＤＤ１０３はＨＤＤサイド入出力８０２と接続されている。
【００５８】
ＨＤＤコントローラサイド入出力８０１はセレクタ８０３を介してデバイスインターフェース１０８あるいはバイパス回路８０４に接続される。
【００５９】
同様にＨＤＤサイド入出力８０２はセレクタ８０５を介して、ホストインターフェース１１０あるいはバイパス回路８０４に接続される。
【００６０】
セレクタ８０３、８０５は、それぞれ制御回路８０６を介してＣＰＵ１０６により制御される。
【００６１】
ＨＤＤコントローラ１１５とＨＤＤ１０３は、バイパス回路８０４を介して接続されたり、暗号・復号回路１０９を介してデータ転送されたり、あるいはＣＰＵ１０６を介して接続される。
【００６２】
接続検出回路１１４は、ＨＤＤコントローラサイド入出力８０１と接続され、ＳＡＴＡバス１０４の接続が切断されたことを検出した場合に、検出の結果をＣＰＵ１０６へと通知する。ＨＤＤコントローラサイド入出力８０１には、ＳＡＴＡバス１０４のインタフェース制御回路（不図示）を備える。インタフェース制御回路の物理層（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）において、ＳＡＴＡバス１０４の通信を受け付け、物理層の初期化が終了し、ＳＡＴＡバス１０４を介した通信が可能となった場合に、通信可能状態を接続検出回路１１４へと通知する。接続検出回路１１４の動作の詳細については後述する。
【００６３】
＜ＡＴＡバスセレクタの動作＞
図５を用いて、ＣＰＵ１０６により実行される、各動作モードにおけるＡＴＡバスセレクタ１０７の動作を説明する。
【００６４】
図５はＡＴＡバスセレクタ１０７の動作を示す図である。図５中の矢印は各モードにおけるデータバスの接続関係および転送方向を示している。太い線の矢印はデータの送受信行うＰＩＯ／ＤＭＡバスを示し、細い線はＨＤＤ１０３動作設定、状態確認などで使用するＨＤＤ１０３内、或いはデータ暗号化装置１０２内の不図示のレジスタ等のへアクセスを示す。
【００６５】
・遮断モード・・・図５の（ａ）
遮断モードにおいて、ＡＴＡバスセレクタ１０７内のＨＤＤコントローラ１１５サイド入出力はデバイスインターフェース１０８に接続され、ＨＤＤ１０３サイド入出力はホストインターフェース１１０に接続される。これにより、後述するデータ暗号化装置１０２によるコンピュータシステム１０１（或いはＨＤＤコントローラ１１５）の認証が終了するまで、データ暗号化装置１０２はＨＤＤ１０３のデータをＨＤＤコントローラ１１５へ転送すること、及び、ＨＤＤコントローラ１１５からのデータをＨＤＤ１０３へ転送することを禁止する。よって、ＨＤＤコントローラ１１５からＨＤＤ１０３へのいかなるアクセスも禁止されることになる。
【００６６】
・通常モード・・・図５の（ｂ）
通常モードでは、ＰＩＯ／ＤＭＡバスはデバイスインターフェース１０８と、ホストインターフェース１１０に接続される。また、レジスタアクセスについては、アクセスするレジスタに応じてアクセス先が変更されることを示す。
【００６７】
ＨＤＤコントローラ１１５からＨＤＤ１０３のレジスタへの書き込みアクセスが発行されると（Ｗの部分）、ＨＤＤコントローラサイドの入出力信号から、アクセスするレジスタの種類に応じて、デバイスインターフェース１０８内のレジスタだけに書き込まれる。あるいはＨＤＤサイドの入出力信号にそのまま接続されＨＤＤ１０３だけに書き込まれる。もしくは、双方に書き込まれることを示す。
【００６８】
レジスタリードにおいても同様で、ＨＤＤ１０３内のレジスタのデータがそのまま読み出せたり、ホストインターフェース１１０で読まれたデータをデバイスインターフェース１０８を介して読み出したりすることを示す。
【００６９】
・バイパスモード・・・図５の（ｃ）
バイパスモードにおいては、ホストサイド入出力８０１とＨＤＤサイド入出力８０２は直接接続される。一部のレジスタの書き込みアクセスに関しては、ＨＤＤ１０３のレジスタと、デバイスインターフェース１０８内のレジスタに同じものが書きこまれる。
【００７０】
＜実行可能な拡張コマンド＞
図６は、本実施形態における拡張コマンドの一覧を示す図である。図６に示した拡張コマンドは、通常のＨＤＤアクセスで使用されるＡＴＡコマンドとは異なり、遮断モード３０１においてデータ暗号化装置１０２のみが処理可能なコマンドである。データ暗号化装置１０２のメモリ１１１には、これらのコマンドを解釈し、コマンドに対応した処理を実行するためのプログラムが格納されているものとする。
【００７１】
コマンド名は、動作可能なコマンドの名称を示し、タイプはアクセスの種類を示す。Ｎｏｎ  ＤＡＴＡタイプはデータの書き込み、読み出しを伴わないコマンドであり、ＨＤＤ１０３のステータスを確認するためのコマンドや、遮断モードから通常モードへ移行するためのコマンドなどがある。
【００７２】
ＷＲＩＴＥ、ＲＥＡＤタイプはデータの書き込み、読み出しを伴うコマンドであり、バージョン情報の取得、認証のチャレンジで使用される。
【００７３】
＜実行可能なＡＴＡコマンド＞
図７は、本実施形態におけるＡＴＡコマンドの一覧を示す図である。図７に示したＡＴＡコマンドは、通常モード３０２においてデータ暗号化装置１０２が動作可能なコマンドである。データ暗号化装置１０２のメモリ１１１には、これらコマンドの一覧を記憶しているものとする。また、これらのコマンドに対応した処理を実行するためのプログラムもメモリ１１１に格納されているものとする。
【００７４】
本実施形態においては、ＨＤＤコントローラ１１５からＨＤＤ１０３に対して実行可能なコマンドは、図７に示したものに限定されるものとする。これは、ＨＤＤ１０３に対する不要なアクセスを防止してセキュリティを確保するためである。
【００７５】
通常モードステップにおいて、ＨＤＤコントローラ１１５からコマンドが発行されるとデータ暗号化装置１０２の内部で一旦保持し、そのコマンドが実行可能か、すなわち、メモリ１１１を参照して図７の一覧に含まれるコマンドであるかをチェックする。実行可能なコマンドのみが、ＨＤＤ１０３へ送られる。実行不可能であると判断されたコマンドについては、ＨＤＤ１０３へは送られずにエラー（アボートエラー）としてＨＤＤコントローラ１１５へ通知される。
【００７６】
＜認証＞
次に、ＨＤＤコントローラ１１５とデータ暗号化装置１０２の間の認証に関する説明を行う。
【００７７】
認証の処理としては、データ暗号化装置１０２を初めてＨＤＤコントローラ１１５に接続した設置時の認証処理（以下、初回設置時）と、初回設置が完了した後においてＨＤＤコントローラ１１５（コンピュータシステム１０１に含まれる）とデータ暗号化装置１０２の電源を投入した後の認証処理（以下、通常起動時）の２種類がある。以下、順に説明する。
【００７８】
・初回設置時
図８は、初めてＨＤＤコントローラにデータ暗号化装置１０２が接続されたときの認証の手順を説明するシーケンスの一例を示す図である。
【００７９】
まず、データ暗号化装置１０２とコンピュータシステム１０１（ＨＤＤコントローラ１１５を含む）とＨＤＤ１０３とがＳＡＴＡバス１０４で接続した状態でユーザの操作によって電源が入力される（ステップＳ８０１）と、各装置は起動する。データ暗号化装置１０２は遮断モード３０１で起動する（ステップＳ８０２）。ＨＤＤコントローラ１１５は、ＳＡＴＡバス１０４上に所定のコマンドを送出し、データ暗号化装置１０２が接続されているかの確認を行う（ステップＳ８０３）。ＨＤＤコントローラ１１５はＳＡＴＡバス１０４を介してデータ暗号化装置１０２  に対して、ＧＥＴ  ＳＴＡＴＵＳコマンドを発行し（ステップＳ８０４）、データ暗号化装置１０２の暗号鍵の生成状態をチェックする。
【００８０】
初回設置時には、データ暗号化装置１０２には暗号鍵が生成されていないので、データ暗号化装置１０２は、未インストールのステータスをＨＤＤコントローラ１１５へ返す（ステップＳ８０５）。
【００８１】
ＨＤＤコントローラ１１５は、未インストール状態を認識し、データ暗号化装置１０２に対してＩＮＳＴＡＬＬコマンドを送信する（ステップＳ８０６）。データ暗号化装置１０２は、シード情報を生成する（ステップＳ８０７）。固有情報を送信する（ステップＳ８０８）。シード情報や固有情報は後に暗号鍵の生成のために用いられる。本実施形態では、固有情報は、コンピュータシステム１０１に固有の情報であるものとする。固有情報としてはその他に、ＨＤＤコントローラ１１５固有の情報でも良いものとする。また、ＨＤＤコントローラ１１５固有の情報とコンピュータシステム１０１固有の情報とを組み合わせて得られる情報を固有情報としても構わない。データ暗号化装置１０２は受信した固有情報をメモリ１１１に記憶する（ステップＳ８０９）。メモリ１１１は固有情報を記憶するための固有情報記憶手段の一例である。続いて、データ暗号化装置１０２は、ステップＳ８０７で生成したシード情報と固有情報に基づいて、暗号鍵を生成しメモリ１１１に書き込む（ステップＳ８１０）。暗号鍵の生成、メモリ１１１への書き込みが終了すると、終了のステータスをＨＤＤコントローラ１１５へ送信する（ステップＳ８１１）。
【００８２】
ＨＤＤコントローラ１１５は暗号鍵の生成終了を認識すると、ＣＨＡＮＧＥモードコマンドを、データ暗号化装置１０２に送信する（ステップＳ８１２）。暗号鍵の生成が終わったことで、認証の代替処理とみなし通常モード３０２へ移行する（ステップＳ８１３）。データ暗号化装置１０２は通常モード３０２へ移行した旨をＨＤＤコントローラ１１５へ通知する（ステップＳ８１４）。
【００８３】
その後は、通常モード３０２ではＨＤＤコントローラ１１５がＨＤＤ１０３へのアクセスを行うことが可能となり、ＡＴＡの各種コマンドが有効となる（ステップＳ８１５）。
【００８４】
＜鍵情報の生成＞
次に、図８の認証時にデータ暗号化装置１０２のＣＰＵ１０６のソフトウェアにより実行される、鍵情報の生成動作を説明する。
【００８５】
データ暗号化装置１０２はＨＤＤコントローラ１１５から、ＨＤＤコントローラ１１５、或いはＨＤＤコントローラ１１５が装着されたコンピュータシステム１０１の固有情報（以下、固有情報）を受信する。固有情報は個々のコンピュータシステム１０１に固有の情報であって、シリアル番号、ＬＡＮ  Ｉ／Ｆを持つコンピュータシステムにおけるＭＡＣアドレス、またはそれらの情報を組み合わせた情報など、さまざまな情報を利用することが可能である。
【００８６】
ＣＰＵ１０６は、受信した固有情報とメモリ１１１に保持しているシード情報から鍵情報を生成する。本実施形態では、シード情報としては、例えば、乱数を用いるものとする。固有情報とシード情報から鍵情報を生成する方法は、例えば、以下の方法が考えられる。
・固有情報とシード情報の排他的論理和を鍵情報とする方法
・一方向性ハッシュ関数に固有情報とシード情報を入力し、出力を鍵情報とする方法
・固有情報を暗号化関数の鍵とし、シード情報を暗号化処理し、出力を鍵情報とする方法
・シード情報を暗号化関数の鍵とし、固有情報を暗号化処理し、出力を鍵情報とする方法
・Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有方式（ＲＦＣ  ２６３１）に基づいて鍵情報を共有する方法。ただし、データ暗号化装置だけが鍵情報を保持できればよいので、例えば、シード情報をデータ暗号化装置のＤＨ鍵共有方式の秘密鍵とし、固有情報をデータ暗号化装置の公開鍵とコンピュータシステムの固有の情報から得られる情報とする。
【００８７】
上記方法は、固有情報とシード情報から鍵情報を生成する一例であって、本発明における鍵情報の生成方法は、２入力の関数「鍵情報＝ｆ（シード情報，固有情報）」であればどのような関数でもよい。
【００８８】
また、鍵情報と鍵情報検証情報とをセットで鍵情報として管理することで、鍵情報の正当性を検証することも可能である。鍵情報検証情報の一例として、鍵情報のハッシュ値が考えられる。
【００８９】
なお、シード情報の生成方法は、鍵情報の生成方法と暗号アルゴリズムに依存する。乱数を暗号アルゴリズムの鍵として利用できる場合は、シード情報も乱数または擬似乱数として生成することも可能である。一方、特定の条件を満たす情報を暗号アルゴリズムの鍵として利用しなければならない場合は、例えば、鍵情報を生成し、生成した鍵情報とシード情報から「鍵情報＝ｆ（シード情報，固有情報）」を満たすシード情報を求める必要がある。
【００９０】
・通常起動時
図９は、コンピュータシステム１０１にデータ暗号化装置１０２がすでに設置済みである、通常起動時における認証のシーケンスの一例を示すシーケンス図である。
【００９１】
まず、データ暗号化装置とコンピュータシステム１０１と、ＨＤＤ１０３とがＳＡＴＡバス１０４で接続した状態でユーザの操作によって電源が投入される（ステップＳ９０１）。データ暗号化装置１０２は遮断モード３０１で起動する（ステップＳ９０２）。
【００９２】
ＨＤＤコントローラ１１５は、ＳＡＴＡバス１０４上に所定のコマンドを送出し、データ暗号化装置１０２が接続されているかの確認を行う（ステップＳ９０３）。その後、ＨＤＤコントローラ１１５は、データ暗号化装置１０２に対してＧＥＴ  ＳＴＡＴＵＳコマンドを送信してデータ暗号化装置１０２の暗号鍵の生成状態をチェックする（ステップＳ９０４）。通常起動時においては、データ暗号化装置１０２では暗号鍵は生成済みであるので、データ暗号化装置１０２は、ＨＤＤコントローラ１１５に対して暗号鍵はインストール済みである旨の応答を返送する（ステップＳ９０５）。ＨＤＤコントローラ１１５は、データ暗号化装置１０２に暗号鍵がインストール済みであることを確認すると認証処理に移る。
【００９３】
本実施形態における認証処理は、公知のチャレンジアンドレスポンス方式を用いるものとし、ＨＤＤコントローラ１１５を備えるコンピュータシステム１０１とデータ暗号化装置１０２とを相互に認証する。もちろん、他の認証方式を用いても構わない。
【００９４】
まず、ＨＤＤコントローラ１１５はデータ暗号化装置１０２に、チャレンジの実行を示すチャレンジコマンドを送信し（ステップＳ９０６）し、続いてチャレンジ乱数を送信する（ステップＳ９０７）。ここで、チャレンジ乱数とは、コンピュータシステム１０１、或いはＨＤＤコントローラ１１５が生成する乱数であり、認証の度にランダムに変化する事前予測困難な数値を示す。
【００９５】
データ暗号化装置１０２は、チャレンジ乱数を受け取ると、受信終了のステータスをＨＤＤコントローラ１１５に返信する（ステップＳ９０８）。
【００９６】
データ暗号化装置１０２から受信終了のステータスを受信したＨＤＤコントローラ１１５は、データ暗号化装置１０２にレスポンス要求コマンドを送信する（ステップＳ９０９）。
【００９７】
データ暗号化装置１０２は、ＨＤＤコントローラ１１５からのレスポンス要求コマンドを受け取ると、メモリ１１１に記憶してある固有情報と受信したチャレンジ乱数とからハッシュ値を生成する。そして、生成したハッシュ値をレスポンスとしてＨＤＤコントローラ１１５に送信し（ステップＳ９１０）、送信終了のステータスを返信する（ステップＳ９１１）。
【００９８】
ＨＤＤコントローラ１１５がデータ暗号化装置１０２からレスポンスを受け取ると、コンピュータシステム１０１は自らが保持している固有情報と、ステップＳ９０６で送信したチャレンジ乱数とからハッシュ値を生成する。そして、このハッシュ値を、データ暗号化装置１０２から受け取ったレスポンスと比較する。比較の結果、これらが一致すれば、コンピュータシステム１０１は、データ暗号化装置１０２が正常の接続先であると判別し、次の処理であるデータ暗号化装置１０２からＨＤＤコントローラ１１５へのチャレンジの実行に移る。
【００９９】
まず、ＨＤＤコントローラ１１５はデータ暗号化装置１０２に、チャレンジの実行の要求を行うコマンドを送信する（ステップＳ９１２）。
【０１００】
データ暗号化装置１０２はチャレンジ乱数をＨＤＤコントローラ１１５へ送信し（ステップＳ９１３）、チャレンジ乱数を送信完了したステータスをＨＤＤコントローラ１１５へ送信する（ステップＳ９１４）。ここで、チャレンジ乱数とは、データ暗号化装置１０２が生成する乱数であり、認証の度にランダムに変化する事前予測困難な数値を示す。
【０１０１】
続いて、コンピュータシステム１０１は、保持してある固有情報と受信したチャレンジ乱数とからハッシュ値を生成する。
【０１０２】
ＨＤＤコントローラ１１５はデータ暗号化装置１０２に、レスポンスの実行を要求するコマンドを送信して（ステップＳ９１５）、生成したハッシュ値をレスポンスとして送信する（ステップＳ９１６）。
【０１０３】
データ暗号化装置１０２はレスポンスを受け取ると、メモリ１１１に記憶している固有情報（図８のステップＳ８０９で記憶した固有情報）と、ステップＳ９１３で送信したチャレンジ乱数とからハッシュ値を生成する。そして、このハッシュ値を、ＨＤＤコントローラ１１５から受け取ったレスポンスと比較する。比較の結果、これらが一致すれば、データ暗号化装置１０２は、コンピュータシステム１０１が正常の接続先であると判別し、認証を終了する（ステップＳ９１７）。
【０１０４】
データ暗号化装置１０２はＨＤＤコントローラ１１５から、通常モード３０２への移行コマンドを受信する（ステップＳ９１８）。データ暗号化装置１０２は、認証が正常に終了している場合、遮断モードから通常モード３０２へ移行し（ステップＳ９１９）、通常モード３０２へ移行したことを示すステータスをＨＤＤコントローラ１１５へ送信する（ステップＳ９２０）。その後ステップＳ９２１では通常モード３０２において各種ＡＴＡコマンドが有効になる。
【０１０５】
＜通常モードにおけるコマンドシーケンス＞
次に、通常モード３０２で実行可能なコマンドの詳細シーケンスを示す。通常モードで実行可能なコマンドは、図７に示したものであり、データの転送タイプで３つに分けられる。データ転送を伴わないＮｏｎＤＡＴＡ転送タイプ、ＲＥＡＤ転送タイプ、ＤＭＡ転送（暗号・復号）タイプの３つである。順に説明する。
【０１０６】
・Ｎｏｎ  Ｄａｔａ転送タイプのコマンドシーケンス
コマンドの実行は、２ステップの処理で行われる。まず、実行するコマンドに必要なパラメータを設定するもので、ＨＤＤのコマンドブロック内の関連するレジスタ（Ｔ／Ｆレジスタ。Ｉ／Ｏ  レジスタやコマンドブロックレジスタなどとも呼ばれる。不図示）にデータを書き込む。次に、コマンドレジスタにコマンドコードを書き込む。これにより、実際にＨＤＤは（いったん、データ暗号化装置を介して）コマンドを実行する。
【０１０７】
また、パラメータ設定を行うレジスタやコマンドコードを書き込むレジスタには、ＨＤＤコントローラ１１５から書き込む場合と、読み出す場合で、意味の異なるものがある。ＥＲＲＯＲ／ＦＥＡＴＵＲＥＳレジスタや、ＳＴＡＴＵＳ／ＣＯＭＭＡＮＤレジスタなどである。これらは、読み出し時にはＨＤＤのエラーやステータスを示すが、書き込み時にはコマンドの実行を示す。
【０１０８】
図１０はＮｏｎ  Ｄａｔａ転送タイプのコマンドに対するシーケンスを示す図である。
【０１０９】
Ｎｏｎ  Ｄａｔａ転送タイプのコマンドとしては、ＲＥＣＡＬＩＢＲＡＴＥ、ＳＥＥＫなどのコマンドがある。
【０１１０】
ＲＥＣＡＬＩＢＲＡＴＥコマンドは、ＨＤＤのＲＥＺＥＲＯ動作を行うもので、ＳＥＥＫコマンドは、ＨＤＤの指定されたトラックへのシークおよびヘッドの選択を行うものである。
【０１１１】
まず、通常モードにおいて、ＨＤＤコントローラ１１５がＨＤＤにアクセスするためにパラメータ設定を行う。パラメータ設定は、データ暗号化装置１０２とＨＤＤ１０３の両方のレジスタ（いずれも不図示）に設定される（ステップＳ１００１）。
【０１１２】
続いて、ＨＤＤコントローラ１１５がコマンドレジスタに実行するコマンドを発行し、データ暗号化１０２のデバイスインターフェース１０８のレジスタに設定する（ステップＳ１００２）。データ暗号化装置１０２は、実行可能なコマンドであるかの判断を行い、実行可能なコマンドのみＨＤＤ１０３のコマンドレジスタに設定を行う（ステップＳ１００３）。実行可能なコマンドの一覧はメモリ１１１に記憶されており、データ暗号化装置１０２は、当該コマンド一覧を参照して実行可能なコマンドであるか否かを判断する。
【０１１３】
ＨＤＤ１０３はコマンドを実行し（ステップＳ１００４）、コマンド処理が終了するとデータ暗号化装置１０２に対して割り込み信号を出力する（ステップＳ１００５）。この割り込み信号はデータ暗号化装置１０２だけに入力されており、データ暗号化装置１０２はＨＤＤ１０３のステータス、エラーレジスタなどのレジスタを読み出す（ステップＳ１００６）。レジスタが読まれるとＨＤＤ１０３は割り込み信号をクリアする（ステップＳ１００７）。
【０１１４】
データ暗号化装置１０２は、読み出したＨＤＤ１０３のステータス、エラーレジスタのデータをデータ暗号化装置１０２のステータス、エラーレジスタに設定する（ステップＳ１００８）。そして、ＨＤＤコントローラ１１５への割り込み信号を出力する（ステップＳ１００９）。ＨＤＤコントローラ１１５は割り込み信号が入力されたので、ステータスとエラーレジスタを読み出す（ステップＳ１０１０）。ＨＤＤコントローラ１１５による読み出しが完了したらデータ暗号化装置１０２は割り込み信号をクリアする（ステップＳ１０１１）。以上でＮｏｎ  Ｄａｔａ転送タイプのコマンドとコマンドに対する処理のシーケンスが終了する。
【０１１５】
・ＲＥＡＤ転送タイプ（ＰＩＯ  ＲＥＡＤ）のコマンドシーケンス
図１１はＲＥＡＤ転送タイプのコマンドに対するシーケンスを示す図である。
【０１１６】
通常モード（ステップＳ３０２）で実行可能なＲＥＡＤ転送タイプのコマンドとしては、図７に示すようにＩＤＥＮＴＩＦＹ  ＤＥＶＩＣＥコマンドがある。ＩＤＥＮＴＩＦＹ  ＤＥＶＩＣＥコマンドを実行すると、ＨＤＤ１０３のパラメータ情報を読み出すことができる。パラメータ情報としては、シリンダ数、ヘッド数、シリアル番号、などのＨＤＤ１０３に関する情報であり、ＨＤＤコントローラ１１５からＨＤＤ１０３へ書き込まれたデータとは異なる。
【０１１７】
図１１において、まず、ＨＤＤコントローラ１１５はパラメータ設定を行う（ステップＳ１１０１）。そして、ＨＤＤコントローラ１１５はＲＥＡＤ転送タイプのコマンドを発行すると（ステップＳ１１０２）、データ暗号化装置１０２が当該コマンドを解釈し、ＨＤＤ１０３へ転送する（ステップＳ１１０３）。ＨＤＤ１０３は、発行されたコマンドを実行する（ステップＳ１１０４）。ＨＤＤ１０３は、発行されたコマンドがＩＤＥＮＴＩＦＹ  ＤＥＶＩＣＥコマンドであれば、ＨＤＤ１０３内のセクタバッファに要求されたパラメータ情報を入れて、レジスタに発行されたコマンドに対するステータスを書き込む。そしてＨＤＤ１０３はデータ暗号化装置１０２に対して割り込み信号を出力する（ステップＳ１１０５）。
【０１１８】
データ暗号化装置１０２はレジスタを読み出し、ＨＤＤ１０３のステータスを確認する（ステップＳ１１０６）。レジスタが読まれると、ＨＤＤ１０３は割り込み信号をクリアする（ステップＳ１１０７）。
【０１１９】
そして、データ暗号化装置１０２はバイパスモード３０３へ移行するための設定を行う（ステップＳ１１０８）。バイパスモード３０３への移行が終了すると、ＨＤＤコントローラ１１５へ割り込み信号を出力し（ステップＳ１１０９）、ＨＤＤ１０３の準備ができていることを通知する。
【０１２０】
ＨＤＤコントローラ１１５は、ＨＤＤ１０３レジスタをリードする（ステップＳ１１１０）。ＨＤＤ１０３のステータスレジスタがリードされたことを、データ暗号化装置１０２が認識し、割り込み信号をクリアする（ステップＳ１１１１）。その後、ＨＤＤコントローラ１１５はＨＤＤ１０３のデータ（パラメータ情報等）を読み出す（ステップＳ１１１２）。
【０１２１】
所定数のデータの読み出しが終了すると、バイパスモードが終了する（ステップＳ１１１４）。バイパスモードが終了すると、データ暗号化装置はレジスタにデータをセットする（ステップＳ１１１５）。そしてＨＤＤコントローラ１１５へ割り込み信号を出力する（ステップＳ１１１６）。ＨＤＤコントローラ１１５はデータ暗号化装置１０２のレジスタのデータを読み出し（ステップＳ１１１７）、読み出しが完了したらデータ暗号化装置１０２は割り込み信号をクリアして（ステップＳ１１１８）一連の処理を終了する。
【０１２２】
・ＲＥＡＤ  ＤＭＡ／ＷＲＩＴＥ  ＤＭＡ転送タイプのコマンドシーケンス
図１２はＨＤＤへのデータの書き込み、読み出しを行うＤＭＡ転送タイプのコマンドに対するシーケンスを示す図である。
【０１２３】
ＤＭＡ転送としては、ＨＤＤ１０３からデータを読み出すＲＥＡＤ  ＤＭＡと、ＨＤＤ１０３へデータを書き込むＷＲＩＴＥ  ＤＭＡの２種類がある。データ暗号化装置１０２は、ＷＲＩＴＥ  ＤＭＡ時にはＨＤＤ１０３へ書き込むデータの暗号化を行い、ＲＥＡＤ  ＤＭＡ時には、ＨＤＤ１０３から読み出したデータの復号化を行う。
【０１２４】
ＨＤＤコントローラ１１５がＤＭＡ転送コマンドの発行を行う場合、ＨＤＤ１０３のレジスタにパラメータ設定を行い（ステップＳ１２０１）、ＤＭＡ転送のコマンドを設定する（ステップＳ１２０２）。
【０１２５】
ＤＭＡ転送のコマンドは、いったん、データ暗号化装置１０２で確認され、ＨＤＤ１０３へ転送される（ステップＳ１２０３）。ＨＤＤ１０３はＤＭＡ転送の準備を行い、準備が終了するとデータ暗号化装置１０２へＤＭＡ転送要求信号を出力する（ステップＳ１２０４）。
【０１２６】
データ暗号化装置１０２はＤＭＡ転送開始要求信号を受け取ると、暗号、あるいは復号処理に対応した内部の設定を行い、暗号・復号モード３０４へ移行する（ステップＳ１２０５）。暗号、あるいは復号処理のどちらであるかはＨＤＤコントローラ１１５が発行したコマンドですでに認識済みである。
【０１２７】
続いて、暗号・復号モード３０４へ移行すると、ＤＭＡ転送開始要求をＨＤＤコントローラ１１５へ出力する（ステップＳ１２０６）。
【０１２８】
その後、実際にＤＭＡ転送と、同時にデータ暗号化装置１０２ではデータの暗号あるいは復号処理が実行される（ステップＳ１２０７）。
【０１２９】
所定データ数の転送が終了すると、ＨＤＤ１０３は割り込み信号をデータ暗号化装置１０２へ出力する（ステップＳ１２０８）。データ暗号化装置１０２はＨＤＤ１０３のステータスレジスタのデータを読み出して内容を確認すると（ステップＳ１２０９）、ＨＤＤ１０３は割り込みをクリアする（ステップＳ１２１０）。これで、ＨＤＤ１０３のＤＭＡ転送が終了する。
【０１３０】
続いて、データ暗号化装置１０２はＤＭＡ転送が終了すると、内部の設定を行い通常モード（ステップＳ３０２）に移行する（ステップＳ１２１１）。ＨＤＤ１０３から読み出したステータス、エラーの状態をレジスタに設定して（ステップＳ１２１２）、ＨＤＤコントローラ１１５へ割り込みを行う（ステップＳ１２１３）。ＨＤＤコントローラ１１５がレジスタのデータを読み出して（ステップＳ１２１４）、読み出しが完了したらデータ暗号化装置１０２は割り込みをくりあして一連の処理を終了する。
【０１３１】
・ＷＲＩＴＥ転送タイプ（ＰＩＯ  ＷＲＩＴＥ）のコマンドシーケンス
ＨＤＤ１０３へのデータ書き込みコマンドとして、ＷＲＩＴＥ  ＭＵＬＴＩＰＬＥ（ＰＩＯ  ＷＲＩＴＥ）コマンドがある。しかし、本実施形態ではＨＤＤ１０３に対する不要なデータの書き込みを防止するため、使用可能なコマンドにＷＲＩＴＥ  ＭＵＬＴＩＰＬＥ（ＰＩＯ  ＷＲＩＴＥ）コマンドは認めていない。そのため、ＨＤＤコントローラ１１５により、ＷＲＩＴＥ  ＭＵＬＴＩＰＬＥ（ＰＩＯ  ＷＲＩＴＥ）コマンドが発行されても、データ暗号化装置１０２が実行不可能であると判断し、ＨＤＤ１０３へはコマンドを転送しない。
【０１３２】
＜接続検出部＞
図１３は本実施形態における接続検出部１１４におけるＳＡＴＡバス１０４の切断の検出について説明する。以下、「切断」とはＳＡＴＡバス１０４のケーブルのコネクタ（ＨＤＤコントローラ１１５側、データ暗号化装置１０２側）が外れた場合や、ケーブルそのものが切断された場合を含むものとする。
【０１３３】
接続検出回路１１４は、ＡＴＡバスセレクタ１０７内のＨＤＤコントローラサイド入出力８０１と接続され、暗号化データ記憶システムが稼動中にＳＡＴＡバス１０４の接続が切断されたことが検知された場合に、検知結果をＣＰＵ１０６へと通知する。
【０１３４】
ＨＤＤコントローラサイド入出力８０１には、ＳＡＴＡバス１０４のインターフェース制御回路を備える。インターフェース制御回路の物理層（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）において、ＳＡＴＡバス１０４の通信をうけ、物理層の初期化が終了し、ＳＡＴＡバス１０４を介した通信が可能となった場合に、通信可能状態をＰＨＹ通信可能信号として接続検出回路１１４へと通知する。
【０１３５】
ＰＨＹ通信可能信号は、電源ＯＮ時、Ｌｏｗに出力され、その後、ＳＡＴＡバス１０４を介した通信が可能となった場合に、Ｈｉｇｈへと切り替わる。
【０１３６】
Ｈｉｇｈへと切り替わったＰＨＹ通信可能信号は、通常動作中（電源ＯＮ中）、以下の状態が発生した場合にＬｏｗへと切り替わる。
（１）ＨＤＤコントローラ１１５からのＡＴＡリセットコマンド受信時
（２）データ暗号化装置のハードリセット入力時
（３）ＳＡＴＡバス１０４の信号線の切断時
接続検出回路１１４では、これらの状態のうち、（１）と（２）については正常動作と判別し、（３）についてはＳＡＴＡバス１０４の切断と判断し、切断検出信号を生成して、ＣＰＵ１０６へと通知する。
【０１３７】
ＳＡＴＡバス１０４の切断の判断方法としては、図１３に示すようにＰＨＹ通信可能信号の通常動作中（電源ＯＮ中）に発生するＬｏｗ期間が所定の時間以上であるか否かで判断する。
【０１３８】
本実施形態では、（１）と（２）の場合、ＳＡＴＡバス１０４のＬｏｗ期間が実動作において、１００ｍｓｅｃ未満であるものとする（図１３の１３０１）。また、ＳＡＴＡバス１０４のケーブルやコネクタの抜取り後にＬｏｗとなったＰＨＹ通信可能信号は、再度接続後にＨｉｇｈとなるまで、１００ｍｓｅｃ以上を要するものとする（図３の１３０２）。
【０１３９】
以上により、本実施形態では、ＰＨＹ通信可能信号のＬｏｗ期間が１００ｍｓｅｃ以上のときに、接続検出回路１１４はＳＡＴＡバス１０４が切断したと判断し、切断検出信号１３０３をＬｏｗからＨｉｇｈに切り替えて、ＣＰＵ１０６へと通知する。
【０１４０】
なお、通常動作中（電源ＯＮ中）のＰＨＹ通信可能信号の切り替わる状態として、本発明では（１）〜（３）の３つを上げたが、（３）以外の条件として（１）、（２）の２つに限定されるものではなく、装置に応じて状態を条件に加えるものとする。
【０１４１】
また、本実施形態では、ＳＡＴＡバス１０４の切断か否かを、ＰＨＹ通信可能信号のＬｏｗ期間が１００ｍｓｅｃ以上であるか否かで判断するとした。しかし、１００ｍｓｅｃという時間に限定されるものではなく、ＳＡＴＡバス１０４とコンピュータシステムとの切断を、通常動作時と切り分けられる所定時間に変更可能とする。
【０１４２】
続いて、接続検出部１１４がＳＡＴＡバス１０４の切断を検出した場合における、データ暗号化装置１０２の動作モードの切り替え動作について説明する。
【０１４３】
図１４は、本実施形態のデータ暗号化装置における動作モードの切り替え動作の一例を示すフローチャートである。本フローチャートはデータ暗号化装置１０２のＣＰＵ１０６によって実行される。
【０１４４】
電源ＯＮ（ステップＳ１４０１）後、データ暗号化装置１０２は遮断モード３０１で起動する（ステップＳ１４０２）。
【０１４５】
そして、図９のシーケンス図で説明したようにコンピュータシステム１０１と、通常起動時の相互認証を行う（ステップＳ１４０３）。認証が正常に行われた場合（ステップＳ１４０４でｙｅｓ）、通常モード３０２へ移行する（ステップＳ１４０５）。一方認証が正常に行われなかった場合、通常モードへ移行せずに本フローチャートを終了する。
【０１４６】
通常モード３０２における動作を実行中（ステップＳ１４０６）、接続検出部１１４はＰＨＹ通信可能信号を検査する（ステップＳ１４０７）。図１３の接続検出部１１４の検出結果に基づきＳＡＴＡバス１０４が切断されたか否かを判定する（ステップＳ１４０８）。ＳＡＴＡバス１０４が切断されていないと判定した場合（ステップＳ１４０８でＮｏ）、ステップＳ１４０６へ戻り通常モード３０２の動作を実行する。一方、ＳＡＴＡバス１０４が切断されたと判定した場合、（ステップＳ１４０８でＹｅｓ）、データ暗号化装置１０２は動作モードを通常モード３０２から遮断モード３０１へ移行する。そしてデータ暗号化装置１０２はコンピュータシステム１０１への認証を無効にするために認証無効化の処理を実行する（ステップＳ１４０９）。そして本フローチャートを終了する。
【０１４７】
なお、図１４のフローチャートは、図９で説明した通常起動時における動作を説明したものであるが、図８で説明した初回設置時においても適用可能である。この場合、図８におけるシード情報を生成する処理（ステップＳ８０７）や固有情報を記憶する処理（ステップＳ８０９）や暗号鍵を生成する処理（ステップＳ８１０）が図１４におけるステップＳ１４０３に相当する。そして、図８における通常モード３０２へ移行する処理（ステップＳ８１３）が図１４のステップＳ１４０５に相当する。
【０１４８】
以上、図１４のフローチャートによれば、データ暗号化装置１０２とコンピュータシステム１０１（ＨＤＤコントローラ１１５）との接続が切断した場合、データ暗号化装置１０２は通常モード３０２から遮断モード３０１へ移行する。これにより、ＨＤＤ１０３からのデータを復号化して読み出すことができなくなり、ＨＤＤ１０３へのセキュリティを保つことが可能になる。
【０１４９】
図１５は、ＳＡＴＡバスが切断され、遮断モードに移行したデータ暗号化装置が他の装置と接続した場合におけるデータ暗号化装置の処理の一例を示すフローチャートである。本フローチャートはデータ暗号化装置１０２のＣＰＵ１０６によって実行される。
【０１５０】
図１４のフローチャートにおいて、ステップＳ１４０９の処理を実行してフローチャートを終了した状態のデータ暗号化装置１０２は図１５のフローを実行開始する。ステップＳ１５０１では、遮断モード３０１を維持する。ステップＳ１５０２では切断されたＳＡＴＡバス１０４がコンピュータシステムと接続されたか否かを判定する。ＳＡＴＡバス１０４がコンピュータシステムと接続すると、ＳＡＴＡバス１０４上に信号が流れるので、データ暗号化装置１０２はその信号を検出することでＳＡＴＡバス１０４が接続されたと判断することができる。ここでは、単にＳＡＴＡバス１０４が接続されたことを判定するのみである。従って、データ暗号化装置１０２のＣＰＵ１０６は、接続した装置がそれまで接続していたコンピュータシステム１０１であるのか、それ以外の装置であるのかは認識できない。ＣＰＵ１０６がＳＡＴＡバス１０４が他の装置と接続されていないと判定した場合、ステップＳ１５０１へ戻り遮断モード３０１を維持する。一方、ＣＰＵ１０６がＳＡＴＡバス１０４が他の装置と接続されたと判定した場合、図１４のフローチャートのステップＳ１４０３へ進む。ステップＳ１４０３以降の処理は図１４で説明したとおりである。
【０１５１】
ここで、データ暗号化装置１０２が接続した装置が以前に接続していたコンピュータシステム１０１である場合には、コンピュータシステムとの相互認証が（ステップＳ１４０３）が正常に行われ（ステップＳ１４０４でＹｅｓ）ので、再び通常モードへ移行する。よってデータ暗号化装置１０２はＳＡＴＡバス１０４が切断される前の状態に復帰することになる。
【０１５２】
一方、ここで、データ暗号化装置１０２が接続した装置が以前に接続していたコンピュータシステム１０１とは異なる装置（例えば、図１７のコンピュータシステム１６０１）である場合には、コンピュータシステムとの相互認証が（ステップＳ１４０３）正常に完了しない（ステップＳ１４０４でＮｏ）。よって、データ暗号化装置１０２は通常モードへ移行することが無い。これは、図８で説明した初回設置時で固有情報を取得したコンピュータシステム１０１が接続相手でないと認証が正常に完了しないからである。
【０１５３】
図１４、図１５のフローチャートを実行することにより、データ暗号化装置１０２は、ＳＡＴＡバス１０４を本来接続すべきコンピュータシステム１０１以外の装置に差し替えるようなことが行われた場合には、ＨＤＤ１０３に記憶された暗号化データを復号化して差し替えた後の装置へ転送することはない。これにより、ＨＤＤ１０３内のデータの機密を維持することが可能になる。
【０１５４】
＜接続検出回路の他の実施形態＞
また、本実施形態では、接続検出回路１１４は、ＳＡＴＡバス１０４の切断を図１３に示すようにＰＨＹ通信可能信号の切断時間により検出したが、他の検出方法を用いても良い。図１６は、ＡＴＡバスセレクタ１０７のハードウェア構成の他の例を示す図である。図１６の構成で図４の構成を置き換えることより、本実施形態のデータ暗号化装置１０２を構成することができる。図１６において、図４と同じ構成については同じ符号を付与してその説明は省略する。図１６では、ＳＡＴＡバス１０４の接続検出信号１１６を設け、接続検出信号１１６の切り替わりを接続検出部１１４で検出するようにしている。しても良い。これによりＳＡＴＡバス１０４の物理的な接続状態を検知することが可能になる。図１６では、接続検出回路はインターフェースの接続時をＬｏｗ、抜取り時をＨｉｇｈを検出するになるよう制御しているが、検出信号を別途用意できれば、接続／切断検出方法はこれに制約されるものではない。また、検出信号を、接続検出部１１４を介さずに直接ＣＰＵ１０６に接続するようにしても良い。
【０１５５】
また本実施形態では、データ暗号化装置１０２とコンピュータシステム１０１との間のＳＡＴＡバス接続を例として説明したが、これに限らない。例えば、データ暗号化装置の代わりにストレージデバイスや、携帯端末、携帯音楽プレーヤー、携帯ビデオ再生装置、携帯ゲーム機などに本実施形態の構成を適用しても良い。また、コンピュータシステム１０１の代わりに、複写機、プリンタ、ファクシミリ、複合機、ゲーム機などに適用しても良い。コンピュータシステムとして複写機、プリンタ、ファクシミリ、複合機が適用された場合、ＨＤＤ１０３には暗号化された画像データや暗号化された文書データが記憶されることになる。更に、ＳＡＴＡの代わりに、他の活線挿抜可能なインターフェース（ＵＳＢ、ＩＥＥＥ１３９４、ネットワーク、ＰＣカード）を用いても構わない。また、ＨＤＤ１０３の代わりにフラッシュメモリなどの他の記憶装置や周辺装置を用いても構わない。
【０１５６】
〔他の実施形態〕
本発明は、前述した実施形態の各機能を実現するための制御プログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【０１５７】
従って、本発明の機能・処理をコンピュータや上述の装置で実現するために、該コンピュータや上述の装置にインストールされる制御プログラムのプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するための制御プログラム自体も本発明の一つである。
【０１５８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１５９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【０１６０】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット／イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【０１６１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット／イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【０１６２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【０１６３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【０１６４】
以上、本実施形態によれば、データ暗号化装置１０２は、通常モードによる動作実行中に、ＳＡＴＡバス１０４のケーブル抜取り等による切断を検出したら、再度、正しいコンピュータシステム１０１との認証を実行しない限り、ＨＤＤ１０３へのアクセスが行えない。従って、図１７のように、ＳＡＴＡバスのケーブルを他のコンピュータシステム１６０１等に接続した場合には、認証が正常に終了できないため、データ暗号化装置１０２は通常モードへと移行できず、ＨＤＤ１０３内のデータの流出を防止することができる。
【図面の簡単な説明】
【０１６５】
【図１】暗号化データ記憶システムの全体構成を示す図である。
【図２】データ暗号化装置のハードウェア構成を示すブロック図である。
【図３】データ暗号化装置の動作モードを説明する図である。
【図４】ＡＴＡバスセレクタのハードウェア構成を示すブロック図である。
【図５】ＡＴＡバスセレクタの動作を示す図である。
【図６】拡張コマンドの一覧を示す図である。
【図７】ＡＴＡコマンドの一覧を示す図である。
【図８】初回設置時の認証の手順を説明するシーケンスの一例を示す図である。
【図９】通常起動時の認証の手順を説明するシーケンスの一例を示す図である。
【図１０】Ｎｏｎ  Ｄａｔａ転送タイプのコマンドに対するシーケンスを示す図である。
【図１１】ＲＥＡＤ転送タイプのコマンドに対するシーケンスを示す図である。
【図１２】ＨＤＤへのデータの書き込み、読み出しを行うＤＭＡ転送タイプのコマンドに対するシーケンスを示す図である。
【図１３】接続検出部の動作を示す図である。
【図１４】データ暗号化装置の動作モードの切り替え動作を説明するフローチャートである。
【図１５】データ暗号化装置が他の装置と接続した場合における処理を説明するフローチャートである。
【図１６】ＡＴＡバスセレクタのハードウェア構成の他の例を示す図である。
【図１７】活線挿抜に対応したインターフェースのつなぎ替えの一例を示す図である。
【図１】
0004999736.tif 000002
【図２】
0004999736.tif 000003
【図３】
0004999736.tif 000004
【図４】
0004999736.tif 000005
【図５】
0004999736.tif 000006
【図６】
0004999736.tif 000007
【図７】
0004999736.tif 000008
【図８】
0004999736.tif 000009
【図９】
0004999736.tif 000010
【図１０】
0004999736.tif 000011
【図１１】
0004999736.tif 000012
【図１２】
0004999736.tif 000013
【図１３】
0004999736.tif 000014
【図１４】
0004999736.tif 000015
【図１５】
0004999736.tif 000016
【図１６】
0004999736.tif 000017
【図１７】
0004999736.tif 000018