(57)【要約】【課題】  ストレージシステムは、外部装置から受け取った平文を暗号化して、該暗号文をディスク装置に格納し、その後、ディスク装置に格納したデータを復号化して、該復号文を外部装置に送信する際、平文と復号文は、外部装置から見れば同一でなければならないが、暗号処理、もしくは復号処理に失敗していた場合には、平文と復号文が同一とならない。【解決手段】  ストレージシステムは、外部装置より受信した第１のデータを暗号化する暗号部と、暗号化したデータを第２のデータとして復号化する復号部と、第１及び第２のデータを比較する比較部とを備える。第１及び第２のデータが不一致の場合、第１のデータを暗号化した暗号部とは異なる暗号部で第１のデータを暗号化し、復号部で該暗号化したデータを第３のデータとして復号化し、第１及び第３のデータを比較する。第１及び第３のデータも不一致の場合、外部装置に障害を報告する。【選択図】図２
2006319589.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と接続されるストレージシステムであって、
前記外部装置より受信した第１のデータを暗号化する暗号部と、
前記暗号化したデータを第２のデータとして復号化する復号部と、
前記第１及び第２のデータを比較する比較部と、を備えるストレージシステム。
【請求項２】
前記暗号部とは異なる第１の暗号部を更に備え、
前記第１及び第２のデータが不一致の場合、前記第１の暗号部で前記第１のデータを暗号化し、前記復号部で該暗号化したデータを第３のデータとして復号化し、前記比較部で第１及び第３のデータを比較する、請求項１記載のストレージシステム。
【請求項３】
前記第１及び第２のデータが不一致の場合、前記外部装置に障害を報告する、請求項１記載のストレージシステム。
【請求項４】
前記ストレージシステムの監視を行う管理端末を更に備え、
前記管理端末に障害を報告する、請求項３記載のストレージシステム。
【請求項５】
前記比較部は、前記第１及び第２のデータに基づいて、それぞれ前記第１及び第２のハッシュ値を算出し、前記第１及び第２のハッシュ値を比較する、請求項１記載のストレージシステム。
【請求項６】
前記復号部とは異なる第１の復号部を更に備え、
前記比較部は、前記第１の復号部が復号化した第４のデータと第１のデータを比較する、請求項２記載のストレージシステム。
【請求項７】
前記第１及び第４のデータが不一致の場合、前記外部装置に障害を報告する、請求項６記載のストレージシステム。
【請求項８】
前記ストレージシステムの監視を行う管理端末を更に備え、
前記管理端末に障害を報告する、請求項７記載のストレージシステム。
【請求項９】
外部装置と接続されるストレージシステムであって、
前記外部装置より受信した第１のデータを暗号化し、該暗号化したデータを第２のデータとして復号化する第１の暗号復号部と、
前記第１のデータを暗号化し、該暗号化したデータを第３のデータとして復号化する第２の暗号復号部と、
前記第２及び第３のデータを比較する障害検出部を備える、ストレージシステム。
【請求項１０】
前記第２及び第３のデータが不一致の場合、前記外部装置に障害を報告する、請求項９記載のストレージシステム。
【請求項１１】
前記ストレージシステムの監視を行う管理端末を更に備え、
前記管理端末に障害を報告する、請求項１０記載のストレージシステム。
【請求項１２】
前記第１のデータを暗号化し、該暗号化したデータを第４のデータとして復号化する第３の暗号復号部を更に備え、
前記障害検出部は、前記第２、第３及び第４のデータを比較し、
前記第２、第３及び第４のデータの中で不一致のデータがあれば、該不一致のデータを暗号化及び復号化した暗号復号部に障害が発生していると判断する、請求項９記載のストレージシステム。
【請求項１３】
外部装置と接続され、ディスク装置を備えるストレージシステムであって、
前記外部装置とのデータの送受信を行うチャネルＩＦ部と、
前記外部装置から受信したデータを一時的に格納するメモリ部と、
前記ディスク装置とのデータの送受信を行うディスクＩＦ部を備え、
前記チャネルＩＦ部と前記ディスクＩＦ部の少なくとも一つは、
前記外部装置より受信した第１のデータを暗号化する第１の暗号部と、
前記第１の暗号部とは異なる第２の暗号部と、
前記暗号化したデータを第２のデータとして復号化する第１の復号部と、
前記第１の復号部とは異なる第２の復号部と、
前記第１及び第２のデータを比較する比較部と、を備え、
前記第１及び第２のデータが不一致の場合、前記第２の暗号部で前記第１のデータを暗号化し、前記第２の復号部で該暗号化したデータを第３のデータとして復号化し、前記比較部で第１及び第３のデータを比較する、ストレージシステム。
【請求項１４】
外部装置と接続され、ディスク装置を備えるストレージシステムであって、
前記外部装置とのデータの送受信を行うチャネルＩＦ部と、
前記外部装置から受信したデータを一時的に格納するメモリ部と、
前記ディスク装置とのデータの送受信を行うディスクＩＦ部を備え、
前記チャネルＩＦ部と前記ディスクＩＦ部の少なくとも一つは、
前記ディスク装置に格納された第１のデータを復号化する第１の復号部と、
前記第１の復号部とは異なる第２の復号部と、
前記復号化したデータを第２のデータとして暗号化する第１の暗号部と、
前記第１の暗号部とは異なる第２の暗号部と、
前記第１及び第２のデータを比較する比較部と、を備え、
前記第１及び第２のデータが不一致の場合、前記第２の復号部で前記第１のデータを復号化し、前記第２の暗号部で該復号化したデータを第３のデータとして暗号化し、前記比較部で第１及び第３のデータを比較する、ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの暗号化及び復号化を行うストレージシステムに関する。
【背景技術】
【０００２】
計算機等のセキュリティ対策の一つとして、データの暗号化技術がある（特許文献１参照）。暗号化を行う処理（以下、暗号処理と称する）、又は復号化を行う処理（以下、復号処理と称する）は、半導体部品やソフトウェアで実現されている。但し、半導体部品を用いると、α線等の放射線を受けることによる誤動作が考えられる。又、ソフトウェアを用いると、ある特定データパターンでの演算ミス等の障害が考えられる。
【０００３】
一方、ストレージシステム自身のセキュリティ確保の要求が、近年、高まりつつある。一般に、サーバ等の外部装置は、ストレージシステムへデータを送信した時、当該データが正常にストレージシステムで受信されたことを確認するまで、当該データと同じデータを、当該外部装置のメインメモリ等に保持しておき、確認後、保持しておいたデータを削除する。又、ストレージシステムは、外部装置から送信されたデータを受信し、当該データを、自身の有するキャッシュメモリに一旦格納する。ストレージシステムは、当該データが正常に、自身の有するディスク装置へ格納されたことを確認すると、一定期間キャッシュメモリで保持するが、一定期間経過後、保持しておいたデータを削除する（特許文献２参照）。
【０００４】
【特許文献１】特開２００２−２１７８８７号公報
【特許文献２】特開平３−１７２９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上の技術動向を鑑みると、今後は、上記ストレージシステムに、上記データ暗号化技術を適用することが考えられるが、単純に適用しただけでは、以下のような課題が生じる。
【０００６】
ストレージシステムは、外部装置から受け取った、暗号化されていないデータ（以下、平文と称する）を暗号化して、当該暗号化したデータ（以下、暗号文と称する）を、ストレージシステム内のディスク装置に格納する。そして、ディスク装置に格納したデータを復号化して、当該復号化したデータ（以下、復号文と称する）を、外部装置に送信する。この際、平文と復号文は、外部装置から見れば当然同一でなければならないが、暗号処理、もしくは復号処理に失敗していた場合には、平文と復号文が同一とならない。
【０００７】
例えば、復号処理に失敗（復号化処理回路や処理プログラムの障害等）した場合、正常に暗号処理された暗号文であれば、正常な復号処理を施すことにより（別の正常な復号化処理回路等を用いる）、当該暗号文を平文に戻すことは可能である。しかし、暗号処理に失敗していた場合には、最初に外部装置から送信された平文は、すでに削除されている可能性が高いため、復号処理は正常であったとしても、元の平文に戻すことはできない。即ち、外部装置から見れば復号文は無意味な単なる文字列であって、結果的にデータロストとなってしまう。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の一実施態様は以下の構成を有する。
【０００９】
ストレージシステムは、外部装置より受信した第１のデータを暗号化する暗号部と、暗号化したデータを第２のデータとして復号化する復号部と、第１及び第２のデータを比較する比較部とを備える。第１及び第２のデータが不一致の場合、外部装置に障害を報告する。又は、第１のデータを暗号化した暗号部とは異なる暗号部で第１のデータを暗号化し、復号部で該暗号化したデータを第３のデータとして復号化し、第１及び第３のデータを比較してもよい。
【発明の効果】
【００１０】
本発明によれば、暗号部の障害による復号文と平文の不一致を未然に防ぐことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態について、図面を参照して説明する。
【００１２】
図１は、計算機システムの構成例を示す図である。計算機システムは、ストレージシステム１、サーバ（計算機）３及び管理端末８とから構成される。ストレージシステム１とサーバ３とは、ネットワークを介して相互に接続される。
【００１３】
ストレージシステム１は、サーバ３とのデータの送受信を行うチャネルＩＦ部１１、ディスク装置２とのデータの送受信を行うディスクＩＦ部１６、スイッチ部５１、メモリ部２１、及びディスク装置２とから構成される。チャネルＩＦ部１１及びディスクＩＦ部１６はスイッチ部５１を介してメモリ部２１に接続される。
【００１４】
管理端末８は、ストレージシステム１内のチャネルＩＦ部１１及びディスクＩＦ部１６内のマイクロプロセッサ（以下、ＭＰと称する）にネットワークを介して接続される。管理端末８は、主に、ストレージシステム１の構成設定、監視、稼動情報・障害情報等の収集を行い、後述する暗号復号部の障害による平文と復号文の不一致も障害情報として収集する。管理端末８が収集した情報により、例えば、どの暗号復号部に障害が発生しているかということを把握できるため、交換対象の部品を容易に特定することが可能である。尚、管理端末８の機能は、サーバ３内、ストレージシステム１内、あるいは、ネットワーク上にあってもよく、本構成に限定されるものではない。
【００１５】
又、本稿記載のネットワークは、ＩＰネットワーク、ＦＣネットワーク等が考えられるが、これらに限定されるものではない。
【００１６】
チャネルＩＦ部１１、ディスクＩＦ部１６及びメモリ部２１は、２つのスイッチ部５１と１本ずつの通信パスで各々接続される。ここで、通信パスとは、データ／制御情報を伝送するための単数又は複数の信号線から成る伝送路である。これにより、チャネルＩＦ部１１、ディスクＩＦ部１６及びメモリ部２１のそれぞれの間で２つの通信経路を確保し、ストレージシステムの信頼性をあげることが可能となる。尚、上記個数や本数は一実施形態に過ぎず、上記に限定するものではない。このことは以下に説明する実施形態全てに当てはまる。又、本実施形態では、チャネルＩＦ部１１、ディスクＩＦ部１６及びメモリ部２１との間を、スイッチ部５１を介して接続する例を示したが、これらの各部を相互に接続してデータ／制御情報が転送されればよいのであり、例えばバスを介して各部位を相互に接続してもよい。
【００１７】
メモリ部２１は、メモリモジュール１２７及びメモリコントローラ１２５を有する。メモリモジュール１２７は論理的に２つの領域に分けられている。１つの領域はキャッシュメモリ領域で、ディスク装置２に書き込まれるデータ又はディスク装置２から読み出されたデータが一時的に格納される領域である。もう１つの領域は制御メモリ領域で、チャネルＩＦ部１１、ディスクＩＦ部１６及びメモリ部２１間のデータ転送を制御するための情報、ストレージシステム１の管理情報、並びに構成情報等が格納される領域である。メモリコントローラ１２５は、メモリモジュール１２７へのデータのリード／ライト処理を制御する。又、メモリコントローラ１２５は、チャネルＩＦ部１１、ディスクＩＦ部１６及び他のメモリ部２１との間のデータ／制御情報の転送を制御する。
【００１８】
一般に、ストレージシステムは、サーバ等の外部装置から受け取ったデータを、キャッシュメモリへ格納した後、ディスク装置に格納する。一つの方法として、キャッシュメモリへ格納したデータをディスク装置に格納した後、外部装置へデータ処理終了を報告する方法がある（キャッシュライトスルー）。別の方法として、キャッシュメモリへのデータ格納処理と、キャッシュメモリからディスク装置へのデータ格納処理を非同期に行う方法がある（キャッシュライトバック）。即ち、キャッシュメモリにデータを格納した時点で外部装置にデータ処理終了を報告し、その後、キャッシュメモリのデータをディスク装置へ格納する。全体の処理時間は、後者の方が前者よりも短くなる。
【００１９】
尚、メモリモジュール１２７が物理的に２つのモジュール、即ち、キャッシュメモリモジュールと制御メモリモジュールに分かれていてもよい。この場合、メモリコントローラ１２５が、２つのメモリモジュールへのデータのリード／ライト処理を独立に制御する。又、メモリコントローラ１２５がキャッシュメモリモジュール制御用と制御メモリモジュール制御用に分離されていてもよい。更に、ストレージシステム１の２つのメモリ部２１間で、メモリモジュール１２７へ格納するデータ／制御情報を二重化（複製して双方に格納）してもよい。こうすることにより、１つのメモリ部２１に障害が発生した場合、もう一方のメモリ部２１に格納されたデータで動作を継続することが可能となり、ストレージシステム１の信頼性が向上する。
【００２０】
ディスク装置２は、一般に磁気ディスクであるが、光ディスク、半導体メモリ等、他の記憶媒体を用いたものであってもよい。又、ディスク装置２は、ディスクアレイのように複数のハードディスクドライブで構成されてもよいし、ＲＡＩＤ構成であってもよい。
【００２１】
図２は、チャネルＩＦ部１１の詳細を示す図である。
【００２２】
チャネルＩＦ部１１は、サーバ３とのデータ転送を制御するホストＩＦ１０１、チャネルＩＦ部１１を制御するＭＰ１００、メモリ部２１との間のデータ／制御情報の転送を制御する転送制御部１０３、及び暗号復号部２０１（２０１−１、２０１−２）を有する。
【００２３】
暗号復号部２０１は、暗号処理を行う暗号部２０２、復号処理を行う復号部２０３、比較部２０４、データの入出力を行う入出力部、暗号復号部２０１内で発生した障害回数をカウントするカウンタ２０７、及び障害回数の閾値を設定するレジスタ２０８を有する。入出力部は、転送制御部１０３側を入出力部２０５、スイッチ部５１側を入出力部２０６とする。
【００２４】
ホストＩＦ１０１は、共通バス１０４を介して転送制御部１０３に接続される。又、ＭＰ１００は、共通バス１０５を介して転送制御部１０３に接続される。更に、データ転送制御部１０３は、暗号復号部２０１を介して２つのスイッチ部５１と接続するための通信パス１０６を２本有する。暗号復号部２０１は、通信パス１０６毎に設ける。これにより、通信パス１０６毎に暗号及び復号処理を実施できるため、通信パス１０６間の競合を避けることができる。しかし、部品コスト削減のために単一の暗号復号部であってもよい。
【００２５】
ＭＰ１００は、メモリモジュール１２７内の制御メモリ領域に格納された制御情報に基づいて、メモリモジュール１２７内のキャッシュメモリ領域へのデータのリード／ライト処理、キャッシュメモリ領域のディレクトリ管理、及びホストＩＦ１０１とメモリ部２１との間のデータ転送を制御する。又、後述のように、暗号文と復号文との比較結果のチェック、及び暗号文と復号文が不一致の場合のサーバ３や管理端末８等への障害報告等の処理を行う。
【００２６】
ここで、ホストＩＦ１０１、ＭＰ１００、暗号復号部２０１、及び転送制御部１０３の間の接続構成は一実施形態に過ぎず、構成を上記に限定するものではない。少なくとも、ホストＩＦ１０１からメモリ部２１へデータ転送するまでに、転送制御部１０３、暗号復号部２０１を通過する構成であればよい。又、ＭＰ１００がホストＩＦ１０１及び転送制御部１０３を制御でき、メモリ部２１へアクセスできる構成であればよい。更に、少なくとも、暗号部２０２、復号部２０３、及び比較部２０４があればよく、暗号復号部２０１として、これらを括らなくともよい。更に、後述のように、暗号及び復号処理をディスクＩＦ部１６のみに行わせる場合は、暗号復号部２０１はなくてもよい。更に、データの送受信を行う相手は、サーバ３に限られず、ストレージシステム１に接続される外部装置であれば何でもよい。例えば、リモートコピーを行う場合には、相手が他のストレージシステムとなることもある。
【００２７】
図３は、暗号処理のフロー図である。
【００２８】
暗号復号部２０１−１において、ＭＰ１００は、サーバ３等から送信された平文を、ホストＩＦ１０１、転送制御部１０３を経て入出力部２０５から暗号部２０２と比較部２０４に入力する（ステップ３０１）。比較部２０４では平文を保持しておく。次に、暗号部２０２は、入力された平文を暗号化し、暗号部２０２で該暗号文を保持すると共に、該暗号文を復号部２０３へ渡す（ステップ３０２）。次に、復号部２０３は、渡された暗号文を復号化し、該復号文を比較部２０４へ渡す（ステップ３０３）。次に、比較部２０４は、保持しておいた平文と、復号部２０３から渡された復号文を比較する（ステップ３０４）。ＭＰ１００は、その結果をチェックし（ステップ３０５）、両者が一致していれば、正しく暗号化されたと判断し、暗号部２０２で保持しておいた暗号文を、スイッチ部５１を介してメモリ部２１へ送信する（ステップ３０６）。一致していなければ、MP１００は、正しく暗号化されなかったと判断し、比較部２０４で保持しておいた平文を暗号復号部２０１−２に送信し、暗号復号部２０１―２で処理をやり直す（ステップ３０７）。ここで一致すれば、ステップ３０６の処理を行い、一致しなければ、サーバ３や管理端末８等に当該障害を報告する（ステップ３０８）。
【００２９】
尚、暗号復号部２０１−１内の暗号部２０２等の回路は、通常は正常に動作していても、まれに誤動作を起こすことがあり得る。逆に言えば、一回誤動作を起こしたからといって、当該回路に障害が発生しているとは限らない。そこで、一定回数以上誤動作を起こした場合に障害が発生していると判断する、という処理を追加してもよい。まず、レジスタ２０８に障害発生回数の閾値を予め設定しておく。カウンタ２０７は、障害発生回数をカウントし、その値が、閾値を超えた時点で、MP１００は、処理を暗号復号部２０１−２に切り替える。暗号復号部２０１−２においても閾値を超えれば、MP１００は、サーバ３や管理端末８等に障害を報告する。
【００３０】
又、暗号復号部２０１の個数は上記に限定されるものではなく、例えば、ｎ個ある場合には、ｎ個の暗号復号部２０１が処理を行うこともあり得る。ｎ個の暗号復号部２０１の全てに障害が発生していた場合に、MP１００が障害を報告してもよいし、一定個数に障害が発生していた場合に、障害を報告するようにしてもよい。
【００３１】
更に、後述のように、ディスクＩＦ部１６で暗号及び復号処理を行う場合は、ステップ３０６で（例えば、一定個数の暗号復号部２０１に障害が発生していると判断した時点）、当該暗号文ではなく当該平文をメモリ部２１に転送してもよく、最終的にディスク装置２に格納するときに暗号文になっていればよい。
【００３２】
ここで、平文や復号文などのデータ自体を比較する方法以外に、そのデータからある一定の法則に基づいて算出する固定長の値を用いた方法もある。この固定長の値は、ハッシュ値と呼ばれる（メッセージダイジェストとも呼ばれる）。ハッシュ値は、元のデータの微妙な違いから、データ毎に全く異なる値となる。この性質を平文と復号文の比較に用いる。図３の暗号処理のフロー図に当てはめると、ステップ３０１で平文を比較部２０４に入力した後に、比較部２０４はハッシュ値１を算出し、ステップ３０３で復号文からハッシュ値２を算出し、ステップ３０４でハッシュ値１とハッシュ値２を比較する。そして、ステップ３０５でＭＰ１００が結果をチェックする。
【００３３】
尚、サーバ３等が本処理で用いた暗号復号部と同じ機能を保持している場合は、ステップ３０１にて、サーバ３等から暗号文としてデータが送信されてくることもあり得る。この場合は、もともと暗号化されているため、暗号部２０２が正常か否かのチェックを行う必要はない。しかし、後述のような復号処理を行うことにより、復号部２０３が正常か否かを判断したり、一旦、復号化した後、上記暗号処理により、暗号部２０２が正常か否かの判断をしてもよい。
【００３４】
サーバ３等と暗号文のやりとりを行う場合には、サーバ３等が用いる暗号鍵を取得しなければならない。そこで、サーバ３等と予め暗号鍵を交換しておくか、外部に認証サーバ等を設けることになる。
【００３５】
図４は、復号処理のフロー図である。
【００３６】
暗号復号部２０１−１において、ＭＰ１００は、暗号文をメモリ部２１から読み出し、入出力部２０６から復号部２０３と比較部２０４に入力する（ステップ４０１）。ここで、復号対象の暗号文がメモリ部２１に存在しない場合、ディスクIF部１６がディスク装置２から暗号文を読み出し、メモリ部２１へ書き込んだ後で、ＭＰ１００がメモリ部２１から暗号文を読み出す。比較部２０４では暗号文を保持しておく。次に、復号部２０３は、入力された暗号文を復号化し、復号部２０３で該復号文を保持すると共に、該復号文を暗号部２０２へ渡す（ステップ４０２）。次に、暗号部２０２は、渡された復号文を暗号化し、該暗号文を比較部２０４へ渡す（ステップ４０３）。次に、比較部２０４は、保持しておいた暗号文と、暗号部２０２から渡された暗号文とを比較する（ステップ４０４）。ＭＰ１００は、その結果をチェックし（ステップ４０５）、両者が一致していれば、正しく復号化されたと判断し、復号部２０３で保持しておいた復号文を、転送制御部１０３、ホストＩＦ１０１を介してサーバ３に送信する（ステップ４０６）。一致していなければ、MP１００は、正しく復号化されなかったと判断し、比較部２０４で保持しておいた暗号文を暗号復号部２０１−２に送信し、暗号復号部２０１―２で処理をやり直す（ステップ４０７）。ここで一致すれば、ステップ４０６の処理を行い、一致しなければ、サーバ３や管理端末８等に当該障害を報告する（ステップ４０８）。暗号復号部２０１の個数をｎ個とした場合の処理は、暗号処理のフローと同様である。尚、サーバ３等が本処理で用いた暗号復号部と同じ機能を保持している場合は、ステップ４０６にて、チェックの終わった暗号文をそのまま、サーバ３等に送信してもよい。
【００３７】
ここで、暗号処理時と同様、ハッシュ値を用いて比較してもよい。図４の復号処理のフロー図に当てはめると、ステップ４０１で暗号文を比較部２０４に入力した後に、比較部２０４はハッシュ値１を算出し、ステップ４０３で暗号文からハッシュ値２を算出し、ステップ４０４でハッシュ値１とハッシュ値２を比較する。そして、ステップ４０５でＭＰ１００が結果をチェックする。
【００３８】
本実施例では、データ自体を比較する方法及びハッシュ値を用いて比較する方法を記載したが、比較する方法は、これらに限定されるものではない。
【００３９】
上記暗号及び復号処理は、ディスクＩＦ部１６で行ってもよい。例えば、暗号処理を行うタイミングは、サーバ３から受信したデータが一旦メモリモジュール１２７に格納され、該データがディスク装置２に格納される時点である。ディスクＩＦ部１６の構成は、ほぼチャネルＩＦ部１１と同様なので図示を省略するが、チャネルＩＦ部１１との違いは、ホストＩＦ１０１がサーバ３等の外部装置との間のデータ転送を制御するのに対して、ホストＩＦ１０１に相当する部分（ディスクＩＦ）は、スイッチ部５１を介してメモリ部２１との間のデータ転送を制御する。又、チャネルＩＦ部１１の入出力部２０６は、スイッチ部５１を介してメモリ部２１と接続されるが、ディスクＩＦ部１６の該入出力部は、ディスク装置２に接続される。
【００４０】
以上に説明した処理は、チャネルＩＦ部１１及びディスクＩＦ部１６の両方で行ってもよいし、どちらか一方のみで行ってもよい。即ち、暗号処理はチャネルＩＦ部１１のみで行い、復号処理はディスクＩＦ部１６のみで行う等、様々なバリエーションが考えられる。バリエーションによって、ステップ３０６及び４０６の処理が変わることがある。例えば、暗号処理をチャネルＩＦ部１１及びディスクＩＦ部１６の両方で行う場合は、チャネルＩＦ部１１は、ステップ３０６において、平文をメモリ部２１へ送信することとなる（ディスクＩＦ部１６が暗号文をディスク装置２へ送信する）。又、復号処理をチャネルＩＦ部１１及びディスクＩＦ部１６の両方で行う場合は、ディスクＩＦ部１６は、ステップ４０６において、暗号文をメモリ部２１へ送信することとなる（チャネルＩＦ部１１が復号文をサーバ３へ送信する）。
【００４１】
以上の実施例では、暗号部２０２と復号部２０３を独立の論理回路であるとして説明したが、これらを一体化した論理回路である暗号復号部としてもよい。但し、この場合に障害が発生すると、暗号化及び復号化を備える機能が共に影響を受けるため、先述のような処理を行うと、見た目は平文と、暗号化し復号化した復号文は一致してしまう。これでは暗号復号部の障害を検出することができない。
【００４２】
そこで、暗号復号部を複数用意し、更に、暗号復号部の障害を検出する障害検出部を設ける。障害検出部は、暗号及び復号処理を別々の暗号復号部でそれぞれ実施させた結果が一致しなければ、少なくともどちらかの暗号復号部に障害が生じていると判断する。又、３つ以上の暗号復号部を用いた場合、一つのみ結果が一致しない暗号復号部が存在すれば、当該一致しない暗号復号部に障害が発生していると判断する。そして、MPがサーバや管理端末等の外部装置に障害を報告する。尚、上記同様に、カウンタを設けて、一定回数以上誤動作を起こした場合に障害を報告するようにしてもよい。
【００４３】
以上の実施例では、暗号部、復号部、比較部、暗号部と復号部を一体化した暗号復号部及び障害検出部等はハードウェアであるかのように説明したが、これらをプログラムで実現してもよい。例えば、チャネルＩＦ部１１内にプログラムを格納するメモリを用意し、当該メモリに暗号プログラム、復号プログラム、比較プログラム等を格納し、それらのプログラムをＭＰが実行することにより、以上で説明したような処理を実現できる。これはディスクＩＦ部でも同様に実現できる。こうしたプログラムは、計算機による読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。又、これらのプログラムを、インターネット等のネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００４４】
【図１】計算機システムの構成例を示す図。
【図２】チャネルＩＦ部の構成例を示す図。
【図３】暗号処理のフロー図。
【図４】復号処理のフロー図。
【符号の説明】
【００４５】
１…ストレージシステム、２…ディスク装置、３…サーバ、４…チャネルＩＦ、５…ディスクＩＦ、６…メモリ部、７…スイッチ部、１００…マイクロプロセッサ、１０１…ホストＩＦ、１０２…ディスクＩＦ、１０３…転送制御部、１２５…メモリコントローラ、１２７…メモリモジュール、２０１…暗号復号部、２０２…暗号部、２０３…復号部、２０４…比較部、２０５、２０６…入出力部、２０７…カウンタ、２０８…レジスタ。
【図１】
2006319589.tif 000003
【図２】
2006319589.tif 000004
【図３】
2006319589.tif 000005
【図４】
2006319589.tif 000006